/**
 * DASSOUSCAN — Fondations UI (toutes les pages publiques).
 * S’appuie sur body.dsc-site dans functions.php.
 */

:root {
  --dsc-display: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
  --dsc-body: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --dsc-ring: rgba(249, 115, 22, 0.45);
  --dsc-glow-warm: 0 20px 70px rgba(0, 0, 0, 0.45);
  --dsc-edge: rgba(255, 255, 255, 0.07);
  /* Personnaliser → Graphisme DASSOUSCAN (valeurs défaut si pas d’override inline). */
  --dsc-graphic-card-radius: 14px;
  --dsc-graphic-chapter-row-radius: 12px;

  /* Text defaults (site-wide): more vivid. */
  --dsc-text: rgba(255, 255, 255, 0.98);
  --dsc-muted: rgba(214, 220, 238, 0.88);
  --dsc-link: rgba(147, 197, 253, 0.95);
  --dsc-line: 1.7;
  --dsc-font: 16px;
}

body.dsc-site {
  font-family: var(--dsc-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-size: var(--dsc-font);
  line-height: var(--dsc-line);
  color: var(--dsc-text);
  min-height: 100vh;
  background:
    radial-gradient(1000px 520px at 12% 12%, rgba(99, 102, 241, 0.18), transparent 58%),
    radial-gradient(840px 460px at 92% 18%, rgba(244, 63, 94, 0.12), transparent 55%),
    radial-gradient(760px 520px at 42% 92%, rgba(16, 185, 129, 0.07), transparent 55%),
    #050508;
  background-attachment: fixed;
}

body.dsc-site h1,
body.dsc-site h2,
body.dsc-site h3,
body.dsc-site .section-head h2 {
  font-family: var(--dsc-display);
  letter-spacing: -0.02em;
  color: var(--dsc-text);
}

body.dsc-site ::selection {
  background: rgba(249, 115, 22, 0.38);
  color: #fff;
}

/* Global text + links */
body.dsc-site :where(p, li, blockquote) {
  line-height: var(--dsc-line);
  color: var(--dsc-text);
}

body.dsc-site :where(small, .muted, .meta, .meta-line) {
  color: var(--dsc-muted);
}

/* Make common titles pop a bit more */
body.dsc-site :where(.section-title, .featured-title, .chapter-label, .name, h1, h2, h3) {
  color: var(--dsc-text);
  text-shadow: 0 10px 26px rgba(0, 0, 0, 0.35);
}

body.dsc-site a {
  color: var(--dsc-link);
  text-decoration: none;
}

body.dsc-site a:hover {
  text-decoration: underline;
}

/* Keep these classes harmless if present (no UI needed). */
:root.dsc-font--normal { --dsc-font: 16px; }
:root.dsc-font--large { --dsc-font: 18px; }
:root.dsc-font--xlarge { --dsc-font: 20px; }
:root.dsc-contrast { --dsc-text: rgba(255, 255, 255, 0.98); --dsc-muted: rgba(230, 232, 244, 0.92); }

body.dsc-site :where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--dsc-ring);
  outline-offset: 2px;
}

body.dsc-site img {
  max-width: 100%;
  height: auto;
}

@media (prefers-reduced-motion: no-preference) {
  body.dsc-site :where(a, button, .btn, .menu-pill, .account-btn, .dsc-front-manga-form__btn, .dsc-info__btn, .dsc-about__btn, .dsc-site-header__link) {
    transition:
      color 0.18s ease,
      border-color 0.18s ease,
      background 0.22s ease,
      box-shadow 0.22s ease,
      transform 0.18s ease;
  }
}

/* Pages « Statut » : ambiance plein écran derrière la carte */
@supports selector(:has(*)) {
  body.dsc-site:has(main.dsc-statut-page) {
    min-height: 100vh;
    background:
      radial-gradient(1000px 520px at 12% 12%, rgba(99, 102, 241, 0.22), transparent 58%),
      radial-gradient(840px 460px at 92% 18%, rgba(244, 63, 94, 0.14), transparent 55%),
      radial-gradient(760px 520px at 42% 92%, rgba(16, 185, 129, 0.08), transparent 55%),
      #050508;
  }
}

/* — Graphisme (Customizer : dsc-graphic-density--*, dsc-graphic-radius--* injecte aussi les variables rayon) */

body.dsc-site.dsc-graphic-density--compact .featured-meta {
  padding: 9px 9px 10px;
}

body.dsc-site.dsc-graphic-density--compact .featured-title {
  font-size: 14px;
  margin-bottom: 8px;
}

body.dsc-site.dsc-graphic-density--compact .grid .featured-title {
  font-size: 11px;
}

body.dsc-site.dsc-graphic-density--compact .chapter-item {
  padding: 7px 9px;
  gap: 6px 10px;
}

body.dsc-site.dsc-graphic-density--compact .chapter-label {
  font-size: 12px;
}

body.dsc-site.dsc-graphic-density--compact .chapter-release {
  font-size: 10px;
}

body.dsc-site.dsc-graphic-density--compact .chapter-release__date {
  font-size: 10px;
}

body.dsc-site.dsc-graphic-density--compact .chapter-release__time {
  font-size: 9px;
}

body.dsc-site.dsc-graphic-density--compact .chapter-badge {
  font-size: 8px;
  padding: 2px 5px;
}

body.dsc-site.dsc-graphic-density--compact .chapter-date {
  font-size: 11px;
}

body.dsc-site.dsc-graphic-density--compact .chapter-date--secondary {
  font-size: 10px;
}

body.dsc-site.dsc-graphic-density--compact .dsc-manga-card__tag {
  font-size: 9px;
  padding: 2px 7px;
}

body.dsc-site.dsc-graphic-density--readable .featured-meta {
  padding: 12px 11px 14px;
}

body.dsc-site.dsc-graphic-density--readable .featured-title {
  font-size: 17px;
  margin-bottom: 11px;
}

body.dsc-site.dsc-graphic-density--readable .grid .featured-title {
  font-size: 13px;
}

body.dsc-site.dsc-graphic-density--readable .chapter-item {
  padding: 10px 12px;
  gap: 9px 14px;
}

body.dsc-site.dsc-graphic-density--readable .chapter-label {
  font-size: 14px;
}

body.dsc-site.dsc-graphic-density--readable .chapter-release {
  font-size: 12px;
}

body.dsc-site.dsc-graphic-density--readable .chapter-release__date {
  font-size: 12px;
}

body.dsc-site.dsc-graphic-density--readable .chapter-release__time {
  font-size: 11px;
}

body.dsc-site.dsc-graphic-density--readable .chapter-badge {
  font-size: 10px;
  padding: 3px 8px;
}

body.dsc-site.dsc-graphic-density--readable .chapter-date {
  font-size: 13px;
}

body.dsc-site.dsc-graphic-density--readable .chapter-date--secondary {
  font-size: 12px;
}

body.dsc-site.dsc-graphic-density--readable .dsc-manga-card__tag {
  font-size: 11px;
  padding: 4px 9px;
}

@media (min-width: 900px) {
  body.dsc-site.dsc-graphic-density--compact .featured-title {
    font-size: 13px;
  }

  body.dsc-site.dsc-graphic-density--compact .chapter-label {
    font-size: 11px;
  }

  body.dsc-site.dsc-graphic-density--readable .featured-title {
    font-size: 15px;
  }

  body.dsc-site.dsc-graphic-density--readable .chapter-label {
    font-size: 13px;
  }
}
