/**
 * Área del restaurador.
 * Usa las variables del tema Taste y cae en valores propios si no están.
 */

.tm-area {
	/* Más ancha y con menos scroll (Nando, 3 nov 2026): con 860 px la columna
	   de campos se quedaba en 500 y la ficha eran tres pantallas. */
	max-width: 1120px;
	margin: 0 auto;
	font-size: 1rem;
	color: var(--tm-texto, #3b383c);
}

.tm-area__dos {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

/* ------------------------------------------------------------------ *
 * Pantalla de acceso: el alta delante, entrar detrás
 * ------------------------------------------------------------------ */

.tm-acceso__alta {
	display: grid;
	gap: 28px;
	align-items: start;
	padding: clamp(24px, 4vw, 40px);
	background: var(--tm-crema, #fdf8f1);
	border: 1px solid #f1e2c6;
	border-radius: var(--tm-radio, 14px);
}

@media (min-width: 900px) {
	.tm-acceso__alta { grid-template-columns: minmax(0, 1fr) minmax(320px, 400px); gap: 40px; }
}

.tm-acceso__texto h2 {
	margin: 0 0 10px;
	font-size: clamp(1.5rem, 3vw, 2.1rem);
	letter-spacing: -.02em;
}

.tm-acceso__texto > p { margin: 0 0 18px; max-width: 54ch; }

.tm-acceso__caja {
	padding: 22px;
	background: var(--tm-fondo, #fff);
	border: 1px solid var(--tm-linea, #e8e4e6);
	border-radius: var(--tm-radio, 14px);
	box-shadow: var(--tm-sombra, 0 8px 24px rgba(31, 29, 32, .06));
}

.tm-acceso__caja .tm-form label:last-of-type { margin-bottom: 20px; }

/* Entrada
   -------------------------------------------------------------------------
   `/acceso/` es, por defecto, la puerta del que ya es cliente: correo,
   contraseña y «he olvidado mi contraseña», y nada más (Nando, 3 nov 2026).
   Los planes viven en «Añadir restaurante», no aquí.
   ---------------------------------------------------------------------- */

.tm-entrada { max-width: 560px; margin-inline: auto; }

.tm-entrada__caja {
	padding: clamp(22px, 4vw, 34px);
	background: var(--tm-fondo, #fff);
	border: 1px solid var(--tm-linea, #e8e4e6);
	border-radius: var(--tm-radio, 14px);
	box-shadow: var(--tm-sombra, 0 8px 24px rgba(31, 29, 32, .06));
}

.tm-entrada__caja h2 {
	margin: 0 0 4px;
	font-size: 1.5rem;
	letter-spacing: -.02em;
}

.tm-entrada__caja > .tm-ayuda { margin: 0 0 22px; }
.tm-entrada__caja .tm-boton--bloque { margin-top: 6px; }

.tm-entrada__olvido {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--tm-linea, #e8e4e6);
}

.tm-entrada__olvido > summary {
	cursor: pointer;
	font-weight: 600;
	font-size: .95rem;
	color: var(--tm-granate, #89023e);
	list-style: none;
}

.tm-entrada__olvido > summary::-webkit-details-marker { display: none; }

.tm-entrada__olvido > summary::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-left: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
}

.tm-entrada__olvido[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
.tm-entrada__olvido .tm-form { margin-top: 14px; }

.tm-entrada__alta {
	margin: 18px 0 0;
	text-align: center;
	font-size: .95rem;
	color: var(--tm-suave, #6b666e);
}

/* El plan elegido, a la vista
   -------------------------------------------------------------------------
   «Luego se ha de ver claro el escogido» (Nando, 3 nov 2026).
   ---------------------------------------------------------------------- */

.tm-plan-elegido {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin: 0 0 18px;
	padding: 12px 16px;
	background: var(--tm-fondo, #fff);
	border: 1px solid #e4d2ae;
	border-radius: 999px;
}

.tm-plan-elegido__marca {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 999px;
	background: var(--tm-granate, #89023e);
	color: #fff;
	font-size: .8rem;
	font-weight: 700;
	flex: none;
}

.tm-plan-elegido__texto { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.tm-plan-elegido__rotulo { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--tm-suave, #6b666e); }

.tm-plan-elegido__estado {
	margin-left: auto;
	padding: 3px 11px;
	border-radius: 999px;
	background: var(--tm-amarillo, #f8b233);
	color: var(--tm-tinta, #1f1d20);
	font-size: .8rem;
	font-weight: 700;
}

.tm-plan-elegido__cambiar { margin-left: auto; font-size: .9rem; font-weight: 600; }

/* «Pasar a premium»: la única puerta a los planes dentro del alta, porque el
   plan ya se eligió y aquí no se vuelve a vender nada salvo que lo pida. */
.tm-pasar-premium {
	margin: 18px 0 0;
	padding: 16px 18px;
	background: var(--tm-fondo, #fff);
	border: 1px dashed #e4d2ae;
	border-radius: var(--tm-radio, 14px);
}

.tm-pasar-premium .tm-ayuda { margin: 0 0 12px; }

/* Avisos */

.tm-aviso {
	border-radius: var(--tm-radio-s, 8px);
	padding: 12px 16px;
	margin: 0 0 20px;
	font-size: .95rem;
}

.tm-aviso--bien {
	background: #f0f7f0;
	border: 1px solid #cfe5cf;
	color: #2d5a2d;
}

.tm-aviso--mal {
	background: #fdf2f5;
	border: 1px solid #f0cdd9;
	color: var(--tm-granate, #89023e);
}

/* Formularios */

.tm-form label {
	display: block;
	margin: 0 0 16px;
	font-weight: 600;
	color: var(--tm-tinta, #1f1d20);
}

.tm-form input[type="text"],
.tm-form input[type="email"],
.tm-form input[type="url"],
.tm-form input[type="tel"],
.tm-form input[type="password"],
.tm-form input[type="file"],
.tm-form select,
.tm-form textarea {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 10px 12px;
	font: inherit;
	font-weight: 400;
	color: var(--tm-texto, #3b383c);
	background: #fff;
	border: 1px solid var(--tm-linea, #e8e4e6);
	border-radius: var(--tm-radio-s, 8px);
}

.tm-form input:focus,
.tm-form select:focus,
.tm-form textarea:focus {
	outline: 3px solid var(--tm-amarillo, #f8b233);
	outline-offset: 1px;
	border-color: transparent;
}

/* Los desplegables del sistema no se parecen en nada a los campos de texto. */
.tm-form select {
	appearance: none;
	padding-right: 38px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b666e' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 13px center;
	background-size: 12px;
}

/* Cocina y zona: etiqueta encima del desplegable. */
.tm-campo { margin: 0 0 16px; }
.tm-campo label {
	display: block;
	margin: 0 0 4px;
	font-weight: 600;
	color: var(--tm-tinta, #1f1d20);
}

/* Pide recomendaciones: enlace y QR. */
.tm-pedir__caja {
	display: grid;
	gap: 22px;
	align-items: start;
	margin-top: 16px;
}

@media (min-width: 720px) {
	.tm-pedir__caja { grid-template-columns: minmax(0, 1fr) auto; gap: 32px; }
}

.tm-pedir__caja label {
	display: block;
	margin-bottom: 4px;
	font-weight: 600;
	color: var(--tm-tinta, #1f1d20);
}

.tm-pedir__caja input[type="text"] {
	width: 100%;
	padding: 10px 12px;
	font: inherit;
	color: var(--tm-texto, #3b383c);
	background: #fff;
	border: 1px solid var(--tm-linea, #e8e4e6);
	border-radius: var(--tm-radio-s, 8px);
}

.tm-pedir__qr {
	margin: 0;
	text-align: center;
}

.tm-pedir__qr > div {
	width: 164px;
	height: 164px;
	margin: 0 auto 8px;
	padding: 8px;
	background: #fff;
	border: 1px solid var(--tm-linea, #e8e4e6);
	border-radius: var(--tm-radio-s, 8px);
}

.tm-pedir__qr svg { width: 100%; height: 100%; display: block; }

.tm-pedir__qr figcaption {
	font-size: .84rem;
	color: var(--tm-suave, #6b666e);
}

.tm-pedir .tm-boton { margin-top: 14px; }

/* Pantalla pública de /recomendar/. */
.tm-recomendar { max-width: 620px; }

.tm-recomendar__caja {
	padding: clamp(22px, 4vw, 34px);
	background: var(--tm-fondo, #fff);
	border: 1px solid var(--tm-linea, #e8e4e6);
	border-radius: var(--tm-radio, 14px);
	box-shadow: var(--tm-sombra, 0 8px 24px rgba(31, 29, 32, .06));
}

.tm-recomendar__caja h2 { margin: 0 0 8px; font-size: 1.4rem; letter-spacing: -.02em; }
.tm-recomendar__caja > .tm-ayuda { margin-bottom: 20px; }

/* «Guardar y seguir otro día»: tiene que estar, pero sin competir con el
   botón que remata el alta. */
.tm-boton.tm-boton--texto {
	padding: 12px 6px;
	border: 0;
	background: none;
	color: var(--tm-suave, #6b666e);
	font: inherit;
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
}

.tm-boton.tm-boton--texto:hover {
	background: none;
	color: var(--tm-granate, #89023e);
}

.tm-ayuda {
	display: block;
	margin-top: 4px;
	font-size: .85rem;
	font-weight: 400;
	color: var(--tm-suave, #6b666e);
}

.tm-check {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 14px 8px 0;
	font-weight: 400;
}

.tm-check input {
	margin: 0;
}

.tm-sep {
	border: 0;
	border-top: 1px solid var(--tm-linea, #e8e4e6);
	margin: 20px 0;
}

/* Botones */

.tm-boton {
	display: inline-block;
	padding: 12px 22px;
	border: 2px solid var(--tm-granate, #89023e);
	border-radius: 999px;
	background: var(--tm-granate, #89023e);
	color: #fff;
	font: inherit;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.tm-boton:hover {
	background: var(--tm-granate-claro, #a81b57);
	border-color: var(--tm-granate-claro, #a81b57);
	color: #fff;
}

.tm-boton--linea {
	background: transparent;
	color: var(--tm-granate, #89023e);
}

.tm-boton--linea:hover {
	background: var(--tm-granate, #89023e);
	color: #fff;
}

.tm-enlace {
	background: none;
	border: 0;
	padding: 0;
	font: inherit;
	color: var(--tm-granate, #89023e);
	text-decoration: underline;
	cursor: pointer;
}

/* Progreso */

.tm-progreso {
	margin: 4px 0 0;
}

/* Durante el alta la barra se esconde: el `hidden` del marcado tiene que
   ganarle a la rejilla de la cabecera, que si no la seguiría colocando. */
.tm-progreso[hidden] { display: none; }

.tm-progreso__barra {
	height: 10px;
	border-radius: 999px;
	background: var(--tm-linea, #e8e4e6);
	overflow: hidden;
}

.tm-progreso__barra span {
	display: block;
	height: 100%;
	background: var(--tm-amarillo, #f8b233);
}

.tm-progreso__texto {
	margin: 8px 0 0;
	font-size: .92rem;
	color: var(--tm-suave, #6b666e);
}

/* Ficha */

.tm-grupo {
	border: 1px solid var(--tm-linea, #e8e4e6);
	border-radius: var(--tm-radio, 14px);
	padding: 20px 24px 8px;
	margin: 0 0 20px;
}

.tm-grupo legend {
	padding: 0 8px;
	font-weight: 700;
	color: var(--tm-tinta, #1f1d20);
}

.tm-grupo--bloqueado {
	background: var(--tm-crema, #fdf8f1);
	padding-bottom: 20px;
}

.tm-etiqueta {
	margin: 0 0 8px;
	font-weight: 600;
	color: var(--tm-tinta, #1f1d20);
}

.tm-terminos {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 12px;
}

.tm-mini {
	display: block;
	margin: 8px 0;
	border-radius: var(--tm-radio-s, 8px);
}

.tm-galeria {
	margin: 0 0 16px;
}

.tm-galeria__lista {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
}

.tm-galeria__lista li {
	text-align: center;
	font-size: .8rem;
}

/* El tema pone un punto ámbar delante de cada `li` de una página, y aquí
   salía uno por foto (Nando, 5 nov 2026). */
.tm-area .tm-galeria__lista li { margin: 0; padding: 0; }
.tm-area .tm-galeria__lista li::before { content: none; }

.tm-galeria__lista img {
	display: block;
	border-radius: var(--tm-radio-s, 8px);
}

.tm-acciones {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 24px 0 8px;
}

.tm-salir {
	margin-top: 28px;
	font-size: .9rem;
}

@media (max-width: 600px) {
	.tm-grupo {
		padding: 16px 16px 4px;
	}

	.tm-acciones .tm-boton {
		width: 100%;
		text-align: center;
	}
}

/* --- Varios locales (0.9.1, rehecho en 0.14.0) -------------------------- */

/*
 * Tira horizontal y no rejilla: con 18 locales, la rejilla de tarjetas ocupaba
 * dos pantallas antes de que se viera nada de la ficha.
 */
.tm-locales {
	margin: 0 0 20px;
}

.tm-locales__titulo {
	margin: 0 0 8px;
	font-size: .74rem;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--tm-suave, #6b666e);
}

.tm-locales ul {
	display: flex;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0 0 6px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scrollbar-width: thin;
}

.tm-locales li { flex: none; }

.tm-local {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 14px;
	border: 1px solid var(--tm-linea, #e8e4e6);
	border-radius: 999px;
	background: #fff;
	font-size: .92rem;
	font-weight: 600;
	color: var(--tm-texto, #3b383c);
	text-decoration: none;
	white-space: nowrap;
}

.tm-local:hover {
	border-color: var(--tm-granate, #89023e);
	color: var(--tm-granate, #89023e);
}

.tm-local.es-activo {
	background: var(--tm-granate, #89023e);
	border-color: var(--tm-granate, #89023e);
	color: #fff;
}

/* El punto dice el estado sin gastar sitio. */
.tm-local__punto {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex: none;
	background: #b9b4bb;
}

.tm-punto--publish { background: #4e9a4e; }
.tm-punto--pending { background: var(--tm-amarillo, #f8b233); }
.tm-punto--draft { background: #b9b4bb; }
.tm-punto--private { background: #8a7a8f; }

.tm-local__estrella { color: var(--tm-amarillo, #f8b233); font-size: .9rem; }
.tm-local.es-activo .tm-local__estrella { color: #ffd98a; }

.tm-nuevo-local {
	margin: 32px 0 0;
	padding: 20px 24px;
	border: 1px dashed var(--tm-linea, #e8e4e6);
	border-radius: var(--tm-radio, 14px);
	background: var(--tm-crema, #fdf8f1);
}

.tm-nuevo-local h3 {
	margin: 0 0 4px;
	font-size: 1.05rem;
}

.tm-nuevo-local .tm-form {
	margin-top: 12px;
	max-width: 420px;
}

/* --- Suscripción (0.11.0) ---------------------------------------------- */

.tm-suscripcion {
	margin: 24px 0 0;
	padding: 22px 24px;
	border-radius: var(--tm-radio, 14px);
	background: var(--tm-crema, #fdf8f1);
	border: 1px solid #f1e2c6;
}

.tm-suscripcion h3 {
	margin: 0 0 6px;
	font-size: 1.1rem;
}

/* Elección de plan del alta: dos opciones, una al lado de otra. */

.tm-elegir {
	display: grid;
	gap: 14px;
	margin-top: 16px;
}

@media (min-width: 720px) {
	.tm-elegir { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.tm-elegir__opcion {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 18px 20px;
	background: var(--tm-fondo, #fff);
	border: 1px solid var(--tm-linea, #e8e4e6);
	border-radius: var(--tm-radio-s, 8px);
}

.tm-elegir__opcion.es-destacada { border-color: var(--tm-granate, #89023e); }

.tm-elegir__opcion .tm-ayuda { flex: 1; margin: 0; }

.tm-elegir__opcion form { margin: 0; }

.tm-elegir__opcion .tm-suscripcion__botones { margin-top: 0; }

.tm-elegir__precio {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--tm-tinta, #1f1d20);
}

.tm-elegir__precio span {
	font-size: .86rem;
	font-weight: 500;
	color: var(--tm-suave, #6b666e);
}

.tm-acciones__nota { margin: 0; align-self: center; }

.tm-suscripcion__botones {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.tm-suscripcion__botones form { margin: 0; }

.tm-suscripcion__botones .tm-boton {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1.2;
}

.tm-suscripcion__botones .tm-boton span {
	font-size: .74rem;
	font-weight: 600;
	opacity: .85;
}

.tm-suscripcion__locales,
.tm-suscripcion__inscripcion {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid #f1e2c6;
}

/* Plegada: con 18 locales, esta lista llenaba una pantalla entera. */
.tm-suscripcion__locales > summary {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--tm-suave, #6b666e);
	cursor: pointer;
	list-style: none;
}

.tm-suscripcion__locales > summary::-webkit-details-marker { display: none; }

.tm-suscripcion__locales > summary::after {
	content: "";
	width: 8px;
	height: 8px;
	border-right: 2px solid var(--tm-granate, #89023e);
	border-bottom: 2px solid var(--tm-granate, #89023e);
	transform: rotate(45deg) translateY(-2px);
}

.tm-suscripcion__locales[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }

.tm-suscripcion__cuenta {
	margin-left: auto;
	padding: 2px 9px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #f1e2c6;
	letter-spacing: 0;
	text-transform: none;
	font-weight: 700;
	color: var(--tm-tinta, #1f1d20);
}

.tm-suscripcion__locales > summary + * { margin-top: 12px; }

.tm-suscripcion__inscripcion form { margin-top: 10px; }

.tm-suscripcion__local {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 0;
	border-bottom: 1px solid #f1e2c6;
	margin: 0;
}

.tm-suscripcion__local:last-of-type { border-bottom: 0; }

/* --- Resultados de la ficha (0.10.0) ----------------------------------- */

.tm-resultados {
	margin: 24px 0 8px;
	padding: 22px 24px 18px;
	border: 1px solid var(--tm-linea, #e8e4e6);
	border-radius: var(--tm-radio, 14px);
	background: #fff;
}

.tm-resultados__cabeza {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 16px;
}

.tm-resultados__cabeza h3 {
	margin: 2px 0 0;
	font-size: 1.15rem;
}

.tm-resultados__cifras {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
	margin-bottom: 18px;
}

.tm-cifra {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 16px 18px;
	border-radius: var(--tm-radio-s, 8px);
	background: var(--tm-crema, #fdf8f1);
}

.tm-cifra--acento { background: #fdf4e3; }

.tm-cifra--cerrado {
	gap: 10px;
	background: #fff;
	border: 1px dashed var(--tm-linea, #e8e4e6);
	align-items: flex-start;
}

.tm-cifra__numero {
	font-size: 2rem;
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -.02em;
	color: var(--tm-granate, #89023e);
}

.tm-cifra--acento .tm-cifra__numero { color: #8a5a00; }

.tm-cifra__texto {
	font-size: .92rem;
	color: var(--tm-texto, #3b383c);
}

.tm-cifra__cambio {
	font-size: .82rem;
	color: var(--tm-suave, #6b666e);
}

.tm-resultados__tabla {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin-bottom: 14px;
}

.tm-resultados__tabla th,
.tm-resultados__tabla td {
	padding: 9px 0;
	text-align: left;
	font-weight: 400;
	border-bottom: 1px solid var(--tm-linea, #e8e4e6);
}

.tm-resultados__tabla td { text-align: right; font-weight: 700; }

.tm-resultados__cambio {
	width: 5.5em;
	font-weight: 400 !important;
	font-size: .85rem;
	color: var(--tm-suave, #6b666e);
}

.tm-resultados__tabla tr:last-child th,
.tm-resultados__tabla tr:last-child td { border-bottom: 0; }

/* Bonataula, regalado con el premium
   -------------------------------------------------------------------------
   Es la ventaja del plan que mejor se vende sola y la que menos se ve, porque
   vive en otra web. Al premium se le dice que lo tiene; al básico se le enseña
   lo que se pierde, con el bloque apagado a propósito.
   ---------------------------------------------------------------------- */

.tm-bonataula {
	border: 1px solid var(--tm-linea, #e8e4e6);
	border-left: 4px solid var(--tm-amarillo, #f8b233);
	border-radius: var(--tm-radio, 14px);
	background: var(--tm-crema, #fdf8f1);
	padding: 20px 22px;
}

.tm-bonataula h3 { margin: 0 0 8px; }
.tm-bonataula p { margin: 0 0 12px; }
.tm-bonataula p:last-child { margin-bottom: 0; }

.tm-bonataula.es-bloqueado { opacity: .92; border-left-color: var(--tm-linea, #e8e4e6); }

/* Horario por días
   -------------------------------------------------------------------------
   La misma tabla en el área y en el escritorio: una sola pantalla que
   mantener, y lo que vemos nosotros es lo que ve el restaurador.
   ---------------------------------------------------------------------- */

.tm-horario__intro,
.tm-horario__nota {
	margin: 0 0 12px;
	font-size: .9rem;
	color: var(--tm-suave, #6b666e);
}

.tm-horario__nota { margin: 10px 0 0; }

.tm-horario__tabla { width: 100%; border-collapse: collapse; }

.tm-horario__tabla th,
.tm-horario__tabla td { padding: 6px 10px 6px 0; text-align: left; vertical-align: middle; }

.tm-horario__tabla thead th {
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--tm-suave, #6b666e);
}

.tm-horario__tabla tbody th { font-weight: 600; white-space: nowrap; }

.tm-horario__turno { display: flex; align-items: center; gap: 6px; }
.tm-horario__turno input { width: 7.5em; }

.tm-horario__copiar {
	appearance: none;
	border: 0;
	padding: 0;
	background: none;
	font: inherit;
	font-size: .84rem;
	color: var(--tm-granate, #89023e);
	text-decoration: underline;
	cursor: pointer;
}

/* Un día cerrado no necesita horas: se apagan para que se vea de un vistazo. */
.tm-horario__tabla tr.es-cerrado .tm-horario__turno { opacity: .4; }

@media (max-width: 620px) {
	.tm-horario__tabla thead { display: none; }
	.tm-horario__tabla tr { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; padding: 10px 0; border-bottom: 1px solid var(--tm-linea, #e8e4e6); }
	.tm-horario__tabla td.tm-horario__turno { grid-column: 1 / -1; }
}

/* Ajustes finos de las filas
   -------------------------------------------------------------------------
   Van al final a propósito: los campos de `.tm-form` traen `margin-top: 6px`
   para cuando la etiqueta va encima, y dentro de una fila de dos columnas ese
   margen descuadra el campo respecto a su etiqueta.
   ---------------------------------------------------------------------- */

.tm-form .tm-fila__campo input,
.tm-form .tm-fila__campo select,
.tm-form .tm-fila__campo textarea { margin-top: 0; }

.tm-form .tm-fila__campo .tm-check { margin: 0; }
.tm-form .tm-fila__campo .tm-mini { margin: 0 0 10px; border-radius: var(--tm-radio-s, 8px); }
.tm-form .tm-fila__campo .tm-galeria__lista { margin-bottom: 12px; }

/* Filas de la pantalla de acceso y del local nuevo: la misma forma, con el
   marcado que ya tenían. */
.tm-form--filas .tm-campo-fila {
	display: grid;
	gap: 4px 20px;
	margin-bottom: 16px;
}

@media (min-width: 620px) {
	.tm-form--filas .tm-campo-fila {
		grid-template-columns: 11rem minmax(0, 1fr);
		align-items: start;
	}

	.tm-form--filas .tm-campo-fila > label { padding-top: 11px; }
}

.tm-form--filas .tm-campo-fila > label { font-weight: 600; margin: 0; }
.tm-form--filas .tm-campo-fila input { margin-top: 0; }
.tm-opcional { font-weight: 400; color: var(--tm-suave, #6b666e); }

/* El tema pinta un punto ámbar delante de cada `li` del contenido de la página
   (`.tm-pagina ul > li::before`). En las dos listas que aquí son navegación
   —las pestañas y la tira de locales— sobra, así que se apaga con un selector
   que le gane; medido en la web servida, que es donde se vio. */
.tm-area .tm-pestanas li,
.tm-area .tm-locales li {
	padding-left: 0;
	margin: 0;
}

.tm-area .tm-pestanas li::before,
.tm-area .tm-locales li::before { content: none; }


/* ======================================================================== *
 * Diseño aprobado del área (láminas 6 y 7, Nando, 3 nov 2026)
 *
 * Viene de `marketing/tastemallorca/web/estilos.css`, sección «Área del
 * restaurador», con los nombres de clase de aquí. Decisiones de Diseño que
 * cambian lo que había: la columna de etiquetas va **en crema**, las filas
 * cortas se emparejan **en el marcado** (`.tm-par`, con filete vertical), la
 * ayuda de cada campo se lee **bajo su etiqueta** y la barra de guardar es
 * pegajosa. En móvil la etiqueta va encima y sin fondo.
 * ======================================================================== */

/* --- Línea de estado --------------------------------------------------- */

.tm-estado-ficha {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 28px;
	align-items: center;
	padding: 20px 24px;
	background: #fff;
	border: 1px solid var(--tm-linea, #e8e4e6);
	border-radius: var(--tm-radio, 14px);
}

.tm-estado {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 30px;
	margin: 0;
	padding: 0 12px;
	border-radius: 999px;
	font-size: .81rem;
	font-weight: 800;
	background: #eeecef;
	color: #4a464c;
}

.tm-estado__punto {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
}

.tm-estado--publish { background: #e3f1e8; color: #1f5e38; }
.tm-estado--publish .tm-estado__punto { background: #2f8a52; }
.tm-estado--pending { background: #fdf0d3; color: #7a4d00; }
.tm-estado--pending .tm-estado__punto { background: #d68a00; }
.tm-estado--draft { background: #eeecef; color: #4a464c; }
.tm-estado--draft .tm-estado__punto { background: #8b868d; }
.tm-estado--private { background: #f6e1e8; color: #7a0236; }
.tm-estado--private .tm-estado__punto { background: var(--tm-granate, #89023e); }

.tm-estado-ficha__nombre {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 8px 0 0;
	font-size: 1.22rem;
	font-weight: 800;
	letter-spacing: -.01em;
}

.tm-estado-ficha__plan {
	padding: 3px 8px;
	border-radius: 999px;
	background: var(--tm-amarillo, #f8b233);
	color: var(--tm-tinta, #1f1d20);
	font-size: .69rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.tm-estado-ficha .tm-progreso { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.tm-estado-ficha .tm-progreso__barra { height: 8px; }
.tm-estado-ficha .tm-progreso__texto { margin: 0; font-size: .91rem; color: #4a464c; }

@media (max-width: 759px) {
	.tm-estado-ficha { grid-template-columns: 1fr; gap: 12px; padding: 16px; }
}

/* --- Selector de local: `details`, sin JavaScript ----------------------- */

.tm-locales { margin: 0 0 18px; }

.tm-locales > summary {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 44px;
	padding: 0 16px;
	border: 1px solid #ddd6da;
	border-radius: 999px;
	background: #fff;
	font-size: .88rem;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.tm-locales > summary::-webkit-details-marker { display: none; }
.tm-locales > summary::after { content: "▾"; color: var(--tm-suave, #6b666e); }
.tm-locales__cambiar { color: var(--tm-suave, #6b666e); font-weight: 600; }

.tm-locales__lista {
	display: grid;
	gap: 2px;
	max-height: 320px;
	overflow-y: auto;
	margin: 8px 0 0;
	padding: 6px;
	list-style: none;
	background: #fff;
	border: 1px solid var(--tm-linea, #e8e4e6);
	border-radius: var(--tm-radio-s, 8px);
	box-shadow: var(--tm-sombra, 0 8px 24px rgba(31, 29, 32, .1));
}

.tm-area .tm-locales__lista li { margin: 0; padding: 0; }
.tm-area .tm-locales__lista li::before { content: none; }

.tm-local {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 9px 12px;
	border-radius: var(--tm-radio-s, 8px);
	color: var(--tm-tinta, #1f1d20);
	font-size: .93rem;
	font-weight: 600;
	text-decoration: none;
}

.tm-local:hover { background: var(--tm-crema, #fdf8f1); }
.tm-local.es-activo { background: var(--tm-crema-tostada, #f6eee2); }
.tm-local__punto { width: 8px; height: 8px; border-radius: 50%; flex: none; }

/* --- Pestañas ---------------------------------------------------------- */

.tm-pestanas {
	margin: 26px 0 0;
	border-bottom: 1px solid #e3dde0;
	overflow-x: auto;
}

.tm-pestanas ul {
	display: flex;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
	min-width: max-content;
}

.tm-pestana {
	display: block;
	padding: 14px 18px 15px;
	color: #5e5a60;
	font-size: .93rem;
	font-weight: 650;
	text-decoration: none;
	white-space: nowrap;
}

.tm-pestana:hover { color: var(--tm-granate, #89023e); }

.tm-pestana.es-activa {
	color: var(--tm-tinta, #1f1d20);
	box-shadow: inset 0 -3px 0 var(--tm-granate, #89023e);
}

/* «+ Otro local» se va al final de la tira: no es una sección más. */
.tm-pestanas li:has(.tm-pestana--otro) { margin-left: auto; }
.tm-pestana--otro { color: var(--tm-granate, #89023e); }

.tm-pestana-cuerpo { padding: 0; }

/* El cuerpo de las pestañas que no son la ficha sí necesita su caja. */
.tm-pestana-cuerpo > section,
.tm-pestana-cuerpo > .tm-resultados,
.tm-pestana-cuerpo > .tm-suscripcion {
	background: #fff;
	border: 1px solid var(--tm-linea, #e8e4e6);
	border-top: 0;
	border-radius: 0 0 var(--tm-radio, 14px) var(--tm-radio, 14px);
	padding: clamp(18px, 3vw, 26px);
	margin-top: 0;
}

/* --- La ficha: tabla de dos columnas ------------------------------------ */

.tm-form--ficha {
	background: #fff;
	border: 1px solid var(--tm-linea, #e8e4e6);
	border-top: 0;
	border-radius: 0 0 var(--tm-radio, 14px) var(--tm-radio, 14px);
}

/* Nada de `overflow: hidden` aquí aunque venga bien para las esquinas: dentro
   de un ancestro recortado, `position: sticky` deja de pegar y la barra de
   guardar se queda al final del formulario. Medido. */
.tm-form--ficha > .tm-grupo:last-of-type .tm-fila:last-child { border-bottom: 0; }

.tm-form--ficha .tm-grupo {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

.tm-fila {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	border-bottom: 1px solid #efe9e2;
}

.tm-fila__et {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 18px 20px;
	background: var(--tm-crema, #fdf8f1);
	font-size: .91rem;
	font-weight: 700;
	color: var(--tm-tinta, #1f1d20);
}

.tm-fila__et label,
.tm-fila__titulo { margin: 0; font: inherit; }

.tm-fila__et .tm-ayuda {
	font-size: .78rem;
	font-weight: 500;
	color: #6d6458;
	line-height: 1.35;
}

.tm-fila__campo {
	display: flex;
	flex-direction: column;
	gap: 8px;
	justify-content: center;
	padding: 12px 20px;
}

/* Dos campos cortos por fila, con su filete en medio. */
.tm-par {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-bottom: 1px solid #efe9e2;
}

.tm-par .tm-fila { grid-template-columns: 150px minmax(0, 1fr); border-bottom: 0; }
.tm-par .tm-fila + .tm-fila { border-left: 1px solid #efe9e2; }

/* Un campo de pago en una cuenta básica: se ve, no se usa. */
.tm-fila--premium .tm-fila__campo { opacity: .55; }
.tm-fila--premium .tm-fila__campo .tm-ayuda { opacity: 1; }

.tm-sello-premium {
	display: inline-flex;
	width: max-content;
	padding: 3px 9px;
	border-radius: 999px;
	background: #fdf0d3;
	color: #7a4d00;
	font-size: .72rem;
	font-weight: 800;
}

.tm-form--ficha input[type="text"],
.tm-form--ficha input[type="email"],
.tm-form--ficha input[type="url"],
.tm-form--ficha input[type="tel"],
.tm-form--ficha input[type="password"],
.tm-form--ficha select {
	height: 46px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid #d9d2d6;
	border-radius: var(--tm-radio-s, 8px);
	font-size: .94rem;
}

.tm-form--ficha textarea {
	min-height: 96px;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid #d9d2d6;
	border-radius: var(--tm-radio-s, 8px);
	font-size: .94rem;
	line-height: 1.5;
}

.tm-form--ficha input:focus,
.tm-form--ficha select:focus,
.tm-form--ficha textarea:focus {
	border-color: var(--tm-granate, #89023e);
	box-shadow: 0 0 0 3px #f6e1e8;
	outline: 0;
}

/*
 * El campo con error va con borde granate y halo (lámina 6).
 *
 * Ojo con el selector: `.tm-form--ficha [aria-invalid="true"]` a secas **no
 * cambia el borde**. La regla de más arriba que pinta los campos es
 * `.tm-form--ficha input[type="text"]`, que lleva un tipo de elemento más y
 * por tanto gana. El halo sí entraba —esa regla no pone sombra—, así que el
 * campo salía gris con un resplandor rosa alrededor, que es peor que nada.
 * Medido en la página, no leído aquí: con el selector corto el borde salía
 * en rgb(217,210,214).
 */
.tm-form--ficha input[aria-invalid="true"],
.tm-form--ficha select[aria-invalid="true"],
.tm-form--ficha textarea[aria-invalid="true"] {
	border-color: var(--tm-error, #b3261e);
	box-shadow: 0 0 0 3px #fbe4e2;
}

.tm-error {
	margin: 0;
	font-size: .81rem;
	font-weight: 600;
	color: var(--tm-error, #b3261e);
}

/* --- Etiquetas (pastillas + buscador) ----------------------------------- */

.tm-tags__lista {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* El reset del punto ámbar del tema **no puede tocar el relleno**: la pastilla
   es el propio `li` y se quedaba con el texto pegado al borde (Nando, 5 nov). */
.tm-area .tm-tags__lista li { margin: 0; }
.tm-area .tm-tags__lista li::before { content: none; }
.tm-area .tm-tags__lista li.tm-tag { padding: 0 6px 0 16px; }

.tm-tag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 34px;
	/* Más aire a la izquierda: el texto se pegaba al borde (Nando, 5 nov). */
	padding: 0 6px 0 16px;
	border: 0;
	border-radius: var(--tm-radio-s, 8px);
	background: var(--tm-crema-tostada, #f6eee2);
	color: var(--tm-tinta, #1f1d20);
	font-size: .88rem;
	font-weight: 650;
}

/* La primera cocina es la principal: la que sale en el título de la ficha. */
.tm-tags--gastronomia .tm-tag:first-child {
	background: var(--tm-granate, #89023e);
	color: #fff;
}

.tm-tag__quitar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: none;
	color: inherit;
	font: inherit;
	font-size: .9rem;
	line-height: 1;
	opacity: .75;
	cursor: pointer;
}

.tm-tag__quitar:hover { opacity: 1; background: rgba(31, 29, 32, .08); }

.tm-tags__buscador { position: relative; max-width: 420px; }

.tm-tags__sugerencias {
	position: absolute;
	z-index: 20;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	max-height: 230px;
	overflow-y: auto;
	margin: 0;
	padding: 0;
	list-style: none;
	background: #fff;
	border: 1px solid #d9d2d6;
	border-radius: var(--tm-radio-s, 8px);
	box-shadow: 0 8px 24px rgba(31, 29, 32, .1);
}

.tm-area .tm-tags__sugerencias li { margin: 0; padding: 0; }
.tm-area .tm-tags__sugerencias li::before { content: none; }

.tm-tags__sugerencia {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 14px;
	font-size: .93rem;
	cursor: pointer;
}

.tm-tags__sugerencia:hover,
.tm-tags__sugerencia.es-activa { background: var(--tm-crema, #fdf8f1); }
.tm-tags__vacio { padding: 10px 14px; font-size: .88rem; color: #6d6458; }

/* --- Barra de guardar, pegajosa y sin JavaScript ------------------------ */

.tm-guardar {
	position: sticky;
	bottom: 0;
	z-index: 10;
	margin: 0;
	background: #fff;
	border-top: 1px solid #e3dde0;
	border-radius: 0 0 var(--tm-radio, 14px) var(--tm-radio, 14px);
	box-shadow: 0 -8px 24px rgba(31, 29, 32, .08);
}

.tm-guardar__fila {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 20px calc(14px + env(safe-area-inset-bottom));
}

.tm-guardar__nota { margin: 0; font-size: .89rem; color: #4a464c; }
.tm-guardar__botones { display: flex; align-items: center; gap: 12px; }

/* --- Móvil -------------------------------------------------------------- */

@media (max-width: 759px) {
	.tm-form--ficha { border-left: 0; border-right: 0; border-radius: 0; }

	.tm-fila,
	.tm-par,
	.tm-par .tm-fila { grid-template-columns: 1fr; }

	.tm-par .tm-fila + .tm-fila { border-left: 0; border-top: 1px solid #efe9e2; }

	/* En móvil la etiqueta va encima y sin crema. */
	.tm-fila__et { padding: 16px 16px 0; background: none; }
	.tm-fila__campo { padding: 8px 16px 16px; }

	/* 16 px: por debajo, iOS hace zoom al tocar el campo. */
	.tm-form--ficha input[type="text"],
	.tm-form--ficha input[type="email"],
	.tm-form--ficha input[type="url"],
	.tm-form--ficha input[type="tel"],
	.tm-form--ficha input[type="password"],
	.tm-form--ficha select,
	.tm-form--ficha textarea { height: 48px; font-size: 1rem; }

	.tm-form--ficha textarea { height: auto; }

	.tm-guardar__fila { flex-direction: column; align-items: stretch; }
	.tm-guardar .tm-boton { justify-content: center; width: 100%; }
}

/* --- Alta en tres pasos (lámina 7) ------------------------------------- */

.tm-barra-pasos {
	display: flex;
	gap: 6px;
	margin: 0 0 14px;
}

.tm-barra-pasos i {
	flex: 1;
	height: 5px;
	border-radius: 99px;
	background: #ece7e9;
}

.tm-barra-pasos i.es-hecho { background: var(--tm-granate, #89023e); }

.tm-planes-alta { display: grid; gap: 14px; margin: 0 0 6px; }

.tm-plan {
	position: relative;
	display: flex;
	gap: 14px;
	align-items: flex-start;
	margin: 0;
	padding: 16px;
	border: 1.5px solid #e3dde0;
	border-radius: var(--tm-radio, 14px);
	cursor: pointer;
	font-weight: 400;
}

/* `:has` para marcar la tarjeta entera sin una línea de JavaScript. */
.tm-plan:has(input:checked) {
	border-color: var(--tm-granate, #89023e);
	box-shadow: inset 0 0 0 1px var(--tm-granate, #89023e);
	background: #fffafc;
}

.tm-plan input { margin: 3px 0 0; accent-color: var(--tm-granate, #89023e); flex: none; }
.tm-plan__texto { display: block; flex: 1; }
.tm-plan__texto b { display: block; font-size: 1.05rem; }
.tm-plan__texto .tm-ayuda { margin-top: 3px; }

.tm-plan__precio {
	flex: none;
	text-align: right;
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--tm-tinta, #1f1d20);
}

.tm-plan__precio small { display: block; font-size: .72rem; font-weight: 500; color: #6d6458; }

.tm-plan__rec {
	position: absolute;
	top: -11px;
	left: 14px;
	padding: 3px 9px;
	border-radius: 999px;
	background: var(--tm-amarillo, #f8b233);
	color: var(--tm-tinta, #1f1d20);
	font-size: .66rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* --- Paso 3: revisa y paga --------------------------------------------- */

.tm-resumen {
	margin: 0 0 14px;
	padding: 16px 18px;
	background: var(--tm-crema, #fdf8f1);
	border-radius: var(--tm-radio, 14px);
	font-variant-numeric: tabular-nums;
}

.tm-resumen p {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 8px;
	font-size: .95rem;
}

.tm-resumen__total {
	margin: 10px 0 0;
	padding-top: 10px;
	border-top: 1px solid var(--tm-crema-borde, #efe5d6);
	font-size: 1.1rem;
	font-weight: 800;
}

.tm-pasos-pago {
	display: grid;
	gap: 10px;
	margin: 18px 0;
	padding: 0;
	list-style: none;
	counter-reset: paso-pago;
}

.tm-area .tm-pasos-pago li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 0;
	padding: 12px 14px;
	border-radius: 12px;
	background: #e3f1e8;
	color: #1f5e38;
	font-size: .89rem;
	counter-increment: paso-pago;
}

.tm-area .tm-pasos-pago li::before {
	content: counter(paso-pago);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	flex: none;
	border-radius: 999px;
	background: #1f5e38;
	color: #fff;
	font-size: .7rem;
	font-weight: 800;
	position: static;
}

/* El radio de las tarjetas de plan: los campos del área van a ancho completo,
   y aquí eso estiraba el botón y rompía la fila. */
.tm-form .tm-plan input[type="radio"] {
	width: 18px;
	height: 18px;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
	box-shadow: none;
}

.tm-form .tm-plan {
	display: flex;
	align-items: center;
	gap: 14px;
}

/* Interruptor «Abierto» del horario (lámina 6, 3 nov 2026). Es la misma
   casilla de siempre, repintada: así sigue funcionando con el teclado y sin
   JavaScript. */
.tm-horario__abierto { display: inline-flex; align-items: center; cursor: pointer; }

.tm-horario__abierto input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	position: relative;
	width: 42px;
	height: 24px;
	margin: 0;
	border: 0;
	border-radius: 999px;
	background: #ddd6da;
	cursor: pointer;
	transition: background-color .15s;
}

.tm-horario__abierto input[type="checkbox"]::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(31, 29, 32, .3);
	transition: transform .15s;
}

.tm-horario__abierto input[type="checkbox"]:checked { background: #2f8a52; }
.tm-horario__abierto input[type="checkbox"]:checked::after { transform: translateX(18px); }

.tm-horario__abierto input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--tm-granate, #89023e);
	outline-offset: 2px;
}

/* ---------------------------------------------------------------------- *
 * Barra de arriba del área y desplegable de etiquetas (5 nov 2026)
 * ---------------------------------------------------------------------- */

/* El botón de salir, arriba a la derecha; a su izquierda, el selector de
   local si hay más de uno. */
.tm-area__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.tm-area__top .tm-locales { margin: 0; }
.tm-area__top > .tm-boton--salir { margin-left: auto; }

.tm-boton--salir {
	height: 40px;
	padding: 0 16px;
	font-size: .88rem;
}

/* El desplegable que añade etiquetas va debajo de las pastillas y no ocupa
   toda la columna: es un control de «añadir», no un campo de la ficha. */
.tm-tags__select {
	max-width: 420px;
	width: 100%;
}

.tm-tags__select:disabled {
	background: #f3eff1;
	color: var(--tm-gris, #5e5a60);
	cursor: not-allowed;
}

/* Cambiar de plan en el paso 3: los dos enlaces en la misma línea, con aire
   sobre el desglose (5 nov 2026). */
.tm-cambiar-plan {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 18px;
	margin: 10px 0 18px;
}

.tm-cambiar-plan form { margin: 0; }
.tm-cambiar-plan .tm-boton--texto { height: auto; padding: 4px 0; font-size: .92rem; }
