:root {
  --catalog-philo: #6c63ff;
  --catalog-myth: #a66a2c;
  --catalog-myth-dark: #7b491a;
  --catalog-myth-soft: #f8efe3;
  --catalog-theo: #b64d5b;
  --catalog-theo-dark: #8f3442;
  --catalog-theo-soft: #f9ecee;
  --catalog-other: #347ca8;
  --catalog-other-dark: #245d7c;
  --catalog-other-soft: #eaf4fa;
}

.texts-page { background:#fbfbfe; }
body[data-catalog-section="mythologie"] { --primary:var(--catalog-myth); --primary-dark:var(--catalog-myth-dark); --accent-bg:var(--catalog-myth-soft); }
body[data-catalog-section="mythologie"] .texts-hero { background:linear-gradient(145deg,#fbf5ec 0%,#fff 58%,#f7ecde 100%); }
body[data-catalog-section="mythologie"] .texts-hero::before { content:"ΜΥΘΟΣ"; top:18px; right:max(4vw,22px); color:color-mix(in srgb,var(--catalog-myth) 7%,transparent); font-family:Georgia,"Times New Roman",serif; font-size:clamp(72px,13vw,190px); font-weight:600; letter-spacing:-.07em; line-height:1; }
body[data-catalog-section="mythologie"] .texts-search:focus { border-color:color-mix(in srgb,var(--catalog-myth) 62%,transparent); box-shadow:0 0 0 4px color-mix(in srgb,var(--catalog-myth) 10%,transparent); }
body[data-catalog-section="mythologie"] .texts-reset { border-color:color-mix(in srgb,var(--catalog-myth) 26%,transparent); }
body[data-catalog-section="theologie"] { --primary:var(--catalog-theo); --primary-dark:var(--catalog-theo-dark); --accent-bg:var(--catalog-theo-soft); }
body[data-catalog-section="theologie"] .texts-hero { background:linear-gradient(145deg,#fbf0f2 0%,#fff 58%,#f8e9ec 100%); }
body[data-catalog-section="theologie"] .texts-hero::before { color:color-mix(in srgb,var(--catalog-theo) 8%,transparent); }
body[data-catalog-section="theologie"] .texts-search:focus { border-color:color-mix(in srgb,var(--catalog-theo) 62%,transparent); box-shadow:0 0 0 4px color-mix(in srgb,var(--catalog-theo) 10%,transparent); }
body[data-catalog-section="theologie"] .texts-reset { border-color:color-mix(in srgb,var(--catalog-theo) 26%,transparent); }
body[data-catalog-section="autres"] { --primary:var(--catalog-other); --primary-dark:var(--catalog-other-dark); --accent-bg:var(--catalog-other-soft); }
body[data-catalog-section="autres"] .texts-hero { background:linear-gradient(145deg,#eef7fb 0%,#fff 58%,#e8f3f9 100%); }
body[data-catalog-section="autres"] .texts-hero::before { color:color-mix(in srgb,var(--catalog-other) 8%,transparent); }
body[data-catalog-section="autres"] .texts-search:focus { border-color:color-mix(in srgb,var(--catalog-other) 62%,transparent); box-shadow:0 0 0 4px color-mix(in srgb,var(--catalog-other) 10%,transparent); }
body[data-catalog-section="autres"] .texts-reset { border-color:color-mix(in srgb,var(--catalog-other) 26%,transparent); }
.texts-main { min-height:100vh; padding-top:79px; }
.texts-hero { position:relative; overflow:hidden; padding:78px 20px 58px; background:linear-gradient(145deg,#f6f5ff 0%,#fff 58%,#f3f2ff 100%); border-bottom:1px solid var(--border); }
.texts-hero::before { content:"“"; position:absolute; right:max(5vw,30px); top:-45px; color:rgba(108,99,255,.07); font-family:Georgia,serif; font-size:300px; line-height:1; }
.texts-hero-inner { position:relative; z-index:1; width:min(820px,100%); margin:auto; text-align:center; }
.texts-eyebrow { display:inline-flex; align-items:center; gap:8px; margin-bottom:18px; color:var(--primary); font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.texts-eyebrow::before { content:""; width:24px; height:1px; background:currentColor; }
.texts-title { font-size:clamp(2.6rem,7vw,4.6rem); line-height:1.05; letter-spacing:-.055em; font-weight:600; }
.texts-intro { max-width:680px; margin:22px auto 0; color:var(--text-medium); font-size:16px; line-height:1.75; text-wrap:balance; }
.texts-section-tabs { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:30px; }
.texts-section-tabs[hidden],.texts-section-tab[hidden] { display:none; }
.texts-section-tab { padding:9px 15px; border:1px solid rgba(108,99,255,.18); border-radius:999px; background:rgba(255,255,255,.78); color:var(--text-medium); text-decoration:none; font-size:13px; font-weight:600; transition:.2s ease; }
.texts-section-tab:hover,.texts-section-tab[aria-current="page"] { border-color:var(--primary); background:var(--primary); color:#fff; transform:translateY(-1px); }

.texts-catalog { padding:52px 0 92px; }
.texts-tools { position:relative; z-index:100; padding:22px; border:1px solid var(--border); border-radius:20px; background:#fff; box-shadow:0 15px 46px rgba(28,28,40,.06); }
.texts-search-wrap { position:relative; }
.texts-search-icon { position:absolute; left:16px; top:50%; width:18px; height:18px; color:var(--text-light); transform:translateY(-50%); pointer-events:none; }
.texts-search { width:100%; height:52px; padding:0 18px 0 47px; border:1px solid var(--border); border-radius:14px; background:var(--soft-bg); color:var(--text); outline:none; transition:.2s ease; }
.texts-search:focus { border-color:rgba(108,99,255,.6); background:#fff; box-shadow:0 0 0 4px rgba(108,99,255,.09); }
.texts-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) auto; gap:12px; margin-top:14px; }
body[data-catalog-section="philosophie"] .texts-filters { grid-template-columns:repeat(2,minmax(0,1fr)) auto; }
body[data-catalog-section="mythologie"] .texts-filters { grid-template-columns:repeat(2,minmax(0,1fr)) auto; }
body[data-catalog-section="theologie"] .texts-filters { grid-template-columns:repeat(3,minmax(0,1fr)) auto; }
body[data-catalog-section="autres"] .texts-filters { grid-template-columns:repeat(2,minmax(0,1fr)) auto; }
.texts-filter-group label { display:block; margin:0 0 5px 3px; color:var(--text-light); font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.texts-select { width:100%; height:45px; padding:0 38px 0 13px; border:1px solid var(--border); border-radius:11px; background:#fff; color:var(--text-medium); outline:none; cursor:pointer; }
.texts-select:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(108,99,255,.08); }
.texts-select optgroup { color:var(--text); font-weight:700; }
.texts-select option { color:var(--text-medium); font-weight:400; }
.texts-theme-multi { position:relative; width:100%; }
.texts-theme-multi-trigger { display:flex; font-size:14px; align-items:center; width:100%; height:45px; gap:8px; padding:0 11px 0 13px; border:1px solid var(--border); border-radius:11px; background:#fff; color:var(--text-medium); outline:none; cursor:pointer; text-align:left; transition:border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.texts-theme-multi-trigger:hover { border-color:color-mix(in srgb,var(--primary) 30%,var(--border)); }
.texts-theme-multi-trigger:focus-visible,.texts-theme-multi.is-open .texts-theme-multi-trigger { border-color:var(--primary); box-shadow:0 0 0 3px rgba(108,99,255,.08); }
.texts-theme-multi-summary { min-width:0; overflow:hidden; flex:1; text-overflow:ellipsis; white-space:nowrap; }
.texts-theme-multi-count { flex:none; padding:3px 7px; border-radius:999px; background:var(--accent-bg); color:var(--primary); font-size:10px; font-weight:750; line-height:1; }
.texts-theme-multi-trigger svg { flex:none; width:15px; height:15px; color:var(--text-light); transition:transform .18s ease; }
.texts-theme-multi.is-open .texts-theme-multi-trigger svg { transform:rotate(180deg); }
.texts-theme-multi-menu { position:absolute; z-index:20; top:calc(100% + 7px); left:0; width:max(100%,320px); max-height:min(430px,62vh); overflow:auto; padding:8px; border:1px solid color-mix(in srgb,var(--primary) 20%,var(--border)); border-radius:14px; background:#fff; box-shadow:0 18px 46px rgba(28,28,40,.15); scrollbar-color:rgba(108,99,255,.25) transparent; }
.texts-theme-multi-menu[hidden] { display:none; }
.texts-theme-multi-selected { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 7px; padding:3px 3px 9px; border-bottom:1px solid var(--border); }
.texts-theme-multi-selected[hidden] { display:none; }
.texts-theme-multi-chip { display:inline-flex; align-items:center; gap:6px; max-width:100%; padding:6px 8px 6px 10px; border:1px solid color-mix(in srgb,var(--primary) 24%,transparent); border-radius:999px; background:var(--accent-bg); color:var(--primary-dark); font-size:11px; font-weight:650; cursor:pointer; }
.texts-theme-multi-chip:hover,.texts-theme-multi-chip:focus-visible { border-color:var(--primary); background:color-mix(in srgb,var(--primary) 10%,#fff); outline:none; }
.texts-theme-multi-chip span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.texts-theme-multi-chip i { font-size:14px; font-style:normal; font-weight:500; line-height:1; }
.texts-theme-multi-group + .texts-theme-multi-group { margin-top:7px; padding-top:8px; border-top:1px solid var(--border); }
.texts-theme-multi-group-title { margin:2px 7px 5px; color:var(--text-light); font-size:10px; font-weight:750; letter-spacing:.065em; text-transform:uppercase; }
.texts-theme-multi-option { display:flex !important; align-items:center; gap:9px; margin:0 !important; padding:7px 8px; border-radius:8px; color:var(--text-medium) !important; font-size:14px !important; font-weight:500 !important; letter-spacing:0 !important; text-transform:none !important; cursor:pointer; transition:background .14s ease,color .14s ease; }
.texts-theme-multi-option:hover { background:var(--soft-bg); color:var(--text) !important; }
.texts-theme-multi-option.is-selected { background:color-mix(in srgb,var(--primary) 7%,#fff); color:var(--primary-dark) !important; font-weight:650 !important; }
.texts-theme-multi-option:has(input:disabled) { opacity:.42; cursor:not-allowed; }
.texts-theme-multi-option input { flex:none; width:15px; height:15px; margin:0; accent-color:var(--primary); cursor:pointer; }
.texts-theme-multi-option input:disabled { cursor:not-allowed; }
.texts-theme-multi-hint { margin:8px 5px 2px; padding-top:8px; border-top:1px solid var(--border); color:var(--text-light); font-size:10px; line-height:1.45; }
.texts-reset { align-self:end; height:45px; padding:0 17px; border:1px solid rgba(108,99,255,.22); border-radius:11px; background:var(--accent-bg); color:var(--primary); font-size:13px; font-weight:650; cursor:pointer; transition:.2s ease; }
.texts-reset:hover { background:var(--primary); color:#fff; }
.texts-course-cta { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:14px 6px 0; padding:10px 12px; border-bottom:1px solid rgba(108,99,255,.13); color:var(--text-medium); }
.texts-course-cta-copy { display:flex; align-items:baseline; flex-wrap:wrap; gap:3px 7px; font-size:12px; line-height:1.5; }
.texts-course-cta-copy strong { color:var(--text); font-size:12px; font-weight:650; }
.texts-course-cta-link { flex:none; display:inline-flex; align-items:center; gap:6px; padding:5px 2px; color:var(--primary-dark); text-decoration:none; font-size:11px; font-weight:700; transition:transform .2s ease,color .2s ease; }
.texts-course-cta-link:hover,.texts-course-cta-link:focus-visible { color:var(--primary); transform:translateX(1px); outline:none; }
.texts-course-cta-link span { font-size:13px; transition:transform .2s ease; }
.texts-course-cta-link:hover span,.texts-course-cta-link:focus-visible span { transform:translateX(2px); }
.texts-summary { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:30px 2px 18px; }
.texts-count { color:var(--text-medium); font-size:14px; }
.texts-count strong { color:var(--text); }
.texts-count-linked { margin-left:6px; color:var(--primary); font-size:11px; font-weight:650; }
.texts-count-page { color:var(--text-light); font-size:12px; }
.texts-sort-note { color:var(--text-light); font-size:12px; }

.texts-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-flow:dense; align-items:start; gap:20px; }
.texts-grid.is-page-switching { pointer-events:none; }
.texts-pagination.is-page-switching { pointer-events:none; }
.text-linked-set { --linked-color:var(--primary); position:relative; grid-column:span 2; overflow:hidden; border:1px solid color-mix(in srgb,var(--linked-color) 24%,var(--border)); border-radius:21px; background:#fff; box-shadow:0 13px 40px rgba(28,28,40,.055); }
.text-linked-set--debate,.text-linked-set--same-author { --linked-color:var(--primary); }
.text-linked-set--echo { --linked-color:var(--catalog-other); }
.text-linked-set-heading { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:12px; min-height:50px; padding:10px 17px; border-bottom:1px solid color-mix(in srgb,var(--linked-color) 18%,var(--border)); background:linear-gradient(100deg,color-mix(in srgb,var(--linked-color) 10%,#fff),#fff 68%); }
.text-linked-set-copy { display:flex; align-items:baseline; flex-wrap:wrap; gap:3px 8px; }
.text-linked-set-label { color:var(--linked-color); font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.text-linked-set-copy strong { color:var(--text); font-size:12px; line-height:1.35; }
.text-linked-set-description { justify-self:end; color:var(--text-light); font-size:10px; line-height:1.4; text-align:right; }
.text-linked-set-cards { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:color-mix(in srgb,var(--linked-color) 18%,var(--border)); }
.text-linked-set-center-mark { position:absolute; z-index:3; top:17px; left:50%; display:grid; place-items:center; width:34px; height:34px; border:1px solid color-mix(in srgb,var(--linked-color) 28%,transparent); border-radius:50%; background:color-mix(in srgb,var(--linked-color) 4%,#fff); color:var(--linked-color); box-shadow:0 0 0 4px color-mix(in srgb,var(--linked-color) 3.5%,transparent),0 5px 15px rgba(61,52,137,.11); transform:translateX(-50%); pointer-events:none; }
.text-linked-set-center-mark svg { width:21px; height:21px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.text-linked-set-icon-surface { fill:currentColor; fill-opacity:.055; }
.text-linked-set-icon-secondary { opacity:.72; }
.text-linked-set-icon-feather { stroke-width:1.45; }
.text-linked-set .text-card { min-height:322px; border:0; border-radius:0; box-shadow:none; }
.text-linked-set .text-card::before { display:none; }
.text-linked-set .text-card:hover { z-index:2; transform:none; border-color:transparent; background:color-mix(in srgb,var(--linked-color) 2.5%,#fff); box-shadow:none; }
.text-card { position:relative; display:flex; flex-direction:column; min-height:306px; overflow:hidden; padding:25px; border:1px solid var(--border); border-radius:20px; background:#fff; color:inherit; text-decoration:none; box-shadow:0 12px 38px rgba(28,28,40,.045); transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
.text-card--compact { min-height:296px; }
.text-card--with-idea { min-height:322px; }
.text-card--quote { min-height:330px; }
.text-card-cover-link { position:absolute; z-index:1; inset:0; border-radius:inherit; }
.text-card-cover-link:focus-visible { outline:3px solid color-mix(in srgb,var(--card-color,var(--primary)) 52%,transparent); outline-offset:-4px; }
.text-card::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--card-accent,var(--card-color,var(--primary))); opacity:.72; }
.text-card:hover { transform:translateY(-5px); border-color:color-mix(in srgb,var(--card-color,var(--primary)) 34%,transparent); box-shadow:0 24px 52px rgba(28,28,40,.1); }
.text-card--philosophie { --card-color:var(--catalog-philo); --card-ink:var(--primary-dark); }
.text-card--mythologie { --card-color:var(--catalog-myth); --card-ink:var(--catalog-myth-dark); }
.text-card--theologie,.text-card--religion { --card-color:var(--catalog-theo); --card-ink:var(--catalog-theo-dark); }
.text-card--dual { --card-color:#8f567f; --card-ink:#66365f; --card-accent:linear-gradient(180deg,var(--catalog-philo),var(--catalog-theo)); }
.text-card--autres { --card-color:var(--catalog-other); --card-ink:var(--catalog-other-dark); }
.text-card-section { display:flex; align-items:center; gap:7px; color:var(--text-light); font-size:10px; font-weight:750; letter-spacing:.105em; text-transform:uppercase; }
.text-card-section-symbol { color:var(--card-color); font-family:Georgia,"Times New Roman",serif; font-size:17px; font-weight:700; line-height:.8; text-transform:none; }
.text-card-section-symbol--philosophie { color:var(--catalog-philo); }
.text-card-section-symbol--mythologie { color:var(--catalog-myth); }
.text-card-section-symbol--theologie { color:var(--catalog-theo); }
.text-card-section-symbol--autres { color:var(--catalog-other); }
.text-card h2 { margin-top:14px; font-family:Georgia,"Times New Roman",serif; font-size:23px; line-height:1.25; font-weight:500; letter-spacing:-.015em; text-wrap:balance; }
.text-card h2 strong { color:var(--card-ink,var(--primary-dark)); font-weight:650; }
.text-card--quote h2 { position:relative; padding-left:16px; font-size:22px; font-style:italic; line-height:1.32; }
.text-card--quote h2::before { content:"“"; position:absolute; top:-8px; left:-2px; color:var(--card-color); font-size:34px; font-style:normal; line-height:1; opacity:.5; }
.text-card-familiar-idea { display:block; width:fit-content; margin-top:8px; padding-top:7px; border-top:1px solid color-mix(in srgb,var(--card-color) 24%,transparent); color:var(--card-color); font-family:Inter,Arial,sans-serif; font-size:10px; font-weight:750; letter-spacing:.065em; line-height:1.35; text-transform:uppercase; }
.text-card-author { position:relative; z-index:2; margin-top:9px; color:var(--text-medium); font-size:13px; font-weight:600; pointer-events:none; }
.text-card-author a { color:inherit; text-decoration-color:color-mix(in srgb,var(--card-color) 38%,transparent); text-underline-offset:3px; pointer-events:auto; }
.text-card-author a:hover,.text-card-author a:focus-visible { color:var(--card-ink,var(--primary-dark)); text-decoration-color:currentColor; outline:none; }
.text-card-description { margin-top:16px; color:var(--text-light); font-size:13px; line-height:1.65; }
.text-card-tags { position:relative; z-index:2; display:flex; flex-wrap:wrap; gap:7px; margin-top:auto; padding-top:22px; }
.text-tag { padding:5px 9px; border:1px solid transparent; border-radius:999px; background:var(--soft-bg); color:var(--text-medium); text-decoration:none; font-size:11px; font-weight:600; transition:border-color .2s ease,background .2s ease,color .2s ease; }
.text-tag:hover,.text-tag:focus-visible { border-color:rgba(108,99,255,.24); background:var(--accent-bg); color:var(--primary-dark); outline:none; }
.text-tag--program { border-color:rgba(108,99,255,.18); background:rgba(108,99,255,.09); color:var(--primary-dark); }
.text-tag--program::after { content:""; display:inline-block; width:5px; height:5px; margin:0 0 1px 6px; border-radius:50%; background:var(--primary); opacity:.7; vertical-align:middle; }
.text-card--mythologie .text-tag--program { border-color:color-mix(in srgb,var(--catalog-myth) 25%,transparent); background:color-mix(in srgb,var(--catalog-myth) 10%,transparent); color:var(--catalog-myth-dark); }
.text-card--mythologie .text-tag--program::after { background:var(--catalog-myth); }
.text-card--mythologie .text-tag:hover,.text-card--mythologie .text-tag:focus-visible { border-color:color-mix(in srgb,var(--catalog-myth) 25%,transparent); background:var(--catalog-myth-soft); color:var(--catalog-myth-dark); }
.text-card--theologie .text-tag--program,.text-card--religion .text-tag--program { border-color:color-mix(in srgb,var(--catalog-theo) 25%,transparent); background:color-mix(in srgb,var(--catalog-theo) 10%,transparent); color:var(--catalog-theo-dark); }
.text-card--theologie .text-tag--program::after,.text-card--religion .text-tag--program::after { background:var(--catalog-theo); }
.text-card--dual .text-tag--program { border-color:color-mix(in srgb,#8f567f 28%,transparent); background:linear-gradient(100deg,color-mix(in srgb,var(--catalog-philo) 9%,#fff),color-mix(in srgb,var(--catalog-theo) 9%,#fff)); color:var(--card-ink); }
.text-card--dual .text-tag--program::after { background:#8f567f; }
.text-card--autres .text-tag:hover,.text-card--autres .text-tag:focus-visible { border-color:color-mix(in srgb,var(--catalog-other) 25%,transparent); background:var(--catalog-other-soft); color:var(--catalog-other-dark); }
.text-card-arrow { position:absolute; z-index:2; right:20px; bottom:21px; color:var(--card-color); font-size:20px; opacity:0; transform:translateX(-5px); transition:.25s ease; pointer-events:none; }
.text-card:hover .text-card-arrow { opacity:1; transform:none; }
.texts-empty { grid-column:1/-1; padding:58px 24px; border:1px dashed rgba(108,99,255,.25); border-radius:20px; background:#fff; text-align:center; }
.texts-empty h2 { font-size:20px; }
.texts-empty p { margin-top:8px; color:var(--text-light); font-size:14px; }
.texts-pagination { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:38px; }
.texts-pagination[hidden] { display:none; }
.texts-page-number { display:grid; place-items:center; width:40px; height:40px; padding:0; border:1px solid rgba(108,99,255,.2); border-radius:10px; background:#fff; color:var(--text-medium); font:inherit; font-size:13px; font-weight:700; cursor:pointer; transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease; }
.texts-page-number:hover,.texts-page-number:focus-visible { border-color:var(--primary); color:var(--primary-dark); outline:none; transform:translateY(-1px); }
.texts-page-number.is-current { border-color:var(--primary); background:var(--primary); color:#fff; box-shadow:0 7px 18px rgba(108,99,255,.2); }

.text-detail { min-height:100vh; padding:126px 20px 100px; background:linear-gradient(120deg,#f7f6fc 0%,#fff 48%,#f8f7fc 100%); }
.text-detail--mythologie { --primary:var(--catalog-myth); --primary-dark:var(--catalog-myth-dark); --accent-bg:var(--catalog-myth-soft); background:linear-gradient(120deg,#fbf5ec 0%,#fff 48%,#f8efe4 100%); }
.text-detail--theologie { --primary:var(--catalog-theo); --primary-dark:var(--catalog-theo-dark); --accent-bg:var(--catalog-theo-soft); background:linear-gradient(120deg,#fbf0f2 0%,#fff 48%,#f9ecef 100%); }
.text-detail--autres { --primary:var(--catalog-other); --primary-dark:var(--catalog-other-dark); --accent-bg:var(--catalog-other-soft); background:linear-gradient(120deg,#eef6fa 0%,#fff 48%,#edf6fa 100%); }
.text-detail-inner { width:min(860px,100%); margin:auto; padding:52px 68px 64px; border:1px solid rgba(48,45,68,.1); border-radius:3px; background:#fff; box-shadow:0 22px 60px rgba(42,37,72,.07); }
.text-breadcrumb { margin-bottom:40px; color:var(--text-light); font-size:12px; }
.text-breadcrumb a { color:var(--text-medium); text-decoration:none; }
.text-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.text-breadcrumb .text-back-results { color:var(--primary-dark); font-weight:700; }
.text-breadcrumb .text-back-results:hover,.text-breadcrumb .text-back-results:focus-visible { color:var(--primary); text-decoration:underline; text-underline-offset:3px; outline:none; }
.text-detail-section { display:flex; align-items:center; gap:6px; color:var(--primary); font-size:12px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.text-detail-section-symbol { font-family:Georgia,"Times New Roman",serif; font-size:17px; font-weight:700; letter-spacing:0; line-height:.8; }
.text-detail-section-symbol--philosophie { color:var(--catalog-philo); }
.text-detail-section-symbol--mythologie { color:var(--catalog-myth); }
.text-detail-section-symbol--theologie { color:var(--catalog-theo); }
.text-detail-section-symbol--autres { color:var(--catalog-other); }
.text-detail-section--dual > span:last-child { color:#8f567f; }
.text-detail h1 { max-width:720px; margin-top:12px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.4rem,7vw,4.2rem); line-height:1.08; font-weight:500; letter-spacing:-.04em; }
.text-detail-familiar-idea { display:block; margin-top:13px; color:var(--primary); font-family:Inter,Arial,sans-serif; font-size:clamp(.68rem,1.4vw,.8rem); font-weight:750; letter-spacing:.085em; line-height:1.35; text-transform:uppercase; }
.text-detail-author { margin-top:16px; color:var(--text-medium); font-size:16px; }
.text-detail-author-meta { color:var(--text-light); font-size:14px; }
.text-detail-work-reference { display:inline-flex; margin:0 7px; padding:3px 7px; border:1px solid rgba(108,99,255,.16); border-radius:999px; background:var(--accent-bg); color:var(--primary-dark); font-size:11px; font-weight:750; letter-spacing:.025em; line-height:1.15; vertical-align:.14em; }
.text-detail-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.text-glossary-term { color:var(--primary-dark); font-weight:650; cursor:help; border-bottom:1px dotted rgba(108,99,255,.68); text-decoration:none; }
.text-glossary-term:focus-visible { border-radius:2px; outline:2px solid rgba(108,99,255,.34); outline-offset:2px; }
.text-glossary-tooltip { position:fixed; z-index:99999; width:max-content; max-width:min(310px,calc(100vw - 28px)); padding:10px 13px; border:1px solid rgba(108,99,255,.22); border-radius:10px; background:var(--text); color:#fff; box-shadow:0 16px 38px rgba(28,28,40,.24); font-size:12px; font-weight:500; line-height:1.45; text-align:center; opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,calc(-100% - 12px)) translateY(4px); transition:.17s ease; }
.text-glossary-tooltip::after { content:""; position:absolute; top:100%; left:50%; width:9px; height:9px; background:var(--text); transform:translate(-50%,-5px) rotate(45deg); }
.text-glossary-tooltip.is-visible { opacity:1; visibility:visible; transform:translate(-50%,calc(-100% - 12px)); }
.text-glossary-tooltip.is-below { transform:translate(-50%,12px); }
.text-glossary-tooltip.is-below::after { top:auto; bottom:100%; transform:translate(-50%,5px) rotate(45deg); }
.text-placeholder { margin-top:52px; padding:34px; border:1px solid var(--border); border-radius:20px; background:var(--soft-bg); }
.text-placeholder h2 { font-size:18px; }
.text-placeholder p { margin-top:10px; color:var(--text-medium); font-size:14px; }
.text-context { position:relative; max-width:760px; margin:38px auto 0; padding:16px 20px 17px; border-left:2px solid var(--primary); background:linear-gradient(90deg,rgba(108,99,255,.075),rgba(108,99,255,.018)); color:var(--text-medium); }
.text-context-label { display:block; margin-bottom:6px; color:var(--primary); font-size:10px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.text-context p { font-size:13px; line-height:1.65; }
.text-context-guide { display:grid; gap:10px; margin:0; padding-left:18px; }
.text-context-guide li { padding-left:2px; color:var(--text-medium); font-size:12.5px; line-height:1.62; }
.text-context-guide li::marker { color:var(--primary); }
.text-context-guide li > strong { display:block; margin-bottom:2px; color:var(--text); font-size:11px; font-weight:800; letter-spacing:.02em; }
.text-context-guide li > span { display:block; }
.text-context-questions { margin-top:12px; padding-top:11px; border-top:1px solid rgba(108,99,255,.14); }
.text-context-questions span { display:block; margin-bottom:4px; color:var(--primary-dark); font-size:10px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.text-context-questions ul { margin:0; padding-left:17px; }
.text-context-questions li { margin:3px 0; font-size:12px; font-style:italic; line-height:1.55; }
.text-reading-notes { max-width:760px; margin:20px auto 0; border:1px solid rgba(108,99,255,.16); border-radius:3px; background:linear-gradient(90deg,rgba(108,99,255,.055),rgba(108,99,255,.014)); }
.text-reading-notes .text-disclosure-trigger { display:flex; align-items:center; gap:12px; width:100%; min-height:42px; padding:11px 20px; border:0; background:transparent; color:var(--primary-dark); font:inherit; text-align:left; cursor:pointer; user-select:none; }
.text-reading-notes .text-disclosure-trigger:focus-visible { outline:2px solid var(--primary); outline-offset:-3px; }
.text-reading-notes .text-disclosure-trigger:hover { background:rgba(108,99,255,.06); }
.text-reading-notes .text-disclosure-trigger span { flex:1; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.text-reading-notes .text-disclosure-trigger i { position:relative; flex:none; width:9px; height:9px; margin:0 3px 3px 10px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); transition:transform .42s cubic-bezier(.22,.72,.24,1),margin .42s cubic-bezier(.22,.72,.24,1); }
.text-reading-notes.is-open .text-disclosure-trigger i { margin-top:5px; margin-bottom:0; transform:rotate(225deg); }
.text-reading-notes-content { display:grid; gap:10px; padding:0 20px; border-top:0 solid rgba(108,99,255,.12); transition:padding .46s cubic-bezier(.22,.72,.24,1),border-top-width .46s cubic-bezier(.22,.72,.24,1); }
.text-reading-notes.is-open .text-reading-notes-content { padding:13px 20px 17px; border-top-width:1px; }
.text-notes-list { display:grid; gap:7px; margin:0; padding-left:18px; color:var(--text-medium); }
.text-note { padding-left:1px; color:var(--text-medium); font-size:12px; line-height:1.55; }
.text-note strong { color:var(--text); font-weight:750; }
.text-note strong span { color:var(--text-light); font-size:10px; font-weight:650; letter-spacing:.03em; }
.text-note ol { margin:6px 0 0 20px; padding:0; }
.text-note li { padding-left:2px; margin:2px 0; }
.text-note-prose { margin:10px 1px 0; color:var(--text-medium); font-size:12px; line-height:1.6; }
.text-note-prose strong { color:var(--text); font-weight:750; }
.text-note-prose strong span { color:var(--text-light); font-size:10px; font-weight:650; letter-spacing:.03em; }
.text-note--opposition { padding:0; background:transparent; }
.text-note-poles { display:grid; grid-template-columns:1fr 1fr; gap:0; overflow:hidden; border:1px solid rgba(108,99,255,.16); border-radius:4px; background:rgba(108,99,255,.055); }
.text-note-poles > div { min-width:0; padding:8px 10px; background:rgba(255,255,255,.58); }
.text-note-poles > div + div { border-left:1px solid rgba(108,99,255,.14); }
.text-note-poles strong { color:var(--text); font-size:12px; line-height:1.4; }
.text-note-poles > div:first-child strong { color:#995767; }
.text-note-poles > div:last-child strong { color:var(--primary-dark); }
.text-note-poles p { margin:2px 0 0; color:var(--text-medium); font-size:12px; line-height:1.5; }
.text-note-conclusion { margin:4px 1px 0 !important; color:var(--text-light) !important; font-size:11px !important; font-style:italic; }
.text-note-term-link { color:inherit; text-decoration:underline; text-decoration-color:rgba(108,99,255,.38); text-decoration-thickness:1px; text-underline-offset:3px; }
.text-note-term-link:hover,.text-note-term-link:focus-visible { color:var(--primary-dark); text-decoration-color:currentColor; outline:none; }
.text-note--comparison { padding:0; }
.text-note-comparison-title { display:block; margin:0 0 7px; color:var(--text); font-size:12px; font-weight:800; }
.text-note-comparison-wrap { overflow:hidden; border:1px solid rgba(108,99,255,.16); border-radius:7px; background:#fff; }
.text-note-comparison-wrap table { width:100%; border-collapse:collapse; table-layout:fixed; }
.text-note-comparison-wrap th { padding:8px 10px; background:rgba(108,99,255,.07); color:var(--text); font-size:11px; font-weight:800; text-align:left; }
.text-note-comparison-wrap th + th,.text-note-comparison-wrap td + td { border-left:1px solid rgba(108,99,255,.13); }
.text-note-comparison-wrap td { padding:8px 10px; border-top:1px solid rgba(108,99,255,.11); color:var(--text-medium); font-size:11px; line-height:1.5; vertical-align:top; }
.text-note-comparison-note { margin:6px 2px 0; color:var(--text-light); font-size:10px; line-height:1.45; font-style:italic; }
.text-reading-notes a { color:inherit; text-decoration-color:rgba(108,99,255,.4); text-underline-offset:2px; }
.text-reading-notes a:hover,.text-reading-notes a:focus-visible { color:var(--primary-dark); outline:none; }
.text-relations { max-width:760px; margin:16px auto 0; padding:0; }
.text-relations-heading { display:flex; align-items:center; gap:10px; margin:0 0 10px; color:var(--text-light); font-size:10px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.text-relations-heading::after { content:""; height:1px; flex:1; background:var(--border); }
.text-relation-group { --relation-color:var(--primary); margin-top:10px; border:1px solid var(--relation-border, var(--border)); border-radius:12px; background:var(--relation-bg,#fff); overflow:hidden; }
.text-relation-group-heading { display:flex; align-items:center; gap:10px; width:100%; min-height:45px; padding:13px 15px; border:0; background:transparent; font:inherit; text-align:left; cursor:pointer; user-select:none; }
.text-relation-group-heading:focus-visible { outline:2px solid var(--relation-color); outline-offset:-3px; border-radius:10px; }
.text-relation-group-heading:hover { background:rgba(255,255,255,.34); }
.text-relation-group-heading .text-relation-kind-icon { position:relative; flex:none; width:13px; height:13px; color:var(--relation-color); }
.text-relation-group-heading strong { display:block; flex:1; color:var(--relation-color); font-size:10px; font-weight:800; letter-spacing:.08em; line-height:1.35; text-transform:uppercase; }
.text-relation-toggle { position:relative; flex:none; width:9px; height:9px; margin:0 3px 3px 10px; border-right:1.5px solid var(--relation-color); border-bottom:1.5px solid var(--relation-color); transform:rotate(45deg); transition:transform .42s cubic-bezier(.22,.72,.24,1),margin .42s cubic-bezier(.22,.72,.24,1); }
.text-relation-group.is-open .text-relation-toggle { margin-top:5px; margin-bottom:0; transform:rotate(225deg); }
.text-relation-group ul { display:grid; gap:10px; margin:0 15px 14px 38px; padding:13px 0 0; border-top:1px solid var(--relation-border, var(--border)); list-style:none; }
.text-disclosure-panel { display:grid; grid-template-rows:0fr; opacity:0; visibility:hidden; transform:translateY(-5px); transition:grid-template-rows .46s cubic-bezier(.22,.72,.24,1),opacity .25s ease,transform .46s cubic-bezier(.22,.72,.24,1),visibility 0s linear .46s; }
.text-disclosure-panel-inner { min-height:0; overflow:hidden; }
.text-disclosure.is-open > .text-disclosure-panel { grid-template-rows:1fr; opacity:1; visibility:visible; transform:translateY(0); transition:grid-template-rows .46s cubic-bezier(.22,.72,.24,1),opacity .3s ease .06s,transform .46s cubic-bezier(.22,.72,.24,1),visibility 0s; }
.text-relation-group li { display:grid; gap:3px; }
.text-relation-group a { width:max-content; min-width:0; max-width:100%; color:var(--primary-dark); font-size:12px; font-weight:750; line-height:1.4; text-decoration-color:rgba(108,99,255,.45); text-underline-offset:3px; overflow-wrap:anywhere; }
.text-relation-group a:hover,.text-relation-group a:focus-visible { color:var(--primary); outline:none; }
.text-relation-group li span { min-width:0; max-width:100%; color:var(--text-medium); font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.text-relation-group--suite { --relation-color:var(--primary-dark); --relation-border:rgba(108,99,255,.24); --relation-bg:linear-gradient(90deg,rgba(108,99,255,.095),#fff 58%); }
.text-relation-group--suite .text-relation-kind-icon { width:18px; height:12px; background:currentColor; clip-path:polygon(0 41%,66% 41%,66% 10%,100% 50%,66% 90%,66% 59%,0 59%); }
.text-relation-group--identique { --relation-color:#7854b8; --relation-border:rgba(120,84,184,.22); --relation-bg:linear-gradient(90deg,rgba(120,84,184,.08),#fff 58%); }
.text-relation-group--identique .text-relation-kind-icon { border:2px solid currentColor; border-radius:50%; }
.text-relation-group--identique .text-relation-kind-icon::after { content:""; position:absolute; inset:3px; border-radius:50%; background:currentColor; }
.text-relation-group--proche { --relation-color:#4d9274; --relation-border:rgba(77,146,116,.23); --relation-bg:linear-gradient(90deg,rgba(77,146,116,.085),#fff 58%); }
.text-relation-group--proche .text-relation-kind-icon { border:2px solid currentColor; border-radius:50%; }
.text-relation-group--proche .text-relation-kind-icon::after { content:""; position:absolute; inset:3px; border-radius:50%; background:currentColor; }
.text-relation-group--adverse { --relation-color:#b45d69; --relation-border:rgba(180,93,105,.25); --relation-bg:linear-gradient(90deg,rgba(180,93,105,.085),#fff 58%); }
.text-relation-group--adverse .text-relation-kind-icon::before,.text-relation-group--adverse .text-relation-kind-icon::after { content:""; position:absolute; top:5px; left:-1px; width:15px; height:2px; border-radius:2px; background:currentColor; }
.text-relation-group--adverse .text-relation-kind-icon::before { transform:rotate(45deg); }
.text-relation-group--adverse .text-relation-kind-icon::after { transform:rotate(-45deg); }
.text-reading { position:relative; max-width:760px; margin:46px auto 0; padding:52px 43px 34px 51px; color:#292733; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.07rem,1.5vw,1.2rem); line-height:1.9; }
.text-reading-content { position:relative; z-index:1; }
.text-reading p { margin:0 0 1.42em; text-align:justify; hyphens:auto; }
.text-reading p:last-child { margin-bottom:0; }
.text-reading-quote { position:absolute; z-index:0; color:rgba(108,99,255,.16); font-family:Georgia,"Times New Roman",serif; font-size:4.6rem; font-weight:400; line-height:.55; user-select:none; }
.text-reading-quote--open { top:5px; left:0; }
.text-reading-quote--close { right:0; bottom:0; }
.text-reading-line-numbers { position:absolute; top:70px; bottom:65px; left:10px; width:25px; border-right:1px solid rgba(108,99,255,.14); }
.text-reading-line-numbers span { position:absolute; right:9px; color:rgba(88,81,123,.56); font-family:Inter,Arial,sans-serif; font-size:10px; font-variant-numeric:tabular-nums; line-height:1; transform:translateY(4px); }
.text-reading--scripture { max-width:820px; padding:34px 30px 22px; }
.text-scripture-heading { margin:8px 0 30px 92px; color:#34282b; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.35rem,2.8vw,1.75rem); font-weight:500; line-height:1.3; letter-spacing:-.015em; }
.text-scripture-heading:not(:first-child) { margin-top:52px; padding-top:25px; border-top:1px solid rgba(182,77,91,.16); }
.text-scripture-movement { display:grid; grid-template-columns:74px minmax(0,1fr); align-items:end; gap:18px; margin:42px 0 18px; }
.text-scripture-movement:first-child { margin-top:4px; }
.text-scripture-verse--movement-start { margin-top:40px; }
.text-scripture-verse--movement-start:first-child { margin-top:4px; }
.text-scripture-movement-label { position:relative; grid-column:1; align-self:start; justify-self:end; box-sizing:border-box; width:118px; padding-top:.18em; padding-right:24px; text-align:right; }
.text-scripture-movement-marker { position:absolute; top:.62em; right:0; padding-top:0; }
.text-scripture-movement-title { display:block; color:#995363; font-family:Georgia,"Times New Roman",serif; font-size:1.03rem; font-style:italic; font-weight:600; line-height:1.08; letter-spacing:.005em; }
.text-scripture-movement-range { display:block; margin-top:7px; color:#a17a82; font-family:Inter,Arial,sans-serif; font-size:8px; font-style:normal; font-weight:700; letter-spacing:.07em; line-height:1.1; }
.text-scripture-inline-marker { display:inline-block; min-width:1.25em; margin-right:7px; color:rgba(118,69,76,.66); font-family:Inter,Arial,sans-serif; font-size:9px; font-style:normal; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:.04em; line-height:1; vertical-align:.13em; }
.text-scripture-verse { display:grid; grid-template-columns:74px minmax(0,1fr); align-items:start; gap:18px; margin:0 0 .72em; }
.text-scripture-marker { padding-top:.62em; color:rgba(118,69,76,.66); font-family:Inter,Arial,sans-serif; font-size:10px; font-weight:650; font-variant-numeric:tabular-nums; letter-spacing:.05em; line-height:1.2; text-align:right; }
.text-scripture-marker--chapter { padding-top:.42em; color:var(--catalog-theo); font-size:10px; font-weight:800; letter-spacing:.075em; white-space:nowrap; }
.text-reading .text-scripture-text { margin:0; text-align:justify; hyphens:auto; }
.text-scripture-chapter-divider { height:1px; margin:48px 0 38px 92px; border:0; background:linear-gradient(90deg,var(--catalog-theo),rgba(182,77,91,.13) 72%,transparent); }
.text-reading .text-scripture-omission { margin:20px 0 26px 92px; color:rgba(118,69,76,.52); font-size:.92em; letter-spacing:.18em; text-align:center; }
.text-scripture-pause { position:relative; margin:38px 0 44px 92px; padding:25px 34px 27px; border:0; border-top:1px solid #e7cfd4; border-bottom:1px solid #e7cfd4; border-radius:0; background:linear-gradient(90deg,rgba(247,237,239,.78),rgba(255,252,249,.88) 48%,rgba(247,237,239,.34)); box-shadow:none; }
.text-scripture-pause::before { content:"✦"; position:absolute; top:-10px; left:50%; width:25px; height:19px; color:#b76c7b; background:#fffdfb; font-family:Georgia,"Times New Roman",serif; font-size:15px; line-height:19px; text-align:center; transform:translateX(-50%); }
.text-reading .text-scripture-pause-title { margin:0 0 13px; padding:0; color:#9a5263; font-family:Inter,Arial,sans-serif; font-size:10px; font-weight:800; letter-spacing:.095em; line-height:1.45; text-align:center; text-transform:uppercase; }
.text-scripture-pause-title span { color:#9d7a80; font-weight:650; letter-spacing:.025em; text-transform:none; }
.text-reading .text-scripture-pause-intro { margin:0 0 12px; color:#8b6b71; font-family:Inter,Arial,sans-serif; font-size:11px; font-style:normal; line-height:1.55; text-align:center; }
.text-scripture-pause blockquote { margin:0 auto; max-width:610px; padding:0; color:#563f45; font-size:.98em; font-style:italic; line-height:1.8; text-align:center; }
.text-detail-reference { max-width:760px; margin:18px auto 0; padding-top:16px; border-top:1px solid var(--border); color:var(--text-medium); font-size:.95rem; line-height:1.6; }
.text-art-gallery { position:relative; max-width:760px; margin:32px auto 0; overflow:hidden; border:1px solid rgba(108,99,255,.15); border-radius:20px; background:#fff; box-shadow:0 20px 55px rgba(41,38,62,.09); }
.text-art-gallery:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
.text-reading--scripture .text-art-gallery--inline { max-width:none; margin:42px 0 46px 92px; font-family:Inter,Arial,sans-serif; line-height:1.5; }
.text-detail--theologie .text-art-gallery { border-color:rgba(182,77,91,.16); }
.text-detail--theologie .text-art-gallery-heading { background:linear-gradient(112deg,rgba(182,77,91,.075),rgba(182,77,91,.012) 65%); }
.text-detail--theologie .text-art-gallery-progress { background:rgba(182,77,91,.09); }
.text-detail--theologie .text-art-gallery-progress i { background:linear-gradient(90deg,var(--catalog-theo),#c88190); box-shadow:0 0 10px rgba(182,77,91,.2); }
.text-art-gallery-heading { display:flex; min-height:78px; align-items:flex-end; justify-content:space-between; gap:24px; padding:17px 22px 16px; background:linear-gradient(112deg,rgba(108,99,255,.08),rgba(108,99,255,.014) 65%); }
.text-art-gallery-heading > div { display:grid; gap:4px; }
.text-art-gallery-heading > div > span { color:var(--primary); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.text-art-gallery-heading h2 { margin:0; color:var(--text); font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.16rem,2.2vw,1.46rem); font-weight:500; line-height:1.22; letter-spacing:-.018em; }
.text-art-gallery-heading small { flex:none; padding-bottom:3px; color:var(--text-light); font-size:9px; font-weight:600; letter-spacing:.035em; }
.text-art-gallery-progress { display:block; width:100%; height:2px; background:rgba(108,99,255,.09); }
.text-art-gallery-progress i { display:block; width:25%; height:100%; border-radius:0 2px 2px 0; background:linear-gradient(90deg,var(--primary),#988eff); box-shadow:0 0 10px rgba(108,99,255,.25); transition:width .48s cubic-bezier(.22,.72,.24,1); }
.text-art-gallery-stage { position:relative; height:520px; overflow:hidden; background:radial-gradient(circle at 50% 35%,#faf9f5 0,#f4f2ec 54%,#ebe8e0 100%); touch-action:pan-y; }
.text-art-gallery-count { position:absolute; z-index:4; top:30px; right:30px; padding:6px 9px; border:1px solid rgba(55,50,68,.1); border-radius:999px; background:rgba(255,255,255,.82); color:var(--text-medium); font-size:9px; font-weight:750; font-variant-numeric:tabular-nums; letter-spacing:.08em; box-shadow:0 5px 18px rgba(33,30,42,.08); backdrop-filter:blur(8px); }
.text-art-slide { position:absolute; inset:0; display:grid; grid-template-rows:minmax(0,1fr) 154px; z-index:0; margin:0; padding:20px 20px 0; opacity:0; visibility:hidden; pointer-events:none; transform:translate3d(22px,0,0); transition:opacity .34s ease,transform .52s cubic-bezier(.22,.72,.24,1),visibility 0s linear .52s; }
.text-art-gallery[data-direction="previous"] .text-art-slide { transform:translate3d(-22px,0,0); }
.text-art-slide.is-active { z-index:1; opacity:1; visibility:visible; pointer-events:auto; transform:translate3d(0,0,0); transition:opacity .38s ease .04s,transform .52s cubic-bezier(.22,.72,.24,1),visibility 0s; }
.text-art-zoom { position:relative; display:flex; min-width:0; min-height:0; align-items:center; justify-content:center; overflow:hidden; padding:17px; border:1px solid rgba(55,50,68,.09); border-radius:12px; background:rgba(255,255,255,.72); color:inherit; cursor:zoom-in; box-shadow:0 10px 30px rgba(40,36,50,.09),inset 0 0 0 1px rgba(255,255,255,.75); backdrop-filter:blur(4px); }
.text-art-image-wrap { display:flex; width:100%; height:100%; align-items:center; justify-content:center; }
.text-art-image-wrap img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; filter:contrast(1.015) drop-shadow(0 8px 10px rgba(36,33,43,.09)); transition:transform .35s cubic-bezier(.22,.72,.24,1),filter .35s ease; }
.text-art-zoom:hover .text-art-image-wrap img,.text-art-zoom:focus-visible .text-art-image-wrap img { filter:contrast(1.02) drop-shadow(0 12px 15px rgba(36,33,43,.13)); transform:scale(1.022); }
.text-art-zoom:focus-visible { outline:2px solid var(--primary); outline-offset:-3px; }
.text-art-zoom-hint { position:absolute; right:13px; bottom:13px; display:flex; align-items:center; gap:7px; padding:7px 10px; border:1px solid rgba(255,255,255,.16); border-radius:999px; background:rgba(35,32,43,.82); color:#fff; font-size:9px; font-weight:750; letter-spacing:.055em; opacity:0; transform:translateY(4px); transition:opacity .22s ease,transform .28s cubic-bezier(.22,.72,.24,1); backdrop-filter:blur(6px); }
.text-art-zoom:hover .text-art-zoom-hint,.text-art-zoom:focus-visible .text-art-zoom-hint { opacity:1; transform:translateY(0); }
.text-art-zoom-hint i { position:relative; width:10px; height:10px; border:1.4px solid currentColor; border-radius:50%; }
.text-art-zoom-hint i::after { content:""; position:absolute; right:-4px; bottom:-2px; width:5px; height:1.4px; border-radius:2px; background:currentColor; transform:rotate(45deg); }
.text-art-slide figcaption { display:flex; min-height:0; flex-direction:column; justify-content:center; gap:5px; overflow:auto; padding:13px 10px 14px; text-align:center; }
.text-art-slide figcaption strong { color:var(--text); font-family:Georgia,"Times New Roman",serif; font-size:14px; font-weight:600; line-height:1.35; }
.text-art-slide figcaption .text-art-reference { color:var(--text-medium); font-size:10.5px; line-height:1.4; }
.text-art-description { max-width:620px; margin:1px auto 0; color:#665f68; font-size:10.5px; line-height:1.48; }
.text-art-slide figcaption a { color:var(--primary-dark); font-weight:700; text-decoration:none; white-space:nowrap; }
.text-art-slide figcaption a:hover,.text-art-slide figcaption a:focus-visible { text-decoration:underline; text-underline-offset:2px; outline:none; }
.text-art-gallery-controls { display:grid; grid-template-columns:42px minmax(0,1fr) 42px; align-items:center; gap:15px; min-height:68px; padding:8px 14px; border-top:1px solid rgba(108,99,255,.1); background:linear-gradient(180deg,#fff,#fcfbff); }
.text-art-gallery-arrow { position:relative; display:grid; width:38px; height:38px; padding:0; place-items:center; justify-self:center; overflow:hidden; border:1px solid rgba(108,99,255,.18); border-radius:11px; background:linear-gradient(145deg,#fff,#f8f7ff); color:var(--primary-dark); cursor:pointer; box-shadow:0 4px 13px rgba(50,45,70,.07),inset 0 1px 0 rgba(255,255,255,.9); transition:border-color .22s ease,background .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease; }
.text-art-gallery-arrow::before { content:""; position:absolute; inset:0; background:linear-gradient(135deg,var(--primary),#8176f5); opacity:0; transition:opacity .22s ease; }
.text-art-gallery-arrow svg { position:relative; z-index:1; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; transition:transform .24s cubic-bezier(.22,.72,.24,1); }
.text-art-gallery-arrow:hover,.text-art-gallery-arrow:focus-visible { border-color:transparent; color:#fff; box-shadow:0 8px 19px rgba(108,99,255,.24); outline:none; transform:translateY(-1px); }
.text-art-gallery-arrow:hover::before,.text-art-gallery-arrow:focus-visible::before { opacity:1; }
.text-art-gallery-arrow--previous:hover svg,.text-art-gallery-arrow--previous:focus-visible svg { transform:translateX(-2px); }
.text-art-gallery-arrow--next:hover svg,.text-art-gallery-arrow--next:focus-visible svg { transform:translateX(2px); }
.text-art-gallery-arrow:active { box-shadow:0 3px 8px rgba(108,99,255,.18); transform:translateY(0) scale(.96); }
.text-art-gallery-thumbnails { display:flex; min-width:0; align-items:center; justify-content:center; gap:9px; }
.text-art-gallery-thumbnails button { position:relative; width:52px; height:42px; overflow:hidden; padding:3px; border:1px solid rgba(65,59,80,.12); border-radius:7px; background:#f3f1ec; cursor:pointer; opacity:.58; transition:opacity .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.text-art-gallery-thumbnails button img { display:block; width:100%; height:100%; border-radius:4px; object-fit:contain; background:#faf9f5; }
.text-art-gallery-thumbnails button span { position:absolute; right:3px; bottom:3px; padding:2px 3px; border-radius:3px; background:rgba(29,27,35,.72); color:#fff; font-size:7px; font-weight:750; line-height:1; }
.text-art-gallery-thumbnails button:hover { opacity:.86; transform:translateY(-1px); }
.text-art-gallery-thumbnails button.is-active { border-color:var(--primary); opacity:1; box-shadow:0 0 0 2px rgba(108,99,255,.12),0 5px 14px rgba(53,48,73,.11); transform:translateY(-1px); }
.text-art-gallery-thumbnails button:focus-visible { opacity:1; outline:2px solid var(--primary); outline-offset:2px; }
.text-art-lightbox { width:min(1180px,calc(100vw - 28px)); max-width:none; max-height:calc(100vh - 28px); margin:auto; padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.16); border-radius:14px; background:#17161b; color:#fff; box-shadow:0 28px 90px rgba(0,0,0,.5); }
.text-art-lightbox::backdrop { background:rgba(17,15,22,.88); backdrop-filter:blur(5px); }
.text-art-lightbox[open] { display:grid; grid-template-rows:minmax(0,1fr) auto; }
.text-art-lightbox-viewport { position:relative; max-width:100%; max-height:calc(100vh - 126px); overflow:auto; overscroll-behavior:contain; background:#0e0d11; scrollbar-color:rgba(255,255,255,.32) transparent; }
.text-art-lightbox-canvas { display:grid; width:max-content; min-width:100%; height:max-content; min-height:100%; box-sizing:border-box; place-items:center; padding:16px; }
.text-art-lightbox-image { display:block; width:auto; height:auto; max-width:100%; max-height:100%; margin:auto; object-fit:contain; user-select:none; -webkit-user-drag:none; }
.text-art-lightbox-viewport.is-zoomed { cursor:grab; }
.text-art-lightbox-viewport.is-dragging { cursor:grabbing; user-select:none; }
.text-art-lightbox-tools { position:fixed; z-index:3; top:22px; left:50%; display:flex; align-items:center; gap:5px; padding:5px; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:rgba(20,18,25,.84); box-shadow:0 8px 24px rgba(0,0,0,.25); transform:translateX(-50%); backdrop-filter:blur(6px); }
.text-art-lightbox-tools button { display:grid; min-width:34px; height:32px; place-items:center; padding:0 9px; border:0; border-radius:999px; background:transparent; color:#fff; font:700 14px/1 Inter,Arial,sans-serif; cursor:pointer; transition:background .16s ease,opacity .16s ease; }
.text-art-lightbox-tools button:hover,.text-art-lightbox-tools button:focus-visible { background:rgba(255,255,255,.15); outline:none; }
.text-art-lightbox-tools button:disabled { cursor:default; opacity:.32; }
.text-art-lightbox-zoom-value { min-width:48px; color:rgba(255,255,255,.86); font:700 10px/1 Inter,Arial,sans-serif; text-align:center; }
.text-art-lightbox-tools .text-art-lightbox-fit { min-width:auto; margin-left:2px; padding:0 11px; border-left:1px solid rgba(255,255,255,.18); border-radius:0 999px 999px 0; font-size:9px; letter-spacing:.04em; text-transform:uppercase; }
.text-art-lightbox-close { position:fixed; z-index:2; top:22px; right:22px; display:grid; width:40px; height:40px; place-items:center; border:1px solid rgba(255,255,255,.3); border-radius:50%; background:rgba(20,18,25,.8); color:#fff; font:300 28px/1 Inter,Arial,sans-serif; cursor:pointer; backdrop-filter:blur(4px); }
.text-art-lightbox-close:hover,.text-art-lightbox-close:focus-visible { background:#fff; color:#22202a; outline:none; }
.text-art-lightbox-arrow { position:fixed; z-index:2; top:50%; display:grid; width:42px; height:42px; place-items:center; border:1px solid rgba(255,255,255,.22); border-radius:50%; background:rgba(20,18,25,.72); color:#fff; cursor:pointer; transform:translateY(-50%); backdrop-filter:blur(5px); }
.text-art-lightbox-arrow--previous { left:22px; }
.text-art-lightbox-arrow--next { right:22px; }
.text-art-lightbox-arrow:hover,.text-art-lightbox-arrow:focus-visible { background:#fff; color:#22202a; outline:none; }
.text-art-lightbox-footer { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:24px; padding:13px 18px 15px; background:#211f28; }
.text-art-lightbox-caption { display:flex; min-width:0; flex-direction:column; gap:3px; margin:0; }
.text-art-lightbox-caption strong { font-family:Georgia,"Times New Roman",serif; font-size:14px; font-weight:600; line-height:1.35; }
.text-art-lightbox-caption span { color:rgba(255,255,255,.67); font-size:10px; line-height:1.45; }
.text-art-lightbox-caption a { color:rgba(255,255,255,.86); font-weight:700; text-decoration:none; }
.text-art-lightbox-caption a:hover,.text-art-lightbox-caption a:focus-visible { color:#fff; text-decoration:underline; text-underline-offset:2px; outline:none; }
.text-art-lightbox-original { flex:none; color:rgba(255,255,255,.7); font-size:10px; font-weight:700; text-decoration:none; }
.text-art-lightbox-original:hover,.text-art-lightbox-original:focus-visible { color:#fff; outline:none; text-decoration:underline; text-underline-offset:3px; }
.text-reading-part-divider { width:min(760px,100%); height:1px; margin:54px auto 42px; border:0; background:linear-gradient(90deg,transparent,rgba(108,99,255,.32) 18%,rgba(108,99,255,.32) 82%,transparent); }
.text-path-navigation { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); max-width:760px; margin:22px auto 0; overflow:hidden; border:1px solid rgba(108,99,255,.16); border-radius:12px; background:#fff; }
.text-path-navigation-copy { display:flex; flex-direction:column; justify-content:center; gap:4px; padding:16px 18px; background:linear-gradient(110deg,rgba(108,99,255,.085),rgba(108,99,255,.025)); color:inherit; text-decoration:none; transition:background .2s ease,box-shadow .2s ease; }
.text-path-navigation-copy:hover,.text-path-navigation-copy:focus-visible { background:linear-gradient(110deg,rgba(108,99,255,.13),rgba(108,99,255,.045)); outline:none; box-shadow:inset -2px 0 0 rgba(108,99,255,.14); }
.text-path-navigation-copy:focus-visible { outline:2px solid rgba(108,99,255,.2); outline-offset:-2px; }
.text-path-navigation-copy span,.text-path-navigation a span { color:var(--primary); font-size:9px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.text-path-navigation-copy strong { color:var(--text); font-size:12px; line-height:1.4; }
.text-path-navigation-copy small { color:var(--text-light); font-size:10px; }
.text-path-navigation > a:not(.text-path-navigation-copy) { position:relative; display:flex; flex-direction:column; justify-content:center; gap:5px; min-width:0; padding:16px 45px 16px 18px; border-left:1px solid rgba(108,99,255,.13); color:inherit; text-decoration:none; transition:background .2s ease; }
.text-path-navigation > a:not(.text-path-navigation-copy) strong { color:var(--text-medium); font-size:12px; font-weight:700; line-height:1.45; }
.text-path-navigation > a:not(.text-path-navigation-copy) > i { position:absolute; right:18px; top:50%; color:var(--primary); font-size:19px; font-style:normal; transform:translateY(-50%); transition:transform .2s ease; }
.text-path-navigation > a:not(.text-path-navigation-copy):hover,.text-path-navigation > a:not(.text-path-navigation-copy):focus-visible { background:rgba(108,99,255,.045); outline:none; }
.text-path-navigation > a:not(.text-path-navigation-copy):hover > i,.text-path-navigation > a:not(.text-path-navigation-copy):focus-visible > i { transform:translate(3px,-50%); }
.text-detail-cta { display:flex; align-items:center; justify-content:space-between; gap:30px; max-width:760px; margin:34px auto 0; padding:24px 26px; border:1px solid rgba(108,99,255,.18); border-radius:16px; background:linear-gradient(115deg,rgba(108,99,255,.095),rgba(108,99,255,.025)); }
.text-detail-cta-copy { max-width:470px; }
.text-detail-cta-eyebrow { display:block; margin-bottom:6px; color:var(--primary); font-size:10px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.text-detail-cta h2 { margin:0; font-family:Inter,Arial,sans-serif; font-size:18px; line-height:1.35; font-weight:700; letter-spacing:-.015em; }
.text-detail-cta p { margin-top:7px; color:var(--text-medium); font-size:13px; line-height:1.6; }
.text-detail-cta-link { flex:none; display:inline-flex; align-items:center; justify-content:center; gap:9px; max-width:230px; padding:11px 15px; border:1px solid var(--primary); border-radius:10px; background:var(--primary); color:#fff; text-align:center; text-decoration:none; font-size:12px; font-weight:700; line-height:1.35; box-shadow:0 8px 20px rgba(108,99,255,.18); transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }
.text-detail-cta-link:hover,.text-detail-cta-link:focus-visible { background:var(--primary-dark); box-shadow:0 11px 25px rgba(108,99,255,.24); transform:translateY(-1px); outline:none; }
.text-detail-cta-link span { font-size:16px; transition:transform .2s ease; }
.text-detail-cta-link:hover span,.text-detail-cta-link:focus-visible span { transform:translateX(2px); }
.text-detail-author-link { color:inherit; text-decoration:none; border-bottom:1px solid transparent; transition:border-color .2s ease,color .2s ease; }
.text-detail-author-link:hover,.text-detail-author-link:focus-visible { color:var(--primary-dark); border-color:rgba(108,99,255,.45); outline:none; }
.text-context a { color:inherit; font-weight:inherit; text-decoration-color:rgba(108,99,255,.48); text-decoration-thickness:1px; text-underline-offset:3px; transition:color .2s ease,text-decoration-color .2s ease; }
.text-context a:hover,.text-context a:focus-visible { color:var(--primary-dark); text-decoration-color:currentColor; outline:none; }

@media (max-width:900px) {
  .texts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .text-linked-set { grid-column:1/-1; }
  .texts-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-catalog-section="philosophie"] .texts-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-catalog-section="mythologie"] .texts-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-catalog-section="theologie"] .texts-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-catalog-section="theologie"] .texts-reset { grid-column:2; justify-self:stretch; }
  body[data-catalog-section="autres"] .texts-filters { grid-template-columns:repeat(2,minmax(0,1fr)) auto; }
}
@media (max-width:620px) {
  .texts-main { padding-top:70px; }
  .texts-hero { padding:58px 16px 46px; }
  .texts-title { font-size:clamp(2.35rem,13vw,3.3rem); }
  .texts-intro { font-size:14px; }
  .texts-catalog { padding:34px 0 64px; }
  .texts-tools { padding:16px; border-radius:16px; }
  .texts-filters { grid-template-columns:1fr; }
  body[data-catalog-section="philosophie"] .texts-filters,
  body[data-catalog-section="mythologie"] .texts-filters,
  body[data-catalog-section="theologie"] .texts-filters,
  body[data-catalog-section="autres"] .texts-filters { grid-template-columns:1fr; }
  .texts-reset { width:100%; }
  body[data-catalog-section="theologie"] .texts-reset { grid-column:auto; }
  .texts-theme-multi-menu { width:100%; max-height:min(390px,58vh); }
  .texts-theme-multi-trigger { padding-left:12px; }
  .texts-course-cta { align-items:flex-start; flex-direction:column; gap:7px; margin:10px 4px 0; padding:9px 4px 10px; }
  .texts-course-cta-copy { display:block; }
  .texts-course-cta-copy strong,.texts-course-cta-copy span { display:block; }
  .texts-course-cta-link { width:auto; justify-content:flex-start; }
  .texts-summary { align-items:flex-start; flex-direction:column; gap:3px; margin-top:23px; }
  .texts-grid { grid-template-columns:1fr; }
  .texts-pagination { margin-top:30px; }
  .texts-page-number { width:38px; height:38px; }
  .text-linked-set { grid-column:1; }
  .text-linked-set-heading { grid-template-columns:1fr; padding:10px 13px; }
  .text-linked-set-description { display:none; }
  .text-linked-set-cards { grid-template-columns:1fr; }
  .text-linked-set-center-mark { top:50%; left:17px; width:32px; height:32px; transform:translate(-50%,-50%); }
  .text-linked-set .text-card { min-height:285px; }
  .text-card,.text-card--compact,.text-card--with-idea,.text-card--quote { min-height:285px; }
  .text-detail { padding:110px 16px 70px; }
  .text-detail-inner { padding:38px 25px 48px; }
  .text-reading { padding:46px 17px 33px 36px; }
  .text-reading--scripture { padding:34px 0 22px; }
  .text-scripture-heading { margin-right:4px; margin-left:70px; }
  .text-scripture-verse { grid-template-columns:58px minmax(0,1fr); gap:12px; }
  .text-scripture-marker { font-size:9px; }
  .text-scripture-marker--chapter { font-size:8.5px; letter-spacing:.045em; }
  .text-scripture-movement { grid-template-columns:58px minmax(0,1fr); gap:12px; margin:36px 0 15px; }
  .text-scripture-verse--movement-start { margin-top:34px; }
  .text-scripture-movement-label { width:88px; padding-right:20px; padding-left:10px; }
  .text-scripture-movement-marker { top:.58em; }
  .text-scripture-movement-title { font-size:.94rem; line-height:1.08; }
  .text-scripture-movement-range { margin-top:5px; font-size:7.25px; letter-spacing:.045em; }
  .text-scripture-inline-marker { margin-right:5px; font-size:8px; }
  .text-scripture-chapter-divider { margin-right:0; margin-left:70px; }
  .text-reading .text-scripture-omission { margin-left:70px; }
  .text-scripture-pause { margin-right:0; margin-left:70px; padding:20px 17px 21px 19px; }
  .text-reading .text-scripture-pause-title,.text-reading .text-scripture-pause-intro,.text-scripture-pause blockquote { padding-left:18px; }
  .text-reading-quote { font-size:4rem; }
  .text-reading-quote--open { top:7px; left:0; }
  .text-reading-quote--close { right:0; bottom:0; }
  .text-reading-line-numbers { top:64px; bottom:59px; left:2px; width:18px; }
  .text-reading-line-numbers span { right:4px; font-size:9px; }
  .text-reading-part-divider { margin:42px auto 34px; }
  .text-art-gallery { margin-top:26px; border-radius:14px; }
  .text-reading--scripture .text-art-gallery--inline { margin-right:0; margin-left:70px; }
  .text-art-gallery-heading { min-height:72px; align-items:flex-start; flex-direction:column; gap:5px; padding:14px 16px 12px; }
  .text-art-gallery-heading > div { gap:3px; }
  .text-art-gallery-heading h2 { font-size:1.1rem; text-align:left; }
  .text-art-gallery-heading small { display:none; }
  .text-art-gallery-stage { height:500px; }
  .text-art-gallery-count { top:22px; right:22px; }
  .text-art-slide { grid-template-rows:minmax(0,1fr) 126px; padding:13px 13px 0; }
  .text-art-zoom { padding:10px; }
  .text-art-zoom-hint { opacity:1; }
  .text-art-slide figcaption { padding:11px 4px 13px; }
  .text-art-slide figcaption strong { font-size:13px; }
  .text-art-slide figcaption > span { font-size:10px; }
  .text-art-gallery-controls { grid-template-columns:36px minmax(0,1fr) 36px; gap:7px; min-height:64px; padding-right:8px; padding-left:8px; }
  .text-art-gallery-arrow { width:32px; height:32px; }
  .text-art-gallery-thumbnails { gap:5px; }
  .text-art-gallery-thumbnails button { width:38px; height:34px; padding:2px; border-radius:5px; }
  .text-art-gallery-thumbnails button span { display:none; }
  .text-art-lightbox { width:calc(100vw - 16px); max-height:calc(100vh - 16px); border-radius:10px; }
  .text-art-lightbox-viewport { max-height:calc(100vh - 119px); }
  .text-art-lightbox-close { top:13px; right:13px; }
  .text-art-lightbox-tools { top:13px; left:13px; gap:3px; padding:4px; transform:none; }
  .text-art-lightbox-tools button { min-width:30px; height:30px; padding:0 7px; }
  .text-art-lightbox-zoom-value { min-width:42px; }
  .text-art-lightbox-tools .text-art-lightbox-fit { padding:0 8px; }
  .text-art-lightbox-arrow { width:36px; height:36px; }
  .text-art-lightbox-arrow--previous { left:13px; }
  .text-art-lightbox-arrow--next { right:13px; }
  .text-art-lightbox-footer { align-items:flex-start; flex-direction:column; gap:8px; padding:12px 15px 14px; }
  .text-relations,.text-relation-group,.text-disclosure-panel,.text-disclosure-panel-inner,.text-relation-group ul,.text-relation-group li { min-width:0; max-width:100%; }
  .text-relation-group-heading { min-height:44px; padding:12px 13px; }
  .text-relation-group ul { margin-right:13px; margin-bottom:13px; margin-left:36px; }
  .text-relation-group a { width:auto; justify-self:start; max-width:100%; overflow-wrap:anywhere; }
  .text-reading-notes { margin-top:18px; }
  .text-reading-notes summary { padding-right:16px; padding-left:16px; }
  .text-reading-notes-content { padding-right:16px; padding-left:16px; }
  .text-reading-notes.is-open .text-reading-notes-content { padding:12px 16px 15px; }
  .text-note-poles { grid-template-columns:1fr; }
  .text-note-poles > div + div { border-top:1px solid rgba(108,99,255,.14); border-left:0; }
  .text-note-comparison-wrap { overflow-x:auto; }
  .text-note-comparison-wrap table { min-width:520px; }
  .text-path-navigation { grid-template-columns:1fr; }
  .text-path-navigation > a:not(.text-path-navigation-copy) { border-top:1px solid rgba(108,99,255,.13); border-left:0; }
  .text-detail-cta { align-items:stretch; flex-direction:column; gap:17px; margin-top:28px; padding:20px; }
  .text-detail-cta-link { width:100%; max-width:none; }
  .text-placeholder { padding:24px 20px; }
}

@media (prefers-reduced-motion:reduce) {
  .text-card,.texts-grid,.texts-section-tab,.texts-reset,.texts-course-cta-link,.text-detail-cta-link,.text-relation-toggle,.text-reading-notes .text-disclosure-trigger i,.text-disclosure-panel,.text-art-image-wrap img,.text-art-zoom-hint,.text-art-gallery-arrow,.text-art-gallery-thumbnails button,.text-art-gallery-progress i,.text-art-slide { transition:none; }
  .text-art-gallery-arrow::before,.text-art-gallery-arrow svg { transition:none; }
}

@media (max-width:520px) {
  .text-reading--scripture .text-art-gallery--inline { margin-left:0; }
  .text-art-gallery-stage { height:450px; }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE — repère permanent de la bibliothèque
   ========================================================== */
.texts-bible-compass-strip {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-top:15px;
  padding:9px 12px;
  border:1px solid rgba(164,78,94,.16);
  border-radius:12px;
  background:rgba(164,78,94,.035);
  color:#944f5d;
  text-decoration:none;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease;
}
.texts-bible-compass-strip:hover,
.texts-bible-compass-strip:focus-visible {
  border-color:rgba(164,78,94,.3);
  background:rgba(164,78,94,.065);
  box-shadow:0 7px 18px rgba(76,52,60,.045);
  outline:none;
  transform:translateY(-1px);
}
.texts-bible-compass-icon {
  display:grid;
  width:30px;
  height:30px;
  flex:0 0 30px;
  place-items:center;
  border-radius:50%;
  background:rgba(164,78,94,.065);
  color:currentColor;
}
.texts-bible-compass-icon svg {
  width:24px;
  height:24px;
  overflow:visible;
  stroke:currentColor;
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.texts-bible-compass-icon .compass-needle-north { fill:currentColor; fill-opacity:.92; stroke-width:1; }
.texts-bible-compass-icon .compass-needle-south { fill:#fff; fill-opacity:.95; stroke-width:1; }
.texts-bible-compass-text {
  min-width:0;
  color:currentColor;
  font-size:11px;
  line-height:1.35;
  text-align:center;
}
.texts-bible-compass-text strong { color:currentColor; font-weight:760; }

.text-context-bible-compass {
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  gap:7px;
  margin:8px 0 0;
  padding:6px 9px 6px 7px;
  border:1px solid rgba(182,77,91,.13);
  border-radius:999px;
  background:rgba(255,249,250,.72);
  color:#8d4b59;
  text-decoration:none;
  line-height:1;
  transition:border-color .18s ease,background .18s ease;
}
.text-context-bible-compass:hover,.text-context-bible-compass:focus-visible { border-color:rgba(182,77,91,.3); background:#fff7f8; outline:none; }
.text-context-bible-compass > span:first-child { display:grid; width:18px; height:18px; flex:none; place-items:center; color:#a44e5e; }
.text-context-bible-compass > span:first-child svg { width:17px; height:17px; stroke:currentColor; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; }
.text-context-bible-compass > span:first-child .compass-needle-north { fill:currentColor; fill-opacity:.92; stroke-width:1; }
.text-context-bible-compass > span:first-child .compass-needle-south { fill:#fff; fill-opacity:.95; stroke-width:1; }
.text-context-bible-compass strong { flex:none; font-size:9.6px; font-weight:800; }
.text-context-bible-compass-meta { overflow:hidden; color:#9b858b; font-size:9px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }

.bible-compass-page { background:#fbfaf8; }
.bible-compass-main { padding:94px 0 80px; }
.bible-compass-container { width:min(1080px,calc(100% - 40px)); margin:0 auto; }
.bible-compass-breadcrumb {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 24px;
  color:var(--text-light);
  font-size:11px;
}
.bible-compass-breadcrumb a { color:inherit; text-decoration:none; }
.bible-compass-breadcrumb a:hover { color:#994f5e; }
.bible-compass-hero {
  position:relative;
  overflow:hidden;
  padding:42px 44px 38px;
  border:1px solid rgba(182,77,91,.14);
  border-radius:24px;
  background:linear-gradient(128deg,#fff 0%,#fffaf9 58%,#f6f2f7 100%);
  box-shadow:0 20px 55px rgba(48,39,47,.07);
}
.bible-compass-hero::after {
  content:"⌖";
  position:absolute;
  right:28px;
  top:10px;
  color:rgba(182,77,91,.07);
  font-family:Georgia,"Times New Roman",serif;
  font-size:132px;
  line-height:1;
  pointer-events:none;
}
.bible-compass-kicker {
  display:block;
  margin-bottom:9px;
  color:#a65363;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.bible-compass-hero h1 {
  max-width:760px;
  margin:0;
  color:#30272a;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,5vw,3.35rem);
  font-weight:500;
  line-height:1.03;
  letter-spacing:-.038em;
}
.bible-compass-hero > p {
  max-width:720px;
  margin:17px 0 0;
  color:#6e6569;
  font-size:14px;
  line-height:1.65;
}
.bible-compass-jump {
  position:sticky;
  z-index:20;
  top:76px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:7px;
  width:max-content;
  max-width:calc(100% - 24px);
  margin:18px auto 44px;
  padding:7px;
  border:1px solid rgba(76,65,72,.09);
  border-radius:14px;
  background:rgba(255,255,255,.9);
  box-shadow:0 10px 28px rgba(47,41,46,.08);
  backdrop-filter:blur(14px);
}
.bible-compass-jump a {
  padding:8px 11px;
  border-radius:9px;
  color:#6d6267;
  font-size:10px;
  font-weight:700;
  text-decoration:none;
}
.bible-compass-jump a:hover,.bible-compass-jump a:focus-visible { background:#f7eef0; color:#934b59; outline:none; }
.bible-compass-section { scroll-margin-top:145px; margin:0 0 64px; }
.bible-compass-section-head { display:grid; gap:8px; max-width:760px; margin-bottom:22px; }
.bible-compass-section-head span { color:#a65765; font-size:9px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.bible-compass-section-head h2 { margin:0; color:#30272a; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.65rem,3vw,2.25rem); font-weight:500; letter-spacing:-.025em; }
.bible-compass-section-head p { margin:0; color:#756c70; font-size:12.5px; line-height:1.6; }
.bible-compass-section-head--kicker { margin-bottom:14px; }


.bible-quick-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.bible-quick-card { min-height:148px; padding:19px; border:1px solid rgba(80,68,74,.09); border-radius:15px; background:#fff; }
.bible-quick-card span { display:inline-grid; min-width:27px; height:27px; padding:0 7px; place-items:center; border-radius:8px; background:#f7edef; color:#9c5361; font-size:9px; font-weight:850; }
.bible-quick-card strong { display:block; margin:12px 0 6px; color:#3b3135; font-size:12px; }
.bible-quick-card p { margin:0; color:#776e72; font-size:10.5px; line-height:1.55; }
.bible-quick-card code { padding:2px 4px; border-radius:4px; background:#f7f4f2; color:#7f4652; font-family:inherit; font-size:10px; }
.bible-method-note { display:grid; grid-template-columns:auto minmax(0,1fr); gap:13px; margin-top:14px; padding:16px 18px; border:1px solid rgba(186,139,70,.17); border-radius:14px; background:#fffaf0; }
.bible-method-note i { color:#a97b35; font-family:Georgia,"Times New Roman",serif; font-size:20px; font-style:normal; }
.bible-method-note strong { display:block; margin-bottom:3px; color:#604f36; font-size:11px; }
.bible-method-note p { margin:0; color:#7d6c54; font-size:10.5px; line-height:1.55; }

.bible-timeline { position:relative; display:grid; gap:0; margin:0; padding:0 0 0 24px; list-style:none; }
.bible-timeline::before { content:""; position:absolute; top:13px; bottom:13px; left:6px; width:1px; background:linear-gradient(#c78390,#dfd4d6 70%,#aaa1bc); }
.bible-timeline li { position:relative; display:grid; grid-template-columns:155px minmax(0,1fr); gap:22px; padding:0 0 22px 18px; }
.bible-timeline li::before { content:""; position:absolute; top:8px; left:-22px; width:8px; height:8px; border:2px solid #fff; border-radius:50%; background:#b35d6c; box-shadow:0 0 0 1px rgba(179,93,108,.25); }
.bible-timeline-time { color:#9a5965; font-size:9.5px; font-weight:800; line-height:1.45; letter-spacing:.03em; }
.bible-timeline-copy { padding:0 0 21px; border-bottom:1px solid rgba(82,69,76,.08); }
.bible-timeline li:last-child .bible-timeline-copy { border-bottom:0; }
.bible-timeline-copy strong { display:block; margin-bottom:4px; color:#393034; font-family:Georgia,"Times New Roman",serif; font-size:16px; font-weight:600; }
.bible-timeline-copy p { margin:0; color:#766d71; font-size:11px; line-height:1.58; }
.bible-timeline-links { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.bible-timeline-links a { padding:5px 7px; border:1px solid rgba(182,77,91,.14); border-radius:7px; background:#fff8f9; color:#934b59; font-size:9.5px; font-weight:700; text-decoration:none; }
.bible-timeline-links a:hover { border-color:rgba(182,77,91,.35); }

.bible-chrono-intro { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:0 0 18px; }
.bible-chrono-intro-card { padding:14px 15px; border:1px solid rgba(182,77,91,.14); border-radius:14px; background:linear-gradient(180deg,rgba(255,251,251,.94),rgba(250,245,246,.92)); }
.bible-chrono-intro-card strong { display:block; margin-bottom:6px; color:#493c41; font-size:12px; letter-spacing:.01em; }
.bible-chrono-intro-card p { margin:0; color:#776d72; font-size:11.2px; line-height:1.62; }
.bible-chrono-accordion { display:grid; gap:12px; }
.bible-chrono-period { border:1px solid rgba(182,77,91,.16); border-radius:16px; background:#fff; overflow:hidden; box-shadow:0 10px 24px rgba(42,28,33,.04); }
.bible-chrono-period summary { display:flex; align-items:center; gap:14px; padding:15px 18px; cursor:pointer; list-style:none; }
.bible-chrono-period summary::-webkit-details-marker { display:none; }
.bible-chrono-period summary::after { content:'+'; margin-left:auto; color:#9b5564; font-size:20px; line-height:1; font-weight:400; }
.bible-chrono-period[open] summary::after { content:'–'; }
.bible-chrono-period[open] summary { background:linear-gradient(180deg,rgba(255,250,251,.95),rgba(250,243,245,.92)); border-bottom:1px solid rgba(182,77,91,.10); }
.bible-chrono-period-num { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border-radius:50%; background:#f6edef; color:#9f5462; font-size:11px; font-weight:800; letter-spacing:.06em; }
.bible-chrono-period-copy { display:flex; flex-direction:column; min-width:0; }
.bible-chrono-period-copy strong { color:#3f3438; font-family:Georgia,'Times New Roman',serif; font-size:17px; font-weight:600; }
.bible-chrono-period-copy small { margin-top:3px; color:#7e7277; font-size:10.5px; line-height:1.5; }
.bible-chrono-panel { padding:14px 16px 16px; }
.bible-chrono-legend, .bible-chrono-row { display:grid; grid-template-columns:minmax(0,1fr) 118px minmax(0,1fr); gap:14px; }
.bible-chrono-legend { padding:0 6px 9px; color:#8a7b82; font-size:9.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.bible-chrono-legend span:nth-child(2) { text-align:center; color:#ad5969; }
.bible-chrono-table { display:grid; gap:10px; }
.bible-chrono-row { align-items:stretch; }
.bible-chrono-date { display:grid; place-items:center; padding:10px 8px; border-radius:12px; background:linear-gradient(180deg,#fff7f8,#f8edef); color:#ab5666; font-size:11px; font-weight:800; line-height:1.35; text-align:center; box-shadow:inset 0 0 0 1px rgba(182,77,91,.12); }
.bible-chrono-entry { min-height:100%; padding:12px 13px; border:1px solid rgba(82,69,76,.08); border-radius:12px; background:#fcfbfb; }
.bible-chrono-entry:empty { background:transparent; border-style:dashed; border-color:rgba(82,69,76,.10); }
.bible-chrono-entry strong { display:block; margin-bottom:5px; color:#3f3438; font-size:12.5px; font-weight:700; line-height:1.45; }
.bible-chrono-entry p { margin:0; color:#776d72; font-size:10.8px; line-height:1.62; }
.bible-chrono-entry--bible { background:linear-gradient(180deg,#fffdfd,#fcf8f8); }
.bible-chrono-entry--world { background:linear-gradient(180deg,#fcfdff,#f6f8fc); }
.bible-chrono-row--full .bible-chrono-entry--world { background:linear-gradient(180deg,#fcfdff,#f8fbff); }

/* Frise comparée : Bible à gauche, monde à droite, axe chronologique au centre. */
.bible-chrono-table {
  position:relative;
  display:grid;
  gap:8px;
  padding:4px 0;
}
.bible-chrono-table::before {
  content:"";
  position:absolute;
  z-index:0;
  top:0;
  bottom:0;
  left:50%;
  width:2px;
  border-radius:99px;
  background:linear-gradient(180deg,rgba(171,86,102,.18),#ad5969 8%,#ad5969 92%,rgba(171,86,102,.18));
  transform:translateX(-1px);
}
.bible-chrono-table::after {
  content:"";
  position:absolute;
  z-index:1;
  left:50%;
  bottom:-2px;
  width:8px;
  height:8px;
  border:2px solid #fff;
  border-radius:50%;
  background:#ad5969;
  box-shadow:0 0 0 1px rgba(173,89,105,.18);
  transform:translate(-50%,50%);
}
.bible-chrono-row {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) 118px minmax(0,1fr);
  align-items:center;
  gap:14px;
}
.bible-chrono-date {
  position:relative;
  z-index:3;
  justify-self:center;
  width:96px;
  min-height:38px;
  padding:8px 7px;
  border:1px solid rgba(173,89,105,.18);
  border-radius:999px;
  background:#fff;
  color:#a34f5f;
  box-shadow:0 3px 10px rgba(87,54,64,.06);
  font-size:10.5px;
  font-weight:850;
  line-height:1.25;
  text-align:center;
}
.bible-chrono-date::before,
.bible-chrono-date::after {
  content:"";
  position:absolute;
  top:50%;
  width:10px;
  height:1px;
  background:rgba(173,89,105,.28);
}
.bible-chrono-date::before { right:100%; }
.bible-chrono-date::after { left:100%; }
.bible-chrono-entry {
  position:relative;
  z-index:2;
}
.bible-chrono-entry--bible { border-left:2px solid rgba(173,89,105,.28); }
.bible-chrono-entry--world { border-right:2px solid rgba(91,112,149,.20); }

.bible-books-browser { display:grid; gap:16px; }
.bible-books-tabs { display:flex; flex-wrap:wrap; gap:7px; padding:5px; width:max-content; max-width:100%; border:1px solid rgba(82,69,76,.09); border-radius:12px; background:#fff; }
.bible-books-tabs button { appearance:none; padding:10px 15px; border:0; border-radius:8px; background:transparent; color:#776b70; cursor:pointer; font:inherit; font-size:12.5px; font-weight:760; transition:background .18s ease,color .18s ease; }
.bible-books-tabs button[aria-selected="true"] { background:#f7edef; color:#934b59; }
.bible-books-tabs button:hover,.bible-books-tabs button:focus-visible { color:#934b59; outline:none; }
.bible-books-view-note { min-height:0; margin:0; max-width:900px; color:#81767a; font-size:12.5px; line-height:1.65; }
.bible-books-board { display:grid; gap:12px; }
.bible-book-cluster { padding:18px 18px 17px; border:1px solid rgba(82,69,76,.09); border-radius:16px; background:#fff; transition:border-color .18s ease,box-shadow .18s ease; }
.bible-book-cluster.has-open-book { border-color:rgba(164,78,94,.16); box-shadow:0 8px 24px rgba(64,49,56,.035); }
.bible-book-cluster-head { display:grid; grid-template-columns:minmax(150px,.42fr) minmax(0,1fr); align-items:baseline; gap:16px; margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid rgba(82,69,76,.065); }
.bible-book-cluster-head strong { color:#3f3438; font-family:Georgia,"Times New Roman",serif; font-size:16px; font-weight:600; }
.bible-book-cluster-head small { color:#8f8388; font-size:11.5px; line-height:1.45; }
.bible-book-chips { display:flex; flex-wrap:wrap; gap:7px; }
.bible-book-chip { appearance:none; padding:8px 11px; border:1px solid transparent; border-radius:9px; background:#f7f4f3; color:#62585c; cursor:pointer; font:inherit; font-size:12.5px; line-height:1.25; transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease; }
.bible-book-chip:hover,.bible-book-chip:focus-visible { border-color:rgba(164,78,94,.18); color:#934b59; outline:none; transform:translateY(-1px); }
.bible-book-chip.is-active { border-color:rgba(164,78,94,.22); background:#fff0f3; color:#8e4654; font-weight:800; }
.bible-book-preview { position:relative; display:grid; gap:17px; margin-top:17px; padding:23px 24px; border:1px solid rgba(164,78,94,.13); border-radius:15px; background:linear-gradient(120deg,#fff 0%,#fff9fa 100%); }
.bible-book-preview-head { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; }
.bible-book-preview-kicker { display:block; margin-bottom:5px; color:#a65765; font-size:10px; font-weight:850; letter-spacing:.075em; text-transform:uppercase; }
.bible-book-preview h3 { margin:0; color:#342a2e; font-family:Georgia,"Times New Roman",serif; font-size:28px; font-weight:600; line-height:1.05; }
.bible-book-topics { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; max-width:48%; }
.bible-book-topics span { padding:6px 8px; border:1px solid rgba(164,78,94,.1); border-radius:999px; background:#fff; color:#8f5560; font-size:10.5px; font-weight:720; white-space:nowrap; }
.bible-book-coordinates { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.bible-book-coordinates div { min-width:0; padding:10px 11px; border-radius:10px; background:rgba(247,244,243,.72); }
.bible-book-coordinates span { display:block; margin-bottom:3px; color:#9a8e93; font-size:8.5px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.bible-book-coordinates strong { display:block; overflow:hidden; color:#54494e; font-size:11.5px; font-weight:720; line-height:1.35; text-overflow:ellipsis; }
.bible-book-preview-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; }
.bible-book-preview-block { padding:14px 15px; border:1px solid rgba(82,69,76,.07); border-radius:11px; background:rgba(255,255,255,.72); }
.bible-book-preview-block--lead { background:#fff; }
.bible-book-preview-block--wide { grid-column:1/-1; }
.bible-book-preview-block > span { display:block; margin-bottom:6px; color:#a25b68; font-size:9px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.bible-book-preview-block p { margin:0; color:#675d61; font-size:13px; line-height:1.68; }
.bible-book-preview-block--wide p { color:#74696e; }
.bible-book-preview-footer { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; padding-top:3px; }
.bible-book-local-link { display:inline-block; color:#934b59; font-size:11.5px; font-weight:800; text-decoration:none; }
.bible-book-local-link:hover,.bible-book-local-link:focus-visible { text-decoration:underline; outline:none; }
.bible-book-local-link[hidden] { display:none; }
.bible-book-neighbors { display:flex; align-items:center; gap:6px; margin-left:auto; }
.bible-book-neighbors button { appearance:none; display:flex; align-items:center; gap:7px; max-width:175px; padding:7px 9px; border:1px solid rgba(82,69,76,.08); border-radius:9px; background:#fff; color:#766a6f; cursor:pointer; font:inherit; text-align:left; }
.bible-book-neighbors button:hover,.bible-book-neighbors button:focus-visible { border-color:rgba(164,78,94,.2); color:#934b59; outline:none; }
.bible-book-neighbors button[hidden] { display:none; }
.bible-book-neighbors button > span:not([aria-hidden]) { display:grid; min-width:0; }
.bible-book-neighbors small { color:#a19499; font-size:7.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.bible-book-neighbors strong { overflow:hidden; font-size:9.5px; font-weight:760; text-overflow:ellipsis; white-space:nowrap; }


.bible-geography-layout { display:grid; grid-template-columns:minmax(0,1.75fr) minmax(245px,.65fr); gap:12px; align-items:stretch; }
.bible-space-map { position:relative; min-height:430px; overflow:hidden; border:1px solid rgba(74,68,91,.1); border-radius:22px; background:linear-gradient(90deg,rgba(218,232,235,.78) 0 31%,rgba(245,240,228,.9) 31% 100%); box-shadow:inset 0 0 80px rgba(78,72,62,.04); }
.bible-space-map::before { content:""; position:absolute; left:31%; top:-10%; bottom:-10%; width:8%; background:linear-gradient(90deg,rgba(218,232,235,.75),rgba(244,239,226,.72)); transform:rotate(8deg); transform-origin:top; }
.bible-map-water { position:absolute; left:7%; top:50%; color:rgba(57,101,119,.38); font-size:10px; font-weight:850; letter-spacing:.2em; text-transform:uppercase; transform:rotate(-90deg); transform-origin:center; }
.bible-map-region { position:absolute; left:var(--x); top:var(--y); color:rgba(115,91,75,.25); font-size:9px; font-weight:850; letter-spacing:.16em; transform:translate(-50%,-50%); }
.bible-map-route { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.bible-map-route path { fill:none; stroke-width:2.2; stroke-dasharray:6 7; stroke-linecap:round; }
.bible-map-route .route-patriarchs { stroke:rgba(130,105,76,.38); }
.bible-map-route .route-exodus { stroke:rgba(172,106,79,.46); }
.bible-map-route .route-exile { stroke:rgba(119,93,152,.4); }
.bible-map-route .route-nt { stroke:rgba(77,112,139,.42); }
.bible-map-node { position:absolute; left:var(--x); top:var(--y); display:grid; min-width:99px; gap:2px; padding:8px 9px; border:1px solid rgba(75,63,69,.11); border-radius:10px; background:rgba(255,255,255,.92); color:#493d42; text-align:center; transform:translate(-50%,-50%); box-shadow:0 7px 19px rgba(48,43,43,.07); }
.bible-map-node strong { font-size:10.5px; }
.bible-map-node small { color:#8b8084; font-size:8.25px; line-height:1.28; }
.bible-map-node--hub { min-width:126px; padding:11px 12px; border-color:rgba(166,83,98,.24); background:#fff7f8; box-shadow:0 8px 22px rgba(105,66,75,.1); }
.bible-map-node--hub strong { color:#8f4856; font-size:12px; }
.bible-map-node--city { min-width:110px; border-color:rgba(166,83,98,.17); }
.bible-map-node--empire { background:rgba(251,248,241,.96); }
.bible-map-node--soft { background:rgba(250,252,252,.94); }
.bible-map-scale { position:absolute; right:14px; bottom:11px; color:#988f8d; font-size:8px; letter-spacing:.04em; }
.bible-route-panel { display:grid; align-content:start; gap:0; padding:18px 17px; border:1px solid rgba(82,69,76,.09); border-radius:18px; background:#fff; }
.bible-route-kicker { display:block; margin-bottom:8px; color:#9b5663; font-size:8.5px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.bible-route-panel article { display:grid; grid-template-columns:9px minmax(0,1fr); gap:9px; padding:12px 0; border-top:1px solid rgba(82,69,76,.07); }
.bible-route-panel article:first-of-type { border-top:0; }
.bible-route-panel strong { display:block; margin-bottom:3px; color:#44383d; font-size:11px; }
.bible-route-panel p { margin:0; color:#7d7276; font-size:9.7px; line-height:1.48; }
.route-dot { width:8px; height:8px; margin-top:4px; border-radius:50%; background:#9e8a72; }
.route-dot--exodus { background:#b36f56; }
.route-dot--exile { background:#80639d; }
.route-dot--nt { background:#52778f; }
.bible-place-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; }
.bible-place-card { padding:16px 17px; border:1px solid rgba(80,68,74,.08); border-radius:14px; background:#fff; }
.bible-place-card > span { display:block; margin-bottom:5px; color:#a05a67; font-size:8px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.bible-place-card strong { display:block; margin-bottom:6px; color:#42363a; font-size:11.5px; }
.bible-place-card p { margin:0; color:#786e72; font-size:10.25px; line-height:1.55; }

.bible-context-track { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.bible-context-era { min-height:156px; padding:16px 14px; border:1px solid rgba(79,69,75,.09); border-radius:14px; background:#fff; }
.bible-context-era span { color:#a05a67; font-size:8.5px; font-weight:850; letter-spacing:.04em; }
.bible-context-era strong { display:block; margin:7px 0 6px; color:#3c3236; font-size:11px; }
.bible-context-era p { margin:0; color:#7a7074; font-size:9.75px; line-height:1.52; }

.bible-resources-layout { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(250px,.7fr); gap:14px; align-items:start; }
.bible-resources-main { display:grid; gap:14px; }
.bible-resource-group { padding:16px; border:1px solid rgba(82,69,76,.08); border-radius:16px; background:#fff; }
.bible-resource-group-head { display:grid; grid-template-columns:28px minmax(0,1fr); gap:10px; align-items:start; margin-bottom:12px; }
.bible-resource-group-head > span { display:grid; width:28px; height:28px; place-items:center; border-radius:8px; background:#f7edef; color:#9c5361; font-size:8.5px; font-weight:850; }
.bible-resource-group-head h3 { margin:1px 0 3px; color:#40353a; font-size:12px; }
.bible-resource-group-head p { margin:0; color:#8a7e83; font-size:9.5px; line-height:1.45; }
.bible-resource-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.bible-resource-group:first-child .bible-resource-card:last-child { grid-column:1/-1; }
.bible-resource-card { position:relative; display:block; min-height:132px; padding:16px 17px; border:1px solid rgba(82,69,76,.09); border-radius:13px; background:#fbfaf9; color:inherit; text-decoration:none; transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.bible-resource-card::after { content:"↗"; position:absolute; right:13px; top:13px; color:#b07681; font-size:10px; }
.bible-resource-card:hover,.bible-resource-card:focus-visible { border-color:rgba(164,78,94,.24); box-shadow:0 8px 22px rgba(48,39,47,.05); outline:none; transform:translateY(-1px); }
.bible-resource-card > span { display:block; margin-bottom:8px; padding-right:20px; color:#a65765; font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.bible-resource-title { display:flex; align-items:center; gap:8px; margin-bottom:7px; padding-right:18px; }
.bible-resource-title img { width:20px; height:20px; flex:none; border-radius:4px; object-fit:contain; }
.bible-resource-title strong { color:#40353a; font-size:11px; line-height:1.28; }
.bible-resource-card p { margin:0; color:#7b7075; font-size:9.8px; line-height:1.52; }
.bible-resources-aside { padding:18px 16px; border:1px solid rgba(164,78,94,.11); border-radius:16px; background:linear-gradient(145deg,#fff9fa,#fbfaf8); }
.bible-resources-aside-kicker { color:#a65765; font-size:8px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.bible-resources-aside > h3 { margin:6px 0 4px; color:#40353a; font-family:Georgia,"Times New Roman",serif; font-size:17px; font-weight:600; }
.bible-resources-aside-intro { margin:0 0 12px; color:#897c81; font-size:9.5px; line-height:1.45; }
.bible-resource-card--aside { min-height:0; margin-top:9px; background:#fff; }
.bible-compass-end { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 24px; border:1px solid rgba(182,77,91,.12); border-radius:16px; background:#fff9fa; }
.bible-compass-end p { margin:0; color:#6f6468; font-size:11px; line-height:1.5; }
.bible-compass-end a { flex:none; color:#934b59; font-size:10.5px; font-weight:800; text-decoration:none; }

@media (max-width:840px) {
  .bible-quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bible-context-track { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bible-context-era:last-child { grid-column:1/-1; }
  .bible-place-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bible-geography-layout { grid-template-columns:1fr; }
  .bible-route-panel { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; }
  .bible-route-kicker { grid-column:1/-1; }
  .bible-route-panel article:nth-of-type(2) { border-top:0; }
  .bible-resources-layout { grid-template-columns:1fr; }
  .bible-resources-aside { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .bible-resources-aside-kicker,.bible-resources-aside > h3,.bible-resources-aside-intro { grid-column:1/-1; }
  .bible-resource-card--aside { margin-top:0; }
}
@media (max-width:600px) {
  .bible-books-tabs { width:100%; }
  .bible-books-tabs button { flex:1 1 auto; padding:9px 10px; font-size:11px; }
  .bible-books-view-note { font-size:11.5px; line-height:1.55; }
  .bible-book-cluster { padding:14px; }
  .bible-book-cluster-head { grid-template-columns:1fr; gap:3px; margin-bottom:10px; }
  .bible-book-cluster-head strong { font-size:15px; }
  .bible-book-cluster-head small { font-size:10.5px; }
  .bible-book-chip { padding:8px 9px; font-size:11.5px; }
  .bible-book-preview { gap:14px; margin-top:14px; padding:17px; }
  .bible-book-preview-head { display:grid; gap:10px; }
  .bible-book-preview h3 { font-size:24px; }
  .bible-book-topics { justify-content:flex-start; max-width:none; }
  .bible-book-topics span { padding:5px 7px; font-size:9.5px; }
  .bible-book-coordinates { grid-template-columns:1fr; gap:6px; }
  .bible-book-coordinates div { display:grid; grid-template-columns:105px minmax(0,1fr); align-items:baseline; gap:8px; padding:8px 9px; }
  .bible-book-coordinates span { margin:0; }
  .bible-book-coordinates strong { font-size:10.75px; }
  .bible-book-preview-grid { grid-template-columns:1fr; }
  .bible-book-preview-block--wide { grid-column:auto; }
  .bible-book-preview-block { padding:12px 13px; }
  .bible-book-preview-block p { font-size:12px; line-height:1.6; }
  .bible-book-preview-footer { align-items:stretch; flex-direction:column; }
  .bible-book-neighbors { width:100%; margin-left:0; }
  .bible-book-neighbors button { flex:1 1 0; max-width:none; }
}

@media (max-width:600px) {
  .text-art-slide { grid-template-rows:minmax(0,1fr) 172px; }
  .text-art-description { font-size:10px; line-height:1.43; }
  .texts-bible-compass-strip { gap:8px; margin-top:13px; padding:8px 10px; }
  .texts-bible-compass-icon { width:28px; height:28px; flex-basis:28px; }
  .texts-bible-compass-icon svg { width:22px; height:22px; }
  .texts-bible-compass-text { font-size:10.2px; }
  .text-context-bible-compass { gap:6px; margin-top:7px; padding:5px 8px 5px 6px; }
  .text-context-bible-compass-meta { display:none; }
    .bible-compass-main { padding-top:82px; }
  .bible-compass-container { width:min(100% - 28px,1080px); }
  .bible-compass-hero { padding:31px 23px 27px; border-radius:18px; }
  .bible-compass-hero::after { right:-10px; top:8px; font-size:100px; }
  .bible-compass-hero > p { font-size:12px; line-height:1.6; }
  .bible-compass-jump { position:relative; top:auto; justify-content:flex-start; width:100%; max-width:none; margin:12px 0 35px; overflow-x:auto; flex-wrap:nowrap; }
  .bible-compass-jump a { flex:none; }
  .bible-compass-section { margin-bottom:50px; scroll-margin-top:90px; }
  .bible-quick-grid,.bible-place-grid,.bible-context-track,.bible-reading-check,.bible-resource-grid { grid-template-columns:1fr; }
  .bible-context-era:last-child { grid-column:auto; }
  .bible-timeline { padding-left:18px; }
  .bible-timeline li { grid-template-columns:1fr; gap:4px; padding-left:14px; }
  .bible-timeline-time { margin-bottom:3px; }
  .bible-chrono-intro { grid-template-columns:1fr; }
  .bible-chrono-period summary { align-items:flex-start; }
  .bible-chrono-period-num { width:32px; height:32px; flex-basis:32px; }
  .bible-chrono-period-copy strong { font-size:15px; }
  .bible-chrono-panel { padding:12px; }
  .bible-chrono-legend { display:none; }
  .bible-chrono-row { grid-template-columns:1fr; gap:8px; }
  .bible-chrono-date { order:-1; min-height:0; padding:8px 10px; }
  .bible-chrono-entry:empty { display:none; }
  .bible-space-map { min-height:430px; }
  .bible-map-node { min-width:82px; padding:7px; }
  .bible-compass-end { align-items:flex-start; flex-direction:column; }
}


@media (max-width:600px) {
  .bible-space-map { min-height:510px; }
  .bible-map-node { min-width:82px; padding:7px; }
  .bible-map-node strong { font-size:9.5px; }
  .bible-map-node small { font-size:7.5px; }
  .bible-map-node--hub { min-width:108px; }
  .bible-map-node--hub strong { font-size:10.5px; }
  .bible-map-node--empire[style*="92%"] { --x:88% !important; }
  .bible-route-panel { grid-template-columns:1fr; }
  .bible-route-panel article:nth-of-type(2) { border-top:1px solid rgba(82,69,76,.07); }
  .bible-place-grid { grid-template-columns:1fr; }
  .bible-resource-grid,.bible-resource-grid--study { grid-template-columns:1fr; }
  .bible-resource-group:first-child .bible-resource-card:last-child { grid-column:auto; }
  .bible-resources-aside { display:block; }
  .bible-resource-card--aside { margin-top:9px; }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V5 — navigation, livres, géographie, images
   ========================================================== */
/* Navigation interne : cinq repères immédiatement compréhensibles. */
.bible-compass-jump {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  width:min(900px,calc(100% - 24px));
  padding:8px;
}
.bible-compass-jump a {
  display:grid;
  grid-template-columns:25px 34px minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-width:0;
  padding:10px 10px;
  border:1px solid rgba(82,69,76,.07);
  border-radius:12px;
  background:#fff;
  text-decoration:none;
  transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.bible-compass-jump a:hover,
.bible-compass-jump a:focus-visible {
  border-color:rgba(164,78,94,.18);
  background:#fffafb;
  box-shadow:0 7px 18px rgba(70,48,56,.045);
  outline:none;
  transform:translateY(-1px);
}
.bible-jump-num { color:#b27b86; font-size:9px; font-weight:850; letter-spacing:.08em; }
.bible-jump-icon { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; background:#f7edef; color:#98515f; }
.bible-jump-icon svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.bible-jump-copy { display:flex; min-width:0; flex-direction:column; gap:2px; }
.bible-compass-jump .bible-jump-copy strong { overflow:hidden; color:#4e4247; font-size:11.5px; line-height:1.15; text-overflow:ellipsis; }
.bible-jump-copy small { overflow:hidden; color:#94888d; font-size:8.8px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }

.bible-compass-section-head h2 { display:flex; align-items:center; gap:10px; }
.bible-heading-icon { display:grid!important; width:34px; height:34px; flex:0 0 34px; place-items:center; border:1px solid rgba(166,87,101,.12); border-radius:10px; background:#fff8f9; color:#a25765; }
.bible-heading-icon svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; }

/* Ouverture volontairement sobre : aucun arrière-plan illustré. */
#express { position:relative; padding:20px; border-radius:22px; }
#express .bible-quick-card { background:#fff; }
#express .bible-method-note { background:#fffaf0; }

/* Section Livres sans image d'arrière-plan. */

#livres { position:relative; }
.bible-books-browser { gap:12px; }
.bible-books-search { position:relative; display:grid; grid-template-columns:32px minmax(0,1fr) auto; align-items:center; gap:6px; padding:7px 9px; border:1px solid rgba(82,69,76,.11); border-radius:13px; background:rgba(255,255,255,.95); box-shadow:0 7px 20px rgba(56,45,51,.035); }
.bible-books-search:focus-within { border-color:rgba(164,78,94,.3); box-shadow:0 0 0 3px rgba(164,78,94,.055); }
.bible-books-search-icon { display:grid; place-items:center; color:#9c7d84; }
.bible-books-search-icon svg { width:17px; height:17px; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; }
.bible-books-search input { width:100%; padding:4px 0; border:0; outline:0; background:transparent; color:#51464a; font:inherit; font-size:13px; }
.bible-books-search input::placeholder { color:#a4989d; }
.bible-books-search kbd { padding:4px 7px; border:1px solid rgba(82,69,76,.08); border-radius:7px; background:#f8f6f5; color:#9a8c91; font-family:inherit; font-size:10px; }
.bible-books-tabs { margin-top:1px; }
.bible-books-view-note { font-size:11.5px; line-height:1.55; }

/* Deux colonnes repliées : forte réduction de la hauteur. */
.bible-books-board { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; align-items:start; }
.bible-book-cluster { padding:0; overflow:hidden; border-radius:13px; }
.bible-book-cluster.is-open,.bible-book-cluster.has-open-book,.bible-book-search-results { grid-column:1/-1; overflow:visible; }
.bible-book-cluster-head { display:grid; grid-template-columns:minmax(0,1fr) auto 18px; align-items:center; gap:8px; width:100%; margin:0; padding:11px 13px; border:0; background:#fff; color:inherit; cursor:pointer; text-align:left; }
.bible-book-cluster-head > span { min-width:0; }
.bible-book-cluster-head strong { display:block; font-size:14px; }
.bible-book-cluster-head small { display:block; margin-top:2px; overflow:hidden; color:#95898e; font-size:9.5px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.bible-book-cluster-head em { display:grid; min-width:24px; height:24px; padding:0 5px; place-items:center; border-radius:7px; background:#f7f3f2; color:#9b8790; font-size:8px; font-style:normal; font-weight:800; }
.bible-book-cluster-head i { color:#a98f96; font-size:15px; font-style:normal; transition:transform .18s ease; }
.bible-book-cluster.is-open > .bible-book-cluster-head i { transform:rotate(180deg); }
.bible-book-cluster-panel { padding:0 13px 13px; border-top:1px solid rgba(82,69,76,.055); background:#fff; }
.bible-book-cluster-panel[hidden] { display:none; }
.bible-book-chips { padding-top:11px; gap:6px; }
.bible-book-chip { padding:7px 9px; font-size:11.5px; }
.bible-book-preview { margin:0 13px 13px; }
.bible-book-preview[hidden] { display:none!important; }
.bible-book-search-results .bible-book-cluster-head { cursor:default; }
.bible-book-search-results .bible-book-cluster-head i,.bible-book-search-results .bible-book-cluster-head em { display:none; }

/* Géographie : priorité à une carte mentale lisible, pas à un faux plan précis. */
.bible-geography-section { position:relative; }
.bible-geo-orient { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-areas:"west center east" ". south ."; gap:9px; padding:15px; border:1px solid rgba(82,69,76,.08); border-radius:18px; background:rgba(250,248,247,.82); }
.bible-geo-axis { position:relative; min-height:145px; padding:18px; border:1px solid rgba(82,69,76,.08); border-radius:14px; background:rgba(255,255,255,.93); }
.bible-geo-axis--west { grid-area:west; }
.bible-geo-axis--center { grid-area:center; border-color:rgba(166,87,101,.22); background:#fff7f8; box-shadow:0 8px 22px rgba(91,57,67,.045); }
.bible-geo-axis--east { grid-area:east; }
.bible-geo-axis--south { grid-area:south; min-height:128px; }
.bible-geo-direction { display:block; margin-bottom:8px; color:#a05b67; font-size:8px; font-weight:850; letter-spacing:.09em; }
.bible-geo-axis strong { display:block; margin-bottom:7px; color:#40363a; font-family:Georgia,"Times New Roman",serif; font-size:16px; }
.bible-geo-axis p { margin:0; color:#7d7277; font-size:10.5px; line-height:1.55; }
.bible-geo-memory { display:grid; grid-template-columns:minmax(220px,.72fr) minmax(0,1.4fr); gap:10px; margin-top:10px; }
.bible-geo-memory-head { display:flex; flex-direction:column; justify-content:center; padding:18px; border-radius:15px; background:#493c41; color:#fff; }
.bible-geo-memory-head > span { color:#dbc4c9; font-size:8px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.bible-geo-memory-head strong { margin:10px 0 8px; font-family:Georgia,"Times New Roman",serif; font-size:16px; font-weight:500; line-height:1.45; }
.bible-geo-memory-head strong b { color:#d9a7b1; font-family:Inter,sans-serif; }
.bible-geo-memory-head small { color:#cdbfc3; font-size:9px; line-height:1.45; }
.bible-geo-route-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.bible-geo-route-list article { display:grid; grid-template-columns:27px minmax(0,1fr); gap:9px; padding:13px; border:1px solid rgba(82,69,76,.08); border-radius:13px; background:#fff; }
.bible-geo-route-list article > span { display:grid; width:27px; height:27px; place-items:center; border-radius:8px; background:#f7edef; color:#9c5361; font-size:8px; font-weight:850; }
.bible-geo-route-list strong { display:block; margin-bottom:3px; color:#44383d; font-size:10.5px; }
.bible-geo-route-list p { margin:0; color:#7c7176; font-size:9.5px; line-height:1.45; }
.bible-geo-names { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:10px; }
.bible-geo-names article { padding:13px; border:1px solid rgba(82,69,76,.075); border-radius:12px; background:rgba(255,255,255,.94); }
.bible-geo-names span { color:#a05b67; font-size:7.5px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.bible-geo-names strong { display:block; margin:5px 0; color:#44383d; font-size:10.5px; }
.bible-geo-names p { margin:0; color:#7d7276; font-size:9px; line-height:1.45; }

@media (max-width:840px) {
  .bible-compass-jump { grid-template-columns:repeat(5,max-content); justify-content:start; width:100%; overflow-x:auto; }
  .bible-compass-jump a { grid-template-columns:20px 25px auto; }
  .bible-books-board { grid-template-columns:1fr; }
  .bible-book-cluster.is-open,.bible-book-cluster.has-open-book { grid-column:auto; }
  .bible-geo-orient { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:"center center" "west east" "south south"; }
  .bible-geo-memory { grid-template-columns:1fr; }
  .bible-geo-names { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  #express { padding:14px; }
.bible-compass-jump { margin-bottom:32px; }
  .bible-compass-jump a { padding:7px 8px; }
  .bible-jump-num { display:none; }
  .bible-compass-jump a { grid-template-columns:25px auto; }
  .bible-heading-icon { width:30px; height:30px; flex-basis:30px; }
  .bible-heading-icon svg { width:16px; height:16px; }
  .bible-books-search { grid-template-columns:28px minmax(0,1fr); }
  .bible-books-search kbd { display:none; }
  .bible-books-search input { font-size:12px; }
  .bible-books-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bible-books-tabs button { width:100%; }
  .bible-book-cluster-head { padding:10px 11px; }
  .bible-book-cluster-head strong { font-size:13px; }
  .bible-book-cluster-head small { font-size:9px; }
  .bible-book-cluster-panel { padding:0 11px 11px; }
  .bible-book-preview { margin:0 11px 11px; }
  .bible-geo-orient { grid-template-columns:1fr; grid-template-areas:"center" "south" "east" "west"; padding:9px; }
  .bible-geo-axis { min-height:0; padding:14px; }
  .bible-geo-route-list { grid-template-columns:1fr; }
  .bible-geo-names { grid-template-columns:1fr; }
}


@media (max-width:700px) {
  .bible-compass-jump {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    width:calc(100% - 16px);
    padding:6px;
  }
  .bible-compass-jump a {
    grid-template-columns:30px minmax(0,1fr);
    gap:7px;
    padding:8px 9px;
  }
  .bible-jump-num { display:none; }
  .bible-jump-icon { width:30px; height:30px; border-radius:9px; }
  .bible-jump-icon svg { width:16px; height:16px; }
  .bible-compass-jump .bible-jump-copy strong { font-size:11px; }
  .bible-jump-copy small { font-size:8.4px; }
  .bible-compass-jump a:last-child { grid-column:1/-1; }

  .bible-chrono-intro { gap:8px; margin-bottom:12px; }
  .bible-chrono-intro-card { padding:11px 12px; border-radius:11px; }
  .bible-chrono-intro-card strong { margin-bottom:4px; font-size:11px; }
  .bible-chrono-intro-card p { font-size:10.5px; line-height:1.5; }

  .bible-chrono-accordion { gap:8px; }
  .bible-chrono-period { border-radius:13px; box-shadow:none; }
  .bible-chrono-period summary { gap:9px; padding:11px 12px; }
  .bible-chrono-period-num { width:29px; height:29px; flex-basis:29px; font-size:9px; }
  .bible-chrono-period-copy strong { font-size:14px; line-height:1.2; }
  .bible-chrono-period-copy small { margin-top:2px; font-size:9px; line-height:1.35; }
  .bible-chrono-panel { padding:9px 9px 11px; }
  .bible-chrono-legend { display:none; }

  .bible-chrono-table {
    gap:7px;
    padding:2px 0 2px 27px;
  }
  .bible-chrono-table::before {
    left:11px;
    width:2px;
    transform:none;
  }
  .bible-chrono-table::after {
    left:11px;
  }
  .bible-chrono-row {
    grid-template-columns:1fr;
    gap:5px;
    padding:0;
  }
  .bible-chrono-date {
    order:-1;
    justify-self:start;
    width:auto;
    min-height:0;
    padding:5px 9px;
    border-radius:999px;
    font-size:9.5px;
  }
  .bible-chrono-date::before {
    top:50%;
    right:100%;
    width:18px;
  }
  .bible-chrono-date::after { display:none; }

  .bible-chrono-entry {
    padding:9px 10px;
    border-radius:10px;
  }
  .bible-chrono-entry:empty { display:none; }
  .bible-chrono-entry strong { margin-bottom:3px; font-size:11.2px; line-height:1.35; }
  .bible-chrono-entry p { font-size:10px; line-height:1.48; }
  .bible-chrono-entry--bible::before,
  .bible-chrono-entry--world::before {
    display:block;
    margin-bottom:4px;
    font-size:7.5px;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .bible-chrono-entry--bible::before { content:"Histoire biblique"; color:#a15563; }
  .bible-chrono-entry--world::before { content:"Histoire du monde"; color:#65779a; }
  .bible-chrono-entry--bible { border-left:2px solid rgba(173,89,105,.28); }
  .bible-chrono-entry--world { border-right:1px solid rgba(82,69,76,.08); border-left:2px solid rgba(91,112,149,.20); }

  .bible-timeline-links { gap:4px; margin-top:6px; }
  .bible-timeline-links a { padding:4px 6px; font-size:8.5px; }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V8 — hiérarchie éditoriale renforcée
   ========================================================== */

/* Les grands titres doivent être immédiatement identifiables comme titres. */
.bible-compass-section-head {
  max-width:920px;
  gap:10px;
  margin-bottom:30px;
}
.bible-compass-section-head > span:first-child {
  color:#a65765;
  font-size:10px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.bible-compass-section-head h2 {
  display:flex;
  align-items:center;
  gap:14px;
  margin:0;
  color:#2e2528;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.25rem,4.8vw,3.65rem);
  font-weight:500;
  line-height:1.02;
  letter-spacing:-.04em;
}
.bible-compass-section-head h2 > span:last-child {
  color:inherit;
  font:inherit;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  line-height:inherit;
  text-transform:none;
}
.bible-heading-icon {
  display:grid;
  flex:0 0 48px;
  width:48px;
  height:48px;
  place-items:center;
  border-radius:14px;
  background:#f7edef;
  color:#98515f;
}
.bible-heading-icon svg {
  width:25px;
  height:25px;
}
.bible-compass-section-head p {
  max-width:820px;
  margin:2px 0 0 62px;
  color:#74696e;
  font-size:13.5px;
  line-height:1.68;
}

/* Le texte qui explique le classement des livres devient un véritable repère. */
.bible-books-view-note {
  position:relative;
  max-width:none;
  margin:2px 0 4px;
  padding:13px 15px 13px 44px;
  border:1px solid rgba(164,78,94,.11);
  border-radius:12px;
  background:#fbf7f8;
  color:#675b60;
  font-size:13px;
  font-weight:520;
  line-height:1.6;
}
.bible-books-view-note::before {
  content:"i";
  position:absolute;
  top:13px;
  left:14px;
  display:grid;
  width:20px;
  height:20px;
  place-items:center;
  border-radius:50%;
  background:#a65765;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:12px;
  font-style:italic;
  font-weight:700;
}

/* ---------------- Géographie ---------------- */
.bible-geo-key {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);
  grid-template-areas:
    "west center east"
    ". south .";
  gap:14px;
  padding:20px;
  border:1px solid rgba(82,69,76,.08);
  border-radius:20px;
  background:#faf8f8;
}
.bible-geo-key-card {
  position:relative;
  z-index:2;
  min-height:168px;
  padding:18px 18px 16px;
  border:1px solid rgba(82,69,76,.085);
  border-radius:15px;
  background:#fff;
}
.bible-geo-key-card--west { grid-area:west; }
.bible-geo-key-card--center {
  grid-area:center;
  border-color:rgba(164,78,94,.25);
  background:linear-gradient(180deg,#fff8fa,#fff);
  box-shadow:0 10px 26px rgba(88,51,62,.055);
}
.bible-geo-key-card--east { grid-area:east; }
.bible-geo-key-card--south { grid-area:south; min-height:145px; }
.bible-geo-key-direction {
  display:block;
  margin-bottom:8px;
  color:#a05a67;
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.11em;
}
.bible-geo-key-card strong {
  display:block;
  margin-bottom:7px;
  color:#3a3034;
  font-family:Georgia,"Times New Roman",serif;
  font-size:19px;
  font-weight:600;
}
.bible-geo-key-card p {
  margin:0;
  color:#71676c;
  font-size:11px;
  line-height:1.55;
}
.bible-geo-key-card small {
  display:block;
  margin-top:9px;
  color:#988c91;
  font-size:9.5px;
  line-height:1.45;
}
.bible-geo-center-details {
  display:grid;
  gap:5px;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid rgba(164,78,94,.10);
}
.bible-geo-center-details span {
  color:#74696e;
  font-size:9.7px;
  line-height:1.35;
}
.bible-geo-center-details b { color:#9a5260; }
.bible-geo-arrow {
  position:absolute;
  z-index:3;
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#a45765;
  box-shadow:0 3px 12px rgba(65,45,51,.08);
  font-size:18px;
}
.bible-geo-arrow--west { top:96px; left:calc(33.333% - 5px); }
.bible-geo-arrow--east { top:96px; right:calc(33.333% - 5px); }
.bible-geo-arrow--south { left:50%; bottom:137px; transform:translateX(-50%); }

.bible-geo-formula {
  display:grid;
  justify-items:center;
  gap:5px;
  margin-top:12px;
  padding:15px 18px;
  border-radius:14px;
  background:#493c41;
  color:#fff;
  text-align:center;
}
.bible-geo-formula span {
  color:#dbc4c9;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.bible-geo-formula strong {
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  font-weight:500;
}
.bible-geo-formula strong b {
  color:#e0aab4;
  font-family:Inter,sans-serif;
}
.bible-geo-formula small { color:#cec1c5; font-size:9px; }

.bible-geo-routes {
  margin-top:16px;
  padding:17px;
  border:1px solid rgba(82,69,76,.08);
  border-radius:17px;
  background:#fff;
}
.bible-geo-routes-head {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  margin-bottom:12px;
  padding-bottom:11px;
  border-bottom:1px solid rgba(82,69,76,.07);
}
.bible-geo-routes-head span {
  color:#a25a67;
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.bible-geo-routes-head strong {
  color:#43383c;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  font-weight:600;
}
.bible-geo-routes-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.bible-geo-routes-grid article {
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:10px;
  padding:13px;
  border-radius:12px;
  background:#f8f5f4;
}
.bible-geo-routes-grid article > span {
  display:grid;
  width:32px;
  height:32px;
  place-items:center;
  border-radius:9px;
  background:#fff;
  color:#9f5361;
  font-size:8px;
  font-weight:900;
}
.bible-geo-routes-grid strong {
  display:block;
  color:#44393d;
  font-size:11px;
}
.bible-geo-routes-grid p {
  margin:3px 0;
  color:#9c5361;
  font-size:10px;
}
.bible-geo-routes-grid small {
  color:#7d7277;
  font-size:9.5px;
  line-height:1.45;
}

/* ---------------- Politique ---------------- */
.bible-politics-sequence {
  display:grid;
  grid-template-columns:repeat(9,auto);
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-bottom:15px;
  padding:12px 14px;
  border-radius:13px;
  background:#f7f3f2;
}
.bible-politics-sequence span {
  color:#51454a;
  font-size:10.5px;
  font-weight:800;
}
.bible-politics-sequence i {
  color:#b1707c;
  font-style:normal;
}
.bible-politics-list {
  display:grid;
  gap:8px;
}
.bible-politics-era {
  display:grid;
  grid-template-columns:145px 150px minmax(0,1.2fr) minmax(190px,.85fr);
  align-items:stretch;
  gap:0;
  overflow:hidden;
  border:1px solid rgba(82,69,76,.08);
  border-radius:14px;
  background:#fff;
}
.bible-politics-era > div {
  padding:14px 15px;
}
.bible-politics-era > div + div {
  border-left:1px solid rgba(82,69,76,.07);
}
.bible-politics-era small {
  display:block;
  margin-bottom:5px;
  color:#9b8f94;
  font-size:7.5px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.bible-politics-date {
  display:flex;
  align-items:center;
  gap:8px;
  background:#faf6f7;
}
.bible-politics-date span {
  display:grid;
  width:26px;
  height:26px;
  place-items:center;
  border-radius:50%;
  background:#a65765;
  color:#fff;
  font-size:7.5px;
  font-weight:900;
}
.bible-politics-date strong {
  color:#9b5260;
  font-size:9.5px;
  line-height:1.4;
}
.bible-politics-name {
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.bible-politics-name strong {
  color:#392f33;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  font-weight:600;
}
.bible-politics-impact p,
.bible-politics-read p {
  margin:0;
  color:#74696e;
  font-size:10.2px;
  line-height:1.5;
}
.bible-politics-read b { color:#4e4247; }
.bible-politics-memory {
  margin-top:13px;
  padding:14px 16px;
  border-left:3px solid #a65765;
  border-radius:0 11px 11px 0;
  background:#fbf7f8;
}
.bible-politics-memory strong {
  color:#9d5361;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.bible-politics-memory p {
  margin:5px 0 0;
  color:#655a5f;
  font-size:11px;
  line-height:1.55;
}

/* Mobile : hiérarchie conservée sans prendre toute la hauteur. */
@media (max-width:700px) {
  .bible-compass-section-head {
    gap:7px;
    margin-bottom:20px;
  }
  .bible-compass-section-head > span:first-child { font-size:8px; }
  .bible-compass-section-head h2 {
    gap:9px;
    font-size:clamp(1.9rem,9vw,2.55rem);
    line-height:1.04;
  }
  .bible-heading-icon {
    flex-basis:38px;
    width:38px;
    height:38px;
    border-radius:11px;
  }
  .bible-heading-icon svg { width:20px; height:20px; }
  .bible-compass-section-head p {
    margin-left:47px;
    font-size:11.5px;
    line-height:1.55;
  }

  .bible-books-view-note {
    padding:11px 12px 11px 39px;
    font-size:11.2px;
    line-height:1.5;
  }
  .bible-books-view-note::before {
    top:11px;
    left:12px;
  }

  .bible-geo-key {
    grid-template-columns:1fr;
    grid-template-areas:"center" "south" "east" "west";
    gap:8px;
    padding:9px;
  }
  .bible-geo-key-card {
    min-height:0;
    padding:13px;
  }
  .bible-geo-key-card--south { min-height:0; }
  .bible-geo-key-card strong { font-size:16px; }
  .bible-geo-arrow { display:none; }
  .bible-geo-formula { padding:12px; }
  .bible-geo-formula strong { font-size:14px; line-height:1.4; }
  .bible-geo-routes { padding:11px; }
  .bible-geo-routes-head {
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
  .bible-geo-routes-grid { grid-template-columns:1fr; }
  .bible-geo-routes-grid article { padding:10px; }

  .bible-politics-sequence {
    display:flex;
    overflow-x:auto;
    justify-content:flex-start;
    gap:7px;
    padding:10px;
    scrollbar-width:none;
  }
  .bible-politics-sequence::-webkit-scrollbar { display:none; }
  .bible-politics-sequence span { flex:0 0 auto; }
  .bible-politics-era {
    grid-template-columns:72px minmax(0,1fr);
  }
  .bible-politics-era > div { padding:10px; }
  .bible-politics-era > div + div { border-left:1px solid rgba(82,69,76,.07); }
  .bible-politics-date {
    grid-row:1/3;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
  }
  .bible-politics-name { grid-column:2; }
  .bible-politics-impact,
  .bible-politics-read {
    grid-column:1/-1;
    border-top:1px solid rgba(82,69,76,.07);
    border-left:0 !important;
  }
  .bible-politics-name strong { font-size:16px; }
  .bible-politics-impact p,
  .bible-politics-read p { font-size:10px; }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V9 — dépliants et géographie
   ========================================================== */

/* Les résumés donnent un retour visuel doux avant même l'animation JS. */
.bible-chrono-period summary,
.bible-book-cluster-head {
  transition:background .28s ease,border-color .28s ease,color .28s ease;
}
.bible-chrono-period summary::after,
.bible-book-cluster-head i {
  transition:transform .32s cubic-bezier(.22,.75,.2,1),color .25s ease;
}
.bible-chrono-period[open] summary::after { transform:rotate(180deg); }
.bible-book-cluster.is-open .bible-book-cluster-head i { transform:rotate(180deg); }
.bible-book-cluster-panel { will-change:height,opacity,transform; }
.bible-chrono-panel { will-change:opacity,transform; }

/* ---------------- La carte du monde biblique ---------------- */
.bible-geo-map {
  overflow:hidden;
  padding:16px 18px 20px;
  border:1px solid rgba(82,69,76,.085);
  border-radius:20px;
  background:
    linear-gradient(rgba(255,255,255,.84),rgba(255,255,255,.84)),
    linear-gradient(90deg,rgba(164,78,94,.025) 1px,transparent 1px),
    linear-gradient(rgba(164,78,94,.025) 1px,transparent 1px);
  background-size:auto,30px 30px,30px 30px;
}
.bible-geo-map-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(82,69,76,.07);
}
.bible-geo-map-caption {
  color:#91858a;
  font-size:8.5px;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.bible-geo-north {
  color:#9e5663;
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  font-weight:700;
}
.bible-geo-map-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px minmax(0,1.16fr) 42px minmax(0,1fr);
  grid-template-areas:
    "west linkw center linke east"
    ". . links . ."
    ". south south south .";
  align-items:center;
  gap:10px 5px;
}
.bible-geo-map-node {
  min-height:176px;
  padding:17px;
  border:1px solid rgba(82,69,76,.085);
  border-radius:15px;
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 22px rgba(55,39,45,.035);
}
.bible-geo-map-node--west { grid-area:west; }
.bible-geo-map-node--center {
  grid-area:center;
  border-color:rgba(164,78,94,.23);
  background:linear-gradient(180deg,#fff7f9,#fff);
  box-shadow:0 12px 28px rgba(97,51,65,.065);
}
.bible-geo-map-node--east { grid-area:east; }
.bible-geo-map-node--south {
  grid-area:south;
  min-height:145px;
  width:min(420px,100%);
  justify-self:center;
}
.bible-geo-map-direction {
  display:block;
  margin-bottom:7px;
  color:#a25a67;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}
.bible-geo-map-node strong {
  display:block;
  margin-bottom:7px;
  color:#392f33;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  font-weight:600;
  line-height:1.1;
}
.bible-geo-map-node p {
  margin:0;
  color:#71676b;
  font-size:11px;
  line-height:1.52;
}
.bible-geo-map-node small {
  display:block;
  margin-top:10px;
  color:#95898e;
  font-size:9.6px;
  line-height:1.48;
}
.bible-geo-map-node em {
  display:inline-flex;
  margin-top:12px;
  padding:5px 8px;
  border-radius:999px;
  background:#a65765;
  color:#fff;
  font-family:Inter,sans-serif;
  font-size:9px;
  font-style:normal;
  font-weight:800;
}
.bible-geo-map-link {
  position:relative;
  display:grid;
  place-items:center;
  color:#ab6975;
  font-size:22px;
}
.bible-geo-map-link::before {
  content:"";
  position:absolute;
  z-index:-1;
  width:100%;
  height:1px;
  background:rgba(164,78,94,.18);
}
.bible-geo-map-link--west { grid-area:linkw; }
.bible-geo-map-link--east { grid-area:linke; }
.bible-geo-map-link--south {
  grid-area:links;
  height:38px;
  align-self:start;
}
.bible-geo-map-link--south::before {
  width:1px;
  height:38px;
}
.bible-geo-map-link--south span {
  margin-top:13px;
  padding:1px 4px;
  background:#fff;
}

/* Zoom intérieur : Galilée → Samarie → Judée. */
.bible-geo-zoom {
  display:grid;
  grid-template-columns:minmax(210px,.75fr) minmax(0,1.6fr);
  gap:20px;
  margin-top:14px;
  padding:18px;
  border:1px solid rgba(82,69,76,.08);
  border-radius:17px;
  background:#faf8f8;
}
.bible-geo-zoom-head > span {
  display:block;
  margin-bottom:6px;
  color:#a15a67;
  font-size:8px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.bible-geo-zoom-head > strong {
  display:block;
  color:#41363a;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  font-weight:600;
  line-height:1.25;
}
.bible-geo-zoom-head > p {
  margin:8px 0 0;
  color:#81767b;
  font-size:10px;
  line-height:1.55;
}
.bible-geo-zoom-axis {
  position:relative;
  display:grid;
  gap:7px;
}
.bible-geo-zoom-axis::before {
  content:"";
  position:absolute;
  top:18px;
  bottom:18px;
  left:17px;
  width:1px;
  background:linear-gradient(#b36b78,#dfcbd0);
}
.bible-geo-zoom-axis article {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:35px minmax(0,1fr);
  gap:10px;
  padding:9px 10px 9px 0;
  border-radius:11px;
  background:#fff;
}
.bible-geo-zoom-dot {
  display:grid;
  width:35px;
  height:35px;
  place-items:center;
  border:1px solid rgba(164,78,94,.16);
  border-radius:50%;
  background:#fff;
  color:#9c5361;
  font-size:8px;
  font-weight:900;
}
.bible-geo-zoom-axis strong {
  color:#45393e;
  font-size:11px;
}
.bible-geo-zoom-axis p {
  margin:2px 0;
  color:#9e5865;
  font-size:9.5px;
}
.bible-geo-zoom-axis small {
  color:#81767a;
  font-size:9px;
  line-height:1.4;
}

/* Les grands trajets gagnent un axe visuel léger. */
.bible-geo-routes--v9 .bible-geo-routes-grid article {
  position:relative;
  overflow:hidden;
}
.bible-geo-routes--v9 .bible-geo-routes-grid article::after {
  content:"→";
  position:absolute;
  right:10px;
  bottom:5px;
  color:rgba(164,78,94,.13);
  font-family:Georgia,"Times New Roman",serif;
  font-size:36px;
  line-height:1;
}

@media (max-width:700px) {
  .bible-geo-map {
    padding:10px;
    border-radius:15px;
    background:#faf9f9;
  }
  .bible-geo-map-top { margin-bottom:9px; padding-bottom:8px; }
  .bible-geo-map-grid {
    grid-template-columns:1fr;
    grid-template-areas:"center" "west" "east" "south";
    gap:7px;
  }
  .bible-geo-map-node {
    min-height:0;
    padding:12px;
    border-radius:11px;
    box-shadow:none;
  }
  .bible-geo-map-node--south {
    width:100%;
    min-height:0;
  }
  .bible-geo-map-node strong { font-size:16px; }
  .bible-geo-map-node p { font-size:10.2px; }
  .bible-geo-map-node small { margin-top:6px; font-size:8.8px; }
  .bible-geo-map-node em { margin-top:8px; }
  .bible-geo-map-link { display:none; }

  .bible-geo-zoom {
    grid-template-columns:1fr;
    gap:11px;
    margin-top:9px;
    padding:12px;
    border-radius:13px;
  }
  .bible-geo-zoom-head > strong { font-size:15px; }
  .bible-geo-zoom-head > p { margin-top:5px; }
  .bible-geo-zoom-axis article { padding:7px 8px 7px 0; }
  .bible-geo-routes--v9 { margin-top:9px; }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V10 — trois modes cartographiques
   ========================================================== */
.bible-map-switcher { display:grid; gap:14px; }
.bible-map-tabs {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:6px;
  border:1px solid rgba(82,69,76,.08);
  border-radius:15px;
  background:#f8f5f4;
}
.bible-map-tabs button {
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-width:0;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:#62575c;
  cursor:pointer;
  text-align:left;
  font:inherit;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.bible-map-tabs button:hover,.bible-map-tabs button:focus-visible { background:rgba(255,255,255,.7); outline:none; }
.bible-map-tabs button[aria-selected="true"] { border-color:rgba(164,78,94,.13); background:#fff; box-shadow:0 5px 14px rgba(59,42,48,.04); }
.bible-map-tab-icon { display:grid; width:38px; height:38px; place-items:center; border-radius:10px; background:#f4e8eb; color:#9a5360; }
.bible-map-tab-icon svg { width:20px; height:20px; stroke:currentColor; stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; }
.bible-map-tabs button > span:last-child { display:flex; min-width:0; flex-direction:column; gap:2px; }
.bible-map-tabs strong { color:#4a3e43; font-size:11.5px; }
.bible-map-tabs small { color:#93878c; font-size:8.8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bible-map-panel { min-width:0; }
.bible-map-panel.is-active { animation:bibleMapPanelIn .28s cubic-bezier(.22,.75,.2,1); }
@keyframes bibleMapPanelIn { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }

/* Atlas classique */
.bible-atlas-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:22px; padding:16px 17px; border:1px solid rgba(82,69,76,.08); border-radius:14px; background:#fff; }
.bible-atlas-intro > div > span { display:block; margin-bottom:4px; color:#a15865; font-size:8px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.bible-atlas-intro strong { display:block; color:#41363a; font-family:Georgia,"Times New Roman",serif; font-size:19px; font-weight:600; }
.bible-atlas-intro p { max-width:650px; margin:5px 0 0; color:#7c7176; font-size:10.5px; line-height:1.5; }
.bible-atlas-intro a { flex:0 0 auto; color:#9a5260; font-size:9.5px; font-weight:800; text-decoration:none; }
.bible-atlas-presets { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin:9px 0; }
.bible-atlas-presets button { display:grid; grid-template-columns:25px minmax(0,1fr); grid-template-rows:auto auto; gap:1px 8px; padding:10px; border:1px solid rgba(82,69,76,.08); border-radius:11px; background:#faf8f7; color:#64595e; cursor:pointer; font:inherit; text-align:left; transition:.18s ease; }
.bible-atlas-presets button:hover,.bible-atlas-presets button:focus-visible { border-color:rgba(164,78,94,.18); outline:none; }
.bible-atlas-presets button.is-active { border-color:rgba(164,78,94,.21); background:#fff1f4; }
.bible-atlas-presets button > span { grid-row:1/3; display:grid; width:25px; height:25px; place-items:center; border-radius:7px; background:#fff; color:#a25966; font-size:7px; font-weight:900; }
.bible-atlas-presets strong { color:#4d4146; font-size:9.8px; line-height:1.25; }
.bible-atlas-presets small { color:#968b8f; font-size:7.8px; line-height:1.25; }

.bible-real-map-shell { position:relative; min-height:475px; overflow:hidden; border:1px solid rgba(82,69,76,.1); border-radius:16px; background:#f2f0ed; }
.bible-real-map { width:100%; height:475px; }
.bible-real-map-shell--time,.bible-real-map-shell--time .bible-real-map { min-height:535px; height:535px; }
.bible-map-loading { position:absolute; inset:0; z-index:10; display:grid; align-content:center; justify-items:center; gap:8px; background:#f7f5f2; color:#8d8186; transition:opacity .2s ease,visibility .2s ease; }
.bible-map-loading.is-hidden { visibility:hidden; opacity:0; }
.bible-map-loading span { width:25px; height:25px; border:2px solid rgba(164,78,94,.18); border-top-color:#a25966; border-radius:50%; animation:bibleMapSpin .8s linear infinite; }
.bible-map-loading p { margin:0; font-size:9px; }
@keyframes bibleMapSpin { to { transform:rotate(360deg); } }
.bible-map-source-note,.bible-map-caution { margin:7px 2px 0; color:#93888c; font-size:8.7px; line-height:1.45; }
.bible-map-caution { padding:9px 11px; border-radius:9px; background:#faf6f1; color:#847566; }

/* Carte temporelle */
.bible-time-map-layout { display:grid; grid-template-columns:minmax(255px,.42fr) minmax(0,1fr); gap:10px; }
.bible-time-map-controls { display:flex; min-width:0; flex-direction:column; padding:17px; border:1px solid rgba(82,69,76,.08); border-radius:16px; background:#fff; }
.bible-time-map-head > span { display:block; color:#a15966; font-size:8px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.bible-time-map-head > strong { display:block; margin-top:5px; color:#3b3034; font-family:Georgia,"Times New Roman",serif; font-size:21px; font-weight:600; }
.bible-time-map-head > p { margin:4px 0 0; color:#6f6469; font-size:11px; font-weight:700; line-height:1.4; }
.bible-time-map-slider-wrap { margin:20px 0 16px; }
.bible-time-map-slider-wrap input { width:100%; accent-color:#a65765; cursor:pointer; }
.bible-time-map-ends { display:flex; justify-content:space-between; margin-top:4px; color:#a09599; font-size:7px; }
.bible-time-map-event { display:grid; gap:5px; padding:12px; border-radius:11px; background:#f8f5f4; }
.bible-time-map-event span { color:#a15865; font-size:7.5px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.bible-time-map-event p { margin:0 0 5px; color:#71666b; font-size:9.8px; line-height:1.5; }
.bible-time-map-nav { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-top:10px; }
.bible-time-map-nav button { padding:8px; border:1px solid rgba(164,78,94,.12); border-radius:9px; background:#fff; color:#92505c; cursor:pointer; font:inherit; font-size:8.5px; font-weight:800; }
.bible-via-link { margin-top:auto; padding-top:15px; color:#9c5663; font-size:9px; font-weight:800; text-decoration:none; }

/* Leaflet : harmonisation légère avec le site */
.bible-real-map .leaflet-control-attribution { font-size:7px; }
.bible-real-map .leaflet-control-zoom a { color:#7e5760; }
.bible-map-marker { display:grid; width:24px; height:24px; place-items:center; border:2px solid #fff; border-radius:50%; background:#a65765; color:#fff; box-shadow:0 2px 6px rgba(0,0,0,.16); font-size:8px; font-weight:900; }
.bible-map-marker--world { background:#66799a; }
.bible-map-popup strong { display:block; margin-bottom:3px; color:#44383d; font-size:11px; }
.bible-map-popup span { color:#81757a; font-size:9px; line-height:1.4; }

@media (max-width:700px) {
  .bible-map-tabs { grid-template-columns:1fr; gap:5px; padding:5px; }
  .bible-map-tabs button { grid-template-columns:31px minmax(0,1fr); padding:7px 9px; }
  .bible-map-tab-icon { width:31px; height:31px; border-radius:8px; }
  .bible-map-tab-icon svg { width:16px; height:16px; }
  .bible-map-tabs strong { font-size:10.5px; }
  .bible-map-tabs small { font-size:8px; }
  .bible-atlas-intro { align-items:flex-start; flex-direction:column; gap:8px; padding:12px; }
  .bible-atlas-intro strong { font-size:16px; }
  .bible-atlas-presets { grid-template-columns:1fr 1fr; gap:5px; }
  .bible-atlas-presets button { padding:8px; }
  .bible-real-map-shell,.bible-real-map { min-height:385px; height:385px; }
  .bible-time-map-layout { grid-template-columns:1fr; }
  .bible-time-map-controls { padding:12px; }
  .bible-time-map-head > strong { font-size:18px; }
  .bible-real-map-shell--time,.bible-real-map-shell--time .bible-real-map { min-height:405px; height:405px; }
}

/* ==========================================================
   BOUSSOLE BIBLIQUE V11 — repères, atlas, empires
   ========================================================== */

/* Clé de lecture de la chronologie */
.bible-chrono-reading-key {
  display:grid;
  gap:7px;
  margin:10px 0 0;
  padding:0;
  list-style:none;
}
.bible-chrono-reading-key li {
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  align-items:start;
  gap:10px;
  padding:8px 10px;
  border-radius:9px;
  background:rgba(255,255,255,.72);
}
.bible-chrono-reading-key b {
  color:#9d5361;
  font-size:9.5px;
  font-weight:850;
}
.bible-chrono-reading-key span {
  color:#74696e;
  font-size:10.5px;
  line-height:1.45;
}

/* Repères géographiques : structure plus nette et hiérarchisée */
.bible-space-guide {
  padding:18px;
  border:1px solid rgba(82,69,76,.08);
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#fbf9f9);
}
.bible-space-guide-head {
  display:grid;
  grid-template-columns:130px minmax(0,1fr);
  gap:4px 18px;
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(82,69,76,.07);
}
.bible-space-guide-head > span {
  grid-row:1/3;
  align-self:center;
  color:#a15a67;
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.bible-space-guide-head strong {
  color:#3a3034;
  font-family:Georgia,"Times New Roman",serif;
  font-size:19px;
  font-weight:600;
}
.bible-space-guide-head p {
  margin:0;
  color:#776c71;
  font-size:10.7px;
  line-height:1.55;
}
.bible-space-diagram {
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px minmax(0,1.18fr) 42px minmax(0,1fr);
  grid-template-areas:
    "west cw center ce east"
    ". . cs . ."
    ". south south south .";
  align-items:center;
  gap:8px 4px;
}
.bible-space-zone {
  min-height:164px;
  padding:16px;
  border:1px solid rgba(82,69,76,.085);
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(60,43,49,.03);
}
.bible-space-zone--west { grid-area:west; }
.bible-space-zone--center {
  grid-area:center;
  min-height:210px;
  border-color:rgba(164,78,94,.23);
  background:linear-gradient(180deg,#fff7f9,#fff);
  box-shadow:0 12px 28px rgba(91,50,62,.06);
}
.bible-space-zone--east { grid-area:east; }
.bible-space-zone--south {
  grid-area:south;
  justify-self:center;
  width:min(410px,100%);
  min-height:130px;
}
.bible-space-zone > span {
  display:block;
  margin-bottom:7px;
  color:#a05a67;
  font-size:7.8px;
  font-weight:900;
  letter-spacing:.11em;
}
.bible-space-zone > strong {
  display:block;
  margin-bottom:7px;
  color:#3c3236;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
  font-weight:600;
}
.bible-space-zone > p {
  margin:0;
  color:#71676c;
  font-size:10.5px;
  line-height:1.5;
}
.bible-space-zone > small {
  display:block;
  margin-top:10px;
  color:#8c8085;
  font-size:9.2px;
  line-height:1.48;
}
.bible-space-zone > small b { color:#62545a; }
.bible-space-connector {
  position:relative;
  display:grid;
  place-items:center;
  color:#a65a68;
}
.bible-space-connector i {
  position:absolute;
  width:100%;
  height:1px;
  background:rgba(164,78,94,.2);
}
.bible-space-connector b {
  z-index:1;
  padding:0 5px;
  background:#fcfbfb;
  font-size:18px;
  font-weight:500;
}
.bible-space-connector--west { grid-area:cw; }
.bible-space-connector--east { grid-area:ce; }
.bible-space-connector--south {
  grid-area:cs;
  height:34px;
}
.bible-space-connector--south i {
  width:1px;
  height:100%;
}
.bible-space-center-axis {
  position:relative;
  display:grid;
  gap:5px;
  margin-top:12px;
  padding-left:4px;
}
.bible-space-center-axis::before {
  content:"";
  position:absolute;
  top:13px;
  bottom:13px;
  left:16px;
  width:1px;
  background:linear-gradient(#b66b79,#e4d0d5);
}
.bible-space-center-axis > div {
  position:relative;
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  align-items:center;
  gap:7px;
  padding:6px 7px;
  border-radius:9px;
  background:rgba(255,255,255,.78);
}
.bible-space-center-axis i {
  z-index:1;
  display:grid;
  width:26px;
  height:26px;
  place-items:center;
  border:1px solid rgba(164,78,94,.14);
  border-radius:50%;
  background:#fff;
  color:#9e5562;
  font-size:7px;
  font-style:normal;
  font-weight:900;
}
.bible-space-center-axis b {
  display:block;
  color:#514248;
  font-size:9.7px;
}
.bible-space-center-axis small {
  display:block;
  margin-top:1px;
  color:#94878c;
  font-size:8px;
}
.bible-space-center-axis .is-key {
  background:#fff0f3;
}
.bible-geo-routes--v11 {
  margin-top:12px;
}

/* Atlas : étiquettes françaises/latines visibles directement sur la carte */
.bible-map-label-wrap {
  background:transparent !important;
  border:0 !important;
}
.bible-map-label {
  display:inline-block;
  width:max-content;
  max-width:150px;
  padding:3px 6px;
  border:1px solid rgba(61,51,55,.14);
  border-radius:6px;
  background:rgba(255,255,255,.92);
  color:#3e3438;
  box-shadow:0 2px 6px rgba(40,30,34,.08);
  font-family:Inter,sans-serif;
  font-size:10px;
  font-weight:750;
  line-height:1.15;
  white-space:nowrap;
  pointer-events:none;
}
.bible-map-label--world {
  color:#7b4d56;
  border-color:rgba(164,78,94,.17);
  background:rgba(255,247,249,.94);
}

/* Empires : vraie frise éditoriale, moins "tableau administratif" */
.bible-empires-track {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin-bottom:15px;
  padding:10px 12px;
  border:1px solid rgba(82,69,76,.075);
  border-radius:14px;
  background:#faf8f7;
}
.bible-empires-track > span {
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  color:#51454a;
  font-size:10px;
  font-weight:800;
}
.bible-empires-track > span b {
  display:grid;
  width:22px;
  height:22px;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#a25a67;
  font-size:7px;
}
.bible-empires-track > span small {
  color:#988c91;
  font-size:7.5px;
  font-weight:600;
}
.bible-empires-track > i {
  color:#c09aa2;
  font-style:normal;
}
.bible-empires-timeline {
  position:relative;
  display:grid;
  gap:9px;
}
.bible-empires-timeline::before {
  content:"";
  position:absolute;
  top:22px;
  bottom:22px;
  left:19px;
  width:2px;
  border-radius:99px;
  background:linear-gradient(#b76d7b,#e5d2d6);
}
.bible-empire-card {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:40px 210px minmax(0,1fr);
  gap:13px;
  align-items:stretch;
  padding:12px 14px 12px 0;
  border:1px solid rgba(82,69,76,.08);
  border-radius:14px;
  background:#fff;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.bible-empire-card:hover {
  border-color:rgba(164,78,94,.16);
  box-shadow:0 8px 22px rgba(60,43,49,.04);
  transform:translateY(-1px);
}
.bible-empire-spine {
  display:flex;
  justify-content:center;
  padding-top:4px;
}
.bible-empire-spine span {
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border:3px solid #fff;
  border-radius:50%;
  background:#a65765;
  color:#fff;
  box-shadow:0 0 0 1px rgba(164,78,94,.17);
  font-size:7.5px;
  font-weight:900;
}
.bible-empire-title {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-right:12px;
  border-right:1px solid rgba(82,69,76,.07);
}
.bible-empire-title small {
  color:#a15b68;
  font-size:8px;
  font-weight:850;
}
.bible-empire-title strong {
  margin:3px 0 5px;
  color:#392f33;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  font-weight:600;
}
.bible-empire-title em {
  width:max-content;
  max-width:100%;
  padding:4px 6px;
  border-radius:999px;
  background:#f7edef;
  color:#94505d;
  font-size:7.8px;
  font-style:normal;
  font-weight:750;
}
.bible-empire-body {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(185px,.55fr);
  align-items:center;
  gap:16px;
}
.bible-empire-body > p {
  margin:0;
  color:#74696e;
  font-size:10.3px;
  line-height:1.55;
}
.bible-empire-body > div {
  padding:9px 10px;
  border-radius:9px;
  background:#f8f5f4;
}
.bible-empire-body span {
  display:block;
  margin-bottom:3px;
  color:#9b8f94;
  font-size:7px;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.bible-empire-body b {
  color:#51454a;
  font-size:8.8px;
  line-height:1.4;
}
.bible-empires-summary {
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:12px;
  align-items:start;
  margin-top:12px;
  padding:12px 14px;
  border-radius:12px;
  background:#493c41;
  color:#fff;
}
.bible-empires-summary > span {
  color:#dfbdc4;
  font-size:8px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.bible-empires-summary p {
  margin:0;
  color:#e5dcdf;
  font-size:9.8px;
  line-height:1.55;
}
.bible-empires-summary b { color:#fff; }

/* Ressources cartographiques */
.bible-resource-group--maps {
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(82,69,76,.07);
}
.bible-resource-grid--maps {
  grid-template-columns:repeat(2,minmax(0,1fr));
}

/* Footer de boussole réduit à son seul rôle de navigation */
.bible-compass-end {
  justify-content:flex-end;
}

@media (max-width:700px) {
  .bible-chrono-reading-key li {
    grid-template-columns:62px minmax(0,1fr);
    padding:7px 8px;
  }
  .bible-space-guide { padding:10px; border-radius:14px; }
  .bible-space-guide-head {
    grid-template-columns:1fr;
    gap:4px;
    margin-bottom:10px;
    padding-bottom:10px;
  }
  .bible-space-guide-head > span { grid-row:auto; }
  .bible-space-guide-head strong { font-size:16px; }
  .bible-space-guide-head p { font-size:10px; }
  .bible-space-diagram {
    grid-template-columns:1fr;
    grid-template-areas:"center" "west" "east" "south";
    gap:7px;
  }
  .bible-space-zone,
  .bible-space-zone--center,
  .bible-space-zone--south {
    width:100%;
    min-height:0;
    padding:12px;
  }
  .bible-space-zone > strong { font-size:16px; }
  .bible-space-connector { display:none; }
  .bible-space-center-axis { margin-top:8px; }

  .bible-map-label {
    max-width:110px;
    padding:2px 4px;
    font-size:8.5px;
  }

  .bible-empires-track {
    overflow-x:auto;
    justify-content:flex-start;
    scrollbar-width:none;
  }
  .bible-empires-track::-webkit-scrollbar { display:none; }
  .bible-empires-track > span { flex:0 0 auto; }
  .bible-empires-track > i { flex:0 0 auto; }
  .bible-empire-card {
    grid-template-columns:34px minmax(0,1fr);
    gap:8px;
    padding:10px 10px 10px 0;
  }
  .bible-empires-timeline::before { left:16px; }
  .bible-empire-spine span { width:27px; height:27px; }
  .bible-empire-title {
    padding-right:0;
    border-right:0;
  }
  .bible-empire-title strong { font-size:17px; }
  .bible-empire-body {
    grid-column:2;
    grid-template-columns:1fr;
    gap:7px;
  }
  .bible-empire-body > p { font-size:9.8px; }
  .bible-empires-summary {
    grid-template-columns:1fr;
    gap:5px;
  }
  .bible-resource-grid--maps { grid-template-columns:1fr; }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V12 — périodes, questions et histoire du livre
   ========================================================== */

.bible-books-tabs {
  width:100%;
  display:flex;
  flex-wrap:wrap;
}
.bible-books-tabs button {
  flex:0 1 auto;
}

.bible-books-importance-legend {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:-4px;
  padding:9px 12px;
  border-top:1px solid rgba(82,69,76,.07);
  border-bottom:1px solid rgba(82,69,76,.07);
  color:#786d72;
}
.bible-books-importance-legend > span {
  display:flex;
  align-items:center;
  gap:6px;
  font-size:9.5px;
}
.bible-books-importance-legend i {
  color:#a65765;
  font-size:11px;
  font-style:normal;
}
.bible-books-importance-legend b {
  color:#66585e;
  font-size:9.5px;
}
.bible-books-importance-legend small {
  color:#9a8e93;
  font-size:8.5px;
  line-height:1.4;
  text-align:right;
}

.bible-book-chip {
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.bible-book-chip--major {
  border-color:rgba(164,78,94,.16);
  background:#fff6f8;
  color:#884753;
  font-weight:780;
}
.bible-book-chip--major:hover,
.bible-book-chip--major:focus-visible {
  border-color:rgba(164,78,94,.34);
  background:#fff0f3;
}
.bible-book-chip-star {
  color:#aa5968;
  font-size:8.5px;
  font-style:normal;
  line-height:1;
}

.bible-book-title-row {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
}
.bible-book-importance {
  padding:5px 8px;
  border:1px solid rgba(164,78,94,.14);
  border-radius:999px;
  background:#fff2f4;
  color:#9b4f5d;
  font-size:8px;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.bible-book-history {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.bible-book-history section {
  min-width:0;
  padding:12px 13px;
  border:1px solid rgba(82,69,76,.075);
  border-radius:11px;
  background:#faf8f7;
}
.bible-book-history section:first-child {
  border-left:2px solid rgba(164,78,94,.30);
}
.bible-book-history section:last-child {
  border-left:2px solid rgba(96,111,142,.24);
}
.bible-book-history span {
  display:block;
  margin-bottom:5px;
  color:#9a5361;
  font-size:7.8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.bible-book-history section:last-child span {
  color:#667594;
}
.bible-book-history p {
  margin:0;
  color:#70666a;
  font-size:10.7px;
  line-height:1.55;
}
.bible-book-history-note {
  margin:-8px 2px 0;
  color:#9b9094;
  font-size:8.5px;
  line-height:1.45;
  font-style:italic;
}

/* Les vues par période et par question peuvent comporter davantage de familles :
   elles restent compactes grâce aux accordéons fermés. */
.bible-book-cluster-head strong {
  font-size:16.5px;
}
.bible-book-cluster-head small {
  max-width:680px;
}

@media (max-width:700px) {
  .bible-books-tabs {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px;
  }
  .bible-books-tabs button {
    width:100%;
    padding:9px 8px;
    font-size:10.5px;
    text-align:center;
  }
  .bible-books-importance-legend {
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
    padding:8px 2px;
  }
  .bible-books-importance-legend small {
    font-size:8px;
    text-align:left;
  }
  .bible-book-history {
    grid-template-columns:1fr;
    gap:6px;
  }
  .bible-book-history section {
    padding:10px 11px;
  }
  .bible-book-history p {
    font-size:10px;
    line-height:1.5;
  }
  .bible-book-history-note {
    margin-top:-6px;
    font-size:8px;
  }
  .bible-book-title-row {
    gap:6px;
  }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V13 — carte du monde biblique améliorée
   ========================================================== */

.bible-space-layout {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(250px,.75fr);
  gap:16px;
  align-items:start;
}

.bible-space-map-shell {
  min-width:0;
  padding:14px;
  border:1px solid rgba(82,69,76,.08);
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#fbf8f8);
  box-shadow:0 10px 28px rgba(54,39,45,.04);
}

.bible-space-toolbar {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:12px;
}
.bible-space-toolbar button {
  padding:8px 11px;
  border:1px solid rgba(82,69,76,.10);
  border-radius:999px;
  background:#fff;
  color:#6d6267;
  font-size:10px;
  font-weight:700;
  line-height:1.2;
  transition:border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease;
}
.bible-space-toolbar button:hover,
.bible-space-toolbar button:focus-visible {
  border-color:rgba(166,87,101,.22);
  background:#fff7f8;
  color:#8f4a58;
  outline:none;
}
.bible-space-toolbar button.is-active {
  border-color:rgba(166,87,101,.28);
  background:#a65765;
  color:#fff;
}

.bible-schematic-map {
  position:relative;
  overflow:hidden;
  min-height:510px;
  border:1px solid rgba(82,69,76,.09);
  border-radius:18px;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.95), rgba(255,255,255,.7) 40%, transparent 63%),
    linear-gradient(180deg,#ecf6fb 0%,#f4f8fb 26%,#f8f5f1 74%,#fbf9f9 100%);
}
.bible-schematic-map-svg {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.bible-schematic-sea { fill:rgba(142,198,228,.28); }
.bible-schematic-land { fill:rgba(233,220,193,.75); stroke:rgba(142,118,89,.24); stroke-width:2; }
.bible-schematic-egypt { fill:rgba(233,213,181,.84); stroke:rgba(142,118,89,.18); stroke-width:2; }
.bible-schematic-east { fill:rgba(225,214,192,.72); stroke:rgba(142,118,89,.18); stroke-width:2; }

.bible-route {
  fill:none;
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.35;
  transition:opacity .22s ease, stroke-width .22s ease, filter .22s ease;
}
.bible-route--patriarches { stroke:#8d58b2; }
.bible-route--exode { stroke:#c6803d; }
.bible-route--exil { stroke:#3f6da4; }
.bible-route--paul { stroke:#b34f67; }

.bible-route-node {
  opacity:.35;
  transition:opacity .22s ease, r .22s ease;
}
.bible-route-node--patriarches { fill:#8d58b2; }
.bible-route-node--exode { fill:#c6803d; }
.bible-route-node--exil { fill:#3f6da4; }
.bible-route-node--paul { fill:#b34f67; }

.bible-schematic-map[data-active-route="all"] .bible-route,
.bible-schematic-map[data-active-route="all"] .bible-route-node {
  opacity:.78;
}
.bible-schematic-map[data-active-route="patriarches"] .bible-route--patriarches,
.bible-schematic-map[data-active-route="patriarches"] .bible-route-node--patriarches,
.bible-schematic-map[data-active-route="exode"] .bible-route--exode,
.bible-schematic-map[data-active-route="exode"] .bible-route-node--exode,
.bible-schematic-map[data-active-route="exil"] .bible-route--exil,
.bible-schematic-map[data-active-route="exil"] .bible-route-node--exil,
.bible-schematic-map[data-active-route="paul"] .bible-route--paul,
.bible-schematic-map[data-active-route="paul"] .bible-route-node--paul {
  opacity:1;
  filter:drop-shadow(0 0 10px rgba(255,255,255,.75));
}
.bible-schematic-map[data-active-route="patriarches"] .bible-route--patriarches,
.bible-schematic-map[data-active-route="exode"] .bible-route--exode,
.bible-schematic-map[data-active-route="exil"] .bible-route--exil,
.bible-schematic-map[data-active-route="paul"] .bible-route--paul {
  stroke-width:7;
}
.bible-schematic-map[data-active-route="patriarches"] .bible-route:not(.bible-route--patriarches),
.bible-schematic-map[data-active-route="exode"] .bible-route:not(.bible-route--exode),
.bible-schematic-map[data-active-route="exil"] .bible-route:not(.bible-route--exil),
.bible-schematic-map[data-active-route="paul"] .bible-route:not(.bible-route--paul),
.bible-schematic-map[data-active-route="patriarches"] .bible-route-node:not(.bible-route-node--patriarches),
.bible-schematic-map[data-active-route="exode"] .bible-route-node:not(.bible-route-node--exode),
.bible-schematic-map[data-active-route="exil"] .bible-route-node:not(.bible-route-node--exil),
.bible-schematic-map[data-active-route="paul"] .bible-route-node:not(.bible-route-node--paul) {
  opacity:.10;
}

.bible-map-region {
  position:absolute;
  z-index:2;
  padding:10px 11px;
  border:1px solid rgba(82,69,76,.10);
  border-radius:13px;
  background:rgba(255,255,255,.84);
  backdrop-filter:blur(4px);
  box-shadow:0 8px 22px rgba(54,39,45,.05);
}
.bible-map-region span {
  display:block;
  margin-bottom:4px;
  color:#a15b68;
  font-size:7.8px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.bible-map-region strong {
  display:block;
  color:#3f3438;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  font-weight:600;
  line-height:1.12;
}
.bible-map-region small {
  display:block;
  margin-top:4px;
  color:#84797e;
  font-size:9px;
  line-height:1.35;
}
.bible-map-region--sea { left:26px; top:148px; width:185px; }
.bible-map-region--center { left:340px; top:174px; width:196px; }
.bible-map-region--east { right:26px; top:126px; width:180px; }
.bible-map-region--southwest { left:180px; bottom:28px; width:195px; }

.bible-map-city {
  position:absolute;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0;
  border:0;
  background:transparent;
  color:#3f3438;
  font-size:10px;
  font-weight:700;
  line-height:1.1;
  text-align:left;
}
.bible-map-city i {
  display:block;
  flex:0 0 8px;
  width:8px;
  height:8px;
  border:2px solid #fff;
  border-radius:50%;
  background:#1d1d1f;
  box-shadow:0 0 0 1px rgba(29,29,31,.08);
}
.bible-map-city span {
  padding:2px 6px;
  border-radius:999px;
  background:rgba(255,255,255,.80);
  box-shadow:0 2px 8px rgba(42,30,35,.05);
}
.bible-map-city:hover span,
.bible-map-city:focus-visible span {
  background:#fff;
  color:#8f4a58;
  outline:none;
}
.bible-map-city--rome { left:84px; top:86px; }
.bible-map-city--athens { left:205px; top:140px; }
.bible-map-city--ephesus { left:330px; top:145px; }
.bible-map-city--antioch { left:560px; top:132px; }
.bible-map-city--damascus { left:522px; top:182px; }
.bible-map-city--nazareth { left:436px; top:205px; }
.bible-map-city--samaria { left:426px; top:236px; }
.bible-map-city--jerusalem { left:448px; top:262px; }
.bible-map-city--sinai { left:370px; top:347px; }
.bible-map-city--alexandria { left:240px; top:352px; }
.bible-map-city--egypt { left:258px; top:383px; }
.bible-map-city--harran { left:654px; top:132px; }
.bible-map-city--babylon { left:708px; top:236px; }
.bible-map-city--nineveh { left:724px; top:157px; }
.bible-map-city--ur { left:737px; top:278px; }

.bible-space-legend {
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin-top:11px;
  color:#766b70;
  font-size:9px;
}
.bible-space-legend span {
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.bible-space-legend i {
  display:block;
  width:14px;
  height:8px;
  border-radius:999px;
}
.bible-space-legend .is-bible {
  width:10px;
  height:10px;
  border-radius:50%;
  background:#1d1d1f;
}
.bible-space-legend .is-world {
  width:10px;
  height:10px;
  border:2px solid #fff;
  border-radius:50%;
  background:#1d1d1f;
  box-shadow:0 0 0 1px rgba(29,29,31,.10);
}
.bible-space-legend .is-line.is-patriarches { background:#8d58b2; }
.bible-space-legend .is-line.is-exode { background:#c6803d; }
.bible-space-legend .is-line.is-exil { background:#3f6da4; }
.bible-space-legend .is-line.is-paul { background:#b34f67; }

.bible-space-reading {
  display:grid;
  gap:10px;
}
.bible-space-reading-block {
  padding:13px 14px;
  border:1px solid rgba(82,69,76,.08);
  border-radius:15px;
  background:#fff;
}
.bible-space-reading-block span {
  display:block;
  margin-bottom:5px;
  color:#a15b68;
  font-size:8px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.bible-space-reading-block strong {
  display:block;
  color:#41363a;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  font-weight:600;
  line-height:1.2;
}
.bible-space-reading-block p {
  margin:6px 0 0;
  color:#756a6f;
  font-size:10.4px;
  line-height:1.55;
}

.bible-space-route-cards {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
.bible-space-route-cards article {
  padding:12px 13px;
  border:1px solid rgba(82,69,76,.08);
  border-radius:14px;
  background:#fff;
  opacity:.72;
  transition:border-color .2s ease, box-shadow .2s ease, opacity .2s ease, transform .2s ease;
}
.bible-space-route-cards article.is-active {
  border-color:rgba(166,87,101,.18);
  box-shadow:0 8px 22px rgba(54,39,45,.05);
  opacity:1;
  transform:translateY(-1px);
}
.bible-space-route-cards span {
  display:block;
  margin-bottom:5px;
  color:#a15b68;
  font-size:8px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.bible-space-route-cards strong {
  display:block;
  color:#403539;
  font-size:11px;
  line-height:1.35;
}
.bible-space-route-cards p {
  margin:5px 0 0;
  color:#7a6f74;
  font-size:9.7px;
  line-height:1.5;
}

@media (max-width:900px) {
  .bible-space-layout {
    grid-template-columns:1fr;
  }
  .bible-space-reading {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .bible-space-route-cards {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .bible-space-route-cards article:first-child {
    grid-column:1/-1;
  }
}

@media (max-width:700px) {
  .bible-space-map-shell {
    padding:10px;
    border-radius:14px;
  }
  .bible-space-toolbar {
    gap:5px;
    margin-bottom:9px;
  }
  .bible-space-toolbar button {
    padding:7px 9px;
    font-size:9px;
  }
  .bible-schematic-map {
    min-height:680px;
    border-radius:14px;
    background:
      linear-gradient(180deg,#eef7fb 0%,#f7f9fb 32%,#faf7f2 72%,#fbf9f9 100%);
  }
  .bible-map-region {
    padding:8px 9px;
    border-radius:11px;
  }
  .bible-map-region strong {
    font-size:14px;
  }
  .bible-map-region small {
    font-size:8.4px;
  }
  .bible-map-region--sea { left:10px; top:16px; width:155px; }
  .bible-map-region--center { left:166px; top:128px; width:145px; }
  .bible-map-region--east { right:10px; top:16px; width:150px; }
  .bible-map-region--southwest { left:86px; bottom:16px; width:170px; }

  .bible-map-city {
    gap:4px;
    font-size:8.4px;
  }
  .bible-map-city span {
    padding:2px 5px;
  }
  .bible-map-city i {
    flex-basis:7px;
    width:7px;
    height:7px;
  }
  .bible-map-city--rome { left:28px; top:84px; }
  .bible-map-city--athens { left:97px; top:112px; }
  .bible-map-city--ephesus { left:156px; top:132px; }
  .bible-map-city--antioch { left:220px; top:113px; }
  .bible-map-city--damascus { left:227px; top:181px; }
  .bible-map-city--nazareth { left:189px; top:236px; }
  .bible-map-city--samaria { left:180px; top:268px; }
  .bible-map-city--jerusalem { left:196px; top:304px; }
  .bible-map-city--sinai { left:150px; top:434px; }
  .bible-map-city--alexandria { left:80px; top:468px; }
  .bible-map-city--egypt { left:84px; top:508px; }
  .bible-map-city--harran { left:255px; top:88px; }
  .bible-map-city--babylon { left:290px; top:248px; }
  .bible-map-city--nineveh { left:284px; top:154px; }
  .bible-map-city--ur { left:299px; top:318px; }

  .bible-space-legend {
    gap:6px 10px;
    font-size:8px;
  }
  .bible-space-reading {
    grid-template-columns:1fr;
  }
  .bible-space-reading-block {
    padding:11px 12px;
    border-radius:12px;
  }
  .bible-space-reading-block strong {
    font-size:14px;
  }
  .bible-space-reading-block p {
    font-size:10px;
  }
  .bible-space-route-cards {
    grid-template-columns:1fr;
  }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V14 — Ressources de référence
   Une logique de répertoire, et non une succession de cartes identiques.
   ========================================================== */

.bible-resources-v14 .bible-compass-section-head {
  margin-bottom:24px;
}

.bible-resource-directory {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
  margin-bottom:22px;
  padding:7px;
  border:1px solid rgba(82,69,76,.08);
  border-radius:16px;
  background:#f8f6f5;
}
.bible-resource-directory a {
  display:grid;
  grid-template-columns:22px 34px minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-width:0;
  padding:10px 9px;
  border-radius:11px;
  color:#50454a;
  text-decoration:none;
  transition:background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.bible-resource-directory a:hover,
.bible-resource-directory a:focus-visible {
  background:#fff;
  box-shadow:0 6px 16px rgba(54,39,45,.045);
  outline:none;
  transform:translateY(-1px);
}
.bible-resource-directory > a > span {
  color:#ad7680;
  font-size:8px;
  font-weight:900;
}
.bible-resource-directory i {
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border-radius:9px;
  background:#fff;
  color:#9c5361;
  font-style:normal;
}
.bible-resource-directory svg {
  width:17px;
  height:17px;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bible-resource-directory div {
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
}
.bible-resource-directory strong {
  font-size:10.5px;
}
.bible-resource-directory small {
  overflow:hidden;
  color:#94898d;
  font-size:8px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bible-resource-sections {
  display:grid;
  gap:14px;
}

.bible-resource-shelf {
  scroll-margin-top:105px;
  overflow:hidden;
  border:1px solid rgba(82,69,76,.085);
  border-radius:18px;
  background:#fff;
}
.bible-resource-shelf-head {
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:13px;
  align-items:start;
  padding:17px 18px 15px;
  border-bottom:1px solid rgba(82,69,76,.07);
  background:linear-gradient(180deg,#fbf9f8,#fff);
}
.bible-resource-shelf-num {
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  border-radius:11px;
  background:#f5eaec;
  color:#9c5361;
  font-size:9px;
  font-weight:900;
}
.bible-resource-shelf-head small {
  display:block;
  margin-bottom:2px;
  color:#a35b68;
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.bible-resource-shelf-head h3 {
  margin:0;
  color:#3a3034;
  font-family:Georgia,"Times New Roman",serif;
  font-size:21px;
  font-weight:600;
  line-height:1.15;
}
.bible-resource-shelf-head p {
  margin:4px 0 0;
  max-width:760px;
  color:#81767b;
  font-size:10px;
  line-height:1.5;
}

/* 01 — lignes éditoriales compactes */
.bible-resource-rows {
  display:grid;
}
.bible-resource-row {
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto 18px;
  align-items:center;
  gap:11px;
  padding:13px 18px;
  color:inherit;
  text-decoration:none;
  transition:background .18s ease;
}
.bible-resource-row + .bible-resource-row {
  border-top:1px solid rgba(82,69,76,.065);
}
.bible-resource-row:hover,
.bible-resource-row:focus-visible {
  background:#fdf9fa;
  outline:none;
}
.bible-resource-row img {
  width:24px;
  height:24px;
  border-radius:5px;
}
.bible-resource-row div strong {
  display:block;
  color:#483c41;
  font-size:11px;
}
.bible-resource-row div p {
  margin:2px 0 0;
  color:#82777c;
  font-size:9.4px;
  line-height:1.4;
}
.bible-resource-row > span {
  padding:5px 8px;
  border-radius:999px;
  background:#f6f2f1;
  color:#8e747b;
  font-size:7.8px;
  font-weight:800;
  white-space:nowrap;
}
.bible-resource-row > b {
  color:#ac6d79;
  font-size:12px;
}

/* 02 — deux outils principaux */
.bible-resource-study-pair {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.bible-resource-study-card {
  display:grid;
  min-height:160px;
  padding:17px 18px;
  color:inherit;
  text-decoration:none;
  transition:background .18s ease;
}
.bible-resource-study-card + .bible-resource-study-card {
  border-left:1px solid rgba(82,69,76,.07);
}
.bible-resource-study-card:hover,
.bible-resource-study-card:focus-visible {
  background:#fcf9fa;
  outline:none;
}
.bible-resource-card-type {
  align-self:start;
  margin-bottom:10px;
  color:#a25a67;
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.bible-resource-card-name {
  display:flex;
  align-items:center;
  gap:9px;
}
.bible-resource-card-name img {
  flex:0 0 auto;
  border-radius:5px;
}
.bible-resource-card-name strong {
  color:#403539;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  font-weight:600;
}
.bible-resource-study-card p {
  margin:8px 0 14px;
  color:#776c71;
  font-size:10px;
  line-height:1.55;
}
.bible-resource-open {
  align-self:end;
  color:#98505e;
  font-size:9px;
  font-weight:800;
}
.bible-resource-open b {
  margin-left:3px;
}

/* 03 — section iconographique volontairement plus forte */
.bible-resource-shelf--images {
  border-color:rgba(164,78,94,.14);
  background:#fcfaf9;
}
.bible-iconography-featured {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  background:rgba(82,69,76,.07);
}
.bible-iconography-card {
  color:inherit;
  text-decoration:none;
}
.bible-iconography-card--featured {
  display:flex;
  min-height:230px;
  flex-direction:column;
  padding:18px;
  background:#fff;
  transition:background .2s ease,transform .2s ease;
}
.bible-iconography-card--featured:hover,
.bible-iconography-card--featured:focus-visible {
  z-index:1;
  background:#fff8fa;
  outline:none;
}
.bible-iconography-card-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:15px;
}
.bible-iconography-card-top > span {
  color:#9f5361;
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.bible-iconography-card-top small {
  color:#9b9094;
  font-size:7.5px;
  text-align:right;
}
.bible-iconography-card--featured .bible-resource-card-name strong {
  font-size:17px;
  line-height:1.2;
}
.bible-iconography-card--featured > p {
  margin:12px 0 16px;
  color:#756a6f;
  font-size:10px;
  line-height:1.6;
}
.bible-iconography-card--featured .bible-resource-open {
  margin-top:auto;
}

.bible-iconography-secondary {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid rgba(82,69,76,.07);
  background:#fff;
}
.bible-iconography-secondary > a {
  display:grid;
  grid-template-columns:26px minmax(0,1fr) 18px;
  align-items:center;
  gap:10px;
  padding:14px 18px;
  color:inherit;
  text-decoration:none;
  transition:background .18s ease;
}
.bible-iconography-secondary > a + a {
  border-left:1px solid rgba(82,69,76,.07);
}
.bible-iconography-secondary > a:hover,
.bible-iconography-secondary > a:focus-visible {
  background:#fbf8f7;
  outline:none;
}
.bible-iconography-secondary img {
  border-radius:5px;
}
.bible-iconography-secondary strong {
  display:block;
  color:#463a3f;
  font-size:11px;
}
.bible-iconography-secondary p {
  margin:2px 0 0;
  color:#82777c;
  font-size:9px;
  line-height:1.4;
}
.bible-iconography-secondary > a > b {
  color:#ad707b;
  font-size:11px;
}

/* 04 — cartes comme deux boutons de destination */
.bible-resource-map-links {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:14px;
}
.bible-resource-map-links > a {
  position:relative;
  display:grid;
  gap:7px;
  min-height:130px;
  padding:14px 42px 14px 15px;
  border:1px solid rgba(82,69,76,.08);
  border-radius:13px;
  background:#faf8f7;
  color:inherit;
  text-decoration:none;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.bible-resource-map-links > a:hover,
.bible-resource-map-links > a:focus-visible {
  border-color:rgba(164,78,94,.16);
  background:#fffafb;
  outline:none;
  transform:translateY(-1px);
}
.bible-resource-map-links > a > span {
  color:#a25a67;
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.bible-resource-map-links > a > div {
  display:flex;
  align-items:center;
  gap:8px;
}
.bible-resource-map-links strong {
  color:#43373c;
  font-family:Georgia,"Times New Roman",serif;
  font-size:15px;
  font-weight:600;
}
.bible-resource-map-links p {
  margin:0;
  color:#80757a;
  font-size:9.5px;
  line-height:1.45;
}
.bible-resource-map-links > a > b {
  position:absolute;
  top:50%;
  right:17px;
  color:#ad6e7a;
  transform:translateY(-50%);
}

/* 05 — deux parcours numérotés A/B */
.bible-resource-paths {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:rgba(82,69,76,.07);
}
.bible-resource-paths > a {
  position:relative;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:8px 12px;
  min-height:170px;
  padding:17px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:background .18s ease;
}
.bible-resource-paths > a:hover,
.bible-resource-paths > a:focus-visible {
  background:#fcf9fa;
  outline:none;
}
.bible-resource-path-index {
  grid-row:1/4;
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border-radius:50%;
  background:#493c41;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:12px;
}
.bible-resource-paths .bible-resource-card-name {
  align-self:center;
}
.bible-resource-paths p {
  grid-column:2;
  margin:0;
  color:#796e73;
  font-size:10px;
  line-height:1.55;
}
.bible-resource-paths > a > span {
  grid-column:2;
  align-self:end;
  color:#99515f;
  font-size:9px;
  font-weight:800;
}

@media (max-width:900px) {
  .bible-resource-directory {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .bible-resource-directory a:nth-child(4),
  .bible-resource-directory a:nth-child(5) {
    grid-column:auto;
  }
  .bible-iconography-featured {
    grid-template-columns:1fr;
  }
  .bible-iconography-card--featured {
    min-height:0;
  }
  .bible-iconography-card--featured + .bible-iconography-card--featured {
    border-top:1px solid rgba(82,69,76,.07);
  }
}

@media (max-width:700px) {
  .bible-resource-directory {
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:5px;
  }
  .bible-resource-directory a {
    grid-template-columns:28px minmax(0,1fr);
    gap:7px;
    padding:8px;
  }
  .bible-resource-directory > a > span {
    display:none;
  }
  .bible-resource-directory i {
    width:28px;
    height:28px;
  }
  .bible-resource-directory svg {
    width:15px;
    height:15px;
  }
  .bible-resource-directory a:last-child {
    grid-column:1/-1;
  }

  .bible-resource-shelf {
    border-radius:14px;
  }
  .bible-resource-shelf-head {
    grid-template-columns:34px minmax(0,1fr);
    gap:10px;
    padding:13px;
  }
  .bible-resource-shelf-num {
    width:31px;
    height:31px;
    border-radius:9px;
    font-size:8px;
  }
  .bible-resource-shelf-head h3 {
    font-size:18px;
  }
  .bible-resource-shelf-head p {
    font-size:9px;
  }

  .bible-resource-row {
    grid-template-columns:24px minmax(0,1fr) 14px;
    gap:9px;
    padding:11px 13px;
  }
  .bible-resource-row > span {
    display:none;
  }
  .bible-resource-row div strong {
    font-size:10.5px;
  }
  .bible-resource-row div p {
    font-size:8.8px;
  }

  .bible-resource-study-pair,
  .bible-iconography-secondary,
  .bible-resource-map-links,
  .bible-resource-paths {
    grid-template-columns:1fr;
  }
  .bible-resource-study-card + .bible-resource-study-card,
  .bible-iconography-secondary > a + a {
    border-top:1px solid rgba(82,69,76,.07);
    border-left:0;
  }
  .bible-resource-study-card {
    min-height:0;
    padding:14px;
  }

  .bible-iconography-card--featured {
    padding:15px;
  }
  .bible-iconography-card-top {
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
    margin-bottom:11px;
  }
  .bible-iconography-card-top small {
    text-align:left;
  }
  .bible-iconography-card--featured .bible-resource-card-name strong {
    font-size:15px;
  }
  .bible-iconography-card--featured > p {
    margin:9px 0 12px;
    font-size:9.5px;
  }
  .bible-iconography-secondary > a {
    padding:12px 14px;
  }

  .bible-resource-map-links {
    gap:7px;
    padding:10px;
  }
  .bible-resource-map-links > a {
    min-height:0;
  }

  .bible-resource-paths > a {
    min-height:0;
    padding:14px;
  }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V15 — Renforcement de l’onglet Repères
   ========================================================== */

.bible-space-keypoints {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:0 0 16px;
}
.bible-space-keypoints article {
  min-height:112px;
  padding:13px 14px;
  border:1px solid rgba(82,69,76,.08);
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 22px rgba(54,39,45,.03);
}
.bible-space-keypoints span {
  display:inline-grid;
  min-width:24px;
  height:24px;
  place-items:center;
  margin-bottom:8px;
  padding:0 7px;
  border-radius:999px;
  background:#f4e8eb;
  color:#9d5562;
  font-size:7.5px;
  font-weight:900;
}
.bible-space-keypoints strong {
  display:block;
  margin-bottom:5px;
  color:#3c3135;
  font-size:12px;
  line-height:1.3;
}
.bible-space-keypoints p {
  margin:0;
  color:#776c71;
  font-size:9.7px;
  line-height:1.52;
}

.bible-space-toolbar-note {
  margin:0 0 10px;
  color:#81757a;
  font-size:9.4px;
  line-height:1.45;
}

.bible-space-legend {
  display:grid;
  grid-template-columns:auto auto;
  align-items:start;
  gap:10px;
  margin-top:12px;
}
.bible-space-legend-group {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 10px;
  padding:8px 10px;
  border:1px solid rgba(82,69,76,.08);
  border-radius:12px;
  background:#fff;
}
.bible-space-legend-group > strong {
  margin-right:4px;
  color:#4a3e43;
  font-size:8.2px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.bible-space-reading {
  grid-template-columns:1fr;
  gap:10px;
}
.bible-space-reading-block {
  padding:14px 15px;
  border-radius:16px;
  background:#fff;
}
.bible-space-reading-block--main {
  border-color:rgba(166,87,101,.14);
  background:linear-gradient(180deg,#fff7f9,#fff);
  box-shadow:0 10px 24px rgba(91,50,62,.05);
}
.bible-space-reading-block ul {
  display:grid;
  gap:7px;
  margin:8px 0 0;
  padding:0;
  list-style:none;
}
.bible-space-reading-block li {
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:7px;
  align-items:start;
  color:#756a6f;
  font-size:10px;
  line-height:1.5;
}
.bible-space-reading-block li b {
  color:#9f5663;
}

.bible-space-route-cards article {
  position:relative;
  overflow:hidden;
  min-height:118px;
}
.bible-space-route-cards article::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:#e6d3d8;
}
.bible-space-route-cards article.is-active::before,
.bible-space-route-cards article[data-route-card="patriarches"]::before { background:#8d58b2; }
.bible-space-route-cards article[data-route-card="exode"]::before { background:#c6803d; }
.bible-space-route-cards article[data-route-card="exil"]::before { background:#3f6da4; }
.bible-space-route-cards article[data-route-card="paul"]::before { background:#b34f67; }
.bible-space-route-cards article[data-route-card="all"]::before { background:#ba8591; }
.bible-space-route-cards article strong {
  font-size:11.4px;
}
.bible-space-route-cards article p b {
  color:#5e5056;
}

@media (max-width:900px) {
  .bible-space-keypoints {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .bible-space-legend {
    grid-template-columns:1fr;
  }
}

@media (max-width:700px) {
  .bible-space-keypoints {
    grid-template-columns:1fr;
    gap:7px;
    margin-bottom:12px;
  }
  .bible-space-keypoints article {
    min-height:0;
    padding:11px 12px;
    border-radius:12px;
  }
  .bible-space-keypoints strong {
    font-size:11px;
  }
  .bible-space-keypoints p {
    font-size:9.4px;
  }
  .bible-space-toolbar-note {
    margin-bottom:8px;
    font-size:9px;
  }
  .bible-space-legend-group {
    gap:7px 9px;
    padding:8px 9px;
    border-radius:11px;
  }
  .bible-space-reading-block {
    padding:12px;
    border-radius:13px;
  }
  .bible-space-reading-block li {
    font-size:9.6px;
  }
  .bible-space-route-cards article {
    min-height:0;
    padding:11px 12px 11px 14px;
  }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V16 — carte plus sobre + ressources compactes
   ========================================================== */

/* Carte du monde biblique : on retire les repères introductifs ajoutés en V15 */
.bible-space-toolbar-note { margin:0 0 10px; color:#81757a; font-size:9.4px; line-height:1.45; }
.bible-space-legend-group > strong:first-child { letter-spacing:.08em; }

/* Ressources : version plus minimaliste et plus lisible */
.bible-resources-v16 .bible-compass-section-head p {
  max-width:860px;
}
.bible-resource-directory { display:none !important; }
.bible-resource-sections { display:none !important; }
.bible-resource-compact-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.bible-resource-compact-card {
  padding:16px 16px 14px;
  border:1px solid rgba(82,69,76,.08);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(57,43,49,.03);
}
.bible-resource-compact-card header {
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:10px;
  align-items:start;
  margin-bottom:12px;
}
.bible-resource-compact-num {
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  border-radius:12px;
  background:#f7edef;
  color:#9b5563;
  font-size:11px;
  font-weight:900;
}
.bible-resource-compact-card header small {
  display:block;
  margin-bottom:3px;
  color:#a05a68;
  font-size:8.4px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.bible-resource-compact-card header h3 {
  margin:0;
  color:#3f3438;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
  font-weight:600;
  line-height:1.15;
}
.bible-resource-compact-list {
  display:grid;
  gap:7px;
  margin:0;
  padding:0;
  list-style:none;
}
.bible-resource-compact-list li a {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:start;
  padding:10px 11px;
  border:1px solid rgba(82,69,76,.07);
  border-radius:12px;
  background:#fcfbfb;
  color:inherit;
  text-decoration:none;
  transition:border-color .18s ease, background .18s ease, transform .18s ease;
}
.bible-resource-compact-list li a:hover,
.bible-resource-compact-list li a:focus-visible {
  border-color:rgba(164,78,94,.18);
  background:#fff7f9;
  outline:none;
  transform:translateY(-1px);
}
.bible-resource-compact-list strong {
  display:block;
  margin-bottom:3px;
  color:#4a3e43;
  font-size:12.2px;
  line-height:1.35;
}
.bible-resource-compact-list p {
  margin:0;
  color:#7f7479;
  font-size:10.2px;
  line-height:1.5;
}
.bible-resource-compact-list b {
  align-self:center;
  color:#a15a67;
  font-size:12px;
}
.bible-resource-compact-list li.is-priority a {
  border-color:rgba(164,78,94,.14);
  background:linear-gradient(180deg,#fffafc,#fff);
}
.bible-resource-compact-list li.is-priority strong::before {
  content:"★ ";
  color:#b46875;
}

@media (max-width: 760px) {
  .bible-resource-compact-grid {
    grid-template-columns:1fr;
    gap:10px;
  }
  .bible-resource-compact-card {
    padding:13px;
    border-radius:14px;
  }
  .bible-resource-compact-card header {
    grid-template-columns:34px minmax(0,1fr);
    gap:9px;
    margin-bottom:10px;
  }
  .bible-resource-compact-num {
    width:34px;
    height:34px;
    border-radius:10px;
    font-size:10.5px;
  }
  .bible-resource-compact-card header h3 {
    font-size:16px;
  }
  .bible-resource-compact-list li a {
    padding:9px 10px;
  }
  .bible-resource-compact-list strong {
    font-size:11.4px;
  }
  .bible-resource-compact-list p {
    font-size:9.6px;
  }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V17 — ressources refondues + cartes sans schéma simple
   ========================================================== */
.bible-map-tabs {
  grid-template-columns:repeat(2,minmax(0,1fr));
}

/* Ressources de référence : refonte visuelle complète */
.bible-resource-featured {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.bible-resource-featured-card {
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:146px;
  padding:16px 18px 18px;
  border:1px solid rgba(164,78,94,.12);
  border-radius:18px;
  background:linear-gradient(180deg,#fff8fa 0%, #ffffff 100%);
  box-shadow:0 10px 26px rgba(58,43,49,.04);
  color:inherit;
  text-decoration:none;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.bible-resource-featured-card:hover,
.bible-resource-featured-card:focus-visible {
  transform:translateY(-2px);
  border-color:rgba(164,78,94,.24);
  box-shadow:0 14px 30px rgba(58,43,49,.08);
  outline:none;
}
.bible-resource-featured-tag {
  display:inline-flex;
  width:max-content;
  margin-bottom:10px;
  padding:4px 8px;
  border-radius:999px;
  background:#f6eaee;
  color:#9b5563;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.bible-resource-featured-card strong {
  display:block;
  margin-bottom:6px;
  color:#45383d;
  font-family:Georgia, "Times New Roman", serif;
  font-size:20px;
  line-height:1.15;
}
.bible-resource-featured-card p {
  margin:0;
  color:#766a70;
  font-size:11px;
  line-height:1.56;
}
.bible-resource-featured-card b {
  position:absolute;
  top:16px;
  right:16px;
  color:#a05b69;
  font-size:14px;
}

.bible-resource-groups {
  display:grid;
  gap:12px;
  margin-top:18px;
}
.bible-resource-group {
  border:1px solid rgba(82,69,76,.08);
  border-radius:18px;
  background:#fff;
  overflow:hidden;
}
.bible-resource-group summary {
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:16px 18px;
  cursor:pointer;
  list-style:none;
}
.bible-resource-group summary::-webkit-details-marker { display:none; }
.bible-resource-group summary::after {
  content:"+";
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#f5eef1;
  color:#975562;
  font-size:16px;
  font-weight:700;
}
.bible-resource-group[open] summary::after { content:"–"; }
.bible-resource-group-num {
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border-radius:14px;
  background:#f7edef;
  color:#9b5563;
  font-size:12px;
  font-weight:900;
}
.bible-resource-group-headline small {
  display:block;
  margin-bottom:4px;
  color:#a05a68;
  font-size:8.8px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.bible-resource-group-headline strong {
  display:block;
  color:#40353a;
  font-family:Georgia, "Times New Roman", serif;
  font-size:19px;
  line-height:1.15;
}
.bible-resource-group-headline p {
  margin:5px 0 0;
  color:#786d72;
  font-size:10.7px;
  line-height:1.5;
}
.bible-resource-group-count {
  margin-right:8px;
  padding:6px 10px;
  border-radius:999px;
  background:#f7f3f4;
  color:#8f7e84;
  font-size:9.6px;
  font-weight:700;
  white-space:nowrap;
}
.bible-resource-group-body {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:0 18px 18px;
}
.bible-resource-group-body a {
  display:flex;
  flex-direction:column;
  gap:6px;
  min-height:118px;
  padding:14px 15px;
  border:1px solid rgba(82,69,76,.07);
  border-radius:14px;
  background:#fcfbfb;
  color:inherit;
  text-decoration:none;
  transition:border-color .18s ease, background .18s ease, transform .18s ease;
}
.bible-resource-group-body a:hover,
.bible-resource-group-body a:focus-visible {
  border-color:rgba(164,78,94,.2);
  background:#fff8fa;
  transform:translateY(-1px);
  outline:none;
}
.bible-resource-group-body strong {
  color:#493d42;
  font-size:13.4px;
  line-height:1.4;
}
.bible-resource-group-body p {
  margin:0;
  color:#786d72;
  font-size:10.6px;
  line-height:1.55;
}
.bible-resource-group-body span {
  margin-top:auto;
  color:#a05b69;
  font-size:9.2px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

@media (max-width: 980px) {
  .bible-resource-featured {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 760px) {
  .bible-resource-featured {
    grid-template-columns:1fr;
    gap:10px;
  }
  .bible-resource-featured-card {
    min-height:0;
    padding:14px 15px 16px;
    border-radius:16px;
  }
  .bible-resource-featured-card strong { font-size:18px; }
  .bible-resource-featured-card p { font-size:10.2px; }

  .bible-resource-group {
    border-radius:16px;
  }
  .bible-resource-group summary {
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:10px;
    padding:14px;
  }
  .bible-resource-group-num {
    width:38px; height:38px; border-radius:12px; font-size:11px;
  }
  .bible-resource-group-headline strong { font-size:17px; }
  .bible-resource-group-headline p { font-size:10px; }
  .bible-resource-group-count {
    display:none;
  }
  .bible-resource-group-body {
    grid-template-columns:1fr;
    gap:8px;
    padding:0 14px 14px;
  }
  .bible-resource-group-body a {
    min-height:0;
    padding:12px 13px;
  }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V18 — favicons et pictogrammes ressources
   ========================================================== */
.bible-resource-featured-topline {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.bible-resource-featured-kind {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-width:0;
  color:#7f5a64;
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.bible-resource-featured-kind-icon {
  width:24px;
  height:24px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:#f6eaee;
  color:#a05b69;
  flex:0 0 auto;
}
.bible-resource-featured-kind-icon svg {
  width:14px;
  height:14px;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bible-resource-featured-favicon {
  width:20px;
  height:20px;
  border-radius:6px;
  box-shadow:0 0 0 1px rgba(82,69,76,.08);
  background:#fff;
  flex:0 0 auto;
}
.bible-resource-featured-tag {
  margin-top:0;
}
@media (max-width: 760px) {
  .bible-resource-featured-topline {
    margin-bottom:8px;
  }
  .bible-resource-featured-kind {
    font-size:9.5px;
  }
  .bible-resource-featured-kind-icon {
    width:22px;
    height:22px;
  }
  .bible-resource-featured-favicon {
    width:18px;
    height:18px;
  }
}


/* V19 — ressources plus compactes + icônes d’accordéons */
.bible-resource-featured-card {
  min-height: 120px;
  padding: 14px 16px 16px;
}
.bible-resource-featured-topline { margin-bottom: 8px; }
.bible-resource-featured-card strong {
  margin-bottom: 5px;
  font-size: 18px;
}
.bible-resource-featured-card p {
  font-size: 10.5px;
  line-height: 1.5;
}
.bible-resource-groups {
  gap: 10px;
  margin-top: 14px;
}
.bible-resource-group summary {
  grid-template-columns: 40px 34px minmax(0,1fr) auto;
  gap: 12px;
  padding: 13px 16px;
}
.bible-resource-group-num {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  font-size: 11px;
}
.bible-resource-group-icon {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  align-self: center;
  border-radius: 10px;
  background: #fcf4f6;
  color: #a05b69;
  box-shadow: inset 0 0 0 1px rgba(164,78,94,.10);
}
.bible-resource-group-icon svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.bible-resource-group-headline small {
  margin-bottom: 3px;
  font-size: 8.4px;
}
.bible-resource-group-headline strong {
  font-size: 17px;
}
.bible-resource-group-headline p {
  margin-top: 4px;
  font-size: 10.1px;
  line-height: 1.45;
}
.bible-resource-group-count {
  margin-right: 2px;
  padding: 5px 9px;
  font-size: 9px;
}
.bible-resource-group-body {
  gap: 8px;
  padding: 0 16px 16px;
}
.bible-resource-group-body a {
  min-height: 0;
  gap: 5px;
  padding: 12px 13px;
}
.bible-resource-group-body strong { font-size: 12.6px; }
.bible-resource-group-body p { font-size: 10px; line-height: 1.47; }
.bible-resource-group-body span { font-size: 8.8px; }

@media (max-width: 760px) {
  .bible-resource-featured-card {
    padding: 13px 14px 14px;
  }
  .bible-resource-group summary {
    grid-template-columns: 34px 30px minmax(0,1fr) auto;
    gap: 9px;
    padding: 12px 13px;
  }
  .bible-resource-group-num {
    width: 34px;
    height: 34px;
    border-radius: 11px;
    font-size: 10px;
  }
  .bible-resource-group-icon {
    width: 30px;
    height: 30px;
    border-radius: 9px;
  }
  .bible-resource-group-icon svg {
    width: 16px;
    height: 16px;
  }
  .bible-resource-group-headline strong {
    font-size: 15.8px;
  }
  .bible-resource-group-headline p {
    font-size: 9.7px;
  }
  .bible-resource-group-body {
    padding: 0 13px 13px;
  }
  .bible-resource-group-body a {
    padding: 11px 12px;
  }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V20 — ressources réellement compactes
   ========================================================== */

/* Les quatre portes d'entrée prennent moins de hauteur. */
.bible-resource-featured {
  gap:9px;
  margin-top:13px;
}
.bible-resource-featured-card {
  min-height:96px;
  padding:11px 13px 12px;
  border-radius:14px;
}
.bible-resource-featured-topline {
  margin-bottom:5px;
}
.bible-resource-featured-kind {
  gap:5px;
  font-size:8.5px;
}
.bible-resource-featured-kind-icon {
  width:20px;
  height:20px;
}
.bible-resource-featured-kind-icon svg {
  width:12px;
  height:12px;
}
.bible-resource-featured-favicon {
  width:17px;
  height:17px;
  border-radius:5px;
}
.bible-resource-featured-card strong {
  margin-bottom:3px;
  padding-right:16px;
  font-size:15.5px;
  line-height:1.15;
}
.bible-resource-featured-card p {
  font-size:9.4px;
  line-height:1.4;
}
.bible-resource-featured-card > b {
  top:auto;
  right:12px;
  bottom:10px;
  font-size:11px;
}

/* Les accordéons fermés deviennent de vraies lignes de navigation. */
.bible-resource-groups {
  gap:6px;
  margin-top:11px;
}
.bible-resource-group {
  border-radius:12px;
  box-shadow:none;
}
.bible-resource-group summary {
  grid-template-columns:27px 26px minmax(0,1fr) auto;
  gap:8px;
  min-height:46px;
  padding:7px 10px;
  transition:background .24s ease,border-color .24s ease;
}
.bible-resource-group summary:hover {
  background:#fdf9fa;
}
.bible-resource-group summary::after {
  width:21px;
  height:21px;
  font-size:13px;
  transition:transform .30s cubic-bezier(.22,.75,.2,1),background .2s ease;
}
.bible-resource-group[open] summary::after {
  transform:rotate(180deg);
}
.bible-resource-group-num {
  width:27px;
  height:27px;
  border-radius:8px;
  font-size:8.5px;
}
.bible-resource-group-icon {
  width:26px;
  height:26px;
  border-radius:8px;
}
.bible-resource-group-icon svg {
  width:14px;
  height:14px;
}
.bible-resource-group-headline {
  min-width:0;
}
.bible-resource-group-headline strong {
  overflow:hidden;
  color:#43383c;
  font-family:Georgia,"Times New Roman",serif;
  font-size:14px;
  font-weight:600;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.bible-resource-group-count {
  margin:0 3px 0 0;
  padding:3px 7px;
  font-size:8px;
}

/* À l'ouverture, on garde tout le contenu mais sous forme de lignes, pas de grosses cartes. */
.bible-resource-group-body {
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  padding:0 10px 8px;
}
.bible-resource-group-intro {
  margin:0;
  padding:5px 5px 8px 61px;
  color:#94888d;
  font-size:8.8px;
  line-height:1.4;
}
.bible-resource-group-body a {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:2px 10px;
  min-height:0;
  padding:8px 8px 8px 61px;
  border:0;
  border-top:1px solid rgba(82,69,76,.065);
  border-radius:0;
  background:transparent;
  transform:none;
}
.bible-resource-group-body a:hover,
.bible-resource-group-body a:focus-visible {
  border-color:rgba(82,69,76,.065);
  background:#fdf9fa;
  transform:none;
}
.bible-resource-group-body strong {
  grid-column:1;
  font-size:11px;
  line-height:1.35;
}
.bible-resource-group-body p {
  grid-column:1;
  font-size:9.2px;
  line-height:1.42;
}
.bible-resource-group-body span {
  grid-column:2;
  grid-row:1/3;
  align-self:center;
  margin:0;
  font-size:7.8px;
  white-space:nowrap;
}

/* Le panneau animé ne doit pas être coupé pendant la transition. */
.bible-resource-group-body {
  will-change:height,opacity,transform;
}

@media (max-width:760px) {
  .bible-resource-featured {
    gap:6px;
  }
  .bible-resource-featured-card {
    min-height:0;
    padding:10px 11px;
    border-radius:12px;
  }
  .bible-resource-featured-card strong {
    font-size:14px;
  }
  .bible-resource-featured-card p {
    font-size:9px;
  }

  .bible-resource-group summary {
    grid-template-columns:24px 24px minmax(0,1fr) auto;
    gap:7px;
    min-height:42px;
    padding:6px 8px;
  }
  .bible-resource-group-num {
    width:24px;
    height:24px;
    font-size:8px;
  }
  .bible-resource-group-icon {
    width:24px;
    height:24px;
  }
  .bible-resource-group-icon svg {
    width:13px;
    height:13px;
  }
  .bible-resource-group-headline strong {
    font-size:12.8px;
  }
  .bible-resource-group-count {
    display:block;
    padding:2px 5px;
    font-size:7.5px;
  }
  .bible-resource-group summary::after {
    width:19px;
    height:19px;
    font-size:12px;
  }
  .bible-resource-group-body {
    padding:0 8px 6px;
  }
  .bible-resource-group-intro {
    padding:4px 4px 6px 55px;
    font-size:8.3px;
  }
  .bible-resource-group-body a {
    padding:7px 5px 7px 55px;
  }
  .bible-resource-group-body strong {
    font-size:10.4px;
  }
  .bible-resource-group-body p {
    font-size:8.8px;
  }
  .bible-resource-group-body span {
    display:none;
  }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V21 — accordéons compacts + glossaire
   ========================================================== */

/* Le + faisait office de 5e élément sans colonne dédiée :
   on lui réserve maintenant explicitement sa place. */
.bible-resource-group summary {
  grid-template-columns:27px 26px minmax(0,1fr) auto 21px;
}
.bible-resource-group summary::after {
  grid-column:5;
  justify-self:end;
  align-self:center;
  margin:0;
}
.bible-resource-group-count {
  grid-column:4;
  justify-self:end;
}

/* Encore un peu plus compact lorsque le groupe est fermé. */
.bible-resource-group:not([open]) summary {
  min-height:42px;
  padding-top:5px;
  padding-bottom:5px;
}
.bible-resource-group:not([open]) .bible-resource-group-num {
  width:25px;
  height:25px;
}
.bible-resource-group:not([open]) .bible-resource-group-icon {
  width:24px;
  height:24px;
}
.bible-resource-group:not([open]) .bible-resource-group-icon svg {
  width:13px;
  height:13px;
}

/* Glossaire express */
.bible-glossary-section {
  position:relative;
}
.bible-glossary-section .bible-compass-section-head {
  margin-bottom:14px;
}
.bible-glossary-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.bible-glossary-grid article {
  min-width:0;
  padding:11px 12px;
  border:1px solid rgba(82,69,76,.075);
  border-radius:12px;
  background:#fff;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.bible-glossary-grid article:hover {
  border-color:rgba(164,78,94,.16);
  background:#fffafb;
  transform:translateY(-1px);
}
.bible-glossary-grid strong {
  display:block;
  margin-bottom:4px;
  color:#463a3f;
  font-family:Georgia,"Times New Roman",serif;
  font-size:13.5px;
  font-weight:600;
  line-height:1.2;
}
.bible-glossary-grid p {
  margin:0;
  color:#7c7176;
  font-size:9.4px;
  line-height:1.48;
}
.bible-glossary-grid em {
  color:#5d4f55;
}

@media (max-width:900px) {
  .bible-glossary-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px) {
  .bible-resource-group summary {
    grid-template-columns:24px 24px minmax(0,1fr) auto 19px;
  }
  .bible-resource-group summary::after {
    grid-column:5;
  }
  .bible-resource-group-count {
    grid-column:4;
  }

  .bible-glossary-grid {
    grid-template-columns:1fr;
    gap:5px;
  }
  .bible-glossary-grid article {
    padding:9px 10px;
    border-radius:10px;
  }
  .bible-glossary-grid strong {
    font-size:12.5px;
  }
  .bible-glossary-grid p {
    font-size:9px;
  }
}

/* ==========================================================
   BOUSSOLE BIBLIQUE V22 — glossaire approfondi + favicons
   ========================================================== */

/* Six entrées dans la navigation interne. */
.bible-compass-jump {
  grid-template-columns:repeat(6,minmax(0,1fr));
  width:min(1040px,calc(100% - 24px));
}
.bible-compass-jump a {
  grid-template-columns:21px 31px minmax(0,1fr);
  gap:7px;
  padding:9px 8px;
}
.bible-jump-icon { width:31px; height:31px; }
.bible-jump-icon svg { width:16px; height:16px; }

/* Favicons des sites : alignés sous la colonne des numéros. */
.bible-resource-group-body a {
  grid-template-columns:27px 26px minmax(0,1fr) auto;
  gap:2px 8px;
  padding:8px 8px;
}
.bible-resource-site-favicon {
  grid-column:1;
  grid-row:1/3;
  align-self:center;
  justify-self:center;
  width:18px;
  height:18px;
  border-radius:5px;
  background:#fff;
  box-shadow:0 0 0 1px rgba(82,69,76,.09);
  object-fit:contain;
}
.bible-resource-group-body strong { grid-column:3; grid-row:1; }
.bible-resource-group-body p { grid-column:3; grid-row:2; }
.bible-resource-group-body span { grid-column:4; grid-row:1/3; }
.bible-resource-group-intro { padding-left:69px; }

/* Glossaire approfondi */
.bible-deep-glossary {
  position:relative;
  margin-top:16px;
  padding:17px;
  border:1px solid rgba(82,69,76,.09);
  border-radius:18px;
  background:linear-gradient(180deg,#fbf8f9 0%,#fff 34%);
  box-shadow:0 12px 30px rgba(57,43,49,.035);
}
.bible-deep-glossary-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:12px;
}
.bible-deep-glossary-head > div > span {
  display:block;
  margin-bottom:4px;
  color:#a05b68;
  font-size:8px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.bible-deep-glossary-head h3 {
  margin:0;
  color:#3c3135;
  font-family:Georgia,"Times New Roman",serif;
  font-size:21px;
  font-weight:500;
}
.bible-deep-glossary-head h3 strong { font-weight:700; }
.bible-deep-glossary-head p {
  margin:5px 0 0;
  max-width:690px;
  color:#81757a;
  font-size:10px;
  line-height:1.5;
}
.bible-deep-glossary-count {
  flex:0 0 auto;
  padding:5px 8px;
  border-radius:999px;
  background:#f5eaed;
  color:#98606b;
  font-size:8px;
  font-weight:800;
}
.bible-deep-glossary-search {
  position:relative;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  min-height:48px;
  border:1px solid rgba(82,69,76,.12);
  border-radius:13px;
  background:#fff;
  box-shadow:0 7px 20px rgba(56,45,51,.035);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.bible-deep-glossary-search:focus-within {
  border-color:rgba(164,78,94,.30);
  box-shadow:0 0 0 3px rgba(164,78,94,.055),0 8px 22px rgba(56,45,51,.04);
}
.bible-deep-glossary-search > span { display:grid; place-items:center; color:#9c6671; }
.bible-deep-glossary-search svg { width:17px; height:17px; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; }
.bible-deep-glossary-search input {
  width:100%; min-width:0; padding:12px 4px 12px 0; border:0; outline:0; background:transparent;
  color:#4d4146; font:inherit; font-size:12px;
}
.bible-deep-glossary-search input::placeholder { color:#a4979c; }
.bible-deep-glossary-search kbd {
  margin-right:10px; padding:4px 7px; border:1px solid rgba(82,69,76,.08); border-radius:7px;
  background:#f8f5f5; color:#9c8e93; font-family:inherit; font-size:8px;
}
.bible-deep-glossary-results {
  position:absolute;
  z-index:20;
  top:131px;
  left:17px;
  right:17px;
  overflow:auto;
  max-height:310px;
  padding:5px;
  border:1px solid rgba(82,69,76,.10);
  border-radius:12px;
  background:rgba(255,255,255,.98);
  box-shadow:0 18px 40px rgba(50,35,42,.12);
  backdrop-filter:blur(8px);
}
.bible-deep-glossary-results button {
  display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; padding:9px 10px;
  border:0; border-radius:8px; background:transparent; color:inherit; cursor:pointer; text-align:left;
}
.bible-deep-glossary-results button:hover,.bible-deep-glossary-results button.is-active { background:#f9eff2; }
.bible-deep-glossary-results button span { display:grid; gap:1px; }
.bible-deep-glossary-results strong { color:#4a3d42; font-size:10.5px; }
.bible-deep-glossary-results small { color:#998c91; font-size:8px; }
.bible-deep-glossary-results i { color:#a15a67; font-size:10px; font-style:normal; }
.bible-glossary-no-result { padding:12px; color:#8c7f84; font-size:9.5px; }
.bible-deep-glossary-starters { display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin-top:8px; }
.bible-deep-glossary-starters > span { margin-right:3px; color:#9a8d92; font-size:8px; }
.bible-deep-glossary-starters button {
  padding:5px 8px; border:1px solid rgba(82,69,76,.08); border-radius:999px; background:#fff;
  color:#725f66; cursor:pointer; font:inherit; font-size:8px;
}
.bible-deep-glossary-starters button:hover,.bible-deep-glossary-starters button:focus-visible {
  border-color:rgba(164,78,94,.19); background:#fff5f7; color:#95505d; outline:none;
}
.bible-deep-glossary-detail {
  min-height:105px; margin-top:11px; padding:15px; border:1px solid rgba(82,69,76,.075);
  border-radius:14px; background:#fff;
}
.bible-deep-glossary-empty { display:flex; align-items:center; gap:12px; min-height:72px; }
.bible-deep-glossary-empty > span {
  display:grid; width:42px; height:42px; flex:0 0 42px; place-items:center; border-radius:12px;
  background:#f6eaed; color:#a05b68; font-family:Georgia,"Times New Roman",serif; font-size:14px;
}
.bible-deep-glossary-empty strong { display:block; color:#4d4045; font-size:11px; }
.bible-deep-glossary-empty p { margin:3px 0 0; color:#8c7f84; font-size:9.5px; line-height:1.5; }
.bible-deep-glossary-content header { margin-bottom:10px; padding-bottom:10px; border-bottom:1px solid rgba(82,69,76,.065); }
.bible-deep-glossary-content header span,.bible-deep-glossary-meta span,.bible-deep-glossary-related > span {
  display:block; margin-bottom:4px; color:#9e5a67; font-size:7.5px; font-weight:900; letter-spacing:.08em; text-transform:uppercase;
}
.bible-deep-glossary-content h4 {
  margin:0; color:#382e32; font-family:Georgia,"Times New Roman",serif; font-size:25px; font-weight:600; line-height:1.1;
}
.bible-deep-glossary-content header small { display:block; margin-top:5px; color:#978a8f; font-size:8.8px; }
.bible-deep-glossary-definition { margin:0; max-width:900px; color:#5f5358; font-size:11.5px; line-height:1.68; }
.bible-deep-glossary-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:12px; }
.bible-deep-glossary-meta section { padding:10px 11px; border-radius:10px; background:#f9f6f5; }
.bible-deep-glossary-meta p { margin:0; color:#766a6f; font-size:9.2px; line-height:1.48; }
.bible-deep-glossary-related { display:grid; grid-template-columns:95px minmax(0,1fr); gap:8px; align-items:center; margin-top:10px; }
.bible-deep-glossary-related > span { margin:0; }
.bible-deep-glossary-related > div { display:flex; flex-wrap:wrap; gap:5px; }
.bible-deep-glossary-related button {
  padding:4px 7px; border:0; border-radius:999px; background:#f6edef; color:#85545e; cursor:pointer; font:inherit; font-size:8px;
}
.bible-deep-glossary-related button:hover,.bible-deep-glossary-related button:focus-visible { background:#eedde1; outline:none; }
.bible-deep-glossary-note { margin:9px 2px 0; color:#9a8e92; font-size:8px; line-height:1.45; }

@media (max-width:900px) {
  .bible-compass-jump { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .bible-deep-glossary-meta { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .bible-compass-jump { display:flex; width:100%; }
  .bible-compass-jump a { min-width:142px; }
  .bible-deep-glossary { padding:12px; border-radius:14px; }
  .bible-deep-glossary-head h3 { font-size:18px; }
  .bible-deep-glossary-count { display:none; }
  .bible-deep-glossary-search { min-height:44px; grid-template-columns:31px minmax(0,1fr); }
  .bible-deep-glossary-search kbd { display:none; }
  .bible-deep-glossary-results { top:120px; left:12px; right:12px; }
  .bible-deep-glossary-detail { padding:12px; }
  .bible-deep-glossary-content h4 { font-size:21px; }
  .bible-deep-glossary-definition { font-size:10.5px; }
  .bible-deep-glossary-related { grid-template-columns:1fr; }
  .bible-resource-group-body a { grid-template-columns:24px 24px minmax(0,1fr); gap:2px 7px; padding:7px 5px; }
  .bible-resource-site-favicon { width:17px; height:17px; }
  .bible-resource-group-body strong,.bible-resource-group-body p { grid-column:3; }
  .bible-resource-group-body span { display:none; }
  .bible-resource-group-intro { padding-left:55px; }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V23 — ressources : favicons corrigés
   ========================================================== */

/* On force un empilement vertical simple et robuste. */
.bible-resource-group-body {
  display:flex;
  flex-direction:column;
  gap:0;
}

/* Chaque ligne retrouve la structure précédente ; le favicon
   est séparé du flux de texte pour éviter les bugs d'affichage. */
.bible-resource-group-body a {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:2px 10px;
  min-height:0;
  padding:8px 8px 8px 61px;
  border:0;
  border-top:1px solid rgba(82,69,76,.065);
  border-radius:0;
  background:transparent;
  color:inherit;
  text-decoration:none;
  transform:none;
}
.bible-resource-group-body a:hover,
.bible-resource-group-body a:focus-visible {
  border-color:rgba(82,69,76,.065);
  background:#fdf9fa;
  transform:none;
  outline:none;
}
.bible-resource-site-favicon {
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  border-radius:5px;
  background:#fff;
  box-shadow:0 0 0 1px rgba(82,69,76,.09);
  object-fit:contain;
}
.bible-resource-group-body strong {
  grid-column:1;
  grid-row:1;
  min-width:0;
  color:#493d42;
  font-size:11px;
  line-height:1.35;
}
.bible-resource-group-body p {
  grid-column:1;
  grid-row:2;
  margin:0;
  min-width:0;
  color:#786d72;
  font-size:9.2px;
  line-height:1.42;
}
.bible-resource-group-body span {
  grid-column:2;
  grid-row:1/3;
  align-self:center;
  margin:0;
  white-space:nowrap;
}
.bible-resource-group-intro {
  padding:5px 5px 8px 61px;
}

@media (max-width:600px) {
  .bible-resource-group-body a {
    padding:7px 5px 7px 51px;
    gap:2px 7px;
  }
  .bible-resource-site-favicon {
    left:13px;
    width:17px;
    height:17px;
  }
  .bible-resource-group-intro {
    padding-left:51px;
  }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V24 — favicons stables + glossaire vide
   ========================================================== */
.bible-resource-group-body {
  display:flex;
  flex-direction:column;
  gap:0;
}
.bible-resource-group-body a {
  display:grid;
  grid-template-columns:26px minmax(0,1fr) auto;
  align-items:center;
  column-gap:12px;
  row-gap:2px;
  padding:10px 8px;
  border:0;
  border-top:1px solid rgba(82,69,76,.065);
  border-radius:0;
  background:transparent;
  color:inherit;
  text-decoration:none;
  transform:none;
}
.bible-resource-group-body a:hover,
.bible-resource-group-body a:focus-visible {
  background:#fdf9fa;
  border-color:rgba(82,69,76,.065);
  transform:none;
  outline:none;
}
.bible-resource-site-icon {
  grid-column:1;
  grid-row:1 / span 2;
  align-self:center;
  justify-self:center;
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
}
.bible-resource-site-favicon {
  position:static !important;
  transform:none !important;
  display:block;
  width:18px;
  height:18px;
  border-radius:5px;
  background:#fff;
  box-shadow:0 0 0 1px rgba(82,69,76,.09);
  object-fit:contain;
}
.bible-resource-site-main {
  grid-column:2;
  display:grid;
  gap:2px;
  min-width:0;
}
.bible-resource-site-main strong {
  display:block;
  min-width:0;
  color:#493d42;
  font-size:11px;
  line-height:1.35;
}
.bible-resource-site-main p {
  margin:0;
  min-width:0;
  color:#786d72;
  font-size:9.2px;
  line-height:1.42;
}
.bible-resource-site-badge {
  grid-column:3;
  grid-row:1 / span 2;
  align-self:center;
  white-space:nowrap;
}
.bible-resource-group-intro { padding:5px 5px 8px 0; }

/* Glossaire approfondi : pas de bloc vide ni de kbd affiché. */
.bible-deep-glossary-search kbd { display:none !important; }
.bible-deep-glossary-empty[hidden] { display:none !important; }
.bible-deep-glossary-detail:has(.bible-deep-glossary-content[hidden]) {
  min-height:0;
}

@media (max-width:600px) {
  .bible-resource-group-body a {
    grid-template-columns:24px minmax(0,1fr);
    padding:9px 5px;
    column-gap:10px;
  }
  .bible-resource-site-icon {
    width:18px;
    height:18px;
    grid-row:1;
  }
  .bible-resource-site-favicon {
    width:16px;
    height:16px;
  }
  .bible-resource-site-main {
    grid-column:2;
  }
  .bible-resource-site-badge {
    grid-column:2;
    grid-row:auto;
    justify-self:end;
    margin-top:2px;
  }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V25 — correction propre des favicons
   ========================================================== */
.bible-resource-group-body a {
  grid-template-columns: 28px minmax(0,1fr) auto !important;
  grid-template-areas: "icon main badge" !important;
  align-items: start !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  padding: 10px 8px !important;
}
.bible-resource-group-body a > .bible-resource-site-icon,
.bible-resource-group-body a > .bible-resource-site-main,
.bible-resource-group-body a > .bible-resource-site-badge {
  grid-column: auto !important;
  grid-row: auto !important;
}
.bible-resource-group-body a > .bible-resource-site-icon {
  grid-area: icon !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  width: 28px !important;
  min-width: 28px !important;
  padding-top: 2px !important;
}
.bible-resource-group-body a > .bible-resource-site-icon .bible-resource-site-favicon {
  position: static !important;
  display: block !important;
  flex: 0 0 auto;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
}
.bible-resource-group-body a > .bible-resource-site-main {
  grid-area: main !important;
  display: block !important;
  min-width: 0 !important;
}
.bible-resource-group-body a > .bible-resource-site-main > strong,
.bible-resource-group-body a > .bible-resource-site-main > p {
  display: block !important;
}
.bible-resource-group-body a > .bible-resource-site-main > strong {
  margin: 0 0 3px !important;
  color: #493d42 !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}
.bible-resource-group-body a > .bible-resource-site-main > p {
  margin: 0 !important;
  color: #786d72 !important;
  font-size: 9.2px !important;
  line-height: 1.42 !important;
}
.bible-resource-group-body a > .bible-resource-site-badge {
  grid-area: badge !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-self: end !important;
  align-self: start !important;
  white-space: nowrap !important;
  margin-top: 1px !important;
}

@media (max-width: 600px) {
  .bible-resource-group-body a {
    grid-template-columns: 24px minmax(0,1fr) auto !important;
    column-gap: 10px !important;
    padding: 9px 5px !important;
  }
  .bible-resource-group-body a > .bible-resource-site-icon {
    width: 24px !important;
    min-width: 24px !important;
  }
  .bible-resource-group-body a > .bible-resource-site-icon .bible-resource-site-favicon {
    width: 16px !important;
    height: 16px !important;
  }
  .bible-resource-group-body a > .bible-resource-site-main > strong {
    font-size: 10.4px !important;
  }
  .bible-resource-group-body a > .bible-resource-site-main > p {
    font-size: 8.8px !important;
  }
  .bible-resource-group-body a > .bible-resource-site-badge {
    display: inline-flex !important;
    font-size: 8px !important;
  }
}

/* V26 — résultat du glossaire seulement lorsqu'une recherche existe */
.bible-deep-glossary-detail[hidden] { display:none !important; }


/* ==========================================================
   BOUSSOLE BIBLIQUE V27 — dictionnaire Gallica + films & séries
   ========================================================== */
.bible-resource-media-meta {
  display:block;
  margin:1px 0 3px;
  color:#a05b68;
  font-size:8.1px;
  font-weight:750;
  line-height:1.35;
}
.bible-resource-media-group .bible-resource-group-body a {
  min-height:0;
}
.bible-resource-media-group .bible-resource-site-main strong {
  margin-bottom:1px !important;
}
.bible-resource-media-group .bible-resource-site-main p {
  max-width:780px;
}
@media (max-width:600px) {
  .bible-resource-media-meta {
    font-size:7.8px;
  }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V28 — Films / séries + Dictionnaire
   ========================================================== */
.bible-resource-media-divider {
  display:grid;
  grid-template-columns:16px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  margin:8px 0 0;
  padding:9px 8px 7px;
  border-top:1px solid rgba(82,69,76,.09);
  color:#493d42;
}
.bible-resource-media-divider:first-of-type {
  margin-top:2px;
}
.bible-resource-media-divider > span {
  color:#b65f70;
  font-size:8px;
  line-height:1;
}
.bible-resource-media-divider strong {
  font-family:Georgia,serif;
  font-size:12px;
  line-height:1.2;
}
.bible-resource-media-divider small {
  color:#95878d;
  font-size:8px;
  font-weight:700;
  letter-spacing:.02em;
}
.bible-resource-media-star {
  color:#b65f70;
  font-size:11px;
  line-height:1;
}
.bible-resource-media-top {
  background:linear-gradient(90deg,rgba(182,95,112,.045),transparent 55%) !important;
}
.bible-resource-media-type {
  min-width:112px;
  text-align:right;
  font-weight:800 !important;
  letter-spacing:.025em;
}
.bible-resource-media-meta {
  display:block;
  margin:1px 0 3px;
  color:#9c6974;
  font-size:8.1px;
  font-weight:720;
  line-height:1.35;
}
@media (max-width:600px) {
  .bible-resource-media-divider {
    grid-template-columns:14px minmax(0,1fr) auto;
    padding:8px 5px 6px;
  }
  .bible-resource-media-type {
    min-width:0;
    font-size:7.7px !important;
  }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V29 — hero Raphaël + livres + mobile
   ========================================================== */

.bible-compass-page,
.bible-compass-main,
.bible-compass-container {
  overflow-x: clip;
}

.bible-compass-hero {
  isolation:isolate;
}
.bible-compass-hero > * {
  position:relative;
  z-index:2;
}
.bible-compass-hero--raphael::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,
      rgba(255,252,251,1) 0%,
      rgba(255,252,251,.98) 34%,
      rgba(255,252,251,.92) 48%,
      rgba(255,252,251,.72) 58%,
      rgba(255,252,251,.36) 72%,
      rgba(255,252,251,.08) 88%,
      rgba(255,252,251,0) 100%),
    url('../images/textes/bible/raphael-god.webp') right center / 48% auto no-repeat;
  pointer-events:none;
}
.bible-compass-hero--raphael::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(246,241,244,.26));
  pointer-events:none;
}

.bible-books-tabs {
  position:relative;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);
  align-items:center;
  gap:16px;
  width:100%;
  max-width:none;
  padding:10px 0;
  border:1px solid rgba(82,69,76,.09);
  border-radius:14px;
  background:#fff;
}
.bible-books-tab-group {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
}
.bible-books-tab-group--left { justify-content:flex-start; }
.bible-books-tab-group--right { justify-content:flex-end; }
.bible-books-tab-divider {
  display:block;
  width:1px;
  align-self:stretch;
  background:linear-gradient(180deg,rgba(82,69,76,.04),rgba(82,69,76,.14),rgba(82,69,76,.04));
}
.bible-books-tabs button {
  flex:0 0 auto;
}

.bible-books-view-note {
  display:grid;
  gap:10px;
}
.bible-books-view-note-legend {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding-top:10px;
  border-top:1px solid rgba(82,69,76,.08);
}
.bible-books-view-note-legend > span {
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  color:#706469;
  font-size:10px;
  line-height:1.45;
}
.bible-books-view-note-legend i {
  color:#a65765;
  font-style:normal;
  font-size:11px;
}
.bible-books-view-note-legend b {
  color:#4f4348;
  font-size:10.2px;
}
.bible-books-view-note-legend small {
  max-width:285px;
  color:#94878d;
  font-size:8.7px;
  line-height:1.45;
  text-align:right;
}
.bible-books-importance-legend {
  display:none !important;
}

.bible-resource-group,
.bible-resource-group-body,
.bible-resource-group-body a,
.bible-resource-site-main,
.bible-resource-site-main p,
.bible-resource-site-main strong {
  min-width:0;
}
.bible-resource-group {
  overflow:hidden;
}
.bible-resource-group-body a {
  width:100%;
  box-sizing:border-box;
}
.bible-resource-site-badge,
.bible-resource-media-type {
  text-align:right;
}

@media (max-width:900px) {
  .bible-compass-hero--raphael::before {
    background:
      linear-gradient(90deg,
        rgba(255,252,251,1) 0%,
        rgba(255,252,251,.99) 38%,
        rgba(255,252,251,.93) 52%,
        rgba(255,252,251,.70) 63%,
        rgba(255,252,251,.22) 82%,
        rgba(255,252,251,0) 100%),
      url('../images/textes/bible/raphael-god.webp') right center / 54% auto no-repeat;
  }
  .bible-books-tabs {
    grid-template-columns:1fr;
    gap:10px;
    padding:10px;
  }
  .bible-books-tab-divider {
    width:auto;
    height:1px;
    background:linear-gradient(90deg,rgba(82,69,76,.04),rgba(82,69,76,.14),rgba(82,69,76,.04));
  }
  .bible-books-tab-group--right {
    justify-content:flex-start;
  }
  .bible-books-view-note-legend {
    flex-direction:column;
    align-items:flex-start;
  }
  .bible-books-view-note-legend small {
    max-width:none;
    text-align:left;
  }
}

@media (max-width:700px) {
  .bible-compass-jump {
    position:static !important;
    top:auto !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    width:100% !important;
    max-width:none !important;
    margin:14px 0 30px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    overflow:visible !important;
  }
  .bible-compass-jump a {
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:22px 24px minmax(0,1fr);
    gap:7px;
    align-items:center;
    padding:9px 9px !important;
    border:1px solid rgba(82,69,76,.09);
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 18px rgba(47,41,46,.05);
  }
  .bible-compass-jump .bible-jump-copy strong {
    font-size:10.5px !important;
    white-space:normal;
  }
  .bible-compass-jump .bible-jump-copy small {
    font-size:8px;
    line-height:1.25;
  }
  .bible-compass-jump a:last-child {
    grid-column:auto !important;
  }

  .bible-compass-hero {
    padding:26px 20px 24px !important;
  }
  .bible-compass-hero h1 {
    max-width:360px;
    font-size:clamp(2rem,8vw,3rem);
  }
  .bible-compass-hero > p {
    max-width:380px;
    margin-top:14px;
  }
  .bible-compass-hero--raphael::before {
    background:
      linear-gradient(90deg,
        rgba(255,252,251,1) 0%,
        rgba(255,252,251,.985) 44%,
        rgba(255,252,251,.88) 58%,
        rgba(255,252,251,.50) 72%,
        rgba(255,252,251,.12) 86%,
        rgba(255,252,251,0) 100%),
      url('../images/textes/bible/raphael-god.webp') right -16px top 6px / 58% auto no-repeat;
  }

  .bible-resource-group summary {
    grid-template-columns:28px 28px minmax(0,1fr) auto auto;
    gap:8px;
  }
  .bible-resource-group-body a {
    grid-template-columns:22px minmax(0,1fr) auto !important;
    column-gap:9px !important;
    padding:9px 4px !important;
  }
  .bible-resource-group-body a > .bible-resource-site-icon {
    width:22px !important;
    min-width:22px !important;
  }
  .bible-resource-group-body a > .bible-resource-site-icon .bible-resource-site-favicon {
    width:15px !important;
    height:15px !important;
  }
  .bible-resource-group-body a > .bible-resource-site-main > strong {
    font-size:10.1px !important;
    line-height:1.32 !important;
  }
  .bible-resource-group-body a > .bible-resource-site-main > p {
    font-size:8.5px !important;
    line-height:1.38 !important;
  }
  .bible-resource-group-body a > .bible-resource-site-badge {
    display:inline-flex !important;
    justify-self:end !important;
    align-self:start !important;
    max-width:86px;
    white-space:normal !important;
    text-align:right !important;
    font-size:7.2px !important;
    line-height:1.2 !important;
  }
  .bible-resource-media-divider {
    grid-template-columns:12px minmax(0,1fr) auto;
  }
}

@media (max-width:560px) {
  .bible-compass-jump {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .bible-compass-hero--raphael::before {
    background:
      linear-gradient(90deg,
        rgba(255,252,251,1) 0%,
        rgba(255,252,251,.99) 50%,
        rgba(255,252,251,.90) 62%,
        rgba(255,252,251,.58) 74%,
        rgba(255,252,251,.20) 88%,
        rgba(255,252,251,0) 100%),
      url('../images/textes/bible/raphael-god.webp') right -34px top 16px / 64% auto no-repeat;
  }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V30 — correctifs finaux
   ========================================================== */

.bible-compass-jump {
  z-index: 3000 !important;
}
.bible-map-switcher,
.bible-map-panel,
.bible-real-map-shell,
.bible-real-map,
.leaflet-container,
.leaflet-pane,
.leaflet-top,
.leaflet-bottom {
  z-index: 1;
}

/* Hero Raphaël : visage et haut du corps visibles, fondu doux vers le texte */
.bible-compass-hero--raphael::before {
  background: url('../images/textes/bible/raphael-god.webp') right -18px top 8px / auto 122% no-repeat !important;
  -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.04) 12%, rgba(0,0,0,.28) 22%, rgba(0,0,0,.68) 32%, rgba(0,0,0,.96) 44%, rgba(0,0,0,1) 100%);
  mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.04) 12%, rgba(0,0,0,.28) 22%, rgba(0,0,0,.68) 32%, rgba(0,0,0,.96) 44%, rgba(0,0,0,1) 100%);
  opacity:.9;
}
.bible-compass-hero--raphael::after {
  background: linear-gradient(90deg,
    rgba(255,252,251,1) 0%,
    rgba(255,252,251,.995) 34%,
    rgba(255,252,251,.97) 47%,
    rgba(255,252,251,.90) 58%,
    rgba(255,252,251,.68) 69%,
    rgba(255,252,251,.34) 82%,
    rgba(255,252,251,.08) 94%,
    rgba(255,252,251,0) 100%) !important;
}
.bible-compass-hero h1,
.bible-compass-hero > p {
  max-width: 640px;
}

/* Livres : bloc d'information plus net */
.bible-books-view-note-legend {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
}
.bible-books-view-note-legend > span {
  min-width:0;
}
.bible-books-view-note-legend small {
  max-width:none;
  white-space:nowrap;
  text-align:right;
}

/* Glossaire / dictionnaire */
.bible-deep-glossary-head p {
  display:none !important;
}
.bible-deep-glossary-note {
  color:#8e8388;
}

/* Recherche chronologique */
.bible-chrono-intro {
  align-items:stretch;
}
.bible-chrono-intro-card {
  min-height:0;
}
.bible-chrono-intro-card p {
  margin-bottom:10px;
}
.bible-chrono-search {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  margin-top:auto;
}
.bible-chrono-search input {
  width:100%;
  min-width:0;
  padding:10px 12px;
  border:1px solid rgba(82,69,76,.11);
  border-radius:10px;
  background:#fff;
  color:#4a3e43;
  font:inherit;
  font-size:10px;
}
.bible-chrono-search input:focus {
  border-color:rgba(164,78,94,.28);
  outline:none;
  box-shadow:0 0 0 4px rgba(164,78,94,.08);
}
.bible-chrono-search button {
  padding:10px 12px;
  border:1px solid rgba(164,78,94,.14);
  border-radius:10px;
  background:#fff6f7;
  color:#9b5360;
  cursor:pointer;
  font:inherit;
  font-size:9.1px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.bible-chrono-search-feedback {
  grid-column:1/-1;
  margin:0;
  color:#8a5d67;
  font-size:8.6px;
  line-height:1.4;
}

/* Ressources */
.bible-resource-media-divider {
  grid-template-columns:14px minmax(0,1fr) auto;
  align-items:center;
}
.bible-resource-media-divider strong,
.bible-resource-media-divider small {
  white-space:nowrap;
}
.bible-resource-media-divider small {
  justify-self:end;
}

@media (max-width:900px) {
  .bible-compass-hero--raphael::before {
    background: url('../images/textes/bible/raphael-god.webp') right -28px top 6px / auto 116% no-repeat !important;
  }
  .bible-books-view-note-legend {
    grid-template-columns:1fr;
    align-items:flex-start;
  }
  .bible-books-view-note-legend small {
    white-space:normal;
    text-align:left;
  }
}

@media (max-width:700px) {
  .bible-compass-jump {
    z-index:3000 !important;
  }
  .bible-compass-hero--raphael::before {
    background: url('../images/textes/bible/raphael-god.webp') right -48px top 8px / auto 100% no-repeat !important;
    opacity:.82;
  }
  .bible-compass-hero--raphael::after {
    background: linear-gradient(90deg,
      rgba(255,252,251,1) 0%,
      rgba(255,252,251,.995) 45%,
      rgba(255,252,251,.97) 57%,
      rgba(255,252,251,.90) 67%,
      rgba(255,252,251,.58) 77%,
      rgba(255,252,251,.18) 90%,
      rgba(255,252,251,0) 100%) !important;
  }
  .bible-chrono-search {
    grid-template-columns:1fr;
  }
  .bible-chrono-search button {
    width:100%;
  }
  .bible-resource-media-divider strong {
    font-size:9px;
  }
}


/* ==========================================================
   BOUSSOLE BIBLIQUE V31 — cadrage Raphaël
   Dieu davantage placé à droite + suppression du jour supérieur
   ========================================================== */

.bible-compass-hero--raphael::before {
  /* L'image dépasse légèrement en haut pour supprimer toute bande claire,
     et elle est décalée vers la droite afin de placer Dieu au cœur
     de la moitié droite du hero plutôt que les animaux. */
  background:
    url('../images/textes/bible/raphael-god.webp')
    right -92px top -10px / auto 128% no-repeat !important;

  /* Fondu progressif : aucune coupure verticale visible à gauche. */
  -webkit-mask-image:
    linear-gradient(
      90deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.02) 10%,
      rgba(0,0,0,.12) 18%,
      rgba(0,0,0,.42) 28%,
      rgba(0,0,0,.76) 38%,
      rgba(0,0,0,.96) 48%,
      rgba(0,0,0,1) 58%,
      rgba(0,0,0,1) 100%
    ) !important;
  mask-image:
    linear-gradient(
      90deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.02) 10%,
      rgba(0,0,0,.12) 18%,
      rgba(0,0,0,.42) 28%,
      rgba(0,0,0,.76) 38%,
      rgba(0,0,0,.96) 48%,
      rgba(0,0,0,1) 58%,
      rgba(0,0,0,1) 100%
    ) !important;
  opacity:.92;
}

.bible-compass-hero--raphael::after {
  /* Le texte reste parfaitement lisible, mais le fondu rejoint
     l'image beaucoup plus naturellement. */
  background:
    linear-gradient(
      90deg,
      rgba(255,252,251,1) 0%,
      rgba(255,252,251,.995) 31%,
      rgba(255,252,251,.97) 42%,
      rgba(255,252,251,.86) 53%,
      rgba(255,252,251,.60) 64%,
      rgba(255,252,251,.27) 76%,
      rgba(255,252,251,.07) 89%,
      rgba(255,252,251,0) 100%
    ) !important;
}

@media (max-width:900px) {
  .bible-compass-hero--raphael::before {
    background:
      url('../images/textes/bible/raphael-god.webp')
      right -78px top -8px / auto 121% no-repeat !important;
  }
}

@media (max-width:700px) {
  .bible-compass-hero--raphael::before {
    background:
      url('../images/textes/bible/raphael-god.webp')
      right -62px top -4px / auto 108% no-repeat !important;
  }
}

@media (max-width:520px) {
  .bible-compass-hero--raphael::before {
    background:
      url('../images/textes/bible/raphael-god.webp')
      right -48px top -2px / auto 103% no-repeat !important;
  }
}


/* ==========================================================
   BOUSSOLE PHILOSOPHIQUE V2 — repères, parcours et filiations
   ========================================================== */

/* Accès depuis le catalogue Philosophie */
.texts-philo-compass-strip {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-top:15px;
  padding:9px 12px;
  border:1px solid rgba(108,99,255,.17);
  border-radius:12px;
  background:rgba(108,99,255,.035);
  color:#5f58d9;
  text-decoration:none;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease;
}
.texts-philo-compass-strip:hover,
.texts-philo-compass-strip:focus-visible {
  border-color:rgba(108,99,255,.32);
  background:rgba(108,99,255,.065);
  box-shadow:0 7px 18px rgba(60,54,130,.055);
  outline:none;
  transform:translateY(-1px);
}
.texts-philo-compass-icon {
  display:grid;
  width:30px;
  height:30px;
  flex:0 0 30px;
  place-items:center;
  border-radius:50%;
  background:rgba(108,99,255,.075);
  color:currentColor;
}
.texts-philo-compass-icon svg {
  width:24px;
  height:24px;
  overflow:visible;
  stroke:currentColor;
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.texts-philo-compass-icon .compass-needle-north { fill:currentColor; fill-opacity:.92; stroke-width:1; }
.texts-philo-compass-icon .compass-needle-south { fill:#fff; fill-opacity:.96; stroke-width:1; }
.texts-philo-compass-text { min-width:0; color:currentColor; font-size:11px; line-height:1.35; text-align:center; }
.texts-philo-compass-text strong { color:currentColor; font-weight:760; }

/* Accès depuis les fiches */
.text-context-compasses {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:8px;
}
.text-context-philo-compass {
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  gap:7px;
  padding:6px 9px 6px 7px;
  border:1px solid rgba(108,99,255,.15);
  border-radius:999px;
  background:rgba(249,249,255,.86);
  color:#5d57cb;
  text-decoration:none;
  line-height:1;
  transition:border-color .18s ease,background .18s ease;
}
.text-context-philo-compass:hover,
.text-context-philo-compass:focus-visible { border-color:rgba(108,99,255,.32); background:#f6f5ff; outline:none; }
.text-context-philo-compass > span:first-child { display:grid; width:18px; height:18px; flex:none; place-items:center; color:#625be1; }
.text-context-philo-compass > span:first-child svg { width:17px; height:17px; stroke:currentColor; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; }
.text-context-philo-compass > span:first-child .compass-needle-north { fill:currentColor; fill-opacity:.92; stroke-width:1; }
.text-context-philo-compass > span:first-child .compass-needle-south { fill:#fff; fill-opacity:.96; stroke-width:1; }
.text-context-philo-compass strong { flex:none; font-size:9.6px; font-weight:800; }
.text-context-philo-compass-meta { overflow:hidden; color:#8d89ae; font-size:9px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.text-context-compasses .text-context-bible-compass { margin-top:0; }

/* Page */
.philo-compass-page {
  --philo-compass:#6c63ff;
  --philo-compass-dark:#5149c7;
  --philo-compass-ink:#302e3b;
  --philo-compass-muted:#777486;
  --philo-compass-line:rgba(71,65,111,.105);
  --philo-compass-wash:#f6f5ff;
  background:#fbfafc;
  overflow-x:clip;
}
.philo-compass-main { padding:94px 0 80px; overflow-x:clip; }
.philo-compass-container { width:min(1080px,calc(100% - 40px)); margin:0 auto; overflow-x:clip; }
.philo-compass-breadcrumb {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 24px;
  color:var(--text-light);
  font-size:11px;
}
.philo-compass-breadcrumb a { color:inherit; text-decoration:none; }
.philo-compass-breadcrumb a:hover { color:var(--philo-compass-dark); }

.philo-compass-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:255px;
  padding:42px 44px 38px;
  border:1px solid rgba(108,99,255,.14);
  border-radius:24px;
  background:linear-gradient(128deg,#fff 0%,#fbfaff 58%,#f1efff 100%);
  box-shadow:0 20px 55px rgba(46,42,82,.075);
}
.philo-compass-hero::before {
  content:"";
  position:absolute;
  z-index:0;
  right:-6px;
  top:-38px;
  width:390px;
  height:430px;
  background:url('../images/socrate-hero-buste.png') right top / contain no-repeat;
  opacity:.20;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.28) 18%,#000 52%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.28) 18%,#000 52%);
  pointer-events:none;
}
.philo-compass-hero::after {
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 34%,rgba(255,255,255,.91) 52%,rgba(255,255,255,.48) 72%,rgba(255,255,255,0) 100%);
  pointer-events:none;
}
.philo-compass-hero-copy { position:relative; z-index:2; max-width:700px; }
.philo-compass-kicker {
  display:block;
  margin-bottom:9px;
  color:var(--philo-compass-dark);
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.philo-compass-hero h1 {
  max-width:680px;
  margin:0;
  color:var(--philo-compass-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,5vw,3.35rem);
  font-weight:500;
  line-height:1.03;
  letter-spacing:-.038em;
}
.philo-compass-hero p {
  max-width:650px;
  margin:17px 0 0;
  color:#6e6b78;
  font-size:14px;
  line-height:1.65;
}
.philo-compass-hero-mark {
  position:absolute;
  z-index:2;
  right:31px;
  bottom:17px;
  color:rgba(77,69,187,.17);
  font-family:Georgia,"Times New Roman",serif;
  font-size:42px;
  line-height:1;
  user-select:none;
}

.philo-compass-jump {
  position:sticky;
  z-index:3000;
  top:76px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:5px;
  width:100%;
  margin:18px auto 44px;
  padding:7px;
  border:1px solid rgba(71,65,111,.09);
  border-radius:14px;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 28px rgba(47,43,70,.075);
  backdrop-filter:blur(14px);
}
.philo-compass-jump a {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:6px;
  align-items:center;
  min-width:0;
  padding:8px 8px;
  border-radius:9px;
  color:#6f6b7d;
  text-decoration:none;
}
.philo-compass-jump a:hover,
.philo-compass-jump a:focus-visible { background:#f3f1ff; color:var(--philo-compass-dark); outline:none; }
.philo-compass-jump a > span {
  grid-row:1/3;
  display:grid;
  width:22px;
  height:22px;
  place-items:center;
  border-radius:7px;
  background:rgba(108,99,255,.07);
  color:#6961db;
  font-size:7px;
  font-weight:900;
}
.philo-compass-jump strong { overflow:hidden; font-size:9.2px; font-weight:800; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.philo-compass-jump small { overflow:hidden; color:#a09cae; font-size:6.8px; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }

.philo-compass-section { scroll-margin-top:145px; margin:0 0 68px; }
.philo-compass-section-head { display:grid; gap:8px; max-width:790px; margin-bottom:22px; }
.philo-compass-section-head > span {
  color:var(--philo-compass-dark);
  font-size:9px;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.philo-compass-section-head h2 {
  margin:0;
  color:var(--philo-compass-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.65rem,3vw,2.25rem);
  font-weight:500;
  letter-spacing:-.025em;
}
.philo-compass-section-head p { margin:0; color:#777381; font-size:12.5px; line-height:1.62; }

/* Chronologie */
.philo-timeline-key {
  display:flex;
  flex-wrap:wrap;
  gap:9px 18px;
  margin:-8px 0 12px;
  color:#888392;
  font-size:8.6px;
}
.philo-timeline-key > span { display:inline-flex; align-items:center; gap:6px; }
.philo-key-dot { width:6px; height:6px; border-radius:50%; background:#6c63ff; }
.philo-key-star { color:#8a6d19; font-size:11px; font-style:normal; line-height:1; }
.philo-time-map { overflow:hidden; border:1px solid var(--philo-compass-line); border-radius:20px; background:#fff; }
.philo-era { display:grid; grid-template-columns:154px minmax(0,1fr); border-bottom:1px solid var(--philo-compass-line); }
.philo-era:last-child { border-bottom:0; }
.philo-era-axis {
  position:relative;
  display:flex;
  min-height:178px;
  flex-direction:column;
  justify-content:space-between;
  padding:24px 22px 22px;
  border-right:1px solid var(--philo-compass-line);
  background:linear-gradient(145deg,#faf9ff,#f7f6fc);
}
.philo-era-axis::after { content:""; position:absolute; right:-4px; top:31px; width:7px; height:7px; border:1px solid rgba(108,99,255,.32); border-radius:50%; background:#fff; box-shadow:0 0 0 4px rgba(108,99,255,.055); }
.philo-era-number { color:#6b64d6; font-size:8px; font-weight:900; letter-spacing:.12em; }
.philo-era-axis time { color:#504a61; font-family:Georgia,"Times New Roman",serif; font-size:13px; line-height:1.35; }
.philo-era-content { min-width:0; padding:22px 24px 20px; }
.philo-era-content header { display:grid; grid-template-columns:minmax(0,.9fr) minmax(260px,1.1fr); gap:24px; align-items:start; }
.philo-era-content header > div > span { color:#7770d6; font-size:7.6px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.philo-era-content h3 { margin:5px 0 0; color:#393542; font-family:Georgia,"Times New Roman",serif; font-size:19px; font-weight:600; line-height:1.18; }
.philo-era-content header p { margin:0; color:#7b7783; font-size:9.8px; line-height:1.58; }
.philo-era-shift { display:flex; gap:7px; align-items:center; width:max-content; max-width:100%; margin-top:12px; padding:5px 8px; border-radius:7px; background:#f6f4ff; color:#827d93; font-size:8px; line-height:1.35; }
.philo-era-shift strong { color:#6159c6; font-size:7.3px; letter-spacing:.07em; text-transform:uppercase; }
.philo-author-row { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.philo-author-chip {
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:5px 8px;
  border:1px solid rgba(71,65,111,.09);
  border-radius:8px;
  background:#fff;
  color:#827d8a;
  font-size:8.4px;
  font-style:normal;
  line-height:1;
  text-decoration:none;
}
a.philo-author-chip:hover { border-color:rgba(108,99,255,.28); background:#f5f3ff; color:#554dc0; }
.philo-author-chip.is-local { padding-left:17px; border-color:rgba(108,99,255,.14); background:#fbfaff; color:#5e57c8; font-weight:750; }
.philo-author-chip.is-local::before { content:""; position:absolute; left:7px; top:50%; width:4px; height:4px; border-radius:50%; background:#6c63ff; transform:translateY(-50%); }
.philo-author-chip.is-major { padding-right:21px; }
.philo-author-chip.is-major::after { content:"★"; position:absolute; right:7px; top:50%; color:#9a7a22; font-size:8px; transform:translateY(-52%); }
.philo-timeline-note { margin:10px 4px 0; color:#918c99; font-size:8.4px; line-height:1.5; }
.philo-timeline-note strong { color:#686270; }

/* Courants intégrés au fil chronologique */
.philo-era-traditions { margin-top:16px; padding-top:15px; border-top:1px solid rgba(71,65,111,.07); }
.philo-era-traditions-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:9px; }
.philo-era-traditions-head strong { color:#5f58c7; font-size:7.6px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.philo-era-traditions-head span { color:#9a95a2; font-size:7.7px; line-height:1.35; text-align:right; }
.philo-era-tradition-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.philo-era-tradition { min-width:0; padding:11px 12px 10px; border:1px solid rgba(71,65,111,.075); border-radius:10px; background:linear-gradient(145deg,#fcfbff,#fff); }
.philo-era-tradition .philo-tradition-domain { display:block; color:#8d879a; font-size:6.25px; font-weight:850; letter-spacing:.065em; line-height:1.3; text-transform:uppercase; }
.philo-era-tradition h4 { margin:5px 0 4px; color:#47424f; font-family:Georgia,"Times New Roman",serif; font-size:12.8px; font-weight:600; line-height:1.2; }
.philo-era-tradition > p { margin:0; color:#827d89; font-size:8px; line-height:1.48; }
.philo-era-tradition .philo-tradition-figures { gap:3px 6px; margin-top:8px; padding-top:7px; }
.philo-era-tradition .philo-tradition-figures a,
.philo-era-tradition .philo-tradition-figures span { font-size:7.15px; }

/* Traditions */
.philo-tradition-map { display:grid; gap:12px; }
.philo-tradition-family { overflow:hidden; border:1px solid var(--philo-compass-line); border-radius:18px; background:#fff; }
.philo-tradition-family > header { display:grid; grid-template-columns:36px minmax(0,1fr); gap:12px; padding:17px 18px 15px; border-bottom:1px solid var(--philo-compass-line); background:linear-gradient(130deg,#fbfaff,#fff); }
.philo-tradition-family > header > span { display:grid; width:30px; height:30px; place-items:center; border-radius:9px; background:#efedff; color:#625bd0; font-size:8px; font-weight:900; }
.philo-tradition-family > header small { color:#7b74d2; font-size:7.3px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.philo-tradition-family > header h3 { margin:3px 0 4px; color:#3a3644; font-family:Georgia,"Times New Roman",serif; font-size:17px; font-weight:600; line-height:1.2; }
.philo-tradition-family > header p { max-width:760px; margin:0; color:#85808d; font-size:9.2px; line-height:1.5; }
.philo-tradition-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:10px; background:#fbfaff; }
.philo-tradition-cards article { min-width:0; min-height:174px; padding:16px 17px 15px; border:1px solid rgba(71,65,111,.08); border-radius:12px; background:#fff; }
.philo-tradition-domain { color:#8a84a0; font-size:6.9px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.philo-tradition-cards h4 { margin:7px 0 6px; color:#3c3846; font-family:Georgia,"Times New Roman",serif; font-size:15px; font-weight:600; line-height:1.2; }
.philo-tradition-cards p { margin:0; color:#7d7985; font-size:9.2px; line-height:1.52; }
.philo-tradition-figures { display:flex; flex-wrap:wrap; gap:4px 7px; margin-top:12px; padding-top:10px; border-top:1px solid rgba(71,65,111,.065); }
.philo-tradition-figures a,.philo-tradition-figures span { color:#8a8592; font-size:7.9px; line-height:1.25; text-decoration:none; }
.philo-tradition-figures a { color:#5d56c8; font-weight:800; }
.philo-tradition-figures a:hover { text-decoration:underline; text-underline-offset:2px; }
.philo-tradition-note { margin:10px 4px 0; color:#8e8996; font-size:8.5px; line-height:1.55; }
.philo-tradition-note strong { color:#67616f; }

/* Grandes questions */
.philo-question-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.philo-question-grid article { position:relative; min-height:178px; padding:19px; border:1px solid var(--philo-compass-line); border-radius:16px; background:linear-gradient(145deg,#fff,#fcfbff); }
.philo-question-grid article > span { position:absolute; top:17px; right:17px; color:rgba(86,78,183,.22); font-size:8px; font-weight:900; }
.philo-question-grid h3 { max-width:85%; margin:0 0 7px; color:#3c3846; font-family:Georgia,"Times New Roman",serif; font-size:18px; font-weight:600; }
.philo-question-grid p { margin:0; color:#7d7985; font-size:9.8px; line-height:1.55; }
.philo-question-grid article > div { display:flex; flex-wrap:wrap; gap:5px; margin-top:13px; }
.philo-question-grid a { padding:5px 7px; border-radius:7px; background:#f1efff; color:#5d56c8; font-size:7.9px; font-weight:800; text-decoration:none; }
.philo-question-grid a:hover { background:#e8e5ff; }

/* Controverses */
.philo-debate-grid { display:grid; gap:10px; }
.philo-debate-grid article { padding:16px; border:1px solid var(--philo-compass-line); border-radius:16px; background:#fff; }
.philo-debate-question { display:block; margin:0 0 11px; color:#484352; font-family:Georgia,"Times New Roman",serif; font-size:14px; font-weight:600; }
.philo-debate-sides { display:grid; grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr); gap:7px; align-items:stretch; }
.philo-debate-sides > a { display:grid; gap:4px; padding:12px 13px; border:1px solid rgba(71,65,111,.08); border-radius:11px; background:#faf9fd; color:inherit; text-decoration:none; transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.philo-debate-sides > a:hover { border-color:rgba(108,99,255,.22); background:#f7f5ff; transform:translateY(-1px); }
.philo-debate-sides small { color:#635bd2; font-size:8.2px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.philo-debate-sides strong { color:#686372; font-size:9.6px; font-weight:520; line-height:1.48; }
.philo-debate-sides > i { display:grid; place-items:center; color:#aaa5bb; font-family:Georgia,"Times New Roman",serif; font-size:15px; font-style:normal; }

/* Parcours */
.philo-paths-section { padding:30px; border:1px solid rgba(108,99,255,.1); border-radius:22px; background:linear-gradient(145deg,#f8f7ff,#fff 54%); }
.philo-paths-section .philo-compass-section-head { margin-bottom:16px; }
.philo-paths { display:grid; gap:9px; }
.philo-paths-loading,.philo-paths-empty { margin:0; color:#8b8696; font-size:10px; }
.philo-path-card { overflow:hidden; border:1px solid rgba(71,65,111,.10); border-radius:14px; background:#fff; }
.philo-path-card > summary { display:grid; grid-template-columns:36px minmax(0,1fr) 24px; gap:10px; align-items:center; min-height:66px; padding:11px 14px; cursor:pointer; list-style:none; }
.philo-path-card > summary::-webkit-details-marker { display:none; }
.philo-path-card > summary:hover { background:#fbfaff; }
.philo-path-number { display:grid; width:32px; height:32px; place-items:center; border-radius:9px; background:#f0eeff; color:#5e57cb; font-size:8px; font-weight:900; }
.philo-path-title { display:grid; gap:3px; min-width:0; }
.philo-path-title small { color:#9893a2; font-size:7.8px; font-weight:750; letter-spacing:.045em; text-transform:uppercase; }
.philo-path-title strong { overflow:hidden; color:#454050; font-family:Georgia,"Times New Roman",serif; font-size:15px; font-weight:600; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.philo-path-toggle { position:relative; width:20px; height:20px; }
.philo-path-toggle::before,.philo-path-toggle::after { content:""; position:absolute; left:50%; top:50%; width:9px; height:1px; background:#8f89a0; transform:translate(-50%,-50%); transition:transform .2s ease; }
.philo-path-toggle::after { transform:translate(-50%,-50%) rotate(90deg); }
.philo-path-card[open] .philo-path-toggle::after { transform:translate(-50%,-50%) rotate(0); }
.philo-path-body { padding:0 14px 14px 60px; border-top:1px solid rgba(71,65,111,.07); }
.philo-path-body ol { display:grid; margin:0; padding:8px 0 0; list-style:none; }
.philo-path-body li { border-bottom:1px solid rgba(71,65,111,.065); }
.philo-path-body li:last-child { border-bottom:0; }
.philo-path-body li > a { display:grid; grid-template-columns:25px minmax(0,1fr) 18px; gap:9px; align-items:center; padding:8px 5px; color:inherit; text-decoration:none; }
.philo-path-body li > a:hover { background:#faf9ff; }
.philo-path-body li > a > span:first-child { color:#aaa5b5; font-size:7.5px; font-weight:850; }
.philo-path-body li > a > span:nth-child(2) { display:grid; grid-template-columns:130px minmax(0,1fr); gap:8px; align-items:baseline; min-width:0; }
.philo-path-body strong { overflow:hidden; color:#575160; font-size:8.8px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.philo-path-body small { overflow:hidden; color:#888391; font-size:8.6px; text-overflow:ellipsis; white-space:nowrap; }
.philo-path-body i { color:#7169d6; font-size:10px; font-style:normal; text-align:right; }
.philo-path-start { display:inline-flex; align-items:center; gap:7px; margin:10px 0 0 4px; color:#5d56c8; font-size:8.8px; font-weight:850; text-decoration:none; }
.philo-path-start:hover { text-decoration:underline; text-underline-offset:2px; }

/* Filiations */
.philo-lineage-stack { overflow:hidden; border:1px solid var(--philo-compass-line); border-radius:17px; background:#fff; }
.philo-lineage-row { display:grid; grid-template-columns:180px minmax(0,1fr); min-height:70px; border-bottom:1px solid var(--philo-compass-line); }
.philo-lineage-row:last-child { border-bottom:0; }
.philo-lineage-label { display:flex; align-items:center; padding:15px 18px; border-right:1px solid var(--philo-compass-line); background:#faf9ff; color:#716b82; font-size:8.2px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.philo-lineage-flow { display:flex; flex-wrap:wrap; align-items:center; gap:9px; padding:15px 20px; }
.philo-lineage-flow > a,.philo-lineage-flow > span:not(.philo-lineage-branch) { padding:7px 9px; border:1px solid rgba(71,65,111,.095); border-radius:8px; background:#fff; color:#595463; font-size:9px; font-weight:750; text-decoration:none; }
.philo-lineage-flow > a { border-color:rgba(108,99,255,.15); background:#f8f7ff; color:#5c55c7; }
.philo-lineage-flow > a:hover { border-color:rgba(108,99,255,.28); background:#f1efff; }
.philo-lineage-flow > i { color:#aaa5b7; font-size:10px; font-style:normal; }
.philo-lineage-branch { color:#9b96a5; font-size:8.3px; }
.philo-lineage-row--converge { background:linear-gradient(90deg,#fff,#fcfbff); }

/* Dictionnaire */
.philo-dictionary-toolbar { display:grid; grid-template-columns:160px minmax(0,1fr); align-items:center; gap:16px; margin-bottom:11px; padding:13px 15px; border:1px solid var(--philo-compass-line); border-radius:14px; background:#fff; }
.philo-dictionary-toolbar > label { color:#5f5a69; font-size:9px; font-weight:850; }
.philo-dictionary-toolbar > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; align-items:center; }
.philo-dictionary-toolbar input { width:100%; min-width:0; padding:9px 11px; border:1px solid rgba(71,65,111,.12); border-radius:9px; background:#fbfaff; color:#484352; font:inherit; font-size:9.4px; }
.philo-dictionary-toolbar input:focus { border-color:rgba(108,99,255,.32); outline:none; box-shadow:0 0 0 3px rgba(108,99,255,.07); }
.philo-dictionary-toolbar span { min-width:58px; color:#9a95a4; font-size:8px; text-align:right; }
.philo-dictionary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.philo-dictionary-grid details { overflow:hidden; border:1px solid var(--philo-compass-line); border-radius:12px; background:#fff; }
.philo-dictionary-grid details[hidden] { display:none; }
.philo-dictionary-grid summary { position:relative; padding:12px 35px 12px 13px; color:#4b4654; cursor:pointer; font-size:9.5px; font-weight:820; list-style:none; }
.philo-dictionary-grid summary::-webkit-details-marker { display:none; }
.philo-dictionary-grid summary::after { content:"+"; position:absolute; right:13px; top:50%; color:#837daa; font-size:12px; font-weight:400; transform:translateY(-50%); }
.philo-dictionary-grid details[open] summary::after { content:"−"; }
.philo-dictionary-grid details[open] summary { background:#faf9ff; }
.philo-dictionary-grid p { margin:0; padding:0 13px 13px; color:#7f7a87; font-size:8.9px; line-height:1.55; }
.philo-dictionary-grid p strong { color:#5d5865; }
.philo-dictionary-empty { margin:12px 0 0; color:#8c8795; font-size:9px; }

.philo-compass-end { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 24px; border:1px solid rgba(108,99,255,.12); border-radius:16px; background:#f9f8ff; }
.philo-compass-end > div { display:grid; gap:3px; }
.philo-compass-end span { color:#7770d6; font-size:7.8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.philo-compass-end strong { color:#615c69; font-size:10px; line-height:1.45; }
.philo-compass-end a { flex:none; color:#5b54c4; font-size:10px; font-weight:800; text-decoration:none; }

@media (max-width:960px) {
  .philo-compass-jump { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .philo-era-tradition-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .philo-tradition-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .philo-question-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .philo-dictionary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .philo-compass-hero::before { right:-42px; opacity:.17; }
}

@media (max-width:700px) {
  .philo-compass-main { padding-top:82px; }
  .philo-compass-container { width:min(100% - 28px,1080px); }
  .philo-compass-hero { min-height:0; padding:27px 20px 25px; border-radius:18px; }
  .philo-compass-hero h1 { max-width:360px; font-size:clamp(2rem,8vw,3rem); }
  .philo-compass-hero p { max-width:390px; margin-top:14px; font-size:12px; line-height:1.6; }
  .philo-compass-hero::before { right:-80px; top:-14px; width:300px; height:330px; opacity:.13; }
  .philo-compass-hero::after { background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 48%,rgba(255,255,255,.82) 66%,rgba(255,255,255,.24) 86%,rgba(255,255,255,0) 100%); }
  .philo-compass-hero-mark { right:18px; bottom:13px; font-size:32px; }

  .philo-compass-jump { position:static; top:auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:14px 0 34px; padding:0; border:0; background:transparent; box-shadow:none; backdrop-filter:none; }
  .philo-compass-jump a { padding:9px; border:1px solid rgba(71,65,111,.09); border-radius:12px; background:#fff; box-shadow:0 7px 18px rgba(47,43,70,.04); }
  .philo-compass-jump strong { font-size:9.7px; }
  .philo-compass-jump small { font-size:7.2px; }
  .philo-compass-section { margin-bottom:52px; scroll-margin-top:90px; }
  .philo-era { grid-template-columns:1fr; }
  .philo-era-axis { min-height:0; flex-direction:row; align-items:center; gap:12px; padding:11px 16px; border-right:0; border-bottom:1px solid var(--philo-compass-line); }
  .philo-era-axis::after { left:18px; right:auto; top:auto; bottom:-4px; }
  .philo-era-axis time { margin-left:auto; font-size:11px; text-align:right; }
  .philo-era-content { padding:17px 16px 16px; }
  .philo-era-content header { grid-template-columns:1fr; gap:8px; }
  .philo-era-content h3 { font-size:17px; }
  .philo-era-shift { width:auto; }
  .philo-era-traditions-head { align-items:flex-start; flex-direction:column; gap:3px; }
  .philo-era-traditions-head span { text-align:left; }
  .philo-debate-sides { grid-template-columns:1fr; }
  .philo-debate-sides > i { min-height:18px; transform:rotate(90deg); }
  .philo-paths-section { padding:20px 14px; border-radius:17px; }
  .philo-path-card > summary { grid-template-columns:32px minmax(0,1fr) 20px; padding:10px; }
  .philo-path-number { width:29px; height:29px; }
  .philo-path-title strong { font-size:13px; }
  .philo-path-body { padding:0 9px 12px 43px; }
  .philo-path-body li > a > span:nth-child(2) { grid-template-columns:1fr; gap:2px; }
  .philo-lineage-row { grid-template-columns:1fr; }
  .philo-lineage-label { padding:10px 14px; border-right:0; border-bottom:1px solid var(--philo-compass-line); }
  .philo-lineage-flow { padding:13px 14px; }
  .philo-dictionary-toolbar { grid-template-columns:1fr; gap:7px; }
  .philo-compass-end { align-items:flex-start; flex-direction:column; }
}

@media (max-width:520px) {
  .texts-philo-compass-strip { gap:8px; margin-top:13px; padding:8px 10px; }
  .texts-philo-compass-icon { width:28px; height:28px; flex-basis:28px; }
  .texts-philo-compass-icon svg { width:22px; height:22px; }
  .texts-philo-compass-text { font-size:10.2px; }
  .text-context-philo-compass { gap:6px; padding:5px 8px 5px 6px; }
  .text-context-philo-compass-meta { display:none; }
  .philo-era-tradition-grid,.philo-question-grid,.philo-dictionary-grid { grid-template-columns:1fr; }
  .philo-tradition-cards { grid-template-columns:1fr; padding:8px; }
  .philo-tradition-cards article { min-height:0; }
  .philo-tradition-family > header { grid-template-columns:32px minmax(0,1fr); padding:14px; }
  .philo-tradition-family > header > span { width:28px; height:28px; }
  .philo-dictionary-toolbar > div { grid-template-columns:1fr; }
  .philo-dictionary-toolbar span { text-align:left; }
  .philo-path-body { padding-left:12px; }
}

/* ==========================================================
   BOUSSOLE PHILOSOPHIQUE V3 — chronologie, carte, dialogues
   ========================================================== */

/* Le titre « Parcours de lecture » des fiches devient un vrai lien vers la boussole. */
.text-path-navigation-compass-link {
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  gap:6px;
  color:var(--primary);
  font-size:9px;
  font-weight:800;
  letter-spacing:.11em;
  text-decoration:none;
  text-transform:uppercase;
}
.text-path-navigation-compass-link span { color:inherit; font:inherit; letter-spacing:inherit; text-transform:inherit; }
.text-path-navigation-compass-link i { font-size:11px; font-style:normal; transition:transform .18s ease; }
.text-path-navigation-compass-link:hover i,.text-path-navigation-compass-link:focus-visible i { transform:translate(2px,-2px); }
.text-path-navigation-compass-link { pointer-events:none; }

/* Typographie générale : la première version était volontairement trop compacte. */
.philo-compass-page .philo-compass-breadcrumb { font-size:12px; }
.philo-compass-page .philo-compass-hero p { font-size:15px; line-height:1.68; }
.philo-compass-page .philo-compass-section-head { max-width:860px; gap:9px; margin-bottom:25px; }
.philo-compass-page .philo-compass-section-head > span { font-size:10px; }
.philo-compass-page .philo-compass-section-head p { font-size:14px; line-height:1.68; }
.philo-compass-page .philo-compass-jump { grid-template-columns:repeat(4,minmax(0,1fr)); }
.philo-compass-page .philo-compass-jump strong { font-size:10.5px; }
.philo-compass-page .philo-compass-jump small { font-size:8px; }

/* Sélecteur principal Chronologique / Spatial */
.philo-orientation-switcher { display:grid; gap:13px; }
.philo-orientation-tabs {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  padding:7px;
  border:1px solid var(--philo-compass-line);
  border-radius:16px;
  background:#f6f5fb;
}
.philo-orientation-tabs button {
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-height:64px;
  padding:10px 14px;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:#777281;
  cursor:pointer;
  font:inherit;
  text-align:left;
  transition:.18s ease;
}
.philo-orientation-tabs button > span:first-child {
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border-radius:10px;
  background:#ebe9f7;
  color:#6961c9;
  font-family:Georgia,"Times New Roman",serif;
  font-size:19px;
}
.philo-orientation-tabs button > span:last-child { display:grid; gap:3px; min-width:0; }
.philo-orientation-tabs strong { color:#4c4756; font-size:12px; }
.philo-orientation-tabs small { color:#9994a2; font-size:9px; }
.philo-orientation-tabs button:hover,.philo-orientation-tabs button:focus-visible { background:rgba(255,255,255,.65); outline:none; }
.philo-orientation-tabs button.is-active { border-color:rgba(108,99,255,.16); background:#fff; box-shadow:0 7px 20px rgba(46,42,82,.055); }
.philo-orientation-tabs button.is-active > span:first-child { background:#eeecff; color:#5b53c7; }
.philo-orientation-panel[hidden],.philo-chrono-panel[hidden] { display:none !important; }
.philo-orientation-panel.is-active,.philo-chrono-panel.is-active { animation:philoPanelIn .25s ease both; }
@keyframes philoPanelIn { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }

.philo-chrono-subtabs {
  display:flex;
  gap:6px;
  width:max-content;
  max-width:100%;
  margin:2px 0 15px;
  padding:5px;
  border:1px solid rgba(71,65,111,.09);
  border-radius:12px;
  background:#fff;
}
.philo-chrono-subtabs button {
  display:grid;
  gap:2px;
  min-width:180px;
  padding:8px 12px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#817c89;
  cursor:pointer;
  font:inherit;
  text-align:left;
}
.philo-chrono-subtabs button strong { color:#5d5865; font-size:10.5px; }
.philo-chrono-subtabs button small { color:#aaa5b1; font-size:8.3px; }
.philo-chrono-subtabs button.is-active { background:#f1efff; }
.philo-chrono-subtabs button.is-active strong { color:#5a52c4; }

/* Vue guidée : chaque période devient une carte autonome, avec date immédiatement lisible. */
.philo-compass-page .philo-timeline-key { margin:0 0 12px; font-size:10px; }
.philo-guided-timeline {
  display:grid;
  gap:14px;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
}
.philo-guided-timeline .philo-era {
  display:grid;
  grid-template-columns:1fr;
  overflow:hidden;
  border:1px solid rgba(71,65,111,.11);
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 28px rgba(45,41,65,.035);
}
.philo-guided-timeline .philo-era-axis {
  display:flex;
  min-height:0;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:13px;
  padding:12px 18px;
  border-right:0;
  border-bottom:1px solid rgba(71,65,111,.09);
  background:linear-gradient(90deg,#f4f2ff 0%,#faf9ff 56%,#fff 100%);
}
.philo-guided-timeline .philo-era-axis::after { display:none; }
.philo-guided-timeline .philo-era-number {
  display:grid;
  width:30px;
  height:30px;
  flex:0 0 30px;
  place-items:center;
  border-radius:9px;
  background:#e8e5ff;
  color:#5e56c5;
  font-size:9px;
  letter-spacing:0;
}
.philo-guided-timeline .philo-era-axis time {
  color:#4b4654;
  font-family:Inter,sans-serif;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
}
.philo-guided-timeline .philo-era-content { padding:22px 23px 21px; }
.philo-guided-timeline .philo-era-content header { grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr); gap:28px; }
.philo-guided-timeline .philo-era-content header > div > span { font-size:9px; letter-spacing:.1em; }
.philo-guided-timeline .philo-era-content h3 { margin-top:6px; font-size:23px; line-height:1.16; }
.philo-guided-timeline .philo-era-content header p {
  margin:0;
  padding:13px 15px;
  border-left:3px solid rgba(108,99,255,.32);
  border-radius:0 10px 10px 0;
  background:#faf9ff;
  color:#625e6c;
  font-size:12.5px;
  line-height:1.65;
}
.philo-guided-timeline .philo-era-shift { margin-top:14px; padding:7px 10px; font-size:10px; }
.philo-guided-timeline .philo-era-shift strong { font-size:8.4px; }
.philo-guided-timeline .philo-author-row { gap:7px; margin-top:14px; }
.philo-guided-timeline .philo-author-chip { min-height:30px; padding:7px 10px; font-size:10px; }
.philo-guided-timeline .philo-author-chip.is-local { padding-left:20px; }
.philo-guided-timeline .philo-author-chip.is-local::before { left:9px; width:5px; height:5px; }
.philo-guided-timeline .philo-author-chip.is-major { padding-right:24px; }
.philo-guided-timeline .philo-author-chip.is-major::after { right:9px; font-size:9px; }
.philo-guided-timeline .philo-era-traditions { margin-top:18px; padding-top:17px; }
.philo-guided-timeline .philo-era-traditions-head { margin-bottom:11px; }
.philo-guided-timeline .philo-era-traditions-head strong { font-size:8.8px; }
.philo-guided-timeline .philo-era-traditions-head span { font-size:9.5px; }
.philo-guided-timeline .philo-era-tradition-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.philo-guided-timeline .philo-era-tradition { padding:14px 15px 13px; border-radius:12px; }
.philo-guided-timeline .philo-era-tradition .philo-tradition-domain { font-size:7.7px; }
.philo-guided-timeline .philo-era-tradition h4 { margin:6px 0 5px; font-size:15.5px; }
.philo-guided-timeline .philo-era-tradition > p { font-size:10.5px; line-height:1.55; }
.philo-guided-timeline .philo-era-tradition .philo-tradition-figures a,
.philo-guided-timeline .philo-era-tradition .philo-tradition-figures span { font-size:9px; }
.philo-compass-page .philo-timeline-note { margin:11px 4px 0; font-size:10.3px; line-height:1.55; }

/* Frise unique */
.philo-master-timeline-intro {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:10px;
  padding:15px 17px;
  border:1px solid var(--philo-compass-line);
  border-radius:14px;
  background:#fff;
}
.philo-master-timeline-intro > div:first-child > span { display:block; color:#655dcb; font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.philo-master-timeline-intro strong { display:block; margin-top:4px; color:#45404d; font-family:Georgia,"Times New Roman",serif; font-size:20px; font-weight:600; }
.philo-master-timeline-intro p { max-width:650px; margin:5px 0 0; color:#77727f; font-size:11.5px; line-height:1.55; }
.philo-master-timeline-legend { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px 12px; color:#8e8997; font-size:9px; }
.philo-master-timeline-legend span { display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
.philo-master-timeline-shell {
  position:relative;
  overflow-x:auto;
  overflow-y:hidden;
  min-height:480px;
  border:1px solid var(--philo-compass-line);
  border-radius:17px;
  background:linear-gradient(#fff,#faf9ff);
  scrollbar-width:thin;
  scrollbar-color:#c5c0de #f3f1f8;
}
.philo-master-timeline { position:relative; width:3400px; min-height:478px; }
.philo-master-track { position:absolute; inset:0 90px; }
.philo-master-axis { position:absolute; left:0; right:0; top:242px; height:2px; background:linear-gradient(90deg,#bbb6ca,#6c63ff 55%,#bbb6ca); }
.philo-master-tick { position:absolute; top:222px; height:42px; transform:translateX(-50%); }
.philo-master-tick i { position:absolute; left:50%; top:17px; width:1px; height:14px; background:#c7c2d0; }
.philo-master-tick b { position:absolute; top:34px; left:50%; color:#9994a2; font-size:8px; font-weight:750; white-space:nowrap; transform:translateX(-50%); }
.philo-master-author {
  position:absolute;
  z-index:2;
  top:calc(34px + (var(--lane) * 32px));
  display:flex;
  width:max-content;
  max-width:150px;
  align-items:center;
  gap:5px;
  padding:4px 6px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#756f7c;
  cursor:pointer;
  font:inherit;
  text-decoration:none;
  transform:translateX(-50%);
}
.philo-master-author:nth-of-type(even) { top:auto; bottom:calc(43px + (var(--lane) * 31px)); }
.philo-master-author-dot { width:7px; height:7px; flex:0 0 7px; border:2px solid #fff; border-radius:50%; background:#918ba2; box-shadow:0 0 0 1px rgba(73,67,93,.22); }
.philo-master-author.is-local .philo-master-author-dot { background:#6c63ff; box-shadow:0 0 0 2px rgba(108,99,255,.12); }
.philo-master-author-name { color:#625d69; font-size:9.5px; font-weight:750; white-space:nowrap; }
.philo-master-author-name em { margin-left:3px; color:#9a7920; font-size:8px; font-style:normal; }
.philo-master-author:hover,.philo-master-author:focus-visible { z-index:20; background:#f1efff; outline:none; }
.philo-master-tooltip {
  position:absolute;
  z-index:50;
  left:50%;
  bottom:calc(100% + 9px);
  display:none;
  width:230px;
  padding:12px 13px;
  border:1px solid rgba(71,65,111,.13);
  border-radius:11px;
  background:#fff;
  box-shadow:0 12px 34px rgba(34,30,59,.16);
  color:#716c79;
  text-align:left;
  transform:translateX(-50%);
}
.philo-master-author:nth-of-type(even) .philo-master-tooltip { top:calc(100% + 9px); bottom:auto; }
.philo-master-author:hover .philo-master-tooltip,.philo-master-author:focus .philo-master-tooltip { display:grid; gap:4px; }
.philo-master-tooltip small { color:#827bb6; font-size:8px; font-weight:800; }
.philo-master-tooltip strong { color:#413d48; font-family:Georgia,"Times New Roman",serif; font-size:16px; font-weight:600; }
.philo-master-tooltip span { font-size:10px; line-height:1.5; }
.philo-master-tooltip b { margin-top:2px; color:#6259c8; font-size:8.5px; }
.philo-master-timeline-hint { margin:8px 3px 0; color:#9893a0; font-size:9.5px; }

/* Vue spatiale */
.philo-space-intro { margin-bottom:10px; padding:16px 18px; border:1px solid var(--philo-compass-line); border-radius:14px; background:#fff; }
.philo-space-intro span { color:#655dcb; font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.philo-space-intro strong { display:block; margin-top:4px; color:#45404d; font-family:Georgia,"Times New Roman",serif; font-size:20px; font-weight:600; }
.philo-space-intro p { max-width:790px; margin:5px 0 0; color:#77727f; font-size:11.5px; line-height:1.58; }
.philo-space-presets { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; margin-bottom:9px; }
.philo-space-presets button {
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:1px 8px;
  align-items:center;
  padding:10px;
  border:1px solid rgba(71,65,111,.09);
  border-radius:11px;
  background:#faf9fd;
  color:#746f7d;
  cursor:pointer;
  font:inherit;
  text-align:left;
}
.philo-space-presets button > span { grid-row:1/3; display:grid; width:28px; height:28px; place-items:center; border-radius:8px; background:#fff; color:#655dcc; font-size:8px; font-weight:900; }
.philo-space-presets strong { color:#504b58; font-size:9.5px; }
.philo-space-presets small { overflow:hidden; color:#9b96a3; font-size:7.5px; text-overflow:ellipsis; white-space:nowrap; }
.philo-space-presets button.is-active { border-color:rgba(108,99,255,.2); background:#f1efff; }
.philo-real-map-shell { position:relative; min-height:500px; overflow:hidden; border:1px solid rgba(71,65,111,.11); border-radius:17px; background:#f0eef3; }
.philo-real-map { width:100%; height:500px; }
.philo-map-loading { position:absolute; z-index:1000; inset:0; display:grid; align-content:center; justify-items:center; gap:8px; background:#f6f4f7; color:#8d8795; transition:.2s ease; }
.philo-map-loading.is-hidden { visibility:hidden; opacity:0; }
.philo-map-loading > span { width:28px; height:28px; border:2px solid rgba(108,99,255,.15); border-top-color:#6c63ff; border-radius:50%; animation:philoMapSpin .8s linear infinite; }
@keyframes philoMapSpin { to { transform:rotate(360deg); } }
.philo-map-loading p { margin:0; font-size:10px; }
.philo-map-note { margin:8px 3px 0; color:#918b99; font-size:9.5px; line-height:1.5; }
.philo-map-marker { display:grid; width:28px; height:28px; place-items:center; border:2px solid #fff; border-radius:50%; background:#6c63ff; color:#fff; box-shadow:0 2px 8px rgba(48,42,110,.24); font-family:Georgia,"Times New Roman",serif; font-size:13px; }
.philo-map-label-wrap { background:transparent !important; border:0 !important; }
.philo-map-label { display:inline-block; padding:3px 6px; border:1px solid rgba(69,63,93,.10); border-radius:6px; background:rgba(255,255,255,.92); box-shadow:0 1px 5px rgba(0,0,0,.08); color:#5d5864; font-size:8px; font-weight:800; white-space:nowrap; }
.philo-map-popup { display:grid; gap:3px; min-width:130px; }
.philo-map-popup strong { color:#443f4b; font-size:12px; }
.philo-map-popup span { color:#77717e; font-size:10px; line-height:1.4; }
.philo-real-map .leaflet-control-attribution { font-size:7px; }

/* Controverses + filiations fusionnées : lignes de problèmes */
.philo-relations-legend { display:flex; flex-wrap:wrap; gap:8px 16px; margin:-8px 0 13px; color:#8c8794; font-size:10px; }
.philo-relations-legend span { display:inline-flex; align-items:center; gap:6px; }
.philo-relations-legend b { color:#625ac8; font-family:Georgia,"Times New Roman",serif; font-size:14px; }
.philo-idea-threads { display:grid; gap:12px; }
.philo-idea-thread { overflow:hidden; border:1px solid var(--philo-compass-line); border-radius:17px; background:#fff; }
.philo-idea-thread > header { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr); column-gap:28px; padding:19px 20px 17px; border-bottom:1px solid rgba(71,65,111,.08); background:linear-gradient(120deg,#faf9ff,#fff); }
.philo-idea-thread > header > span { grid-column:1/3; margin-bottom:5px; color:#655dcc; font-size:8.8px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.philo-idea-thread h3 { margin:0; color:#3f3a46; font-family:Georgia,"Times New Roman",serif; font-size:20px; font-weight:600; line-height:1.22; }
.philo-idea-thread header p { margin:0; color:#77717e; font-size:11px; line-height:1.6; }
.philo-thread-flow { display:flex; flex-wrap:wrap; align-items:center; gap:7px; padding:14px 18px; border-bottom:1px solid rgba(71,65,111,.07); }
.philo-thread-flow > a,.philo-thread-flow > span { padding:7px 9px; border:1px solid rgba(71,65,111,.10); border-radius:8px; background:#fbfaff; color:#5e5867; font-size:10px; font-weight:750; text-decoration:none; }
.philo-thread-flow > a { color:#5d55c5; }
.philo-thread-flow > a:hover { border-color:rgba(108,99,255,.25); background:#f2f0ff; }
.philo-thread-flow > i { color:#aaa5b5; font-family:Georgia,"Times New Roman",serif; font-size:14px; font-style:normal; }
.philo-thread-debates { display:grid; grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr); gap:8px; padding:14px 18px 18px; }
.philo-thread-debates > a { display:grid; gap:4px; padding:12px 13px; border:1px solid rgba(71,65,111,.09); border-radius:11px; background:#faf9fd; color:inherit; text-decoration:none; }
.philo-thread-debates > a:nth-of-type(n+3),.philo-thread-debates > span:nth-of-type(n+3) { margin-top:1px; }
.philo-thread-debates > a:hover { border-color:rgba(108,99,255,.22); background:#f6f4ff; }
.philo-thread-debates small { color:#625ac9; font-size:8.6px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.philo-thread-debates strong { color:#625d69; font-size:10.6px; font-weight:560; line-height:1.52; }
.philo-thread-debates > span { display:grid; place-items:center; color:#aaa5b4; font-family:Georgia,"Times New Roman",serif; font-size:15px; }
.philo-thread-debates:not(.philo-thread-debates--single) > a:nth-of-type(3) { grid-column:1; }
.philo-thread-debates:not(.philo-thread-debates--single) > span:nth-of-type(2) { grid-column:2; }
.philo-thread-debates:not(.philo-thread-debates--single) > a:nth-of-type(4) { grid-column:3; }
.philo-thread-note { margin:0; padding:13px 18px 16px; color:#77717e; font-size:10.5px; line-height:1.55; }
.philo-thread-note strong { color:#57515f; }

/* Parcours restructurés */
.philo-compass-page .philo-paths-section { padding:32px; }
.philo-compass-page .philo-paths { gap:11px; }
.philo-compass-page .philo-path-card { border-radius:16px; }
.philo-compass-page .philo-path-card > summary { grid-template-columns:42px minmax(0,1fr) 25px; min-height:82px; padding:14px 16px; }
.philo-compass-page .philo-path-number { width:38px; height:38px; font-size:9px; }
.philo-compass-page .philo-path-title { gap:3px; }
.philo-compass-page .philo-path-title small { font-size:8.8px; }
.philo-compass-page .philo-path-title strong { font-size:17px; white-space:normal; }
.philo-path-title em { overflow:hidden; color:#8a8591; font-size:10px; font-style:normal; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.philo-compass-page .philo-path-body { display:grid; gap:12px; padding:14px 16px 17px 66px; }
.philo-path-question { overflow:hidden; border:1px solid rgba(71,65,111,.08); border-radius:12px; background:#fff; }
.philo-path-question > header { padding:13px 14px 11px; border-bottom:1px solid rgba(71,65,111,.07); background:#faf9ff; }
.philo-path-question > header > span { color:#665ed0; font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.philo-path-question h4 { margin:4px 0 3px; color:#46414d; font-family:Georgia,"Times New Roman",serif; font-size:15.5px; font-weight:600; line-height:1.25; }
.philo-path-question header p { margin:0; color:#817c88; font-size:9.8px; line-height:1.52; }
.philo-compass-page .philo-path-body ol { padding:0; }
.philo-compass-page .philo-path-body li > a { grid-template-columns:28px minmax(0,1fr) 18px; gap:10px; padding:10px 12px; }
.philo-path-step { color:#a49fac; font-size:8.5px; font-weight:850; }
.philo-path-item-copy { display:grid; grid-template-columns:150px minmax(0,1fr); gap:9px; align-items:baseline; min-width:0; }
.philo-compass-page .philo-path-body .philo-path-item-copy strong { color:#56505d; font-size:10px; }
.philo-compass-page .philo-path-body .philo-path-item-copy small { color:#827d89; font-size:9.8px; }
.philo-path-body li.is-targeted { position:relative; z-index:1; background:#eeecff; box-shadow:inset 3px 0 0 #6c63ff; animation:philoPathTarget 1.5s ease both; }
@keyframes philoPathTarget { 0% { background:#dcd8ff; } 100% { background:#eeecff; } }

/* Dictionnaire : remontée de la taille générale */
.philo-compass-page .philo-dictionary-toolbar > label { font-size:10.5px; }
.philo-compass-page .philo-dictionary-toolbar input { font-size:10.5px; }
.philo-compass-page .philo-dictionary-toolbar span { font-size:9px; }
.philo-compass-page .philo-dictionary-grid summary { font-size:11px; }
.philo-compass-page .philo-dictionary-grid p { font-size:10px; line-height:1.6; }
.philo-compass-page .philo-compass-end strong,.philo-compass-page .philo-compass-end a { font-size:11px; }

@media (max-width:960px) {
  .philo-guided-timeline .philo-era-content header { grid-template-columns:1fr; gap:10px; }
  .philo-space-presets { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .philo-idea-thread > header { grid-template-columns:1fr; gap:8px; }
  .philo-idea-thread > header > span { grid-column:1; }
}

@media (max-width:700px) {
  .philo-compass-page .philo-compass-hero p { font-size:13.5px; }
  .philo-compass-page .philo-compass-section-head p { font-size:12.5px; }
  .philo-orientation-tabs { gap:5px; padding:5px; }
  .philo-orientation-tabs button { grid-template-columns:31px minmax(0,1fr); min-height:58px; gap:8px; padding:8px 9px; }
  .philo-orientation-tabs button > span:first-child { width:31px; height:31px; font-size:16px; }
  .philo-orientation-tabs strong { font-size:10.5px; }
  .philo-orientation-tabs small { font-size:7.7px; }
  .philo-chrono-subtabs { width:100%; }
  .philo-chrono-subtabs button { min-width:0; flex:1; }
  .philo-guided-timeline .philo-era-axis { padding:10px 13px; }
  .philo-guided-timeline .philo-era-axis time { font-size:10.5px; }
  .philo-guided-timeline .philo-era-content { padding:16px 14px 15px; }
  .philo-guided-timeline .philo-era-content h3 { font-size:19px; }
  .philo-guided-timeline .philo-era-content header p { padding:10px 11px; font-size:11px; }
  .philo-guided-timeline .philo-era-tradition-grid { grid-template-columns:1fr; }
  .philo-space-presets { grid-template-columns:1fr 1fr; gap:5px; }
  .philo-real-map-shell,.philo-real-map { min-height:410px; height:410px; }
  .philo-master-timeline-intro { align-items:flex-start; flex-direction:column; }
  .philo-master-timeline-legend { justify-content:flex-start; }
  .philo-master-timeline-shell { min-height:440px; }
  .philo-master-timeline { min-height:438px; }
  .philo-master-axis { top:222px; }
  .philo-master-tick { top:202px; }
  .philo-thread-debates { grid-template-columns:1fr; }
  .philo-thread-debates > span { min-height:17px; transform:rotate(90deg); }
  .philo-thread-debates:not(.philo-thread-debates--single) > a:nth-of-type(3),
  .philo-thread-debates:not(.philo-thread-debates--single) > span:nth-of-type(2),
  .philo-thread-debates:not(.philo-thread-debates--single) > a:nth-of-type(4) { grid-column:auto; }
  .philo-thread-flow { padding:12px; }
  .philo-compass-page .philo-paths-section { padding:21px 14px; }
  .philo-compass-page .philo-path-card > summary { grid-template-columns:34px minmax(0,1fr) 20px; padding:11px; }
  .philo-compass-page .philo-path-number { width:31px; height:31px; }
  .philo-compass-page .philo-path-title strong { font-size:14.5px; }
  .philo-path-title em { display:none; }
  .philo-compass-page .philo-path-body { padding:11px; }
  .philo-path-item-copy { grid-template-columns:1fr; gap:2px; }
}

@media (max-width:520px) {
  .philo-space-presets { grid-template-columns:1fr; }
  .philo-space-presets button { grid-template-columns:30px minmax(0,1fr); }
  .philo-guided-timeline .philo-era-traditions-head { align-items:flex-start; flex-direction:column; }
  .philo-guided-timeline .philo-era-traditions-head span { text-align:left; }
}

/* ==========================================================
   BOUSSOLE PHILOSOPHIQUE V5 — Socrate, vues unifiées,
   frise complète, parcours thématiques et accordéons fluides
   ========================================================== */

/* Hero : même logique que la boussole biblique, avec David/Socrate. */
.philo-compass-container { overflow:visible; }
.philo-compass-hero--socrates { min-height:270px; }
.philo-compass-hero--socrates::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  width:auto;
  height:auto;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.99) 32%,
      rgba(255,255,255,.95) 45%,
      rgba(255,255,255,.78) 57%,
      rgba(255,255,255,.43) 70%,
      rgba(255,255,255,.10) 88%,
      rgba(255,255,255,0) 100%),
    url('../images/textes/philosophie/david-death-of-socrates.webp') right center / 57% auto no-repeat;
  opacity:1;
  -webkit-mask-image:none;
  mask-image:none;
  pointer-events:none;
}
.philo-compass-hero--socrates::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(239,237,255,.16));
  pointer-events:none;
}
.philo-compass-hero--socrates .philo-compass-hero-copy { max-width:690px; }
.philo-compass-hero--socrates h1 { max-width:680px; }
.philo-compass-hero--socrates p { max-width:625px; }

/* Un seul sélecteur pour les trois manières de lire le fil. */
.philo-view-tabs {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin:0 0 16px;
  padding:6px;
  border:1px solid var(--philo-compass-line);
  border-radius:15px;
  background:#f6f5fb;
}
.philo-view-tabs button {
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:9px;
  align-items:center;
  min-height:62px;
  padding:9px 12px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#777281;
  cursor:pointer;
  font:inherit;
  text-align:left;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.philo-view-tabs button:hover,.philo-view-tabs button:focus-visible { background:rgba(255,255,255,.7); outline:none; transform:translateY(-1px); }
.philo-view-tabs button.is-active { border-color:rgba(108,99,255,.16); background:#fff; box-shadow:0 7px 20px rgba(46,42,82,.055); }
.philo-view-tabs button > span:first-child {
  display:grid;
  width:32px;
  height:32px;
  place-items:center;
  border-radius:9px;
  background:#ebe9f7;
  color:#6961c9;
  font-size:8px;
  font-weight:900;
}
.philo-view-tabs button.is-active > span:first-child { background:#ebe8ff; color:#584fc8; }
.philo-view-tabs button > span:last-child { display:grid; gap:2px; min-width:0; }
.philo-view-tabs strong { color:#4d4856; font-size:11.5px; }
.philo-view-tabs small { color:#9b96a4; font-size:8px; }
.philo-view-panel[hidden] { display:none !important; }
.philo-view-panel.is-active { animation:philoPanelIn .28s cubic-bezier(.22,.75,.2,1) both; }

/* Frise unique : toute la chronologie tient sur le grand écran. */
.philo-master-timeline-intro {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin:2px 0 12px;
  padding:16px 18px;
  border:1px solid var(--philo-compass-line);
  border-radius:14px;
  background:#fff;
}
.philo-master-timeline-intro > div:first-child > span { display:block; color:#655dcb; font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.philo-master-timeline-intro strong { display:block; margin-top:4px; color:#45404d; font-family:Georgia,"Times New Roman",serif; font-size:20px; font-weight:600; }
.philo-master-timeline-intro p { max-width:670px; margin:5px 0 0; color:#77727f; font-size:11.5px; line-height:1.55; }
.philo-master-timeline-legend { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px 12px; color:#8e8997; font-size:9px; }
.philo-master-timeline-legend span { display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
.philo-master-timeline-shell {
  position:relative;
  overflow:visible;
  min-height:365px;
  border:1px solid rgba(71,65,111,.11);
  border-radius:17px;
  background:linear-gradient(180deg,#fff,#fbfaff);
  box-shadow:0 8px 28px rgba(45,41,65,.035);
}
.philo-master-timeline {
  position:relative;
  width:100%;
  min-width:0;
  min-height:363px;
}
.philo-master-track {
  position:relative;
  display:grid;
  grid-template-columns:1.15fr .85fr 1.1fr .95fr 1.1fr;
  width:100%;
  min-height:363px;
  padding:18px 18px 14px;
}
.philo-master-axis {
  position:absolute;
  z-index:1;
  left:22px;
  right:22px;
  top:145px;
  height:2px;
  background:linear-gradient(90deg,#bbb6ca,#6c63ff 55%,#bbb6ca);
}
.philo-master-era {
  position:relative;
  z-index:2;
  min-width:0;
  border-right:1px dashed rgba(71,65,111,.12);
}
.philo-master-era:last-child { border-right:0; }
.philo-master-era-plot { position:relative; height:272px; }
.philo-master-era footer {
  display:grid;
  gap:2px;
  min-height:48px;
  padding:9px 8px 0;
  border-top:1px solid rgba(71,65,111,.08);
  text-align:center;
}
.philo-master-era footer strong { color:#514c59; font-size:10px; }
.philo-master-era footer small { color:#9994a2; font-size:7.7px; }
.philo-master-author {
  position:absolute;
  z-index:4;
  top:calc(30px + (var(--lane) * 35px));
  display:grid;
  width:16px;
  height:16px;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:inherit;
  cursor:help;
  text-decoration:none;
  transform:translate(-50%,-50%);
}
.philo-master-author[href] { cursor:pointer; }
.philo-master-author-dot {
  display:block;
  width:9px;
  height:9px;
  border:2px solid #fff;
  border-radius:50%;
  background:#918ba2;
  box-shadow:0 0 0 1px rgba(73,67,93,.24),0 2px 5px rgba(49,44,66,.12);
  transition:transform .18s ease,box-shadow .18s ease;
}
.philo-master-author.is-local .philo-master-author-dot { background:#6c63ff; box-shadow:0 0 0 2px rgba(108,99,255,.12),0 2px 6px rgba(59,52,150,.16); }
.philo-master-author:hover .philo-master-author-dot,.philo-master-author:focus-visible .philo-master-author-dot { transform:scale(1.55); box-shadow:0 0 0 4px rgba(108,99,255,.11); }
.philo-master-author:focus-visible { outline:none; }
.philo-master-author-star { position:absolute; left:11px; top:-8px; color:#9a7920; font-size:7px; line-height:1; }
.philo-master-tooltip {
  position:absolute;
  z-index:100;
  left:50%;
  bottom:calc(100% + 8px);
  display:none;
  width:210px;
  padding:11px 12px;
  border:1px solid rgba(71,65,111,.13);
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 28px rgba(39,35,55,.13);
  color:#756f7b;
  text-align:left;
  transform:translateX(-50%);
}
.philo-master-author:nth-child(3n) .philo-master-tooltip { bottom:auto; top:calc(100% + 8px); }
.philo-master-author:hover .philo-master-tooltip,.philo-master-author:focus .philo-master-tooltip { display:grid; gap:4px; animation:philoTooltipIn .16s ease both; }
@keyframes philoTooltipIn { from { opacity:0; transform:translate(-50%,4px); } to { opacity:1; transform:translate(-50%,0); } }
.philo-master-tooltip small { color:#827bb6; font-size:8px; font-weight:800; line-height:1.35; }
.philo-master-tooltip strong { color:#413d48; font-family:Georgia,"Times New Roman",serif; font-size:16px; font-weight:600; }
.philo-master-tooltip span { font-size:10px; line-height:1.5; }
.philo-master-tooltip b { margin-top:2px; color:#6259c8; font-size:8.5px; }
.philo-master-timeline-hint { margin:8px 3px 0; color:#9893a0; font-size:9.5px; line-height:1.5; }

/* Carte : introduction raccourcie et commandes harmonisées. */
.philo-space-heading {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
  padding:13px 15px;
  border:1px solid var(--philo-compass-line);
  border-radius:12px;
  background:#fff;
}
.philo-space-heading strong { color:#46414d; font-family:Georgia,"Times New Roman",serif; font-size:17px; font-weight:600; }
.philo-space-heading span { color:#85808c; font-size:10px; }
.philo-space-presets { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; margin-bottom:9px; }
.philo-space-presets button {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:42px;
  padding:7px 8px;
  border:1px solid rgba(71,65,111,.10);
  border-radius:10px;
  background:#fff;
  color:#67616e;
  cursor:pointer;
  font:inherit;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.philo-space-presets button:hover,.philo-space-presets button:focus-visible { background:#f7f5ff; outline:none; transform:translateY(-1px); }
.philo-space-presets button > span { display:grid; width:24px; height:24px; place-items:center; border-radius:7px; background:#f1efff; color:#625acb; font-size:7.5px; font-weight:900; }
.philo-space-presets strong { color:#514c59; font-size:9.5px; }
.philo-space-presets button.is-active { border-color:rgba(108,99,255,.25); background:#efedff; }
.philo-map-note { margin:8px 2px 0; color:#8e8995; font-size:9px; line-height:1.5; }
.philo-map-popup { min-width:150px; }
.philo-map-popup > div { display:grid; gap:3px; margin-top:4px; }
.philo-map-popup > div > a,.philo-map-popup > div > span { display:block; padding:3px 0; color:#77717e; font-size:10px; line-height:1.35; text-decoration:none; }
.philo-map-popup > div > a { color:#5d55c5; font-weight:750; }
.philo-map-popup > div > a:hover { text-decoration:underline; text-underline-offset:2px; }
.philo-map-popup > div > a i { font-style:normal; }

/* Parcours : onglets, recherche et chaînes de textes reliées. */
.philo-compass-page .philo-paths-section {
  padding:32px;
  border:1px solid rgba(108,99,255,.11);
  border-radius:22px;
  background:linear-gradient(145deg,#f8f7ff,#fff 54%);
}
.philo-paths-toolbar {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px);
  gap:12px;
  align-items:end;
  margin:0 0 13px;
}
.philo-paths-tabs {
  display:flex;
  width:max-content;
  max-width:100%;
  gap:5px;
  padding:5px;
  border:1px solid rgba(71,65,111,.10);
  border-radius:12px;
  background:#fff;
}
.philo-paths-tabs button {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:8px 11px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#77717f;
  cursor:pointer;
  font:inherit;
  font-size:10px;
  font-weight:750;
}
.philo-paths-tabs button span { display:grid; min-width:20px; height:20px; place-items:center; border-radius:999px; background:#f2f0f8; color:#8a8494; font-size:7.5px; }
.philo-paths-tabs button.is-active { background:#efedff; color:#574fc5; }
.philo-paths-tabs button.is-active span { background:#fff; color:#5e56c9; }
.philo-path-search { display:grid; gap:5px; color:#746f7b; font-size:8.5px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.philo-path-search > div { position:relative; display:flex; align-items:center; }
.philo-path-search svg { position:absolute; left:11px; width:15px; height:15px; fill:none; stroke:#8d8795; stroke-width:1.5; stroke-linecap:round; pointer-events:none; }
.philo-path-search input {
  width:100%;
  height:42px;
  padding:0 36px 0 35px;
  border:1px solid rgba(71,65,111,.13);
  border-radius:10px;
  background:#fff;
  color:#4e4955;
  font:inherit;
  font-size:10.5px;
  outline:none;
  text-transform:none;
}
.philo-path-search input:focus { border-color:rgba(108,99,255,.35); box-shadow:0 0 0 3px rgba(108,99,255,.07); }
.philo-path-search button { position:absolute; right:7px; display:grid; width:28px; height:28px; place-items:center; border:0; border-radius:7px; background:transparent; color:#9993a1; cursor:pointer; font-size:16px; }
.philo-path-search button:hover { background:#f2f0ff; color:#5c54c7; }
.philo-path-search-feedback { margin:-3px 0 10px; padding:8px 10px; border-radius:9px; background:#f2f0ff; color:#716ab9; font-size:9px; }
.philo-compass-page .philo-paths { display:grid; gap:9px; }
.philo-compass-page .philo-path-card {
  overflow:hidden;
  border:1px solid rgba(71,65,111,.10);
  border-radius:15px;
  background:#fff;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.philo-compass-page .philo-path-card.is-open { border-color:rgba(108,99,255,.19); box-shadow:0 8px 22px rgba(48,43,96,.045); }
.philo-path-card-trigger {
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 24px;
  gap:11px;
  align-items:center;
  width:100%;
  min-height:76px;
  padding:12px 15px;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  font:inherit;
  text-align:left;
}
.philo-path-card-trigger:hover,.philo-path-card-trigger:focus-visible { background:#fbfaff; outline:none; }
.philo-path-card .philo-path-number { display:grid; width:36px; height:36px; place-items:center; border-radius:9px; background:#f0eeff; color:#5e57cb; font-size:8.5px; font-weight:900; }
.philo-path-card .philo-path-title { display:grid; gap:3px; min-width:0; }
.philo-path-card .philo-path-title small { color:#9893a2; font-size:8.3px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.philo-path-card .philo-path-title strong { color:#454050; font-family:Georgia,"Times New Roman",serif; font-size:17px; font-weight:600; line-height:1.2; }
.philo-path-card .philo-path-title em { overflow:hidden; color:#87828e; font-size:9.8px; font-style:normal; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.philo-path-toggle { position:relative; width:20px; height:20px; }
.philo-path-toggle::before,.philo-path-toggle::after { content:""; position:absolute; left:50%; top:50%; width:9px; height:1px; background:#8f89a0; transform:translate(-50%,-50%); transition:transform .25s ease; }
.philo-path-toggle::after { transform:translate(-50%,-50%) rotate(90deg); }
.philo-path-card.is-open .philo-path-toggle::after { transform:translate(-50%,-50%) rotate(0); }
.philo-path-card-panel,.philo-path-question-panel,.philo-dialogue-panel { overflow:hidden; height:0; }
.philo-path-body { display:grid; gap:9px; padding:0 15px 15px 66px; border-top:1px solid rgba(71,65,111,.07); }
.philo-path-question { overflow:hidden; border:1px solid rgba(71,65,111,.085); border-radius:11px; background:#fff; }
.philo-path-question:first-child { margin-top:12px; }
.philo-path-question-trigger {
  display:grid;
  grid-template-columns:minmax(0,1fr) 20px;
  gap:3px 10px;
  width:100%;
  padding:11px 13px;
  border:0;
  background:#faf9ff;
  color:inherit;
  cursor:pointer;
  font:inherit;
  text-align:left;
}
.philo-path-question-trigger:hover,.philo-path-question-trigger:focus-visible { background:#f5f3ff; outline:none; }
.philo-path-question-trigger > span { grid-column:1; color:#665ed0; font-size:7.8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.philo-path-question-trigger > strong { grid-column:1; color:#46414d; font-family:Georgia,"Times New Roman",serif; font-size:14.5px; font-weight:600; line-height:1.28; }
.philo-path-question-trigger > i { position:relative; grid-column:2; grid-row:1/3; width:18px; height:18px; align-self:center; }
.philo-path-question-trigger > i::before,.philo-path-question-trigger > i::after { content:""; position:absolute; left:50%; top:50%; width:8px; height:1px; background:#8f89a0; transform:translate(-50%,-50%); transition:transform .23s ease; }
.philo-path-question-trigger > i::after { transform:translate(-50%,-50%) rotate(90deg); }
.philo-path-question.is-open .philo-path-question-trigger > i::after { transform:translate(-50%,-50%) rotate(0); }
.philo-path-question-panel-inner { padding:11px 12px 12px; border-top:1px solid rgba(71,65,111,.07); }
.philo-path-question-panel-inner > p { margin:0 0 9px; color:#817b88; font-size:9.8px; line-height:1.55; }
.philo-path-flow { display:flex; align-items:stretch; gap:7px; }
.philo-path-flow > a {
  position:relative;
  display:grid;
  flex:1 1 0;
  min-width:0;
  align-content:start;
  gap:3px;
  padding:10px 10px;
  border:1px solid rgba(71,65,111,.09);
  border-radius:9px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.philo-path-flow > a:hover,.philo-path-flow > a:focus-visible { border-color:rgba(108,99,255,.22); background:#f8f6ff; outline:none; transform:translateY(-1px); }
.philo-path-flow > a small { color:#635cc8; font-size:8.3px; font-weight:850; }
.philo-path-flow > a strong { color:#66606d; font-size:9.5px; font-weight:600; line-height:1.4; }
.philo-path-connector { display:grid; flex:0 0 17px; place-items:center; color:#aaa5b5; font-family:Georgia,"Times New Roman",serif; font-size:14px; }
.philo-path-flow > a.is-targeted { border-color:rgba(108,99,255,.35); background:#eae7ff; box-shadow:0 0 0 3px rgba(108,99,255,.08); animation:philoPathTarget 1.4s ease both; }
.philo-path-no-text { display:grid; gap:4px; margin-top:12px; padding:13px 14px; border:1px dashed rgba(71,65,111,.13); border-radius:10px; background:#faf9fc; }
.philo-path-no-text strong { color:#5f5966; font-size:10px; }
.philo-path-no-text span { color:#8b8591; font-size:9.5px; }
.philo-path-no-text a { margin-top:3px; color:#625ac8; font-size:8.8px; font-weight:800; text-decoration:none; }

/* Dialogues : un bloc unique, quatre lignes exclusives. */
.philo-dialogue-board { overflow:hidden; border:1px solid rgba(71,65,111,.11); border-radius:17px; background:#fff; box-shadow:0 8px 28px rgba(45,41,65,.03); }
.philo-dialogue-board .philo-relations-legend {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin:0;
  padding:10px 13px;
  border-bottom:1px solid rgba(71,65,111,.08);
  background:#faf9ff;
}
.philo-dialogue-board .philo-relations-legend > span { display:flex; align-items:center; gap:8px; padding:5px 9px; border-right:1px solid rgba(71,65,111,.075); }
.philo-dialogue-board .philo-relations-legend > span:last-child { border-right:0; }
.philo-dialogue-board .philo-relations-legend b { display:grid; width:24px; height:24px; flex:none; place-items:center; border-radius:7px; background:#eeecff; color:#5f57c8; font-size:13px; }
.philo-dialogue-board .philo-relations-legend > span > span { display:grid; gap:1px; }
.philo-dialogue-board .philo-relations-legend strong { color:#5c5663; font-size:9px; }
.philo-dialogue-board .philo-relations-legend small { color:#9993a0; font-size:7.7px; }
.philo-dialogue-item { border-bottom:1px solid rgba(71,65,111,.08); }
.philo-dialogue-item:last-child { border-bottom:0; }
.philo-dialogue-trigger {
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 24px;
  gap:11px;
  align-items:center;
  width:100%;
  min-height:70px;
  padding:11px 15px;
  border:0;
  background:#fff;
  color:inherit;
  cursor:pointer;
  font:inherit;
  text-align:left;
  transition:background .18s ease;
}
.philo-dialogue-trigger:hover,.philo-dialogue-trigger:focus-visible { background:#fbfaff; outline:none; }
.philo-dialogue-number { display:grid; width:31px; height:31px; place-items:center; border-radius:8px; background:#f0eeff; color:#5e57cb; font-size:8px; font-weight:900; }
.philo-dialogue-trigger > span:nth-child(2) { display:grid; gap:3px; }
.philo-dialogue-trigger small { color:#6961ca; font-size:8px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.philo-dialogue-trigger strong { color:#46414d; font-family:Georgia,"Times New Roman",serif; font-size:16px; font-weight:600; line-height:1.28; }
.philo-dialogue-trigger > i { position:relative; width:20px; height:20px; }
.philo-dialogue-trigger > i::before,.philo-dialogue-trigger > i::after { content:""; position:absolute; left:50%; top:50%; width:9px; height:1px; background:#8f89a0; transform:translate(-50%,-50%); transition:transform .24s ease; }
.philo-dialogue-trigger > i::after { transform:translate(-50%,-50%) rotate(90deg); }
.philo-dialogue-item.is-open .philo-dialogue-trigger > i::after { transform:translate(-50%,-50%) rotate(0); }
.philo-dialogue-panel-inner { padding:0 16px 16px 60px; border-top:1px solid rgba(71,65,111,.065); }
.philo-dialogue-panel-inner > p { margin:12px 0 0; color:#79737f; font-size:10.5px; line-height:1.58; }
.philo-dialogue-panel-inner .philo-thread-flow { margin:9px 0 0; padding:0 0 10px; border-bottom:1px solid rgba(71,65,111,.06); }
.philo-dialogue-panel-inner .philo-thread-debates { padding:10px 0 0; }
.philo-dialogue-panel-inner .philo-thread-note { margin:9px 0 0; padding:11px 12px; border-radius:9px; background:#faf9ff; }

/* Footer : un simple axe de navigation, parfaitement aligné. */
.philo-compass-end {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 21px;
  border:1px solid rgba(108,99,255,.11);
  border-radius:15px;
  background:#faf9ff;
}
.philo-compass-end > span { color:#77717e; font-size:10.5px; font-weight:750; }
.philo-compass-end > a { color:#5b54c7; font-size:10.5px; font-weight:850; text-decoration:none; }
.philo-compass-end > a:hover { text-decoration:underline; text-underline-offset:3px; }

/* Les détails du dictionnaire sont animés par JS. */
.philo-dictionary-grid details { will-change:height; }

@media (max-width:960px) {
  .philo-compass-hero--socrates::before { background-position:right center; background-size:63% auto; }
  .philo-master-track { grid-template-columns:1.15fr .9fr 1.05fr .95fr 1.05fr; padding-inline:12px; }
  .philo-paths-toolbar { grid-template-columns:1fr; }
  .philo-path-search { max-width:440px; }
  .philo-path-flow { flex-wrap:wrap; }
  .philo-path-flow > a { min-width:150px; }
  .philo-path-connector { flex:0 0 14px; }
}

@media (max-width:700px) {
  .philo-compass-hero--socrates { min-height:250px; padding:31px 23px 28px; }
  .philo-compass-hero--socrates::before {
    background:
      linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 42%,rgba(255,255,255,.78) 62%,rgba(255,255,255,.30) 82%,rgba(255,255,255,.08) 100%),
      url('../images/textes/philosophie/david-death-of-socrates.webp') right center / 78% auto no-repeat;
  }
  .philo-compass-hero--socrates h1 { max-width:85%; font-size:clamp(1.8rem,9vw,2.6rem); }
  .philo-compass-hero--socrates p { max-width:82%; font-size:12.5px; line-height:1.58; }
  .philo-view-tabs { gap:4px; padding:4px; }
  .philo-view-tabs button { grid-template-columns:28px minmax(0,1fr); min-height:54px; gap:6px; padding:7px; }
  .philo-view-tabs button > span:first-child { width:27px; height:27px; font-size:7px; }
  .philo-view-tabs strong { font-size:9.5px; }
  .philo-view-tabs small { font-size:6.9px; }
  .philo-master-timeline-intro { align-items:flex-start; flex-direction:column; padding:13px; }
  .philo-master-timeline-legend { justify-content:flex-start; }
  .philo-master-timeline-shell { overflow-x:auto; overflow-y:visible; min-height:350px; }
  .philo-master-timeline { min-width:760px; min-height:348px; }
  .philo-master-track { min-width:760px; min-height:348px; }
  .philo-master-era-plot { height:258px; }
  .philo-master-axis { top:138px; }
  .philo-master-author { top:calc(28px + (var(--lane) * 33px)); }
  .philo-space-heading { align-items:flex-start; flex-direction:column; gap:3px; }
  .philo-space-presets { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .philo-compass-page .philo-paths-section { padding:21px 14px; }
  .philo-paths-tabs { width:100%; }
  .philo-paths-tabs button { flex:1; justify-content:center; padding-inline:7px; font-size:9px; }
  .philo-path-search { max-width:none; }
  .philo-path-card-trigger { grid-template-columns:34px minmax(0,1fr) 20px; min-height:68px; padding:10px; }
  .philo-path-card .philo-path-number { width:31px; height:31px; }
  .philo-path-card .philo-path-title strong { font-size:14.5px; }
  .philo-path-card .philo-path-title em { display:none; }
  .philo-path-body { padding:0 9px 11px; }
  .philo-path-flow { flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; scroll-snap-type:x proximity; }
  .philo-path-flow > a { flex:0 0 190px; min-width:190px; scroll-snap-align:start; }
  .philo-dialogue-board .philo-relations-legend { grid-template-columns:1fr; }
  .philo-dialogue-board .philo-relations-legend > span { border-right:0; border-bottom:1px solid rgba(71,65,111,.065); }
  .philo-dialogue-board .philo-relations-legend > span:last-child { border-bottom:0; }
  .philo-dialogue-trigger { grid-template-columns:31px minmax(0,1fr) 20px; gap:8px; padding:10px; }
  .philo-dialogue-number { width:29px; height:29px; }
  .philo-dialogue-trigger strong { font-size:14px; }
  .philo-dialogue-panel-inner { padding:0 10px 12px; }
  .philo-compass-end { align-items:center; }
}

@media (max-width:520px) {
  .philo-compass-hero--socrates h1 { max-width:92%; }
  .philo-compass-hero--socrates p { max-width:88%; }
  .philo-space-presets { grid-template-columns:1fr; }
  .philo-compass-end { flex-direction:row; flex-wrap:wrap; }
  .philo-compass-end > a { margin-left:auto; }
}

/* ==========================================================
   BOUSSOLE PHILOSOPHIQUE V6 — hero Socrate, périodes en
   accordéon, frise responsive, recherches et dictionnaire
   ========================================================== */

/* Hero : l'image ne commence jamais par une coupure franche. */
.philo-compass-hero--socrates {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:292px;
  background:linear-gradient(135deg,#fff 0%,#fbfaff 68%,#f3f1ff 100%);
}
.philo-compass-hero--socrates::before {
  content:"";
  position:absolute;
  z-index:0;
  top:0;
  right:-2%;
  bottom:0;
  left:auto;
  width:70%;
  height:100%;
  background:url('../images/textes/philosophie/david-death-of-socrates.webp') 50% 47% / cover no-repeat;
  opacity:.96;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 13%,rgba(0,0,0,.48) 31%,#000 51%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 13%,rgba(0,0,0,.48) 31%,#000 51%,#000 100%);
  pointer-events:none;
}
.philo-compass-hero--socrates::after {
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.02) 55%,rgba(246,244,255,.10) 100%);
  pointer-events:none;
}
.philo-compass-hero--socrates .philo-compass-hero-copy { position:relative; z-index:2; max-width:650px; }
.philo-compass-hero--socrates h1 { max-width:630px; }
.philo-compass-hero--socrates p { max-width:585px; }

/* Une recherche compacte et cohérente dans chacune des trois vues. */
.philo-orientation-search {
  position:relative;
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:10px 14px;
  align-items:center;
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid rgba(71,65,111,.10);
  border-radius:12px;
  background:#fff;
}
.philo-orientation-search > label { color:#696372; font-size:9px; font-weight:850; letter-spacing:.04em; }
.philo-orientation-search > div { position:relative; display:flex; align-items:center; min-width:0; }
.philo-orientation-search-icon { position:absolute; left:11px; color:#8f8998; font-size:17px; line-height:1; pointer-events:none; transform:translateY(-1px); }
.philo-orientation-search input {
  width:100%;
  min-width:0;
  height:38px;
  padding:0 38px 0 34px;
  border:1px solid rgba(71,65,111,.11);
  border-radius:9px;
  background:#faf9ff;
  color:#4f4958;
  font:inherit;
  font-size:10px;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.philo-orientation-search input:focus { border-color:rgba(108,99,255,.34); background:#fff; outline:none; box-shadow:0 0 0 3px rgba(108,99,255,.07); }
.philo-orientation-search button {
  position:absolute;
  right:6px;
  display:grid;
  width:27px;
  height:27px;
  place-items:center;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#938e9b;
  cursor:pointer;
  font:inherit;
  font-size:16px;
}
.philo-orientation-search button:hover,.philo-orientation-search button:focus-visible { background:#f0eeff; color:#5e56c9; outline:none; }
.philo-orientation-search-feedback { grid-column:2; margin:-4px 2px 0; color:#756dc3; font-size:8.8px; line-height:1.45; }

/* Périodes : 01 → 08 deviennent un bloc d'accordéons. */
.philo-guided-timeline { overflow:visible; border:0; background:transparent; box-shadow:none; }
.philo-era-accordion-list {
  overflow:hidden;
  border:1px solid rgba(71,65,111,.11);
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 26px rgba(42,38,61,.035);
}
.philo-guided-timeline .philo-era-accordion {
  display:block;
  border:0;
  border-bottom:1px solid rgba(71,65,111,.075);
  background:#fff;
}
.philo-guided-timeline .philo-era-accordion:last-child { border-bottom:0; }
.philo-era-accordion[hidden] { display:none !important; }
.philo-era-trigger {
  display:grid;
  grid-template-columns:39px minmax(0,1fr) minmax(135px,190px) 22px;
  gap:11px;
  align-items:center;
  width:100%;
  min-height:72px;
  padding:11px 14px;
  border:0;
  background:#fff;
  color:inherit;
  cursor:pointer;
  font:inherit;
  text-align:left;
  transition:background .2s ease;
}
.philo-era-trigger:hover,.philo-era-trigger:focus-visible { background:#fbfaff; outline:none; }
.philo-era-accordion.is-open .philo-era-trigger { background:linear-gradient(90deg,#f8f6ff,#fff); }
.philo-era-trigger .philo-era-number {
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border-radius:10px;
  background:#f0eeff;
  color:#5f57ca;
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
}
.philo-era-trigger-copy { display:grid; gap:3px; min-width:0; }
.philo-era-trigger-copy small { color:#766fca; font-size:8px; font-weight:850; letter-spacing:.075em; text-transform:uppercase; }
.philo-era-trigger-copy strong { color:#433e49; font-family:Georgia,"Times New Roman",serif; font-size:17px; font-weight:600; line-height:1.23; }
.philo-era-trigger time { color:#797482; font-size:9.5px; font-weight:700; line-height:1.4; text-align:right; }
.philo-era-trigger > i { position:relative; width:20px; height:20px; }
.philo-era-trigger > i::before,.philo-era-trigger > i::after { content:""; position:absolute; left:50%; top:50%; width:9px; height:1px; background:#8f8999; transform:translate(-50%,-50%); transition:transform .25s ease; }
.philo-era-trigger > i::after { transform:translate(-50%,-50%) rotate(90deg); }
.philo-era-accordion.is-open .philo-era-trigger > i::after { transform:translate(-50%,-50%) rotate(0); }
.philo-era-panel { overflow:hidden; height:0; }
.philo-era-panel-inner { padding:0 18px 18px 64px; border-top:1px solid rgba(71,65,111,.06); }
.philo-era-intro {
  margin:14px 0 13px;
  padding:12px 14px;
  border-left:2px solid rgba(108,99,255,.36);
  border-radius:0 10px 10px 0;
  background:#faf9ff;
  color:#66616e;
  font-size:11.5px;
  line-height:1.65;
}
.philo-guided-timeline .philo-author-row { margin-top:0; }
.philo-guided-timeline .philo-author-chip.is-search-match { border-color:rgba(108,99,255,.38); background:#eae7ff; box-shadow:0 0 0 3px rgba(108,99,255,.07); }
.philo-guided-timeline .philo-era-traditions { margin-top:16px; }

/* Frise : aucune largeur hors écran sur desktop. Les informations passent dans
   une fiche fixe sous la frise, pas dans une bulle qui déborde. */
.philo-master-timeline-shell {
  overflow:hidden;
  min-height:0;
  border:1px solid rgba(71,65,111,.11);
  border-radius:17px;
  background:linear-gradient(180deg,#fff,#fbfaff);
}
.philo-master-timeline { width:100%; min-width:0; min-height:0; }
.philo-master-track {
  position:relative;
  display:grid;
  grid-template-columns:1.15fr .82fr 1.08fr .92fr 1.03fr;
  width:100%;
  min-width:0;
  min-height:310px;
  padding:17px 17px 10px;
}
.philo-master-axis { left:18px; right:18px; top:139px; }
.philo-master-era { min-width:0; }
.philo-master-era-plot { position:relative; height:246px; }
.philo-master-era footer { min-height:48px; padding:8px 5px 0; }
.philo-master-era footer strong { font-size:10px; }
.philo-master-era footer small { font-size:7.6px; }
.philo-master-era-plot .philo-master-author {
  top:calc(29px + (var(--lane) * 29px));
  bottom:auto;
  width:17px;
  height:17px;
}
.philo-master-era-plot .philo-master-author:nth-child(even) { top:auto; bottom:calc(29px + (var(--lane) * 29px)); }
.philo-master-author-label { display:none; }
.philo-master-author.is-search-muted { opacity:.16; }
.philo-master-author.is-search-match { z-index:8; opacity:1; }
.philo-master-author.is-search-match .philo-master-author-dot { background:#5e55d8; transform:scale(1.65); box-shadow:0 0 0 5px rgba(108,99,255,.12); }
.philo-master-focus {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:2px 18px;
  align-items:start;
  min-height:91px;
  padding:14px 17px 15px;
  border-top:1px solid rgba(71,65,111,.08);
  background:#faf9ff;
}
.philo-master-focus > span { grid-column:1; color:#766ec7; font-size:8px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.philo-master-focus > strong { grid-column:1; color:#45404d; font-family:Georgia,"Times New Roman",serif; font-size:17px; font-weight:600; }
.philo-master-focus > strong i { color:#9a7920; font-size:9px; font-style:normal; vertical-align:top; }
.philo-master-focus > p { grid-column:1; margin:3px 0 0; max-width:700px; color:#7b7582; font-size:10px; line-height:1.5; }
.philo-master-focus > a { grid-column:2; grid-row:1/4; align-self:center; padding:8px 10px; border-radius:8px; background:#ebe8ff; color:#5a52c5; font-size:8.5px; font-weight:850; text-decoration:none; }
.philo-master-focus > a:hover { background:#dfdcff; }
.philo-master-timeline-hint { margin-top:8px; }

/* Carte : la recherche fait elle-même changer l'époque et ouvrir le lieu. */
.philo-space-heading { margin-top:0; }
.philo-space-heading strong { font-size:16px; }
.philo-space-heading span { font-size:9.5px; }
.philo-map-note { margin-top:7px; }

/* Parcours : le troisième onglet devient le mode naturel de toute recherche. */
.philo-paths-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); }
.philo-paths-tabs button[data-philo-path-tab="all"] { border-left:1px solid rgba(71,65,111,.07); }

/* Dictionnaire : même logique de lecture que le dictionnaire biblique. */
.philo-deep-dictionary {
  position:relative;
  padding:17px;
  border:1px solid rgba(108,99,255,.12);
  border-radius:18px;
  background:linear-gradient(145deg,#faf9ff,#fff 54%);
  box-shadow:0 9px 30px rgba(46,42,78,.035);
}
.philo-deep-dictionary-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:12px; }
.philo-deep-dictionary-head > div { display:grid; gap:3px; }
.philo-deep-dictionary-head > div > span { color:#665fca; font-size:8px; font-weight:900; letter-spacing:.095em; text-transform:uppercase; }
.philo-deep-dictionary-head h3 { margin:0; color:#443f4b; font-family:Georgia,"Times New Roman",serif; font-size:21px; font-weight:600; }
.philo-deep-dictionary-count { color:#918b99; font-size:9px; }
.philo-deep-dictionary-search {
  display:grid;
  grid-template-columns:35px minmax(0,1fr);
  align-items:center;
  min-height:46px;
  border:1px solid rgba(71,65,111,.12);
  border-radius:11px;
  background:#fff;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.philo-deep-dictionary-search:focus-within { border-color:rgba(108,99,255,.34); box-shadow:0 0 0 3px rgba(108,99,255,.07); }
.philo-deep-dictionary-search > span { display:grid; place-items:center; color:#8e8898; font-size:18px; }
.philo-deep-dictionary-search input { width:100%; min-width:0; height:44px; padding:0 12px 0 0; border:0; outline:0; background:transparent; color:#4d4755; font:inherit; font-size:11px; }
.philo-deep-dictionary-search input::placeholder { color:#9d97a4; }
.philo-deep-dictionary-results {
  position:absolute;
  z-index:30;
  top:125px;
  left:17px;
  right:17px;
  overflow:auto;
  max-height:286px;
  padding:5px;
  border:1px solid rgba(71,65,111,.12);
  border-radius:11px;
  background:#fff;
  box-shadow:0 16px 36px rgba(39,35,55,.13);
}
.philo-deep-dictionary-results button { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:9px 10px; border:0; border-radius:8px; background:transparent; cursor:pointer; font:inherit; text-align:left; }
.philo-deep-dictionary-results button:hover,.philo-deep-dictionary-results button:focus-visible { background:#f3f1ff; outline:none; }
.philo-deep-dictionary-results button > span { display:grid; gap:2px; }
.philo-deep-dictionary-results strong { color:#4e4855; font-size:10px; }
.philo-deep-dictionary-results small { color:#938d9a; font-size:8px; }
.philo-deep-dictionary-results i { color:#655dcb; font-size:10px; font-style:normal; }
.philo-dictionary-no-result { padding:11px; color:#8f8996; font-size:9.5px; }
.philo-deep-dictionary-starters { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:9px; }
.philo-deep-dictionary-starters > span { margin-right:3px; color:#96909d; font-size:8px; }
.philo-deep-dictionary-starters button,.philo-deep-dictionary-related button {
  padding:5px 8px;
  border:1px solid rgba(108,99,255,.12);
  border-radius:999px;
  background:#f5f3ff;
  color:#625ac8;
  cursor:pointer;
  font:inherit;
  font-size:8.5px;
  font-weight:750;
}
.philo-deep-dictionary-starters button:hover,.philo-deep-dictionary-related button:hover,.philo-deep-dictionary-starters button:focus-visible,.philo-deep-dictionary-related button:focus-visible { border-color:rgba(108,99,255,.3); background:#ebe8ff; outline:none; }
.philo-deep-dictionary-detail,.philo-deep-dictionary-empty { margin-top:13px; padding:15px 16px; border:1px solid rgba(71,65,111,.085); border-radius:13px; background:#fff; }
.philo-deep-dictionary-empty { display:flex; align-items:center; gap:12px; min-height:86px; }
.philo-deep-dictionary-empty > span { display:grid; width:38px; height:38px; flex:none; place-items:center; border-radius:10px; background:#efedff; color:#5f57cb; font-family:Georgia,"Times New Roman",serif; font-size:17px; }
.philo-deep-dictionary-empty strong { color:#514b58; font-size:10.5px; }
.philo-deep-dictionary-empty p { margin:3px 0 0; color:#8e8895; font-size:9.5px; line-height:1.5; }
.philo-deep-dictionary-content header { display:grid; gap:4px; margin-bottom:10px; padding-bottom:10px; border-bottom:1px solid rgba(71,65,111,.07); }
.philo-deep-dictionary-content header > span { color:#6961ca; font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.philo-deep-dictionary-content h4 { margin:0; color:#443e4a; font-family:Georgia,"Times New Roman",serif; font-size:25px; font-weight:600; }
.philo-deep-dictionary-definition { margin:0; max-width:900px; color:#625c68; font-size:11.5px; line-height:1.7; }
.philo-deep-dictionary-related { display:grid; grid-template-columns:105px minmax(0,1fr); gap:9px; align-items:center; margin-top:13px; padding-top:11px; border-top:1px solid rgba(71,65,111,.06); }
.philo-deep-dictionary-related > span { color:#918a98; font-size:8px; font-weight:800; text-transform:uppercase; }
.philo-deep-dictionary-related > div { display:flex; flex-wrap:wrap; gap:5px; }
.philo-deep-dictionary-related > div > span { color:#9a94a0; font-size:8.5px; }
.philo-deep-dictionary-note { margin:9px 2px 0; color:#9b95a1; font-size:8px; line-height:1.45; }

@media (max-width:960px) {
  .philo-compass-hero--socrates::before { right:-7%; width:75%; background-position:51% 48%; }
  .philo-era-trigger { grid-template-columns:39px minmax(0,1fr) 145px 22px; }
  .philo-master-track { grid-template-columns:1.12fr .84fr 1.05fr .96fr 1.03fr; padding-inline:12px; }
}

@media (max-width:700px) {
  .philo-compass-hero--socrates {
    min-height:305px;
    padding:28px 20px 25px;
    background:linear-gradient(180deg,#fff 0%,#fbfaff 100%);
  }
  .philo-compass-hero--socrates::before {
    top:0;
    right:-28%;
    width:118%;
    height:100%;
    background-position:61% 45%;
    background-size:cover;
    opacity:.72;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.03) 24%,rgba(0,0,0,.30) 48%,#000 74%,#000 100%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.03) 24%,rgba(0,0,0,.30) 48%,#000 74%,#000 100%);
  }
  .philo-compass-hero--socrates::after { background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.18)); }
  .philo-compass-hero--socrates .philo-compass-hero-copy { max-width:100%; }
  .philo-compass-hero--socrates h1 { max-width:78%; font-size:clamp(1.72rem,8.4vw,2.35rem); }
  .philo-compass-hero--socrates p { max-width:78%; font-size:11.5px; line-height:1.6; }

  .philo-orientation-search { grid-template-columns:1fr; gap:6px; padding:9px; }
  .philo-orientation-search > label { padding-left:2px; }
  .philo-orientation-search-feedback { grid-column:1; margin-top:-1px; }

  .philo-era-trigger { grid-template-columns:35px minmax(0,1fr) 20px; gap:9px; min-height:68px; padding:10px; }
  .philo-era-trigger .philo-era-number { width:33px; height:33px; }
  .philo-era-trigger-copy strong { font-size:14.5px; }
  .philo-era-trigger time { grid-column:2; grid-row:2; text-align:left; font-size:8.5px; }
  .philo-era-trigger > i { grid-column:3; grid-row:1/3; }
  .philo-era-panel-inner { padding:0 10px 13px; }
  .philo-era-intro { margin:11px 0; padding:10px 11px; font-size:10.5px; }

  /* La frise devient verticale/compacte : pas de scrolling latéral. */
  .philo-master-timeline-shell { overflow:hidden; }
  .philo-master-timeline { min-width:0; }
  .philo-master-track { display:block; min-width:0; min-height:0; padding:0; }
  .philo-master-axis { display:none; }
  .philo-master-era { display:flex; flex-direction:column-reverse; border-right:0; border-bottom:1px solid rgba(71,65,111,.08); }
  .philo-master-era:last-child { border-bottom:0; }
  .philo-master-era footer { min-height:0; padding:10px 11px 8px; border-top:0; border-bottom:1px solid rgba(71,65,111,.055); text-align:left; }
  .philo-master-era footer strong { font-size:10.5px; }
  .philo-master-era footer small { font-size:8px; }
  .philo-master-era-plot { display:flex; flex-wrap:wrap; gap:6px; height:auto; min-height:0; padding:9px 10px 11px; }
  .philo-master-era-plot .philo-master-author,
  .philo-master-era-plot .philo-master-author:nth-child(even) {
    position:relative;
    top:auto;
    bottom:auto;
    left:auto !important;
    display:inline-flex;
    width:auto;
    height:28px;
    gap:5px;
    padding:0 8px;
    border:1px solid rgba(71,65,111,.09);
    border-radius:999px;
    background:#fff;
    transform:none;
  }
  .philo-master-author-label { display:inline; color:#625d69; font-size:8.5px; font-weight:750; white-space:nowrap; }
  .philo-master-author-star { position:static; order:3; color:#9a7920; font-size:7px; }
  .philo-master-author.is-search-muted { display:none; }
  .philo-master-author.is-search-match { border-color:rgba(108,99,255,.28); background:#efedff; }
  .philo-master-focus { grid-template-columns:1fr; min-height:0; padding:12px; }
  .philo-master-focus > a { grid-column:1; grid-row:auto; justify-self:start; margin-top:4px; }
  .philo-master-timeline-hint { font-size:8.8px; }

  .philo-paths-tabs { width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .philo-paths-tabs button { min-width:0; padding-inline:6px; font-size:8.3px; }

  .philo-deep-dictionary { padding:12px; border-radius:15px; }
  .philo-deep-dictionary-head { align-items:flex-start; }
  .philo-deep-dictionary-head h3 { font-size:19px; }
  .philo-deep-dictionary-count { font-size:8px; }
  .philo-deep-dictionary-results { top:116px; left:12px; right:12px; }
  .philo-deep-dictionary-content h4 { font-size:22px; }
  .philo-deep-dictionary-definition { font-size:10.5px; }
  .philo-deep-dictionary-related { grid-template-columns:1fr; }
}

@media (max-width:520px) {
  .philo-compass-hero--socrates { min-height:325px; }
  .philo-compass-hero--socrates::before { right:-42%; width:138%; background-position:61% 48%; opacity:.64; }
  .philo-compass-hero--socrates h1 { max-width:84%; }
  .philo-compass-hero--socrates p { max-width:82%; }
  .philo-view-tabs button { grid-template-columns:24px minmax(0,1fr); padding:6px; }
  .philo-view-tabs button > span:first-child { width:24px; height:24px; }
  .philo-view-tabs small { display:none; }
  .philo-paths-tabs button { gap:4px; font-size:7.7px; }
  .philo-paths-tabs button span { min-width:18px; height:18px; }
}

/* Cible directe depuis une fiche vers un courant de la Boussole. */
.philo-era-tradition.is-linked-target { box-shadow:0 0 0 2px rgba(108,99,255,.2),0 12px 30px rgba(46,38,110,.08); transition:box-shadow .3s ease; }

/* ============================================================
   Boussole philosophique — correctifs de contenance et navigation mobile
   2026-08-08
   ============================================================ */

/* La frise reste strictement dans la largeur de son panneau. */
.philo-master-timeline-shell,
.philo-master-timeline,
.philo-master-track,
.philo-master-era,
.philo-master-era-plot,
.philo-master-focus {
  box-sizing:border-box;
  max-width:100%;
  min-width:0;
}
.philo-master-timeline-shell { width:100%; overflow:hidden; }
.philo-master-timeline { width:100%; overflow:hidden; }
.philo-master-track { width:100%; overflow:hidden; }
.philo-master-era { width:100%; overflow:hidden; }
.philo-master-era-plot { width:100%; overflow:hidden; }

/* Le dictionnaire ne réserve plus de faux état vide. */
.philo-deep-dictionary-detail[hidden] { display:none !important; }

@media (max-width:700px) {
  /* Navigation interne : 4 destinations lisibles, sans ellipses. */
  .philo-compass-page .philo-compass-jump {
    position:static;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
    margin:15px 0 34px;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
  }
  .philo-compass-page .philo-compass-jump a {
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:9px;
    row-gap:2px;
    align-items:center;
    min-height:66px;
    padding:10px 11px;
    border:1px solid rgba(71,65,111,.10);
    border-radius:13px;
    background:#fff;
    box-shadow:0 7px 18px rgba(47,43,70,.04);
  }
  .philo-compass-page .philo-compass-jump a > span {
    grid-row:1/3;
    width:30px;
    height:30px;
    border-radius:9px;
    font-size:8px;
  }
  .philo-compass-page .philo-compass-jump strong,
  .philo-compass-page .philo-compass-jump small {
    overflow:visible;
    text-overflow:clip;
    white-space:normal;
  }
  .philo-compass-page .philo-compass-jump strong {
    font-size:10.5px;
    line-height:1.25;
  }
  .philo-compass-page .philo-compass-jump small {
    color:#938e9d;
    font-size:8px;
    line-height:1.3;
  }

  /* Frise mobile : grille de repères réellement contenue dans chaque époque. */
  .philo-master-track { display:block; width:100%; padding:0; }
  .philo-master-era { display:flex; width:100%; flex-direction:column-reverse; }
  .philo-master-era-plot {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    width:100%;
    height:auto;
    min-height:0;
    padding:9px 10px 11px;
  }
  .philo-master-era-plot .philo-master-author,
  .philo-master-era-plot .philo-master-author:nth-child(even) {
    position:relative;
    top:auto;
    bottom:auto;
    left:auto !important;
    display:flex;
    width:100%;
    max-width:100%;
    height:30px;
    min-width:0;
    justify-content:flex-start;
    gap:6px;
    padding:0 8px;
    overflow:hidden;
    border:1px solid rgba(71,65,111,.09);
    border-radius:999px;
    background:#fff;
    transform:none;
    box-sizing:border-box;
  }
  .philo-master-author-dot { flex:none; }
  .philo-master-author-label {
    display:block;
    min-width:0;
    overflow:hidden;
    color:#625d69;
    font-size:8.5px;
    font-weight:750;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .philo-master-author-star { position:static; flex:none; margin-left:auto; order:3; }
  .philo-master-focus { width:100%; overflow:hidden; }
}

@media (max-width:390px) {
  .philo-compass-page .philo-compass-jump { grid-template-columns:1fr; gap:7px; }
  .philo-compass-page .philo-compass-jump a { min-height:58px; }
  .philo-master-era-plot { grid-template-columns:1fr; }
}

/* ============================================================
   Boussole philosophique V8 — lisibilité mobile + frise sûre
   ============================================================ */

/* Frise desktop : 5 périodes strictement contenues, avec une marge de
   sécurité à gauche et à droite. Les libellés peuvent toujours revenir à la ligne. */
.philo-master-timeline-shell,
.philo-master-timeline,
.philo-master-track { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }
.philo-master-track {
  grid-template-columns:repeat(5,minmax(0,1fr));
  padding:18px 26px 14px;
  overflow:hidden;
}
.philo-master-axis { left:26px; right:26px; }
.philo-master-era { min-width:0; width:auto; overflow:visible; }
.philo-master-era-plot { min-width:0; width:auto; overflow:visible; }
.philo-master-era footer {
  min-width:0;
  padding-inline:5px;
  overflow:visible;
}
.philo-master-era footer strong,
.philo-master-era footer small {
  display:block;
  max-width:100%;
  overflow-wrap:anywhere;
  white-space:normal;
}
.philo-master-era:last-child footer { padding-right:8px; }

/* Les titres de textes des parcours ne doivent jamais être tronqués. */
.philo-path-flow > a strong {
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
}

@media (max-width:700px) {
  /* Socrate : on cale l'image depuis la gauche de son propre cadre pour placer
     le visage à droite du texte, puis on masque fortement la moitié gauche. */
  .philo-compass-hero--socrates {
    min-height:340px;
    padding:27px 20px 24px;
  }
  .philo-compass-hero--socrates::before {
    top:0;
    right:0;
    width:100%;
    height:100%;
    background-position:left center;
    background-size:auto 106%;
    opacity:.82;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 26%,rgba(0,0,0,.08) 39%,rgba(0,0,0,.46) 58%,#000 76%,#000 100%);
    mask-image:linear-gradient(90deg,transparent 0%,transparent 26%,rgba(0,0,0,.08) 39%,rgba(0,0,0,.46) 58%,#000 76%,#000 100%);
  }
  .philo-compass-hero--socrates::after {
    background:linear-gradient(90deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.02) 58%,rgba(246,244,255,.08) 100%);
  }
  .philo-compass-hero--socrates h1 { max-width:70%; }
  .philo-compass-hero--socrates p { max-width:68%; }

  /* Frise mobile : une vraie liste verticale. Une seule colonne évite tout
     rognage, même avec les noms les plus longs. */
  .philo-master-timeline-shell,
  .philo-master-timeline,
  .philo-master-track,
  .philo-master-era,
  .philo-master-era-plot { width:100%; max-width:100%; min-width:0; overflow:hidden; }
  .philo-master-track { display:block; padding:0; }
  .philo-master-era { display:flex; flex-direction:column-reverse; }
  .philo-master-era-plot {
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    padding:9px 10px 12px;
  }
  .philo-master-era-plot .philo-master-author,
  .philo-master-era-plot .philo-master-author:nth-child(even) {
    width:100%;
    max-width:100%;
    min-width:0;
    height:auto;
    min-height:31px;
    padding:6px 9px;
    overflow:visible;
    box-sizing:border-box;
  }
  .philo-master-author-label {
    min-width:0;
    overflow:visible;
    text-overflow:clip;
    white-space:normal;
    line-height:1.25;
  }
  .philo-master-era footer {
    width:100%;
    padding:11px 12px 9px;
    box-sizing:border-box;
    overflow:visible;
  }
  .philo-master-era footer strong,
  .philo-master-era footer small { overflow-wrap:normal; }

  /* Parcours : plus de carrousel horizontal qui coupe les intitulés. Les textes
     d'une même controverse restent reliés verticalement. */
  .philo-path-flow {
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    width:100%;
    overflow:visible;
    padding:0;
    scroll-snap-type:none;
  }
  .philo-path-flow > a {
    width:100%;
    min-width:0;
    max-width:100%;
    min-height:0;
    padding:10px 11px;
    box-sizing:border-box;
    scroll-snap-align:none;
  }
  .philo-path-flow > a small { font-size:8.6px; }
  .philo-path-flow > a strong { font-size:9.7px; line-height:1.45; }
  .philo-path-connector {
    width:100%;
    height:22px;
    min-width:0;
    font-size:0;
  }
  .philo-path-connector::before {
    content:"↓";
    color:#aaa5b5;
    font-family:Georgia,"Times New Roman",serif;
    font-size:14px;
  }
}

@media (max-width:520px) {
  .philo-compass-hero--socrates { min-height:355px; }
  .philo-compass-hero--socrates::before {
    background-position:left center;
    background-size:auto 108%;
    opacity:.86;
  }
  .philo-compass-hero--socrates h1 { max-width:68%; }
  .philo-compass-hero--socrates p { max-width:66%; }
}

/* Info courte au survol des auteurs dans la vue Périodes. */
.philo-author-tooltip {
  position:fixed;
  z-index:9999;
  width:min(285px,calc(100vw - 20px));
  padding:9px 11px;
  border:1px solid rgba(71,65,111,.12);
  border-radius:9px;
  background:rgba(48,44,57,.97);
  color:#fff;
  box-shadow:0 10px 28px rgba(28,25,36,.18);
  font-size:10px;
  line-height:1.48;
  pointer-events:none;
}
.philo-author-tooltip[hidden] { display:none !important; }
@media (hover:none) {
  .philo-author-tooltip { display:none !important; }
}


/* ============================================================
   Boussole philosophique V9 — frise centrée + dictionnaire riche
   ============================================================ */

/* Frise : un cadre intérieur centré laisse toujours une zone de respiration
   à droite et à gauche, y compris pour la dernière époque. */
.philo-master-timeline-shell { overflow:hidden; }
.philo-master-timeline { overflow:hidden; }
.philo-master-track {
  width:calc(100% - 72px);
  max-width:1080px;
  margin-inline:auto;
  padding:18px 0 14px;
  grid-template-columns:repeat(5,minmax(0,1fr));
  overflow:visible;
  box-sizing:border-box;
}
.philo-master-axis { left:6px; right:6px; }
.philo-master-era,
.philo-master-era-plot { overflow:visible; }
.philo-master-era footer { padding-inline:8px; }
.philo-master-era:first-of-type footer { padding-left:12px; }
.philo-master-era:last-of-type footer { padding-right:12px; }
.philo-master-focus > p {
  max-width:820px;
  font-size:11.2px;
  line-height:1.65;
}

/* Dictionnaire : lecture longue, hiérarchisée, sans perdre la simplicité de la recherche. */
.philo-deep-dictionary { padding:19px; }
.philo-deep-dictionary-results { max-height:340px; }
.philo-deep-dictionary-results button { align-items:flex-start; }
.philo-deep-dictionary-results button small {
  max-width:760px;
  font-size:8.5px;
  line-height:1.4;
}
.philo-deep-dictionary-detail {
  padding:0;
  overflow:hidden;
  background:linear-gradient(180deg,#fff,#fdfcff);
}
.philo-deep-dictionary-content > header {
  padding:20px 21px 16px;
  margin:0;
  background:linear-gradient(135deg,#f5f3ff,#fff 62%);
}
.philo-deep-dictionary-content h4 { font-size:30px; }
.philo-dictionary-rich { padding:20px 21px 5px; }
.philo-dict-lead {
  max-width:950px;
  margin:0 0 18px;
  color:#504a57;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  line-height:1.7;
}
.philo-dict-overview {
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:12px;
  align-items:start;
}
.philo-dict-card {
  padding:15px 16px;
  border:1px solid rgba(71,65,111,.09);
  border-radius:13px;
  background:#fff;
}
.philo-dict-card h5,
.philo-dict-subhead h5 {
  margin:0;
  color:#47414e;
  font-family:Georgia,"Times New Roman",serif;
  font-size:15px;
  font-weight:600;
}
.philo-dict-card p { margin:8px 0 0; color:#716b77; font-size:10.8px; line-height:1.65; }
.philo-dict-card ul { display:grid; gap:8px; margin:10px 0 0; padding:0; list-style:none; }
.philo-dict-card li {
  position:relative;
  padding-left:14px;
  color:#655f6c;
  font-size:10.7px;
  line-height:1.62;
}
.philo-dict-card li::before {
  content:"";
  position:absolute;
  left:0;
  top:.69em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#766cf0;
}
.philo-dict-authors { margin-top:14px; padding-top:15px; border-top:1px solid rgba(71,65,111,.07); }
.philo-dict-subhead { display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin-bottom:10px; }
.philo-dict-subhead span { color:#7169cf; font-size:8px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.philo-dict-author-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.philo-dict-author-grid article {
  padding:12px 13px;
  border:1px solid rgba(71,65,111,.08);
  border-radius:11px;
  background:#faf9ff;
}
.philo-dict-author-grid strong { color:#534d5a; font-size:9.5px; }
.philo-dict-author-grid p { margin:5px 0 0; color:#77717e; font-size:9.8px; line-height:1.55; }
.philo-dict-inline-link {
  display:inline;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:#5f55d5;
  cursor:pointer;
  font:inherit;
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:rgba(95,85,213,.22);
  text-underline-offset:2px;
}
.philo-dict-inline-link:hover,
.philo-dict-inline-link:focus-visible { color:#463cb9; text-decoration-color:currentColor; outline:none; }
.philo-deep-dictionary-related {
  margin:15px 21px 18px;
  padding-top:13px;
}
.philo-deep-dictionary-note { margin:10px 2px 0; max-width:920px; font-size:8.8px; line-height:1.5; }

@media (max-width:700px) {
  /* Frise : la liste est réellement centrée dans la carte mobile. */
  .philo-master-track {
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
  }
  .philo-master-era {
    align-items:center;
    width:100%;
  }
  .philo-master-era-plot,
  .philo-master-era footer {
    width:calc(100% - 32px);
    max-width:360px;
    margin-inline:auto;
    box-sizing:border-box;
  }
  .philo-master-era-plot { padding:9px 0 12px; }
  .philo-master-era-plot .philo-master-author,
  .philo-master-era-plot .philo-master-author:nth-child(even) {
    width:100%;
    margin-inline:auto;
  }
  .philo-master-era footer { padding:11px 4px 9px; text-align:center; }
  .philo-master-focus { width:100%; padding:14px 16px; box-sizing:border-box; }
  .philo-master-focus > p { font-size:10.2px; line-height:1.6; }

  .philo-deep-dictionary { padding:13px; }
  .philo-deep-dictionary-content > header { padding:17px 15px 13px; }
  .philo-deep-dictionary-content h4 { font-size:25px; }
  .philo-dictionary-rich { padding:16px 15px 4px; }
  .philo-dict-lead { margin-bottom:14px; font-size:14px; line-height:1.65; }
  .philo-dict-overview { grid-template-columns:1fr; }
  .philo-dict-card { padding:13px; }
  .philo-dict-card p,.philo-dict-card li { font-size:10.2px; }
  .philo-dict-author-grid { grid-template-columns:1fr; }
  .philo-deep-dictionary-related { margin:13px 15px 15px; }
  .philo-deep-dictionary-results button small { font-size:8px; }
}
.philo-dict-concept-static { font-weight:700; color:#5b5662; }
.philo-dict-related-static {
  display:inline-flex;
  align-items:center;
  padding:6px 8px;
  border-radius:999px;
  background:#f5f4f8;
  color:#918b98;
  font-size:8.5px;
}
/* Neutralise l'ancien inset absolu de la première version de la frise. */
.philo-master-track {
  inset:auto !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
}


/* ============================================================
   Boussole philosophique — dictionnaire encyclopédique v10
   270 entrées : notions, auteurs, courants, vocabulaire et repères
   ============================================================ */
.philo-dictionary-browser {
  display:grid;
  gap:10px;
  margin-top:11px;
  padding:12px;
  border:1px solid rgba(71,65,111,.075);
  border-radius:13px;
  background:linear-gradient(180deg,#fcfbff,#fff);
}
.philo-dictionary-filters {
  display:grid;
  grid-template-columns:115px minmax(0,1fr);
  gap:10px;
  align-items:start;
}
.philo-dictionary-filters > span {
  padding-top:7px;
  color:#918a98;
  font-size:8px;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.philo-dictionary-filters > div {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.philo-dictionary-filters button {
  min-height:28px;
  padding:5px 10px;
  border:1px solid rgba(71,65,111,.09);
  border-radius:999px;
  background:#fff;
  color:#756f7d;
  cursor:pointer;
  font:inherit;
  font-size:8.7px;
  font-weight:760;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.philo-dictionary-filters button:hover,
.philo-dictionary-filters button:focus-visible {
  border-color:rgba(108,99,255,.27);
  color:#5b53c8;
  outline:none;
}
.philo-dictionary-filters button.is-active {
  border-color:rgba(108,99,255,.2);
  background:#efedff;
  color:#5c53cd;
}
.philo-dictionary-alphabet {
  display:grid;
  grid-template-columns:repeat(26,minmax(24px,1fr));
  gap:3px;
  padding-top:9px;
  border-top:1px solid rgba(71,65,111,.06);
}
.philo-dictionary-alphabet button {
  display:grid;
  min-width:0;
  height:27px;
  place-items:center;
  padding:0;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#8b8592;
  cursor:pointer;
  font:inherit;
  font-size:8.5px;
  font-weight:850;
  transition:background .16s ease,color .16s ease;
}
.philo-dictionary-alphabet button:hover,
.philo-dictionary-alphabet button:focus-visible,
.philo-dictionary-alphabet button.is-active {
  background:#efedff;
  color:#5f56cf;
  outline:none;
}

/* Les résultats deviennent un panneau en flux : aucune superposition sur les 270 entrées. */
.philo-deep-dictionary-results {
  position:relative;
  z-index:4;
  top:auto;
  left:auto;
  right:auto;
  max-height:410px;
  margin-top:8px;
  box-shadow:0 12px 26px rgba(39,35,55,.08);
}
.philo-deep-dictionary-results button > span {
  min-width:0;
  flex:1;
}
.philo-deep-dictionary-results button em {
  display:block;
  margin-bottom:2px;
  color:#7169cf;
  font-size:6.9px;
  font-style:normal;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.philo-deep-dictionary-results strong {
  display:block;
  font-size:10.4px;
}
.philo-deep-dictionary-results small {
  display:block;
  margin-top:2px;
}
.philo-dictionary-more {
  padding:9px 11px 7px;
  border-top:1px solid rgba(71,65,111,.06);
  color:#938d99;
  font-size:8px;
  line-height:1.45;
}

/* Entrées d'auteurs : biographie courte + œuvres + concepts, distinctes des notions. */
.philo-dict-author-meta {
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:11px;
  align-items:stretch;
  margin-bottom:12px;
}
.philo-dict-author-dates {
  display:flex;
  min-height:98px;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  padding:14px;
  border:1px solid rgba(108,99,255,.11);
  border-radius:13px;
  background:linear-gradient(145deg,#f2f0ff,#faf9ff);
}
.philo-dict-author-dates span {
  color:#7169cf;
  font-size:7.4px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.philo-dict-author-dates strong {
  color:#4c4654;
  font-family:Georgia,"Times New Roman",serif;
  font-size:15px;
  font-weight:600;
  line-height:1.35;
}
.philo-dict-author-known {
  min-height:98px;
  box-sizing:border-box;
}
.philo-dict-author-sections {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  margin-bottom:14px;
}
.philo-dict-author-section {
  min-height:102px;
}
.philo-dict-chip-list {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}
.philo-dict-chip,
.philo-dict-author-section .philo-dict-related-static {
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:5px 9px;
  border:1px solid rgba(108,99,255,.11);
  border-radius:999px;
  background:#f5f3ff;
  color:#6259ca;
  font:inherit;
  font-size:8.4px;
  font-weight:760;
  line-height:1.25;
}
button.philo-dict-chip {
  cursor:pointer;
}
button.philo-dict-chip:hover,
button.philo-dict-chip:focus-visible {
  border-color:rgba(108,99,255,.28);
  background:#ebe8ff;
  outline:none;
}
.philo-dict-author-works {
  margin-top:14px;
  padding-top:15px;
  border-top:1px solid rgba(71,65,111,.07);
}
.philo-dict-author-works ul {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 12px;
  margin:0;
  padding:0;
  list-style:none;
}
.philo-dict-author-works li {
  position:relative;
  min-width:0;
  padding:9px 10px 9px 23px;
  border:1px solid rgba(71,65,111,.07);
  border-radius:10px;
  background:#fbfaff;
  color:#625c69;
  font-size:9.6px;
  line-height:1.45;
}
.philo-dict-author-works li::before {
  content:"";
  position:absolute;
  left:10px;
  top:13px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#756bf0;
}
.philo-dict-site-author {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-top:13px;
  padding:11px 13px;
  border:1px solid rgba(108,99,255,.12);
  border-radius:11px;
  background:#f5f3ff;
  text-decoration:none;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.philo-dict-site-author:hover,
.philo-dict-site-author:focus-visible {
  border-color:rgba(108,99,255,.26);
  background:#ece9ff;
  transform:translateY(-1px);
  outline:none;
}
.philo-dict-site-author span {
  color:#8d8795;
  font-size:7.8px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.philo-dict-site-author strong {
  color:#5d54ca;
  font-size:9.4px;
}
.philo-dict-author-link {
  display:inline-flex;
  padding:0;
  border:0;
  background:transparent;
  color:#5e55cd;
  cursor:pointer;
  font:inherit;
  font-size:9.7px;
  font-weight:850;
  text-decoration:underline;
  text-decoration-color:rgba(94,85,205,.2);
  text-underline-offset:2px;
}
.philo-dict-author-link:hover,
.philo-dict-author-link:focus-visible {
  color:#433ab4;
  text-decoration-color:currentColor;
  outline:none;
}

@media (max-width:900px) {
  .philo-dictionary-alphabet {
    grid-template-columns:repeat(13,minmax(24px,1fr));
  }
}

@media (max-width:700px) {
  .philo-dictionary-filters {
    grid-template-columns:1fr;
    gap:6px;
  }
  .philo-dictionary-filters > span { padding-top:0; }
  .philo-dictionary-filters > div {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .philo-dictionary-filters button {
    width:100%;
    min-width:0;
    white-space:normal;
  }
  .philo-dictionary-alphabet {
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:4px;
  }
  .philo-dictionary-alphabet button {
    height:29px;
    background:#faf9fd;
  }
  .philo-deep-dictionary-results {
    max-height:360px;
  }
  .philo-deep-dictionary-results button {
    gap:8px;
    padding:9px;
  }
  .philo-deep-dictionary-results button em { font-size:6.5px; }
  .philo-deep-dictionary-results strong { font-size:10px; }
  .philo-deep-dictionary-results small {
    max-width:100%;
    font-size:8.2px;
    line-height:1.45;
  }

  .philo-dict-author-meta,
  .philo-dict-author-sections {
    grid-template-columns:1fr;
  }
  .philo-dict-author-dates {
    min-height:0;
    padding:12px 13px;
  }
  .philo-dict-author-known,
  .philo-dict-author-section {
    min-height:0;
  }
  .philo-dict-author-works ul {
    grid-template-columns:1fr;
  }
  .philo-dict-site-author {
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
}

/* ==========================================================
   BOUSSOLES V43 — CTA, hero biblique mobile, navigation
   persistante et dictionnaire biblique enrichi
   ========================================================== */

/* CTA discret commun aux deux boussoles */
.compass-context-cta {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  margin:26px 0 14px;
  padding:17px 19px;
  border:1px solid rgba(80,70,90,.10);
  border-radius:15px;
  background:linear-gradient(135deg,#fff 0%,#faf9fb 100%);
  box-shadow:0 8px 24px rgba(40,34,48,.035);
}
.compass-context-cta-copy { display:grid; gap:4px; min-width:0; }
.compass-context-cta-copy > span {
  font-size:8px;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.compass-context-cta-copy > strong {
  color:#554d58;
  font-size:10.7px;
  font-weight:650;
  line-height:1.5;
}
.compass-context-cta > a {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 13px;
  border-radius:10px;
  font-size:9.2px;
  font-weight:800;
  text-decoration:none;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}
.compass-context-cta > a:hover,.compass-context-cta > a:focus-visible { transform:translateY(-1px); outline:none; }
.compass-context-cta--bible { border-color:rgba(164,78,94,.13); background:linear-gradient(135deg,#fff 0%,#fff9fa 100%); }
.compass-context-cta--bible .compass-context-cta-copy > span { color:#9d5966; }
.compass-context-cta--bible > a { background:#f7e9ec; color:#8f4856; box-shadow:0 6px 16px rgba(143,72,86,.08); }
.compass-context-cta--bible > a:hover,.compass-context-cta--bible > a:focus-visible { background:#f2dfe3; box-shadow:0 9px 20px rgba(143,72,86,.12); }
.compass-context-cta--philo { border-color:rgba(108,99,255,.13); background:linear-gradient(135deg,#fff 0%,#f9f8ff 100%); }
.compass-context-cta--philo .compass-context-cta-copy > span { color:#6c63d9; }
.compass-context-cta--philo > a { background:#eeecff; color:#5d56ca; box-shadow:0 6px 16px rgba(93,86,202,.08); }
.compass-context-cta--philo > a:hover,.compass-context-cta--philo > a:focus-visible { background:#e5e2ff; box-shadow:0 9px 20px rgba(93,86,202,.12); }

/* Le wrapper conserve la place du menu lorsque le rail mobile devient fixe. */
.bible-compass-jump-wrap { position:relative; width:100%; }

/* Dictionnaire biblique : la fiche doit réellement pouvoir servir de mini-notice. */
.bible-deep-glossary-definition {
  max-width:980px;
  color:#554b50;
  font-size:12px;
  line-height:1.72;
}
.bible-deep-glossary-meta {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:15px;
}
.bible-deep-glossary-meta section {
  min-width:0;
  padding:12px 13px;
  border:1px solid rgba(82,69,76,.055);
  border-radius:11px;
  background:#faf8f7;
}
.bible-deep-glossary-meta section[hidden] { display:none !important; }
.bible-deep-glossary-meta p {
  color:#6b6065;
  font-size:10.2px;
  line-height:1.6;
}
.bible-deep-glossary-content header small {
  max-width:760px;
  color:#8d7e84;
  font-size:9.3px;
  line-height:1.45;
}
.bible-deep-glossary-related { margin-top:13px; }

@media (max-width:700px) {
  .compass-context-cta {
    grid-template-columns:1fr;
    gap:12px;
    padding:15px;
  }
  .compass-context-cta-copy > strong { font-size:10.5px; }
  .compass-context-cta > a { width:max-content; max-width:100%; }

  /* Hero biblique : on montre Dieu à droite et on protège réellement la zone de texte. */
  .bible-compass-hero--raphael {
    min-height:455px;
    padding:28px 21px 26px !important;
  }
  .bible-compass-hero--raphael::before {
    background:url('../images/textes/bible/raphael-god.webp') right -420px center / auto 106% no-repeat !important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 38%,rgba(0,0,0,.06) 48%,rgba(0,0,0,.38) 61%,rgba(0,0,0,.78) 73%,#000 84%,#000 100%) !important;
    mask-image:linear-gradient(90deg,transparent 0%,transparent 38%,rgba(0,0,0,.06) 48%,rgba(0,0,0,.38) 61%,rgba(0,0,0,.78) 73%,#000 84%,#000 100%) !important;
    opacity:.82 !important;
  }
  .bible-compass-hero--raphael::after {
    background:linear-gradient(90deg,
      rgba(255,252,251,1) 0%,
      rgba(255,252,251,.995) 48%,
      rgba(255,252,251,.975) 60%,
      rgba(255,252,251,.89) 70%,
      rgba(255,252,251,.56) 80%,
      rgba(255,252,251,.18) 91%,
      rgba(255,252,251,0) 100%) !important;
  }
  .bible-compass-hero--raphael h1 {
    max-width:80% !important;
    font-size:clamp(2rem,9.5vw,3rem) !important;
    line-height:1.02;
  }
  .bible-compass-hero--raphael > p {
    max-width:71% !important;
    color:#5d5559;
    font-size:12.2px;
    line-height:1.62;
    text-shadow:0 1px 0 rgba(255,255,255,.86);
  }
  .bible-compass-hero--raphael > p strong { color:#50484c; }

  /* Menu de départ : deux colonnes, mots complets et lisibles. */
  .bible-compass-jump-wrap { margin:14px 0 30px; }
  .bible-compass-jump {
    position:static !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  .bible-compass-jump a {
    display:grid !important;
    grid-template-columns:31px minmax(0,1fr) !important;
    gap:9px !important;
    min-width:0 !important;
    min-height:67px;
    padding:10px 12px !important;
    border:1px solid rgba(82,69,76,.09) !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:0 8px 18px rgba(47,41,46,.05) !important;
  }
  .bible-compass-jump .bible-jump-num { display:none !important; }
  .bible-compass-jump .bible-jump-icon { width:31px; height:31px; }
  .bible-compass-jump .bible-jump-copy { min-width:0; gap:3px; }
  .bible-compass-jump .bible-jump-copy strong {
    overflow:visible !important;
    color:#50474b !important;
    font-size:11.4px !important;
    line-height:1.22 !important;
    text-overflow:clip !important;
    white-space:normal !important;
    overflow-wrap:anywhere;
  }
  .bible-compass-jump .bible-jump-copy small {
    overflow:visible !important;
    color:#94898d !important;
    font-size:8.6px !important;
    line-height:1.28 !important;
    text-overflow:clip !important;
    white-space:normal !important;
  }

  /* Après le menu : rail vertical d’icônes toujours accessible à droite. */
  .bible-compass-jump.is-floating {
    position:fixed !important;
    top:78px !important;
    right:9px !important;
    left:auto !important;
    display:flex !important;
    flex-direction:column !important;
    gap:6px !important;
    width:auto !important;
    margin:0 !important;
    padding:6px !important;
    border:1px solid rgba(147,75,89,.11) !important;
    border-radius:16px !important;
    background:rgba(255,252,251,.88) !important;
    box-shadow:0 10px 26px rgba(49,39,44,.10) !important;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    z-index:4500 !important;
  }
  .bible-compass-jump.is-floating a {
    position:relative;
    display:grid !important;
    place-items:center !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:11px !important;
    background:rgba(249,239,241,.92) !important;
    box-shadow:none !important;
  }
  .bible-compass-jump.is-floating .bible-jump-copy,
  .bible-compass-jump.is-floating .bible-jump-num { display:none !important; }
  .bible-compass-jump.is-floating .bible-jump-icon {
    width:23px !important;
    height:23px !important;
    color:#995361 !important;
  }
  .bible-compass-jump.is-floating a::before {
    content:attr(data-floating-label);
    position:absolute;
    right:46px;
    top:50%;
    padding:5px 8px;
    border-radius:7px;
    background:#4e4549;
    color:#fff;
    font-size:8px;
    font-weight:700;
    line-height:1.2;
    white-space:nowrap;
    opacity:0;
    pointer-events:none;
    transform:translateY(-50%) translateX(4px);
    transition:.16s ease;
  }
  .bible-compass-jump.is-floating a:focus-visible::before,
  .bible-compass-jump.is-floating a:hover::before { opacity:1; transform:translateY(-50%) translateX(0); }

  .bible-deep-glossary-definition { font-size:11.3px !important; line-height:1.68; }
  .bible-deep-glossary-meta { grid-template-columns:1fr !important; }
  .bible-deep-glossary-meta p { font-size:10px !important; line-height:1.58; }
}

@media (max-width:430px) {
  .bible-compass-hero--raphael::before {
    background-position:right -405px center !important;
    background-size:auto 104% !important;
  }
  .bible-compass-hero--raphael h1 { max-width:78% !important; }
  .bible-compass-hero--raphael > p { max-width:72% !important; }
  .bible-compass-jump a { padding:9px 10px !important; }
}
/* ===== MAIN.7Z — correctifs finaux boussoles / sélecteur — 2026-08-08 ===== */

/* Boussole philosophique : le texte d'introduction reste franchement lisible. */
.philo-compass-page .philo-compass-hero p,
.philo-compass-page .philo-compass-hero p strong {
  color:#17151d !important;
}

/* Navigation spécialisée philo : pictogrammes + barre horizontale qui suit la lecture. */
.philo-compass-page .philo-compass-jump {
  position:sticky !important;
  top:76px !important;
  z-index:4200 !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:6px !important;
  width:min(100%,820px) !important;
  margin:15px auto 34px !important;
  padding:6px !important;
  border:1px solid rgba(71,65,111,.10) !important;
  border-radius:15px !important;
  background:rgba(251,250,255,.94) !important;
  box-shadow:0 9px 24px rgba(45,40,71,.07) !important;
  backdrop-filter:blur(11px) !important;
  -webkit-backdrop-filter:blur(11px) !important;
}
.philo-compass-page .philo-compass-jump a {
  display:grid !important;
  grid-template-columns:30px minmax(0,1fr) !important;
  grid-template-rows:auto auto !important;
  column-gap:8px !important;
  row-gap:1px !important;
  align-items:center !important;
  min-width:0 !important;
  min-height:48px !important;
  padding:7px 9px !important;
  border:0 !important;
  border-radius:10px !important;
  background:transparent !important;
  box-shadow:none !important;
}
.philo-compass-page .philo-compass-jump a:hover,
.philo-compass-page .philo-compass-jump a:focus-visible {
  background:#f0eeff !important;
}
.philo-compass-page .philo-compass-jump .philo-jump-icon {
  grid-row:1/3 !important;
  display:grid !important;
  width:30px !important;
  height:30px !important;
  place-items:center !important;
  border-radius:9px !important;
  background:#eceaff !important;
  color:#6259d0 !important;
  font-size:0 !important;
}
.philo-compass-page .philo-compass-jump .philo-jump-icon svg {
  width:18px !important;
  height:18px !important;
  stroke:currentColor !important;
  stroke-width:1.55 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.philo-compass-page .philo-compass-jump .philo-jump-copy {
  display:contents !important;
}
.philo-compass-page .philo-compass-jump strong,
.philo-compass-page .philo-compass-jump small {
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:normal !important;
}
.philo-compass-page .philo-compass-jump strong {
  align-self:end !important;
  color:#4d4856 !important;
  font-size:9.5px !important;
  line-height:1.12 !important;
}
.philo-compass-page .philo-compass-jump small {
  align-self:start !important;
  color:#96909f !important;
  font-size:7.2px !important;
  line-height:1.15 !important;
}

/* Frise : les noms sont centrés, y compris dans la grille mobile. */
.philo-master-era-plot .philo-master-author-label,
.philo-master-era-plot .philo-master-author-name { text-align:center !important; }

/* CTA fusionné : une seule carte de sortie, plus sombre, avec les deux actions. */
.compass-context-cta.compass-context-cta--merged {
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:18px !important;
  padding:20px 22px !important;
  color:#fff !important;
  overflow:hidden;
}
.compass-context-cta--philo.compass-context-cta--merged {
  border-color:rgba(58,51,117,.25) !important;
  background:linear-gradient(135deg,#47427e 0%,#5b55a0 100%) !important;
  box-shadow:0 13px 30px rgba(61,54,124,.14) !important;
}
.compass-context-cta--bible.compass-context-cta--merged {
  border-color:rgba(104,58,70,.25) !important;
  background:linear-gradient(135deg,#67434c 0%,#875463 100%) !important;
  box-shadow:0 13px 30px rgba(111,65,78,.14) !important;
}
.compass-context-cta--merged .compass-context-cta-copy > span {
  color:rgba(255,255,255,.70) !important;
}
.compass-context-cta--merged .compass-context-cta-copy > strong {
  color:#fff !important;
}
.compass-context-cta-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.compass-context-cta-actions > a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 11px;
  border-radius:9px;
  font-size:9.2px;
  font-weight:800;
  text-decoration:none;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.compass-context-cta-actions > a:hover,
.compass-context-cta-actions > a:focus-visible { transform:translateY(-1px); outline:none; }
.compass-context-cta-back {
  border:1px solid rgba(255,255,255,.20);
  background:rgba(255,255,255,.08);
  color:#fff;
}
.compass-context-cta-back:hover,
.compass-context-cta-back:focus-visible { background:rgba(255,255,255,.14); }
.compass-context-cta-primary {
  background:#fff;
  color:#4d477f;
  box-shadow:0 7px 18px rgba(22,17,49,.12);
}
.compass-context-cta--bible .compass-context-cta-primary { color:#754653; }

/* Boussole biblique : menu spécialisé horizontal et centré. */
.bible-compass-page .bible-compass-jump-wrap {
  width:100% !important;
  margin:14px auto 30px !important;
}
.bible-compass-page .bible-compass-jump {
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:5px !important;
  width:min(100%,900px) !important;
  max-width:900px !important;
  margin:0 auto !important;
  padding:6px !important;
  border:1px solid rgba(147,75,89,.10) !important;
  border-radius:15px !important;
  background:rgba(255,252,251,.95) !important;
  box-shadow:0 9px 24px rgba(66,45,52,.06) !important;
}
.bible-compass-page .bible-compass-jump a {
  display:grid !important;
  grid-template-columns:28px minmax(0,1fr) !important;
  grid-template-rows:auto auto !important;
  gap:1px 7px !important;
  align-items:center !important;
  min-width:0 !important;
  min-height:45px !important;
  padding:6px 7px !important;
  border:0 !important;
  border-radius:10px !important;
  background:transparent !important;
  box-shadow:none !important;
}
.bible-compass-page .bible-compass-jump .bible-jump-num { display:none !important; }
.bible-compass-page .bible-compass-jump .bible-jump-icon {
  grid-row:1/3 !important;
  width:28px !important;
  height:28px !important;
}
.bible-compass-page .bible-compass-jump .bible-jump-copy {
  display:contents !important;
}
.bible-compass-page .bible-compass-jump .bible-jump-copy strong,
.bible-compass-page .bible-compass-jump .bible-jump-copy small {
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:normal !important;
}
.bible-compass-page .bible-compass-jump .bible-jump-copy strong {
  align-self:end !important;
  color:#54494e !important;
  font-size:8.8px !important;
  line-height:1.1 !important;
}
.bible-compass-page .bible-compass-jump .bible-jump-copy small {
  align-self:start !important;
  color:#96898e !important;
  font-size:6.8px !important;
  line-height:1.12 !important;
}

@media (max-width:700px) {
  /* Philo : quatre destinations sur une seule ligne, toujours visibles en descendant. */
  .philo-compass-page .philo-compass-jump {
    top:68px !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:3px !important;
    width:calc(100% + 2px) !important;
    margin:12px -1px 28px !important;
    padding:4px !important;
    border-radius:13px !important;
  }
  .philo-compass-page .philo-compass-jump a {
    display:flex !important;
    min-height:53px !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:3px !important;
    padding:5px 2px !important;
    text-align:center !important;
  }
  .philo-compass-page .philo-compass-jump .philo-jump-icon {
    display:grid !important;
    width:25px !important;
    height:25px !important;
    flex:0 0 25px !important;
  }
  .philo-compass-page .philo-compass-jump .philo-jump-icon svg { width:15px !important; height:15px !important; }
  .philo-compass-page .philo-compass-jump .philo-jump-copy { display:grid !important; gap:1px !important; min-width:0 !important; }
  .philo-compass-page .philo-compass-jump strong { font-size:7.8px !important; line-height:1.05 !important; text-align:center !important; }
  .philo-compass-page .philo-compass-jump small { font-size:6.1px !important; line-height:1.05 !important; text-align:center !important; }

  .philo-master-era-plot .philo-master-author,
  .philo-master-era-plot .philo-master-author:nth-child(even) {
    justify-content:center !important;
    text-align:center !important;
  }
  .philo-master-era-plot .philo-master-author-label {
    flex:1 1 auto !important;
    text-align:center !important;
  }
  .philo-master-era-plot .philo-master-author-star { margin-left:0 !important; }

  /* Bible : une seule rangée de six raccourcis, puis la même rangée reste en haut. */
  .bible-compass-page .bible-compass-jump-wrap { margin:12px auto 27px !important; }
  .bible-compass-page .bible-compass-jump,
  .bible-compass-page .bible-compass-jump.is-floating {
    display:grid !important;
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:3px !important;
    width:calc(100% - 8px) !important;
    max-width:680px !important;
    padding:4px !important;
    border:1px solid rgba(147,75,89,.11) !important;
    border-radius:13px !important;
    background:rgba(255,252,251,.94) !important;
    box-shadow:0 9px 24px rgba(66,45,52,.08) !important;
    backdrop-filter:blur(11px) !important;
    -webkit-backdrop-filter:blur(11px) !important;
  }
  .bible-compass-page .bible-compass-jump.is-floating {
    position:fixed !important;
    top:68px !important;
    right:auto !important;
    left:50% !important;
    margin:0 !important;
    transform:translateX(-50%) !important;
    z-index:4500 !important;
  }
  .bible-compass-page .bible-compass-jump a,
  .bible-compass-page .bible-compass-jump.is-floating a {
    position:relative !important;
    display:flex !important;
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    min-height:51px !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:3px !important;
    padding:4px 1px !important;
    border:0 !important;
    border-radius:9px !important;
    background:transparent !important;
    box-shadow:none !important;
    text-align:center !important;
  }
  .bible-compass-page .bible-compass-jump.is-floating a:hover,
  .bible-compass-page .bible-compass-jump.is-floating a:focus-visible,
  .bible-compass-page .bible-compass-jump a:hover,
  .bible-compass-page .bible-compass-jump a:focus-visible { background:#f7ecef !important; }
  .bible-compass-page .bible-compass-jump .bible-jump-icon,
  .bible-compass-page .bible-compass-jump.is-floating .bible-jump-icon {
    display:grid !important;
    width:23px !important;
    height:23px !important;
    flex:0 0 23px !important;
    color:#995361 !important;
  }
  .bible-compass-page .bible-compass-jump .bible-jump-copy,
  .bible-compass-page .bible-compass-jump.is-floating .bible-jump-copy {
    display:block !important;
    width:100% !important;
    min-width:0 !important;
  }
  .bible-compass-page .bible-compass-jump .bible-jump-copy strong,
  .bible-compass-page .bible-compass-jump.is-floating .bible-jump-copy strong {
    display:block !important;
    overflow:visible !important;
    color:#594d52 !important;
    font-size:7px !important;
    line-height:1.04 !important;
    text-align:center !important;
    text-overflow:clip !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
  }
  .bible-compass-page .bible-compass-jump .bible-jump-copy small,
  .bible-compass-page .bible-compass-jump.is-floating .bible-jump-copy small { display:none !important; }
  .bible-compass-page .bible-compass-jump.is-floating a::before { display:none !important; content:none !important; }

  /* Raphaël : on garde Dieu franchement visible, avec un fondu gauche beaucoup moins brutal. */
  .bible-compass-page .bible-compass-hero--raphael::before {
    background-position:right -412px center !important;
    background-size:auto 105% !important;
    -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.18) 17%,rgba(0,0,0,.40) 34%,rgba(0,0,0,.68) 52%,rgba(0,0,0,.92) 69%,#000 82%,#000 100%) !important;
    mask-image:linear-gradient(90deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.18) 17%,rgba(0,0,0,.40) 34%,rgba(0,0,0,.68) 52%,rgba(0,0,0,.92) 69%,#000 82%,#000 100%) !important;
    opacity:.86 !important;
  }
  .bible-compass-page .bible-compass-hero--raphael::after {
    background:linear-gradient(90deg,rgba(255,252,251,1) 0%,rgba(255,252,251,.995) 43%,rgba(255,252,251,.965) 56%,rgba(255,252,251,.84) 68%,rgba(255,252,251,.50) 80%,rgba(255,252,251,.14) 92%,rgba(255,252,251,0) 100%) !important;
  }
  .bible-compass-page .bible-compass-hero--raphael > p {
    color:#423a3e !important;
    text-shadow:0 1px 0 rgba(255,255,255,.96),0 0 11px rgba(255,255,255,.72) !important;
  }
  .bible-compass-page .bible-compass-hero--raphael > p strong { color:#342e31 !important; }

  .compass-context-cta.compass-context-cta--merged {
    grid-template-columns:1fr !important;
    gap:14px !important;
    padding:18px !important;
  }
  .compass-context-cta-actions { justify-content:flex-start; }
}

@media (max-width:430px) {
  /* Neutralise l'ancien recadrage ultra brutal `right -405px` placé plus haut. */
  .bible-compass-page .bible-compass-hero--raphael::before {
    background-position:right -412px center !important;
    background-size:auto 105% !important;
  }
  .bible-compass-page .bible-compass-hero--raphael h1 { max-width:82% !important; }
  .bible-compass-page .bible-compass-hero--raphael > p { max-width:76% !important; }
}

/* === Boussole philosophique : lisibilité et contrôles unifiés (2026-08-08) === */
.philo-compass-page,
.philo-compass-page p,
.philo-compass-page span,
.philo-compass-page small,
.philo-compass-page label,
.philo-compass-page li,
.philo-compass-page time { color:#242129; }

.philo-compass-page .philo-compass-section-head p,
.philo-compass-page .philo-hero-copy,
.philo-compass-page .philo-era-intro,
.philo-compass-page .philo-path-question-panel-inner > p,
.philo-compass-page .philo-path-card-summary,
.philo-compass-page .philo-dialogue-panel p,
.philo-compass-page .philo-timeline-note,
.philo-compass-page .philo-map-copy,
.philo-compass-page .philo-dict-result p { color:#242129; }

.philo-compass-page .philo-compass-section-head p { font-size:14.5px; line-height:1.7; }
.philo-compass-page .philo-view-tabs strong { font-size:12px; color:#242129; }
.philo-compass-page .philo-view-tabs small { font-size:9.5px; color:#242129; }
.philo-compass-page .philo-era-trigger-copy small,
.philo-compass-page .philo-era-trigger time { font-size:10px; color:#242129; }
.philo-compass-page .philo-path-question-trigger > span { font-size:9px; }
.philo-compass-page .philo-path-question-trigger > strong { font-size:15.5px; color:#242129; }
.philo-compass-page .philo-path-question-panel-inner > p { font-size:11px; line-height:1.62; }
.philo-compass-page .philo-orientation-search > label { font-size:10.5px; color:#242129; }
.philo-compass-page .philo-orientation-search-feedback { font-size:10px; }
.philo-compass-page .philo-timeline-key { font-size:10px; }
.philo-compass-page .philo-foreign { font-style:italic; }

/* Périodes / Frise / Carte + Recherche = un seul contrôle visuel */
.philo-compass-page .philo-orientation-switcher { gap:0; }
.philo-compass-page .philo-view-tabs {
  margin:0;
  border:1px solid rgba(71,65,111,.10);
  border-bottom:0;
  border-radius:15px 15px 0 0;
  background:#f8f7fc;
}
.philo-compass-page .philo-view-panel { margin:0; }
.philo-compass-page .philo-view-panel.is-active > .philo-orientation-search {
  margin:0 0 16px;
  border:1px solid rgba(71,65,111,.10);
  border-top:1px solid rgba(71,65,111,.07);
  border-radius:0 0 15px 15px;
  background:#f8f7fc;
  box-shadow:none;
}

@media (max-width: 720px) {
  .philo-compass-page .philo-compass-section-head p { font-size:13.5px; }
  .philo-compass-page .philo-view-tabs strong { font-size:10.5px; }
  .philo-compass-page .philo-view-tabs small { display:block; font-size:8px; }
  .philo-compass-page .philo-path-question-trigger > strong { font-size:15px; }
  .philo-compass-page .philo-path-question-panel-inner > p { font-size:11.2px; }
}

/* ==========================================================
   BOUSSOLE PHILOSOPHIQUE V11 — navigation compacte,
   palette noir/violet et recadrage Socrate — 2026-08-08
   ========================================================== */

/* Palette : le corps de lecture reste noir ; le violet sert aux repères,
   métadonnées et éléments de navigation. On évite les gris trop pâles. */
.philo-compass-page {
  --philo-readable:#28242d;
  --philo-violet:#5b53c7;
  --philo-violet-soft:#746dd0;
  --philo-violet-deep:#4b44b3;
}
.philo-compass-page p,
.philo-compass-page li,
.philo-compass-page .philo-era-intro,
.philo-compass-page .philo-path-question-panel-inner > p,
.philo-compass-page .philo-dialogue-panel p,
.philo-compass-page .philo-master-focus > p,
.philo-compass-page .philo-thread-note,
.philo-compass-page .philo-dictionary-rich p,
.philo-compass-page .philo-deep-dictionary-definition {
  color:var(--philo-readable) !important;
}
.philo-compass-page .philo-compass-section-head > span,
.philo-compass-page .philo-compass-kicker,
.philo-compass-page .philo-era-number,
.philo-compass-page .philo-era-trigger-copy > small,
.philo-compass-page .philo-tradition-domain,
.philo-compass-page .philo-path-question-trigger > span,
.philo-compass-page .philo-dialogue-number,
.philo-compass-page .philo-dialogue-trigger small,
.philo-compass-page .philo-master-focus > span,
.philo-compass-page .philo-deep-dictionary-head > div > span,
.philo-compass-page .philo-deep-dictionary-count,
.philo-compass-page .philo-deep-dictionary-content header > span,
.philo-compass-page .philo-deep-dictionary-related > span,
.philo-compass-page .philo-deep-dictionary-starters > span,
.philo-compass-page .philo-dictionary-filters > span,
.philo-compass-page .philo-orientation-search > label,
.philo-compass-page .philo-timeline-note strong,
.philo-compass-page .philo-master-era footer small {
  color:var(--philo-violet) !important;
}
.philo-compass-page .philo-compass-section-head p,
.philo-compass-page .philo-timeline-note,
.philo-compass-page .philo-path-question header p,
.philo-compass-page .philo-path-title em,
.philo-compass-page .philo-deep-dictionary-note,
.philo-compass-page .philo-deep-dictionary-related > div > span,
.philo-compass-page .philo-orientation-search-feedback,
.philo-compass-page .philo-timeline-key,
.philo-compass-page .philo-view-tabs small,
.philo-compass-page .philo-era-trigger time {
  color:#514b68 !important;
}
.philo-compass-page a:not(.nav-brand):not(.nav-links a):not(.footer-container a),
.philo-compass-page button.is-active {
  --philo-link:var(--philo-violet-deep);
}
.philo-compass-page .philo-deep-dictionary-head h2 {
  margin:0;
  color:#332e39;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.55rem,2.4vw,2rem);
  font-weight:600;
  letter-spacing:-.02em;
}
.philo-compass-page .philo-deep-dictionary-count { font-weight:650; }
.philo-compass-page .philo-deep-dictionary-search input { color:var(--philo-readable) !important; }
.philo-compass-page .philo-deep-dictionary-search input::placeholder { color:#6f6981 !important; opacity:1; }

/* Hero Socrate : l'œuvre glisse encore vers la droite afin que le corps de
   Socrate ne traverse plus la fin du titre. */
.philo-compass-page .philo-compass-hero--socrates::before {
  background-image:
    linear-gradient(90deg,
      #fff 0%,
      rgba(255,255,255,.995) 34%,
      rgba(255,255,255,.97) 47%,
      rgba(255,255,255,.82) 59%,
      rgba(255,255,255,.48) 72%,
      rgba(255,255,255,.12) 89%,
      rgba(255,255,255,0) 100%),
    url('../images/textes/philosophie/david-death-of-socrates.webp') !important;
  background-position:0 0, calc(100% + 42px) center !important;
  background-size:100% 100%, 54% auto !important;
  background-repeat:no-repeat,no-repeat !important;
}

/* Navigation au repos : quatre cartes lisibles et nettes. */
.philo-compass-page .philo-compass-jump {
  position:sticky !important;
  top:76px !important;
  z-index:4300 !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:8px !important;
  width:min(100%,900px) !important;
  margin:16px auto 38px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  transition:width .18s ease, padding .18s ease, background .18s ease, box-shadow .18s ease, border-radius .18s ease;
}
.philo-compass-page .philo-compass-jump > a {
  position:relative !important;
  display:grid !important;
  grid-template-columns:36px minmax(0,1fr) !important;
  grid-template-rows:auto auto !important;
  column-gap:10px !important;
  row-gap:2px !important;
  align-items:center !important;
  min-width:0 !important;
  min-height:62px !important;
  padding:10px 12px !important;
  border:1px solid rgba(91,83,199,.12) !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.97) !important;
  box-shadow:0 8px 20px rgba(45,40,71,.045) !important;
  color:var(--philo-readable) !important;
}
.philo-compass-page .philo-compass-jump > a:hover,
.philo-compass-page .philo-compass-jump > a:focus-visible {
  border-color:rgba(91,83,199,.28) !important;
  background:#f5f3ff !important;
  outline:none !important;
}
.philo-compass-page .philo-compass-jump .philo-jump-icon {
  grid-row:1/3 !important;
  width:36px !important;
  height:36px !important;
  border-radius:10px !important;
  background:#eceaff !important;
  color:var(--philo-violet) !important;
}
.philo-compass-page .philo-compass-jump .philo-jump-icon svg { width:19px !important; height:19px !important; }
.philo-compass-page .philo-compass-jump .philo-jump-copy {
  display:grid !important;
  grid-column:2 !important;
  grid-row:1/3 !important;
  gap:3px !important;
  min-width:0 !important;
  align-content:center !important;
}
.philo-compass-page .philo-compass-jump strong {
  color:#302b36 !important;
  font-size:11px !important;
  line-height:1.15 !important;
  text-align:left !important;
  white-space:normal !important;
}
.philo-compass-page .philo-compass-jump small {
  color:var(--philo-violet) !important;
  font-size:8px !important;
  line-height:1.18 !important;
  text-align:left !important;
  white-space:normal !important;
}

/* Dès que la barre atteint le haut, elle devient un rail horizontal d'icônes. */
.philo-compass-page .philo-compass-jump.is-condensed {
  grid-template-columns:repeat(4,40px) !important;
  gap:5px !important;
  width:max-content !important;
  padding:5px !important;
  border:1px solid rgba(91,83,199,.14) !important;
  border-radius:15px !important;
  background:rgba(251,250,255,.94) !important;
  box-shadow:0 10px 28px rgba(45,40,71,.09) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
}
.philo-compass-page .philo-compass-jump.is-condensed > a {
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:1fr !important;
  place-items:center !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:11px !important;
  background:transparent !important;
  box-shadow:none !important;
}
.philo-compass-page .philo-compass-jump.is-condensed > a:hover,
.philo-compass-page .philo-compass-jump.is-condensed > a:focus-visible { background:#ece9ff !important; }
.philo-compass-page .philo-compass-jump.is-condensed .philo-jump-copy { display:none !important; }
.philo-compass-page .philo-compass-jump.is-condensed .philo-jump-icon {
  grid-row:auto !important;
  width:31px !important;
  height:31px !important;
  border-radius:9px !important;
  background:#eceaff !important;
}
.philo-compass-page .philo-compass-jump.is-condensed > a::after {
  content:attr(aria-label);
  position:absolute;
  left:50%;
  top:calc(100% + 8px);
  z-index:3;
  padding:6px 9px;
  border-radius:7px;
  background:#312d39;
  color:#fff;
  font-size:8px;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-3px);
  transition:opacity .15s ease, transform .15s ease;
}
.philo-compass-page .philo-compass-jump.is-condensed > a:hover::after,
.philo-compass-page .philo-compass-jump.is-condensed > a:focus-visible::after {
  opacity:1;
  transform:translate(-50%,0);
}

@media (max-width:700px) {
  /* En haut de page : 2 × 2, comme de vraies destinations lisibles. */
  .philo-compass-page .philo-compass-jump:not(.is-condensed) {
    top:68px !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    width:100% !important;
    margin:13px auto 30px !important;
  }
  .philo-compass-page .philo-compass-jump:not(.is-condensed) > a {
    min-height:64px !important;
    padding:9px 10px !important;
    grid-template-columns:32px minmax(0,1fr) !important;
    column-gap:8px !important;
  }
  .philo-compass-page .philo-compass-jump:not(.is-condensed) .philo-jump-icon {
    width:32px !important;
    height:32px !important;
  }
  .philo-compass-page .philo-compass-jump:not(.is-condensed) .philo-jump-copy {
    display:grid !important;
    grid-column:2 !important;
    grid-row:1/3 !important;
    align-content:center !important;
  }
  .philo-compass-page .philo-compass-jump:not(.is-condensed) strong { font-size:10.2px !important; }
  .philo-compass-page .philo-compass-jump:not(.is-condensed) small { font-size:7.5px !important; }

  /* En lecture : quatre icônes seulement, toujours horizontales et centrées. */
  .philo-compass-page .philo-compass-jump.is-condensed {
    top:68px !important;
    grid-template-columns:repeat(4,38px) !important;
    gap:4px !important;
    width:max-content !important;
    margin:10px auto 28px !important;
    padding:4px !important;
  }
  .philo-compass-page .philo-compass-jump.is-condensed > a {
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
  }
  .philo-compass-page .philo-compass-jump.is-condensed .philo-jump-icon { width:29px !important; height:29px !important; }

  /* Recadrage mobile : le tableau est décalé vers la droite et le fondu reste
     assez opaque sous le titre pour préserver la lisibilité. */
  .philo-compass-page .philo-compass-hero--socrates::before {
    right:0 !important;
    width:100% !important;
    background-image:
      linear-gradient(90deg,
        rgba(255,255,255,1) 0%,
        rgba(255,255,255,.995) 34%,
        rgba(255,255,255,.93) 48%,
        rgba(255,255,255,.62) 61%,
        rgba(255,255,255,.18) 76%,
        rgba(255,255,255,0) 100%),
      url('../images/textes/philosophie/david-death-of-socrates.webp') !important;
    background-position:0 0, 30px center !important;
    background-size:100% 100%, auto 108% !important;
    background-repeat:no-repeat,no-repeat !important;
    opacity:.88 !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  .philo-compass-page .philo-compass-hero--socrates h1 { max-width:67% !important; }
  .philo-compass-page .philo-compass-hero--socrates p { max-width:67% !important; }
}

@media (max-width:520px) {
  .philo-compass-page .philo-compass-hero--socrates::before {
    background-position:0 0, 38px center !important;
    background-size:100% 100%, auto 111% !important;
  }
  .philo-compass-page .philo-compass-hero--socrates h1 { max-width:66% !important; }
  .philo-compass-page .philo-compass-hero--socrates p { max-width:66% !important; }
}

/* ==========================================================
   BOUSSOLE PHILOSOPHIQUE V13 — hero restauré + navigation
   centrée / compacte au scroll — 2026-08-08
   ========================================================== */

/* HERO — retour au cadrage antérieur : tableau intégré par fondu progressif,
   sans bord vertical visible ni « bloc image » rectangulaire. */
.philo-compass-page .philo-compass-hero--socrates::before {
  content:"" !important;
  position:absolute !important;
  z-index:0 !important;
  top:0 !important;
  right:-2% !important;
  bottom:0 !important;
  left:auto !important;
  width:70% !important;
  height:100% !important;
  background:url('../images/textes/philosophie/david-death-of-socrates.webp') 50% 47% / cover no-repeat !important;
  opacity:.96 !important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 13%,rgba(0,0,0,.48) 31%,#000 51%,#000 100%) !important;
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 13%,rgba(0,0,0,.48) 31%,#000 51%,#000 100%) !important;
  pointer-events:none !important;
}
.philo-compass-page .philo-compass-hero--socrates::after {
  content:"" !important;
  position:absolute !important;
  z-index:1 !important;
  inset:0 !important;
  background:linear-gradient(90deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.02) 55%,rgba(246,244,255,.10) 100%) !important;
  pointer-events:none !important;
}
.philo-compass-page .philo-compass-hero--socrates .philo-compass-hero-copy {
  position:relative !important;
  z-index:2 !important;
  max-width:650px !important;
}
.philo-compass-page .philo-compass-hero--socrates h1 { max-width:630px !important; }
.philo-compass-page .philo-compass-hero--socrates p { max-width:585px !important; }

/* NAVIGATION AU REPOS — quatre boutons réellement homogènes : même hauteur,
   même icône, textes centrés et rythme identique. */
.philo-compass-page .philo-compass-jump:not(.is-condensed) {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:8px !important;
  width:min(100%,820px) !important;
  margin:16px auto 38px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.philo-compass-page .philo-compass-jump:not(.is-condensed) > a {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  min-width:0 !important;
  min-height:72px !important;
  padding:10px 9px !important;
  border:1px solid rgba(91,83,199,.13) !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.98) !important;
  box-shadow:0 8px 20px rgba(45,40,71,.045) !important;
  color:var(--philo-readable) !important;
  text-align:center !important;
}
.philo-compass-page .philo-compass-jump:not(.is-condensed) > a:hover,
.philo-compass-page .philo-compass-jump:not(.is-condensed) > a:focus-visible {
  border-color:rgba(91,83,199,.28) !important;
  background:#f5f3ff !important;
  outline:none !important;
}
.philo-compass-page .philo-compass-jump:not(.is-condensed) .philo-jump-icon {
  display:grid !important;
  place-items:center !important;
  width:34px !important;
  height:34px !important;
  flex:0 0 34px !important;
  border-radius:10px !important;
  background:#eceaff !important;
  color:var(--philo-violet) !important;
}
.philo-compass-page .philo-compass-jump:not(.is-condensed) .philo-jump-copy {
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:auto auto !important;
  gap:2px !important;
  width:100% !important;
  min-width:0 !important;
  text-align:center !important;
}
.philo-compass-page .philo-compass-jump:not(.is-condensed) strong {
  color:#302b36 !important;
  font-size:10.5px !important;
  line-height:1.12 !important;
  text-align:center !important;
  white-space:normal !important;
}
.philo-compass-page .philo-compass-jump:not(.is-condensed) small {
  color:var(--philo-violet) !important;
  font-size:7.7px !important;
  line-height:1.16 !important;
  text-align:center !important;
  white-space:normal !important;
}

/* NAVIGATION EN LECTURE — seulement les quatre pictogrammes. Le libellé du
   seul pictogramme survolé se déploie à côté de lui ; les trois autres restent
   strictement réduits à leur icône. */
.philo-compass-page .philo-compass-jump.is-condensed {
  display:flex !important;
  grid-template-columns:none !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  width:max-content !important;
  max-width:calc(100vw - 24px) !important;
  margin:10px auto 28px !important;
  padding:5px !important;
  border:1px solid rgba(91,83,199,.14) !important;
  border-radius:15px !important;
  background:rgba(251,250,255,.95) !important;
  box-shadow:0 10px 28px rgba(45,40,71,.09) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
}
.philo-compass-page .philo-compass-jump.is-condensed > a {
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  padding:0 !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:11px !important;
  background:transparent !important;
  box-shadow:none !important;
  transition:width .18s ease,padding .18s ease,gap .18s ease,background .16s ease !important;
}
.philo-compass-page .philo-compass-jump.is-condensed .philo-jump-icon {
  display:grid !important;
  place-items:center !important;
  width:31px !important;
  height:31px !important;
  min-width:31px !important;
  flex:0 0 31px !important;
  border-radius:9px !important;
  background:#eceaff !important;
  color:var(--philo-violet) !important;
}
.philo-compass-page .philo-compass-jump.is-condensed .philo-jump-copy {
  display:none !important;
  min-width:0 !important;
  text-align:left !important;
}
.philo-compass-page .philo-compass-jump.is-condensed > a::after { content:none !important; display:none !important; }

@media (hover:hover) and (pointer:fine) {
  .philo-compass-page .philo-compass-jump.is-condensed > a:hover,
  .philo-compass-page .philo-compass-jump.is-condensed > a:focus-visible {
    width:148px !important;
    padding:0 10px 0 5px !important;
    gap:8px !important;
    justify-content:flex-start !important;
    background:#eeebff !important;
    outline:none !important;
  }
  .philo-compass-page .philo-compass-jump.is-condensed > a:hover .philo-jump-copy,
  .philo-compass-page .philo-compass-jump.is-condensed > a:focus-visible .philo-jump-copy {
    display:grid !important;
    gap:1px !important;
    align-content:center !important;
  }
  .philo-compass-page .philo-compass-jump.is-condensed > a:hover strong,
  .philo-compass-page .philo-compass-jump.is-condensed > a:focus-visible strong {
    color:#302b36 !important;
    font-size:9px !important;
    line-height:1.08 !important;
    text-align:left !important;
    white-space:nowrap !important;
  }
  .philo-compass-page .philo-compass-jump.is-condensed > a:hover small,
  .philo-compass-page .philo-compass-jump.is-condensed > a:focus-visible small {
    color:var(--philo-violet) !important;
    font-size:7px !important;
    line-height:1.08 !important;
    text-align:left !important;
    white-space:nowrap !important;
  }
}

@media (max-width:960px) and (min-width:701px) {
  .philo-compass-page .philo-compass-hero--socrates::before {
    right:-7% !important;
    width:75% !important;
    background-position:51% 48% !important;
  }
}

@media (max-width:700px) {
  /* Hero mobile restauré au comportement antérieur. */
  .philo-compass-page .philo-compass-hero--socrates {
    min-height:340px !important;
    padding:27px 20px 24px !important;
  }
  .philo-compass-page .philo-compass-hero--socrates::before {
    top:0 !important;
    right:0 !important;
    width:100% !important;
    height:100% !important;
    background:url('../images/textes/philosophie/david-death-of-socrates.webp') left center / auto 106% no-repeat !important;
    opacity:.82 !important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 26%,rgba(0,0,0,.08) 39%,rgba(0,0,0,.46) 58%,#000 76%,#000 100%) !important;
    mask-image:linear-gradient(90deg,transparent 0%,transparent 26%,rgba(0,0,0,.08) 39%,rgba(0,0,0,.46) 58%,#000 76%,#000 100%) !important;
  }
  .philo-compass-page .philo-compass-hero--socrates::after {
    background:linear-gradient(90deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.02) 58%,rgba(246,244,255,.08) 100%) !important;
  }
  .philo-compass-page .philo-compass-hero--socrates h1 { max-width:70% !important; }
  .philo-compass-page .philo-compass-hero--socrates p { max-width:68% !important; }

  /* En haut : 2 × 2, centrés et identiques. */
  .philo-compass-page .philo-compass-jump:not(.is-condensed) {
    top:68px !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    width:100% !important;
    margin:13px auto 30px !important;
  }
  .philo-compass-page .philo-compass-jump:not(.is-condensed) > a {
    min-height:68px !important;
    padding:9px 7px !important;
  }
  .philo-compass-page .philo-compass-jump:not(.is-condensed) .philo-jump-icon {
    width:31px !important;
    height:31px !important;
    flex-basis:31px !important;
  }
  .philo-compass-page .philo-compass-jump:not(.is-condensed) strong { font-size:9.6px !important; }
  .philo-compass-page .philo-compass-jump:not(.is-condensed) small { font-size:7.1px !important; }

  /* En lecture mobile : uniquement quatre icônes, horizontalement centrées. */
  .philo-compass-page .philo-compass-jump.is-condensed {
    top:68px !important;
    gap:4px !important;
    margin:10px auto 28px !important;
    padding:4px !important;
  }
  .philo-compass-page .philo-compass-jump.is-condensed > a {
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
  }
  .philo-compass-page .philo-compass-jump.is-condensed .philo-jump-icon {
    width:29px !important;
    height:29px !important;
    min-width:29px !important;
    flex-basis:29px !important;
  }
}

@media (max-width:520px) {
  .philo-compass-page .philo-compass-hero--socrates { min-height:355px !important; }
  .philo-compass-page .philo-compass-hero--socrates::before {
    background-position:left center !important;
    background-size:auto 108% !important;
    opacity:.86 !important;
  }
  .philo-compass-page .philo-compass-hero--socrates h1 { max-width:68% !important; }
  .philo-compass-page .philo-compass-hero--socrates p { max-width:66% !important; }
}

/* ========================================================================== 
   V14 — Boussole philosophique : navigation au repos inspirée de la boussole
   biblique. Un seul bandeau, quatre destinations légères et cohérentes.
   Le mode condensé/sticky reste volontairement inchangé.
   ========================================================================== */
.philo-compass-page .philo-compass-jump:not(.is-condensed) {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:5px !important;
  width:min(100%,900px) !important;
  max-width:900px !important;
  margin:15px auto 38px !important;
  padding:6px !important;
  border:1px solid rgba(91,83,199,.11) !important;
  border-radius:15px !important;
  background:rgba(252,251,255,.96) !important;
  box-shadow:0 9px 24px rgba(45,40,71,.055) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.philo-compass-page .philo-compass-jump:not(.is-condensed) > a {
  position:relative !important;
  display:grid !important;
  grid-template-columns:34px minmax(0,max-content) !important;
  grid-template-rows:auto auto !important;
  justify-content:center !important;
  align-items:center !important;
  gap:2px 9px !important;
  min-width:0 !important;
  min-height:54px !important;
  padding:7px 10px !important;
  border:0 !important;
  border-radius:10px !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--philo-readable) !important;
  text-align:left !important;
  transition:background .18s ease,transform .18s ease !important;
}

.philo-compass-page .philo-compass-jump:not(.is-condensed) > a:hover,
.philo-compass-page .philo-compass-jump:not(.is-condensed) > a:focus-visible {
  border:0 !important;
  background:#f1efff !important;
  transform:translateY(-1px) !important;
  outline:none !important;
}

.philo-compass-page .philo-compass-jump:not(.is-condensed) .philo-jump-icon {
  grid-row:1/3 !important;
  display:grid !important;
  place-items:center !important;
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  flex:0 0 34px !important;
  border-radius:10px !important;
  background:#eceaff !important;
  color:var(--philo-violet) !important;
  box-shadow:inset 0 0 0 1px rgba(91,83,199,.035) !important;
}

.philo-compass-page .philo-compass-jump:not(.is-condensed) .philo-jump-icon svg {
  width:18px !important;
  height:18px !important;
}

.philo-compass-page .philo-compass-jump:not(.is-condensed) .philo-jump-copy {
  display:contents !important;
  width:auto !important;
  min-width:0 !important;
  text-align:left !important;
}

.philo-compass-page .philo-compass-jump:not(.is-condensed) strong,
.philo-compass-page .philo-compass-jump:not(.is-condensed) small {
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:normal !important;
  text-align:left !important;
}

.philo-compass-page .philo-compass-jump:not(.is-condensed) strong {
  align-self:end !important;
  color:#302b36 !important;
  font-size:10.2px !important;
  font-weight:800 !important;
  line-height:1.08 !important;
}

.philo-compass-page .philo-compass-jump:not(.is-condensed) small {
  align-self:start !important;
  color:#655dd0 !important;
  font-size:7.4px !important;
  font-weight:650 !important;
  line-height:1.12 !important;
}

@media (max-width:700px) {
  .philo-compass-page .philo-compass-jump:not(.is-condensed) {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:4px !important;
    width:100% !important;
    margin:12px auto 30px !important;
    padding:5px !important;
    border-radius:14px !important;
  }

  .philo-compass-page .philo-compass-jump:not(.is-condensed) > a {
    grid-template-columns:31px minmax(0,max-content) !important;
    gap:2px 8px !important;
    min-height:55px !important;
    padding:7px 6px !important;
  }

  .philo-compass-page .philo-compass-jump:not(.is-condensed) .philo-jump-icon {
    width:31px !important;
    height:31px !important;
    min-width:31px !important;
    flex-basis:31px !important;
  }

  .philo-compass-page .philo-compass-jump:not(.is-condensed) .philo-jump-icon svg {
    width:16px !important;
    height:16px !important;
  }

  .philo-compass-page .philo-compass-jump:not(.is-condensed) strong {
    font-size:9.3px !important;
  }

  .philo-compass-page .philo-compass-jump:not(.is-condensed) small {
    font-size:6.9px !important;
  }
}

@media (max-width:430px) {
  .philo-compass-page .philo-compass-jump:not(.is-condensed) > a {
    grid-template-columns:29px minmax(0,max-content) !important;
    gap:2px 7px !important;
    padding:7px 4px !important;
  }
  .philo-compass-page .philo-compass-jump:not(.is-condensed) .philo-jump-icon {
    width:29px !important;
    height:29px !important;
    min-width:29px !important;
  }
  .philo-compass-page .philo-compass-jump:not(.is-condensed) strong { font-size:8.8px !important; }
  .philo-compass-page .philo-compass-jump:not(.is-condensed) small { font-size:6.5px !important; }
}

/* V29 — dictionnaire biblique : familles encyclopédiques et passerelles. */
.bible-deep-glossary-groups {
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:9px;
  align-items:center;
  margin-top:10px;
  padding:8px 9px;
  border:1px solid rgba(82,69,76,.065);
  border-radius:11px;
  background:rgba(255,255,255,.72);
}
.bible-deep-glossary-groups > span {
  color:#95878c;
  font-size:7.7px;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.bible-deep-glossary-groups > div {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.bible-deep-glossary-groups button {
  padding:5px 8px;
  border:1px solid transparent;
  border-radius:999px;
  background:transparent;
  color:#75666c;
  cursor:pointer;
  font:inherit;
  font-size:8px;
  font-weight:650;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.bible-deep-glossary-groups button:hover,
.bible-deep-glossary-groups button:focus-visible {
  border-color:rgba(160,91,104,.12);
  background:#fbf1f3;
  color:#8d4d59;
  outline:none;
}
.bible-deep-glossary-groups button.is-active {
  border-color:rgba(160,91,104,.14);
  background:#f4e7ea;
  color:#8e4d59;
  box-shadow:0 3px 9px rgba(112,65,75,.045);
}
.bible-deep-glossary-starters button i { font-style:italic; }

.bible-deep-glossary-bridges {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:11px;
}
.bible-deep-glossary-bridges:has(> section:only-child),
.bible-deep-glossary-bridges:has(> section[hidden] + section:not([hidden])),
.bible-deep-glossary-bridges:has(> section:not([hidden]) + section[hidden]) {
  grid-template-columns:1fr;
}
.bible-deep-glossary-bridges > section {
  min-width:0;
  padding:10px 11px;
  border:1px solid rgba(160,91,104,.08);
  border-radius:10px;
  background:linear-gradient(135deg,#fffafb 0%,#fff 100%);
}
.bible-deep-glossary-bridges > section[hidden] { display:none !important; }
.bible-deep-glossary-bridges > section > span {
  display:block;
  margin-bottom:5px;
  color:#9e5a67;
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.bible-deep-glossary-bridges p {
  margin:0 0 7px;
  color:#6b6065;
  font-size:9.5px;
  line-height:1.55;
}
.bible-deep-glossary-bridges [data-glossary-site-links],
.bible-deep-glossary-bridges [data-glossary-philosophy-links] {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.bible-deep-glossary-bridges a {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 8px;
  border:1px solid rgba(160,91,104,.09);
  border-radius:8px;
  background:#f7ecef;
  color:#824d58;
  font-size:8px;
  font-weight:720;
  line-height:1.35;
  text-decoration:none;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.bible-deep-glossary-bridges a:hover,
.bible-deep-glossary-bridges a:focus-visible {
  border-color:rgba(160,91,104,.18);
  background:#f2e1e5;
  outline:none;
  transform:translateY(-1px);
}

@media (max-width:700px) {
  .bible-deep-glossary-groups {
    grid-template-columns:1fr;
    gap:6px;
    padding:8px;
  }
  .bible-deep-glossary-groups > div { gap:4px; }
  .bible-deep-glossary-groups button { padding:5px 7px; font-size:7.8px; }
  .bible-deep-glossary-bridges { grid-template-columns:1fr; }
  .bible-deep-glossary-bridges p { font-size:9.3px; }
}

/* /textes/ : accès direct aux deux boussoles, côte à côte sous les filtres. */
.texts-compass-pair {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:15px;
}
.texts-compass-pair .texts-philo-compass-strip,
.texts-compass-pair .texts-bible-compass-strip {
  width:100%;
  min-width:0;
  margin-top:0;
  box-sizing:border-box;
}
.texts-compass-pair .texts-philo-compass-text,
.texts-compass-pair .texts-bible-compass-text {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media (max-width:520px) {
  .texts-compass-pair { gap:8px; margin-top:13px; }
  .texts-compass-pair .texts-philo-compass-strip,
  .texts-compass-pair .texts-bible-compass-strip { gap:6px; padding:8px 7px; }
  .texts-compass-pair .texts-philo-compass-icon,
  .texts-compass-pair .texts-bible-compass-icon { width:25px; height:25px; flex-basis:25px; }
  .texts-compass-pair .texts-philo-compass-icon svg,
  .texts-compass-pair .texts-bible-compass-icon svg { width:20px; height:20px; }
  .texts-compass-pair .texts-philo-compass-text,
  .texts-compass-pair .texts-bible-compass-text { font-size:9.4px; }
}


@media (max-width:620px) {
  body[data-catalog-section="mythologie"] .texts-hero { padding-top:44px; padding-bottom:40px; }
  body[data-catalog-section="mythologie"] .texts-hero::before {
    top:18px;
    right:-34px;
    font-size:clamp(62px,25vw,112px);
    opacity:.82;
  }
}

/* --------------------------------------------------------------------------
   /textes/theologie/ — illustration de fond du sélecteur
   Gustave Doré, The Creation of Light (Genèse 1,1-5), 1873.
   Source HD : Wikimedia Commons / Bibliothèque nationale de Pologne (domaine public).
   L'image reste purement décorative : elle ne crée aucun espace dans le hero.
   -------------------------------------------------------------------------- */
body[data-catalog-section="theologie"] .texts-hero::before {
  content:"";
  z-index:0;
  top:-26px;
  right:-14px;
  bottom:-38px;
  width:min(52vw,900px);
  height:auto;
  color:transparent;
  font-size:0;
  line-height:0;
  background-image:url("/assets/img/textes/theologie-dore-creation-light.webp");
  background-image:image-set(
    url("/assets/img/textes/theologie-dore-creation-light.avif") type("image/avif"),
    url("/assets/img/textes/theologie-dore-creation-light.webp") type("image/webp")
  );
  background-repeat:no-repeat;
  background-size:cover;
  background-position:50% 12%;
  opacity:.135;
  filter:sepia(.42) saturate(.72) hue-rotate(305deg) brightness(1.08);
  mix-blend-mode:multiply;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(to left,#000 0%,#000 72%,rgba(0,0,0,.82) 82%,rgba(0,0,0,.28) 94%,transparent 100%);
  mask-image:linear-gradient(to left,#000 0%,#000 72%,rgba(0,0,0,.82) 82%,rgba(0,0,0,.28) 94%,transparent 100%);
}
body[data-catalog-section="theologie"] .texts-hero-inner {
  z-index:1;
}

@media (max-width:620px) {
  /* Le contenu reste immédiatement en haut : l'illustration passe derrière lui. */
  body[data-catalog-section="theologie"] .texts-hero {
    padding-top:44px;
    padding-bottom:40px;
  }
  body[data-catalog-section="theologie"] .texts-hero::before {
    top:-34px;
    right:-46%;
    bottom:-46px;
    width:130%;
    background-image:url("/assets/img/textes/theologie-dore-creation-light-mobile.webp");
    background-image:image-set(
      url("/assets/img/textes/theologie-dore-creation-light-mobile.avif") type("image/avif"),
      url("/assets/img/textes/theologie-dore-creation-light-mobile.webp") type("image/webp")
    );
    background-position:49% 19%;
    opacity:.105;
    -webkit-mask-image:linear-gradient(to left,#000 0%,#000 58%,rgba(0,0,0,.78) 72%,rgba(0,0,0,.34) 91%,transparent 100%);
    mask-image:linear-gradient(to left,#000 0%,#000 58%,rgba(0,0,0,.78) 72%,rgba(0,0,0,.34) 91%,transparent 100%);
  }
}


/* --------------------------------------------------------------------------
   /textes/philosophie/ — illustration de fond du sélecteur
   Gustave Doré, chant I de la Divine Comédie : Dante dans la forêt obscure.
   Traitement harmonisé avec la page Théologie : zoom, transition et fondu
   plus proches du même modèle visuel, tout en gardant Dante visible à droite.
   -------------------------------------------------------------------------- */
body[data-catalog-section="philosophie"] .texts-hero::before {
  content:"";
  z-index:0;
  top:-26px;
  right:-14px;
  bottom:-38px;
  width:min(54vw,930px);
  height:auto;
  color:transparent;
  font-size:0;
  line-height:0;
  background-image:url("/assets/img/textes/philosophie-dore-dante-desktop-fadewide-v6.webp");
  background-image:image-set(
    url("/assets/img/textes/philosophie-dore-dante-desktop-fadewide-v6.avif") type("image/avif"),
    url("/assets/img/textes/philosophie-dore-dante-desktop-fadewide-v6.webp") type("image/webp")
  );
  background-repeat:no-repeat;
  background-size:cover;
  background-position:56% 54%;
  opacity:.135;
  filter:sepia(.08) saturate(.42) hue-rotate(228deg) brightness(1.065);
  mix-blend-mode:multiply;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(to left,#000 0%,#000 72%,rgba(0,0,0,.82) 82%,rgba(0,0,0,.28) 94%,transparent 100%);
  mask-image:linear-gradient(to left,#000 0%,#000 72%,rgba(0,0,0,.82) 82%,rgba(0,0,0,.28) 94%,transparent 100%);
}
body[data-catalog-section="philosophie"] .texts-hero-inner {
  z-index:1;
}

@media (max-width:620px) {
  body[data-catalog-section="philosophie"] .texts-hero {
    padding-top:44px;
    padding-bottom:40px;
  }
  body[data-catalog-section="philosophie"] .texts-hero::before {
    top:-34px;
    right:-46%;
    bottom:-46px;
    width:130%;
    background-image:url("/assets/img/textes/philosophie-dore-dante-mobile-fadewide-v6.webp");
    background-image:image-set(
      url("/assets/img/textes/philosophie-dore-dante-mobile-fadewide-v6.avif") type("image/avif"),
      url("/assets/img/textes/philosophie-dore-dante-mobile-fadewide-v6.webp") type("image/webp")
    );
    background-size:cover;
    background-position:61% 48%;
    opacity:.105;
    -webkit-mask-image:linear-gradient(to left,#000 0%,#000 58%,rgba(0,0,0,.78) 72%,rgba(0,0,0,.34) 91%,transparent 100%);
    mask-image:linear-gradient(to left,#000 0%,#000 58%,rgba(0,0,0,.78) 72%,rgba(0,0,0,.34) 91%,transparent 100%);
  }
}

/* --------------------------------------------------------------------------
   /textes/autres/ — Gustave Doré, A Voyage to the Moon (c. 1868)
   Traitement rapproché, inspiré de la page Théologie : image plus zoomée,
   bateau mieux lisible, transition plus douce et fondu plus progressif.
   Source : Wikimedia Commons (domaine public).
   -------------------------------------------------------------------------- */
body[data-catalog-section="autres"] .texts-hero::before {
  content:"";
  z-index:0;
  top:-28px;
  right:-16px;
  bottom:-38px;
  width:min(52vw,900px);
  height:auto;
  color:transparent;
  font-size:0;
  line-height:0;
  background-image:url("https://upload.wikimedia.org/wikipedia/commons/8/80/A_voyage_to_the_moon%2C_Dor%C3%A9.jpg");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:50% 28%;
  opacity:.135;
  filter:sepia(.08) saturate(.48) hue-rotate(196deg) brightness(1.08);
  mix-blend-mode:multiply;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(to left,#000 0%,#000 72%,rgba(0,0,0,.82) 82%,rgba(0,0,0,.28) 94%,transparent 100%);
  mask-image:linear-gradient(to left,#000 0%,#000 72%,rgba(0,0,0,.82) 82%,rgba(0,0,0,.28) 94%,transparent 100%);
}
body[data-catalog-section="autres"] .texts-hero-inner {
  z-index:1;
}

@media (max-width:620px) {
  body[data-catalog-section="autres"] .texts-hero {
    padding-top:44px;
    padding-bottom:40px;
  }
  body[data-catalog-section="autres"] .texts-hero::before {
    top:-34px;
    right:-46%;
    bottom:-46px;
    width:130%;
    background-image:url("https://upload.wikimedia.org/wikipedia/commons/thumb/8/80/A_voyage_to_the_moon%2C_Dor%C3%A9.jpg/960px-A_voyage_to_the_moon%2C_Dor%C3%A9.jpg");
    background-size:cover;
    background-position:50% 31%;
    opacity:.105;
    -webkit-mask-image:linear-gradient(to left,#000 0%,#000 58%,rgba(0,0,0,.78) 72%,rgba(0,0,0,.34) 91%,transparent 100%);
    mask-image:linear-gradient(to left,#000 0%,#000 58%,rgba(0,0,0,.78) 72%,rgba(0,0,0,.34) 91%,transparent 100%);
  }
}

/* 2026-08-10 — Boussole philosophique : dictionnaire d'abord, hiérarchie harmonisée. */
.philo-compass-page #dictionnaire { scroll-margin-top:112px; }
.philo-compass-page #dictionnaire + #chronologie { margin-top:18px; }
.philo-compass-page .philo-compass-hero-copy { max-width:690px; }


/* ==========================================================================
   Lecteur biblique — /textes/theologie/bible/
   ========================================================================== */
.bible-reader-secret-link{
  width:max-content;max-width:calc(100% - 32px);margin:10px auto 16px;padding:5px 9px;
  display:flex;align-items:center;gap:6px;border-radius:999px;color:rgba(109,91,91,.36);
  font-size:10px;font-weight:600;letter-spacing:.015em;text-decoration:none;
  opacity:.42;transition:opacity .25s ease,color .25s ease,background .25s ease,transform .25s ease;
}
.bible-reader-secret-link span:first-child{width:15px;height:15px;display:grid;place-items:center}
.bible-reader-secret-link svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.bible-reader-secret-link:hover,.bible-reader-secret-link:focus-visible{opacity:1;color:#b34f59;background:rgba(179,79,89,.055);transform:translateY(-1px);outline:none}

.bible-reader-page{background:#fbfaf9;color:#1c1c28}
.bible-reader-main{padding:28px 0 84px}
.bible-reader-shell{width:min(1120px,calc(100% - 40px));margin:0 auto}
.bible-reader-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 22px;font-size:11px;color:#8d8587}
.bible-reader-breadcrumb a{color:inherit;text-decoration:none}.bible-reader-breadcrumb a:hover{color:#b74e5a}
.bible-reader-breadcrumb span:last-child{color:#4e474b;font-weight:600}

.bible-reader-hero{max-width:760px;margin:44px auto 34px;text-align:center}
.bible-reader-kicker{display:inline-flex;align-items:center;gap:10px;color:#b84d58;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.bible-reader-kicker:before{content:"";width:24px;height:1px;background:currentColor}
.bible-reader-hero h1{margin:14px 0 14px;font-size:clamp(40px,5.6vw,72px);line-height:.98;letter-spacing:-.055em}
.bible-reader-hero p{max-width:680px;margin:0 auto;color:#5f585d;font-size:15px;line-height:1.75}

.bible-reader-controls{position:sticky;top:72px;z-index:20;margin:0 auto 42px;padding:19px 20px 18px;max-width:930px;border:1px solid #eadfe1;border-radius:20px;background:rgba(255,252,252,.94);box-shadow:0 14px 36px rgba(70,44,48,.07);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.bible-reader-controls-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}
.bible-reader-controls-head>div>span{display:block;margin-bottom:3px;color:#b7505a;font-size:9.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.bible-reader-controls-head h2{margin:0;font-size:18px;letter-spacing:-.025em}
.bible-reader-status{color:#91878a;font-size:10px;font-weight:600}
.bible-reader-select-grid{display:grid;grid-template-columns:1.2fr 1.2fr .8fr;gap:10px}
.bible-reader-field{display:grid;gap:6px}.bible-reader-field>span{padding-left:2px;color:#7d7477;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.bible-reader-field select{width:100%;height:44px;padding:0 38px 0 13px;border:1px solid #e5dadd;border-radius:12px;background-color:#fff;color:#302a2e;font:500 13px/1 Inter,sans-serif;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.bible-reader-field select:hover{border-color:#d8c5c9}.bible-reader-field select:focus{border-color:#c26069;box-shadow:0 0 0 3px rgba(194,96,105,.09)}
.bible-reader-field option:disabled{color:#aaa}
.bible-reader-license-note{margin:12px 2px 0;color:#91878a;font-size:9.5px;line-height:1.5}.bible-reader-license-note strong{color:#756b6e}

.bible-reader-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:1000;pointer-events:none}.bible-reader-progress span{display:block;width:100%;height:100%;background:#bd555f;transform-origin:left center;transform:scaleX(0)}
.bible-reader-content{max-width:820px;margin:0 auto}
.bible-reader-book-head{padding:12px 0 34px;border-bottom:1px solid #e8e1e2;text-align:center}
.bible-reader-book-head>span{color:#b84d58;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.bible-reader-book-head h2{margin:8px 0 5px;font-family:Georgia,"Times New Roman",serif;font-size:42px;font-weight:500;letter-spacing:-.035em}
.bible-reader-book-head p{margin:0;color:#928a8c;font-size:10px}

.bible-reader-chapter{scroll-margin-top:190px;padding:58px 0 22px;border-bottom:1px solid #ebe5e6}
.bible-reader-chapter>header{margin-bottom:28px;text-align:center}
.bible-reader-chapter>header span{color:#aaa0a2;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.bible-reader-chapter>header h2{margin:5px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:31px;font-weight:500;letter-spacing:-.025em}
.bible-reader-verses{max-width:720px;margin:0 auto}
.bible-reader-verse{display:grid;grid-template-columns:26px 1fr;gap:10px;margin:0 0 9px;font-family:Georgia,"Times New Roman",serif;font-size:17px;line-height:1.72;color:#292326}
.bible-reader-verse sup{position:relative;top:.36em;color:#bd5a63;font:700 9px/1 Inter,sans-serif;text-align:right}
.bible-reader-moment{scroll-margin-top:190px;margin:34px 0 15px;padding-top:20px;border-top:1px solid #efe8e9;display:flex;align-items:baseline;justify-content:space-between;gap:15px;font-family:Inter,sans-serif}
.bible-reader-moment:first-child{margin-top:0;padding-top:0;border-top:0}
.bible-reader-moment span{font-size:13px;font-weight:650;color:#453d40}.bible-reader-moment small{white-space:nowrap;color:#b86169;font-size:9px;font-weight:700;letter-spacing:.04em}
.bible-reader-loading{display:grid;place-items:center;padding:80px 20px;color:#8f8588}.bible-reader-loading span{width:22px;height:22px;border:2px solid #eadadd;border-top-color:#bd5963;border-radius:50%;animation:bible-reader-spin .8s linear infinite}.bible-reader-loading p{font-size:11px}
@keyframes bible-reader-spin{to{transform:rotate(360deg)}}
.bible-reader-error{padding:42px;border:1px solid #eadfe1;border-radius:18px;background:#fff;text-align:center;color:#665d60}.bible-reader-error strong{display:block;margin-bottom:9px;color:#2d282a}.bible-reader-error p{font-size:12px;line-height:1.6}.bible-reader-error a{display:inline-flex;margin-top:8px;color:#b34f59;font-size:11px;font-weight:700;text-decoration:none}

@media(max-width:720px){
  .bible-reader-secret-link{margin-top:4px;margin-bottom:10px;font-size:9px;opacity:.34}
  .bible-reader-main{padding-top:16px}.bible-reader-shell{width:min(100% - 24px,1120px)}
  .bible-reader-breadcrumb{display:none}.bible-reader-hero{margin:26px auto 24px}.bible-reader-hero h1{font-size:43px}.bible-reader-hero p{font-size:13px;line-height:1.65;padding:0 8px}
  .bible-reader-controls{top:62px;margin-bottom:30px;padding:14px 13px 13px;border-radius:16px}
  .bible-reader-controls-head{align-items:center;margin-bottom:11px}.bible-reader-controls-head h2{font-size:15px}.bible-reader-controls-head>div>span{font-size:8px}.bible-reader-status{font-size:8px}
  .bible-reader-select-grid{grid-template-columns:1fr 1fr}.bible-reader-field:last-child{grid-column:1/-1}.bible-reader-field select{height:42px;font-size:12px}.bible-reader-license-note{font-size:8.5px}
  .bible-reader-content{max-width:100%}.bible-reader-book-head h2{font-size:36px}.bible-reader-chapter{scroll-margin-top:205px;padding:45px 4px 18px}.bible-reader-chapter>header h2{font-size:28px}.bible-reader-verses{max-width:100%}
  .bible-reader-verse{grid-template-columns:22px 1fr;gap:8px;font-size:16px;line-height:1.7}.bible-reader-moment{scroll-margin-top:205px;margin-top:30px}.bible-reader-moment span{font-size:12px}.bible-reader-moment small{font-size:8px}
}
@media(prefers-reduced-motion:reduce){.bible-reader-secret-link{transition:none}.bible-reader-loading span{animation:none}}


/* --------------------------------------------------------------------------
   Lecteur biblique — navigation de chapitre v2
   -------------------------------------------------------------------------- */
.bible-reader-nav-wrap{position:relative;margin-top:14px;padding-top:13px;border-top:1px solid #eee3e5}
.bible-reader-chapter-nav{display:grid;grid-template-columns:minmax(120px,.75fr) minmax(260px,1.7fr) minmax(120px,.75fr);align-items:stretch;gap:9px}
.bible-reader-nav-button,.bible-reader-current{min-height:48px;border:1px solid #e7dadd;border-radius:12px;background:#fff;color:#51484c;font-family:Inter,sans-serif;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.bible-reader-nav-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 13px;font-size:10px;font-weight:650}
.bible-reader-nav-button--next{justify-content:center}.bible-reader-nav-button:hover:not(:disabled),.bible-reader-current:hover{border-color:#d4bfc3;background:#fffafa;color:#a84c56;transform:translateY(-1px)}
.bible-reader-nav-button:disabled{opacity:.28;cursor:default}
.bible-reader-current{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-content:center;text-align:left;padding:7px 14px}
.bible-reader-current small{grid-column:1;grid-row:1;color:#aa9da0;font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.bible-reader-current strong{grid-column:1;grid-row:2;color:#b7515a;font-size:13px;white-space:nowrap}
.bible-reader-current>span{grid-column:2;grid-row:1/3;align-self:center;overflow:hidden;color:#40383b;font-size:11px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.bible-reader-chapter-index{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:35;padding:16px;border:1px solid #e5d7da;border-radius:16px;background:rgba(255,253,253,.985);box-shadow:0 18px 48px rgba(69,42,47,.14);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.bible-reader-chapter-index-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px;color:#766b6e;font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.bible-reader-chapter-index-head button{border:0;background:transparent;color:#aa9da0;font-size:20px;line-height:1;cursor:pointer}
.bible-reader-chapter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-height:min(48vh,390px);overflow:auto;padding:1px}
.bible-reader-chapter-grid button{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:6px;min-height:44px;padding:6px 8px;border:1px solid #eee5e7;border-radius:10px;background:#fff;color:#5b5054;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}
.bible-reader-chapter-grid button strong{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#faf6f7;color:#b4525b;font-size:10px}
.bible-reader-chapter-grid button span{overflow:hidden;font-size:8.5px;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.bible-reader-chapter-grid button:hover,.bible-reader-chapter-grid button.is-active{border-color:#d9bec3;background:#fff8f9;color:#9f4650}.bible-reader-chapter-grid button.is-active strong{background:#b9515b;color:#fff}
.bible-reader-book-head--compact{padding-bottom:24px}
.bible-reader-chapter.is-single{padding-top:38px;border-bottom:0}
.bible-reader-chapter>header p{max-width:540px;margin:7px auto 0;color:#b2555e;font-size:11px;font-weight:650;line-height:1.45}
.bible-reader-inline-nav{display:flex;justify-content:space-between;gap:12px;margin:44px 0 12px;padding-top:18px;border-top:1px solid #eee6e7}
.bible-reader-inline-nav button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 13px;border:1px solid #e8dcde;border-radius:10px;background:#fff;color:#70666a;font:650 9.5px/1 Inter,sans-serif;cursor:pointer}
.bible-reader-inline-nav button:hover:not(:disabled){color:#aa4d56;border-color:#d9c0c4;background:#fff9fa}.bible-reader-inline-nav button:disabled{opacity:.25;cursor:default}

@media(max-width:900px){
  .bible-reader-chapter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .bible-reader-controls{position:relative;top:auto}
  .bible-reader-nav-wrap{margin-top:12px;padding-top:11px}
  .bible-reader-chapter-nav{grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}
  .bible-reader-nav-button{min-height:46px;padding:0;font-size:0}.bible-reader-nav-button span[aria-hidden="true"]{font-size:17px}.bible-reader-nav-button--next span:last-child{font-size:17px}
  .bible-reader-current{min-width:0;padding:7px 10px}.bible-reader-current small{font-size:7px}.bible-reader-current strong{font-size:11px}.bible-reader-current>span{font-size:10px}
  .bible-reader-chapter-index{position:relative;top:auto;margin-top:8px;padding:12px;border-radius:13px;box-shadow:none;background:#fff}
  .bible-reader-chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:330px}
  .bible-reader-chapter-grid button{grid-template-columns:26px 1fr;min-height:42px;padding:5px 6px}.bible-reader-chapter-grid button span{font-size:8px}
  .bible-reader-book-head--compact{padding-bottom:18px}.bible-reader-chapter.is-single{scroll-margin-top:80px;padding-top:30px}
  .bible-reader-chapter>header p{font-size:10.5px;padding:0 12px}
  .bible-reader-inline-nav{margin-top:34px}.bible-reader-inline-nav button span{display:none}
}
@media(prefers-reduced-motion:reduce){.bible-reader-nav-button,.bible-reader-current,.bible-reader-chapter-grid button{transition:none}}


/* --------------------------------------------------------------------------
   Lecteur biblique v3 — sélecteur compact, navigation clavier et accès discret
   -------------------------------------------------------------------------- */
.bible-reader-page .bible-reader-controls{
  margin-bottom:30px;
  padding:12px 14px 11px;
  border-radius:16px;
  box-shadow:0 10px 28px rgba(70,44,48,.055);
}
.bible-reader-page .bible-reader-controls-head{
  align-items:center;
  margin-bottom:8px;
}
.bible-reader-page .bible-reader-controls-head>div>span{
  margin-bottom:1px;
  font-size:8px;
  letter-spacing:.12em;
}
.bible-reader-page .bible-reader-controls-head h2{
  font-size:15px;
  line-height:1.15;
}
.bible-reader-page .bible-reader-status{
  font-size:9px;
}
.bible-reader-page .bible-reader-select-grid{
  grid-template-columns:1.35fr 1fr .9fr;
  gap:8px;
}
.bible-reader-page .bible-reader-field{
  gap:4px;
}
.bible-reader-page .bible-reader-field>span{
  font-size:7.5px;
  letter-spacing:.08em;
}
.bible-reader-page .bible-reader-field select{
  height:38px;
  padding:0 34px 0 11px;
  border-radius:10px;
  font-size:11.5px;
}
.bible-reader-page .bible-reader-meta-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:18px;
  margin:6px 2px 0;
  color:#9a9093;
  font-size:8px;
  line-height:1.35;
}
.bible-reader-page .bible-reader-keyboard-hint{
  flex:none;
  color:#b4aaac;
  letter-spacing:.02em;
  white-space:nowrap;
}
.bible-reader-page .bible-reader-nav-wrap{
  margin-top:7px;
  padding-top:8px;
}
.bible-reader-page .bible-reader-chapter-nav{
  grid-template-columns:minmax(100px,.7fr) minmax(240px,1.8fr) minmax(100px,.7fr);
  gap:7px;
}
.bible-reader-page .bible-reader-nav-button,
.bible-reader-page .bible-reader-current{
  min-height:42px;
  border-radius:10px;
}
.bible-reader-page .bible-reader-nav-button{
  font-size:9px;
}
.bible-reader-page .bible-reader-current{
  padding:5px 12px;
}
.bible-reader-page .bible-reader-current small{
  font-size:7px;
}
.bible-reader-page .bible-reader-current strong{
  font-size:11px;
}
.bible-reader-page .bible-reader-current>span{
  font-size:10px;
}

/* Le lien vers le lecteur n'est plus une ligne de texte : petit livre en coin du hero. */
.bible-compass-hero{
  position:relative;
}
.bible-reader-quiet-entry{
  position:absolute;
  z-index:4;
  top:16px;
  right:16px;
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  border:1px solid rgba(126,105,107,.13);
  border-radius:50%;
  color:rgba(91,77,79,.25);
  background:rgba(255,255,255,.22);
  opacity:.55;
  text-decoration:none;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  transition:opacity .22s ease,color .22s ease,border-color .22s ease,background .22s ease,transform .22s ease;
}
.bible-reader-quiet-entry svg{
  width:15px;
  height:15px;
  stroke:currentColor;
  stroke-width:1.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bible-reader-quiet-entry:hover,
.bible-reader-quiet-entry:focus-visible{
  opacity:1;
  color:#aa4c56;
  border-color:rgba(170,76,86,.25);
  background:rgba(255,255,255,.72);
  transform:translateY(-1px);
  outline:none;
}
.bible-reader-secret-link{display:none!important}

@media(max-width:720px){
  .bible-reader-page .bible-reader-controls{
    padding:10px 10px 9px;
    border-radius:14px;
  }
  .bible-reader-page .bible-reader-controls-head{
    margin-bottom:7px;
  }
  .bible-reader-page .bible-reader-controls-head h2{
    font-size:14px;
  }
  .bible-reader-page .bible-reader-select-grid{
    grid-template-columns:1fr 1fr;
    gap:7px;
  }
  .bible-reader-page .bible-reader-field:last-child{
    grid-column:1/-1;
  }
  .bible-reader-page .bible-reader-field select{
    height:36px;
    font-size:11px;
  }
  .bible-reader-page .bible-reader-meta-line{
    margin-top:5px;
    font-size:7.5px;
  }
  .bible-reader-page .bible-reader-keyboard-hint{
    display:none;
  }
  .bible-reader-page .bible-reader-chapter-nav{
    grid-template-columns:40px minmax(0,1fr) 40px;
    gap:5px;
  }
  .bible-reader-page .bible-reader-nav-button,
  .bible-reader-page .bible-reader-current{
    min-height:40px;
  }
  .bible-reader-quiet-entry{
    top:11px;
    right:11px;
    width:29px;
    height:29px;
    opacity:.46;
  }
}
@media(prefers-reduced-motion:reduce){
  .bible-reader-quiet-entry{transition:none}
}


/* --------------------------------------------------------------------------
   Lecteur biblique v4 — recherche, sommaire narratif, permaliens et fiches
   -------------------------------------------------------------------------- */
.bible-reader-page .bible-reader-meta-actions{display:flex;align-items:center;justify-content:flex-end;gap:11px;min-width:0}
.bible-reader-search-toggle{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 7px;border:0;border-radius:7px;background:transparent;color:#95898c;font:650 8px/1 Inter,sans-serif;cursor:pointer;transition:background .18s ease,color .18s ease}
.bible-reader-search-toggle svg{width:12px;height:12px;stroke:currentColor;stroke-width:1.65;stroke-linecap:round}
.bible-reader-search-toggle:hover,.bible-reader-search-toggle[aria-expanded="true"]{background:#fbf4f5;color:#aa4e57}
.bible-reader-search-panel{margin-top:8px;padding:11px;border:1px solid #eadfe1;border-radius:12px;background:#fff;box-shadow:0 12px 28px rgba(65,42,46,.055)}
.bible-reader-search-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:8px}
.bible-reader-search-head>div{display:flex;align-items:baseline;gap:8px;min-width:0}.bible-reader-search-head span{color:#b0535c;font-size:7px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.bible-reader-search-head strong{overflow:hidden;color:#554b4e;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.bible-reader-search-head>button{border:0;background:transparent;color:#a99da0;font-size:18px;line-height:1;cursor:pointer}
.bible-reader-search-form{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:6px}.bible-reader-search-form input,.bible-reader-search-form select{width:100%;height:34px;border:1px solid #e8dcdf;border-radius:9px;background:#fff;color:#423a3d;font:500 10.5px/1 Inter,sans-serif;outline:none}.bible-reader-search-form input{padding:0 10px}.bible-reader-search-form select{padding:0 27px 0 9px}.bible-reader-search-form input:focus,.bible-reader-search-form select:focus{border-color:#ca7a82;box-shadow:0 0 0 2px rgba(194,96,105,.07)}.bible-reader-search-form>button{height:34px;padding:0 11px;border:1px solid #d9bec2;border-radius:9px;background:#fff9fa;color:#a54c55;font:700 9px/1 Inter,sans-serif;cursor:pointer}
.bible-reader-search-feedback{min-height:14px;margin:7px 2px 3px;color:#a19699;font-size:7.5px;line-height:1.4}
.bible-reader-search-results{display:grid;gap:4px;max-height:min(48vh,390px);overflow:auto}.bible-reader-search-result{display:grid;grid-template-columns:88px minmax(0,1fr) 18px;align-items:center;gap:8px;width:100%;padding:7px 8px;border:1px solid #f0e8ea;border-radius:9px;background:#fff;color:#4f4649;text-align:left;cursor:pointer}.bible-reader-search-result:hover{border-color:#ddc8cc;background:#fffafb}.bible-reader-search-result>span{display:grid;gap:2px}.bible-reader-search-result strong{color:#ad4e57;font-size:9px}.bible-reader-search-result small{overflow:hidden;color:#a2979a;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.bible-reader-search-result p{margin:0;overflow:hidden;font-family:Georgia,"Times New Roman",serif;font-size:10.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bible-reader-search-result i{color:#c9babc;font-size:12px;font-style:normal}

.bible-reader-outline{max-width:820px;margin:13px auto 0;padding:11px 0 4px;border-top:1px solid #eee7e8}.bible-reader-outline-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;padding:0 2px}.bible-reader-outline-head span{color:#786d70;font-size:7.5px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.bible-reader-outline-head small{color:#b4aaac;font-size:7.5px}.bible-reader-outline-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:5px}.bible-reader-outline-track button{display:grid;align-content:start;gap:2px;min-height:52px;padding:7px 8px;border:1px solid #eee5e7;border-radius:9px;background:#fff;color:#615659;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.bible-reader-outline-track button:hover{border-color:#dac4c8;background:#fffafb;transform:translateY(-1px)}.bible-reader-outline-track button.is-active{border-color:#d6b8bd;background:#fff7f8}.bible-reader-outline-track small{color:#b05a62;font-size:7px;font-weight:750}.bible-reader-outline-track strong{font-size:9px;line-height:1.15}.bible-reader-outline-track span{overflow:hidden;color:#9a8f92;font-size:7.3px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

.bible-reader-related{max-width:720px;margin:-10px auto 24px;padding:8px 9px;border:1px solid #eee5e7;border-radius:10px;background:#fffafa}.bible-reader-related>span{display:block;margin-bottom:5px;color:#a8999c;font-size:7px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.bible-reader-related>div{display:flex;flex-wrap:wrap;gap:5px}.bible-reader-related a{display:grid;grid-template-columns:auto auto 12px;align-items:center;gap:5px;min-height:28px;padding:4px 7px;border-radius:7px;color:#665a5e;text-decoration:none;background:#fff;box-shadow:inset 0 0 0 1px #f0e7e8}.bible-reader-related a:hover{color:#a64b54;box-shadow:inset 0 0 0 1px #dac2c6}.bible-reader-related strong{font-size:8.5px}.bible-reader-related small{color:#aa9fa1;font-size:7px}.bible-reader-related i{color:#c2b0b3;font-size:9px;font-style:normal}

.bible-reader-verse{position:relative;border-radius:6px;transition:background .3s ease,box-shadow .3s ease}.bible-reader-verse.is-linked{background:linear-gradient(90deg,rgba(187,80,91,.085),rgba(187,80,91,.018));box-shadow:-8px 0 0 rgba(187,80,91,.08),8px 0 0 rgba(187,80,91,.018)}
.bible-reader-verse sup{top:.2em}.bible-reader-verse-link{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:auto;border-radius:6px;color:#bd5a63;text-decoration:none;transition:background .16s ease,color .16s ease}.bible-reader-verse-link:hover,.bible-reader-verse.is-linked .bible-reader-verse-link{background:#b8545e;color:#fff}.bible-reader-verse-link:focus-visible{outline:2px solid rgba(184,84,94,.25);outline-offset:1px}

@media(max-width:720px){
  .bible-reader-page .bible-reader-meta-actions{gap:4px}.bible-reader-search-toggle{height:22px;padding:0 5px}.bible-reader-search-toggle span{display:none}
  .bible-reader-search-panel{padding:9px;border-radius:10px}.bible-reader-search-form{grid-template-columns:1fr auto}.bible-reader-search-form label{grid-column:1/-1}.bible-reader-search-form select{min-width:0}.bible-reader-search-head strong{font-size:9px}.bible-reader-search-results{max-height:330px}.bible-reader-search-result{grid-template-columns:68px minmax(0,1fr) 12px;padding:6px}.bible-reader-search-result p{font-size:10px}
  .bible-reader-outline{margin-top:9px;padding-top:8px;overflow:hidden}.bible-reader-outline-track{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding:0 1px 4px;gap:5px}.bible-reader-outline-track button{flex:0 0 132px;min-height:50px;scroll-snap-align:start}.bible-reader-outline-head{margin-bottom:5px}
  .bible-reader-related{margin:-7px 0 20px;padding:7px}.bible-reader-related>div{display:grid}.bible-reader-related a{grid-template-columns:1fr auto 10px}.bible-reader-related strong{font-size:8px}
  .bible-reader-verse.is-linked{box-shadow:-4px 0 0 rgba(187,80,91,.08),4px 0 0 rgba(187,80,91,.018)}
}
@media(prefers-reduced-motion:reduce){.bible-reader-search-toggle,.bible-reader-outline-track button,.bible-reader-verse,.bible-reader-verse-link{transition:none}}

/* --------------------------------------------------------------------------
   Lecteur biblique v5 — comparateur, mode lecture pure et navigation flottante
   -------------------------------------------------------------------------- */
.bible-reader-tool-toggle{
  display:inline-flex;
  align-items:center;
  gap:5px;
  height:24px;
  padding:0 7px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#95898c;
  font:650 8px/1 Inter,sans-serif;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,opacity .18s ease;
}
.bible-reader-tool-toggle svg{
  width:12px;
  height:12px;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bible-reader-tool-toggle:hover,
.bible-reader-tool-toggle[aria-expanded="true"],
.bible-reader-tool-toggle[aria-pressed="true"]{
  background:#fbf4f5;
  color:#aa4e57;
}
.bible-reader-tool-toggle[aria-pressed="false"]{opacity:.58}
.bible-reader-search-toggle{height:24px;padding:0 7px}

/* Mode lecture pure : seuls le texte, les références et la navigation restent. */
.bible-reader-no-landmarks .bible-reader-outline,
.bible-reader-no-landmarks .bible-reader-moment,
.bible-reader-no-landmarks .bible-reader-related,
.bible-reader-no-landmarks .bible-reader-chapter>header p{
  display:none!important;
}
.bible-reader-no-landmarks .bible-reader-book-head--compact{padding-bottom:10px}
.bible-reader-no-landmarks .bible-reader-chapter.is-single{padding-top:25px}

/* Comparateur de traductions. */
.bible-reader-compare-panel{
  margin-top:8px;
  padding:11px;
  border:1px solid #eadfe1;
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 28px rgba(65,42,46,.055);
}
.bible-reader-compare-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:3px;
}
.bible-reader-compare-head>div{display:flex;align-items:baseline;gap:8px;min-width:0}
.bible-reader-compare-head span{color:#b0535c;font-size:7px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.bible-reader-compare-head strong{overflow:hidden;color:#554b4e;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}
.bible-reader-compare-head>button{border:0;background:transparent;color:#a99da0;font-size:18px;line-height:1;cursor:pointer}
.bible-reader-compare-note{margin:0 0 9px;color:#a19699;font-size:7.5px;line-height:1.45}
.bible-reader-compare-loading,
.bible-reader-compare-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:64px;
  padding:12px;
  border-radius:9px;
  background:#fcf9fa;
  color:#998d90;
  font-size:8.5px;
  text-align:center;
}
.bible-reader-compare-loading span{
  width:13px;
  height:13px;
  border:1.5px solid #eadadd;
  border-top-color:#bd5963;
  border-radius:50%;
  animation:bible-reader-spin .8s linear infinite;
}
.bible-reader-compare-scroll{overflow-x:auto;border:1px solid #eee5e7;border-radius:10px;background:#fff}
.bible-reader-compare-grid{min-width:max(660px,calc(42px + var(--compare-count,3) * 220px))}
.bible-reader-compare-headrow,
.bible-reader-compare-row{
  display:grid;
  grid-template-columns:42px repeat(var(--compare-count,3),minmax(220px,1fr));
}
.bible-reader-compare-headrow{
  position:sticky;
  top:0;
  z-index:2;
  background:#fbf7f8;
  border-bottom:1px solid #eadfe1;
}
.bible-reader-compare-headrow>span{border-right:1px solid #eee5e7}
.bible-reader-compare-column-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  min-height:37px;
  padding:7px 9px;
  border-right:1px solid #eee5e7;
}
.bible-reader-compare-column-head:last-child{border-right:0}
.bible-reader-compare-column-head strong{color:#5d5356;font-size:8.5px}
.bible-reader-compare-column-head small{color:#b45a62;font-size:6.7px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.bible-reader-compare-column-head.is-current{background:#fff5f6}
.bible-reader-compare-row{border-bottom:1px solid #f0e9ea}
.bible-reader-compare-row:last-child{border-bottom:0}
.bible-reader-compare-row.is-linked{background:linear-gradient(90deg,rgba(184,84,94,.055),rgba(184,84,94,.01))}
.bible-reader-compare-ref{
  position:sticky;
  left:0;
  z-index:1;
  display:grid;
  place-items:start center;
  padding-top:10px;
  border:0;
  border-right:1px solid #eee5e7;
  background:#fcf9fa;
  color:#b1515a;
  font:750 8px/1 Inter,sans-serif;
  cursor:pointer;
}
.bible-reader-compare-ref:hover{background:#fff1f3;color:#963e48}
.bible-reader-compare-cell{
  min-height:46px;
  padding:8px 9px 9px;
  border-right:1px solid #f0e9ea;
  color:#393134;
  font:400 12px/1.52 Georgia,"Times New Roman",serif;
}
.bible-reader-compare-cell:last-child{border-right:0}
.bible-reader-compare-cell.is-current{background:rgba(255,247,248,.48)}
.bible-reader-compare-missing{color:#c8bdc0;font-family:Inter,sans-serif}

/* Mini-navigation qui apparaît lorsque le sélecteur a quitté l'écran. */
.bible-reader-floating-nav{
  position:fixed;
  z-index:65;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:34px minmax(150px,270px) 34px;
  align-items:center;
  gap:3px;
  padding:4px;
  border:1px solid rgba(222,205,209,.9);
  border-radius:13px;
  background:rgba(255,253,253,.91);
  box-shadow:0 12px 34px rgba(64,42,46,.13);
  backdrop-filter:blur(13px);
  -webkit-backdrop-filter:blur(13px);
}
.bible-reader-floating-nav[hidden]{display:none!important}
.bible-reader-floating-nav>button{
  height:33px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#9c8589;
  font:650 13px/1 Inter,sans-serif;
  cursor:pointer;
}
.bible-reader-floating-nav>button:hover:not(:disabled){background:#fff3f5;color:#a64a54}
.bible-reader-floating-nav>button:disabled{opacity:.24;cursor:default}
.bible-reader-floating-current{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:7px;
  padding:0 8px!important;
  text-align:left;
}
.bible-reader-floating-current strong{color:#ad4e57;font-size:8.5px;white-space:nowrap}
.bible-reader-floating-current span{overflow:hidden;color:#665b5f;font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:720px){
  .bible-reader-page .bible-reader-meta-actions{gap:2px}
  .bible-reader-tool-toggle{height:22px;padding:0 5px}
  .bible-reader-tool-toggle span{display:none}
  .bible-reader-compare-panel{padding:9px;border-radius:10px}
  .bible-reader-compare-head strong{font-size:9px}
  .bible-reader-compare-note{font-size:7px}
  .bible-reader-compare-grid{min-width:max(620px,calc(38px + var(--compare-count,3) * 194px))}
  .bible-reader-compare-headrow,.bible-reader-compare-row{grid-template-columns:38px repeat(var(--compare-count,3),minmax(194px,1fr))}
  .bible-reader-compare-cell{font-size:11.3px;line-height:1.5}
  .bible-reader-floating-nav{bottom:10px;grid-template-columns:34px minmax(132px,1fr) 34px;width:min(calc(100% - 24px),390px)}
  .bible-reader-floating-current span{font-size:8px}
}
@media(prefers-reduced-motion:reduce){
  .bible-reader-tool-toggle{transition:none}
  .bible-reader-compare-loading span{animation:none}
}

/* --------------------------------------------------------------------------
   Lecteur biblique v6 — références croisées discrètes
   -------------------------------------------------------------------------- */
.bible-reader-verse-tools{
  display:grid;
  justify-items:end;
  gap:1px;
  width:100%;
}
.bible-reader-xref-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:1px;
  min-width:19px;
  height:13px;
  padding:0 3px;
  border:0;
  border-radius:5px;
  background:transparent;
  color:#b7a9ac;
  font:650 6.5px/1 Inter,sans-serif;
  cursor:pointer;
  opacity:.58;
  transition:opacity .16s ease,background .16s ease,color .16s ease;
}
.bible-reader-xref-toggle>span{font-size:8px;line-height:1}
.bible-reader-xref-toggle>small{font:700 6px/1 Inter,sans-serif}
.bible-reader-xref-toggle:hover,
.bible-reader-xref-toggle[aria-expanded="true"]{
  background:#fbf1f3;
  color:#a94d57;
  opacity:1;
}
.bible-reader-xrefs{
  max-width:684px;
  margin:-3px auto 12px;
  padding:7px 8px 8px;
  border-left:1px solid #e4d7da;
  background:linear-gradient(90deg,rgba(251,246,247,.7),rgba(255,255,255,0) 82%);
}
.bible-reader-xrefs[hidden]{display:none!important}
.bible-reader-xrefs-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:5px;
}
.bible-reader-xrefs-head>span{
  color:#9e8e92;
  font:750 6.8px/1 Inter,sans-serif;
  letter-spacing:.085em;
  text-transform:uppercase;
}
.bible-reader-xrefs-head>small{color:#bcb0b3;font:500 6.5px/1 Inter,sans-serif}
.bible-reader-xrefs-list{display:grid;gap:3px}
.bible-reader-xref{
  display:grid;
  grid-template-columns:46px 64px minmax(0,1fr) 12px;
  align-items:center;
  gap:6px;
  min-height:29px;
  padding:4px 5px;
  border-radius:7px;
  color:#655a5d;
  text-decoration:none;
  transition:background .16s ease,color .16s ease;
}
.bible-reader-xref:hover{background:#fff4f6;color:#963f49}
.bible-reader-xref-type{
  justify-self:start;
  padding:2px 4px;
  border:1px solid #eadde0;
  border-radius:999px;
  color:#a08f93;
  font:700 6.2px/1 Inter,sans-serif;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.bible-reader-xref--citation .bible-reader-xref-type{border-color:#dfc6ca;color:#a64b55}
.bible-reader-xref--parallel .bible-reader-xref-type{border-style:dashed}
.bible-reader-xref strong{font:700 8px/1.1 Inter,sans-serif;white-space:nowrap}
.bible-reader-xref small{overflow:hidden;color:#9e9295;font:400 7.5px/1.35 Inter,sans-serif;text-overflow:ellipsis;white-space:nowrap}
.bible-reader-xref i{color:#c1b4b7;font:400 9px/1 Inter,sans-serif;font-style:normal}
.bible-reader-no-landmarks .bible-reader-xref-toggle,
.bible-reader-no-landmarks .bible-reader-xrefs{display:none!important}

@media(max-width:720px){
  .bible-reader-verse-tools{gap:0}
  .bible-reader-xref-toggle{min-width:17px;height:12px;padding:0 2px}
  .bible-reader-xrefs{max-width:calc(100% - 30px);margin:-2px 0 11px 30px;padding:6px 6px 7px}
  .bible-reader-xrefs-head{margin-bottom:4px}
  .bible-reader-xref{grid-template-columns:40px 56px minmax(0,1fr) 10px;gap:4px;min-height:27px;padding:4px}
  .bible-reader-xref-type{font-size:5.7px}
  .bible-reader-xref strong{font-size:7.5px}
  .bible-reader-xref small{font-size:7px}
}
@media(max-width:430px){
  .bible-reader-xref{grid-template-columns:40px 56px minmax(0,1fr)}
  .bible-reader-xref i{display:none}
}
@media(prefers-reduced-motion:reduce){
  .bible-reader-xref-toggle,.bible-reader-xref{transition:none}
}

/* --------------------------------------------------------------------------
   Lecteur biblique v7 — aperçu du contexte sans quitter le passage
   -------------------------------------------------------------------------- */
.bible-reader-self-context{
  display:none;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:13px;
  padding:0 3px;
  border:0;
  border-radius:5px;
  background:transparent;
  color:#b7a9ac;
  font:700 6px/1 Inter,sans-serif;
  cursor:pointer;
  opacity:.62;
  transition:opacity .16s ease,background .16s ease,color .16s ease;
}
.bible-reader-verse.is-linked .bible-reader-self-context{display:inline-flex}
.bible-reader-self-context:hover,
.bible-reader-self-context[aria-expanded="true"]{
  background:#fbf1f3;
  color:#a94d57;
  opacity:1;
}

.bible-reader-context-trigger{
  flex:0 0 auto;
  min-height:24px;
  padding:0 7px;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  color:#aa9da0;
  font:650 6.5px/1 Inter,sans-serif;
  letter-spacing:.02em;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.bible-reader-context-trigger:hover,
.bible-reader-context-trigger[aria-expanded="true"]{
  border-color:#eadcdf;
  background:#fff6f7;
  color:#9f4650;
}
.bible-reader-xref-entry{display:grid;gap:3px}
.bible-reader-xref-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px}

.bible-reader-context-preview{
  max-width:684px;
  margin:3px auto 10px;
  overflow:hidden;
  border:1px solid #eee3e5;
  border-radius:9px;
  background:rgba(255,253,253,.96);
  box-shadow:0 7px 20px rgba(66,43,48,.045);
}
.bible-reader-context-preview[hidden]{display:none!important}
.bible-reader-context-preview--verse{margin:-3px auto 13px}
.bible-reader-context-preview--search{max-width:none;margin:3px 0 5px}
.bible-reader-context-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 20px;
  align-items:center;
  gap:8px;
  padding:6px 8px;
  border-bottom:1px solid #f0e7e9;
  background:#fcf8f9;
}
.bible-reader-context-head>div{display:flex;align-items:baseline;gap:6px;min-width:0}
.bible-reader-context-head span{
  color:#aa5861;
  font:750 6.4px/1 Inter,sans-serif;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.bible-reader-context-head strong{color:#62565a;font:700 8px/1 Inter,sans-serif}
.bible-reader-context-head small{color:#a99da0;font:500 6.5px/1 Inter,sans-serif;white-space:nowrap}
.bible-reader-context-head button{
  width:20px;
  height:20px;
  padding:0;
  border:0;
  border-radius:5px;
  background:transparent;
  color:#b2a5a8;
  font:400 14px/1 Inter,sans-serif;
  cursor:pointer;
}
.bible-reader-context-head button:hover{background:#f8ecee;color:#9d4650}
.bible-reader-context-verses{display:grid;padding:4px 6px}
.bible-reader-context-verse{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:8px;
  padding:5px 6px;
  border-radius:6px;
  color:#4a4144;
  text-decoration:none;
}
.bible-reader-context-verse:hover{background:#fff8f9}
.bible-reader-context-verse small{
  padding-top:.42em;
  color:#b7a9ac;
  font:650 6.4px/1 Inter,sans-serif;
  white-space:nowrap;
}
.bible-reader-context-verse span{font:400 11.2px/1.48 Georgia,"Times New Roman",serif}
.bible-reader-context-verse.is-target{
  background:linear-gradient(90deg,rgba(184,84,94,.09),rgba(184,84,94,.025));
}
.bible-reader-context-verse.is-target small{color:#a94c56;font-weight:800}
.bible-reader-context-verse.is-target span{color:#332b2e;font-weight:600}
.bible-reader-context-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:5px 8px 6px;
  border-top:1px solid #f0e7e9;
  color:#b1a5a8;
  font:500 6.3px/1 Inter,sans-serif;
}
.bible-reader-context-foot>a{color:#a34b55;font-weight:700;text-decoration:none}
.bible-reader-context-foot i{font-style:normal}
.bible-reader-context-loading,
.bible-reader-context-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:48px;
  padding:8px;
  color:#a4979a;
  font:500 7.5px/1.4 Inter,sans-serif;
  text-align:center;
}
.bible-reader-context-loading span{
  width:11px;
  height:11px;
  border:1.5px solid #eadadd;
  border-top-color:#b8545e;
  border-radius:50%;
  animation:bible-reader-spin .8s linear infinite;
}

.bible-reader-search-result-wrap{display:grid;gap:2px}
.bible-reader-search-result-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px}
.bible-reader-context-trigger--search{height:100%;min-height:34px;padding:0 6px;border-color:#f0e8ea;background:#fff}

.bible-reader-no-landmarks .bible-reader-self-context,
.bible-reader-no-landmarks .bible-reader-context-trigger,
.bible-reader-no-landmarks .bible-reader-context-preview{display:none!important}

@media(max-width:720px){
  .bible-reader-self-context{min-width:17px;height:12px;padding:0 2px;font-size:5.5px}
  .bible-reader-context-trigger{padding:0 5px;font-size:6px}
  .bible-reader-context-preview{max-width:calc(100% - 30px);margin-left:30px;margin-right:0}
  .bible-reader-context-preview--search{max-width:none;margin-left:0}
  .bible-reader-context-head{grid-template-columns:minmax(0,1fr) 20px;gap:5px;padding:5px 6px}
  .bible-reader-context-head>small{display:none}
  .bible-reader-context-head>div{gap:5px}
  .bible-reader-context-verse{grid-template-columns:44px minmax(0,1fr);gap:6px;padding:5px}
  .bible-reader-context-verse span{font-size:10.6px;line-height:1.45}
  .bible-reader-context-foot{padding:5px 6px}
  .bible-reader-context-trigger--search{min-height:32px;padding:0 5px}
}
@media(max-width:430px){
  .bible-reader-context-foot>span{display:none}
  .bible-reader-context-foot{justify-content:flex-end}
}
@media(prefers-reduced-motion:reduce){
  .bible-reader-self-context,.bible-reader-context-trigger{transition:none}
  .bible-reader-context-loading span{animation:none}
}

/* ==========================================================================
   Lecteur biblique V8 — comparateur robuste + collections transversales
   ========================================================================== */
.bible-reader-compare-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:4px 0 7px;
}
.bible-reader-compare-modes{
  display:inline-flex;
  flex:0 0 auto;
  gap:2px;
  padding:2px;
  border:1px solid #eadfe1;
  border-radius:999px;
  background:#fff;
}
.bible-reader-compare-modes button{
  border:0;
  border-radius:999px;
  padding:4px 8px;
  background:transparent;
  color:#8e8285;
  font:650 7.5px/1 Inter,sans-serif;
  letter-spacing:.02em;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease;
}
.bible-reader-compare-modes button.is-active{
  background:#f8e9eb;
  color:#963e48;
  box-shadow:0 1px 2px rgba(91,46,51,.06);
}
.bible-reader-compare-translations{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:4px;
  min-width:0;
}
.bible-reader-compare-translation{
  position:relative;
  display:inline-flex;
  align-items:center;
  cursor:pointer;
}
.bible-reader-compare-translation input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.bible-reader-compare-translation span{
  display:block;
  padding:4px 7px;
  border:1px solid #eee4e6;
  border-radius:999px;
  background:#fff;
  color:#9b9093;
  font:600 6.8px/1 Inter,sans-serif;
  white-space:nowrap;
  transition:border-color .18s ease,background .18s ease,color .18s ease;
}
.bible-reader-compare-translation:hover span{border-color:#d9c3c7;color:#795f64}
.bible-reader-compare-translation.is-selected span{
  border-color:#ddb9bf;
  background:#fff6f7;
  color:#9a444e;
}
.bible-reader-compare-focus-nav{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 30px;
  align-items:stretch;
  width:min(360px,100%);
  margin:8px auto 10px;
  overflow:hidden;
  border:1px solid #eadfe1;
  border-radius:9px;
  background:#fff;
}
.bible-reader-compare-focus-nav[hidden]{display:none!important}
.bible-reader-compare-focus-nav>button{
  min-height:34px;
  border:0;
  background:transparent;
  color:#8d6e73;
  cursor:pointer;
}
.bible-reader-compare-focus-nav>button:first-child{border-right:1px solid #eee5e7}
.bible-reader-compare-focus-nav>button:last-child{border-left:1px solid #eee5e7}
.bible-reader-compare-focus-nav>button:not(:disabled):hover{background:#fff4f5;color:#993f49}
.bible-reader-compare-focus-nav>button:disabled{opacity:.24;cursor:default}
.bible-reader-compare-focus-nav [data-bible-compare-focus-ref]{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  padding:4px 10px;
}
.bible-reader-compare-focus-nav strong{color:#5d5053;font-size:9px}
.bible-reader-compare-focus-nav span{color:#ad9fa2;font-size:6.5px}
.bible-reader-compare-verse-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));
  gap:7px;
}
.bible-reader-compare-card{
  position:relative;
  min-width:0;
  padding:10px 11px 11px;
  border:1px solid #ebe2e4;
  border-radius:10px;
  background:#fff;
  box-shadow:0 2px 9px rgba(74,48,52,.025);
}
.bible-reader-compare-card.is-current{
  border-color:#dfbbc0;
  background:linear-gradient(145deg,#fff 0%,#fff8f9 100%);
}
.bible-reader-compare-card header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:7px;
  padding-bottom:6px;
  border-bottom:1px solid #f2ebec;
}
.bible-reader-compare-card header strong{color:#625659;font:700 8px/1.2 Inter,sans-serif}
.bible-reader-compare-card header span{color:#b45a62;font:700 6.2px/1 Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.bible-reader-compare-card>p{
  margin:0;
  color:#433b3d;
  font-family:Georgia,"Times New Roman",serif;
  font-size:13.2px;
  line-height:1.62;
}
.bible-reader-compare-card.is-error{border-style:dashed;background:#fcfafb}
.bible-reader-compare-card.is-error>p{color:#9d9295;font-family:Inter,sans-serif;font-size:9px}
.bible-reader-compare-card>button,
.bible-reader-compare-retry,
.bible-reader-compare-column-head button{
  margin-top:7px;
  border:1px solid #e4d5d8;
  border-radius:999px;
  padding:4px 7px;
  background:#fff;
  color:#9c535b;
  font:650 6.8px/1 Inter,sans-serif;
  cursor:pointer;
}
.bible-reader-compare-column-head.is-error{background:#fcfafb}
.bible-reader-compare-column-head.is-error strong{color:#9f9496}
.bible-reader-compare-column-head button{margin:0}

/* Collections : prières et paraboles */
.bible-reader-collections-panel{
  margin-top:8px;
  padding:10px;
  border:1px solid #e9dfe1;
  border-radius:12px;
  background:linear-gradient(145deg,rgba(255,255,255,.985),rgba(252,248,249,.985));
  box-shadow:0 8px 24px rgba(72,47,52,.035);
}
.bible-reader-collections-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
}
.bible-reader-collections-head>div{display:flex;align-items:baseline;gap:8px;min-width:0}
.bible-reader-collections-head span{color:#b0535c;font-size:7px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.bible-reader-collections-head strong{overflow:hidden;color:#554b4e;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}
.bible-reader-collections-head>button{border:0;background:transparent;color:#a99da0;font-size:18px;line-height:1;cursor:pointer}
.bible-reader-collections-tabs{
  display:flex;
  gap:4px;
  margin:0 0 6px;
}
.bible-reader-collections-tabs button{
  border:1px solid #e9dfe1;
  border-radius:999px;
  padding:4px 9px;
  background:#fff;
  color:#8f8285;
  font:650 7.5px/1 Inter,sans-serif;
  cursor:pointer;
}
.bible-reader-collections-tabs button.is-active{border-color:#dcb8be;background:#fff4f5;color:#963e48}
.bible-reader-collections-description{
  max-width:760px;
  margin:0 0 8px;
  color:#91868a;
  font-size:7.6px;
  line-height:1.5;
}
.bible-reader-collections-tools{
  display:grid;
  grid-template-columns:minmax(180px,1.5fr) minmax(145px,.8fr) minmax(130px,.7fr);
  gap:5px;
  margin-bottom:6px;
}
.bible-reader-collections-tools label{display:block;min-width:0}
.bible-reader-collections-tools input,
.bible-reader-collections-tools select{
  width:100%;
  min-height:30px;
  border:1px solid #e7dcde;
  border-radius:8px;
  padding:0 9px;
  outline:0;
  background:#fff;
  color:#62585a;
  font:500 8px/1 Inter,sans-serif;
}
.bible-reader-collections-tools input:focus,
.bible-reader-collections-tools select:focus{border-color:#d2a4aa;box-shadow:0 0 0 2px rgba(176,83,92,.055)}
.bible-reader-collections-status{
  margin:2px 1px 6px;
  color:#a19598;
  font:550 6.8px/1.35 Inter,sans-serif;
}
.bible-reader-collections-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  max-height:min(59vh,610px);
  overflow:auto;
  padding:1px 2px 3px 1px;
  scrollbar-width:thin;
}
.bible-reader-collection-item{
  align-self:start;
  min-width:0;
  border:1px solid #eee5e7;
  border-radius:9px;
  background:#fff;
}
.bible-reader-collection-item-main{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  padding:8px 8px 4px;
}
.bible-reader-collection-copy{min-width:0}
.bible-reader-collection-copy>span{
  display:block;
  margin-bottom:3px;
  color:#ad7a80;
  font:650 6px/1.25 Inter,sans-serif;
  letter-spacing:.025em;
  text-transform:uppercase;
}
.bible-reader-collection-copy h3{
  margin:0;
  color:#51474a;
  font:680 9px/1.28 Inter,sans-serif;
}
.bible-reader-collection-copy p{
  margin:3px 0 0;
  color:#978b8e;
  font-size:7px;
  line-height:1.4;
}
.bible-reader-collection-read{
  flex:0 0 auto;
  border:0;
  border-radius:999px;
  padding:4px 7px;
  background:#faf2f3;
  color:#9c5059;
  font:650 6.5px/1 Inter,sans-serif;
  cursor:pointer;
}
.bible-reader-collection-refs{
  display:flex;
  flex-wrap:wrap;
  gap:3px;
  padding:0 8px 7px;
}
.bible-reader-collection-refs button{
  border:1px solid #eee4e6;
  border-radius:999px;
  padding:3px 6px;
  background:#fff;
  color:#86797c;
  font:600 6.3px/1 Inter,sans-serif;
  cursor:pointer;
}
.bible-reader-collection-refs button:hover,
.bible-reader-collection-refs button.is-active{border-color:#dcb8be;background:#fff5f6;color:#9a444e}
.bible-reader-collection-preview{
  border-top:1px solid #f0e8e9;
  padding:7px 8px 9px;
  background:#fdfbfb;
  border-radius:0 0 9px 9px;
}
.bible-reader-collection-passage+ .bible-reader-collection-passage{margin-top:9px;padding-top:9px;border-top:1px dashed #e8dcde}
.bible-reader-collection-passage header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:5px;
}
.bible-reader-collection-passage header strong{color:#7a6266;font:700 7px/1 Inter,sans-serif}
.bible-reader-collection-passage header span{color:#aaa0a2;font:550 6px/1 Inter,sans-serif}
.bible-reader-collection-passage>div p{
  margin:0 0 3px;
  color:#51484a;
  font-family:Georgia,"Times New Roman",serif;
  font-size:10.8px;
  line-height:1.52;
}
.bible-reader-collection-passage sup{
  display:inline-block;
  min-width:17px;
  margin-right:3px;
  color:#b36b73;
  font:650 6.5px/1 Inter,sans-serif;
  vertical-align:super;
}
.bible-reader-collection-passage>a{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-top:4px;
  color:#99505a;
  font:650 6.7px/1 Inter,sans-serif;
  text-decoration:none;
}
.bible-reader-collection-passage>a:hover{text-decoration:underline}
.bible-reader-collection-passage.is-error>p,
.bible-reader-collection-empty,
.bible-reader-collections-empty{color:#9b9093;font:500 8px/1.5 Inter,sans-serif}
.bible-reader-collections-empty{grid-column:1/-1;padding:22px;text-align:center}

@media (max-width:700px){
  .bible-reader-compare-toolbar{align-items:flex-start;flex-direction:column}
  .bible-reader-compare-translations{justify-content:flex-start}
  .bible-reader-compare-verse-cards{grid-template-columns:1fr}
  .bible-reader-compare-grid{min-width:0}
  .bible-reader-compare-headrow{display:none}
  .bible-reader-compare-row{
    display:block;
    padding:7px 8px 8px 37px;
    position:relative;
  }
  .bible-reader-compare-ref{
    position:absolute;
    top:7px;
    left:6px;
    width:27px;
    min-height:27px;
    border:1px solid #eee4e6;
    border-radius:7px;
  }
  .bible-reader-compare-cell{
    display:block;
    min-height:0;
    padding:7px 7px 8px;
    border:0;
    border-bottom:1px solid #f1e9ea;
    background:transparent!important;
    font-size:11.2px;
    line-height:1.5;
  }
  .bible-reader-compare-cell:last-child{border-bottom:0}
  .bible-reader-compare-cell::before{
    content:attr(data-label);
    display:block;
    margin-bottom:3px;
    color:#ac6d74;
    font:700 6.2px/1 Inter,sans-serif;
    letter-spacing:.03em;
    text-transform:uppercase;
  }
  .bible-reader-collections-tools{grid-template-columns:1fr 1fr}
  .bible-reader-collections-tools label{grid-column:1/-1}
  .bible-reader-collections-list{grid-template-columns:1fr;max-height:62vh}
}

@media (max-width:430px){
  .bible-reader-compare-panel,.bible-reader-collections-panel{padding:8px}
  .bible-reader-compare-translation span{padding:4px 6px;font-size:6.4px}
  .bible-reader-collections-tools{grid-template-columns:1fr}
  .bible-reader-collections-tools label{grid-column:auto}
}

/* === Bible detail reading system · 2026-08-10 === */
.text-bible-coordinate{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  max-width:760px;
  margin:15px auto 0;
  color:#8b7277;
  font-size:10px;
  font-weight:700;
  letter-spacing:.055em;
  line-height:1.45;
  text-transform:uppercase;
}
.text-bible-coordinate span:first-child{color:var(--catalog-theo-dark);font-weight:800}
.text-bible-coordinate i{color:#c5a9ae;font-style:normal}
.text-bible-cycle{
  max-width:760px;
  margin:24px auto 0;
  overflow:hidden;
  border:1px solid rgba(182,77,91,.15);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(250,241,243,.94),rgba(255,255,255,.96) 50%,rgba(250,241,243,.55));
  box-shadow:0 10px 28px rgba(92,55,64,.045);
}
.text-bible-cycle-head{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:baseline;
  gap:10px;
  padding:11px 14px 9px;
  border-bottom:1px solid rgba(182,77,91,.11);
}
.text-bible-cycle-head>span{color:#a77780;font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.text-bible-cycle-head>strong{color:#563f44;font-family:Georgia,"Times New Roman",serif;font-size:14px;font-weight:600}
.text-bible-cycle-head>small{color:#a28c91;font-size:8px;font-weight:700;letter-spacing:.04em}
.text-bible-cycle ol{
  display:flex;
  margin:0;
  padding:0;
  list-style:none;
}
.text-bible-cycle li{position:relative;flex:1 1 0;min-width:0;border-right:1px solid rgba(182,77,91,.09)}
.text-bible-cycle li:last-child{border-right:0}
.text-bible-cycle li.is-current{background:rgba(182,77,91,.075)}
.text-bible-cycle li.is-current::after{content:"";position:absolute;right:12px;bottom:0;left:12px;height:2px;background:var(--catalog-theo);border-radius:2px 2px 0 0}
.text-bible-cycle li a{display:flex;min-height:58px;flex-direction:column;justify-content:center;gap:4px;padding:9px 11px 11px;color:inherit;text-decoration:none;transition:background .2s ease}
.text-bible-cycle li a:hover,.text-bible-cycle li a:focus-visible{background:rgba(182,77,91,.06);outline:none}
.text-bible-cycle li a>span{color:#b1848c;font-size:7px;font-weight:800;letter-spacing:.1em}
.text-bible-cycle li a>strong{display:-webkit-box;overflow:hidden;color:#645156;font-size:9.5px;font-weight:650;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.text-bible-cycle li.is-current a>strong{color:#8f4552;font-weight:800}
.text-bible-view-toggle{
  display:flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  gap:2px;
  margin:13px 0 0 auto;
  padding:3px;
  border:1px solid rgba(182,77,91,.13);
  border-radius:999px;
  background:#fff;
}
.text-bible-view-toggle>span{padding:0 7px;color:#a1888d;font-size:7px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.text-bible-view-toggle button{
  min-width:67px;
  padding:6px 10px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#856d72;
  font:700 9px/1 Inter,Arial,sans-serif;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,box-shadow .2s ease;
}
.text-bible-view-toggle button[aria-pressed="true"]{background:#9d5662;color:#fff;box-shadow:0 4px 12px rgba(157,86,98,.16)}
.text-bible-view-toggle button:focus-visible{outline:2px solid rgba(157,86,98,.3);outline-offset:2px}
.text-bible-genealogy{
  display:grid;
  grid-template-columns:115px minmax(0,1fr);
  gap:13px;
  margin:13px 0 2px;
  padding:12px 0 2px;
  border-top:1px solid rgba(182,77,91,.12);
}
.text-bible-genealogy>span{padding-top:2px;color:#9b5d68;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.text-bible-genealogy>div{display:grid;gap:0}
.text-bible-genealogy p{position:relative;margin:0!important;padding:0 0 13px 16px!important;color:#756468!important;font-size:10.5px!important;line-height:1.35!important}
.text-bible-genealogy p::before{content:"";position:absolute;top:3px;bottom:-2px;left:3px;width:1px;background:#e6cfd3}
.text-bible-genealogy p::after{content:"";position:absolute;top:4px;left:0;width:7px;height:7px;border:1px solid #c9919b;border-radius:50%;background:#fff}
.text-bible-genealogy p.is-last{padding-bottom:1px!important}
.text-bible-genealogy p.is-last::before{display:none}
.text-bible-genealogy p strong{color:#8f4653;font-weight:800}
.text-bible-genealogy p i{color:#b19ca0;font-style:normal}
.text-bible-anatomy{
  max-width:760px;
  margin:22px auto 3px;
  padding:15px 17px 16px;
  border:1px solid rgba(182,77,91,.13);
  border-radius:12px;
  background:#fffdfd;
}
.text-bible-anatomy>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.text-bible-anatomy>div>span{color:#8e4a56;font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.text-bible-anatomy>div>small{color:#aa9297;font-size:8px;font-weight:650}
.text-bible-anatomy ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px;margin:0;padding:0;list-style:none}
.text-bible-anatomy li a{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:34px;padding:6px 8px;border-radius:8px;color:inherit;text-decoration:none;transition:background .18s ease,transform .18s ease}
.text-bible-anatomy li a:hover,.text-bible-anatomy li a:focus-visible{background:#faf0f2;outline:none;transform:translateX(1px)}
.text-bible-anatomy li a>span{color:#b57a84;font-size:7px;font-weight:850;letter-spacing:.08em}
.text-bible-anatomy li a>strong{overflow:hidden;color:#655459;font-size:9.5px;font-weight:650;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.text-bible-anatomy li a>small{color:#a99398;font-size:7.5px;font-weight:600;white-space:nowrap}
[id^="passage-movement-"]{scroll-margin-top:125px}
.text-bible-entity-term{color:#7f4853;font-weight:650;cursor:help;border-bottom:1px dotted rgba(182,77,91,.5);text-decoration:none}
.text-bible-entity-term:focus-visible{border-radius:2px;outline:2px solid rgba(182,77,91,.26);outline-offset:2px}
.text-bible-prevnext{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(160px,.72fr) minmax(0,1fr);
  max-width:760px;
  margin:28px auto 0;
  overflow:hidden;
  border:1px solid rgba(182,77,91,.14);
  border-radius:13px;
  background:#fff;
}
.text-bible-prevnext>a{color:inherit;text-decoration:none;transition:background .2s ease}
.text-bible-prevnext>a:hover,.text-bible-prevnext>a:focus-visible{background:#fbf2f4;outline:none}
.text-bible-prevnext-side{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:5px;padding:14px 15px}
.text-bible-prevnext-side>span{color:#a56570;font-size:7.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.text-bible-prevnext-side>strong{display:-webkit-box;overflow:hidden;color:#655257;font-size:10px;font-weight:700;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.text-bible-prevnext-next{text-align:right}
.text-bible-prevnext-center{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:13px 12px;border-right:1px solid rgba(182,77,91,.1);border-left:1px solid rgba(182,77,91,.1);background:linear-gradient(145deg,#fbf2f4,#fff);text-align:center}
.text-bible-prevnext-center>span{color:#9c5561;font-size:7px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.text-bible-prevnext-center>strong{color:#735f64;font-size:8.5px;font-weight:650;line-height:1.35}
.text-bible-prevnext-side.is-empty{min-height:58px;background:#fdfbfb}

/* “Lecture” strips the pedagogical apparatus without changing the source text. */
.text-detail--reading-mode .text-detail-tags,
.text-detail--reading-mode .text-context,
.text-detail--reading-mode .text-relations,
.text-detail--reading-mode .text-bible-anatomy,
.text-detail--reading-mode .text-reading-notes,
.text-detail--reading-mode .text-path-navigation,
.text-detail--reading-mode .text-detail-cta{display:none!important}
.text-detail--reading-mode .text-reading--scripture{margin-top:27px}
.text-detail--reading-mode .text-scripture-heading{display:none}
.text-detail--reading-mode .text-scripture-movement-title,
.text-detail--reading-mode .text-scripture-movement-range{display:none}
.text-detail--reading-mode .text-scripture-movement-label{width:auto;padding:0;text-align:right}
.text-detail--reading-mode .text-scripture-movement-marker{position:static;display:block;padding-top:.62em}
.text-detail--reading-mode .text-bible-entity-term{color:inherit;font-weight:inherit;cursor:text;border-bottom:0}

@media (max-width:700px){
  .text-bible-coordinate{gap:5px;margin-top:13px;font-size:8.5px}
  .text-bible-cycle{margin-top:18px;border-radius:11px}
  .text-bible-cycle-head{grid-template-columns:1fr auto;gap:5px 8px;padding:9px 10px 8px}
  .text-bible-cycle-head>span{grid-column:1/-1}
  .text-bible-cycle-head>strong{font-size:12px}
  .text-bible-cycle ol{overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-inline:contain}
  .text-bible-cycle li{flex:0 0 142px;scroll-snap-align:start}
  .text-bible-cycle li a{min-height:52px;padding:8px 9px 10px}
  .text-bible-view-toggle{margin-top:10px}
  .text-bible-genealogy{grid-template-columns:1fr;gap:7px}
  .text-bible-genealogy>span{padding-top:0}
  .text-bible-anatomy{margin-top:17px;padding:12px}
  .text-bible-anatomy ol{grid-template-columns:1fr}
  .text-bible-anatomy li a{grid-template-columns:23px minmax(0,1fr) auto}
  .text-bible-prevnext{grid-template-columns:1fr 1fr;margin-top:22px}
  .text-bible-prevnext-center{grid-column:1/-1;grid-row:1;border-right:0;border-bottom:1px solid rgba(182,77,91,.1);border-left:0}
  .text-bible-prevnext-side{grid-row:2;padding:12px}
  .text-bible-prevnext-next{border-left:1px solid rgba(182,77,91,.1)}
  .text-bible-prevnext-side.is-empty{min-height:54px}
  .text-detail--reading-mode .text-scripture-movement-label{width:auto;padding-left:0}
}

@media (max-width:430px){
  .text-bible-view-toggle{width:100%;justify-content:flex-end}
  .text-bible-view-toggle>span{margin-right:auto}
  .text-bible-view-toggle button{min-width:63px}
  .text-bible-cycle li{flex-basis:132px}
  .text-bible-prevnext-side>strong{font-size:9px}
}
.text-glossary-tooltip.is-entity{max-width:min(330px,calc(100vw - 28px));padding:12px 14px;text-align:left}
.text-glossary-tooltip.is-entity .text-glossary-tooltip-kind{display:block;margin-bottom:4px;color:#e6bac1;font-size:7px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.text-glossary-tooltip.is-entity strong{display:block;margin-bottom:4px;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:14px;font-weight:600}
.text-glossary-tooltip.is-entity p{margin:0;color:rgba(255,255,255,.86);font-size:10.5px;line-height:1.48}


/* ========================================================================== */
/* FICHES BIBLIQUES — NAVIGATION DE CYCLE + COMPARATEUR LATÉRAL             */
/* ========================================================================== */

.text-bible-cycle-head{grid-template-columns:auto 1fr auto}

.text-bible-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.text-bible-toolbar .text-bible-view-toggle{margin-top:0}
.text-bible-toolbar-actions{display:flex;align-items:center;gap:7px}
.text-bible-compare-trigger{display:inline-flex;min-height:31px;align-items:center;justify-content:center;gap:7px;padding:6px 10px;border:1px solid rgba(157,86,98,.16);border-radius:999px;background:#fff;color:#755e63;font:700 8px/1 Inter,sans-serif;letter-spacing:.02em;text-decoration:none;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease}
.text-bible-compare-trigger{appearance:none;cursor:pointer}
.text-bible-compare-trigger svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.35}
.text-bible-compare-trigger:hover,.text-bible-compare-trigger:focus-visible{border-color:rgba(157,86,98,.34);background:#fbf2f4;color:#8c4652;outline:none;transform:translateY(-1px)}
.text-bible-prevnext-center>small{color:#a88087;font-size:7px;font-weight:700}

body.is-bible-compare-open{overflow:hidden}
.text-bible-compare-backdrop{position:fixed;z-index:9996;inset:0;background:rgba(34,24,26,.16);opacity:0;backdrop-filter:blur(1.5px);transition:opacity .24s ease}
.text-bible-compare-backdrop.is-open{opacity:1}
.text-bible-compare-drawer{position:fixed;z-index:9997;top:0;right:0;display:grid;width:min(720px,52vw);height:100dvh;grid-template-rows:auto minmax(0,1fr) auto;border-left:1px solid rgba(126,80,89,.16);background:#fff;box-shadow:-18px 0 52px rgba(51,34,38,.14);transform:translateX(102%);transition:transform .34s cubic-bezier(.2,.75,.2,1)}
.text-bible-compare-drawer.is-open{transform:translateX(0)}
.text-bible-compare-drawer>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 15px;border-bottom:1px solid #eee6e8;background:linear-gradient(180deg,#fffafa 0,#fff 100%)}
.text-bible-compare-drawer>header span{display:block;margin-bottom:4px;color:#a46c75;font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.text-bible-compare-drawer>header h2{margin:0;color:#573f44;font:600 clamp(20px,2vw,27px)/1.1 Georgia,"Times New Roman",serif}
.text-bible-compare-drawer>header p{margin:6px 0 0;color:#8e777c;font-size:9px;font-weight:650}
.text-bible-compare-drawer>header button{display:grid;width:34px;height:34px;place-items:center;border:1px solid #eadfe1;border-radius:50%;background:#fff;color:#765c62;font-size:24px;line-height:1;cursor:pointer;transition:background .2s ease,transform .2s ease}
.text-bible-compare-drawer>header button:hover,.text-bible-compare-drawer>header button:focus-visible{background:#f8edef;outline:none;transform:rotate(4deg)}
.text-bible-compare-frame-wrap{position:relative;min-height:0;background:#fff}
.text-bible-compare-frame-wrap iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.text-bible-compare-frame-loading{position:absolute;z-index:2;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;background:#fff;color:#8e757a;font-size:10px}
.text-bible-compare-frame-loading[hidden]{display:none}
.text-bible-compare-frame-loading>span{width:24px;height:24px;border:2px solid #eadbdd;border-top-color:#9d5662;border-radius:50%;animation:bibleCompareSpin .8s linear infinite}
@keyframes bibleCompareSpin{to{transform:rotate(360deg)}}
.text-bible-compare-drawer>footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 18px;border-top:1px solid #eee6e8;background:#fdfafb}
.text-bible-compare-drawer>footer p{max-width:430px;margin:0;color:#8b7579;font-size:8px;line-height:1.45}
.text-bible-compare-drawer>footer p strong{color:#71585e}
.text-bible-compare-drawer>footer a{flex:none;color:#98515d;font-size:8px;font-weight:800;text-decoration:none}
.text-bible-compare-drawer>footer a:hover{text-decoration:underline;text-underline-offset:3px}

@media (max-width:900px){
  .text-bible-toolbar{align-items:flex-start;flex-direction:column}
  .text-bible-toolbar-actions{width:100%}
  .text-bible-compare-trigger{flex:1}
  .text-bible-compare-drawer{width:min(760px,72vw)}
}
@media (max-width:700px){
  .text-bible-cycle-head{grid-template-columns:1fr auto}
  .text-bible-cycle-head>strong{grid-column:1;grid-row:2}
  .text-bible-cycle-head>small{grid-column:1;grid-row:3}
  .text-bible-cycle-head>a{grid-column:2;grid-row:2/4;align-self:center}
  .text-bible-toolbar-actions{display:grid;grid-template-columns:1fr 1fr}
  .text-bible-compare-trigger{min-height:34px;padding-inline:8px;font-size:7.5px}
  .text-bible-compare-drawer{top:auto;bottom:0;width:100%;height:min(88dvh,780px);border-top:1px solid rgba(126,80,89,.18);border-left:0;border-radius:16px 16px 0 0;box-shadow:0 -18px 48px rgba(51,34,38,.16);transform:translateY(103%)}
  .text-bible-compare-drawer.is-open{transform:translateY(0)}
  .text-bible-compare-drawer>header{padding:16px 16px 12px}
  .text-bible-compare-drawer>footer{align-items:flex-start;flex-direction:column;gap:7px;padding:10px 14px}
}
@media (prefers-reduced-motion:reduce){
  .text-bible-compare-drawer,.text-bible-compare-backdrop{transition:none!important}
}

/* ========================================================================== 
   Lecteur biblique — confort de lecture + parcours bibliques · 2026-08-10
   ========================================================================== */

/* Le lecteur était très compact sur desktop. Ces valeurs rapprochent l'affichage
   à 100 % d'un confort de lecture qui nécessitait auparavant un zoom navigateur. */
.bible-reader-page .bible-reader-controls{
  margin-bottom:18px;
  padding:17px 18px 15px;
}
.bible-reader-page .bible-reader-controls-head{margin-bottom:12px}
.bible-reader-page .bible-reader-controls-head>div>span{font-size:10px;letter-spacing:.11em}
.bible-reader-page .bible-reader-controls-head h2{font-size:19px}
.bible-reader-page .bible-reader-status{font-size:11px}
.bible-reader-page .bible-reader-select-grid{gap:11px}
.bible-reader-page .bible-reader-field{gap:6px}
.bible-reader-page .bible-reader-field>span{font-size:10px}
.bible-reader-page .bible-reader-field select{
  height:46px;
  padding:0 38px 0 13px;
  font-size:14px;
}
.bible-reader-page .bible-reader-meta-line{
  min-height:32px;
  margin-top:9px;
  font-size:11px;
  line-height:1.45;
}
.bible-reader-page .bible-reader-meta-actions{gap:7px}
.bible-reader-tool-toggle,
.bible-reader-search-toggle{
  gap:7px;
  height:34px;
  padding:0 10px;
  border-radius:9px;
  font-size:11px;
}
.bible-reader-tool-toggle svg,
.bible-reader-search-toggle svg{width:15px;height:15px}

/* Recherche : même niveau de lisibilité que le lecteur. */
.bible-reader-search-panel{margin-top:11px;padding:15px;border-radius:14px}
.bible-reader-search-head{margin-bottom:11px}
.bible-reader-search-head span{font-size:9px}
.bible-reader-search-head strong{font-size:14px}
.bible-reader-search-head>button{font-size:25px}
.bible-reader-search-form{grid-template-columns:minmax(0,1fr) 180px auto;gap:8px}
.bible-reader-search-form input,
.bible-reader-search-form select{height:42px;font-size:13px}
.bible-reader-search-form>button{height:42px;padding:0 15px;font-size:11px}
.bible-reader-search-feedback{min-height:18px;margin:9px 2px 5px;font-size:10.5px}
.bible-reader-search-results{gap:7px}
.bible-reader-search-result{grid-template-columns:108px minmax(0,1fr) 22px;gap:10px;padding:10px 11px;border-radius:11px}
.bible-reader-search-result strong{font-size:11px}
.bible-reader-search-result small{font-size:9px}
.bible-reader-search-result p{font-size:13.5px;line-height:1.45}
.bible-reader-search-result i{font-size:15px}

/* Sommaires et liens autour du texte : moins miniatures. */
.bible-reader-outline-head span,.bible-reader-outline-head small{font-size:9.5px}
.bible-reader-outline-track button{min-height:62px;padding:9px 10px}
.bible-reader-outline-track small{font-size:9px}
.bible-reader-outline-track strong{font-size:11px}
.bible-reader-outline-track span{font-size:9.5px;line-height:1.35}
.bible-reader-related>span{font-size:9px}
.bible-reader-related a{min-height:34px;padding:6px 9px}
.bible-reader-related strong{font-size:10.5px}
.bible-reader-related small{font-size:9px}

/* Comparateur : les métadonnées restent secondaires, mais ne sont plus minuscules. */
.bible-reader-compare-panel{padding:15px;border-radius:14px}
.bible-reader-compare-head span{font-size:9px}
.bible-reader-compare-head strong{font-size:14px}
.bible-reader-compare-head>button{font-size:25px}
.bible-reader-compare-modes button{font-size:10.5px;padding:6px 10px}
.bible-reader-compare-translation span{font-size:9px;padding:6px 9px}
.bible-reader-compare-note{font-size:10.5px;line-height:1.5}
.bible-reader-compare-card header strong{font-size:10.5px}
.bible-reader-compare-card header span{font-size:8px}
.bible-reader-compare-card>p{font-size:14.5px;line-height:1.66}
.bible-reader-compare-card.is-error>p{font-size:11px}
.bible-reader-compare-card>button,
.bible-reader-compare-retry,
.bible-reader-compare-column-head button{font-size:9px;padding:6px 9px}

/* --------------------------------------------------------------------------
   Parcours bibliques : séparés des outils qui agissent sur le passage courant.
   -------------------------------------------------------------------------- */
.bible-reader-pathways{
  max-width:940px;
  margin:0 auto 32px;
  padding:0 2px;
}
.bible-reader-pathways-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin:0 2px 12px;
}
.bible-reader-pathways-heading>div>span{
  display:block;
  margin-bottom:3px;
  color:#af5660;
  font-size:10px;
  font-weight:750;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.bible-reader-pathways-heading h2{
  margin:0;
  color:#393135;
  font-size:21px;
  line-height:1.15;
  letter-spacing:-.025em;
}
.bible-reader-pathways-heading p{
  max-width:520px;
  margin:0;
  color:#817579;
  font-size:12px;
  line-height:1.55;
  text-align:right;
}
.bible-reader-pathway-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.bible-reader-pathway-card{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:82px;
  padding:13px 14px;
  border:1px solid #e9dfe1;
  border-radius:14px;
  background:linear-gradient(145deg,#fff,#fdfafb);
  color:#62575b;
  text-align:left;
  cursor:pointer;
  box-shadow:0 7px 20px rgba(74,48,54,.025);
  transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease;
}
.bible-reader-pathway-card:hover,
.bible-reader-pathway-card.is-active{
  border-color:#d9b6bb;
  background:linear-gradient(145deg,#fff,#fff6f7);
  box-shadow:0 10px 24px rgba(112,61,70,.055);
  transform:translateY(-1px);
}
.bible-reader-pathway-num{
  align-self:start;
  padding-top:2px;
  color:#c5a7ac;
  font-size:9px;
  font-weight:750;
  letter-spacing:.07em;
}
.bible-reader-pathway-icon{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:11px;
  background:#fbf3f4;
  color:#a84d57;
}
.bible-reader-pathway-icon svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.bible-reader-pathway-copy{display:grid;gap:4px;min-width:0}
.bible-reader-pathway-copy strong{color:#51464a;font-size:14px;line-height:1.2}
.bible-reader-pathway-copy small{color:#91858a;font-size:10.5px;line-height:1.4}
.bible-reader-pathway-arrow{color:#b49da2;font-size:15px;transition:transform .2s ease,color .2s ease}
.bible-reader-pathway-card:hover .bible-reader-pathway-arrow,
.bible-reader-pathway-card.is-active .bible-reader-pathway-arrow{color:#a84d57;transform:translateX(2px)}
.bible-reader-pathway-panels{margin-top:10px}

/* Collections dédiées : prières et paraboles ont maintenant chacune leur entrée.
   Le moteur de données existant reste commun, mais l'interface n'affiche plus
   les deux catégories comme deux petits onglets perdus dans un même outil. */
.bible-reader-pathway-panels>.bible-reader-collections-panel{margin-top:0}
.bible-reader-collections-panel.is-dedicated-collection .bible-reader-collections-tabs{display:none}
.bible-reader-collections-panel{
  padding:16px;
  border-radius:14px;
  box-shadow:0 10px 28px rgba(72,47,52,.045);
}
.bible-reader-collections-head{margin-bottom:11px}
.bible-reader-collections-head span{font-size:9px}
.bible-reader-collections-head strong{font-size:15px}
.bible-reader-collections-head>button{font-size:25px}
.bible-reader-collections-tabs{gap:7px;margin-bottom:10px}
.bible-reader-collections-tabs button{padding:7px 12px;font-size:11px}
.bible-reader-collections-description{margin-bottom:12px;font-size:11.5px;line-height:1.55}
.bible-reader-collections-tools{gap:8px;margin-bottom:9px}
.bible-reader-collections-tools input,
.bible-reader-collections-tools select{
  min-height:40px;
  border-radius:10px;
  padding:0 11px;
  font-size:12px;
}
.bible-reader-collections-status{margin:4px 2px 9px;font-size:10px}
.bible-reader-collections-list{gap:9px;max-height:min(64vh,680px)}
.bible-reader-collection-item{border-radius:11px}
.bible-reader-collection-item-main{gap:10px;padding:12px 12px 7px}
.bible-reader-collection-copy>span{margin-bottom:4px;font-size:8.5px}
.bible-reader-collection-copy h3{font-size:13px;line-height:1.3}
.bible-reader-collection-copy p{margin-top:5px;font-size:10.5px;line-height:1.45}
.bible-reader-collection-read{padding:7px 10px;font-size:9.5px}
.bible-reader-collection-refs{gap:5px;padding:0 12px 11px}
.bible-reader-collection-refs button{padding:5px 8px;font-size:9px}
.bible-reader-collection-preview{padding:11px 12px 13px;border-radius:0 0 11px 11px}
.bible-reader-collection-passage+ .bible-reader-collection-passage{margin-top:13px;padding-top:13px}
.bible-reader-collection-passage header{margin-bottom:8px}
.bible-reader-collection-passage header strong{font-size:10px}
.bible-reader-collection-passage header span{font-size:9px}
.bible-reader-collection-passage>div p{margin-bottom:5px;font-size:14px;line-height:1.62}
.bible-reader-collection-passage sup{min-width:20px;margin-right:4px;font-size:9px}
.bible-reader-collection-passage>a{margin-top:7px;font-size:10px}
.bible-reader-collection-passage.is-error>p,
.bible-reader-collection-empty,
.bible-reader-collections-empty{font-size:11px}

/* --------------------------------------------------------------------------
   Mystères du Rosaire.
   -------------------------------------------------------------------------- */
.bible-reader-rosary-panel{
  padding:16px;
  border:1px solid #e7dadd;
  border-radius:14px;
  background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(252,247,248,.99));
  box-shadow:0 10px 28px rgba(72,47,52,.045);
}
.bible-reader-rosary-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.bible-reader-rosary-head>div{display:flex;align-items:baseline;gap:9px;min-width:0}
.bible-reader-rosary-head span{color:#b0535c;font-size:9px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.bible-reader-rosary-head strong{color:#51474a;font-size:15px}
.bible-reader-rosary-head>button{border:0;background:transparent;color:#a99da0;font-size:25px;line-height:1;cursor:pointer}
.bible-reader-rosary-today{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin-bottom:10px;
  padding:10px 12px;
  border:1px solid #eadcdf;
  border-radius:11px;
  background:#fff;
}
.bible-reader-rosary-today span{color:#ad5660;font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.bible-reader-rosary-today strong{color:#61555a;font-size:12px}
.bible-reader-rosary-days{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:6px;
  margin-bottom:11px;
}
.bible-reader-rosary-days button{
  position:relative;
  display:grid;
  justify-items:center;
  gap:4px;
  min-height:58px;
  padding:9px 5px 7px;
  border:1px solid #e9dfe1;
  border-radius:10px;
  background:#fff;
  color:#716469;
  cursor:pointer;
}
.bible-reader-rosary-days button span{font-size:11px;font-weight:750}
.bible-reader-rosary-days button small{color:#a29699;font-size:8.5px}
.bible-reader-rosary-days button i{
  position:absolute;
  top:-6px;
  padding:2px 5px;
  border-radius:999px;
  background:#ad535d;
  color:#fff;
  font-size:6.5px;
  font-style:normal;
  font-weight:750;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.bible-reader-rosary-days button:hover,
.bible-reader-rosary-days button.is-active{border-color:#d7afb5;background:#fff5f6;color:#9a444e}
.bible-reader-rosary-series-wrap{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 0 12px;
  border-bottom:1px solid #eee5e7;
}
.bible-reader-rosary-series-wrap>span{color:#95898c;font-size:10px}
.bible-reader-rosary-series{display:flex;flex-wrap:wrap;gap:5px}
.bible-reader-rosary-series button{
  border:1px solid #e7dcde;
  border-radius:999px;
  padding:6px 10px;
  background:#fff;
  color:#84777b;
  font-size:10px;
  font-weight:650;
  cursor:pointer;
}
.bible-reader-rosary-series button:hover,
.bible-reader-rosary-series button.is-active{border-color:#d8b3b8;background:#fff4f5;color:#984650}
.bible-reader-rosary-content{max-width:790px;margin:17px auto 0}
.bible-reader-rosary-content>header{margin-bottom:12px;text-align:center}
.bible-reader-rosary-content>header>span{color:#ad5660;font-size:9px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.bible-reader-rosary-content h3{margin:4px 0 5px;color:#443a3f;font-family:Georgia,"Times New Roman",serif;font-size:26px;font-weight:500;letter-spacing:-.025em}
.bible-reader-rosary-content>header p{margin:0;color:#8c8084;font-size:11px;line-height:1.5}
.bible-reader-rosary-list{display:grid;gap:7px}
.bible-reader-rosary-item{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  padding:12px 13px;
  border:1px solid #eee5e7;
  border-radius:12px;
  background:#fff;
}
.bible-reader-rosary-item-num{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:10px;
  background:#fbf3f4;
  color:#aa535c;
  font-size:10px;
  font-weight:750;
}
.bible-reader-rosary-item-copy{min-width:0}
.bible-reader-rosary-item-copy>small{display:block;margin-bottom:3px;color:#ac7279;font-size:9px;font-weight:700}
.bible-reader-rosary-item-copy h4{margin:0;color:#51474a;font-size:14px;line-height:1.3}
.bible-reader-rosary-item-copy p{margin:5px 0 0;color:#8d8185;font-size:10.5px;line-height:1.5}
.bible-reader-rosary-read{
  display:flex;
  align-items:center;
  gap:7px;
  width:max-content;
  max-width:100%;
  margin-top:8px;
  padding:7px 9px;
  border-radius:8px;
  background:#faf2f3;
  color:#954851;
  font-size:10px;
  font-weight:700;
  text-decoration:none;
}
.bible-reader-rosary-read span{color:#aa7a80;font-weight:600}
.bible-reader-rosary-read i{font-style:normal}
.bible-reader-rosary-item--tradition{background:#fdfbfb}
.bible-reader-rosary-related{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.bible-reader-rosary-related a{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 8px;
  border:1px solid #eadfe1;
  border-radius:8px;
  background:#fff;
  color:#8d535a;
  font-size:9.5px;
  font-weight:650;
  text-decoration:none;
}
.bible-reader-rosary-note{
  max-width:790px;
  margin:13px auto 1px;
  color:#9b9093;
  font-size:9.5px;
  line-height:1.55;
}

@media(max-width:800px){
  .bible-reader-pathways-heading{display:block}.bible-reader-pathways-heading p{margin-top:7px;text-align:left}
  .bible-reader-pathway-grid{grid-template-columns:1fr}
  .bible-reader-pathway-card{min-height:70px}
  .bible-reader-rosary-days{display:flex;overflow-x:auto;padding:6px 1px 5px;scroll-snap-type:x proximity}
  .bible-reader-rosary-days button{flex:0 0 78px;scroll-snap-align:start}
}

@media(max-width:720px){
  .bible-reader-page .bible-reader-controls{padding:13px 12px 11px}
  .bible-reader-page .bible-reader-controls-head h2{font-size:17px}
  .bible-reader-page .bible-reader-controls-head>div>span{font-size:9px}
  .bible-reader-page .bible-reader-status{font-size:10px}
  .bible-reader-page .bible-reader-field>span{font-size:9px}
  .bible-reader-page .bible-reader-field select{height:43px;font-size:13px}
  .bible-reader-page .bible-reader-meta-line{font-size:10px;align-items:flex-start;flex-direction:column}
  .bible-reader-page .bible-reader-meta-actions{width:100%;justify-content:flex-start;gap:5px}
  .bible-reader-tool-toggle,.bible-reader-search-toggle{height:34px;padding:0 9px;font-size:10px}
  .bible-reader-tool-toggle span,.bible-reader-search-toggle span{display:inline}
  .bible-reader-pathways{margin-bottom:25px}
  .bible-reader-pathways-heading h2{font-size:19px}
  .bible-reader-pathways-heading p{font-size:11px}
  .bible-reader-pathway-copy strong{font-size:13px}
  .bible-reader-pathway-copy small{font-size:10px}
  .bible-reader-collections-panel,.bible-reader-rosary-panel{padding:12px}
  .bible-reader-collections-tools{grid-template-columns:1fr}
  .bible-reader-collections-tools label{grid-column:auto}
  .bible-reader-collections-list{grid-template-columns:1fr;max-height:64vh}
  .bible-reader-collection-copy h3{font-size:12.5px}
  .bible-reader-collection-passage>div p{font-size:13.5px}
  .bible-reader-rosary-series-wrap{align-items:flex-start;flex-direction:column;gap:7px}
  .bible-reader-rosary-item{grid-template-columns:36px minmax(0,1fr);gap:9px;padding:10px}
  .bible-reader-rosary-item-num{width:32px;height:32px}
  .bible-reader-rosary-content h3{font-size:23px}
  .bible-reader-search-form{grid-template-columns:1fr auto}
  .bible-reader-search-form label{grid-column:1/-1}
  .bible-reader-search-form input,.bible-reader-search-form select{font-size:12px}
  .bible-reader-search-result{grid-template-columns:86px minmax(0,1fr) 18px}
  .bible-reader-search-result p{font-size:12.5px}
  .bible-reader-compare-cell{font-size:12.8px;line-height:1.55}
  .bible-reader-compare-cell::before{font-size:8.5px}
}

@media(max-width:430px){
  .bible-reader-page .bible-reader-meta-actions{display:grid;grid-template-columns:repeat(3,1fr)}
  .bible-reader-tool-toggle,.bible-reader-search-toggle{justify-content:center;width:100%;padding:0 5px;font-size:9.5px}
  .bible-reader-pathway-card{grid-template-columns:auto auto minmax(0,1fr);padding:11px}
  .bible-reader-pathway-arrow{display:none}
  .bible-reader-pathway-icon{width:32px;height:32px}
  .bible-reader-rosary-head>div{display:grid;gap:2px}
  .bible-reader-rosary-head strong{font-size:13px}
  .bible-reader-rosary-today{display:grid;gap:3px}
  .bible-reader-rosary-read{align-items:flex-start;flex-wrap:wrap}
}

@media(prefers-reduced-motion:reduce){
  .bible-reader-pathway-card,.bible-reader-pathway-arrow{transition:none}
}

/* ========================================================================== 
   Lecteur biblique — parcours bibliques en espace indépendant · 2026-08-10
   ========================================================================== */

/* Le sélecteur reste l'outil de lecture ; les parcours deviennent une seconde
   zone clairement séparée et n'ouvrent plus de contenu dans le flux de page. */
.bible-reader-pathways{
  position:relative;
  max-width:940px;
  margin:30px auto 44px;
  padding:27px 2px 0;
  border-top:1px solid #e7dadd;
}
.bible-reader-pathways::before{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:72px;
  height:2px;
  border-radius:999px;
  background:#b45a64;
  opacity:.72;
}
.bible-reader-pathways-heading{margin-bottom:14px}
.bible-reader-pathways-heading p{max-width:470px}
.bible-reader-pathway-card{min-height:76px;padding:12px 13px;box-shadow:none}
.bible-reader-pathway-card.is-active{transform:none}

/* Le panneau est volontairement hors du flux du lecteur : le sélecteur reste
   visible derrière mais devient un simple contexte, jamais une seconde zone
   de scroll qui se mélange au contenu du parcours. */
body.bible-reader-pathway-modal-open{overflow:hidden}
.bible-reader-pathway-modal[hidden]{display:none!important}
.bible-reader-pathway-modal{
  position:fixed;
  inset:0;
  z-index:1300;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}
.bible-reader-pathway-modal.is-open{opacity:1;pointer-events:auto}
.bible-reader-pathway-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(35,26,29,.46);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.bible-reader-pathway-dialog{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  width:min(1120px,calc(100vw - 48px));
  max-height:min(88vh,900px);
  overflow:hidden;
  border:1px solid rgba(226,211,214,.96);
  border-radius:22px;
  background:#fffdfd;
  box-shadow:0 28px 90px rgba(45,27,32,.23);
  transform:translateY(10px) scale(.992);
  transition:transform .2s ease;
}
.bible-reader-pathway-modal.is-open .bible-reader-pathway-dialog{transform:translateY(0) scale(1)}
.bible-reader-pathway-dialog-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px 14px;
  border-bottom:1px solid #eee3e5;
  background:rgba(255,253,253,.98);
}
.bible-reader-pathway-dialog-title{display:grid;gap:3px;min-width:0}
.bible-reader-pathway-dialog-title span{
  color:#ad535d;
  font-size:9.5px;
  font-weight:760;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.bible-reader-pathway-dialog-title strong{
  color:#453b3f;
  font-family:Georgia,"Times New Roman",serif;
  font-size:23px;
  font-weight:500;
  line-height:1.12;
}
.bible-reader-pathway-dialog-close{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid #eadfe1;
  border-radius:11px;
  background:#fff;
  color:#98898d;
  font-size:25px;
  line-height:1;
  cursor:pointer;
}
.bible-reader-pathway-dialog-close:hover{border-color:#d8b6bb;background:#fff5f6;color:#984650}
.bible-reader-pathway-dialog-tabs{
  display:flex;
  gap:6px;
  padding:10px 20px 11px;
  border-bottom:1px solid #eee5e7;
  background:#fdf9fa;
}
.bible-reader-pathway-dialog-tabs button{
  min-height:36px;
  padding:0 13px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:#766a6e;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.bible-reader-pathway-dialog-tabs button:hover{background:#fff;color:#9b4852}
.bible-reader-pathway-dialog-tabs button.is-active{
  border-color:#dfc4c8;
  background:#fff;
  color:#9a444e;
  box-shadow:0 3px 10px rgba(90,54,61,.045);
}
.bible-reader-pathway-dialog-body{
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  padding:16px 20px 20px;
  scrollbar-gutter:stable;
}

/* Les panneaux internes perdent leur aspect de "bloc dans un bloc" dans la
   fenêtre dédiée. Le contenu garde ses composants et son moteur existants. */
.bible-reader-pathway-dialog .bible-reader-collections-panel,
.bible-reader-pathway-dialog .bible-reader-rosary-panel{
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.bible-reader-pathway-dialog .bible-reader-collections-head,
.bible-reader-pathway-dialog .bible-reader-rosary-head{padding:0 1px 12px;margin:0 0 12px;border-bottom:1px solid #efe6e8}
.bible-reader-pathway-dialog .bible-reader-collections-head>button,
.bible-reader-pathway-dialog .bible-reader-rosary-head>button{display:none}
.bible-reader-pathway-dialog .bible-reader-collections-list{
  max-height:none;
  overflow:visible;
}
.bible-reader-pathway-dialog .bible-reader-collections-tools{
  position:sticky;
  top:-16px;
  z-index:3;
  padding:10px 0 9px;
  background:linear-gradient(#fffdfd 75%,rgba(255,253,253,.94));
}
.bible-reader-pathway-dialog .bible-reader-rosary-content{max-width:850px}
.bible-reader-pathway-dialog .bible-reader-rosary-note{max-width:850px}

@media(max-width:800px){
  .bible-reader-pathways{margin-top:24px;padding-top:23px}
  .bible-reader-pathway-grid{gap:7px}
  .bible-reader-pathway-card{min-height:68px}
  .bible-reader-pathway-modal{place-items:end center;padding:0}
  .bible-reader-pathway-dialog{
    width:100%;
    max-height:94dvh;
    border-width:1px 0 0;
    border-radius:21px 21px 0 0;
    transform:translateY(28px);
  }
  .bible-reader-pathway-modal.is-open .bible-reader-pathway-dialog{transform:translateY(0)}
  .bible-reader-pathway-dialog-head{padding:15px 14px 11px}
  .bible-reader-pathway-dialog-title strong{font-size:20px}
  .bible-reader-pathway-dialog-close{width:36px;height:36px}
  .bible-reader-pathway-dialog-tabs{
    gap:4px;
    padding:8px 10px 9px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .bible-reader-pathway-dialog-tabs::-webkit-scrollbar{display:none}
  .bible-reader-pathway-dialog-tabs button{flex:0 0 auto;min-height:36px;padding:0 11px;font-size:10.5px}
  .bible-reader-pathway-dialog-body{padding:13px 13px 18px}
  .bible-reader-pathway-dialog .bible-reader-collections-tools{top:-13px}
}

@media(max-width:430px){
  .bible-reader-pathways-heading p{display:none}
  .bible-reader-pathways-heading h2{font-size:18px}
  .bible-reader-pathway-card{min-height:64px}
  .bible-reader-pathway-copy small{font-size:9.5px}
  .bible-reader-pathway-dialog-title strong{font-size:18px}
  .bible-reader-pathway-dialog-title span{font-size:8.5px}
  .bible-reader-pathway-dialog-tabs{padding-inline:8px}
  .bible-reader-pathway-dialog-tabs button{font-size:10px}
}

@media(prefers-reduced-motion:reduce){
  .bible-reader-pathway-modal,.bible-reader-pathway-dialog{transition:none}
}

/* Boussoles — zoom desktop à 110 %. */
@media (min-width:1024px) {
  body.philo-compass-page,
  body.bible-compass-page {
    zoom:1.1;
  }
}

/* ========================================================================== 
   Lecteur biblique — sélecteur compact au défilement · 2026-08-24
   ========================================================================== */
@media (min-width:721px) {
  .bible-reader-page .bible-reader-controls {
    transition:max-width .22s ease,padding .22s ease,border-radius .22s ease,box-shadow .22s ease,background-color .22s ease;
  }
  .bible-reader-page .bible-reader-controls.is-condensed {
    top:68px;
    max-width:760px;
    margin-bottom:18px;
    padding:8px 10px;
    border-radius:14px;
    background:rgba(255,253,253,.97);
    box-shadow:0 10px 28px rgba(70,44,48,.10);
  }
  .bible-reader-page .bible-reader-controls.is-condensed .bible-reader-controls-head,
  .bible-reader-page .bible-reader-controls.is-condensed .bible-reader-meta-line,
  .bible-reader-page .bible-reader-controls.is-condensed .bible-reader-nav-wrap {
    display:none;
  }
  .bible-reader-page .bible-reader-controls.is-condensed .bible-reader-select-grid {
    grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(130px,.7fr);
    gap:7px;
  }
  .bible-reader-page .bible-reader-controls.is-condensed .bible-reader-field {
    gap:0;
  }
  .bible-reader-page .bible-reader-controls.is-condensed .bible-reader-field > span {
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  .bible-reader-page .bible-reader-controls.is-condensed .bible-reader-field select {
    height:38px;
    padding-left:11px;
    border-radius:10px;
    font-size:12px;
  }
}
@media (prefers-reduced-motion:reduce) {
  .bible-reader-page .bible-reader-controls { transition:none!important; }
}

/* === BOUSSOLE PHILOSOPHIQUE — DIALOGUES + RESSOURCES CLEAN
   Release 20260825-philo-clean-1
   ----------------------------------------------------------
   Les deux blocs ci-dessous utilisaient des SVG sans dimensions
   propres et le <details> « Dialogues » n'avait pas de mise en
   forme dédiée. Cela pouvait créer de très grandes zones blanches.
   ========================================================== */

/* ----- Dialogues, héritages et ruptures ----- */

.philo-compass-page .philo-dialogues-appendix {
  width:100%;
  min-height:0;
  height:auto;
  margin:18px 0 0;
  overflow:hidden;
  border:1px solid rgba(108,99,255,.12);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 26px rgba(45,41,65,.025);
}

.philo-compass-page .philo-dialogues-appendix > summary {
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 22px;
  gap:10px;
  align-items:center;
  width:100%;
  min-height:62px;
  margin:0;
  padding:10px 13px;
  cursor:pointer;
  list-style:none;
  background:linear-gradient(105deg,#faf9ff,#fff 72%);
  color:inherit;
  user-select:none;
  transition:background .18s ease;
}

.philo-compass-page .philo-dialogues-appendix > summary::-webkit-details-marker {
  display:none;
}

.philo-compass-page .philo-dialogues-appendix > summary::marker {
  content:"";
}

.philo-compass-page .philo-dialogues-appendix > summary:hover,
.philo-compass-page .philo-dialogues-appendix > summary:focus-visible {
  background:#f7f5ff;
  outline:none;
}

.philo-compass-page .philo-dialogues-appendix-icon {
  display:grid;
  width:32px;
  height:32px;
  min-width:32px;
  place-items:center;
  margin:0;
  padding:0;
  border-radius:9px;
  background:#efedff;
  color:#5d55c7 !important;
}

.philo-compass-page .philo-dialogues-appendix-icon svg {
  display:block;
  width:17px;
  height:17px;
  max-width:none;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.philo-compass-page .philo-dialogues-appendix > summary > span:nth-child(2) {
  display:grid;
  min-width:0;
  gap:2px;
  margin:0;
  padding:0;
}

.philo-compass-page .philo-dialogues-appendix > summary small {
  display:block;
  margin:0;
  color:#7169cc !important;
  font-size:8px;
  font-weight:850;
  line-height:1.3;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.philo-compass-page .philo-dialogues-appendix > summary strong {
  display:block;
  margin:0;
  color:#403b49;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16.5px;
  font-weight:600;
  line-height:1.2;
}

.philo-compass-page .philo-dialogues-appendix > summary > i {
  position:relative;
  display:block;
  width:20px;
  height:20px;
  justify-self:end;
}

.philo-compass-page .philo-dialogues-appendix > summary > i::before,
.philo-compass-page .philo-dialogues-appendix > summary > i::after {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:9px;
  height:1px;
  background:#8d8797;
  transform:translate(-50%,-50%);
  transition:transform .2s ease;
}

.philo-compass-page .philo-dialogues-appendix > summary > i::after {
  transform:translate(-50%,-50%) rotate(90deg);
}

.philo-compass-page .philo-dialogues-appendix[open] > summary > i::after {
  transform:translate(-50%,-50%) rotate(0deg);
}

.philo-compass-page .philo-dialogues-appendix[open] > summary {
  border-bottom:1px solid rgba(71,65,111,.07);
  background:#f9f8ff;
}

.philo-compass-page .philo-dialogues-appendix-body {
  display:block;
  min-height:0;
  height:auto;
  margin:0;
  padding:12px 13px 13px;
}

.philo-compass-page .philo-dialogues-appendix-body > p {
  margin:0 2px 10px;
  color:var(--philo-readable,#28242d) !important;
  font-size:10.5px;
  line-height:1.55;
}

.philo-compass-page .philo-dialogues-appendix .philo-dialogue-board {
  margin:0;
}


/* ----- Ressources de philosophie ----- */

.philo-compass-page #parcours {
  margin-bottom:48px;
}

.philo-compass-page .philo-resources-v1 {
  min-height:0;
  height:auto;
  margin-top:0;
  margin-bottom:56px;
}

.philo-compass-page .philo-resources-v1 .philo-compass-section-head {
  max-width:850px;
  margin-bottom:17px;
}

.philo-compass-page .philo-resources-v1 .philo-compass-section-head h2 {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:36px;
}

.philo-compass-page .philo-resource-heading-icon {
  display:grid;
  width:34px;
  height:34px;
  min-width:34px;
  place-items:center;
  margin:0;
  padding:0;
  border-radius:10px;
  background:#efedff;
  color:#5d55c7 !important;
}

.philo-compass-page .philo-resource-heading-icon svg {
  display:block;
  width:18px;
  height:18px;
  max-width:none;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.philo-compass-page .philo-resources-v1 .philo-compass-section-head h2 > span:last-child {
  min-width:0;
}

/* On conserve la structure éprouvée des ressources bibliques,
   mais avec la palette propre à la boussole philosophique. */
.philo-compass-page .philo-resource-featured {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:0;
}

.philo-compass-page .philo-resource-featured .bible-resource-featured-card {
  min-height:100px;
  border-color:rgba(108,99,255,.12);
  background:linear-gradient(160deg,#faf9ff,#fff 70%);
  box-shadow:0 8px 22px rgba(45,41,65,.025);
}

.philo-compass-page .philo-resource-featured .bible-resource-featured-card:hover,
.philo-compass-page .philo-resource-featured .bible-resource-featured-card:focus-visible {
  border-color:rgba(108,99,255,.25);
  box-shadow:0 12px 26px rgba(45,41,65,.055);
}

.philo-compass-page .philo-resource-featured .bible-resource-featured-kind {
  color:#625ac8;
}

.philo-compass-page .philo-resource-featured .bible-resource-featured-kind-icon {
  background:#efedff;
  color:#5e56c8;
}

.philo-compass-page .philo-resource-featured .bible-resource-featured-kind-icon svg {
  stroke:currentColor;
}

.philo-compass-page .philo-resource-featured .bible-resource-featured-card strong {
  color:#413c49;
}

.philo-compass-page .philo-resource-featured .bible-resource-featured-card p {
  color:#6f6976 !important;
}

.philo-compass-page .philo-resource-featured .bible-resource-featured-card > b {
  color:#6961cc;
}

.philo-compass-page .philo-resource-groups {
  gap:6px;
  margin-top:11px;
}

.philo-compass-page .philo-resource-groups .bible-resource-group {
  border-color:rgba(108,99,255,.10);
  background:#fff;
}

.philo-compass-page .philo-resource-groups .bible-resource-group summary:hover {
  background:#faf9ff;
}

.philo-compass-page .philo-resource-groups .bible-resource-group-num,
.philo-compass-page .philo-resource-groups .bible-resource-group-icon {
  background:#efedff;
  color:#5e56c8;
}

.philo-compass-page .philo-resource-groups .bible-resource-group-icon svg {
  stroke:currentColor;
}

.philo-compass-page .philo-resource-groups .bible-resource-group-headline strong {
  color:#423d49;
}

.philo-compass-page .philo-resource-groups .bible-resource-group-count {
  background:#f2f0ff;
  color:#6b63c7 !important;
}

.philo-compass-page .philo-resource-groups .bible-resource-group summary::after {
  color:#6b63c7;
  background:#f3f1ff;
}

.philo-compass-page .philo-resource-groups .bible-resource-group-intro {
  color:#77717e !important;
}

.philo-compass-page .philo-resource-groups .bible-resource-group-body a:hover,
.philo-compass-page .philo-resource-groups .bible-resource-group-body a:focus-visible {
  background:#faf9ff;
}

.philo-compass-page .philo-resource-groups .bible-resource-site-badge {
  color:#655dc5 !important;
}


/* ----- Responsive ----- */

@media (max-width:900px) {
  .philo-compass-page .philo-resource-featured {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:700px) {
  .philo-compass-page #parcours {
    margin-bottom:38px;
  }

  .philo-compass-page .philo-dialogues-appendix {
    margin-top:14px;
    border-radius:13px;
  }

  .philo-compass-page .philo-dialogues-appendix > summary {
    grid-template-columns:30px minmax(0,1fr) 19px;
    gap:8px;
    min-height:56px;
    padding:9px 10px;
  }

  .philo-compass-page .philo-dialogues-appendix-icon {
    width:29px;
    height:29px;
    min-width:29px;
    border-radius:8px;
  }

  .philo-compass-page .philo-dialogues-appendix-icon svg {
    width:15px;
    height:15px;
  }

  .philo-compass-page .philo-dialogues-appendix > summary strong {
    font-size:14.5px;
  }

  .philo-compass-page .philo-dialogues-appendix > summary small {
    font-size:7.4px;
  }

  .philo-compass-page .philo-dialogues-appendix-body {
    padding:10px;
  }

  .philo-compass-page .philo-resources-v1 {
    margin-bottom:44px;
  }

  .philo-compass-page .philo-resources-v1 .philo-compass-section-head h2 {
    gap:8px;
  }

  .philo-compass-page .philo-resource-heading-icon {
    width:30px;
    height:30px;
    min-width:30px;
    border-radius:9px;
  }

  .philo-compass-page .philo-resource-heading-icon svg {
    width:16px;
    height:16px;
  }

  .philo-compass-page .philo-resource-featured {
    grid-template-columns:1fr 1fr;
    gap:6px;
  }
}

@media (max-width:520px) {
  .philo-compass-page .philo-resource-featured {
    grid-template-columns:1fr;
  }

  .philo-compass-page .philo-dialogues-appendix > summary strong {
    font-size:13.8px;
  }
}



/* --- HLP 2026 : intégration des 10 textes --- */
:root{--hlp:#5f58b6;--hlp-soft:#f2f0ff}
.text-hlp-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;border:1px solid rgba(95,88,182,.2);border-radius:999px;padding:2px 5px;background:var(--hlp-soft);color:var(--hlp);font:800 7px/1 Inter,sans-serif;letter-spacing:.08em}
.text-hlp-badge--detail{margin-left:6px;padding:3px 6px;font-size:7.5px}
.text-detail-hlp-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin:7px 0 14px;color:#807b94;font:500 9px/1.35 Inter,sans-serif}
.text-detail-hlp-meta>span{color:#5f58a7;font-weight:650}
.text-detail-hlp-meta small{border:1px solid #ebe8f6;border-radius:999px;padding:3px 6px;background:#faf9fe;color:#8b8698;font-size:7.5px}
.texts-theme-multi-group--hlp{margin-top:7px;padding-top:8px;border-top:1px solid #eceaf4}.texts-theme-multi-group--hlp .texts-theme-multi-group-title{color:#5f58a7}
.texts-theme-multi-hlp-object{display:grid;gap:3px;margin:6px 0 8px;padding:6px 7px;border:1px solid #efedf7;border-radius:9px;background:#fbfaff}.texts-theme-multi-hlp-object>strong{color:#68627f;font-size:8px;font-weight:700}.texts-theme-multi-option--hlp span{font-size:8px}
.philo-hlp-mini{display:inline-flex;border-radius:999px;padding:2px 5px;background:#efedff;color:#5b53ba;font-size:7px;font-weight:850;letter-spacing:.04em}
@media(max-width:700px){.text-detail-hlp-meta{gap:4px}.text-hlp-badge{font-size:6.8px}}


/* --- HLP 2026 : audit éditorial global des 34 fiches --- */
:root{
  --hlp-premiere:#6c4aa2;
  --hlp-premiere-soft:#f3eef9;
  --hlp-terminale:#18766f;
  --hlp-terminale-soft:#eaf6f4;
  --hlp-transversal:#8c6732;
  --hlp-transversal-soft:#f8f3ea;
}
.text-card-section{flex-wrap:wrap}
.text-hlp-badge{
  flex:none;
  margin-left:auto;
  padding:4px 7px;
  border-width:1px;
  font-size:8.5px;
  font-weight:850;
  letter-spacing:.065em;
  white-space:nowrap;
}
.text-hlp-badge--premiere{border-color:rgba(108,74,162,.23);background:var(--hlp-premiere-soft);color:var(--hlp-premiere)}
.text-hlp-badge--terminale{border-color:rgba(24,118,111,.23);background:var(--hlp-terminale-soft);color:var(--hlp-terminale)}
.text-hlp-badge--transversal{border-color:rgba(140,103,50,.22);background:var(--hlp-transversal-soft);color:var(--hlp-transversal)}
.text-hlp-badge--detail{margin-left:8px;padding:5px 8px;font-size:9px}
.text-detail-translator{
  display:inline-flex;
  margin-left:6px;
  padding:2px 6px;
  border:1px solid rgba(31,33,41,.08);
  border-radius:999px;
  background:#fafafa;
  color:var(--text-light);
  font-size:11px;
  line-height:1.25;
}
.text-detail-hlp-meta{
  align-items:flex-start;
  gap:7px;
  margin:9px 0 18px;
  font-size:10px;
}
.text-detail-hlp-meta>span{
  padding-top:3px;
  color:var(--text-medium);
  font-weight:700;
}
.text-detail-hlp-connections{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
}
.text-detail-hlp-connections em{
  color:var(--text-light);
  font-size:8px;
  font-style:normal;
  font-weight:750;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.text-detail-hlp-meta small{
  padding:4px 7px;
  border-color:rgba(31,33,41,.08);
  background:#fbfbfc;
  color:var(--text-medium);
  font-size:8px;
}

.text-hlp-study{
  max-width:760px;
  margin:34px auto 0;
  padding:18px 20px 19px;
  border:1px solid rgba(108,74,162,.13);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(108,74,162,.055),rgba(255,255,255,.96) 46%,rgba(24,118,111,.025));
}
.text-hlp-study-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:8px;
}
.text-hlp-study-heading>div>span,
.text-hlp-study-cell>span,
.text-hlp-central-question>span{
  display:block;
  color:var(--hlp-premiere);
  font-size:8.5px;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.text-hlp-study-heading h2{
  margin:3px 0 0;
  color:var(--text);
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  font-weight:500;
  line-height:1.2;
}
.text-hlp-tier{
  flex:none;
  border:1px solid rgba(31,33,41,.1);
  border-radius:999px;
  padding:5px 8px;
  background:#fff;
  color:var(--text-medium);
  font-size:8px;
  font-weight:800;
  letter-spacing:.04em;
}
.text-hlp-tier--essential{border-color:rgba(108,74,162,.2);background:var(--hlp-premiere-soft);color:var(--hlp-premiere)}
.text-hlp-tier--transversal{border-color:rgba(24,118,111,.18);background:var(--hlp-terminale-soft);color:var(--hlp-terminale)}
.text-hlp-hook{
  margin:0;
  color:var(--text-medium);
  font-size:13px;
  line-height:1.65;
}
.text-hlp-central-question{
  margin-top:14px;
  padding:12px 14px;
  border-left:2px solid var(--hlp-premiere);
  background:#fff;
}
.text-hlp-central-question strong{
  display:block;
  margin-top:4px;
  color:var(--text);
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  font-weight:500;
  line-height:1.4;
}
.text-hlp-study-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);
  gap:12px 18px;
  margin-top:15px;
  padding-top:14px;
  border-top:1px solid rgba(31,33,41,.08);
}
.text-hlp-study-cell:first-child{grid-row:span 2}
.text-hlp-study-cell ul{margin:7px 0 0;padding-left:17px}
.text-hlp-study-cell li{margin:5px 0;color:var(--text-medium);font-size:11.5px;line-height:1.5}
.text-hlp-keywords,.text-hlp-oppositions{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.text-hlp-keywords small{
  border:1px solid rgba(108,74,162,.13);
  border-radius:999px;
  padding:4px 7px;
  background:#fff;
  color:#655d70;
  font-size:8px;
  font-weight:700;
}
.text-hlp-oppositions small{
  display:inline-flex;
  align-items:center;
  gap:5px;
  border-radius:7px;
  padding:5px 7px;
  background:#fff;
  color:var(--text-medium);
  font-size:8px;
}
.text-hlp-oppositions b{font-weight:750}
.text-hlp-oppositions i{color:var(--hlp-premiere);font-style:normal}

.text-context--structured{padding:18px 20px 19px}
.text-context-intro>span,.text-context-guide-wrap>span{
  display:block;
  margin-bottom:5px;
  color:var(--primary-dark);
  font-size:9px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.text-context-guide-wrap{
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid rgba(108,99,255,.12);
}
.text-context-questions ol{margin:0;padding-left:20px}
.text-context-questions li{margin:5px 0;font-size:12px;font-style:normal;line-height:1.55}
.text-reading-part-title{
  display:flex;
  align-items:baseline;
  gap:10px;
  max-width:760px;
  margin:32px auto 13px;
  color:var(--text);
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
  font-weight:500;
  line-height:1.3;
}
.text-reading-part-title>span{
  color:var(--text-light);
  font-family:Inter,sans-serif;
  font-size:8px;
  font-weight:800;
  letter-spacing:.1em;
}
.text-detail-reference--apa{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:5px 8px;
  font-size:11px;
}
.text-detail-reference-label{
  color:var(--text-light);
  font-size:8px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.text-detail-reference--apa>a{
  margin-left:auto;
  color:var(--primary-dark);
  font-size:9px;
  font-weight:700;
  text-decoration:none;
}
.text-detail-reference--apa>a:hover,.text-detail-reference--apa>a:focus-visible{text-decoration:underline;outline:none}

.texts-theme-multi-group--hlp-premiere .texts-theme-multi-group-title{color:var(--hlp-premiere)}
.texts-theme-multi-group--hlp-terminale .texts-theme-multi-group-title{color:var(--hlp-terminale)}
.texts-theme-multi-group--hlp-overview{background:linear-gradient(90deg,rgba(108,74,162,.025),rgba(24,118,111,.018))}
.texts-theme-multi-group--hlp-premiere .texts-theme-multi-hlp-object{border-color:rgba(108,74,162,.12);background:#fcfaff}
.texts-theme-multi-group--hlp-terminale .texts-theme-multi-hlp-object{border-color:rgba(24,118,111,.12);background:#f9fdfc}

@media(max-width:700px){
  .text-hlp-badge{padding:3px 6px;font-size:7.7px}
  .text-hlp-badge--detail{margin-left:4px;font-size:8px}
  .text-detail-section{flex-wrap:wrap}
  .text-detail-translator{margin:6px 0 0 0}
  .text-hlp-study{margin-top:26px;padding:15px 14px 16px;border-radius:11px}
  .text-hlp-study-heading{gap:10px}
  .text-hlp-study-heading h2{font-size:18px}
  .text-hlp-study-grid{grid-template-columns:1fr;gap:13px}
  .text-hlp-study-cell:first-child{grid-row:auto}
  .text-hlp-central-question{padding:10px 11px}
  .text-hlp-central-question strong{font-size:15px}
  .text-context--structured{padding:15px 14px 16px}
  .text-reading-part-title{gap:8px;margin-top:25px;font-size:16.5px}
  .text-detail-reference--apa{display:block;font-size:10px}
  .text-detail-reference--apa .text-detail-reference-label{display:block;margin-bottom:4px}
  .text-detail-reference--apa>a{display:inline-block;margin:6px 0 0}
}
@media(max-width:430px){
  .text-card-section>span:not(.text-card-section-symbol):not(.text-hlp-badge){min-width:0}
  .text-hlp-badge{margin-left:0}
  .text-hlp-study-heading{display:block}
  .text-hlp-tier{display:inline-flex;margin-top:8px}
}

/* === HLP · parcours + fiches : simplification visuelle (2026-09-05) === */

/* Fiche : « Pourquoi lire ce texte ? » devient un dépliant léger, placé
   après l'introduction/les repères et juste avant « Poursuivre la réflexion ». */
.text-hlp-study{
  max-width:760px;
  margin:18px auto 0;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(108,74,162,.12);
  border-radius:12px;
  background:#fff;
}
.text-hlp-study-trigger{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 18px;
  gap:10px;
  align-items:center;
  width:100%;
  height:58px;
  min-height:58px;
  padding:9px 14px;
  border:0;
  background:#fcfbfe;
  color:inherit;
  cursor:pointer;
  font:inherit;
  text-align:left;
}
.text-hlp-study-trigger:hover,
.text-hlp-study-trigger:focus-visible{background:#f8f6fc;outline:none}
.text-hlp-study-trigger:focus-visible{box-shadow:inset 0 0 0 2px rgba(108,74,162,.18)}
.text-hlp-study-trigger-copy{display:grid;gap:2px;min-width:0}
.text-hlp-study-trigger-copy small{
  color:var(--hlp-premiere);
  font-size:7.8px;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.text-hlp-study-trigger-copy strong{
  color:var(--text);
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  font-weight:500;
  line-height:1.25;
}
.text-hlp-study-trigger .text-hlp-tier{margin:0;padding:4px 7px;font-size:7.5px;white-space:nowrap}
.text-hlp-study-toggle{position:relative;width:16px;height:16px}
.text-hlp-study-toggle::before,
.text-hlp-study-toggle::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:1px;
  background:#8e8796;
  transform:translate(-50%,-50%);
  transition:transform .24s ease;
}
.text-hlp-study-toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.text-hlp-study.is-open .text-hlp-study-toggle::after{transform:translate(-50%,-50%) rotate(0)}
.text-hlp-study-panel{
  padding:0 14px;
  border-top:0;
  transition:padding .24s ease;
}
.text-hlp-study.is-open .text-hlp-study-panel{
  padding:13px 14px 14px;
  border-top:1px solid rgba(31,33,41,.065);
}
.text-hlp-hook{margin:0;color:var(--text-medium);font-size:12px;line-height:1.58}
.text-hlp-central-question{
  margin-top:11px;
  padding:9px 11px;
  border-left:2px solid rgba(108,74,162,.55);
  background:#faf9fc;
}
.text-hlp-central-question>span{font-size:7.8px;letter-spacing:.085em}
.text-hlp-central-question strong{margin-top:3px;font-size:14.5px;line-height:1.35}
.text-hlp-study-grid{
  grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  gap:10px 16px;
  margin-top:11px;
  padding-top:11px;
}
.text-hlp-study-cell:first-child{grid-row:span 2}
.text-hlp-study-cell>span{font-size:7.8px;letter-spacing:.085em}
.text-hlp-study-cell ul{margin:5px 0 0;padding-left:16px}
.text-hlp-study-cell li{margin:3px 0;font-size:10.8px;line-height:1.45}
.text-hlp-keywords,.text-hlp-oppositions{gap:4px;margin-top:5px}
.text-hlp-keywords small{padding:3px 6px;font-size:7.7px}
.text-hlp-oppositions small{padding:4px 6px;font-size:7.7px}

/* Boussole HLP : une même grammaire visuelle pour tous les objets du programme.
   Chaque grand objet forme une carte, puis ses sous-thèmes deviennent des sections. */
.philo-path-card--hlp-cluster{
  --hlp-path-accent:var(--hlp-premiere);
  --hlp-path-soft:var(--hlp-premiere-soft);
  --hlp-path-tint:#fcfbff;
  border-color:color-mix(in srgb,var(--hlp-path-accent) 16%,transparent)!important;
  background:linear-gradient(145deg,#fff 0%,var(--hlp-path-tint) 100%)!important;
}
.philo-path-card--hlp-cluster.philo-path-card--hlp-terminale{
  --hlp-path-accent:var(--hlp-terminale);
  --hlp-path-soft:var(--hlp-terminale-soft);
  --hlp-path-tint:#f9fdfc;
}
.philo-path-card--hlp-cluster .philo-path-number{
  background:var(--hlp-path-soft)!important;
  color:var(--hlp-path-accent)!important;
}
.philo-path-card--hlp-cluster .philo-hlp-mini{
  background:var(--hlp-path-soft);
  color:var(--hlp-path-accent);
}
.philo-path-card--hlp-cluster .philo-path-body{
  gap:8px;
  background:color-mix(in srgb,var(--hlp-path-accent) 1.5%,transparent);
}
.philo-path-card--hlp-cluster .philo-path-question--hlp-section{
  border-color:color-mix(in srgb,var(--hlp-path-accent) 11%,transparent);
  background:#fff;
}
.philo-path-card--hlp-cluster .philo-path-question--hlp-section .philo-path-question-trigger{
  grid-template-columns:minmax(0,1fr) 20px;
  gap:2px 10px;
  padding:12px 13px;
  background:#fff;
}
.philo-path-card--hlp-cluster .philo-path-question--hlp-section .philo-path-question-trigger:hover,
.philo-path-card--hlp-cluster .philo-path-question--hlp-section .philo-path-question-trigger:focus-visible{
  background:color-mix(in srgb,var(--hlp-path-accent) 4%,#fff);
}
.philo-path-card--hlp-cluster .philo-path-question--hlp-section .philo-path-question-trigger>span{
  color:var(--hlp-path-accent);
  font-size:7.6px;
  letter-spacing:.085em;
}
.philo-path-question--hlp-section .philo-path-question-trigger>strong{
  font-size:15.5px;
  line-height:1.22;
}
.philo-path-subquestion{
  grid-column:1;
  margin-top:2px;
  color:#716b78!important;
  font-size:10.4px!important;
  font-style:normal!important;
  line-height:1.45!important;
}
.philo-path-question--hlp-section .philo-path-question-trigger>i{grid-row:1/4}
.philo-path-question--hlp-section .philo-path-question-panel-inner{
  padding:10px 11px 11px;
  background:#fdfcfe;
}
.philo-path-question--hlp-section .philo-path-question-panel-inner>p{
  max-width:720px;
  margin:0 0 8px;
  color:#716b78;
  font-size:10.2px;
  line-height:1.5;
}
.philo-path-flow--section{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
  counter-reset:hlp-path-step;
}
.philo-path-flow--section>a{
  counter-increment:hlp-path-step;
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:1px 8px;
  min-height:48px;
  padding:7px 9px;
  border-radius:8px;
  background:#fff;
}
.philo-path-flow--section>a::before{
  content:counter(hlp-path-step, decimal-leading-zero);
  grid-column:1;
  grid-row:1/3;
  align-self:center;
  color:#aaa4b1;
  font-size:7.4px;
  font-weight:850;
  letter-spacing:.03em;
}
.philo-path-flow--section>a small{grid-column:2;font-size:7.9px}
.philo-path-flow--section>a strong{grid-column:2;font-size:9.2px;line-height:1.35}

@media(max-width:700px){
  .text-hlp-study{margin-top:14px;border-radius:10px}
  .text-hlp-study-trigger{grid-template-columns:minmax(0,1fr) auto 16px;height:54px;min-height:54px;padding:8px 11px;gap:7px}
  .text-hlp-study-trigger .text-hlp-tier{grid-column:2;grid-row:1;justify-self:end;margin:0;padding:3px 6px;font-size:7px}
  .text-hlp-study-toggle{grid-column:3;grid-row:1}
  .text-hlp-study-trigger-copy strong{font-size:15px}
  .text-hlp-study-panel{padding:0 11px}
  .text-hlp-study.is-open .text-hlp-study-panel{padding:11px 11px 12px}
  .text-hlp-study-grid{grid-template-columns:1fr;gap:9px}
  .text-hlp-study-cell:first-child{grid-row:auto}
  .text-hlp-central-question strong{font-size:13.8px}
  .philo-path-card--hlp-cluster .philo-path-body{padding:0 8px 9px}
  .philo-path-question--hlp-section .philo-path-question-trigger{padding:10px 11px}
  .philo-path-question--hlp-section .philo-path-question-trigger>strong{font-size:14.5px}
  .philo-path-subquestion{font-size:9.7px!important}
  .philo-path-flow--section{grid-template-columns:1fr;gap:4px}
  .philo-path-flow--section>a{width:100%;min-width:0;min-height:46px;padding:7px 8px}
}


/* ==========================================================
   BOUSSOLE MYTHOLOGIQUE — accès catalogue + CTA (2026-09-08)
   ========================================================== */
.texts-myth-compass-strip {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-top:15px;
  padding:9px 12px;
  border:1px solid rgba(166,106,44,.17);
  border-radius:12px;
  background:rgba(166,106,44,.035);
  color:#96602a;
  text-decoration:none;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease;
}
.texts-myth-compass-strip:hover,.texts-myth-compass-strip:focus-visible {
  border-color:rgba(166,106,44,.32);
  background:rgba(166,106,44,.065);
  box-shadow:0 7px 18px rgba(91,59,29,.055);
  outline:none;
  transform:translateY(-1px);
}
.texts-myth-compass-icon {
  display:grid;
  width:30px;height:30px;flex:0 0 30px;place-items:center;
  border-radius:50%;background:rgba(166,106,44,.075);color:currentColor;
}
.texts-myth-compass-icon svg {
  width:24px;height:24px;overflow:visible;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;
}
.texts-myth-compass-icon .compass-needle-north { fill:currentColor; fill-opacity:.92; stroke-width:1; }
.texts-myth-compass-icon .compass-needle-south { fill:#fff; fill-opacity:.96; stroke-width:1; }
.texts-myth-compass-text { min-width:0;color:currentColor;font-size:11px;line-height:1.35;text-align:center; }
.texts-myth-compass-text strong { color:currentColor;font-weight:760; }

/* /textes/ : trois boussoles. La boussole survolée devient la porte d'entrée principale. */
.texts-compass-pair {
  grid-template-columns:minmax(0,1.65fr) minmax(0,.72fr) minmax(0,.72fr);
  transition:grid-template-columns .28s ease;
}
.texts-compass-pair .texts-philo-compass-strip,
.texts-compass-pair .texts-myth-compass-strip,
.texts-compass-pair .texts-bible-compass-strip { width:100%;min-width:0;margin-top:0;box-sizing:border-box; }
.texts-compass-pair .texts-philo-compass-text,
.texts-compass-pair .texts-myth-compass-text,
.texts-compass-pair .texts-bible-compass-text { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
@supports selector(.texts-compass-pair:has(a:hover)) {
  .texts-compass-pair:has(.texts-philo-compass-strip:hover),
  .texts-compass-pair:has(.texts-philo-compass-strip:focus-visible) { grid-template-columns:minmax(0,1.65fr) minmax(0,.72fr) minmax(0,.72fr); }
  .texts-compass-pair:has(.texts-myth-compass-strip:hover),
  .texts-compass-pair:has(.texts-myth-compass-strip:focus-visible) { grid-template-columns:minmax(0,.72fr) minmax(0,1.65fr) minmax(0,.72fr); }
  .texts-compass-pair:has(.texts-bible-compass-strip:hover),
  .texts-compass-pair:has(.texts-bible-compass-strip:focus-visible) { grid-template-columns:minmax(0,.72fr) minmax(0,.72fr) minmax(0,1.65fr); }
}
.compass-context-cta--myth.compass-context-cta--merged {
  border-color:rgba(103,66,31,.26)!important;
  background:linear-gradient(135deg,#684926 0%,#8b6031 100%)!important;
  box-shadow:0 13px 30px rgba(105,69,32,.14)!important;
}
.compass-context-cta--myth .compass-context-cta-primary { color:#74491f; }

@media (max-width:700px) {
  .texts-compass-pair { grid-template-columns:1fr;gap:7px; }
  .texts-compass-pair .texts-philo-compass-strip,
  .texts-compass-pair .texts-myth-compass-strip,
  .texts-compass-pair .texts-bible-compass-strip { min-height:42px; }
  .texts-compass-pair .texts-philo-compass-text,
  .texts-compass-pair .texts-myth-compass-text,
  .texts-compass-pair .texts-bible-compass-text { font-size:10px;white-space:normal; }
}

@media (max-width:700px) {
  /* Sur l'onglet « Tous », garder une seule porte d'entrée sur téléphone.
     Les boussoles mythologique et biblique restent présentes dans leurs
     onglets dédiés, qui n'utilisent pas data-catalog-section="all". */
  body[data-catalog-section="all"] .texts-myth-compass-strip,
  body[data-catalog-section="all"] .texts-bible-compass-strip {
    display:none;
  }
  body[data-catalog-section="all"] .texts-compass-pair {
    grid-template-columns:minmax(0,1fr);
  }
}
@media (max-width:520px) {
  .texts-myth-compass-strip { gap:8px;margin-top:13px;padding:8px 10px; }
  .texts-myth-compass-icon { width:28px;height:28px;flex-basis:28px; }
  .texts-myth-compass-icon svg { width:22px;height:22px; }
  .texts-myth-compass-text { font-size:10.2px; }
  .texts-compass-pair .texts-myth-compass-strip { gap:6px;padding:8px 7px; }
  .texts-compass-pair .texts-myth-compass-icon { width:25px;height:25px;flex-basis:25px; }
  .texts-compass-pair .texts-myth-compass-icon svg { width:20px;height:20px; }
}

/* ========================================================================== 
   BOUSSOLE BIBLIQUE V22 — navigation sticky et condensée comme la boussole
   philosophique, sur desktop et mobile · 2026-09-08
   ========================================================================== */
.bible-compass-page .bible-compass-jump-wrap{
  position:sticky !important;
  top:76px !important;
  z-index:4300 !important;
  width:100% !important;
  height:auto !important;
  margin:14px auto 30px !important;
  pointer-events:none !important;
}
.bible-compass-page .bible-compass-jump,
.bible-compass-page .bible-compass-jump.is-floating{
  position:relative !important;
  top:auto !important;
  right:auto !important;
  left:auto !important;
  transform:none !important;
  z-index:auto !important;
  pointer-events:auto !important;
  transition:width .18s ease,max-width .18s ease,padding .18s ease,border-radius .18s ease,box-shadow .18s ease !important;
}
.bible-compass-page .bible-compass-jump:not(.is-condensed){
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:5px !important;
  width:min(100%,900px) !important;
  max-width:900px !important;
  margin:0 auto !important;
  padding:6px !important;
}
.bible-compass-page .bible-compass-jump.is-condensed{
  display:flex !important;
  grid-template-columns:none !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  width:max-content !important;
  max-width:calc(100vw - 24px) !important;
  margin:0 auto !important;
  padding:5px !important;
  border:1px solid rgba(147,75,89,.14) !important;
  border-radius:15px !important;
  background:rgba(255,252,251,.96) !important;
  box-shadow:0 10px 28px rgba(66,45,52,.095) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
}
.bible-compass-page .bible-compass-jump.is-condensed > a{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:row !important;
  gap:0 !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  padding:0 !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:11px !important;
  background:transparent !important;
  box-shadow:none !important;
  text-align:left !important;
  transition:width .18s ease,padding .18s ease,gap .18s ease,background .16s ease !important;
}
.bible-compass-page .bible-compass-jump.is-condensed .bible-jump-num{display:none !important}
.bible-compass-page .bible-compass-jump.is-condensed .bible-jump-icon{
  display:grid !important;
  place-items:center !important;
  width:31px !important;
  height:31px !important;
  min-width:31px !important;
  flex:0 0 31px !important;
  border-radius:9px !important;
}
.bible-compass-page .bible-compass-jump.is-condensed .bible-jump-copy{
  display:none !important;
  min-width:0 !important;
}
.bible-compass-page .bible-compass-jump.is-condensed > a::before{display:none !important;content:none !important}
@media (hover:hover) and (pointer:fine){
  .bible-compass-page .bible-compass-jump.is-condensed > a:hover,
  .bible-compass-page .bible-compass-jump.is-condensed > a:focus-visible{
    width:150px !important;
    padding:0 10px 0 5px !important;
    gap:8px !important;
    justify-content:flex-start !important;
    background:#f7ecef !important;
    outline:none !important;
  }
  .bible-compass-page .bible-compass-jump.is-condensed > a:hover .bible-jump-copy,
  .bible-compass-page .bible-compass-jump.is-condensed > a:focus-visible .bible-jump-copy{
    display:grid !important;
    gap:1px !important;
    align-content:center !important;
    width:auto !important;
  }
  .bible-compass-page .bible-compass-jump.is-condensed > a:hover .bible-jump-copy strong,
  .bible-compass-page .bible-compass-jump.is-condensed > a:focus-visible .bible-jump-copy strong{
    display:block !important;
    color:#54494e !important;
    font-size:9px !important;
    line-height:1.08 !important;
    text-align:left !important;
    white-space:nowrap !important;
  }
  .bible-compass-page .bible-compass-jump.is-condensed > a:hover .bible-jump-copy small,
  .bible-compass-page .bible-compass-jump.is-condensed > a:focus-visible .bible-jump-copy small{
    display:block !important;
    color:#995361 !important;
    font-size:7px !important;
    line-height:1.08 !important;
    text-align:left !important;
    white-space:nowrap !important;
  }
}
@media(max-width:700px){
  .bible-compass-page .bible-compass-jump-wrap{
    top:68px !important;
    margin:12px auto 27px !important;
  }
  .bible-compass-page .bible-compass-jump:not(.is-condensed){
    position:relative !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:4px !important;
    width:100% !important;
    max-width:900px !important;
    margin:0 auto !important;
    padding:5px !important;
    transform:none !important;
  }
  .bible-compass-page .bible-compass-jump:not(.is-condensed) > a{
    display:grid !important;
    grid-template-columns:26px minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    min-height:46px !important;
    padding:5px !important;
    text-align:left !important;
  }
  .bible-compass-page .bible-compass-jump:not(.is-condensed) .bible-jump-icon{
    grid-row:1/3 !important;
    width:26px !important;
    height:26px !important;
    flex:0 0 26px !important;
  }
  .bible-compass-page .bible-compass-jump:not(.is-condensed) .bible-jump-copy{display:contents !important}
  .bible-compass-page .bible-compass-jump:not(.is-condensed) .bible-jump-copy strong{display:block !important;font-size:8.2px !important;text-align:left !important}
  .bible-compass-page .bible-compass-jump:not(.is-condensed) .bible-jump-copy small{display:block !important;font-size:6.4px !important;text-align:left !important}
  .bible-compass-page .bible-compass-jump.is-condensed,
  .bible-compass-page .bible-compass-jump.is-floating.is-condensed{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    gap:3px !important;
    padding:4px !important;
    transform:none !important;
  }
  .bible-compass-page .bible-compass-jump.is-condensed > a{
    width:37px !important;
    height:37px !important;
    min-width:37px !important;
    min-height:37px !important;
    flex-direction:row !important;
  }
  .bible-compass-page .bible-compass-jump.is-condensed .bible-jump-icon{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    flex-basis:28px !important;
  }
}
@media(max-width:480px){
  .bible-compass-page .bible-compass-jump:not(.is-condensed){grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}


/* ==========================================================
   BOUSSOLE PHILOSOPHIQUE — correctifs lisibilité 2026-09-17
   ========================================================== */
/* Les groupes très fournis (« Autres textes » notamment) ne sont plus
   compressés sur une seule ligne : ils deviennent une grille réellement lisible. */
.philo-compass-page .philo-path-flow--dense {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:8px;
  width:100%;
  align-items:stretch;
}
.philo-compass-page .philo-path-flow--dense > a {
  width:100%;
  min-width:0;
  min-height:64px;
  box-sizing:border-box;
}
.philo-compass-page .philo-path-flow--dense > a small,
.philo-compass-page .philo-path-flow--dense > a strong {
  overflow-wrap:normal;
  word-break:normal;
  hyphens:auto;
}

/* La frise ayant été supprimée, Périodes et Carte se partagent désormais
   toute la largeur du sélecteur au lieu d'occuper seulement les 2/3. */
.philo-compass-page .philo-view-tabs {
  width:100%;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.philo-compass-page .philo-view-tabs button { width:100%; }

@media (max-width:900px) {
  .philo-compass-page .philo-path-flow--dense {
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  }
}
@media (max-width:700px) {
  .philo-compass-page .philo-path-flow--dense {
    grid-template-columns:1fr;
    gap:7px;
  }
}


/* === HLP · audit affichage + navigation boussole (2026-09-19) === */
/* La ligne supérieure d’une carte reste sur une seule ligne : le libellé peut
   se réduire proprement, mais le badge HLP reste toujours aligné à droite. */
.text-card-section{
  flex-wrap:nowrap;
  min-width:0;
}
.text-card-section-dot{flex:none}
.text-card-section-meta{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.text-hlp-badge{
  position:relative;
  z-index:3;
  flex:none;
  margin-left:auto;
  text-decoration:none;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.text-hlp-badge:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(31,33,41,.08);
}
.text-hlp-badge:focus-visible{
  outline:2px solid currentColor;
  outline-offset:2px;
}
@media(max-width:430px){
  .text-card-section-meta{font-size:9.2px}
  .text-hlp-badge{margin-left:auto}
}


/* === HLP · consolidation finale (2026-09-19) === */
/* Relations : vocabulaire de lecture plus utile que la seule proximité de thèse. */
.text-relation-group--prolonger{--relation-color:var(--primary-dark);--relation-border:rgba(108,99,255,.24);--relation-bg:linear-gradient(90deg,rgba(108,99,255,.095),#fff 58%)}
.text-relation-group--prolonger .text-relation-kind-icon{width:18px;height:12px;background:currentColor;clip-path:polygon(0 41%,66% 41%,66% 10%,100% 50%,66% 90%,66% 59%,0 59%)}
.text-relation-group--meme-probleme{--relation-color:#7854b8;--relation-border:rgba(120,84,184,.22);--relation-bg:linear-gradient(90deg,rgba(120,84,184,.08),#fff 58%)}
.text-relation-group--meme-probleme .text-relation-kind-icon{border:2px solid currentColor;border-radius:50%}
.text-relation-group--meme-probleme .text-relation-kind-icon::after{content:"";position:absolute;inset:3px;border-radius:50%;background:currentColor}
.text-relation-group--autre-approche{--relation-color:#4d9274;--relation-border:rgba(77,146,116,.23);--relation-bg:linear-gradient(90deg,rgba(77,146,116,.085),#fff 58%)}
.text-relation-group--autre-approche .text-relation-kind-icon{border:2px solid currentColor;border-radius:50%}
.text-relation-group--autre-approche .text-relation-kind-icon::after{content:"";position:absolute;inset:3px;border-radius:50%;background:currentColor}
.text-relation-group--confronter{--relation-color:#b45d69;--relation-border:rgba(180,93,105,.25);--relation-bg:linear-gradient(90deg,rgba(180,93,105,.085),#fff 58%)}
.text-relation-group--confronter .text-relation-kind-icon::before,.text-relation-group--confronter .text-relation-kind-icon::after{content:"";position:absolute;top:5px;left:-1px;width:15px;height:2px;border-radius:2px;background:currentColor}
.text-relation-group--confronter .text-relation-kind-icon::before{transform:rotate(45deg)}
.text-relation-group--confronter .text-relation-kind-icon::after{transform:rotate(-45deg)}

/* Fiche : position dans le programme HLP = fil d’Ariane discret et entièrement cliquable. */
.text-detail-hlp-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:9px 0 18px}
.text-detail-hlp-path{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px;max-width:100%;padding:5px 8px;border:1px solid rgba(24,118,111,.13);border-radius:8px;background:#f9fdfc;color:#516762;text-decoration:none;font:650 9.5px/1.35 Inter,sans-serif;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.text-detail-hlp-path:hover{background:#f1faf7;border-color:rgba(24,118,111,.25);transform:translateY(-1px)}
.text-detail-hlp-path:focus-visible{outline:2px solid var(--hlp-terminale);outline-offset:2px}
.text-detail-hlp-path i{color:#a4afa9;font-style:normal;font-weight:500}
.text-detail-hlp-path strong{color:var(--hlp-terminale);font-weight:800}
.text-detail-hlp-path b{margin-left:2px;color:#8aa49b;font-size:9px}
.text-detail-hlp-connections a{display:inline-flex;padding:4px 7px;border:1px solid rgba(31,33,41,.08);border-radius:999px;background:#fbfbfc;color:var(--text-medium);font-size:8px;text-decoration:none}
.text-detail-hlp-connections a:hover{border-color:rgba(108,74,162,.2);color:var(--hlp-premiere)}

/* Boussole HLP : plancher de lisibilité sur téléphone. */
@media(max-width:700px){
  .philo-path-card--hlp-cluster .philo-path-question--hlp-section .philo-path-question-trigger>span{font-size:10.5px;line-height:1.25}
  .philo-path-question--hlp-section .philo-path-question-trigger>strong{font-size:15px;line-height:1.3}
  .philo-path-subquestion{font-size:12px!important;line-height:1.48!important}
  .philo-path-question--hlp-section .philo-path-question-panel-inner>p{font-size:11.5px;line-height:1.55}
  .philo-path-flow--section>a{grid-template-columns:30px minmax(0,1fr);min-height:54px;padding:9px 10px;gap:2px 9px}
  .philo-path-flow--section>a::before{font-size:10px}
  .philo-path-flow--section>a small{font-size:10.5px;line-height:1.3}
  .philo-path-flow--section>a strong{font-size:12.5px;line-height:1.4}
  .text-detail-hlp-path{gap:4px;padding:6px 8px;font-size:10.5px}
}

/* ==========================================================
   HLP — fusion des grands objets et sous-sections lisibles
   ========================================================== */
.philo-hlp-stages{
  display:grid;
  gap:9px;
  margin-top:8px;
}
.philo-hlp-stage{
  padding:10px;
  border:1px solid color-mix(in srgb,var(--hlp-path-accent) 10%,transparent);
  border-radius:10px;
  background:color-mix(in srgb,var(--hlp-path-accent) 2.5%,#fff);
}
.philo-hlp-stage-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:2px 8px;
  align-items:baseline;
  margin-bottom:7px;
}
.philo-hlp-stage-head>span{
  grid-row:1/3;
  align-self:start;
  padding:3px 6px;
  border-radius:999px;
  background:var(--hlp-path-soft);
  color:var(--hlp-path-accent);
  font:800 8px/1.2 Inter,sans-serif;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
}
.philo-hlp-stage-head>strong{
  color:#24212a;
  font:760 12.5px/1.35 Inter,sans-serif;
}
.philo-hlp-stage-head>em{
  color:#746e79;
  font:500 10px/1.45 Inter,sans-serif;
}
.philo-hlp-stage>p{
  margin:0 0 8px;
  color:#716b78;
  font-size:10.2px;
  line-height:1.5;
}
.philo-hlp-stage .philo-path-flow--section{
  margin-top:0;
}

@media(max-width:700px){
  .philo-hlp-stages{gap:8px;margin-top:9px}
  .philo-hlp-stage{padding:9px;border-radius:9px}
  .philo-hlp-stage-head{grid-template-columns:1fr;gap:3px;margin-bottom:8px}
  .philo-hlp-stage-head>span{grid-row:auto;justify-self:start;font-size:9.5px}
  .philo-hlp-stage-head>strong{font-size:13.5px;line-height:1.35}
  .philo-hlp-stage-head>em{font-size:11px;line-height:1.5}
  .philo-hlp-stage>p{font-size:11px;line-height:1.55}
}


/* Mode Focus des fiches de textes */
.text-focus-controls{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:0 0 12px}.text-focus-toggle,.text-focus-tools button{border:1px solid #e2e0dc;border-radius:999px;background:#fff;color:#666b69;min-height:32px;padding:0 10px;font:650 .66rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}.text-focus-tools{display:flex;align-items:center;gap:5px}.text-focus-tools[hidden]{display:none!important}.text-focus-tools button{min-width:32px;padding:0 8px}.text-focus-toggle:hover,.text-focus-tools button:hover{border-color:#cfc9d7;color:#71527d}
.text-focus-mode{background:#f7f3eb}.text-focus-mode #site-header,.text-focus-mode .navbar,.text-focus-mode .site-header,.text-focus-mode .site-footer,.text-focus-mode .text-breadcrumb,.text-focus-mode .text-detail-tags,.text-focus-mode .text-detail-section,.text-focus-mode .text-detail-context,.text-focus-mode .text-hlp-study,.text-focus-mode .text-detail-related,.text-focus-mode .text-reading-notes,.text-focus-mode .text-detail-cta,.text-focus-mode .text-path-navigation,.text-focus-mode .text-bible-cycle-nav,.text-focus-mode .text-bible-view-toggle,.text-focus-mode .text-bible-anatomy,.text-focus-mode .text-artwork-gallery,.text-focus-mode .text-bible-bottom-navigation{display:none!important}.text-focus-mode .text-detail-inner{max-width:var(--text-focus-width,780px);padding-top:34px;padding-bottom:90px}.text-focus-mode .text-focus-controls{position:sticky;z-index:25;top:10px;margin-left:auto;width:max-content;padding:5px;border:1px solid rgba(30,30,28,.08);border-radius:999px;background:rgba(247,243,235,.88);backdrop-filter:blur(11px);box-shadow:0 5px 22px rgba(25,25,23,.06)}.text-focus-mode .text-detail-inner>h1,.text-focus-mode .text-detail-author{max-width:var(--text-focus-width,780px);margin-left:auto;margin-right:auto}.text-focus-mode .text-reading,.text-focus-mode .text-reading-part-title,.text-focus-mode .text-reading-part-divider{max-width:var(--text-focus-width,780px);margin-left:auto;margin-right:auto}.text-focus-mode .text-reading-content{font-size:var(--text-focus-font-size,100%);line-height:var(--text-focus-leading,1.72)}.text-focus-mode[data-text-focus-width="narrow"]{--text-focus-width:650px}.text-focus-mode[data-text-focus-width="normal"]{--text-focus-width:780px}.text-focus-mode[data-text-focus-width="wide"]{--text-focus-width:960px}.text-focus-mode[data-text-focus-leading="compact"]{--text-focus-leading:1.5}.text-focus-mode[data-text-focus-leading="comfort"]{--text-focus-leading:1.72}.text-focus-mode[data-text-focus-leading="airy"]{--text-focus-leading:1.95}.text-focus-mode[data-text-focus-theme="white"]{background:#fff}.text-focus-mode[data-text-focus-theme="white"] .text-focus-controls{background:rgba(255,255,255,.9)}.text-focus-mode[data-text-focus-theme="night"]{background:#20211f;color:#e9e5dc}.text-focus-mode[data-text-focus-theme="night"] .text-detail-inner h1,.text-focus-mode[data-text-focus-theme="night"] .text-detail-author,.text-focus-mode[data-text-focus-theme="night"] .text-reading-content,.text-focus-mode[data-text-focus-theme="night"] .text-reading-part-title{color:#e9e5dc}.text-focus-mode[data-text-focus-theme="night"] .text-focus-controls{background:rgba(32,33,31,.9);border-color:rgba(255,255,255,.1)}.text-focus-mode[data-text-focus-theme="night"] .text-focus-toggle,.text-focus-mode[data-text-focus-theme="night"] .text-focus-tools button{background:#2b2d2a;border-color:#444642;color:#e6e0d7}.text-focus-mode[data-text-focus-theme="night"] .text-reading{--text-color:#e9e5dc}
@media(max-width:700px){.text-focus-controls{margin-top:4px}.text-focus-mode .text-detail-inner{padding:16px 18px 70px}.text-focus-mode .text-focus-controls{top:7px;max-width:calc(100vw - 28px);overflow-x:auto}.text-focus-tools{gap:3px}.text-focus-tools button{min-width:30px;padding:0 6px}}
