.alb-guide, .alb-guide-context, .alb-guide-modal {
    --alb-guide-bg:#f7f8fb;
    --alb-guide-card:#fff;
    --alb-guide-text:#182230;
    --alb-guide-title:#0a2240;
    --alb-guide-muted:#657184;
    --alb-guide-line:rgba(10,34,64,.12);
    --alb-guide-accent:#244d78;
    --alb-guide-shadow:0 12px 34px rgba(10,34,64,.08);
    color:var(--alb-guide-text);
    font:inherit;
}
.alb-guide {
    width:min(1280px,calc(100vw - 32px));
    max-width:1280px;
    position:relative;
    left:50%;
    transform:translateX(-50%);
    margin:32px 0 72px;
}
.alb-guide *, .alb-guide-modal *, .alb-guide-context * { box-sizing:border-box; }
.alb-guide button, .alb-guide input, .alb-guide-context button { font:inherit; }
.alb-guide a { text-underline-offset:2px; }

.alb-guide-hero {
    position:relative;
    overflow:hidden;
    padding:clamp(30px,5vw,58px);
    border:1px solid var(--alb-guide-line);
    border-radius:24px;
    background:
        radial-gradient(circle at 92% 12%,rgba(181,106,27,.15),transparent 26%),
        radial-gradient(circle at 78% 88%,rgba(118,80,166,.13),transparent 31%),
        linear-gradient(135deg,#fff 0%,#f7faff 100%);
    box-shadow:0 12px 36px rgba(10,34,64,.055);
}
.alb-guide-hero::after {
    content:"";
    position:absolute;
    left:0;right:0;bottom:0;height:5px;
    background:linear-gradient(90deg,#2f6fa3 0 18%,#7650a6 18% 36%,#b56a1b 36% 55%,#a5464f 55% 73%,#2d7a68 73% 88%,#537442 88% 100%);
}
.alb-guide-hero__mark {
    display:grid;place-items:center;width:52px;height:52px;margin-bottom:20px;
    border-radius:15px;background:#eaf3fb;color:#245f91;
}
.alb-guide-eyebrow,.alb-guide-kicker,.alb-guide-modal__eyebrow {
    margin:0 0 7px;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--alb-guide-muted);
}
.alb-guide-hero h1,.alb-guide-single__header h1 { margin:0;color:var(--alb-guide-title);font-size:clamp(2.2rem,5vw,4rem);line-height:1;letter-spacing:-.04em; }
.alb-guide-intro { max-width:760px;margin:18px 0 0;font-size:clamp(1.05rem,2vw,1.24rem);line-height:1.58;color:var(--alb-guide-muted); }

.alb-guide-explore,.alb-guide-section,.alb-guide-updates { margin-top:48px; }
.alb-guide-section-head { display:flex;gap:15px;align-items:flex-start;margin-bottom:18px; }
.alb-guide-section-head__icon { display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:13px;background:var(--section-soft,#edf3fa);color:var(--section-color,#2f6fa3); }
.alb-guide-section-head__icon--neutral { background:#eef2f6;color:#4b6077; }
.alb-guide-section-head h2 { margin:0;color:var(--alb-guide-title);font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.025em; }
.alb-guide-section-head p:not(.alb-guide-kicker) { max-width:790px;margin:7px 0 0;color:var(--alb-guide-muted);line-height:1.55; }

.alb-guide-tools { padding:20px;border:1px solid var(--alb-guide-line);border-radius:20px;background:#fff;box-shadow:0 3px 14px rgba(10,34,64,.035); }
.alb-guide-search { display:flex;align-items:center;gap:10px;max-width:820px;padding:0 16px;border:1px solid var(--alb-guide-line);border-radius:14px;background:#f7f9fc;color:var(--alb-guide-muted);transition:.16s ease; }
.alb-guide-search:focus-within { border-color:rgba(47,111,163,.45);background:#fff;box-shadow:0 0 0 3px rgba(47,111,163,.08); }
.alb-guide-search input { width:100%;min-height:52px;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:var(--alb-guide-text); }
.alb-guide-filters { display:flex;flex-wrap:wrap;gap:8px;margin-top:16px; }
.alb-guide-filters button { border:1px solid var(--alb-guide-line);border-radius:999px;padding:8px 13px;background:#fff;color:#536070;cursor:pointer;transition:.15s ease; }
.alb-guide-filters button:not([data-alb-guide-filter="all"]):hover,.alb-guide-filters button:not([data-alb-guide-filter="all"]):focus-visible { border-color:var(--section-color);background:var(--section-soft);color:var(--section-color);outline:none; }
.alb-guide-filters button.is-active { background:var(--section-color,#244d78);border-color:var(--section-color,#244d78);color:#fff; }
.alb-guide-filters button[data-alb-guide-filter="all"].is-active { background:#244d78;border-color:#244d78; }

.alb-guide-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.alb-guide-card { min-width:0;border:1px solid var(--alb-guide-line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 2px 10px rgba(10,34,64,.025);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.alb-guide-card::before { content:"";display:block;height:4px;background:var(--section-color,#244d78); }
.alb-guide-card:hover { transform:translateY(-2px);box-shadow:var(--alb-guide-shadow);border-color:var(--section-color,#244d78); }
.alb-guide-card[hidden],.alb-guide-section[hidden] { display:none!important; }
.alb-guide-card__open { display:flex;width:100%;min-height:210px;gap:16px;padding:21px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer; }
.alb-guide-card__open:focus-visible { outline:3px solid var(--section-color,#244d78);outline-offset:-3px; }
.alb-guide-card__icon { display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:13px;background:var(--section-soft,#edf3fa);color:var(--section-color,#244d78); }
.alb-guide-card__body { display:flex;min-width:0;flex:1;flex-direction:column; }
.alb-guide-card__title { display:block;margin:1px 0 9px;color:var(--alb-guide-title);font-size:1.12rem;line-height:1.28;font-weight:800; }
.alb-guide-card__summary { display:block;color:var(--alb-guide-muted);line-height:1.55; }
.alb-guide-link { display:inline-flex;align-items:center;gap:5px;margin-top:auto;padding-top:20px;color:var(--section-color,#244d78);font-weight:750; }

.alb-guide-empty { margin-top:24px;padding:28px;border:1px dashed var(--alb-guide-line);border-radius:18px;background:#fafbfd;text-align:center; }
.alb-guide-empty h2 { margin:0 0 6px;color:var(--alb-guide-title); }
.alb-guide-empty p { margin:0;color:var(--alb-guide-muted); }

.alb-guide-update-list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
.alb-guide-update { padding:19px;border:1px solid var(--alb-guide-line);border-radius:16px;background:#fff; }
.alb-guide-update__meta { margin-bottom:7px;color:#7b8795;font-size:.8rem;font-weight:700; }
.alb-guide-update h3 { margin:0 0 8px;color:var(--alb-guide-title);font-size:1rem; }
.alb-guide-update p { margin:0;color:var(--alb-guide-muted);line-height:1.5; }

/* Modal de lecture */
.alb-guide-modal[hidden] { display:none!important; }
.alb-guide-modal { position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;width:100vw;height:100vh;height:100dvh;padding:24px;overflow:auto;overscroll-behavior:contain; }
.alb-guide-modal__backdrop { position:fixed;inset:0;background:rgba(8,20,34,.52);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px); }
.alb-guide-modal__panel { position:relative;z-index:1;width:min(780px,calc(100vw - 48px));max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);margin:auto;overflow-y:auto;border:1px solid rgba(255,255,255,.5);border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(5,18,32,.28);overscroll-behavior:contain; }
.alb-guide-modal__close { position:sticky;top:12px;z-index:5;float:right;display:grid;place-items:center;width:40px;height:40px;margin:12px 12px -52px 0;border:1px solid var(--alb-guide-line);border-radius:999px;background:rgba(255,255,255,.96);color:var(--alb-guide-title);cursor:pointer;box-shadow:0 4px 12px rgba(10,34,64,.08); }
.alb-guide-modal__close:hover,.alb-guide-modal__close:focus-visible { background:#f3f6fa;outline:none; }
.alb-guide-modal-entry { --section-color:#2f6fa3;--section-soft:#eaf3fb;padding:0 30px 28px; }
.alb-guide-modal-entry::before { content:"";display:block;height:5px;margin:0 -30px 26px;background:var(--section-color); }
.alb-guide-modal-entry__header { display:flex;gap:16px;align-items:flex-start;padding-right:44px; }
.alb-guide-modal-entry__icon { display:grid;place-items:center;flex:0 0 50px;width:50px;height:50px;border-radius:14px;background:var(--section-soft);color:var(--section-color); }
.alb-guide-modal-entry__header h2 { margin:0;color:var(--alb-guide-title);font-size:clamp(1.65rem,4vw,2.3rem);line-height:1.12;letter-spacing:-.025em; }
.alb-guide-modal-entry__lead { margin:10px 0 0;color:var(--alb-guide-muted);font-size:1.05rem;line-height:1.55; }
.alb-guide-modal-entry__content { margin-top:26px;padding-top:24px;border-top:1px solid var(--alb-guide-line); }
.alb-guide-modal-entry__footer { display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px;padding-top:20px;border-top:1px solid var(--alb-guide-line); }
.alb-guide-modal-entry__permalink { color:var(--alb-guide-muted);font-size:.88rem;text-decoration:none; }
.alb-guide-modal-entry__permalink:hover { text-decoration:underline; }
html.alb-guide-modal-open,body.alb-guide-modal-open { overflow:hidden!important; }

.alb-guide-prose { color:var(--alb-guide-text);font-size:1rem;line-height:1.72; }
.alb-guide-prose h2 { margin:1.5em 0 .55em;color:var(--alb-guide-title);font-size:1.13rem;line-height:1.3; }
.alb-guide-prose h2:first-child { margin-top:0; }
.alb-guide-prose h3 { color:var(--alb-guide-title); }
.alb-guide-prose p { margin:0 0 1em; }
.alb-guide-prose ul,.alb-guide-prose ol { margin:.5em 0 1.1em;padding-left:1.4em; }
.alb-guide-prose li { margin:.38em 0; }
.alb-guide-prose strong { color:#132b47; }

.alb-guide-button { display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:9px 14px;border-radius:10px;background:var(--section-color,#244d78);color:#fff!important;font-weight:750;text-decoration:none; }
.alb-guide-button:hover,.alb-guide-button:focus-visible { filter:brightness(.93);outline:none; }

/* URL directe d’une fiche */
.alb-guide-single { --section-color:#2f6fa3;--section-soft:#eaf3fb; }
.alb-guide-breadcrumb { display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:18px;color:var(--alb-guide-muted);font-size:.9rem; }
.alb-guide-breadcrumb a,.alb-guide-back { display:inline-flex;align-items:center;gap:5px;color:var(--alb-guide-title);text-decoration:none; }
.alb-guide-single__article { padding:clamp(26px,4vw,48px);border:1px solid var(--alb-guide-line);border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(10,34,64,.045); }
.alb-guide-single__article::before { content:"";display:block;height:5px;margin:calc(clamp(26px,4vw,48px) * -1) calc(clamp(26px,4vw,48px) * -1) 28px;background:var(--section-color);border-radius:22px 22px 0 0; }
.alb-guide-single__header { display:flex;gap:18px;align-items:flex-start;padding-bottom:24px;border-bottom:1px solid var(--alb-guide-line); }
.alb-guide-single__icon { display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;border-radius:15px;background:var(--section-soft);color:var(--section-color); }
.alb-guide-single__header h1 { font-size:clamp(2rem,4vw,3.3rem); }
.alb-guide-single__lead { max-width:800px;margin:13px 0 0;color:var(--alb-guide-muted);font-size:1.08rem;line-height:1.55; }
.alb-guide-single__content { max-width:850px;padding-top:28px; }
.alb-guide-single__actions,.alb-guide-single__footer { margin-top:26px; }
.alb-guide-single__not-found { padding:36px;border:1px solid var(--alb-guide-line);border-radius:20px;background:#fff; }

/* API d’aide contextuelle conservée */
.alb-guide-context { display:inline-block;position:relative; }
.alb-guide-context__button { display:inline-flex;align-items:center;gap:6px;border:1px solid var(--alb-guide-line);border-radius:999px;padding:7px 11px;background:#fff;color:var(--alb-guide-title);cursor:pointer; }
.alb-guide-context__button:hover { background:#f4f7fa; }
.alb-guide-modal__content { padding:0 28px 20px;line-height:1.65; }
.alb-guide-modal__action { padding:0 28px 28px; }
.alb-guide-modal__action a { color:#244d78;font-weight:700; }

@media (max-width:920px) {
    .alb-guide-grid,.alb-guide-update-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
    .alb-guide { width:min(100% - 20px,1280px);margin-top:18px; }
    .alb-guide-hero { padding:28px 22px; }
    .alb-guide-explore,.alb-guide-section,.alb-guide-updates { margin-top:36px; }
    .alb-guide-grid,.alb-guide-update-list { grid-template-columns:1fr; }
    .alb-guide-card__open { min-height:0;padding:18px; }
    .alb-guide-section-head { gap:11px; }
    .alb-guide-section-head__icon { flex-basis:42px;width:42px;height:42px; }
    .alb-guide-modal { padding:10px;align-items:stretch; }
    .alb-guide-modal__panel { width:100%;max-height:calc(100dvh - 20px);border-radius:18px; }
    .alb-guide-modal-entry { padding:0 20px 22px; }
    .alb-guide-modal-entry::before { margin:0 -20px 22px; }
    .alb-guide-modal-entry__header { gap:12px;padding-right:35px; }
    .alb-guide-modal-entry__icon { flex-basis:44px;width:44px;height:44px; }
    .alb-guide-single__header { flex-direction:column; }
}

/* Navigation de lecture 0.7 */
.alb-guide-modal-entry__copy {
    display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;
    color:var(--section-color,#244d78);font:inherit;font-size:.88rem;font-weight:750;cursor:pointer;
}
.alb-guide-modal-entry__copy:hover,.alb-guide-modal-entry__copy:focus-visible { text-decoration:underline;outline:none; }
.alb-guide-modal__nav {
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;
    margin:0 30px 28px;padding-top:18px;border-top:1px solid var(--alb-guide-line);
}
.alb-guide-modal__nav[hidden] { display:none!important; }
.alb-guide-modal__nav-button {
    display:flex;align-items:center;gap:10px;min-width:0;padding:12px 13px;border:1px solid var(--alb-guide-line);
    border-radius:13px;background:#f8fafc;color:var(--alb-guide-title);cursor:pointer;text-align:left;transition:.15s ease;
}
.alb-guide-modal__nav-button--next { justify-content:flex-end;text-align:right; }
.alb-guide-modal__nav-button:hover,.alb-guide-modal__nav-button:focus-visible { border-color:var(--section-color,#244d78);background:#fff;box-shadow:0 4px 12px rgba(10,34,64,.06);outline:none; }
.alb-guide-modal__nav-button[hidden] { visibility:hidden;display:flex!important;pointer-events:none; }
.alb-guide-modal__nav-button span { display:flex;min-width:0;flex:1;flex-direction:column;gap:2px; }
.alb-guide-modal__nav-button small { color:var(--alb-guide-muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em; }
.alb-guide-modal__nav-button strong { overflow:hidden;color:var(--alb-guide-title);font-size:.89rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap; }
@media (max-width:640px) {
    .alb-guide-modal__nav { grid-template-columns:1fr;margin:0 20px 22px; }
    .alb-guide-modal__nav-button[hidden] { display:none!important; }
}
