/* =======================================================================
   CSB PODCAST — CATALOGUE ULTRA PREMIUM / STANDALONE DESIGN 2026.10
   Le fichier contient TOUTE la structure, pas seulement des décorations.
   Compatible index.php, podcasts.js, podcasts-premium.js, ads-public.css,
   ads-media.css. Ne modifie pas les autres pages du site.
   ======================================================================= */

#csb-catalog {
  --cp-bg: #07070c;
  --cp-surface: #12111b;
  --cp-surface-2: #191523;
  --cp-white: #f9f8fe;
  --cp-soft: #cfccda;
  --cp-muted: #aca7ba;
  --cp-stroke: rgba(255,255,255,.11);
  --cp-purple: #8b43a8;
  --cp-pink: #ea5b78;
  --cp-cyan: #12b4d6;
  --cp-grad: linear-gradient(108deg,#9b59b4 0%,#eb5c7c 53%,#12b4d6 100%);
  --cp-ease: cubic-bezier(.2,.78,.22,1);
  position: relative;
  isolation: isolate;
  display: flow-root;
  width: 100%;
  min-height: 70vh;
  margin: 0;
  overflow: clip;
  color: var(--cp-white);
  background:
    radial-gradient(ellipse 78% 42% at 3% 0%,rgba(139,67,168,.14),transparent 70%),
    radial-gradient(ellipse 58% 46% at 100% 27%,rgba(18,180,214,.07),transparent 70%),
    var(--cp-bg);
  font-family: inherit;
  text-align: left;
  color-scheme: dark;
}
#csb-catalog *,
#csb-catalog *::before,
#csb-catalog *::after { box-sizing: border-box; }
#csb-catalog [hidden] { display: none !important; }
#csb-catalog a { text-decoration: none; }
#csb-catalog button,
#csb-catalog input,
#csb-catalog select { font: inherit; }
#csb-catalog button { cursor: pointer; }
#csb-catalog :is(a,button,input,select):focus-visible {
  outline: 3px solid var(--cp-cyan);
  outline-offset: 4px;
}
#csb-catalog .csb-sr-only {
  position: absolute!important; width:1px!important; height:1px!important;
  padding:0!important; overflow:hidden!important; clip:rect(0,0,0,0)!important;
  white-space:nowrap!important; border:0!important;
}
/* IMPORTANT : évite les immenses SVG observés lorsque podcasts.css ne charge pas. */
#csb-catalog .csb-symbols {
  position:absolute!important; width:0!important; height:0!important;
  overflow:hidden!important; pointer-events:none;
}
#csb-catalog svg.csb-icon {
  display:inline-block!important; width:20px!important; height:20px!important;
  max-width:20px!important; max-height:20px!important; flex:0 0 20px;
  color:inherit; fill:none!important; stroke:currentColor!important;
  stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;
  vertical-align:middle;
}
#csb-catalog .csb-shell {
  position:relative; z-index:1;
  width:min(100% - 48px, 1240px);
  max-width:1240px;
  margin-inline:auto;
  padding:clamp(22px,4vw,48px) 0 clamp(48px,6vw,90px);
}
#csb-catalog .csb-ambient { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
#csb-catalog .csb-ambient span {
  position:absolute; display:block; width:min(45vw,610px); aspect-ratio:1;
  border-radius:50%; filter:blur(96px); opacity:.19; pointer-events:none;
  animation:cp-ambient 16s ease-in-out infinite alternate;
}
#csb-catalog .csb-ambient span:first-child { top:-210px; left:-180px; background:#ad4cb8; }
#csb-catalog .csb-ambient span:last-child { right:-200px; top:36%; background:#0aaac8; animation-delay:-7s; }
@keyframes cp-ambient { to { transform:translate(70px,45px) scale(1.12); opacity:.29; } }

/* HERO — grille stabilisée sur écran large, pile verticale sur mobile. */
#csb-catalog .csb-hero {
  position:relative; isolation:isolate;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  align-items:center; gap:clamp(22px,3.2vw,52px);
  width:100%; min-height:410px;
  margin:0 0 clamp(38px,5vw,64px);
  padding:clamp(28px,4.2vw,64px);
  border:1px solid rgba(255,255,255,.105);
  border-radius:clamp(22px,3vw,36px);
  background:
    radial-gradient(ellipse at 13% 35%,rgba(139,67,168,.21),transparent 58%),
    radial-gradient(ellipse at 100% 80%,rgba(18,180,214,.14),transparent 46%),
    linear-gradient(123deg,#191021 0%,#111019 58%,#0d1319 100%);
  box-shadow:0 24px 90px rgba(0,0,0,.25), inset 0 1px rgba(255,255,255,.055);
  overflow:hidden;
}
#csb-catalog .csb-hero::before {
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(114deg,transparent 16%,rgba(255,255,255,.035) 45%,transparent 66%);
  transform:translateX(-130%); animation:cp-sheen 13s ease-in-out infinite;
  pointer-events:none;
}
@keyframes cp-sheen { 12%,100% {transform:translateX(160%);} }
#csb-catalog .csb-hero-copy { position:relative; z-index:1; min-width:0; }
#csb-catalog .csb-eyebrow,
#csb-catalog .csb-kicker {
  display:inline-flex; align-items:center; gap:10px;
  color:#86dff2; font-size:10px; font-weight:800;
  letter-spacing:.19em; line-height:1.5; text-transform:uppercase;
}
#csb-catalog .csb-eyebrow i {
  width:7px; height:7px; border-radius:50%; background:var(--cp-pink);
  box-shadow:0 0 0 5px rgba(234,91,120,.11),0 0 15px rgba(234,91,120,.8);
}
#csb-catalog .csb-hero-copy h1 {
  margin:20px 0 18px; max-width:790px;
  color:var(--cp-white); font-size:clamp(40px,5.3vw,76px);
  line-height:1.045; font-weight:900; letter-spacing:-.066em;
  text-wrap:balance; overflow-wrap:break-word;
}
#csb-catalog .csb-hero-copy h1 span {
  background:var(--cp-grad); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
#csb-catalog .csb-intro {
  margin:0; max-width:530px; color:var(--cp-soft);
  font-size:clamp(14px,1.4vw,17px); line-height:1.7;
}
#csb-catalog .csb-hero-actions {
  display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px;
  margin-top:clamp(24px,3.1vw,39px);
}
#csb-catalog .csb-button {
  display:inline-flex; align-items:center; justify-content:center; gap:12px;
  min-height:50px; padding:13px 22px;
  border:1px solid transparent; border-radius:13px;
  background:var(--cp-grad); background-size:160% 100%; color:#fff;
  font-size:13px; font-weight:800; line-height:1.3;
  box-shadow:0 13px 31px rgba(139,67,168,.24);
  transition:transform .3s var(--cp-ease),box-shadow .3s ease,filter .3s ease,background-position .35s ease;
}
#csb-catalog .csb-button:hover {
  color:#fff; transform:translateY(-2px); filter:brightness(1.09);
  box-shadow:0 17px 36px rgba(139,67,168,.3); background-position:100% 50%;
}
#csb-catalog .csb-button svg.csb-icon {width:18px!important; height:18px!important; flex-basis:18px;}
#csb-catalog .csb-stat { display:flex; flex-direction:column; gap:3px; color:#e4e0ed; font-size:13px; }
#csb-catalog .csb-stat strong { font-size:20px; color:#fff; font-variant-numeric:tabular-nums; }
#csb-catalog .csb-stat small { color:var(--cp-muted); font-size:11px; }

/* HERO : émission à la une */
#csb-catalog .csb-spotlight {
  position:relative; isolation:isolate; display:flex!important;
  flex-direction:column; align-items:stretch; justify-content:center; gap:15px;
  width:100%; max-width:470px; min-width:0; margin:0 auto;
  padding:clamp(12px,1.7vw,18px);
  overflow:visible; border:1px solid rgba(255,255,255,.11);
  border-radius:24px; color:#fff;
  background:rgba(255,255,255,.035);
  box-shadow:0 18px 54px rgba(0,0,0,.23);
  backdrop-filter:blur(15px); -webkit-backdrop-filter:blur(15px);
  transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));
  transition:transform .22s ease,border-color .35s ease,box-shadow .35s ease;
}
#csb-catalog .csb-spotlight:hover {
  border-color:rgba(18,180,214,.36);
  box-shadow:0 25px 70px rgba(0,0,0,.28),0 0 38px rgba(18,180,214,.095);
}
#csb-catalog .csb-orbit { position:absolute; inset:-13px; border:1px solid rgba(18,180,214,.075); border-radius:35px; pointer-events:none; }
#csb-catalog .csb-cover-stack {position:relative;width:100%;}
#csb-catalog .csb-spotlight-art {
  display:block; width:100%; max-height:310px; aspect-ratio:1.38/1;
  overflow:hidden; border-radius:17px; background:#17131e;
}
#csb-catalog .csb-spotlight-art img {
  display:block!important; width:100%!important; height:100%!important;
  object-fit:cover; max-width:none; border:0;
  transition:transform .8s var(--cp-ease),filter .4s ease;
}
#csb-catalog .csb-spotlight:hover img { transform:scale(1.045); }
#csb-catalog .csb-floating-badge {
  position:absolute; right:12px; bottom:12px;
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 12px; border:1px solid rgba(255,255,255,.2);
  border-radius:999px; background:rgba(8,8,15,.85);
  color:#fff; font-size:11px; font-weight:800;
  box-shadow:0 8px 22px rgba(0,0,0,.24);
}
#csb-catalog .csb-floating-badge svg.csb-icon { width:16px!important; height:16px!important; flex-basis:16px; }
#csb-catalog .csb-spotlight-caption { display:flex; justify-content:space-between; align-items:center; gap:14px; }
#csb-catalog .csb-spotlight-caption > div {display:flex; flex-direction:column; gap:6px; min-width:0;}
#csb-catalog .csb-spotlight-caption span { font-size:9px; letter-spacing:.14em; font-weight:800; color:var(--cp-cyan); }
#csb-catalog .csb-spotlight-caption strong { color:#fff; font-size:clamp(13px,1.3vw,16px); line-height:1.4; }
#csb-catalog .csb-spotlight-caption > svg.csb-icon { color:var(--cp-cyan); }
#csb-catalog .csb-hero-mark {
  display:grid; place-items:center; align-content:center; gap:7px;
  min-height:290px; font-size:clamp(72px,11vw,156px);
  font-weight:900; letter-spacing:-.11em;
  background:var(--cp-grad); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
#csb-catalog .csb-hero-mark span {font-size:18px;letter-spacing:.2em;}

/* PUBLICITÉS : zone distincte, compacte et clairement annoncée. */
#csb-catalog .csb-partners {
  position:relative; display:block;
  margin:0 0 clamp(34px,5vw,64px);
  padding:clamp(20px,3vw,32px);
  border:1px solid var(--cp-stroke); border-radius:26px;
  background:linear-gradient(125deg,rgba(139,67,168,.075),rgba(255,255,255,.018) 56%,rgba(18,180,214,.05));
  box-shadow:0 25px 65px rgba(0,0,0,.18);
  overflow:hidden;
}
#csb-catalog .csb-partners-heading {
  display:flex; justify-content:space-between; align-items:end; flex-wrap:wrap; gap:16px;
  margin:0 0 22px;
}
#csb-catalog .csb-partners-overline {display:block;color:var(--cp-cyan);font-size:10px;letter-spacing:.18em;font-weight:800;}
#csb-catalog .csb-partners-heading h2 { margin:8px 0 0; font-size:clamp(22px,2.6vw,32px); line-height:1.18; letter-spacing:-.04em; color:var(--cp-white); }
#csb-catalog .csb-partners-heading h2 em {font-style:normal;color:#d3a1df;}
#csb-catalog .csb-partners-disclosure {
  color:var(--cp-muted); border:1px solid var(--cp-stroke);
  padding:8px 12px; border-radius:999px; font-size:11px;
}
#csb-catalog .csb-partners-featured, #csb-catalog .csb-partners-card { min-width:0; }
#csb-catalog .csb-partners-media {
  display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px;
  align-items:start; margin-top:18px;
}
#csb-catalog .csb-partners-media .csb-sponsored-media {
  max-width:100%; width:100%; min-width:0; margin:0;
}
#csb-catalog .csb-partners-media .csb-sponsored-media__player video {width:100%;max-width:100%;max-height:245px;}
#csb-catalog .csb-partners-media .csb-sponsored-media__audio-art {min-height:90px;}
#csb-catalog .csb-partners-card {margin-top:18px;max-width:600px;}
#csb-catalog .csb-partners :is(.csb-public-ad,.csb-sponsored-media) {margin-top:0;margin-bottom:0;}

/* RECHERCHE + FILTRES — jamais d'éléments géants. */
#csb-catalog .csb-search-zone {position:relative; z-index:2; width:100%; margin:0 0 clamp(35px,5vw,62px); scroll-margin-top:30px;}
#csb-catalog .csb-filters {
  display:grid!important; grid-template-columns:minmax(0,1fr) minmax(180px,.36fr) auto;
  gap:12px; align-items:stretch;
  width:100%; margin:0; padding:12px;
  border:1px solid var(--cp-stroke); border-radius:21px;
  background:rgba(255,255,255,.04);
  box-shadow:0 16px 45px rgba(0,0,0,.16);
  backdrop-filter:blur(15px); -webkit-backdrop-filter:blur(15px);
}
#csb-catalog .csb-search-field,
#csb-catalog .csb-select-field {
  position:relative; display:flex!important; align-items:center; gap:11px;
  min-width:0; min-height:50px; padding:0 14px;
  border:1px solid rgba(255,255,255,.11);border-radius:13px;
  background:rgba(7,7,12,.66); color:var(--cp-muted);
  transition:border-color .3s ease, background .3s ease;
}
#csb-catalog .csb-search-field:focus-within,#csb-catalog .csb-select-field:focus-within {border-color:rgba(18,180,214,.55);background:rgba(7,7,12,.83);}
#csb-catalog .csb-search-field input,
#csb-catalog .csb-select-field select {
  display:block; flex:1; width:100%; min-width:0; min-height:48px;
  margin:0; padding:0; border:0; border-radius:0;
  outline:none; background:transparent; box-shadow:none;
  color:var(--cp-white); font-size:14px; line-height:1.4;
}
#csb-catalog .csb-search-field input::placeholder {color:#8f8b9b;opacity:1;}
#csb-catalog .csb-select-field select { appearance:none; -webkit-appearance:none; padding-right:10px; cursor:pointer; }
#csb-catalog .csb-select-field option {background:#17131e;color:#fff;}
#csb-catalog .csb-filters .csb-submit {min-height:50px;white-space:nowrap;}
#csb-catalog .csb-submit.is-loading {opacity:.75;cursor:wait;}
#csb-catalog .csb-active-filters {display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:13px 0 0;}
#csb-catalog .csb-chip {display:inline-flex;gap:5px;padding:8px 11px;border-radius:999px;background:rgba(139,67,168,.14);border:1px solid rgba(139,67,168,.22);color:var(--cp-soft);font-size:12px;}
#csb-catalog .csb-chip strong {color:#fff;font-weight:750;}
#csb-catalog .csb-reset {display:inline-flex;align-items:center;gap:7px;margin-left:auto;color:var(--cp-cyan);font-size:12px;font-weight:700;}
#csb-catalog .csb-reset:hover {color:#b1edfa;}
#csb-catalog .csb-reset .csb-icon {width:15px!important;height:15px!important;flex-basis:15px;}

/* COLLECTION — grille ou liste, sans déplacement des boutons favoris. */
#csb-catalog .csb-results {position:relative;width:100%;min-width:0;scroll-margin-top:40px;}
#csb-catalog .csb-toolbar {display:flex!important;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:20px 28px;margin:0 0 24px;}
#csb-catalog .csb-toolbar h2 {margin:8px 0 7px;color:var(--cp-white);font-size:clamp(32px,4vw,50px);font-weight:850;letter-spacing:-.055em;line-height:1.12;}
#csb-catalog .csb-toolbar h2 span {color:var(--cp-pink);}
#csb-catalog .csb-result-count {margin:0;color:var(--cp-muted);font-size:13px;}
#csb-catalog .csb-tools {display:flex;align-items:center;flex-wrap:wrap;gap:12px;}
#csb-catalog .csb-favorites-filter {
  display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:10px 14px;
  border:1px solid var(--cp-stroke);border-radius:12px;
  color:var(--cp-soft);background:rgba(255,255,255,.05);font-size:12px;font-weight:700;
  transition:border-color .25s, background .25s, transform .25s;
}
#csb-catalog .csb-favorites-filter:hover {border-color:rgba(234,91,120,.4);transform:translateY(-2px);}
#csb-catalog .csb-favorites-filter[aria-pressed="true"] {background:rgba(234,91,120,.16);color:#ffd2de;border-color:rgba(234,91,120,.44);}
#csb-catalog [data-saved-count] {display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:999px;background:rgba(255,255,255,.12);font-size:10px;}
#csb-catalog .csb-view-switch {display:flex;gap:4px;padding:4px;border:1px solid var(--cp-stroke);border-radius:12px;background:rgba(255,255,255,.045);}
#csb-catalog .csb-view-switch button {display:grid;place-items:center;width:35px;height:35px;border:0;border-radius:9px;background:transparent;color:var(--cp-muted);}
#csb-catalog .csb-view-switch button[aria-pressed="true"] {background:rgba(139,67,168,.32);color:#fff;}
#csb-catalog .csb-grid {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:clamp(16px,2.2vw,24px);}
#csb-catalog .csb-card {
  position:relative;isolation:isolate;min-width:0;height:100%;margin:0;
  overflow:hidden;border:1px solid var(--cp-stroke);border-radius:21px;
  background:
    radial-gradient(circle at var(--mouse-x,90%) var(--mouse-y,0%),rgba(139,67,168,.12),transparent 45%),
    linear-gradient(160deg,#17141f,#111018 70%);
  box-shadow:0 15px 43px rgba(0,0,0,.13);
  transition:border-color .38s,transform .45s var(--cp-ease),box-shadow .45s;
}
#csb-catalog .csb-card:hover {border-color:rgba(139,67,168,.45);box-shadow:0 23px 65px rgba(0,0,0,.26);transform:translateY(-5px);}
#csb-catalog .csb-card-link {display:flex!important;flex-direction:column;align-items:stretch;width:100%;height:100%;min-width:0;color:inherit;}
#csb-catalog .csb-card-media {position:relative;display:block;flex:0 0 auto;width:100%;aspect-ratio:16/11;overflow:hidden;background:#1d1825;}
#csb-catalog .csb-card-media img {display:block!important;width:100%!important;height:100%!important;max-width:none;object-fit:cover;transition:transform .65s var(--cp-ease);}
#csb-catalog .csb-card:hover .csb-card-media img {transform:scale(1.06);}
#csb-catalog .csb-media-label {position:absolute;left:13px;bottom:13px;display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(7,7,13,.74);color:#f3f1fc;font-size:10px;letter-spacing:.1em;font-weight:850;backdrop-filter:blur(8px);}
#csb-catalog .csb-media-label .csb-icon {width:15px!important;height:15px!important;flex-basis:15px;}
#csb-catalog .csb-card-open {position:absolute;bottom:13px;right:13px;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(12,12,20,.68);color:#fff;}
#csb-catalog .csb-card-body {display:flex;flex:1;flex-direction:column;min-width:0;gap:10px;padding:20px 20px 21px;}
#csb-catalog .csb-card-body .csb-kicker {font-size:9px;}
#csb-catalog .csb-card-body h3 {margin:0;color:var(--cp-white);font-size:clamp(17px,1.7vw,21px);line-height:1.3;font-weight:820;letter-spacing:-.035em;overflow-wrap:anywhere;}
#csb-catalog .csb-card-body p {margin:0;color:var(--cp-muted);font-size:13px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
#csb-catalog .csb-card-footer {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:15px;border-top:1px solid rgba(255,255,255,.09);color:#e4b8ec;font-size:12px;font-weight:800;}
#csb-catalog .csb-card-footer svg.csb-icon {width:17px!important;height:17px!important;flex-basis:17px;}
#csb-catalog .csb-favorite {
  position:absolute;z-index:2;top:13px;right:13px;display:grid;place-items:center;
  width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.18);
  border-radius:12px;background:rgba(9,9,15,.75);color:#fff;backdrop-filter:blur(12px);
  transition:color .25s,background .25s,transform .25s;
}
#csb-catalog .csb-favorite:hover {transform:scale(1.08);background:rgba(234,91,120,.22);}
#csb-catalog .csb-favorite[aria-pressed="true"] {color:#ff86a9;background:rgba(234,91,120,.22);border-color:rgba(234,91,120,.43);}
#csb-catalog .csb-favorite svg.csb-icon {width:19px!important;height:19px!important;flex-basis:19px;}

/* Mode liste conservé : la carte entière reste un lien, le cœur est séparé. */
#csb-catalog .csb-grid[data-view="list"] {grid-template-columns:minmax(0,1fr);gap:15px;}
#csb-catalog .csb-grid[data-view="list"] .csb-card {min-height:175px;}
#csb-catalog .csb-grid[data-view="list"] .csb-card-link {display:grid!important;grid-template-columns:minmax(150px,220px) minmax(0,1fr);min-height:175px;}
#csb-catalog .csb-grid[data-view="list"] .csb-card-media {height:100%;aspect-ratio:auto;}
#csb-catalog .csb-grid[data-view="list"] .csb-card-body {padding:22px 66px 22px 23px;}
#csb-catalog .csb-grid[data-view="list"] .csb-card-body p {-webkit-line-clamp:2;}

/* États vides */
#csb-catalog .csb-empty {display:flex;flex-direction:column;align-items:center;gap:13px;text-align:center;margin:18px auto 0;padding:42px 24px;border:1px dashed rgba(255,255,255,.16);border-radius:21px;background:rgba(255,255,255,.02);color:var(--cp-muted);}
#csb-catalog .csb-empty-icon {display:grid;place-items:center;width:60px;height:60px;border-radius:19px;background:rgba(139,67,168,.17);color:#dca8e9;}
#csb-catalog .csb-empty-icon .csb-icon {width:25px!important;height:25px!important;max-width:25px!important;max-height:25px!important;flex-basis:25px;}
#csb-catalog .csb-empty h3 {margin:0;color:var(--cp-white);font-size:21px;letter-spacing:-.03em;}
#csb-catalog .csb-empty p {margin:0;max-width:470px;font-size:13px;line-height:1.6;}
#csb-catalog .csb-empty .csb-button {margin-top:6px;}
#csb-catalog .csb-catalog-footer {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:26px 0 0;margin-top:clamp(45px,6vw,82px);border-top:1px solid var(--cp-stroke);color:var(--cp-muted);}
#csb-catalog .csb-catalog-footer > span {font-size:12px;font-weight:900;letter-spacing:.18em;background:var(--cp-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
#csb-catalog .csb-catalog-footer p {margin:0;font-size:12px;}
#csb-catalog .csb-toast {position:fixed;z-index:30;left:50%;bottom:23px;max-width:min(420px,calc(100% - 30px));padding:13px 18px;border:1px solid rgba(255,255,255,.17);border-radius:13px;background:rgba(23,18,32,.94);color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.4);font-size:13px;opacity:0;pointer-events:none;transform:translate(-50%,14px);transition:opacity .25s,transform .25s;}
#csb-catalog .csb-toast.is-visible {opacity:1;transform:translate(-50%,0);}

/* Animation non bloquante : le contenu n'est jamais caché en attendant JS. */
#csb-catalog .csb-reveal {opacity:1;transform:none;}
#csb-catalog .csb-reveal.is-visible {animation:cp-appear .72s var(--cp-ease) both;}
#csb-catalog .csb-partners.is-in-view {animation:cp-appear .72s var(--cp-ease) both;}
@keyframes cp-appear {from{opacity:.6;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* RESPONSIVE */
@media (max-width: 1060px) {
  #csb-catalog .csb-hero {padding:36px;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);min-height:380px;}
  #csb-catalog .csb-hero-copy h1 {font-size:clamp(42px,5vw,62px);}
  #csb-catalog .csb-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  #csb-catalog .csb-filters {grid-template-columns:minmax(0,1fr) minmax(160px,.5fr) auto;}
}
@media (max-width: 780px) {
  #csb-catalog .csb-shell {width:min(100% - 32px,1240px);padding-top:20px;}
  #csb-catalog .csb-hero {grid-template-columns:minmax(0,1fr);gap:28px;min-height:0;padding:clamp(24px,5vw,36px);margin-bottom:34px;}
  #csb-catalog .csb-hero-copy h1 {font-size:clamp(40px,8.5vw,62px);}
  #csb-catalog .csb-spotlight {max-width:460px;}
  #csb-catalog .csb-spotlight-art {max-height:250px;}
  #csb-catalog .csb-partners {padding:19px;border-radius:20px;}
  #csb-catalog .csb-partners-media {grid-template-columns:minmax(0,1fr);}
  #csb-catalog .csb-filters {grid-template-columns:minmax(0,1fr) minmax(190px,.7fr);}
  #csb-catalog .csb-filters .csb-submit {grid-column:1/-1;}
  #csb-catalog .csb-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 560px) {
  #csb-catalog .csb-shell {width:calc(100% - 24px);}
  #csb-catalog .csb-hero {border-radius:22px;padding:24px 20px;gap:25px;}
  #csb-catalog .csb-hero-copy h1 {font-size:clamp(36px,11vw,52px);}
  #csb-catalog .csb-hero-actions {align-items:stretch;}
  #csb-catalog .csb-hero-actions .csb-button {width:100%;}
  #csb-catalog .csb-stat {flex-direction:row;flex-wrap:wrap;align-items:baseline;}
  #csb-catalog .csb-spotlight-art {aspect-ratio:16/11;}
  #csb-catalog .csb-partners-heading {align-items:start;}
  #csb-catalog .csb-partners-heading h2 {font-size:23px;}
  #csb-catalog .csb-filters {grid-template-columns:minmax(0,1fr);padding:10px;}
  #csb-catalog .csb-filters .csb-submit {grid-column:auto;}
  #csb-catalog .csb-toolbar {align-items:start;}
  #csb-catalog .csb-grid {grid-template-columns:minmax(0,1fr);gap:18px;}
  #csb-catalog .csb-card-media {aspect-ratio:16/10;}
  #csb-catalog .csb-grid[data-view="list"] .csb-card-link {grid-template-columns:100px minmax(0,1fr);min-height:155px;}
  #csb-catalog .csb-grid[data-view="list"] .csb-card-media {height:100%;}
  #csb-catalog .csb-grid[data-view="list"] .csb-card-body {padding:16px 53px 16px 14px;gap:6px;}
  #csb-catalog .csb-grid[data-view="list"] .csb-card-body p {display:none;}
  #csb-catalog .csb-grid[data-view="list"] .csb-card-body h3 {font-size:16px;}
  #csb-catalog .csb-grid[data-view="list"] .csb-card-footer {padding-top:7px;font-size:11px;}
  #csb-catalog .csb-view-switch button {width:33px;height:33px;}
  #csb-catalog .csb-card-body {padding:18px;}
  #csb-catalog .csb-catalog-footer {flex-direction:column;align-items:start;}
}
@media (prefers-reduced-motion: reduce) {
  #csb-catalog *,#csb-catalog *::before,#csb-catalog *::after {
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important;
  }
  #csb-catalog[data-initialized="1"] .csb-reveal,
  #csb-catalog.csb-motion-on .csb-partners {opacity:1!important;transform:none!important;}
  #csb-catalog .csb-spotlight,#csb-catalog .csb-card:hover {transform:none!important;}
}
/* Garantit que les favoris masqués et les états vides restent masqués. */
#csb-catalog [hidden] { display:none!important; }
