/*
 OuiCode v223 — Univers OuiCode malin sur les 6 pages ressources.
 100% optique : aucune donnée, aucun script de lecteur, aucune règle d'accès modifiée.
 */
body.oc-malin-subpage {
  --oc-m-purple-deep: #1b0d3c;
  --oc-m-purple-ink: #28174c;
  --oc-m-violet: #7835d4;
  --oc-m-fuchsia: #c168ea;
  --oc-m-lavender: #f0e4ff;
  --oc-m-outline: #e3cdfa;
  background: #f8f4ff;
}
/* Un seul décor commun à la sous-bibliothèque; en-tête et pied du site intacts. */
body.oc-malin-subpage .oc-body-wrap {
  background:
    radial-gradient(ellipse at 4% 34%, rgba(176,115,255,.11), transparent 34%),
    radial-gradient(ellipse at 97% 71%, rgba(223,143,243,.13), transparent 35%),
    linear-gradient(180deg,#f1e9ff 0%,#faf7ff 42%,#f7f2ff 100%);
}
body.oc-malin-subpage .oc-page-header.oc-pdf-header,
body.oc-malin-subpage .oc-page-header.oc-mindmap-header,
body.oc-malin-subpage .oc-page-header.oc-resource-header,
body.oc-malin-subpage .oc-page-header.oc-videos-header {
  background:
    radial-gradient(ellipse at 15% 14%,rgba(180,106,255,.38) 0%,transparent 44%),
    radial-gradient(ellipse at 92% 89%,rgba(233,117,247,.24) 0%,transparent 40%),
    linear-gradient(128deg,#170a35 0%,#3b1a7a 55%,#25104f 100%);
  border-bottom: 1px solid rgba(207,158,255,.4);
  box-shadow: 0 16px 30px rgba(49,20,107,.10);
  isolation: isolate;
}
body.oc-malin-subpage .oc-page-header::before {
  background: radial-gradient(circle,rgba(186,134,255,.37) 0%,transparent 70%);
  pointer-events:none;
}
body.oc-malin-subpage .oc-page-header.oc-resource-header::after {
  background: rgba(221,188,255,.09);
  box-shadow: 0 0 0 65px rgba(194,146,255,.04),0 0 0 120px rgba(194,146,255,.035);
}
body.oc-malin-subpage .oc-page-header h1 {
  color: #fff;
  text-shadow: 0 8px 28px rgba(0,0,0,.20);
}
body.oc-malin-subpage .oc-page-header p,
body.oc-malin-subpage .oc-page-header .oc-resource-hero-grid > div > p,
body.oc-malin-subpage .oc-page-header .oc-breadcrumbs {
  color:#eee1ff;
}
body.oc-malin-subpage .oc-page-header .oc-breadcrumbs a {
  color:#efb9ff;
  text-decoration-color:rgba(237,185,255,.65);
}
body.oc-malin-subpage .oc-page-header .oc-breadcrumbs a:hover {color:#fff;}
body.oc-malin-subpage .oc-page-header .oc-hero-badge-top {
  color:#f8eeff;
  background:rgba(221,187,255,.16);
  border:1px solid rgba(228,196,255,.40);
  box-shadow:0 9px 28px rgba(14,4,43,.16);
}
body.oc-malin-subpage .oc-page-header .oc-hero-badge-top .oc-star {
  background:rgba(205,160,255,.20);
}
body.oc-malin-subpage .oc-page-header .oc-pdf-chip {
  background:rgba(221,189,255,.15);
  border-color:rgba(235,212,255,.43);
  color:#fff;
  box-shadow:0 7px 22px rgba(9,2,37,.1);
  backdrop-filter:blur(6px);
}
/* Encadré de démarrage: verre clair et textes lisibles sur fond foncé. */
body.oc-malin-subpage .oc-page-header .oc-pdf-hero-card {
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(244,234,255,.96));
  border:1px solid rgba(236,205,255,.85);
  color:#261447;
  box-shadow:0 18px 42px rgba(8,2,37,.23),0 0 0 1px rgba(255,255,255,.20);
}
body.oc-malin-subpage .oc-page-header .oc-pdf-hero-card h3 {color:#341568;}
body.oc-malin-subpage .oc-page-header .oc-pdf-hero-card p {color:#5e5071;}
body.oc-malin-subpage .oc-page-header .oc-pdf-hero-card-icon {
  background:linear-gradient(140deg,#f0ddff,#e8d2ff);
  box-shadow:0 7px 17px rgba(112,55,193,.12);
}
/* Boutons / survol / focus cohérents avec la page mère OuiCode malin. */
@keyframes ocMalinSubPulse {
  0%,100% {box-shadow:0 9px 25px rgba(116,47,198,.31),0 0 0 0 rgba(182,116,255,.4)}
  50% {box-shadow:0 11px 28px rgba(116,47,198,.32),0 0 0 8px rgba(182,116,255,0)}
}
@keyframes ocMalinSubShine {
  0%,25% {transform:translateX(-240%) skewX(-22deg);opacity:0}
  35% {opacity:.75}
  60% {transform:translateX(420%) skewX(-22deg);opacity:.0}
  100% {transform:translateX(420%) skewX(-22deg);opacity:0}
}
body.oc-malin-subpage .oc-btn-warm,
body.oc-malin-subpage .oc-pdf-btn-primary,
body.oc-malin-subpage .oc-videos-filter.is-active {
  background:linear-gradient(112deg,#6c2bc3 0%,#a94fe9 52%,#7f3aca 100%);
  color:#fff;
  border-color:#9c58e7;
}
body.oc-malin-subpage .oc-btn-warm,
body.oc-malin-subpage .oc-pdf-btn-primary {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  animation:ocMalinSubPulse 3s ease-in-out infinite;
}
body.oc-malin-subpage .oc-btn-warm::after,
body.oc-malin-subpage .oc-pdf-btn-primary::after {
  content:"";
  position:absolute;
  z-index:1;
  pointer-events:none;
  left:-35%;top:-30%;width:28%;height:160%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),rgba(242,211,255,.36),transparent);
  transform:translateX(-240%) skewX(-22deg);
  animation:ocMalinSubShine 4.6s ease-in-out infinite;
}
body.oc-malin-subpage .oc-btn-warm:hover,
body.oc-malin-subpage .oc-pdf-btn-primary:hover {
  color:#fff;
  animation:none;
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(116,47,198,.40);
}
body.oc-malin-subpage .oc-btn-soft,
body.oc-malin-subpage .oc-pdf-btn-secondary {
  color:#6129aa;
  background:#f1e6ff;
  border:1px solid #dbc1fb;
  box-shadow:0 6px 16px rgba(91,46,155,.10);
  animation:none;
}
body.oc-malin-subpage .oc-btn-soft:hover,
body.oc-malin-subpage .oc-pdf-btn-secondary:hover {
  color:#4b1b96;
  background:#e5d0fa;
  border-color:#bd91ef;
  box-shadow:0 10px 20px rgba(91,46,155,.18);
}
body.oc-malin-subpage :is(a,button):focus-visible {
  outline:3px solid #c66fff;
  outline-offset:3px;
}
/* Sous-sections: fond lavande et petites pilules. */
body.oc-malin-subpage .oc-body-wrap .oc-section-sm {
  background:transparent;
}
body.oc-malin-subpage :is(.oc-mindmap-kicker,.oc-pdf-theme-kicker,.oc-videos-overline) {color:#8740cc;}
body.oc-malin-subpage :is(.oc-resource-section-head,.oc-mindmap-section-head,.oc-videos-catalog-title,.oc-pdf-theme-head) h2 {color:#2d1c51;}
body.oc-malin-subpage :is(.oc-resource-section-head,.oc-mindmap-section-head,.oc-videos-catalog-title,.oc-pdf-theme-head) p {color:#6a5b81;}
body.oc-malin-subpage :is(.oc-resource-count,.oc-videos-catalog-title .oc-resource-count) {
  color:#692eb4;
  border-color:#dfc9f8;
  background:#f3eaff;
}
/* Fiches mémoire : navigation, catégories, cartes PDF. */
body.oc-malin-subpage .oc-pdf-theme-nav a {
  color:#542491;
  border-color:#e1c6fa;
  background:#fff;
  box-shadow:0 5px 14px rgba(97,46,162,.08);
}
body.oc-malin-subpage .oc-pdf-theme-nav a:hover,
body.oc-malin-subpage .oc-pdf-theme-nav a:focus-visible {color:#fff;background:#803bcf;border-color:#803bcf;}
body.oc-malin-subpage .oc-pdf-theme-nav a span {color:#742eb9;background:#eee0ff;}
body.oc-malin-subpage .oc-pdf-theme-nav a:hover span {background:rgba(255,255,255,.17);color:#fff;}
body.oc-malin-subpage .oc-pdf-theme-section {
  background:linear-gradient(158deg,#fff,#fbf7ff);
  border-color:#e3cefb;
  box-shadow:0 13px 34px rgba(70,34,134,.10);
}
body.oc-malin-subpage .oc-pdf-backtop {color:#7932c0;}
body.oc-malin-subpage :is(.oc-pdf-card,.oc-mindmap-card,.oc-resource-card,.oc-videos-card) {
  background:#fff;
  border-color:#e4d3f8;
  box-shadow:0 8px 26px rgba(73,34,136,.09);
}
body.oc-malin-subpage :is(.oc-pdf-card,.oc-mindmap-card,.oc-resource-card,.oc-videos-card):hover {
  border-color:#be93f0;
  box-shadow:0 14px 34px rgba(91,43,161,.17);
}
body.oc-malin-subpage :is(.oc-pdf-theme-mini,.oc-pdf-subject-label,.oc-pdf-preview-pill,.oc-pdf-meta span) {
  color:#682cae;
  background:#f0e5ff;
}
body.oc-malin-subpage .oc-pdf-card h3,
body.oc-malin-subpage .oc-mindmap-card h3 {color:#28194b;}
/* Cartes mentales. */
body.oc-malin-subpage .oc-mindmap-number {color:#8036c4;}
body.oc-malin-subpage .oc-mindmap-thumb-link {background:#f6efff;}
/* Séries erreurs / astuces / pièges : les aperçus restent inchangés. */
body.oc-malin-subpage .oc-resource-card-top {
  background:linear-gradient(100deg,#f0e5ff,#fbf8ff);
  border-bottom:1px solid #e2c9fc;
}
body.oc-malin-subpage .oc-resource-card-top span:first-child {color:#51258f;}
body.oc-malin-subpage .oc-resource-card-top span:last-child {color:#8c4bbf;}
body.oc-malin-subpage .oc-resource-thumb-button {background:#f7f0ff;}
body.oc-malin-subpage .oc-resource-zoom {
  background:rgba(246,232,255,.95);
  color:#59279d;
  border:1px solid rgba(172,104,245,.35);
}
body.oc-malin-subpage .oc-resource-lightbox {background:rgba(18,8,49,.95);}
/* Vidéos: encadrement lecteur, filtres, lecture courante et sélection. */
body.oc-malin-subpage .oc-videos-featured,
body.oc-malin-subpage .oc-videos-locked-hero {
  background:linear-gradient(150deg,#fff,#f7efff);
  border-color:#dbc2f7;
  box-shadow:0 17px 42px rgba(67,29,131,.12);
}
body.oc-malin-subpage .oc-videos-screen {background:#180c36;border:2px solid #7841c0;box-shadow:0 12px 26px rgba(47,17,88,.18);}
body.oc-malin-subpage .oc-videos-screen video {background:#180c36;}
body.oc-malin-subpage .oc-videos-current h2 {color:#301755;}
body.oc-malin-subpage .oc-videos-current p {color:#635473;}
body.oc-malin-subpage .oc-videos-current-count,
body.oc-malin-subpage .oc-videos-current-duration,
body.oc-malin-subpage .oc-videos-locked-icon {color:#6430aa;background:#eee0ff;}
body.oc-malin-subpage .oc-videos-current-tip {color:#78658a!important;}
body.oc-malin-subpage .oc-videos-filter {color:#5b338f;background:#fff;border-color:#ddc5f8;}
body.oc-malin-subpage .oc-videos-filter:hover {border-color:#a56bdb;background:#f4ebff;}
body.oc-malin-subpage .oc-videos-filter.is-active {color:#fff;border-color:#a05cdb;box-shadow:0 7px 18px rgba(124,50,212,.19);}
body.oc-malin-subpage .oc-videos-card.is-selected {border:2px solid #954adf;box-shadow:0 11px 30px rgba(124,50,212,.19);}
body.oc-malin-subpage .oc-videos-thumb {background:linear-gradient(135deg,#1c0c41,#4b2386);}
body.oc-malin-subpage .oc-videos-play-icon {background:rgba(94,37,171,.91);border-color:#e8c6ff;}
body.oc-malin-subpage .oc-videos-card-number,
body.oc-malin-subpage .oc-videos-card-cta {color:#8037c5;}
body.oc-malin-subpage .oc-videos-card-text strong {color:#2c194d;}
body.oc-malin-subpage .oc-videos-card-desc {color:#69597b;}
/* Mobilité et confort pour tous les écrans. Les grilles natives restent intactes. */
@media(max-width:700px) {
  body.oc-malin-subpage .oc-page-header.oc-pdf-header,
  body.oc-malin-subpage .oc-page-header.oc-resource-header,
  body.oc-malin-subpage .oc-page-header.oc-mindmap-header,
  body.oc-malin-subpage .oc-page-header.oc-videos-header {padding-top:40px;padding-bottom:42px;}
  body.oc-malin-subpage .oc-page-header .oc-pdf-hero-card {padding:19px;}
  body.oc-malin-subpage .oc-page-header .oc-pdf-chip-row {gap:7px;}
  body.oc-malin-subpage .oc-page-header .oc-pdf-chip {font-size:11px;padding:7px 10px;}
  body.oc-malin-subpage .oc-pdf-theme-section {padding:16px;}
  body.oc-malin-subpage .oc-resource-count {font-size:11px;}
  body.oc-malin-subpage .oc-videos-filter {font-size:12px;padding:9px 11px;}
}
@media(prefers-reduced-motion:reduce) {
  body.oc-malin-subpage .oc-btn-warm,
  body.oc-malin-subpage .oc-pdf-btn-primary,
  body.oc-malin-subpage .oc-btn-warm::after,
  body.oc-malin-subpage .oc-pdf-btn-primary::after {animation:none!important;}
  body.oc-malin-subpage .oc-pdf-btn-primary,
  body.oc-malin-subpage .oc-btn-warm {transition:none!important;}
}
