/*
Theme Name: DASSOUSCAN
Theme URI: https://local.das/
Author: DASSOUSCAN
Description: Thème manga aligné sur les maquettes HTML (accueil, fiche manga, inscription, profil). Utilise les assets copiés depuis /maquette et les images depuis /image à la racine du site.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: dassouscan
*/

/* Les styles détaillés sont chargés par page dans functions.php (home.css, manga-page.css, etc.). */

/* ------------------------------------------------------------------------
 * Fond global sombre (jamais de blanc).
 *
 * Appliqué sur :root, html ET body pour éviter tout flash blanc :
 *   - avant que le CSS spécifique de page (home.css / manga-page.css / …) ne soit appliqué,
 *   - sur les pages WordPress qui ne chargent aucun de ces fichiers (404, search, login custom…),
 *   - sur la marge externe au flux principal (zone visible au scroll élastique).
 *
 * Le motif SVG est posé en pattern subtil et les halos colorés ajoutent
 * de la chaleur. La couleur de base ne doit jamais être plus claire que --dsc-bg.
 * ------------------------------------------------------------------------ */
:root {
	--dsc-bg: #0c0815;
	--dsc-bg-pattern: url("assets/images/bg-pattern.svg");
}

html {
	background: var(--dsc-bg);
}

body {
	background-color: var(--dsc-bg);
	color: #f6f7fc;
}

/* Pages publiques DASSOUSCAN (body.dsc-site) : motif + halos par-dessus la couleur de base. */
body.dsc-site {
	background:
		var(--dsc-bg-pattern) 0 0 / 56px 56px repeat,
		radial-gradient(900px 480px at 12% 10%, rgba(168, 85, 247, 0.16), transparent 55%),
		radial-gradient(820px 440px at 92% 18%, rgba(244, 63, 94, 0.12), transparent 50%),
		radial-gradient(640px 380px at 50% 100%, rgba(34, 211, 238, 0.06), transparent 50%),
		var(--dsc-bg);
	background-attachment: fixed, fixed, fixed, fixed, scroll;
}

/* Sur mobile, `background-attachment: fixed` provoque des saccades de scroll
 * sur iOS Safari et les écrans low-end. On bascule en `scroll` partout en
 * dessous de 1024 px pour préserver les FPS sans dégrader le rendu. */
@media (max-width: 1024px) {
	body.dsc-site {
		background-attachment: scroll, scroll, scroll, scroll, scroll;
	}
}

/* Respecte les utilisateurs qui demandent moins d'animations / d'effets. */
@media (prefers-reduced-motion: reduce) {
	body.dsc-site {
		background-attachment: scroll, scroll, scroll, scroll, scroll;
	}
}

.dsc-logo-fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: linear-gradient(140deg, #ff1f3f, #ff9500);
	font-weight: 900;
	font-size: 14px;
	color: #fff;
}

.genre-more-toggle {
	flex-shrink: 0;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: rgba(16, 17, 26, 0.55);
	color: rgba(240, 242, 250, 0.92);
	padding: 8px 10px;
	font-size: 11px;
	cursor: pointer;
	font-weight: 800;
}

.genre-more-toggle:hover {
	border-color: rgba(255, 31, 63, 0.35);
}

.quick-strip .pill.genre-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: inherit;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.dsc-chapter-reader {
	padding: 24px 16px 48px;
	max-width: min(900px, 96vw);
	margin: 0 auto;
}

.dsc-chapter-content img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	vertical-align: bottom;
}

.dsc-chapter-nav,
.dsc-chapter-nav-bottom {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 12px;
}

.dsc-chapter-nav-bottom {
	margin-top: 24px;
	justify-content: space-between;
}

.dsc-chapter-top {
	padding: 18px;
	margin-bottom: 14px;
}

#chapters-list .dsc-manga-chapter-block__title-link,
#chapters-list .chapter-row {
	width: 100%;
}

.tags a.tag {
	text-decoration: none;
	color: inherit;
}

