/**
 * Servicios y solicitud de cita.
 *
 * Tokens del tema (--pel-*) con respaldo, igual que el resto del plugin.
 */

/* Lista de servicios ------------------------------------------------------ */

.peletines-servicios__grupo + .peletines-servicios__grupo {
	margin-top: clamp(2rem, 5vw, 3.5rem);
}

.peletines-servicios__titulo {
	margin: 0 0 1.25rem;
	font-family: var(--wp--preset--font-family--fredoka, inherit);
	font-size: clamp(1.3rem, 3vw, 1.8rem);
}

.peletines-servicios__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	gap: 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.peletines-servicio {
	display: flex;
	height: 100%;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1.25rem;
	border: var(--pel-line, 1px solid rgba(0, 0, 0, 0.12));
	border-radius: 20px;
	background: var(--pel-white, #fff);
	box-shadow: var(--pel-sticker, 0 3px 0 rgba(0, 0, 0, 0.08));
	color: var(--pel-ink, #2b2520);
	text-decoration: none;
	transition: transform 0.2s var(--pel-ease, ease), box-shadow 0.2s var(--pel-ease, ease);
}

.peletines-servicio:hover,
.peletines-servicio:focus-visible {
	transform: translate(-2px, -3px);
	box-shadow: var(--pel-sticker-lift, 0 6px 0 rgba(0, 0, 0, 0.1));
}

.peletines-servicio__foto img {
	display: block;
	width: 100%;
	height: 9rem;
	border-radius: 14px;
	object-fit: cover;
}

.peletines-servicio__nombre {
	font-family: var(--wp--preset--font-family--fredoka, inherit);
	font-size: 1.1rem;
	font-weight: 600;
}

.peletines-servicio__texto {
	color: var(--pel-ink-soft, #6b6257);
	font-size: 0.9rem;
}

.peletines-servicio__precio {
	margin-top: auto;
	font-weight: 800;
}

/* Datos de la ficha ------------------------------------------------------- */

.peletines-serv-datos {
	margin: 1.5rem 0;
	padding: 1.25rem 1.5rem;
	border: var(--pel-line, 1px solid rgba(0, 0, 0, 0.12));
	border-radius: 20px;
	background: var(--pel-cream, #fdf8f1);
}

.peletines-serv-datos__duracion,
.peletines-serv-datos__precio {
	margin: 0 0 0.5rem;
}

.peletines-serv-datos__precio {
	font-size: 1.4rem;
	font-weight: 800;
}

.peletines-serv-datos__tabla {
	width: 100%;
	border-collapse: collapse;
}

.peletines-serv-datos__tabla caption {
	margin-bottom: 0.5rem;
	color: var(--pel-ink-soft, #6b6257);
	font-size: 0.85rem;
	letter-spacing: 0.04em;
	text-align: left;
	text-transform: uppercase;
}

.peletines-serv-datos__tabla th,
.peletines-serv-datos__tabla td {
	padding: 0.5rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	text-align: left;
}

.peletines-serv-datos__tabla th {
	font-weight: 500;
}

.peletines-serv-datos__tabla td {
	font-weight: 700;
	text-align: right;
}

.peletines-serv-datos__nota {
	margin: 0.75rem 0 0;
	color: var(--pel-ink-soft, #6b6257);
	font-size: 0.85rem;
}

/* Especies ---------------------------------------------------------------- */

.peletines-serv-datos__especies {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem;
	margin: 0 0 0.75rem;
}

.peletines-serv-datos__etiqueta {
	color: var(--pel-ink-soft, #6b6257);
	font-size: 0.8rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.peletines-serv-chip {
	padding: 0.2rem 0.75rem;
	border: var(--pel-line, 1px solid rgba(0, 0, 0, 0.12));
	border-radius: 999px;
	background: var(--pel-white, #fff);
	font-size: 0.85rem;
	font-weight: 600;
}

.peletines-serv-chip.is-perro {
	background: var(--pel-pink, #f7dce0);
}

.peletines-serv-chip.is-gato {
	background: var(--pel-lav, #e4ddf2);
}

.peletines-servicio__especies {
	color: var(--pel-ink-soft, #6b6257);
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* Formulario de cita ------------------------------------------------------ */

.peletines-cita {
	margin: 2rem 0;
	padding: clamp(1.25rem, 4vw, 2rem);
	border: var(--pel-line, 1px solid rgba(0, 0, 0, 0.12));
	border-radius: 28px;
	background: var(--pel-mint, #dff0e4);
}

.peletines-cita__titulo {
	margin: 0 0 0.35rem;
	font-family: var(--wp--preset--font-family--fredoka, inherit);
}

.peletines-cita__lead {
	margin: 0 0 1.5rem;
	color: var(--pel-ink-soft, #6b6257);
}

.peletines-cita__campo {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	margin: 0 0 1rem;
}

.peletines-cita__campo label {
	font-weight: 600;
}

.peletines-cita__campo input,
.peletines-cita__campo select,
.peletines-cita__campo textarea {
	width: 100%;
	padding: 0.65rem 0.8rem;
	border: var(--pel-line, 1px solid rgba(0, 0, 0, 0.2));
	border-radius: 12px;
	background: var(--pel-white, #fff);
	font: inherit;
}

.peletines-cita__ayuda {
	color: var(--pel-ink-soft, #6b6257);
	font-size: 0.85rem;
}

.peletines-cita__campo.tiene-error input,
.peletines-cita__campo.tiene-error select,
.peletines-cita__campo.tiene-error textarea {
	border-color: #b3261e;
}

.peletines-cita__error-campo {
	color: #b3261e;
	font-size: 0.85rem;
}

.peletines-cita__error,
.peletines-cita__ok {
	margin: 0 0 1rem;
	padding: 0.9rem 1.1rem;
	border-radius: 14px;
	background: var(--pel-white, #fff);
}

.peletines-cita__error {
	border-left: 4px solid #b3261e;
}

.peletines-cita__ok {
	border-left: 4px solid var(--pel-teal-deep, #2a7f7d);
	font-size: 1.05rem;
}

.peletines-cita__otra {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	border: 1px dashed var(--pel-line, rgba(0, 0, 0, 0.25));
	border-radius: 14px;
}

.peletines-cita__otra summary {
	cursor: pointer;
	font-weight: 600;
}

.peletines-cita__otra[open] summary {
	margin-bottom: 0.75rem;
}

.peletines-cita__boton {
	padding: 0.85rem 1.6rem;
	border: var(--pel-line, 1px solid rgba(0, 0, 0, 0.2));
	border-radius: 999px;
	background: var(--pel-yellow, #ffd978);
	box-shadow: var(--pel-sticker, 0 3px 0 rgba(0, 0, 0, 0.08));
	color: var(--pel-ink, #2b2520);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.peletines-cita__boton:hover {
	transform: translate(-2px, -3px);
	box-shadow: var(--pel-sticker-lift, 0 6px 0 rgba(0, 0, 0, 0.1));
}

/* La trampa de robots: fuera de pantalla, pero no display:none, que algunos
   los ignoran. */
.peletines-cita__trampa {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.peletines-serv__aviso {
	margin: 0;
	padding: 1.25rem;
	border: 1px dashed var(--pel-line, rgba(0, 0, 0, 0.2));
	border-radius: 12px;
	color: var(--pel-ink-soft, #6b6257);
	text-align: center;
}

@media (prefers-reduced-motion: reduce) {
	.peletines-servicio,
	.peletines-cita__boton {
		transition: none;
	}

	.peletines-servicio:hover,
	.peletines-servicio:focus-visible,
	.peletines-cita__boton:hover {
		transform: none;
	}
}

/* Dónde estamos ----------------------------------------------------------- */

.peletines-ubica {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr));
	gap: clamp(1.25rem, 3vw, 2rem);
	align-items: start;
	margin: 2rem 0;
}

.peletines-ubica__mapa {
	overflow: hidden;
	border: var(--pel-line, 1px solid rgba(0, 0, 0, 0.12));
	border-radius: 20px;
	background: var(--pel-cream, #fdf8f1);
	aspect-ratio: 4 / 3;
}

.peletines-ubica__mapa iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.peletines-ubica__bloque + .peletines-ubica__bloque {
	margin-top: 1.75rem;
}

.peletines-ubica__titulo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem;
	margin: 0 0 0.6rem;
	font-family: var(--wp--preset--font-family--fredoka, inherit);
	font-size: 1.15rem;
}

.peletines-ubica__estado {
	padding: 0.15rem 0.7rem;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.peletines-ubica__estado.is-abierto {
	background: var(--pel-mint, #dff0e4);
	color: #1c5c38;
}

.peletines-ubica__estado.is-cerrado {
	background: var(--pel-sand, #efe3d2);
	color: var(--pel-ink-soft, #6b6257);
}

.peletines-ubica__nombre {
	margin: 0 0 0.2rem;
	font-family: var(--wp--preset--font-family--fredoka, inherit);
	font-size: 1.1rem;
	font-weight: 600;
}

.peletines-ubica__direccion {
	margin: 0 0 0.75rem;
	font-size: 1.05rem;
	line-height: 1.5;
}

.peletines-ubica__boton {
	display: inline-block;
	padding: 0.6rem 1.3rem;
	border: var(--pel-line, 1px solid rgba(0, 0, 0, 0.2));
	border-radius: 999px;
	background: var(--pel-yellow, #ffd978);
	box-shadow: var(--pel-sticker, 0 3px 0 rgba(0, 0, 0, 0.08));
	color: var(--pel-ink, #2b2520);
	font-weight: 700;
	text-decoration: none;
}

.peletines-ubica__tel {
	margin: 0.75rem 0 0;
}

.peletines-ubica__horario {
	width: 100%;
	border-collapse: collapse;
}

.peletines-ubica__horario th,
.peletines-ubica__horario td {
	padding: 0.4rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	text-align: left;
	font-weight: 400;
}

.peletines-ubica__horario td {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.peletines-ubica__horario .es-hoy th,
.peletines-ubica__horario .es-hoy td {
	font-weight: 700;
}

.peletines-ubica__nota {
	margin: 0.75rem 0 0;
	color: var(--pel-ink-soft, #6b6257);
	font-size: 0.9rem;
}
