/* Hypno-Alchimiste — Bibliothèque Premium */
:root,
html[data-theme="light"],
body[data-theme="light"],
body.theme-light,
body.light-mode {
	--ha-rs-text:#241b33;
	--ha-rs-muted:#6b6177;
	--ha-rs-bg:rgba(255,255,255,.94);
	--ha-rs-bg-soft:rgba(248,245,255,.92);
	--ha-rs-border:rgba(105,65,169,.22);
	--ha-rs-border-strong:rgba(105,57,176,.42);
	--ha-rs-inner:rgba(255,255,255,.88);
	--ha-rs-primary:#6d28d9;
	--ha-rs-primary-2:#9333ea;
	--ha-rs-primary-soft:rgba(109,40,217,.11);
	--ha-rs-shadow:0 34px 80px -42px rgba(50,23,88,.46),0 16px 38px -30px rgba(109,40,217,.34),inset 0 1px 0 rgba(255,255,255,.92);
	--ha-rs-card-shadow:0 28px 64px -34px rgba(42,18,77,.44),0 10px 26px -24px rgba(109,40,217,.42);
	--ha-rs-card-shadow-hover:0 38px 82px -32px rgba(48,20,86,.55),0 18px 38px -24px rgba(109,40,217,.52);
	--ha-rs-field:rgba(255,255,255,.88);
	--ha-rs-header:linear-gradient(135deg,#5b21b6 0%,#7c3aed 52%,#6d28d9 100%);
	--ha-rs-slider-panel:rgba(255,255,255,.74);
	--ha-rs-slider-overlay:linear-gradient(180deg,rgba(13,8,23,.02) 0%,rgba(13,8,23,.18) 37%,rgba(13,8,23,.94) 100%);
	--ha-rs-tax-frame:linear-gradient(145deg,rgba(255,255,255,.97),rgba(245,239,255,.86));
	--ha-rs-control:rgba(255,255,255,.82);
	--ha-rs-switch-idle-bg:rgba(255,255,255,.94);
	--ha-rs-switch-idle-text:#6d28d9;
	--ha-rs-switch-idle-border:rgba(109,40,217,.30);
	--ha-rs-switch-active-bg:linear-gradient(135deg,#5b21b6,#7c3aed);
	--ha-rs-switch-active-text:#ffffff;
}

html[data-theme="dark"],
body[data-theme="dark"],
body.theme-dark,
body.dark-mode {
	--ha-rs-text:#f7f2ff;
	--ha-rs-muted:#cfc5db;
	--ha-rs-bg:rgba(31,24,44,.96);
	--ha-rs-bg-soft:rgba(22,17,32,.95);
	--ha-rs-border:rgba(216,180,254,.16);
	--ha-rs-border-strong:rgba(167,139,250,.40);
	--ha-rs-inner:rgba(255,255,255,.08);
	--ha-rs-primary:#a783ff;
	--ha-rs-primary-2:#d092ff;
	--ha-rs-primary-soft:rgba(139,92,246,.17);
	--ha-rs-shadow:0 38px 88px -38px rgba(0,0,0,.88),0 20px 48px -34px rgba(124,58,237,.46),inset 0 1px 0 rgba(255,255,255,.08);
	--ha-rs-card-shadow:0 32px 72px -32px rgba(0,0,0,.78),0 12px 30px -24px rgba(139,92,246,.42);
	--ha-rs-card-shadow-hover:0 44px 100px -32px rgba(0,0,0,.88),0 20px 44px -24px rgba(139,92,246,.56);
	--ha-rs-field:rgba(255,255,255,.085);
	--ha-rs-header:linear-gradient(135deg,rgba(63,43,95,.98),rgba(83,48,137,.95) 52%,rgba(74,41,119,.96));
	--ha-rs-slider-panel:rgba(31,24,44,.74);
	--ha-rs-slider-overlay:linear-gradient(180deg,rgba(10,7,17,.02) 0%,rgba(10,7,17,.18) 35%,rgba(10,7,17,.96) 100%);
	--ha-rs-tax-frame:linear-gradient(145deg,rgba(35,25,50,.96),rgba(17,12,25,.91));
	--ha-rs-control:rgba(255,255,255,.08);
	--ha-rs-switch-idle-bg:rgba(255,255,255,.075);
	--ha-rs-switch-idle-text:#f3edff;
	--ha-rs-switch-idle-border:rgba(196,181,253,.26);
	--ha-rs-switch-active-bg:linear-gradient(135deg,#6d28d9,#8b5cf6);
	--ha-rs-switch-active-text:#ffffff;
}

@media (prefers-color-scheme:dark) {
	html:not([data-theme="light"]) {
		--ha-rs-text:#f7f2ff;
		--ha-rs-muted:#cfc5db;
		--ha-rs-bg:rgba(31,24,44,.96);
		--ha-rs-bg-soft:rgba(22,17,32,.95);
		--ha-rs-border:rgba(216,180,254,.16);
		--ha-rs-border-strong:rgba(167,139,250,.40);
		--ha-rs-inner:rgba(255,255,255,.08);
		--ha-rs-primary:#a783ff;
		--ha-rs-primary-2:#d092ff;
		--ha-rs-primary-soft:rgba(139,92,246,.17);
		--ha-rs-shadow:0 38px 88px -38px rgba(0,0,0,.88),0 20px 48px -34px rgba(124,58,237,.46),inset 0 1px 0 rgba(255,255,255,.08);
		--ha-rs-card-shadow:0 32px 72px -32px rgba(0,0,0,.78),0 12px 30px -24px rgba(139,92,246,.42);
		--ha-rs-card-shadow-hover:0 44px 100px -32px rgba(0,0,0,.88),0 20px 44px -24px rgba(139,92,246,.56);
		--ha-rs-field:rgba(255,255,255,.085);
		--ha-rs-header:linear-gradient(135deg,rgba(63,43,95,.98),rgba(83,48,137,.95) 52%,rgba(74,41,119,.96));
		--ha-rs-slider-panel:rgba(31,24,44,.74);
		--ha-rs-slider-overlay:linear-gradient(180deg,rgba(10,7,17,.02) 0%,rgba(10,7,17,.18) 35%,rgba(10,7,17,.96) 100%);
		--ha-rs-tax-frame:linear-gradient(145deg,rgba(35,25,50,.96),rgba(17,12,25,.91));
		--ha-rs-control:rgba(255,255,255,.08);
	--ha-rs-switch-idle-bg:rgba(255,255,255,.075);
	--ha-rs-switch-idle-text:#f3edff;
	--ha-rs-switch-idle-border:rgba(196,181,253,.26);
	--ha-rs-switch-active-bg:linear-gradient(135deg,#6d28d9,#8b5cf6);
	--ha-rs-switch-active-text:#ffffff;
	}
}

.ha-rs { position:relative; isolation:isolate; width:100%; max-width:1440px; margin:0 auto 38px; color:var(--ha-rs-text); font-family:"Manrope","Inter","Segoe UI",system-ui,-apple-system,sans-serif; }
.ha-rs *, .ha-rslider * { box-sizing:border-box; }
.ha-rs a, .ha-rslider a { text-decoration:none!important; }
.ha-rs-heading { margin:0 0 22px; padding:0 clamp(4px,1vw,14px); }
.ha-rs-heading__eyebrow { display:block; margin-bottom:7px; color:var(--ha-rs-primary); font-size:10.5px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.ha-rs-heading h2 { margin:0; color:var(--ha-rs-text); font-size:clamp(26px,3.4vw,44px); font-weight:860; line-height:1.06; letter-spacing:-.04em; text-wrap:balance; }
.ha-rs-heading p { max-width:780px; margin:10px 0 0; color:var(--ha-rs-muted); font-size:clamp(14px,1.35vw,17px); line-height:1.58; }
.ha-rs-both { display:grid; gap:34px; }
.ha-rs-empty { grid-column:1/-1; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:150px; padding:32px; border:1px solid var(--ha-rs-border); border-radius:24px; background:linear-gradient(145deg,var(--ha-rs-bg),var(--ha-rs-bg-soft)); color:var(--ha-rs-muted); text-align:center; box-shadow:var(--ha-rs-shadow); }
.ha-rs-empty strong { margin-bottom:7px; color:var(--ha-rs-text); font-size:18px; }
.ha-rs-admin-preview-note { margin-bottom:16px; padding:12px 14px; border:1px solid var(--ha-rs-border); border-radius:14px; background:var(--ha-rs-primary-soft); color:var(--ha-rs-text); font-size:12px; font-weight:700; }

/* Recherche */
.ha-rs-search__shell { position:relative; z-index:50; overflow:visible; margin-bottom:32px; border:1px solid var(--ha-rs-border-strong); border-radius:28px; background:linear-gradient(145deg,var(--ha-rs-bg),var(--ha-rs-bg-soft)); box-shadow:var(--ha-rs-shadow); backdrop-filter:blur(28px) saturate(145%); }
.ha-rs-search__shell::before { content:""; position:absolute; z-index:1; inset:4px; border:1px solid var(--ha-rs-inner); border-radius:23px; pointer-events:none; }
.ha-rs-search__accent { position:absolute; z-index:6; top:-1px; left:22px; width:72px; height:5px; border-radius:0 0 999px 999px; background:linear-gradient(90deg,#d9c7ff,var(--ha-rs-primary-2),#7c3aed); box-shadow:0 4px 18px rgba(124,58,237,.42); }
.ha-rs-search__toggle { position:relative; z-index:4; display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:14px; width:100%; padding:17px 18px; overflow:hidden; border:0; border-radius:27px 27px 0 0; background:var(--ha-rs-header); color:#fff; text-align:left; cursor:pointer; box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -1px 0 rgba(42,13,74,.2); }
.ha-rs-search__toggle::after { content:""; position:absolute; inset:0; background:linear-gradient(115deg,rgba(255,255,255,.18),transparent 28%,transparent 72%,rgba(255,255,255,.06)),radial-gradient(circle at 15% -45%,rgba(255,255,255,.35),transparent 44%); pointer-events:none; }
.ha-rs-search__toggle > * { position:relative; z-index:1; }
.ha-rs-search__shell.is-collapsed .ha-rs-search__toggle { border-radius:27px; }
.ha-rs-search__toggle-icon { display:grid; place-items:center; width:46px; height:46px; border:1px solid rgba(255,255,255,.26); border-radius:15px; background:linear-gradient(145deg,rgba(255,255,255,.24),rgba(255,255,255,.10)); box-shadow:0 15px 28px -18px rgba(38,10,78,.72),inset 0 1px 0 rgba(255,255,255,.34); }
.ha-rs-search__toggle-icon svg { width:25px; height:25px; }
.ha-rs-search__toggle-copy { display:flex; flex-direction:column; gap:4px; min-width:0; }
.ha-rs-search__toggle-copy strong { color:#fff; font-size:17px; font-weight:830; line-height:1.2; }
.ha-rs-search__toggle-copy small { color:rgba(255,255,255,.82); font-size:13px; font-weight:560; line-height:1.35; }
.ha-rs-search__toggle-action { display:inline-flex; align-items:center; gap:9px; font-size:12px; font-weight:800; }
.ha-rs-search__toggle-action svg { width:38px; height:38px; padding:9px; border:1px solid rgba(255,255,255,.28); border-radius:13px; background:linear-gradient(145deg,rgba(255,255,255,.24),rgba(255,255,255,.12)); transition:transform .22s ease; }
.ha-rs-search__shell.is-collapsed .ha-rs-search__toggle-action svg { transform:rotate(180deg); }
.ha-rs-search__panel { position:relative; z-index:3; overflow:visible; padding:20px 18px 18px; border-top:1px solid var(--ha-rs-border); }
.ha-rs-search__shell.is-collapsed .ha-rs-search__panel { display:none; }
.ha-rs-search__active { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:14px; }
.ha-rs-search__chips { display:flex; flex-wrap:wrap; gap:8px; }
.ha-rs-chip { display:inline-flex; align-items:center; gap:7px; min-height:34px; padding:7px 8px 7px 12px; border:1px solid var(--ha-rs-border); border-radius:999px; background:var(--ha-rs-primary-soft); color:var(--ha-rs-text); font-size:11.5px; font-weight:760; }
.ha-rs-chip b { opacity:.68; font-size:9px; letter-spacing:.05em; text-transform:uppercase; }
.ha-rs-chip button { display:grid; place-items:center; width:22px; height:22px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.2); color:currentColor; cursor:pointer; }
.ha-rs-search__clear { flex:0 0 auto; padding:8px 11px; border:0; background:transparent; color:var(--ha-rs-primary); font-size:11.5px; font-weight:800; cursor:pointer; }
.ha-rs-search__text-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; margin-bottom:12px; }
.ha-rs-search__field { position:relative; display:flex; align-items:center; min-height:54px; padding:0 48px 0 17px; border:1px solid var(--ha-rs-border-strong); border-radius:17px; background:var(--ha-rs-field); box-shadow:0 14px 30px -25px rgba(58,25,100,.46),inset 0 1px 0 var(--ha-rs-inner); backdrop-filter:blur(18px) saturate(135%); }
.ha-rs-search__field:focus-within { border-color:var(--ha-rs-primary); box-shadow:0 0 0 4px var(--ha-rs-primary-soft),0 18px 38px -28px rgba(109,40,217,.5),inset 0 1px 0 var(--ha-rs-inner); }
.ha-rs-search__field > svg { flex:0 0 auto; width:20px; height:20px; margin-right:11px; color:var(--ha-rs-primary); }
.ha-rs-search__field input { width:100%; min-width:0; padding:0!important; border:0!important; outline:0!important; background:transparent!important; color:var(--ha-rs-text)!important; box-shadow:none!important; font:inherit; font-size:14px; font-weight:600; }
.ha-rs-search__field input::placeholder { color:var(--ha-rs-muted); opacity:.9; }
.ha-rs-search__input-clear { position:absolute; right:10px; display:grid; place-items:center; width:34px; height:34px; padding:0; border:0; border-radius:11px; background:var(--ha-rs-primary-soft); color:var(--ha-rs-primary); font-size:20px; cursor:pointer; }
.ha-rs-search__submit { min-height:54px; padding:0 22px; border:1px solid rgba(255,255,255,.18); border-radius:17px; background:linear-gradient(135deg,var(--ha-rs-primary),var(--ha-rs-primary-2)); color:#fff; font-size:13px; font-weight:820; cursor:pointer; box-shadow:0 18px 34px -18px rgba(109,40,217,.72),inset 0 1px 0 rgba(255,255,255,.30); }
.ha-rs-search__filters { position:relative; z-index:80; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ha-rs-filter { position:relative; min-width:0; }
.ha-rs-filter[open] { z-index:100; }
.ha-rs-filter summary { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:9px; min-height:56px; padding:10px 13px; border:1px solid var(--ha-rs-border-strong); border-radius:17px; background:var(--ha-rs-field); box-shadow:0 14px 30px -25px rgba(58,25,100,.44),inset 0 1px 0 var(--ha-rs-inner); cursor:pointer; list-style:none; }
.ha-rs-filter summary::-webkit-details-marker { display:none; }
.ha-rs-filter[open] summary { border-color:var(--ha-rs-primary); box-shadow:0 0 0 4px var(--ha-rs-primary-soft),inset 0 1px 0 var(--ha-rs-inner); }
.ha-rs-filter__copy { display:flex; flex-direction:column; min-width:0; }
.ha-rs-filter__copy strong { color:var(--ha-rs-text); font-size:12.5px; font-weight:820; }
.ha-rs-filter__copy small { overflow:hidden; margin-top:4px; color:var(--ha-rs-muted); font-size:10.5px; text-overflow:ellipsis; white-space:nowrap; }
.ha-rs-filter__count { display:grid; place-items:center; min-width:25px; height:25px; padding:0 7px; border-radius:999px; background:linear-gradient(135deg,var(--ha-rs-primary),var(--ha-rs-primary-2)); color:#fff; font-size:10px; font-weight:850; }
.ha-rs-filter summary > svg { width:18px; height:18px; color:var(--ha-rs-muted); transition:transform .2s ease; }
.ha-rs-filter[open] summary > svg { transform:rotate(180deg); }
.ha-rs-filter__panel { position:absolute; z-index:120; top:calc(100% + 9px); left:0; width:max(100%,280px); max-width:min(360px,calc(100vw - 34px)); overflow:hidden; border:1px solid var(--ha-rs-border-strong); border-radius:19px; background:linear-gradient(145deg,var(--ha-rs-bg),var(--ha-rs-bg-soft)); box-shadow:0 30px 64px -28px rgba(20,8,40,.62),0 16px 36px -30px rgba(124,58,237,.44),inset 0 1px 0 var(--ha-rs-inner); backdrop-filter:blur(30px) saturate(155%); }
.ha-rs-filter__options { max-height:310px; overflow:auto; padding:9px; }
.ha-rs-filter__option { display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:9px; min-height:43px; padding:7px 9px; border:1px solid transparent; border-radius:12px; cursor:pointer; }
.ha-rs-filter__option:hover { border-color:var(--ha-rs-border); background:var(--ha-rs-primary-soft); }
.ha-rs-filter__option input { position:absolute; width:1px; height:1px; opacity:0; }
.ha-rs-filter__check { display:grid; place-items:center; width:23px; height:23px; border:1px solid var(--ha-rs-border-strong); border-radius:8px; background:var(--ha-rs-field); color:transparent; font-size:13px; }
.ha-rs-filter__option input:checked + .ha-rs-filter__check { border-color:transparent; background:linear-gradient(135deg,var(--ha-rs-primary),var(--ha-rs-primary-2)); color:#fff; }
.ha-rs-filter__name { min-width:0; color:var(--ha-rs-text); font-size:12px; font-weight:670; line-height:1.3; }
.ha-rs-filter__total { color:var(--ha-rs-muted); font-size:10.5px; }
.ha-rs-results__header { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:0 0 18px; }
.ha-rs-results__eyebrow { display:block; margin-bottom:5px; color:var(--ha-rs-primary); font-size:10px; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.ha-rs-results__header h2 { margin:0; color:var(--ha-rs-text); font-size:clamp(24px,3vw,34px); font-weight:860; letter-spacing:-.035em; }
.ha-rs-results__header p { margin:0; color:var(--ha-rs-muted); font-size:12.5px; font-weight:700; }
.ha-rs-search__status { margin:0 0 16px; padding:13px 15px; border:1px solid var(--ha-rs-border); border-radius:14px; background:var(--ha-rs-field); color:var(--ha-rs-muted); font-size:13px; font-weight:650; }
.ha-rs-results { position:relative; min-height:160px; }
.ha-rs-results.is-loading > [data-ha-rs-results] { opacity:.28; pointer-events:none; }
.ha-rs-loading { position:absolute; z-index:5; inset:0; display:flex; justify-content:center; gap:7px; padding-top:48px; pointer-events:none; opacity:0; }
.ha-rs-results.is-loading .ha-rs-loading { opacity:1; }
.ha-rs-loading span { width:9px; height:9px; border-radius:50%; background:var(--ha-rs-primary); animation:ha-rs-bounce .9s infinite alternate; }
.ha-rs-loading span:nth-child(2){animation-delay:.15s}.ha-rs-loading span:nth-child(3){animation-delay:.3s}
@keyframes ha-rs-bounce { to { transform:translateY(-8px); opacity:.42; } }
.ha-rs-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:28px; }
.ha-rs-pagination button { min-width:40px; height:40px; padding:0 12px; border:1px solid var(--ha-rs-border); border-radius:13px; background:var(--ha-rs-field); color:var(--ha-rs-text); font-size:12px; font-weight:790; cursor:pointer; }
.ha-rs-pagination button:hover,.ha-rs-pagination button.is-current { border-color:transparent; background:linear-gradient(135deg,var(--ha-rs-primary),var(--ha-rs-primary-2)); color:#fff; }
.ha-rs-pagination button:disabled { opacity:.36; cursor:not-allowed; }

/* Grille et cartes */
.ha-rs-grid { display:grid; grid-template-columns:repeat(var(--ha-rs-cols-d,3),minmax(0,1fr)); align-items:start; gap:clamp(16px,2vw,24px); }
.ha-rs-card { position:relative; display:flex; min-width:0; flex-direction:column; align-self:start; border:1px solid var(--ha-rs-border); border-radius:26px; background:linear-gradient(145deg,var(--ha-rs-bg),var(--ha-rs-bg-soft)); box-shadow:var(--ha-rs-card-shadow); overflow:hidden; transform:translateZ(0); transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease; }
.ha-rs-card::before { content:""; position:absolute; z-index:2; inset:4px; border:1px solid var(--ha-rs-inner); border-radius:21px; pointer-events:none; }
.ha-rs-card:hover { transform:translateY(-5px); border-color:var(--ha-rs-border-strong); box-shadow:var(--ha-rs-card-shadow-hover); }
/* L’accordéon a une hauteur naturelle : on évite que les cartes voisines s’étirent lorsque l’une s’ouvre. */
.ha-rs-grid.is-equal-height .ha-rs-card { height:auto; }
.ha-rs-card__link { position:relative; z-index:1; display:flex; flex-direction:column; color:inherit!important; }
.ha-rs-card__media-link { position:relative; z-index:1; display:block; flex:0 0 auto; color:inherit!important; text-decoration:none!important; }
.ha-rs-card__media { position:relative; overflow:hidden; background:#130d20; }
.ha-rs-card__media--16-9 { aspect-ratio:16/9; }
.ha-rs-card__media--4-3 { aspect-ratio:4/3; }
.ha-rs-card__media--1-1 { aspect-ratio:1/1; }
.ha-rs-card__image { display:block; width:100%; height:100%; object-fit:cover; transform:scale(1.002); filter:saturate(1.04) contrast(1.04); transition:transform .8s cubic-bezier(.18,.72,.22,1),filter .5s ease; }
.ha-rs-card:hover .ha-rs-card__image { transform:scale(1.055); filter:saturate(1.10) contrast(1.07) brightness(1.04); }
.ha-rs-card__placeholder { display:grid; place-items:center; width:100%; height:100%; background:radial-gradient(circle at 50% 20%,rgba(152,95,255,.52),rgba(57,34,96,.92) 54%,#130d20 100%); color:#fff; font-size:42px; font-weight:850; }
.ha-rs-card__shine { position:absolute; inset:0; background:linear-gradient(118deg,rgba(255,255,255,.17),transparent 23%,transparent 72%,rgba(255,255,255,.05)); pointer-events:none; }
.ha-rs-card__body { position:relative; z-index:3; display:flex; min-width:0; flex-direction:column; padding:20px 20px 18px; }
.ha-rs-card__title-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:12px; min-width:0; }
.ha-rs-card__title-link { min-width:0; color:inherit!important; text-decoration:none!important; }
.ha-rs-card__body h3 { margin:0; color:var(--ha-rs-text); font-size:clamp(18px,1.55vw,23px); font-weight:850; line-height:1.16; letter-spacing:-.025em; text-wrap:balance; }
.ha-rs-card__title-link:hover h3 { color:var(--ha-rs-primary); }
.ha-rs-card__accordion-toggle { position:relative; z-index:4; display:inline-grid; place-items:center; width:38px; height:38px; margin:-3px -3px 0 0; padding:0; border:1px solid var(--ha-rs-border-strong); border-radius:13px; background:var(--ha-rs-field); color:var(--ha-rs-primary); box-shadow:0 13px 26px -22px var(--ha-rs-primary),inset 0 1px 0 var(--ha-rs-inner); cursor:pointer; -webkit-tap-highlight-color:transparent; transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease; }
.ha-rs-card__accordion-toggle:hover { transform:translateY(-1px); border-color:var(--ha-rs-primary); background:var(--ha-rs-field-hover); box-shadow:0 0 0 4px var(--ha-rs-primary-soft),0 16px 30px -24px var(--ha-rs-primary),inset 0 1px 0 var(--ha-rs-inner); }
.ha-rs-card__accordion-toggle:focus-visible { outline:0; border-color:var(--ha-rs-primary); box-shadow:0 0 0 4px var(--ha-rs-primary-soft),inset 0 1px 0 var(--ha-rs-inner); }
.ha-rs-card__accordion-toggle svg { width:19px; height:19px; transition:transform .28s cubic-bezier(.2,.72,.22,1); }
.ha-rs-card.is-details-open .ha-rs-card__accordion-toggle svg { transform:rotate(180deg); }
.ha-rs-card__accordion { display:grid; grid-template-rows:0fr; opacity:0; visibility:hidden; transition:grid-template-rows .34s cubic-bezier(.2,.72,.22,1),opacity .22s ease,visibility 0s linear .34s; }
.ha-rs-card__accordion-clip { min-height:0; overflow:hidden; }
.ha-rs-card__accordion-content { padding-top:14px; }
.ha-rs-card.is-details-open .ha-rs-card__accordion { grid-template-rows:1fr; opacity:1; visibility:visible; transition:grid-template-rows .34s cubic-bezier(.2,.72,.22,1),opacity .24s ease,visibility 0s linear 0s; }
.ha-rs-card__badges { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:14px; }
.ha-rs-badge,.ha-rslider__badge { display:inline-flex; align-items:center; justify-content:center; min-height:27px; max-width:100%; padding:6px 10px; border:1px solid rgba(255,255,255,.30); border-radius:999px; background:linear-gradient(135deg,color-mix(in srgb,var(--ha-badge-color) 78%,#12081e),var(--ha-badge-color)); color:#fff; box-shadow:0 9px 20px -14px rgba(0,0,0,.86),inset 0 1px 0 rgba(255,255,255,.24); font-size:9.5px; font-weight:820; line-height:1.15; text-shadow:0 1px 3px rgba(0,0,0,.45); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ha-rs-badge::before,.ha-rslider__badge::before { content:""; width:5px; height:5px; margin-right:6px; border:1px solid rgba(255,255,255,.62); border-radius:50%; background:#fff; box-shadow:0 0 8px rgba(255,255,255,.5); }
.ha-rs-card__excerpt { color:var(--ha-rs-muted); font-size:13.5px; line-height:1.62; }
.ha-rs-card__excerpt p { margin:0; }
.ha-rs-card__excerpt small { display:block; margin-top:6px; color:var(--ha-rs-primary); font-size:11px; font-weight:760; }
.ha-rs-card__body footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:18px; padding-top:0; }
.ha-rs-card__body footer time { color:var(--ha-rs-muted); font-size:10.5px; font-weight:650; }
.ha-rs-card__cta { display:inline-flex; align-items:center; gap:8px; color:var(--ha-rs-primary)!important; font-size:12px; font-weight:820; text-decoration:none!important; }
.ha-rs-card__cta b { font-size:17px; transition:transform .2s ease; }
.ha-rs-card__cta:hover b { transform:translateX(3px); }
.ha-rs-grid--classic .ha-rs-card { border-radius:18px; box-shadow:0 16px 42px -28px rgba(40,20,70,.42); }
.ha-rs-grid--classic .ha-rs-card::before { display:none; }
.ha-rs-grid--classic .ha-rs-card__body { padding:18px; }
.ha-rs-grid--compact { gap:14px; }
.ha-rs-grid--compact .ha-rs-card { border-radius:18px; }
.ha-rs-grid--compact .ha-rs-card::before { border-radius:14px; }
.ha-rs-grid--compact .ha-rs-card__body { padding:15px; }
.ha-rs-grid--compact .ha-rs-card__body h3 { font-size:17px; }
.ha-rs-grid--compact .ha-rs-card__excerpt { font-size:12.5px; }

/* Slider premium */
.ha-rs-slider { --ha-rs-transition:520ms; position:relative; width:100%; max-width:1440px; margin:0 auto; color:var(--ha-rs-text); }
.ha-rslider__shell { position:relative; border:1px solid var(--ha-rs-border); border-radius:clamp(24px,3vw,38px); background:radial-gradient(circle at 50% -15%,rgba(135,83,239,.13),transparent 42%),var(--ha-rs-slider-panel); box-shadow:var(--ha-rs-shadow); backdrop-filter:blur(22px) saturate(122%); overflow:hidden; }
.ha-rslider__viewport { position:relative; min-height:430px; overflow:hidden; touch-action:pan-y pinch-zoom; overscroll-behavior-x:contain; cursor:grab; user-select:none; perspective:1500px; transition:height .34s cubic-bezier(.2,.72,.22,1); }
.ha-rslider__viewport.is-height-syncing,.ha-rslider__viewport.is-dragging { transition:none!important; }
.ha-rslider__viewport.is-dragging { cursor:grabbing; }
.ha-rslider__track { position:relative; width:100%; height:100%; min-height:inherit; --ha-rs-drag-x:0px; }
.ha-rslider__slide { position:absolute; top:clamp(26px,4vw,54px); left:50%; width:var(--ha-rs-card-width,560px); max-width:calc(100vw - 64px); transform:translate3d(calc(-50% + var(--ha-rs-x,0px) + var(--ha-rs-drag-x,0px)),0,0) rotateY(var(--ha-rs-rotate,0deg)) scale(var(--ha-rs-scale,1)); transform-origin:center; opacity:var(--ha-rs-opacity,1); z-index:var(--ha-rs-z,1); pointer-events:var(--ha-rs-pointer,auto); transition:transform var(--ha-rs-transition) cubic-bezier(.2,.72,.22,1),opacity var(--ha-rs-transition) ease; will-change:transform,opacity; }
.ha-rslider__viewport.is-dragging .ha-rslider__slide { transition:none; }
.ha-rslider__link { display:block; position:relative; color:inherit!important; outline:0; }
.ha-rslider__link:focus-visible .ha-rslider__card,.ha-rslider__link:focus-visible .ha-rslider__taxonomy-frame { outline:3px solid rgba(180,140,255,.88); outline-offset:5px; }
.ha-rslider__taxonomy-frame { position:relative; z-index:7; width:calc(100% - clamp(24px,4vw,48px)); min-height:52px; margin:0 auto -10px; padding:10px 12px 16px; overflow:hidden; border:1px solid var(--ha-rs-border-strong); border-radius:20px 20px 14px 14px; background:radial-gradient(circle at 50% -35%,rgba(165,106,255,.26),transparent 56%),var(--ha-rs-tax-frame); box-shadow:0 20px 42px -24px rgba(0,0,0,.48),0 9px 24px -20px rgba(165,106,255,.52),inset 0 1px 0 var(--ha-rs-inner); backdrop-filter:blur(18px) saturate(128%); }
.ha-rslider__taxonomy-frame::before { content:""; position:absolute; inset:3px; border:1px solid var(--ha-rs-inner); border-radius:16px 16px 11px 11px; pointer-events:none; }
.ha-rslider__taxonomy-frame::after { content:""; position:absolute; top:5px; left:50%; width:52px; height:3px; border-radius:999px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.92),transparent); transform:translateX(-50%); opacity:.82; }
.ha-rslider__badges { position:relative; z-index:2; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px; }
.ha-rslider__card { position:relative; aspect-ratio:16/9; overflow:hidden; border:1px solid var(--ha-rs-border-strong); border-radius:clamp(18px,2vw,28px); background:#130d20; box-shadow:var(--ha-rs-card-shadow); }
.ha-rslider__slide.is-active .ha-rslider__card { box-shadow:var(--ha-rs-card-shadow-hover); }
.ha-rslider__image,.ha-rslider__placeholder { display:block; width:100%; height:100%; object-fit:cover; transform:scale(1.002); filter:saturate(1.04) contrast(1.04); transition:transform .85s cubic-bezier(.18,.72,.22,1),filter .5s ease; }
.ha-rslider__placeholder { display:grid; place-items:center; background:radial-gradient(circle at 50% 20%,rgba(152,95,255,.52),rgba(57,34,96,.92) 54%,#130d20 100%); color:#fff; font-size:64px; font-weight:850; }
.ha-rslider__slide.is-active:hover .ha-rslider__image { transform:scale(1.055); filter:saturate(1.10) contrast(1.07) brightness(1.04); }
.ha-rslider__shade { position:absolute; inset:0; background:var(--ha-rs-slider-overlay); pointer-events:none; }
.ha-rslider__gloss { position:absolute; inset:0; background:linear-gradient(118deg,rgba(255,255,255,.17),transparent 23%,transparent 72%,rgba(255,255,255,.05)); mix-blend-mode:screen; pointer-events:none; }
.ha-rslider__content { position:absolute; z-index:3; left:clamp(16px,3vw,30px); right:clamp(16px,3vw,30px); bottom:clamp(16px,3vw,28px); text-align:center; pointer-events:none; }
.ha-rslider__content h3 { margin:0; color:#fff; font-size:clamp(21px,3.1vw,44px); font-weight:860; line-height:1.04; letter-spacing:-.035em; text-wrap:balance; text-shadow:0 3px 15px rgba(0,0,0,.88),0 1px 2px rgba(0,0,0,.95); }
.ha-rslider__reflection { position:relative; width:96%; height:clamp(62px,9vw,112px); margin:2px auto 0; overflow:hidden; border-radius:0 0 30px 30px; pointer-events:none; opacity:.72; transform:perspective(900px) rotateX(4deg); transform-origin:center top; mask-image:linear-gradient(to bottom,rgba(0,0,0,.76),rgba(0,0,0,.30) 44%,transparent 94%); }
.ha-rslider__reflection::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom,rgba(255,255,255,.12),rgba(255,255,255,0) 22%),linear-gradient(to bottom,rgba(20,13,31,.06),rgba(20,13,31,.46)); }
.ha-rslider__reflection-image { position:absolute; inset:0; display:block; background-position:center; background-repeat:no-repeat; background-size:cover; transform:scaleY(-1); filter:blur(.55px) saturate(.78) contrast(.92) brightness(.78); }
.ha-rslider__controls { position:absolute; z-index:120; inset:50% 18px auto; display:flex; justify-content:space-between; pointer-events:none; transform:translateY(-50%); }
.ha-rslider__controls button { display:grid; place-items:center; width:46px; height:46px; padding:0; border:1px solid var(--ha-rs-border); border-radius:50%; background:var(--ha-rs-control); color:var(--ha-rs-primary); box-shadow:0 14px 30px -18px rgba(0,0,0,.65),inset 0 1px 0 var(--ha-rs-inner); backdrop-filter:blur(14px); cursor:pointer; pointer-events:auto; font-size:29px; line-height:1; transition:transform .18s ease; }
.ha-rslider__controls button:hover { transform:scale(1.07); }
.ha-rslider__footer { display:flex; align-items:center; justify-content:center; gap:14px; min-height:52px; padding:4px 18px 12px; }
.ha-rslider__dots { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; }
.ha-rslider__dot { width:7px; height:7px; padding:0; border:0; border-radius:999px; background:rgba(124,58,237,.26); cursor:pointer; transition:width .18s ease,background .18s ease; }
.ha-rslider__dot.is-active { width:28px; background:var(--ha-rs-primary); }
.ha-rslider__counter { color:var(--ha-rs-muted); font-size:12px; font-weight:700; }

/* Elementor : ne pas couper les menus */
.elementor-widget-shortcode:has(.ha-rs-search),.elementor-widget-shortcode:has(.ha-rs-search)>.elementor-widget-container,.e-con:has(.ha-rs-search),.elementor-element:has(.ha-rs-search){overflow:visible!important}

@media (max-width:900px){.ha-rs-grid{grid-template-columns:repeat(var(--ha-rs-cols-t,2),minmax(0,1fr))}}
@media (max-width:760px){
	.ha-rs{margin-bottom:26px}.ha-rs-heading{padding-inline:4px}.ha-rs-search__shell{border-radius:24px}.ha-rs-search__toggle{grid-template-columns:42px minmax(0,1fr) 38px;gap:10px;padding:14px;border-radius:23px 23px 0 0}.ha-rs-search__shell.is-collapsed .ha-rs-search__toggle{border-radius:23px}.ha-rs-search__toggle-icon{width:42px;height:42px}.ha-rs-search__toggle-copy strong{font-size:14px}.ha-rs-search__toggle-copy small{display:-webkit-box;overflow:hidden;font-size:11px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ha-rs-search__toggle-action>span{display:none}.ha-rs-search__toggle-action svg{width:36px;height:36px}.ha-rs-search__panel{padding:15px 14px}.ha-rs-search__active{flex-direction:column}.ha-rs-search__clear{align-self:flex-end}.ha-rs-search__text-row{grid-template-columns:1fr}.ha-rs-search__submit{width:100%}.ha-rs-search__filters{grid-template-columns:1fr}.ha-rs-filter__panel{position:relative;top:auto;left:auto;width:100%;max-width:none;margin-top:8px}.ha-rs-filter__options{max-height:min(56vh,430px)}.ha-rs-results__header{align-items:flex-start;flex-direction:column;gap:7px}.ha-rs-grid{grid-template-columns:repeat(var(--ha-rs-cols-m,1),minmax(0,1fr));gap:14px}.ha-rs-card__body{padding:16px}.ha-rs-card__body h3{font-size:17px}.ha-rs-card__title-row{grid-template-columns:minmax(0,1fr) 36px;gap:9px}.ha-rs-card__accordion-toggle{width:36px;height:36px;border-radius:12px}.ha-rs-card__accordion-toggle svg{width:18px;height:18px}.ha-rslider__shell{border-radius:24px}.ha-rslider__viewport{min-height:330px}.ha-rslider__slide{top:22px;max-width:none}.ha-rslider__controls{inset-inline:7px}.ha-rslider__controls button{width:38px;height:38px;font-size:24px}.ha-rslider__taxonomy-frame{width:calc(100% - 18px);min-height:44px;margin-bottom:-8px;padding:8px 9px 13px;border-radius:16px 16px 11px 11px}.ha-rslider__badges{gap:5px;max-height:54px;overflow:hidden}.ha-rslider__badge{min-height:24px;padding:5px 8px;font-size:clamp(8px,2.45vw,9.4px)}.ha-rslider__slide:not(.is-active) .ha-rslider__taxonomy-frame{opacity:0;transform:translateY(7px);pointer-events:none}.ha-rs-slider[data-taxonomies-mobile="0"] .ha-rslider__taxonomy-frame{display:none!important}.ha-rslider__content{left:16px;right:16px;bottom:13px}.ha-rslider__content h3{font-size:clamp(17px,5.15vw,24px);line-height:1.08}.ha-rslider__slide:not(.is-active) .ha-rslider__content{opacity:0;transform:translateY(8px)}.ha-rslider__reflection{height:54px}
}
@media (max-width:390px){.ha-rs-search__panel{padding:11px}.ha-rs-search__toggle{grid-template-columns:40px minmax(0,1fr) 36px;gap:8px;padding:12px}.ha-rs-search__toggle-icon{width:40px;height:40px}.ha-rs-search__toggle-copy strong{font-size:13.25px}.ha-rs-search__toggle-copy small{font-size:10.25px}.ha-rs-search__field{padding-left:12px}.ha-rs-card__badges{gap:5px}.ha-rs-badge{font-size:8.5px;padding:5px 8px}}
@media (prefers-reduced-motion:reduce){.ha-rs-card__accordion,.ha-rs-card__accordion-toggle,.ha-rs-card__accordion-toggle svg{transition:none!important}.ha-rs *,.ha-rslider *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* ==========================================================
   V1.1 — CHOIX DU LECTEUR + INTRODUCTION SLIDER PREMIUM
   ========================================================== */
.ha-rs-view-switch {
	position:relative;
	width:100%;
	margin:0 auto;
}
.ha-rs-view-switch__bar {
	position:relative;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	margin:0 0 18px;
	padding:14px 15px 14px 18px;
	overflow:hidden;
	border:1px solid var(--ha-rs-border-strong);
	border-radius:22px;
	background:
		radial-gradient(circle at 12% -40%,rgba(167,139,250,.22),transparent 42%),
		linear-gradient(145deg,var(--ha-rs-bg),var(--ha-rs-bg-soft));
	box-shadow:
		0 25px 58px -32px rgba(63,30,105,.48),
		0 12px 30px -27px rgba(124,58,237,.46),
		inset 0 1px 0 var(--ha-rs-inner);
	-webkit-backdrop-filter:blur(24px) saturate(145%);
	backdrop-filter:blur(24px) saturate(145%);
}
.ha-rs-view-switch__bar::before {
	content:"";
	position:absolute;
	inset:4px;
	border:1px solid var(--ha-rs-inner);
	border-radius:17px;
	pointer-events:none;
}
.ha-rs-view-switch__bar::after {
	content:"";
	position:absolute;
	top:0;
	left:28px;
	width:68px;
	height:4px;
	border-radius:0 0 999px 999px;
	background:linear-gradient(90deg,#d9c7ff,var(--ha-rs-primary-2),#7c3aed);
	box-shadow:0 3px 16px rgba(124,58,237,.46);
	pointer-events:none;
}
.ha-rs-view-switch__copy,
.ha-rs-view-switch__buttons { position:relative; z-index:2; }
.ha-rs-view-switch__copy { display:flex; flex-direction:column; gap:3px; min-width:0; }
.ha-rs-view-switch__eyebrow {
	color:var(--ha-rs-primary);
	font-size:9.5px;
	font-weight:850;
	letter-spacing:.11em;
	text-transform:uppercase;
}
.ha-rs-view-switch__copy strong {
	color:var(--ha-rs-text);
	font-size:14px;
	font-weight:820;
	line-height:1.25;
}
.ha-rs-view-switch__buttons {
	display:grid;
	grid-template-columns:repeat(2,minmax(112px,1fr));
	gap:8px;
	flex:0 0 auto;
}
.ha-rs-view-switch__buttons button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	min-height:44px;
	padding:0 15px;
	border:1px solid var(--ha-rs-switch-idle-border) !important;
	border-radius:14px;
	background:var(--ha-rs-switch-idle-bg) !important;
	color:var(--ha-rs-switch-idle-text) !important;
	box-shadow:inset 0 1px 0 var(--ha-rs-inner),0 12px 25px -23px rgba(0,0,0,.75);
	font:inherit;
	font-size:12px;
	font-weight:800;
	cursor:pointer;
	transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}
.ha-rs-view-switch__buttons button > span:first-child { font-size:17px; line-height:1; }
.ha-rs-view-switch__buttons button:hover,
.ha-rs-view-switch__buttons button:focus-visible {
	transform:translateY(-1px);
	border-color:rgba(255,255,255,.22) !important;
	background:var(--ha-rs-switch-active-bg) !important;
	color:var(--ha-rs-switch-active-text) !important;
	box-shadow:0 16px 30px -18px rgba(109,40,217,.68),inset 0 1px 0 rgba(255,255,255,.26);
}
.ha-rs-view-switch__buttons button.is-active,
.ha-rs-view-switch__buttons button[aria-pressed="true"] {
	border-color:rgba(255,255,255,.24) !important;
	background:var(--ha-rs-switch-active-bg) !important;
	color:var(--ha-rs-switch-active-text) !important;
	box-shadow:0 18px 34px -18px rgba(109,40,217,.76),0 7px 18px -16px rgba(124,58,237,.62),inset 0 1px 0 rgba(255,255,255,.30);
}
.ha-rs-view-switch__prompt {
	position:relative;
	display:flex;
	align-items:center;
	gap:16px;
	margin:0 0 18px;
	padding:22px;
	overflow:hidden;
	border:1px solid var(--ha-rs-border-strong);
	border-radius:24px;
	background:
		radial-gradient(circle at 7% 0%,rgba(167,139,250,.20),transparent 32%),
		linear-gradient(145deg,var(--ha-rs-bg),var(--ha-rs-bg-soft));
	box-shadow:var(--ha-rs-shadow);
	-webkit-backdrop-filter:blur(24px) saturate(145%);
	backdrop-filter:blur(24px) saturate(145%);
}
.ha-rs-view-switch__prompt::before {
	content:"";
	position:absolute;
	inset:4px;
	border:1px solid var(--ha-rs-inner);
	border-radius:19px;
	pointer-events:none;
}
.ha-rs-view-switch__prompt > * { position:relative; z-index:1; }
.ha-rs-view-switch__prompt-icon {
	display:grid;
	place-items:center;
	flex:0 0 48px;
	width:48px;
	height:48px;
	border:1px solid var(--ha-rs-border-strong);
	border-radius:16px;
	background:linear-gradient(145deg,var(--ha-rs-primary-soft),var(--ha-rs-field));
	color:var(--ha-rs-primary);
	box-shadow:inset 0 1px 0 var(--ha-rs-inner),0 15px 28px -23px rgba(109,40,217,.65);
	font-size:22px;
}
.ha-rs-view-switch__prompt strong { display:block; margin:0 0 5px; color:var(--ha-rs-text); font-size:16px; font-weight:850; }
.ha-rs-view-switch__prompt p { margin:0; color:var(--ha-rs-muted); font-size:12.5px; font-weight:590; line-height:1.55; }
.ha-rs-view-switch__panel { animation:ha-rs-view-in .28s ease both; }
.ha-rs-view-switch__panel[hidden],.ha-rs-view-switch__prompt[hidden] { display:none!important; }
@keyframes ha-rs-view-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }

/* Vignette d'introduction sous le reflet du slider.
 * Sa hauteur est volontairement libre : elle grandit avec le texte.
 */
.ha-rslider__excerpt-frame {
	position:relative;
	z-index:8;
	width:94%;
	height:auto;
	min-height:0;
	margin:10px auto 0;
	padding:16px 20px 17px;
	overflow:hidden;
	border:1px solid var(--ha-rs-border-strong);
	border-radius:20px;
	background:
		radial-gradient(circle at 50% -34%,rgba(167,139,250,.22),transparent 54%),
		linear-gradient(145deg,var(--ha-rs-bg),var(--ha-rs-bg-soft));
	box-shadow:
		0 28px 58px -31px rgba(44,19,80,.62),
		0 12px 28px -22px rgba(124,58,237,.52),
		inset 0 1px 0 var(--ha-rs-inner),
		inset 0 -1px 0 rgba(105,57,176,.08);
	-webkit-backdrop-filter:blur(22px) saturate(145%);
	backdrop-filter:blur(22px) saturate(145%);
	text-align:center;
	transition:opacity var(--ha-rs-transition) ease,transform var(--ha-rs-transition) ease,box-shadow .22s ease;
}
.ha-rslider__excerpt-frame::before {
	content:"";
	position:absolute;
	inset:4px;
	border:1px solid var(--ha-rs-inner);
	border-radius:15px;
	pointer-events:none;
}
.ha-rslider__excerpt-frame::after {
	content:"";
	position:absolute;
	top:0;
	left:50%;
	width:62px;
	height:3px;
	border-radius:0 0 999px 999px;
	background:linear-gradient(90deg,transparent,rgba(255,255,255,.92),transparent);
	box-shadow:0 3px 16px rgba(139,92,246,.46);
	transform:translateX(-50%);
	pointer-events:none;
}
.ha-rslider__excerpt-frame > * { position:relative; z-index:1; }
.ha-rslider__excerpt-kicker {
	display:block;
	margin:0 0 7px;
	color:var(--ha-rs-primary);
	font-size:9px;
	font-weight:850;
	letter-spacing:.11em;
	text-transform:uppercase;
}
.ha-rslider__excerpt-frame p {
	display:block;
	margin:0;
	overflow:visible;
	color:var(--ha-rs-text);
	font-size:11.75px;
	font-weight:620;
	line-height:1.58;
	white-space:normal;
	text-wrap:pretty;
}
.ha-rslider__excerpt-frame small {
	display:block;
	margin-top:7px;
	color:var(--ha-rs-muted);
	font-size:9.5px;
	font-weight:720;
}
.ha-rslider__slide:not(.is-active) .ha-rslider__excerpt-frame { opacity:.24; transform:translateY(5px); }
.ha-rslider__slide.is-active:hover .ha-rslider__excerpt-frame { box-shadow:0 32px 66px -29px rgba(53,21,94,.68),0 14px 32px -21px rgba(124,58,237,.58),inset 0 1px 0 var(--ha-rs-inner); }
.ha-rslider__controls { top:var(--ha-rs-controls-y,50%); inset-block-end:auto; }

@media (max-width:760px) {
	.ha-rs-view-switch__bar { align-items:stretch; flex-direction:column; gap:11px; padding:14px; border-radius:20px; }
	.ha-rs-view-switch__copy { text-align:center; }
	.ha-rs-view-switch__copy strong { font-size:13px; }
	.ha-rs-view-switch__buttons { width:100%; grid-template-columns:1fr 1fr; }
	.ha-rs-view-switch__buttons button { min-width:0; min-height:43px; padding-inline:10px; }
	.ha-rs-view-switch__prompt { align-items:flex-start; padding:17px; border-radius:20px; }
	.ha-rs-view-switch__prompt-icon { flex-basis:42px; width:42px; height:42px; border-radius:14px; }
	.ha-rs-view-switch__prompt strong { font-size:14px; }
	.ha-rs-view-switch__prompt p { font-size:11.5px; }
	.ha-rslider__excerpt-frame { width:calc(100% - 18px); min-height:0; margin-top:8px; padding:13px 14px 14px; border-radius:16px; }
	.ha-rslider__excerpt-frame::before { border-radius:12px; }
	.ha-rslider__excerpt-frame p { display:block; overflow:visible; font-size:10.75px; line-height:1.52; -webkit-line-clamp:unset; }
	.ha-rslider__excerpt-frame small { font-size:9px; }
	.ha-rslider__slide:not(.is-active) .ha-rslider__excerpt-frame { opacity:0; pointer-events:none; }
}

@media (prefers-reduced-motion:reduce){.ha-rs-card__accordion,.ha-rs-card__accordion-toggle,.ha-rs-card__accordion-toggle svg{transition:none!important}.ha-rs-view-switch__panel,.ha-rs-view-switch__buttons button,.ha-rslider__excerpt-frame{animation:none!important;transition:none!important}}


/* ==========================================================
   V1.1.3 — EXTRAIT HORS VIEWPORT + PASTILLES MOBILE AU CHOIX (base conservée)
   L'extrait actif est maintenant dans le flux normal du document.
   Il ne peut donc plus être rogné par le viewport 3D du slider.
   ========================================================== */
.ha-rslider__excerpt-stage {
	position:relative;
	z-index:20;
	width:min(var(--ha-rs-active-card-width, 560px), calc(100% - 28px));
	margin:0 auto 10px;
	padding:0;
}
.ha-rslider__excerpt-item {
	position:relative;
	width:100%;
	animation:ha-rs-excerpt-in .28s ease both;
}
.ha-rslider__excerpt-item[hidden] { display:none !important; }
.ha-rslider__excerpt-item.is-active { display:block; }
.ha-rslider__excerpt-frame {
	display:block;
	width:94%;
	height:auto !important;
	min-height:0 !important;
	max-height:none !important;
	margin:0 auto;
	padding:16px 20px 17px;
	overflow:visible !important;
	color:var(--ha-rs-text) !important;
}
.ha-rslider__excerpt-frame p {
	display:block !important;
	width:100%;
	height:auto !important;
	min-height:0 !important;
	max-height:none !important;
	overflow:visible !important;
	white-space:normal !important;
	-webkit-line-clamp:unset !important;
	line-clamp:unset !important;
}
.ha-rslider__excerpt-frame small { display:none !important; }
.ha-rslider__excerpt-frame:focus-visible {
	outline:3px solid rgba(180,140,255,.88);
	outline-offset:4px;
}
@keyframes ha-rs-excerpt-in {
	from { opacity:0; transform:translateY(6px); }
	to { opacity:1; transform:none; }
}

/* Par défaut, les pastilles conservent la même taille sur mobile. */
@media (max-width:760px) {
	.ha-rs-slider[data-badges-mobile-compact="0"] .ha-rslider__badges {
		gap:6px;
		max-height:none;
		overflow:visible;
	}
	.ha-rs-slider[data-badges-mobile-compact="0"] .ha-rslider__badge {
		min-height:27px;
		padding:6px 10px;
		font-size:9.5px;
		line-height:1.15;
	}
	.ha-rs-slider[data-badges-mobile-compact="0"] .ha-rslider__badge::before {
		width:5px;
		height:5px;
		margin-right:6px;
	}
	.ha-rs-slider[data-badges-mobile-compact="1"] .ha-rslider__badges {
		gap:5px;
		max-height:54px;
		overflow:hidden;
	}
	.ha-rs-slider[data-badges-mobile-compact="1"] .ha-rslider__badge {
		min-height:24px;
		padding:5px 8px;
		font-size:clamp(8px,2.45vw,9.4px);
	}
	.ha-rslider__excerpt-stage {
		width:min(var(--ha-rs-active-card-width, 430px), calc(100% - 18px));
		margin-top:0;
		margin-bottom:9px;
	}
	.ha-rslider__excerpt-frame {
		width:100%;
		padding:14px 15px 15px;
		border-radius:16px;
	}
	.ha-rslider__excerpt-frame p {
		font-size:11px;
		line-height:1.56;
	}
}

/* ==========================================================
   V1.1.5 — INTRODUCTION SYNCHRONISÉE À CHAQUE CHANGEMENT DE SLIDE
   Chaque article possède sa propre vignette rendue côté serveur ; JS ne fait
   qu'activer celle qui porte le même index que la slide centrale.
   ========================================================== */
.ha-rslider__excerpt-stage[hidden] { display:none !important; }
.ha-rslider__excerpt-stage::before {
	content:"";
	position:absolute;
	z-index:0;
	top:-13px;
	left:50%;
	width:1px;
	height:15px;
	background:linear-gradient(to bottom,rgba(167,139,250,0),rgba(124,58,237,.72));
	box-shadow:0 0 10px rgba(124,58,237,.48);
	transform:translateX(-50%);
	pointer-events:none;
}
.ha-rslider__excerpt-stage::after {
	content:"";
	position:absolute;
	z-index:1;
	top:-2px;
	left:50%;
	width:7px;
	height:7px;
	border:1px solid rgba(255,255,255,.72);
	border-radius:50%;
	background:var(--ha-rs-primary);
	box-shadow:0 0 0 4px rgba(124,58,237,.10),0 0 14px rgba(124,58,237,.58);
	transform:translate(-50%,-50%);
	pointer-events:none;
}
.ha-rslider__excerpt-stage.is-changing .ha-rslider__excerpt-frame {
	animation:ha-rs-excerpt-sync .34s cubic-bezier(.2,.72,.22,1) both;
}
@keyframes ha-rs-excerpt-sync {
	0% { opacity:.28; transform:translateY(7px) scale(.992); filter:blur(.45px); }
	55% { opacity:.88; }
	100% { opacity:1; transform:none; filter:none; }
}
@media (prefers-reduced-motion:reduce) {
	.ha-rslider__excerpt-stage.is-changing .ha-rslider__excerpt-frame { animation:none !important; }
}


/* ==========================================================
   V1.1.8 — ÉTAT CANONIQUE DU SLIDER + ISOLATION ANTI-CONFLIT
   Le root n'utilise plus .ha-rslider afin qu'un ancien snippet autonome
   ne puisse plus initialiser le slider de cette extension.
   ========================================================== */
.ha-rs-slider {
	--ha-rs-excerpt-motion:260ms;
}
.ha-rs-slider .ha-rslider__excerpt-stage {
	transition:opacity 130ms ease,transform 130ms ease,filter 130ms ease;
}
.ha-rs-slider .ha-rslider__excerpt-stage.is-excerpt-out {
	opacity:0;
	transform:translateY(7px) scale(.994);
	filter:blur(.5px);
}
.ha-rs-slider .ha-rslider__excerpt-stage.is-excerpt-in .ha-rslider__excerpt-frame {
	animation:ha-rs-excerpt-current-in var(--ha-rs-excerpt-motion) cubic-bezier(.2,.72,.22,1) both;
}
@keyframes ha-rs-excerpt-current-in {
	0% { opacity:0; transform:translateY(8px) scale(.994); filter:blur(.5px); }
	60% { opacity:.92; }
	100% { opacity:1; transform:none; filter:none; }
}
@media (prefers-reduced-motion:reduce) {
	.ha-rs-slider .ha-rslider__excerpt-stage,
	.ha-rs-slider .ha-rslider__excerpt-stage.is-excerpt-in .ha-rslider__excerpt-frame {
		transition:none!important;
		animation:none!important;
	}
}
