/* TeknicoPC WhatsApp. Sin dependencias; usa las variables del tema si existen. */

.tkw {
	--tkw-verde: #12924a;
	--tkw-verde-hover: #0f7a3e;
	--tkw-fondo: var(--wp--preset--color--surface, #101730);
	--tkw-linea: var(--wp--preset--color--line, #243058);
	--tkw-texto: var(--wp--preset--color--contrast, #e8edf7);
	--tkw-suave: var(--wp--preset--color--muted, #9aa6c4);
	--tkw-acento: var(--wp--preset--color--accent, #3db4ff);

	position: fixed;
	bottom: max(1rem, env(safe-area-inset-bottom));
	z-index: 9999;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 0.95rem;
	line-height: 1.35;
}

.tkw--derecha {
	right: max(1rem, env(safe-area-inset-right));
	align-items: flex-end;
}

.tkw--izquierda {
	left: max(1rem, env(safe-area-inset-left));
	align-items: flex-start;
}

.tkw__boton {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	min-height: 3.5rem;
	padding: 0 1.1rem 0 0.95rem;
	border-radius: 999px;
	background: var(--tkw-verde);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	box-shadow: 0 6px 20px rgb(0 0 0 / 0.35);
	transition: background-color 0.2s ease;
}

.tkw__boton:hover {
	background: var(--tkw-verde-hover);
	color: #fff;
}

.tkw__boton:focus-visible,
.tkw__opcion:focus-visible {
	outline: 3px solid var(--tkw-acento);
	outline-offset: 3px;
}

.tkw__icono {
	flex: none;
}

/* En pantallas chicas el botón queda solo con el icono. */
@media (max-width: 640px) {
	.tkw__boton {
		width: 3.5rem;
		padding: 0;
		justify-content: center;
	}

	.tkw__texto {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}
}

.tkw__panel {
	width: min(20rem, calc(100vw - 2rem));
	padding: 1rem;
	background: var(--tkw-fondo);
	color: var(--tkw-texto);
	border: 1px solid var(--tkw-linea);
	border-radius: 10px;
	box-shadow: 0 10px 30px rgb(0 0 0 / 0.4);
}

.tkw__panel[hidden] {
	display: none;
}

.tkw__titulo {
	margin: 0 0 0.75rem;
	font-weight: 600;
}

.tkw__opcion {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	padding: 0.75rem 0.85rem;
	border: 1px solid var(--tkw-linea);
	border-radius: 8px;
	color: var(--tkw-texto);
	text-decoration: none;
}

.tkw__opcion + .tkw__opcion {
	margin-top: 0.5rem;
}

.tkw__opcion span {
	color: var(--tkw-suave);
	font-size: 0.85rem;
}

.tkw__opcion:hover {
	border-color: var(--tkw-acento);
	color: var(--tkw-texto);
}

.tkw__horario {
	margin: 0.75rem 0 0;
	color: var(--tkw-suave);
	font-size: 0.85rem;
}

/* Estilo de dos botones: ambos con el número a la vista, también en el celular. */
.tkw--doble {
	gap: 0.6rem;
}

.tkw--doble .tkw__boton {
	min-height: 3rem;
	padding: 0 1.1rem 0 0.9rem;
	border: 2px solid var(--tkw-verde);
	font-variant-numeric: tabular-nums;
}

.tkw--doble .tkw__boton--secundario {
	background: #fff;
	color: var(--tkw-verde);
	box-shadow: 0 4px 14px rgb(0 0 0 / 0.25);
}

.tkw--doble .tkw__boton--secundario:hover {
	background: #eef8f1;
	color: var(--tkw-verde-hover);
}

@media (max-width: 640px) {
	.tkw--doble .tkw__boton {
		width: auto;
		padding: 0 1rem 0 0.8rem;
	}

	.tkw--doble .tkw__texto {
		position: static;
		width: auto;
		height: auto;
		overflow: visible;
		clip-path: none;
	}
}

@media print {
	.tkw {
		display: none;
	}
}
