/* ANIMYJOB COLORIATHEQUE PRODUCTION
   Scope volontairement limité à .aj-color pour éviter les conflits avec le layout historique. */
.aj-color{
  --aj-blue:#1769d1;
  --aj-blue-dark:#0d4fa9;
  --aj-blue-soft:#eef5ff;
  --aj-orange:#f97316;
  --aj-orange-soft:#fff4ea;
  --aj-purple:#7c3aed;
  --aj-purple-soft:#f4efff;
  --aj-pink:#db2777;
  --aj-ink:#172033;
  --aj-muted:#657286;
  --aj-line:#e5eaf1;
  --aj-soft:#f7f9fc;
  --aj-white:#fff;
  --aj-shadow:0 14px 40px rgba(15,23,42,.08);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--aj-ink);
  font-size:16px;
}
.aj-color *{box-sizing:border-box}
.aj-color img{max-width:100%}
.aj-color a{color:inherit}
.aj-color .aj-container{max-width:1240px;margin:0 auto;padding:0 16px}
.aj-color .aj-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.aj-color .aj-focus:focus-visible,.aj-color a:focus-visible,.aj-color button:focus-visible,.aj-color input:focus-visible,.aj-color select:focus-visible{outline:3px solid rgba(23,105,209,.26);outline-offset:2px}

/* HERO */
.aj-color .aj-hero{position:relative;overflow:hidden;margin:16px 0 20px;padding:clamp(22px,4.2vw,48px);border:1px solid #dfe7f3;border-radius:26px;background:linear-gradient(135deg,#f3f8ff 0%,#fff 52%,#fff2e8 100%)}
.aj-color .aj-hero:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-80px;top:-105px;background:radial-gradient(circle,rgba(124,58,237,.16),rgba(124,58,237,0) 70%);pointer-events:none}
.aj-color .aj-breadcrumb{position:relative;z-index:1;margin-bottom:11px;font-size:.9rem;color:var(--aj-muted)}
.aj-color .aj-hero-grid{position:relative;z-index:1;display:grid;gap:22px;align-items:center}
@media(min-width:900px){.aj-color .aj-hero-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr)}}
.aj-color .aj-kicker{display:inline-flex;align-items:center;gap:7px;margin:0 0 10px;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #dce6f3;color:#42536b;font-size:.8rem;font-weight:850;letter-spacing:.02em}
.aj-color .aj-kicker-dot{width:7px;height:7px;border-radius:99px;background:var(--aj-orange)}
.aj-color h1.aj-h1{max-width:900px;margin:0;color:#101827;font-size:clamp(1.95rem,4.5vw,3.45rem);line-height:1.03;letter-spacing:-.045em;font-weight:950}
.aj-color .aj-lead{max-width:840px;margin:14px 0 0;color:#4d5c70;font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.66}
.aj-color .aj-trust{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0 0;padding:0;list-style:none}
.aj-color .aj-trust li{display:inline-flex;gap:7px;align-items:center;padding:7px 10px;border:1px solid #dce5f1;border-radius:999px;background:rgba(255,255,255,.9);font-size:.84rem;font-weight:800;color:#40516a}
.aj-color .aj-statbox{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;border:1px solid #e2e7ef;border-radius:20px;background:rgba(255,255,255,.88);box-shadow:0 8px 24px rgba(15,23,42,.05)}
.aj-color .aj-stat{padding:13px;border-radius:15px;background:var(--aj-soft)}
.aj-color .aj-stat strong{display:block;font-size:1.45rem;letter-spacing:-.03em;color:#101827}
.aj-color .aj-stat span{font-size:.82rem;color:var(--aj-muted);font-weight:700}
.aj-color .aj-stat-wide{grid-column:1/-1;background:var(--aj-orange-soft)}
.aj-color .aj-stat-wide strong{font-size:1rem;color:#9a4510}

/* SEARCH + FILTERS */
.aj-color .aj-search-panel{margin:0 0 28px;padding:15px;border:1px solid var(--aj-line);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.055)}
.aj-color .aj-search-row{display:grid;grid-template-columns:1fr;gap:9px}
@media(min-width:760px){.aj-color .aj-search-row{grid-template-columns:minmax(280px,1.7fr) minmax(130px,.55fr) minmax(140px,.58fr) auto}}
.aj-color .aj-input,.aj-color .aj-select{width:100%;height:48px;border:1px solid #cfd8e5;border-radius:12px;background:#fff;padding:0 13px;color:#192334;font-size:16px}
.aj-color .aj-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:0 17px;border:0;border-radius:12px;font-size:.92rem;font-weight:850;text-decoration:none;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}
.aj-color .aj-btn:hover{transform:translateY(-1px)}
.aj-color .aj-btn-primary{background:var(--aj-blue);color:#fff;box-shadow:0 7px 18px rgba(23,105,209,.19)}
.aj-color .aj-btn-primary:hover{background:var(--aj-blue-dark)}
.aj-color .aj-btn-secondary{background:#fff;color:#24334a;border:1px solid #d8e0eb}
.aj-color .aj-btn-orange{background:var(--aj-orange);color:#fff}
.aj-color .aj-filter-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:9px;align-items:center;margin-top:10px}
.aj-color .aj-filter-note{font-size:.82rem;color:var(--aj-muted)}
.aj-color .aj-clear{font-size:.86rem;font-weight:800;color:var(--aj-blue-dark);text-decoration:none}

/* SECTION */
.aj-color .aj-section{margin:34px 0}
.aj-color .aj-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:15px}
.aj-color .aj-section-head h2{margin:0;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.15;letter-spacing:-.03em;color:#111827}
.aj-color .aj-section-head p{margin:5px 0 0;max-width:760px;color:var(--aj-muted);line-height:1.55;font-size:.94rem}
.aj-color .aj-count{white-space:nowrap;padding:6px 9px;border-radius:999px;background:var(--aj-soft);font-size:.78rem;font-weight:800;color:#526176}

/* THEME TILES */
.aj-color .aj-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
@media(min-width:700px){.aj-color .aj-theme-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media(min-width:1050px){.aj-color .aj-theme-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.aj-color .aj-theme{display:flex;flex-direction:column;min-height:180px;overflow:hidden;border:1px solid var(--aj-line);border-radius:18px;background:#fff;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.aj-color .aj-theme:hover{transform:translateY(-2px);border-color:#d2ddea;box-shadow:0 12px 26px rgba(15,23,42,.075)}
.aj-color .aj-theme-media{height:104px;background:linear-gradient(135deg,var(--aj-blue-soft),var(--aj-purple-soft));overflow:hidden}
.aj-color .aj-theme-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}
.aj-color .aj-theme:hover img{transform:scale(1.025)}
.aj-color .aj-theme-body{padding:11px 12px 13px}
.aj-color .aj-theme-title{display:block;font-size:.94rem;font-weight:900;line-height:1.2;color:#162033}
.aj-color .aj-theme-meta{display:block;margin-top:4px;font-size:.78rem;color:var(--aj-muted)}

/* COLLECTION CARDS */
.aj-color .aj-grid{display:grid;grid-template-columns:1fr;gap:15px}
@media(min-width:500px){.aj-color .aj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:780px){.aj-color .aj-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}}
@media(min-width:1080px){.aj-color .aj-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.aj-color .aj-card{overflow:hidden;border:1px solid var(--aj-line);border-radius:18px;background:#fff;box-shadow:0 3px 10px rgba(15,23,42,.035);transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease}
.aj-color .aj-card:hover{transform:translateY(-3px);border-color:#d4deeb;box-shadow:0 15px 32px rgba(15,23,42,.085)}
.aj-color .aj-card-link{display:block;height:100%;text-decoration:none}
.aj-color .aj-card-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#f1f4f8;border-bottom:1px solid var(--aj-line)}
.aj-color .aj-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .22s ease}
.aj-color .aj-card:hover .aj-card-media img{transform:scale(1.02)}
.aj-color .aj-card-badge{position:absolute;top:9px;left:9px;display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(16,24,39,.88);color:#fff;font-size:.69rem;font-weight:900}
.aj-color .aj-card-theme{position:absolute;right:9px;bottom:9px;max-width:72%;padding:4px 7px;border-radius:8px;background:rgba(255,255,255,.92);color:#37465a;font-size:.69rem;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aj-color .aj-card-body{padding:13px 14px 15px}
.aj-color .aj-card h3{margin:0 0 7px;font-size:1rem;line-height:1.3;font-weight:900;color:#111827;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.aj-color .aj-card p{margin:0;color:#677487;font-size:.88rem;line-height:1.48;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.aj-color .aj-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.aj-color .aj-mini{padding:4px 7px;border-radius:999px;background:var(--aj-soft);color:#556379;font-size:.69rem;font-weight:800}
.aj-color .aj-card-cta{display:inline-block;margin-top:10px;color:var(--aj-blue-dark);font-size:.86rem;font-weight:900}

/* IMAGE PREVIEW GRID */
.aj-color .aj-image-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
@media(min-width:700px){.aj-color .aj-image-preview{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1000px){.aj-color .aj-image-preview{grid-template-columns:repeat(8,minmax(0,1fr))}}
.aj-color .aj-preview-link{display:block;overflow:hidden;border:1px solid var(--aj-line);border-radius:13px;background:#fff;aspect-ratio:3/4;text-decoration:none}
.aj-color .aj-preview-link img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}

/* PAGINATION */
.aj-color .aj-paging{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin:28px 0}
.aj-color .aj-paging a,.aj-color .aj-paging span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border:1px solid #dbe2ec;border-radius:10px;background:#fff;text-decoration:none;color:#354258;font-weight:800}
.aj-color .aj-paging .current{background:var(--aj-blue);border-color:var(--aj-blue);color:#fff}
.aj-color .aj-paging .disabled{opacity:.4}
.aj-color .aj-empty{padding:26px;border:1px dashed #c9d4e2;border-radius:16px;background:var(--aj-soft);text-align:center;color:#526176}

/* EDITORIAL */
.aj-color .aj-editorial{margin:40px 0 28px;padding-top:28px;border-top:1px solid var(--aj-line);content-visibility:auto;contain-intrinsic-size:600px}
.aj-color .aj-editorial h2{margin:24px 0 8px;font-size:1.45rem;letter-spacing:-.02em;color:#182132}
.aj-color .aj-editorial h3{margin:18px 0 6px;font-size:1.08rem;color:#1e293b}
.aj-color .aj-editorial p,.aj-color .aj-editorial li{color:#56657a;line-height:1.72}
.aj-color .aj-editorial ul{padding-left:20px}
.aj-color .aj-info-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px}
@media(min-width:760px){.aj-color .aj-info-grid{grid-template-columns:repeat(3,1fr)}}
.aj-color .aj-info{padding:17px;border:1px solid var(--aj-line);border-radius:16px;background:var(--aj-soft)}
.aj-color .aj-info strong{display:block;margin-bottom:5px;color:#1d2939}
.aj-color .aj-info p{margin:0;font-size:.91rem;line-height:1.55}
.aj-color .aj-faq details{border-top:1px solid var(--aj-line);padding:13px 2px}
.aj-color .aj-faq details:last-child{border-bottom:1px solid var(--aj-line)}
.aj-color .aj-faq summary{cursor:pointer;font-weight:850;color:#1f2937}
.aj-color .aj-faq p{margin:8px 0 0}

/* ARTICLE / COLLECTION */
.aj-color .aj-collection-hero{display:grid;grid-template-columns:1fr;gap:18px;margin:18px 0 22px}
@media(min-width:880px){.aj-color .aj-collection-hero{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:start}}
.aj-color .aj-cover{overflow:hidden;border:1px solid var(--aj-line);border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.055)}
.aj-color .aj-cover img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;background:#fff}
.aj-color .aj-side{padding:22px;border:1px solid var(--aj-line);border-radius:22px;background:linear-gradient(145deg,#fff 0%,#f7faff 100%)}
.aj-color .aj-side .aj-h1{font-size:clamp(1.7rem,3.4vw,2.55rem)}
.aj-color .aj-meta-row{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}
.aj-color .aj-pill{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid #dce4ee;border-radius:999px;background:#fff;color:#4a5a70;font-size:.77rem;font-weight:850;text-decoration:none}
.aj-color .aj-intro{color:#536277;line-height:1.7}
.aj-color .aj-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:15px}
@media(min-width:520px){.aj-color .aj-actions{grid-template-columns:1fr 1fr}}
.aj-color .aj-actions .aj-btn:first-child{grid-column:1/-1}

/* GALLERY */
.aj-color .aj-gallery-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px;margin:10px 0 13px;padding:10px 12px;border:1px solid var(--aj-line);border-radius:14px;background:var(--aj-soft)}
.aj-color .aj-gallery-tools p{margin:0;color:#5c6a7d;font-size:.86rem}
.aj-color .aj-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
@media(min-width:690px){.aj-color .aj-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media(min-width:1000px){.aj-color .aj-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}
.aj-color .aj-coloring{position:relative;overflow:hidden;border:1px solid var(--aj-line);border-radius:17px;background:#fff;box-shadow:0 3px 10px rgba(15,23,42,.035)}
.aj-color .aj-coloring-link{display:flex;align-items:center;justify-content:center;aspect-ratio:3/4;padding:8px;background:#fff;text-decoration:none}
.aj-color .aj-coloring-link img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.aj-color .aj-coloring-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-top:1px solid var(--aj-line)}
.aj-color .aj-select-coloring{display:inline-flex;align-items:center;gap:6px;color:#58677c;font-size:.76rem;font-weight:800;cursor:pointer}
.aj-color .aj-select-coloring input{width:17px;height:17px;accent-color:var(--aj-blue)}
.aj-color .aj-open{border:0;background:transparent;color:var(--aj-blue-dark);font-size:.76rem;font-weight:900;cursor:pointer}

/* BOOK BAR */
.aj-color .aj-bookbar{position:sticky;bottom:10px;z-index:80;display:none;align-items:center;justify-content:space-between;gap:12px;margin:18px auto;padding:10px 12px;max-width:760px;border:1px solid #d6dfeb;border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 15px 40px rgba(15,23,42,.18);backdrop-filter:blur(8px)}
.aj-color .aj-bookbar.is-visible{display:flex}
.aj-color .aj-bookbar strong{font-size:.9rem}
.aj-color .aj-bookbar small{display:block;margin-top:2px;color:var(--aj-muted)}

/* MODAL */
.aj-color-modal{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(10,15,25,.88)}
.aj-color-modal.is-open{display:flex}
.aj-color-modal .aj-modal-card{position:relative;width:min(980px,100%);max-height:94vh;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.38)}
.aj-color-modal .aj-modal-image-wrap{display:flex;align-items:center;justify-content:center;min-height:320px;padding:12px;overflow:auto;background:#f4f6f9}
.aj-color-modal img{display:block;max-width:100%;max-height:75vh;object-fit:contain;background:#fff}
.aj-color-modal .aj-modal-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:12px;border-top:1px solid #e5eaf1;background:#fff}
.aj-color-modal .aj-modal-close{position:absolute;z-index:2;top:10px;right:10px;width:40px;height:40px;border:1px solid #dce3ed;border-radius:50%;background:#fff;color:#1f2937;font-size:1.1rem;font-weight:900;cursor:pointer;box-shadow:0 5px 16px rgba(15,23,42,.12)}

/* ADS */
.aj-color .aj-ad{margin:20px 0;min-height:1px}

@media(max-width:640px){
  .aj-color .aj-container{padding:0 12px}
  .aj-color .aj-hero{border-radius:18px;padding:21px 17px}
  .aj-color .aj-section-head{align-items:flex-start;flex-direction:column;gap:5px}
  .aj-color .aj-theme-grid{grid-template-columns:1fr 1fr}
  .aj-color .aj-theme{min-height:160px}
  .aj-color .aj-theme-media{height:92px}
  .aj-color .aj-side{padding:17px;border-radius:18px}
  .aj-color .aj-bookbar{bottom:6px;margin-left:3px;margin-right:3px}
}

@media(prefers-reduced-motion:reduce){.aj-color *,.aj-color-modal *{scroll-behavior:auto!important;transition:none!important}}

@media print{
  .aj-color .aj-search-panel,.aj-color .aj-actions,.aj-color .aj-gallery-tools,.aj-color .aj-bookbar,.aj-color .aj-ad,.aj-color .aj-related,.aj-color .aj-paging{display:none!important}
}


/* ===== COLORIATHEQUE V4.1 — équilibre hero + générateur PDF ===== */
.aj-color .aj-intro-summary{
  margin:14px 0 0;
  font-size:.98rem;
  line-height:1.65;
}
@media(min-width:880px){
  .aj-color .aj-collection-hero{
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  }
  .aj-color .aj-cover{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:360px;
  }
  .aj-color .aj-cover img{
    max-height:430px;
  }
  .aj-color .aj-side{
    min-height:360px;
    display:flex;
    flex-direction:column;
  }
  .aj-color .aj-side .aj-actions{
    margin-top:auto;
    padding-top:16px;
  }
}
.aj-color .aj-editorial-intro{
  margin-bottom:18px;
  padding-bottom:16px;
  border-bottom:1px solid var(--aj-line);
}
.aj-color .aj-bookbar-copy{
  min-width:0;
}
.aj-color .aj-book-status{
  display:block;
  min-height:1.2em;
  margin-top:3px;
  font-size:.78rem;
  color:#526174;
}
.aj-color .aj-book-status.is-error{
  color:#a61b1b;
  font-weight:800;
}
.aj-color .aj-book-status.is-success{
  color:#17603a;
  font-weight:800;
}
.aj-color .aj-bookbar-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
@media(max-width:700px){
  .aj-color .aj-bookbar{
    align-items:stretch;
    flex-direction:column;
  }
  .aj-color .aj-bookbar-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .aj-color .aj-bookbar-actions .aj-btn{
    width:100%;
  }
}
@media(max-width:430px){
  .aj-color .aj-bookbar-actions{
    grid-template-columns:1fr;
  }
}

/* Production final */
.aj-color .aj-filter-foot-end{justify-content:flex-end}
.aj-color .aj-stat-wide span{display:block;margin-top:3px;line-height:1.45}
.aj-color .aj-cover{min-height:220px}
@media(max-width:640px){
  .aj-color .aj-statbox{grid-template-columns:1fr 1fr}
  .aj-color .aj-stat-wide{grid-column:1/-1}
}
