/* Asistente Legal Chat — estilos con prefijo .alc- para no interferir con el tema. */
.alc-root {
	--alc-color: #1f3a5f;
	--alc-offset: 24px;
	--alc-text: #1d2327;
	--alc-muted: #5c6770;
	--alc-bg: #ffffff;
	--alc-soft: #f3f5f8;
	position: fixed;
	bottom: var(--alc-offset);
	right: 24px;
	z-index: 99990;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 15px;
	line-height: 1.45;
	color: var(--alc-text);
	text-align: left;
}
.alc-root.alc-pos-left { right: auto; left: 24px; }
.alc-root *, .alc-root *::before, .alc-root *::after { box-sizing: border-box; }
.alc-root [hidden] { display: none !important; }

.alc-root .alc-sr-only {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Reset de botones (Impreza aplica estilos globales). */
.alc-root button {
	margin: 0; font: inherit; text-transform: none; letter-spacing: normal; line-height: 1.2;
	box-shadow: none; min-height: 0; width: auto; cursor: pointer; border-radius: 0;
}
.alc-root button:focus-visible, .alc-root a:focus-visible, .alc-root textarea:focus-visible, .alc-root .alc-messages:focus-visible {
	outline: 3px solid #ffbf47; outline-offset: 2px;
}

.alc-root .alc-launcher {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 12px 18px; border: 0; border-radius: 999px;
	background: var(--alc-color); color: #fff;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .25);
	font-weight: 600; font-size: 15px;
	transition: transform .15s ease, box-shadow .15s ease;
}
.alc-root .alc-launcher:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0, 0, 0, .3); }
.alc-root.alc-open .alc-launcher { display: none; }

.alc-root .alc-panel {
	/* Desktop (1.1.7): panel modal centrado ~60% del viewport.
	   Centrado con inset + margin:auto (sin transform) para no chocar con blindajes SVG. */
	position: fixed;
	top: 0; right: 0; bottom: 0; left: 0;
	margin: auto;
	width: 60vw; min-width: 420px; max-width: min(900px, calc(100vw - 32px));
	height: 60vh; max-height: calc(100vh - 48px);
	display: flex; flex-direction: column;
	background: var(--alc-bg); border-radius: 14px; overflow: hidden;
	box-shadow: 0 12px 40px rgba(0, 0, 0, .28);
}
/* La posición left/right del launcher ya no mueve el panel (queda centrado). */

.alc-root .alc-header {
	display: flex; align-items: center; gap: 4px;
	padding: 12px 10px 12px 16px; background: var(--alc-color); color: #fff;
}
.alc-root .alc-title-wrap { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; }
.alc-root .alc-logo-editar { width: 28px; height: 28px; border-radius: 4px; object-fit: contain; flex: 0 0 auto; }
.alc-root .alc-title { margin: 0; padding: 0; font-size: 16px; font-weight: 600; color: #fff; line-height: 1.3; font-family: inherit; text-transform: none; letter-spacing: normal; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.alc-root .alc-icon-btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; padding: 0; border: 0; border-radius: 8px;
	background: transparent; color: #fff;
}
.alc-root .alc-icon-btn:hover { background: rgba(255, 255, 255, .15); }

.alc-root .alc-body { flex: 1; min-height: 0; display: flex; flex-direction: column; background: var(--alc-soft); }
.alc-root .alc-messages { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; }

.alc-root .alc-msg { max-width: 88%; padding: 10px 12px; border-radius: 12px; word-wrap: break-word; overflow-wrap: anywhere; }
.alc-root .alc-msg p { margin: 0 0 .6em; }
.alc-root .alc-msg p:last-child { margin-bottom: 0; }
.alc-root .alc-msg ul, .alc-root .alc-msg ol { margin: 0 0 .6em 1.2em; padding: 0; }
.alc-root .alc-msg a { color: var(--alc-color); text-decoration: underline; }
.alc-root .alc-msg-bot { align-self: flex-start; background: #fff; border: 1px solid #e2e6ea; }
.alc-root .alc-msg-user { align-self: flex-end; background: var(--alc-color); color: #fff; }
.alc-root .alc-msg-error { background: #fdf0f0; border-color: #f1c6c6; color: #8a1f1f; }
.alc-root .alc-pre { white-space: pre-wrap; }
.alc-root .alc-typing { color: var(--alc-muted); font-style: italic; }

.alc-root .alc-gate { padding: 14px; border-top: 1px solid #e2e6ea; background: #fff; }
.alc-root .alc-gate-msg p { margin: 0 0 .6em; }
.alc-root .alc-gate-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.alc-root .alc-btn {
	display: inline-block; padding: 9px 14px; border-radius: 8px; text-decoration: none;
	border: 2px solid var(--alc-color); color: var(--alc-color); background: #fff; font-weight: 600; line-height: 1.2;
}
.alc-root .alc-btn-primary { background: var(--alc-color); color: #fff; }
.alc-root .alc-btn:hover { opacity: .9; }

.alc-root .alc-history { flex: 1; overflow-y: auto; padding: 12px 14px; }
.alc-root .alc-history-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.alc-root .alc-history-title { margin: 0; font-size: 15px; font-weight: 600; font-family: inherit; color: var(--alc-text); text-transform: none; }
.alc-root .alc-history-list { list-style: none; margin: 0; padding: 0; }
.alc-root .alc-history-list li { margin: 0 0 6px; padding: 0; list-style: none; }
.alc-root .alc-history-item {
	display: block; width: 100%; text-align: left; padding: 10px 12px;
	background: #fff; border: 1px solid #e2e6ea; border-radius: 10px; color: var(--alc-text);
}
.alc-root .alc-history-item:hover { border-color: var(--alc-color); }
.alc-root .alc-history-item-title { display: block; font-weight: 600; }
.alc-root .alc-history-item-meta { display: block; font-size: 12px; color: var(--alc-muted); margin-top: 2px; }
.alc-root .alc-history-empty { color: var(--alc-muted); }
.alc-root .alc-link-btn { padding: 4px 0; border: 0; background: none; color: var(--alc-color); text-decoration: underline; font-size: 14px; }

.alc-root .alc-form { display: flex; align-items: flex-end; gap: 8px; padding: 10px 12px; border-top: 1px solid #e2e6ea; background: #fff; margin: 0; }
.alc-root .alc-input {
	flex: 1; resize: none; min-height: 44px; max-height: 140px; margin: 0;
	padding: 10px 12px; border: 1px solid #c3c9cf; border-radius: 10px;
	font: inherit; font-size: 15px; color: var(--alc-text); background: #fff; box-shadow: none;
}
.alc-root .alc-input:focus { border-color: var(--alc-color); }
.alc-root .alc-send {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; padding: 0; border: 0; border-radius: 10px;
	background: var(--alc-color); color: #fff;
}
.alc-root .alc-send[disabled] { opacity: .5; cursor: wait; }

.alc-root .alc-footer {
	display: flex; flex-direction: column; align-items: stretch; gap: 8px;
	padding: 4px 14px 14px; background: #fff; font-size: 12px; color: var(--alc-muted);
}
.alc-root .alc-footer-meta {
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px;
}
.alc-root .alc-remaining, .alc-root .alc-chars { line-height: 1.35; }
.alc-root .alc-powered {
	display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 6px;
	margin: 0; font-size: 11px; line-height: 1.3; color: var(--alc-muted);
}
.alc-root .alc-powered-label { flex: 0 0 auto; }
.alc-root .alc-powered-link { display: inline-flex; align-items: center; line-height: 0; }
.alc-root .alc-logo-acuciante { height: 20px; width: auto; max-width: 140px; object-fit: contain; }
.alc-root .alc-disclaimer {
	margin: 0; padding: 0; font-size: 11px; line-height: 1.45; color: var(--alc-muted);
	white-space: normal; overflow-wrap: anywhere; word-wrap: break-word;
}

/* Fragmentos copiables */
.alc-root .alc-fragment {
	position: relative; padding: 10px 36px 10px 12px; margin: .6em 0;
	border-left: 3px solid var(--alc-color); border-radius: 8px;
	background: var(--alc-soft);
}
.alc-root .alc-fragment-text {
	margin: 0; padding: 0; border: 0; background: transparent;
	font: inherit; font-size: 14px; line-height: 1.45; color: var(--alc-text);
	white-space: pre-wrap; word-wrap: break-word; overflow-wrap: anywhere;
}
.alc-root .alc-msg blockquote.alc-fragment { margin: .6em 0; }
.alc-root .alc-copy-btn {
	position: absolute; top: 6px; right: 6px;
	width: 28px; height: 28px; padding: 0; border: 0; border-radius: 6px;
	background: rgba(0, 0, 0, .06); color: var(--alc-color); cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
}
.alc-root .alc-copy-btn:hover, .alc-root .alc-copy-btn:focus-visible {
	background: rgba(0, 0, 0, .12);
}
.alc-root .alc-copy-icon {
	display: block; width: 16px; height: 16px; fill: currentColor;
}

/* Aviso de fase de desarrollo */
.alc-root .alc-dev-banner {
	padding: 8px 14px;
	background: #fff8e5;
	color: #6b4e00;
	font-size: 12px;
	line-height: 1.35;
	border-bottom: 1px solid #f0e0a8;
	text-align: center;
}
/* Respuesta diferida pendiente */
.alc-root .alc-pending { color: var(--alc-muted); }
.alc-root .alc-dots { display: inline-flex; gap: 3px; margin-right: 6px; vertical-align: middle; }
.alc-root .alc-dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--alc-color); opacity: .3; animation: alc-blink 1.2s infinite ease-in-out; }
.alc-root .alc-dots i:nth-child(2) { animation-delay: .2s; }
.alc-root .alc-dots i:nth-child(3) { animation-delay: .4s; }
@keyframes alc-blink { 0%, 80%, 100% { opacity: .3; } 40% { opacity: 1; } }

/* Aviso de respuesta nueva sobre el botón */
.alc-root .alc-launcher { position: relative; }
.alc-root .alc-badge {
	position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px; padding: 0 6px;
	border-radius: 10px; background: #d63638; color: #fff; font-size: 12px; line-height: 20px; text-align: center;
	box-shadow: 0 0 0 2px #fff;
}

@media (max-width: 600px) {
	.alc-root { right: 12px; bottom: calc(var(--alc-offset) * .6); }
	.alc-root.alc-pos-left { left: 12px; }
	.alc-root .alc-launcher-label { display: none; }
	.alc-root .alc-launcher { padding: 14px; }
	.alc-root.alc-open { top: 0; right: 0; bottom: 0; left: 0; }
	.alc-root.alc-open .alc-panel {
		position: fixed; top: 0; right: 0; bottom: 0; left: 0; margin: 0;
		width: 100%; max-width: none; min-width: 0;
		height: 100%; max-height: none; border-radius: 0;
	}
	.alc-root .alc-input { font-size: 16px; } /* evita zoom en iOS */
}

@media (prefers-reduced-motion: reduce) {
	.alc-root .alc-launcher { transition: none; }
	.alc-root .alc-dots i { animation: none; opacity: .7; }
	.alc-root svg.alc-face,
	.alc-root svg.alc-face .alc-face-eye,
	.alc-root svg.alc-face .alc-face-lid,
	.alc-root svg.alc-face .alc-face-pupil { animation: none !important; transition: none !important; transform: none !important; }
}

/* ==========================================================================
   Blindaje contra estilos globales del tema (Impreza / WPBakery, etc.), 1.1.2.
   Selectores con #alc-root + !important en las propiedades que los temas suelen pisar.
   ========================================================================== */
#alc-root, #alc-root * { text-transform: none !important; letter-spacing: normal !important; text-shadow: none !important; }
#alc-root [hidden] { display: none !important; }
#alc-root .alc-sr-only {
	position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important;
	overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important;
}

/* Botones: reset común. */
#alc-root button {
	-webkit-appearance: none !important; appearance: none !important;
	margin: 0 !important; min-width: 0 !important; min-height: 0 !important; max-width: none !important;
	font-family: inherit !important; line-height: 1.2 !important;
	box-shadow: none !important; text-decoration: none !important;
	vertical-align: middle !important; float: none !important;
}
#alc-root button::before, #alc-root button::after { content: none !important; display: none !important; }

/* Íconos SVG: siempre visibles, tamaño fijo y blancos. */
#alc-root svg.alc-svg {
	display: block !important; visibility: visible !important; opacity: 1 !important;
	position: static !important; flex: 0 0 auto !important; margin: 0 !important; padding: 0 !important;
	max-width: none !important; max-height: none !important; overflow: visible !important;
	fill: #fff !important; stroke: none !important; color: #fff !important; transform: none !important;
	pointer-events: none !important;
}
#alc-root svg.alc-svg path { display: inline !important; visibility: visible !important; fill: #fff !important; stroke: none !important; opacity: 1 !important; }
#alc-root .alc-launcher svg.alc-svg { width: 22px !important; height: 22px !important; min-width: 22px !important; }
#alc-root .alc-launcher svg.alc-svg.alc-face { width: 24px !important; height: 24px !important; min-width: 24px !important; }
#alc-root .alc-icon-btn svg.alc-svg { width: 18px !important; height: 18px !important; min-width: 18px !important; }
#alc-root .alc-send svg.alc-svg { width: 20px !important; height: 20px !important; min-width: 20px !important; }

/* Botón flotante. */
#alc-root .alc-launcher {
	display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important;
	width: auto !important; height: auto !important; padding: 12px 18px !important;
	border: 0 !important; border-radius: 999px !important;
	background-color: var(--alc-color) !important; color: #fff !important;
	font-size: 15px !important; font-weight: 600 !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .25) !important; cursor: pointer !important;
}
#alc-root .alc-launcher .alc-launcher-label { display: inline !important; color: #fff !important; font-size: 15px !important; line-height: 1.2 !important; }
#alc-root .alc-launcher.alc-booting { cursor: progress !important; opacity: .85 !important; }
#alc-root.alc-open .alc-launcher { display: none !important; }

/* Botones de ícono del encabezado (historial, nueva conversación, cerrar). */
#alc-root .alc-icon-btn {
	display: inline-flex !important; align-items: center !important; justify-content: center !important;
	width: 34px !important; height: 34px !important; padding: 0 !important;
	border: 0 !important; border-radius: 8px !important; color: #fff !important;
	background-color: transparent !important; background-repeat: no-repeat !important;
	background-position: center !important; background-size: 18px 18px !important;
	font-size: 0 !important; cursor: pointer !important;
}
#alc-root .alc-icon-btn:hover, #alc-root .alc-icon-btn:focus-visible { background-color: rgba(255, 255, 255, .15) !important; }
/* Respaldo: el mismo ícono como imagen de fondo, exactamente debajo del SVG. */
#alc-root .alc-history-btn { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M13 3a9 9 0 0 0-9 9H1l4 4 4-4H6a7 7 0 1 1 2.05 4.95l-1.42 1.42A9 9 0 1 0 13 3zm-1 5v5l4.25 2.52.77-1.28-3.52-2.09V8H12z'/%3E%3C/svg%3E") !important; }
#alc-root .alc-new { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M12 5V2L8 6l4 4V7a5 5 0 1 1-5 5H5a7 7 0 1 0 7-7z'/%3E%3C/svg%3E") !important; }
#alc-root .alc-close { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M18.3 5.7 12 12l6.3 6.3-1.4 1.4L10.6 13.4 4.3 19.7 2.9 18.3 9.2 12 2.9 5.7 4.3 4.3l6.3 6.3 6.3-6.3z'/%3E%3C/svg%3E") !important; }

/* Botón enviar. */
#alc-root .alc-send {
	display: inline-flex !important; align-items: center !important; justify-content: center !important;
	flex: 0 0 44px !important; width: 44px !important; height: 44px !important; padding: 0 !important;
	border: 0 !important; border-radius: 10px !important;
	background-color: var(--alc-color) !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M2 21 23 12 2 3v7l15 2-15 2z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important; background-position: center !important; background-size: 20px 20px !important;
	color: #fff !important; font-size: 0 !important; cursor: pointer !important;
}
#alc-root .alc-send[disabled] { opacity: .5 !important; cursor: wait !important; }

/* Botones de texto y elementos de la lista de historial. */
#alc-root .alc-link-btn { display: inline !important; width: auto !important; height: auto !important; padding: 4px 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; color: var(--alc-color) !important; text-decoration: underline !important; font-size: 14px !important; }
#alc-root .alc-history-item { display: block !important; width: 100% !important; height: auto !important; padding: 10px 12px !important; border: 1px solid #e2e6ea !important; border-radius: 10px !important; background: #fff !important; color: var(--alc-text) !important; text-align: left !important; font-size: 14px !important; }
#alc-root .alc-btn { text-decoration: none !important; border-radius: 8px !important; box-shadow: none !important; line-height: 1.2 !important; }

/* Campo de texto. */
#alc-root .alc-form { margin: 0 !important; padding: 10px 12px !important; display: flex !important; align-items: flex-end !important; gap: 8px !important; }
#alc-root .alc-form[hidden] { display: none !important; }
#alc-root textarea.alc-input {
	-webkit-appearance: none !important; appearance: none !important;
	display: block !important; flex: 1 1 auto !important; width: auto !important; max-width: none !important;
	height: auto !important; min-height: 44px !important; max-height: 140px !important; margin: 0 !important;
	padding: 10px 12px !important; border: 1px solid #c3c9cf !important; border-radius: 10px !important;
	background: #fff !important; color: var(--alc-text) !important; box-shadow: none !important;
	font-family: inherit !important; font-size: 15px !important; line-height: 1.4 !important; resize: none !important;
}
#alc-root textarea.alc-input:focus { border-color: var(--alc-color) !important; }
#alc-root textarea.alc-input[readonly] { background: #f6f7f9 !important; }

/* Títulos dentro del panel. */
#alc-root .alc-title { margin: 0 !important; padding: 0 !important; border: 0 !important; color: #fff !important; font-size: 16px !important; line-height: 1.3 !important; font-weight: 600 !important; }
#alc-root .alc-title::before, #alc-root .alc-title::after { content: none !important; }

@media (max-width: 600px) {
	/* Sólo ícono: carita de respaldo como fondo centrado. */
	#alc-root .alc-launcher {
		padding: 14px !important; width: 50px !important; height: 50px !important;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%23111'/%3E%3Cg transform='rotate(-18 7.9 11.4)'%3E%3Crect x='6.35' y='8.2' width='3.1' height='6.4' rx='1.55' fill='%23fff'/%3E%3C/g%3E%3Cg transform='rotate(18 16.1 11.4)'%3E%3Crect x='14.55' y='8.2' width='3.1' height='6.4' rx='1.55' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E") !important; background-repeat: no-repeat !important;
		background-position: center !important; background-size: 24px 24px !important;
	}
	#alc-root .alc-launcher .alc-launcher-label { display: none !important; }
	#alc-root .alc-launcher svg.alc-face { width: 24px !important; height: 24px !important; min-width: 24px !important; }
	#alc-root textarea.alc-input { font-size: 16px !important; }
}

/* Contenido de los botones (texto del botón flotante y aviso de respuesta nueva) siempre visible. */
#alc-root button * { visibility: visible !important; }
#alc-root .alc-launcher .alc-badge {
	display: block !important; position: absolute !important; top: -4px !important; right: -4px !important;
	min-width: 20px !important; height: 20px !important; padding: 0 6px !important; margin: 0 !important;
	border-radius: 10px !important; background: #d63638 !important; color: #fff !important;
	font-size: 12px !important; line-height: 20px !important; text-align: center !important; box-shadow: 0 0 0 2px #fff !important;
}


/* Aviso de desarrollo: visible aunque el tema pise estilos. */
#alc-root .alc-dev-banner {
	display: block !important; visibility: visible !important; opacity: 1 !important;
	padding: 8px 14px !important; margin: 0 !important;
	background: #fff8e5 !important; color: #6b4e00 !important;
	font-size: 12px !important; line-height: 1.35 !important; font-weight: 500 !important;
	border: 0 !important; border-bottom: 1px solid #f0e0a8 !important;
	text-align: center !important; text-transform: none !important; letter-spacing: normal !important;
}
/* Logos, powered by y botón copiar (1.1.4): Impreza no debe ocultarlos. */
#alc-root .alc-title-wrap {
	display: flex !important; align-items: center !important; gap: 8px !important;
	flex: 1 1 auto !important; min-width: 0 !important; visibility: visible !important;
}
#alc-root .alc-logo-editar {
	display: block !important; visibility: visible !important; opacity: 1 !important;
	width: 28px !important; height: 28px !important; max-width: 28px !important; max-height: 28px !important;
	border-radius: 4px !important; object-fit: contain !important; flex: 0 0 auto !important;
	margin: 0 !important; padding: 0 !important;
}
#alc-root .alc-footer {
	display: flex !important; flex-direction: column !important; align-items: stretch !important;
	visibility: visible !important; gap: 8px !important; padding: 4px 14px 14px !important;
	overflow: visible !important;
}
#alc-root .alc-footer-meta {
	display: flex !important; flex-wrap: wrap !important; justify-content: space-between !important;
	align-items: baseline !important; gap: 4px 12px !important; visibility: visible !important;
}
#alc-root .alc-powered {
	display: flex !important; visibility: visible !important; opacity: 1 !important;
	align-items: center !important; justify-content: flex-start !important; flex-wrap: wrap !important;
	gap: 6px !important; margin: 0 !important; font-size: 11px !important; line-height: 1.3 !important;
	color: var(--alc-muted) !important;
}
#alc-root .alc-powered-label { display: inline !important; visibility: visible !important; }
#alc-root .alc-powered-link {
	display: inline-flex !important; align-items: center !important; line-height: 0 !important;
	visibility: visible !important;
}
#alc-root .alc-logo-acuciante {
	display: block !important; visibility: visible !important; opacity: 1 !important;
	height: 20px !important; width: auto !important; max-width: 140px !important;
	object-fit: contain !important; margin: 0 !important; padding: 0 !important;
}
#alc-root .alc-disclaimer {
	display: block !important; visibility: visible !important; opacity: 1 !important;
	margin: 0 !important; padding: 0 !important; font-size: 11px !important; line-height: 1.45 !important;
	color: var(--alc-muted) !important; white-space: normal !important;
	overflow: visible !important; overflow-wrap: anywhere !important; word-wrap: break-word !important;
	max-height: none !important; text-overflow: clip !important;
}
#alc-root .alc-fragment {
	position: relative !important; visibility: visible !important;
	padding: 10px 36px 10px 12px !important; margin: .6em 0 !important;
	border-left: 3px solid var(--alc-color) !important; border-radius: 8px !important;
	background: var(--alc-soft) !important;
}
#alc-root .alc-fragment-text {
	display: block !important; visibility: visible !important;
	margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important;
	font: inherit !important; font-size: 14px !important; color: var(--alc-text) !important;
	white-space: pre-wrap !important;
}
#alc-root .alc-copy-btn {
	display: inline-flex !important; visibility: visible !important; opacity: 1 !important;
	position: absolute !important; top: 6px !important; right: 6px !important;
	width: 28px !important; height: 28px !important; min-width: 28px !important; min-height: 28px !important;
	padding: 0 !important; border: 0 !important; border-radius: 6px !important;
	background: rgba(0, 0, 0, .06) !important; color: var(--alc-color) !important;
	align-items: center !important; justify-content: center !important; cursor: pointer !important;
	font-size: 0 !important;
}
#alc-root .alc-copy-btn:hover, #alc-root .alc-copy-btn:focus-visible {
	background: rgba(0, 0, 0, .12) !important;
}
#alc-root .alc-copy-btn svg.alc-copy-icon,
#alc-root svg.alc-copy-icon {
	display: block !important; visibility: visible !important; opacity: 1 !important;
	width: 16px !important; height: 16px !important; min-width: 16px !important;
	fill: currentColor !important; color: var(--alc-color) !important;
	position: static !important; margin: 0 !important; padding: 0 !important;
	pointer-events: none !important;
}
#alc-root .alc-copy-btn svg.alc-copy-icon path {
	fill: currentColor !important; visibility: visible !important; opacity: 1 !important;
}

/* Lo oculto con [hidden] siempre gana sobre los display de arriba. */
#alc-root [hidden][hidden] { display: none !important; }


/* ==========================================================================
   Carita estilo Grok del botón flotante (1.1.6).
   Círculo negro + ojos píldora inclinados; animación sólo CSS; prefers-reduced-motion.
   ========================================================================== */
@keyframes alc-face-blink {
	0%, 38%, 46%, 100% { transform: scaleY(1); }
	42% { transform: scaleY(0.1); }
}
@keyframes alc-face-wink {
	0%, 38%, 46%, 78%, 86%, 100% { transform: scaleY(1); }
	42% { transform: scaleY(0.1); }
	82% { transform: scaleY(0.1); }
}
@keyframes alc-face-bob {
	0%, 100% { transform: translateY(0) rotate(0deg); }
	25% { transform: translateY(-2px) rotate(-4deg); }
	50% { transform: translateY(0) rotate(0deg); }
	75% { transform: translateY(-1.5px) rotate(3deg); }
}
@keyframes alc-face-pulse {
	0%, 100% { opacity: 0.72; transform: scale(0.96); }
	50% { opacity: 1; transform: scale(1.04); }
}
@keyframes alc-face-happy {
	0%, 100% { transform: translateY(0) scale(1); }
	40% { transform: translateY(-3px) scale(1.12); }
	70% { transform: translateY(-1px) scale(1.06); }
}

/* Blindaje: cabecera negra, pupilas blancas, lids oscuros; permitir transforms. */
#alc-root svg.alc-svg.alc-face {
	overflow: visible !important;
	transform-origin: center center !important;
	fill: none !important;
	color: transparent !important;
	animation: alc-face-bob 2.8s ease-in-out infinite !important;
}
#alc-root svg.alc-face .alc-face-head,
#alc-root svg.alc-face circle.alc-face-head {
	fill: #111 !important;
	stroke: none !important;
	visibility: visible !important;
	opacity: 1 !important;
}
#alc-root svg.alc-face .alc-face-pupil,
#alc-root svg.alc-face rect.alc-face-pupil {
	fill: #fff !important;
	stroke: none !important;
	visibility: visible !important;
	opacity: 1 !important;
}
#alc-root svg.alc-face .alc-face-lid,
#alc-root svg.alc-face rect.alc-face-lid {
	fill: #111 !important;
	stroke: none !important;
	visibility: visible !important;
	opacity: 1 !important;
	transform-box: fill-box;
	transform-origin: center top;
}
#alc-root svg.alc-face .alc-face-eye {
	transform-box: fill-box;
	transform-origin: center center;
	animation: alc-face-blink 4.6s ease-in-out infinite !important;
}
#alc-root svg.alc-face .alc-face-eye-r {
	animation: alc-face-wink 9.2s ease-in-out infinite !important;
}

/* Hover: más feliz — carita rebota, ojos más grandes. */
#alc-root .alc-launcher:hover svg.alc-face {
	animation: alc-face-happy 0.7s ease-in-out infinite !important;
}
#alc-root .alc-launcher:hover svg.alc-face .alc-face-eye,
#alc-root .alc-launcher:hover svg.alc-face .alc-face-eye-r {
	animation: none !important;
	transform: scale(1.18) !important;
}

/* Arranque: pulso suave mientras .alc-booting. */
#alc-root .alc-launcher.alc-booting svg.alc-svg.alc-face {
	animation: alc-face-pulse 1.15s ease-in-out infinite !important;
}
#alc-root .alc-launcher.alc-booting svg.alc-face .alc-face-eye,
#alc-root .alc-launcher.alc-booting svg.alc-face .alc-face-eye-r {
	animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
	#alc-root svg.alc-svg.alc-face,
	#alc-root svg.alc-face .alc-face-eye,
	#alc-root svg.alc-face .alc-face-eye-r,
	#alc-root svg.alc-face .alc-face-lid,
	#alc-root svg.alc-face .alc-face-pupil,
	#alc-root .alc-launcher.alc-booting svg.alc-svg.alc-face,
	#alc-root .alc-launcher:hover svg.alc-face,
	#alc-root .alc-launcher:hover svg.alc-face .alc-face-eye,
	#alc-root .alc-launcher:hover svg.alc-face .alc-face-eye-r {
		animation: none !important;
		transition: none !important;
		transform: none !important;
	}
}
