/* AutorSuite — tienda
 *
 * Los colores salen del tema cuando el tema los publica (--rjk-*, o los del
 * editor de bloques); si no, caen en los de aquí. Así el panel del autor no
 * desentona en ninguna tienda.
 */

.autr-panel,
.autr-alta,
.autr-pagina {
	--autr-acento: var(--rjk-primary, var(--wp--preset--color--primary, #1d3a22));
	--autr-acento-texto: var(--rjk-on-primary, #fff);
	--autr-borde: var(--rjk-border, #e1dbd0);
	--autr-fondo: var(--rjk-surface, #fff);
	--autr-suave: var(--rjk-bg-alt, #faf8f4);
	--autr-texto: var(--rjk-text, #333);
	--autr-apagado: var(--rjk-text-muted, #6b6b6b);
	--autr-titulo: var(--rjk-heading, #16161a);
	--autr-radio: var(--rjk-radius, 10px);
	color: var(--autr-texto);
}

.autr-ancho {
	max-width: 900px;
	margin: 0 auto;
	padding: 32px 16px 56px;
}

.autr-titulo {
	margin: 0 0 24px;
}

.autr-intro {
	color: var(--autr-apagado);
	max-width: 62ch;
}

/* ----------------------------------------------------------------
   Botones
   ---------------------------------------------------------------- */

.autr-boton {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 20px;
	border: 1px solid var(--autr-acento);
	border-radius: max(6px, calc(var(--autr-radio) - 2px));
	background: var(--autr-acento);
	color: var(--autr-acento-texto);
	font-size: .95em;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

.autr-boton:hover,
.autr-boton:focus {
	background: var(--rjk-primary-hover, var(--autr-acento));
	color: var(--autr-acento-texto);
	filter: brightness(.94);
}

.autr-boton-suave {
	background: transparent;
	border-color: var(--autr-borde);
	color: var(--autr-texto);
}

.autr-boton-suave:hover,
.autr-boton-suave:focus {
	background: var(--autr-suave);
	border-color: var(--autr-acento);
	color: var(--autr-acento);
	filter: none;
}

.autr-boton-pequeno {
	padding: 7px 13px;
	font-size: .86em;
}

/* ----------------------------------------------------------------
   Avisos
   ---------------------------------------------------------------- */

.autr-ok,
.autr-error,
.autr-nota-revision {
	margin: 0 0 20px;
	padding: 13px 16px;
	border-radius: max(6px, calc(var(--autr-radio) - 2px));
	border-left: 4px solid var(--autr-acento);
	background: color-mix(in srgb, var(--autr-acento) 7%, transparent);
	font-size: .95em;
}

.autr-error {
	border-left-color: #b3261e;
	background: #fbeaea;
	color: #7a1a15;
}

.autr-nota-revision {
	border-left-color: #b57b00;
	background: #fdf5e6;
	color: #6b4a00;
}

/* ----------------------------------------------------------------
   El panel del autor
   ---------------------------------------------------------------- */

.autr-panel > :first-child { margin-top: 0; }

.autr-cifras {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(146px, 1fr));
	gap: 10px;
	margin: 0 0 30px;
}

.autr-cifra {
	padding: 14px 16px 15px;
	border: 1px solid var(--autr-borde);
	border-radius: var(--autr-radio);
	background: var(--autr-fondo);
}

.autr-cifra-fuerte {
	border-color: color-mix(in srgb, var(--autr-acento) 45%, var(--autr-borde));
	background: color-mix(in srgb, var(--autr-acento) 6%, transparent);
}

.autr-cifra .autr-numero {
	display: block;
	font-size: 1.42em;
	font-weight: 700;
	line-height: 1.15;
	color: var(--autr-titulo);
}

.autr-cifra-fuerte .autr-numero { color: var(--autr-acento); }

.autr-cifra .autr-que {
	display: block;
	margin-top: 5px;
	font-size: .82em;
	line-height: 1.35;
	color: var(--autr-apagado);
}

/* Cada apartado */

.autr-bloque { margin: 0 0 32px; }

.autr-bloque-cabecera {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 16px;
	margin: 0 0 14px;
	padding-bottom: 9px;
	border-bottom: 1px solid var(--autr-borde);
}

.autr-bloque-cabecera h3 {
	margin: 0;
	font-size: 1.08em;
	color: var(--autr-titulo);
}

.autr-cuantos {
	font-size: .82em;
	font-weight: 400;
	color: var(--autr-apagado);
}

.autr-vacio {
	margin: 0;
	padding: 22px 18px;
	border: 1px dashed var(--autr-borde);
	border-radius: var(--autr-radio);
	background: var(--autr-suave);
	color: var(--autr-apagado);
	text-align: center;
	font-size: .94em;
}

/* La lista de libros */

.autr-libros-lista {
	display: grid;
	gap: 10px;
}

.autr-libro-ficha {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
	padding: 12px 14px;
	border: 1px solid var(--autr-borde);
	border-radius: var(--autr-radio);
	background: var(--autr-fondo);
}

.autr-portadita {
	width: 46px;
	height: 66px;
	border-radius: 3px;
	object-fit: cover;
	background: var(--autr-suave);
	box-shadow: 0 1px 4px rgba(0, 0, 0, .14);
}

.autr-sin-portada {
	display: grid;
	place-items: center;
	width: 46px;
	height: 66px;
	border: 1px dashed var(--autr-borde);
	border-radius: 3px;
	background: var(--autr-suave);
	color: var(--autr-apagado);
	font-size: .66em;
	line-height: 1.2;
	text-align: center;
	padding: 4px;
}

.autr-libro-datos { min-width: 0; }

.autr-libro-titulo {
	display: block;
	font-weight: 700;
	font-size: 1em;
	line-height: 1.3;
	color: var(--autr-titulo);
}

.autr-libro-pie {
	display: block;
	margin-top: 4px;
	font-size: .85em;
	color: var(--autr-apagado);
}

.autr-libro-acciones {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 7px;
	text-align: right;
}

.autr-libro-acciones a {
	font-size: .86em;
	color: var(--autr-acento);
}

/* ----------------------------------------------------------------
   Tablas
   ---------------------------------------------------------------- */

.autr-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.autr-tabla {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	font-size: .93em;
}

.autr-tabla th,
.autr-tabla td {
	padding: 11px 10px;
	border-bottom: 1px solid var(--autr-borde);
	text-align: left;
	vertical-align: top;
}

.autr-tabla thead th {
	padding-top: 0;
	border-bottom: 1px solid var(--autr-titulo);
	font-size: .78em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--autr-apagado);
	white-space: nowrap;
}

.autr-tabla tbody tr:last-child td { border-bottom: 0; }
.autr-tabla tbody tr:hover { background: var(--autr-suave); }

.autr-num {
	text-align: right;
	white-space: nowrap;
}

.autr-fecha { white-space: nowrap; color: var(--autr-apagado); }

/* ----------------------------------------------------------------
   Etiquetas de estado
   ---------------------------------------------------------------- */

.autr-etiqueta {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 11px;
	background: var(--autr-suave);
	border: 1px solid var(--autr-borde);
	font-size: .78em;
	font-weight: 600;
	line-height: 1.45;
	white-space: nowrap;
}

.autr-estado-pendiente,
.autr-estado-provisional { background: #fdf5e6; border-color: #e8d4a8; color: #7a5200; }
.autr-estado-aprobado,
.autr-estado-liquidada,
.autr-estado-pagada { background: #e8f4ea; border-color: #b9ddc1; color: #14562a; }
.autr-estado-rechazado,
.autr-estado-anulada { background: #fbeaea; border-color: #eec4c1; color: #8a1f1f; }
.autr-estado-borrador { background: var(--autr-suave); color: var(--autr-apagado); }

/* ----------------------------------------------------------------
   Formularios
   ---------------------------------------------------------------- */

.autr-desplegable {
	margin: 0 0 32px;
	border: 1px solid var(--autr-borde);
	border-radius: var(--autr-radio);
	background: var(--autr-fondo);
}

.autr-desplegable > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	font-family: inherit;
	font-weight: 700;
	color: var(--autr-titulo);
	cursor: pointer;
	list-style: none;
}

.autr-desplegable > summary::-webkit-details-marker { display: none; }

.autr-desplegable > summary::after {
	content: "+";
	flex: 0 0 auto;
	font-size: 1.3em;
	font-weight: 400;
	line-height: 1;
	color: var(--autr-acento);
}

.autr-desplegable[open] > summary { border-bottom: 1px solid var(--autr-borde); }
.autr-desplegable[open] > summary::after { content: "–"; }

.autr-desplegable-cuerpo { padding: 18px 16px 20px; }

.autr-form label,
.autr-alta label {
	display: block;
	margin-bottom: 5px;
	font-size: .88em;
	font-weight: 600;
	color: var(--autr-titulo);
}

.autr-form input[type="text"],
.autr-form input[type="email"],
.autr-form input[type="number"],
.autr-form select,
.autr-form textarea,
.autr-alta input[type="text"],
.autr-alta input[type="email"],
.autr-alta textarea {
	width: 100%;
	max-width: 520px;
	padding: 10px 12px;
	border: 1px solid var(--autr-borde);
	border-radius: max(5px, calc(var(--autr-radio) - 4px));
	background: #fff;
	color: var(--autr-texto);
	font-size: .97em;
	font-family: inherit;
}

.autr-form input:focus,
.autr-form textarea:focus,
.autr-alta input:focus,
.autr-alta textarea:focus {
	outline: 2px solid color-mix(in srgb, var(--autr-acento) 55%, transparent);
	outline-offset: 1px;
	border-color: var(--autr-acento);
}

.autr-form p,
.autr-alta p { margin: 0 0 16px; }

/* Los campos cortos van en dos columnas cuando hay sitio */
.autr-campos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 0 18px;
}

.autr-campos input[type="text"],
.autr-campos input[type="email"],
.autr-campos input[type="number"] { max-width: none; }

.autr-etiqueta-campo {
	display: block;
	margin-bottom: 6px;
	font-size: .88em;
	font-weight: 600;
	color: var(--autr-titulo);
}

.autr-pista {
	display: block;
	margin-top: 5px;
	font-size: .84em;
	line-height: 1.45;
	color: var(--autr-apagado);
}

.autr-opciones {
	display: grid;
	gap: 8px;
	max-width: 520px;
}

.autr-radio {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin: 0;
	padding: 11px 13px;
	border: 1px solid var(--autr-borde);
	border-radius: max(5px, calc(var(--autr-radio) - 4px));
	background: var(--autr-fondo);
	font-weight: 500 !important;
	font-size: .94em;
	cursor: pointer;
}

.autr-radio:hover { border-color: var(--autr-acento); }
.autr-radio input[type="radio"] { margin: .25em 0 0; }
.autr-radio:has(input:checked) {
	border-color: var(--autr-acento);
	background: color-mix(in srgb, var(--autr-acento) 7%, transparent);
}

.autr-enviar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 22px !important;
}

.autr-enviado {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 8px;
}

.autr-enviado input[type="text"] {
	width: 170px;
	padding: 7px 10px;
	border: 1px solid var(--autr-borde);
	border-radius: max(5px, calc(var(--autr-radio) - 4px));
	font-size: .9em;
}

.autr-firma {
	display: block;
	margin-top: 6px;
	font-size: .88em;
	color: var(--autr-apagado);
}

/* ----------------------------------------------------------------
   Alta de autores
   ---------------------------------------------------------------- */

.autr-condiciones {
	margin: 20px 0 26px;
	padding: 18px 20px;
	border: 1px solid var(--autr-borde);
	border-radius: var(--autr-radio);
	background: var(--autr-suave);
}

.autr-condiciones h3 {
	margin: 0 0 8px;
	font-size: 1.05em;
	color: var(--autr-titulo);
}

.autr-condiciones ul {
	margin: 10px 0 0;
	padding-inline-start: 20px;
}

.autr-condiciones li { margin: 4px 0; }

.autr-modalidades {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 10px;
	margin: 16px 0 0 !important;
	padding: 0 !important;
	list-style: none;
}

.autr-modalidades li {
	margin: 0;
	padding: 12px 14px;
	border: 1px solid var(--autr-borde);
	border-radius: max(6px, calc(var(--autr-radio) - 2px));
	background: var(--autr-fondo);
	font-size: .93em;
	font-weight: 600;
	line-height: 1.4;
}

.autr-comision {
	margin: 16px 0 0 !important;
	padding-top: 14px;
	border-top: 1px solid var(--autr-borde);
	font-weight: 600;
	color: var(--autr-acento);
}

/* ----------------------------------------------------------------
   Protección de datos (LSSI y RGPD)
   ---------------------------------------------------------------- */

.autr-rgpd {
	margin: 24px 0 8px;
	padding: 16px 18px;
	border: 1px solid var(--autr-borde);
	border-radius: var(--autr-radio);
	background: var(--autr-suave);
	font-size: .9em;
	line-height: 1.55;
}

.autr-rgpd-basica summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--autr-titulo);
}

.autr-rgpd-basica dl { margin: 10px 0 0; }
.autr-rgpd-basica dt { margin-top: 8px; font-weight: 600; }
.autr-rgpd-basica dd { margin: 2px 0 0; color: var(--autr-apagado); }

.autr-rgpd label {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin: 0;
	font-weight: 400;
	cursor: pointer;
}

.autr-rgpd input[type="checkbox"] {
	flex: 0 0 auto;
	width: auto;
	margin: .22em 0 0;
}

.autr-rgpd-acepto {
	margin: 14px 0 0 !important;
	padding-top: 13px;
	border-top: 1px solid var(--autr-borde);
	font-weight: 600;
}

.autr-rgpd-comercial { margin: 9px 0 0 !important; }

/* ----------------------------------------------------------------
   Pantallas estrechas
   ---------------------------------------------------------------- */

@media (max-width: 560px) {
	.autr-libro-ficha {
		grid-template-columns: 46px minmax(0, 1fr);
		row-gap: 10px;
	}

	.autr-libro-acciones {
		grid-column: 1 / -1;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		text-align: left;
	}

	.autr-cifra { padding: 12px 13px; }
	.autr-cifra .autr-numero { font-size: 1.25em; }

	/* Las tablas dejan de serlo: cada fila, una ficha */
	.autr-tabla,
	.autr-tabla tbody,
	.autr-tabla tr,
	.autr-tabla td {
		display: block;
		width: auto;
	}

	.autr-tabla thead { display: none; }

	.autr-tabla tr {
		margin-bottom: 10px;
		padding: 10px 13px;
		border: 1px solid var(--autr-borde);
		border-radius: var(--autr-radio);
		background: var(--autr-fondo);
	}

	.autr-panel .autr-tabla td,
	.autr-tabla td {
		display: grid;
		grid-template-columns: 7.5em minmax(0, 1fr);
		gap: 10px;
		align-items: baseline;
		padding: 4px 0;
		border: 0;
		text-align: left;
		overflow-wrap: anywhere;
	}

	.autr-tabla td.autr-fecha { white-space: normal; }

	.autr-tabla td::before {
		content: attr(data-etiqueta);
		font-size: .78em;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: .04em;
		color: var(--autr-apagado);
	}

	.autr-tabla td.autr-num { text-align: left; }
	.autr-tabla tbody tr:hover { background: var(--autr-fondo); }
	.autr-enviado { margin-top: 10px; }
}
