/* WhatsApp UOL: botón flotante, globo de saludo, aviso de fuera de horario y bloque. */
.uolw {
	--uolw-verde: #25d366; --uolw-icono: #fff; --uolw-beige: #f5efe3; --uolw-texto: #1f2a24; --uolw-acento: #128c7e; --uolw-borde: #e3d8c3;
	--uolw-lado: var(--uolw-lado-c, 82px); --uolw-altura: var(--uolw-altura-c, 100px); --uolw-tam: var(--uolw-tam-c, 60px);
	position: fixed; z-index: var(--uolw-capa, 9990);
	width: var(--uolw-tam, 60px); height: var(--uolw-tam, 60px);
	font-family: var(--uolw-fuente, inherit); font-size: 15px; line-height: 1.45; color: var(--uolw-texto);
	-webkit-tap-highlight-color: transparent;
}
.uolw *, .uolw *::before, .uolw *::after { box-sizing: border-box; }
.uolw--abajo-derecha { right: var(--uolw-lado, 82px); bottom: calc(var(--uolw-altura, 100px) + env(safe-area-inset-bottom, 0px)); }
.uolw--abajo-izquierda { left: var(--uolw-lado, 82px); bottom: calc(var(--uolw-altura, 100px) + env(safe-area-inset-bottom, 0px)); }
.uolw--arriba-derecha { right: var(--uolw-lado, 82px); top: var(--uolw-altura, 100px); }
.uolw--arriba-izquierda { left: var(--uolw-lado, 82px); top: var(--uolw-altura, 100px); }
.admin-bar .uolw--arriba-derecha, .admin-bar .uolw--arriba-izquierda { top: calc(var(--uolw-altura, 100px) + 32px); }

.uolw__boton {
	position: relative; display: flex; align-items: center; justify-content: center;
	width: 100%; height: 100%; border-radius: 50%;
	background: var(--uolw-verde); color: var(--uolw-icono) !important; text-decoration: none !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .18), 0 2px 4px rgba(0, 0, 0, .12);
	transition: transform .18s ease, box-shadow .18s ease;
}
.uolw__boton:hover { transform: scale(1.06); box-shadow: 0 10px 24px rgba(0, 0, 0, .22), 0 2px 6px rgba(0, 0, 0, .14); }
.uolw__boton:focus-visible { outline: 3px solid var(--uolw-acento); outline-offset: 3px; }
.uolw__boton svg { width: 56%; height: 56%; display: block; }
.uolw__avatar {
	position: absolute; top: -4px; left: -6px; width: 42%; height: 42%; border-radius: 50%;
	background: #ddd center / cover no-repeat; border: 2px solid #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .2);
}
.uolw--abajo-izquierda .uolw__avatar, .uolw--arriba-izquierda .uolw__avatar { left: auto; right: -6px; }
.uolw__avatar[hidden] { display: none; }
.uolw__punto {
	position: absolute; right: 2px; bottom: 2px; width: 14px; height: 14px; border-radius: 50%;
	background: #a9a9a9; border: 2px solid #fff;
}
.uolw--abajo-izquierda .uolw__punto, .uolw--arriba-izquierda .uolw__punto { right: auto; left: 2px; }
.uolw.is-en-linea .uolw__punto { background: #0b7a3e; }
@media (prefers-reduced-motion: no-preference) {
	.uolw.is-en-linea .uolw__punto { animation: uolw-latido 2.4s ease-out infinite; }
}
@keyframes uolw-latido { 0% { box-shadow: 0 0 0 0 rgba(49, 194, 106, .55); } 70%, 100% { box-shadow: 0 0 0 8px rgba(49, 194, 106, 0); } }

/* Globo de saludo y aviso: arriba del botón (o debajo si está arriba). */
.uolw__globo, .uolw__panel {
	position: absolute; width: max-content; max-width: min(var(--uolw-panel-w, 320px), calc(100vw - var(--uolw-lado, 82px) - 16px));
	background: var(--uolw-beige); color: var(--uolw-texto); border: 1px solid var(--uolw-borde);
	border-radius: var(--uolw-radio, 16px); box-shadow: 0 14px 36px rgba(0, 0, 0, .18);
	text-align: left;
}
.uolw--abajo-derecha .uolw__globo, .uolw--abajo-derecha .uolw__panel { right: 0; bottom: calc(100% + 14px); }
.uolw--abajo-izquierda .uolw__globo, .uolw--abajo-izquierda .uolw__panel { left: 0; bottom: calc(100% + 14px); }
.uolw--arriba-derecha .uolw__globo, .uolw--arriba-derecha .uolw__panel { right: 0; top: calc(100% + 14px); }
.uolw--arriba-izquierda .uolw__globo, .uolw--arriba-izquierda .uolw__panel { left: 0; top: calc(100% + 14px); }
.uolw__globo[hidden], .uolw__panel[hidden] { display: none; }
@media (prefers-reduced-motion: no-preference) {
	.uolw__globo:not([hidden]), .uolw__panel:not([hidden]) { animation: uolw-entra .22s ease-out; }
}
@keyframes uolw-entra { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.uolw__globo { display: flex; gap: 12px; align-items: center; padding: 12px 34px 12px 12px; cursor: pointer; width: max-content; min-width: 220px; }
.uolw__globo-foto { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; background: #ddd center / cover no-repeat; border: 2px solid #fff; }
.uolw__globo-foto[hidden] { display: none; }
.uolw__globo-texto { display: flex; flex-direction: column; gap: 2px; }
.uolw__globo-saludo { font-weight: 600; }
.uolw__globo-quien { font-size: .86em; opacity: .8; }
.uolw__globo-quien:empty { display: none; }
.uolw__globo .uolw__privacidad { margin-top: 2px; }

.uolw__panel { width: var(--uolw-panel-w, 320px); padding: var(--uolw-relleno, 18px); }
.uolw__panel p { margin: 0 0 10px; }
.uolw__panel-titulo { font-weight: 700; font-size: 1.08em; color: var(--uolw-acento); padding-right: 22px; }
.uolw__vuelve { font-weight: 600; }
.uolw__vuelve[hidden] { display: none; }
.uolw__horarios { list-style: none; margin: 0 0 14px; padding: 10px 0 0; border-top: 1px solid var(--uolw-borde); font-size: .9em; }
.uolw__horarios[hidden] { display: none; }
.uolw__horarios li { margin: 0 0 4px; }
.uolw__dejar, .uolw-b__boton {
	display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px;
	background: var(--uolw-verde); color: var(--uolw-icono) !important; font-weight: 600; text-decoration: none !important;
	transition: filter .15s ease;
}
.uolw__dejar:hover, .uolw-b__boton:hover { filter: brightness(.94); }
.uolw__dejar[hidden], .uolw-b__boton[hidden] { display: none; }
.uolw__dejar svg, .uolw-b__boton svg { width: 20px; height: 20px; flex: 0 0 20px; }
.uolw__privacidad { display: block; margin: 10px 0 0 !important; font-size: .76em; opacity: .7; }
.uolw__globo .uolw__privacidad { margin: 2px 0 0 !important; }
.uolw__cerrar {
	position: absolute; top: 6px; right: 6px; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 50%;
	background: transparent; color: inherit; font-size: 20px; line-height: 26px; cursor: pointer; opacity: .6;
}
.uolw__cerrar:hover, .uolw__cerrar:focus-visible { opacity: 1; background: rgba(0, 0, 0, .06); }

/* Vista previa en Ajustes: encima de todo, sin tapar el botón Guardar. */
.uolw--vista { z-index: 99999; }

/* Bloque "Atención por WhatsApp UOL". */
.uolw-b {
	--uolw-verde: #25d366; --uolw-icono: #fff; --uolw-beige: #f5efe3; --uolw-texto: #1f2a24; --uolw-acento: #128c7e; --uolw-borde: #e3d8c3;
	box-sizing: border-box; font-family: var(--uolw-fuente, inherit);
}
.uolw-b *, .uolw-b *::before { box-sizing: border-box; }
.uolw-b__interior {
	width: var(--uolw-ancho, 720px); max-width: 100%; margin-inline: auto;
	background: var(--uolw-tarjeta, var(--uolw-beige)); color: var(--uolw-texto-t, var(--uolw-texto));
	border: 1px solid var(--uolw-borde); border-radius: var(--uolw-radio, 16px); padding: var(--uolw-relleno, 28px);
}
.uolw-b__titulo { font-family: var(--uolw-fuente-tit, inherit); font-size: 1.6em; line-height: 1.15; font-weight: 700; margin: 0 0 8px; color: var(--uolw-acento); }
.uolw-b__bajada { margin: 0 0 20px; opacity: .85; }
.uolw-b__ops { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin: 0 0 20px; }
.uolw-b__op { display: flex; gap: 12px; align-items: center; padding: 12px; border-radius: calc(var(--uolw-radio, 16px) * .75); background: rgba(255, 255, 255, .6); border: 1px solid var(--uolw-borde); }
.uolw-b__foto { position: relative; flex: 0 0 56px; width: 56px; height: 56px; border-radius: 50%; background: #ddd center / cover no-repeat; border: 2px solid #fff; }
.uolw-b__foto::after { content: ""; position: absolute; right: 0; bottom: 0; width: 13px; height: 13px; border-radius: 50%; background: #a9a9a9; border: 2px solid #fff; }
.uolw-b__op.is-en-linea .uolw-b__foto::after { background: #31c26a; }
.uolw-b__op-texto { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.uolw-b__nombre { font-weight: 700; }
.uolw-b__cargo, .uolw-b__horario { font-size: .86em; opacity: .8; }
.uolw-b__estado { font-size: .8em; font-weight: 600; color: #6b6b6b; }
.uolw-b__op.is-en-linea .uolw-b__estado { color: var(--uolw-acento); }
.uolw-b__op-enlace { color: inherit !important; text-decoration: none !important; display: contents; }
.uolw-b__nota { margin: 0 0 12px; font-weight: 600; }
.uolw-b__nota[hidden] { display: none; }
.uolw-b .uolw__privacidad { margin-top: 12px !important; }
