/* =========================================================================
   MK Chapters — Lista de capítulos estilo Utoon
   Consume los tokens --mc-* de la Fase 1. Vistas lista/cuadrícula, estados
   (read / locked / owned / free / reading) y paginación.
   ========================================================================= */

.mk-chapters {
	--fg:     var(--mc-text, #fff);
	--muted:  var(--mc-text-muted, #9a9a9a);
	--card:   var(--mc-card-bg, #161616);
	--line:   rgba(var(--mc-border-rgb, 42, 42, 42), .65);
	--accent: var(--mc-primary, #7c3aed);
	color: var(--fg);
	margin-top: 8px;
}

.mk-chapters .stitle {
	font-size: 18px;
	font-weight: 820;
	letter-spacing: -.01em;
	margin: 18px 0 12px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.mk-chapters .stitle .cnt {
	font-size: 13px;
	font-weight: 700;
	color: var(--muted);
	background: rgba(var(--mc-text-rgb, 255, 255, 255), .07);
	border-radius: 999px;
	padding: 2px 10px;
}

.firstlast { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
.firstlast .btn {
	flex: 1 1 auto;
	justify-content: center;
	text-align: center;
	display: inline-flex;
	align-items: center;
	padding: 10px 16px;
	border-radius: 11px;
	border: 1px solid var(--line);
	background: var(--card);
	color: var(--fg);
	font-weight: 700;
	font-size: 13.5px;
	text-decoration: none;
}
.firstlast .btn:hover { background: rgba(var(--mc-primary-rgb, 124, 58, 237), .14); }

/* ----------------------------------------------------------------------- */
/*  Barra de herramientas                                                   */
/* ----------------------------------------------------------------------- */
.chbar {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
}
.chbar .search {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	gap: 6px;
	background: rgba(var(--mc-text-rgb, 255, 255, 255), .05);
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 0 10px;
}
.chbar .search-ic {
	background: none; border: 0; color: var(--muted);
	display: grid; place-items: center;
	padding: 9px 2px; cursor: pointer; flex: 0 0 auto;
}
.chbar #chSearch {
	flex: 1 1 auto;
	background: none;
	border: 0;
	outline: none;
	color: var(--fg);
	font-size: 14px;
	padding: 10px 4px;
	min-width: 0;
}
.sortbtn, .viewtoggle button {
	background: rgba(var(--mc-text-rgb, 255, 255, 255), .05);
	border: 1px solid var(--line);
	color: var(--fg);
	border-radius: 12px;
	cursor: pointer;
}
.sortbtn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 10px 13px;
	font-size: 13px;
	font-weight: 700;
	flex: 0 0 auto;
}
.sortbtn:hover { border-color: rgba(var(--mc-primary-rgb, 124, 58, 237), .5); }
.sortlabel { white-space: nowrap; }
@media (max-width: 520px) { .sortlabel { display: none; } }

.viewtoggle { display: flex; gap: 4px; flex: 0 0 auto; }
.viewtoggle button {
	width: 40px; height: 40px;
	display: grid; place-items: center;
	color: var(--muted);
}
.viewtoggle button.on {
	background: var(--accent);
	border-color: transparent;
	color: var(--mc-on-primary, #fff);
}

/* ----------------------------------------------------------------------- */
/*  Lista de capítulos (.clist) — vistas lista / cuadrícula                 */
/* ----------------------------------------------------------------------- */
.clist.list { display: flex; flex-direction: column; gap: 4px; }
.clist.grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	gap: 8px;
}

.crow {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 14px;
	border-radius: 12px;
	border: 1px solid var(--line);   /* caja delimitada en ambos modos */
	background: var(--card);
	color: var(--fg);
	text-decoration: none;
	transition: background .15s, border-color .15s;
}
.crow:hover { background: rgba(var(--mc-primary-rgb, 124, 58, 237), .1); border-color: var(--line); }

.crow .cnum {
	flex: 0 0 auto;
	min-width: 40px;
	font-variant-numeric: tabular-nums;
	font-weight: 750;
	color: var(--muted);
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.crow .cinfo { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.crow .ctitle {
	font-weight: 700;
	font-size: 14px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.crow .cmeta { font-size: 11.5px; color: var(--muted); }
.crow .cstate { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; }

/* Pills de estado */
.pill {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	border-radius: 999px;
	padding: 3px 9px;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
}
.pill.new   { background: var(--mc-danger, #ef4444); color: var(--mc-on-danger, #fff); }
/* VIP: badge dorado sólido para un tono premium/profesional. */
.pill.lock  {
	background: var(--mc-warning, #f59e0b);
	color: #1a1200;
	border: 0;
	text-transform: uppercase;
	letter-spacing: .04em;
	box-shadow: 0 2px 8px rgba(var(--mc-warning-rgb, 245, 158, 11), .35);
}
/* Unlocked: verde sutil (el usuario tiene acceso). */
.pill.owned { background: rgba(var(--mc-success-rgb, 34, 197, 94), .16); color: var(--mc-success, #22c55e); border: 1px solid rgba(var(--mc-success-rgb, 34, 197, 94), .45); }
.pill.live  { background: var(--accent); color: var(--mc-on-primary, #fff); }

/* Estado: leído (atenuado + check) */
.crow.is-read { opacity: .62; }
.crow.is-read .ctitle { font-weight: 600; }
.crow.is-read .cnum::after {
	content: "";
	width: 13px; height: 13px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center/contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center/contain no-repeat;
	color: var(--mc-success, #22c55e);
}

/* Estado: en curso (resaltado) */
.crow.is-reading {
	background: rgba(var(--mc-primary-rgb, 124, 58, 237), .14);
	border-color: rgba(var(--mc-primary-rgb, 124, 58, 237), .45);
}

/* Estado: bloqueado (premium) */
.crow.is-locked .cnum { color: var(--mc-warning, #f59e0b); }

/* Vista cuadrícula: compacta, centrada */
.clist.grid .crow {
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-align: center;
	padding: 14px 8px;
}
.clist.grid .cinfo { align-items: center; width: 100%; }
.clist.grid .cmeta { display: none; }
.clist.grid .ctitle { font-size: 13px; }

/* ----------------------------------------------------------------------- */
/*  Paginación                                                              */
/* ----------------------------------------------------------------------- */
.pager {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin-top: 16px;
}
.pager:empty { display: none; }
.pager button {
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	border-radius: 10px;
	border: 1px solid var(--line);
	background: var(--card);
	color: var(--fg);
	font-weight: 700;
	font-size: 13.5px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.pager button.on { background: var(--accent); border-color: transparent; color: var(--mc-on-primary, #fff); }
.pager button:disabled { opacity: .4; cursor: not-allowed; }
.pager .pgdots { color: var(--muted); align-self: center; padding: 0 2px; }

.mk-chapters-empty, .mk-no-chapters { color: var(--muted); text-align: center; padding: 24px; }

@media (prefers-reduced-motion: reduce) {
	.crow, .sortbtn, .viewtoggle button { transition: none; }
}
