/* =========================================================================
   Diagnóstico IA · ventana emergente
   Colores de la marca nueva: azul noche, azul, celeste y dorado del logo.
   ========================================================================= */

.solventa-dia {
	--sdia-noche: #0b1a33;
	--sdia-tinta: #14223a;
	--sdia-suave: #56627a;
	--sdia-azul: #1f5fd1;
	--sdia-celeste: #38b6f5;
	--sdia-oro: #f5b301;
	--sdia-oro-osc: #d99a00;
	--sdia-fondo: #f4f7fc;
	--sdia-linea: #dfe6f1;
	--sdia-error: #c2412d;
	--sdia-radio: 26px;
	--sdia-curva: cubic-bezier(.22, .8, .26, 1);

	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	font-family: inherit;
	color: var(--sdia-tinta);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
.solventa-dia[hidden] { display: none; }
html.sdia-abierta { overflow: hidden; }

.solventa-dia *,
.solventa-dia *::before,
.solventa-dia *::after { box-sizing: border-box; }

/* Reseteo frente a los estilos del theme */
.solventa-dia button,
.solventa-dia input {
	font: inherit;
	color: inherit;
	letter-spacing: normal;
	text-transform: none;
	margin: 0;
	min-height: 0;
	box-shadow: none;
}
.solventa-dia button {
	-webkit-appearance: none;
	appearance: none;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	text-align: left;
	line-height: inherit;
}
.solventa-dia h2,
.solventa-dia h3,
.solventa-dia p,
.solventa-dia ul { margin: 0; padding: 0; }
.solventa-dia ul { list-style: none; }

.sdia-ico { width: 1.25em; height: 1.25em; flex: none; }

/* ---------- Velo y ventana ---------- */
.sdia-velo {
	position: absolute;
	inset: 0;
	background: radial-gradient(120% 90% at 20% 0%, rgba(31, 95, 209, .45), transparent 60%), rgba(6, 14, 30, .72);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	opacity: 0;
	transition: opacity .38s ease;
}
.sdia-ventana {
	position: relative;
	width: 100%;
	max-width: 820px;
	max-height: calc(100vh - 48px);
	max-height: calc(100dvh - 48px);
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: var(--sdia-radio);
	box-shadow: 0 40px 120px -30px rgba(3, 12, 30, .65), 0 0 0 1px rgba(255, 255, 255, .06);
	overflow: hidden;
	outline: none;
	opacity: 0;
	transform: translateY(26px) scale(.96);
	transition: opacity .38s ease, transform .5s var(--sdia-curva);
}
.solventa-dia.sdia-visible .sdia-velo { opacity: 1; }
.solventa-dia.sdia-visible .sdia-ventana { opacity: 1; transform: none; }

/* Aurora decorativa en la parte superior */
.sdia-aurora {
	position: absolute;
	inset: 0 0 auto 0;
	height: 260px;
	overflow: hidden;
	pointer-events: none;
	-webkit-mask-image: linear-gradient(#000 30%, transparent);
	mask-image: linear-gradient(#000 30%, transparent);
}
.sdia-aurora span {
	position: absolute;
	width: 340px;
	height: 340px;
	border-radius: 50%;
	filter: blur(60px);
	opacity: .28;
	animation: sdia-flota 14s ease-in-out infinite alternate;
}
.sdia-aurora span:nth-child(1) { background: var(--sdia-celeste); top: -190px; left: -60px; }
.sdia-aurora span:nth-child(2) { background: var(--sdia-oro); top: -220px; right: 10%; opacity: .2; animation-delay: -5s; }
.sdia-aurora span:nth-child(3) { background: var(--sdia-azul); top: -160px; left: 40%; animation-delay: -9s; }
@keyframes sdia-flota {
	from { transform: translate(0, 0) scale(1); }
	to { transform: translate(60px, 30px) scale(1.15); }
}

/* ---------- Cabecera ---------- */
.sdia-cab {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 22px;
	padding: 18px 22px 10px 28px;
}
.sdia-logo { height: 34px; width: auto; display: block; }
.sdia-logo-txt { font-weight: 800; color: var(--sdia-noche); }
.sdia-progreso {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 12px;
	transition: opacity .3s ease;
}
.sdia-sin-progreso .sdia-progreso { opacity: 0; }
.sdia-progreso-barra {
	flex: 1;
	height: 6px;
	border-radius: 6px;
	background: #e9eef6;
	overflow: hidden;
}
.sdia-progreso-barra span {
	display: block;
	height: 100%;
	width: 0;
	border-radius: 6px;
	background: linear-gradient(90deg, var(--sdia-azul), var(--sdia-celeste) 70%, var(--sdia-oro));
	box-shadow: 0 0 12px rgba(56, 182, 245, .6);
	transition: width .6s var(--sdia-curva);
}
.sdia-paso { font-size: 12.5px; font-weight: 600; color: var(--sdia-suave); white-space: nowrap; min-width: 52px; text-align: right; }
.solventa-dia .sdia-cerrar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: var(--sdia-suave);
	background: rgba(20, 34, 58, .05);
	transition: background .2s, color .2s, transform .3s var(--sdia-curva);
}
.solventa-dia .sdia-cerrar:hover { background: rgba(20, 34, 58, .1); color: var(--sdia-tinta); transform: rotate(90deg); }

/* ---------- Escena y transición entre pasos ---------- */
.sdia-escena {
	--sdia-fa: 0px;
	--sdia-fb: 0px;
	position: relative;
	z-index: 1;
	flex: 1;
	min-height: 0;
	display: grid;
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: contain;
	scroll-behavior: smooth;
	/* Barra fina y con los colores de la marca */
	scrollbar-width: thin;
	scrollbar-color: rgba(31, 95, 209, .35) transparent;
	/* Difuminado en el borde por el que queda contenido */
	-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--sdia-fa), #000 calc(100% - var(--sdia-fb)), transparent 100%);
	mask-image: linear-gradient(to bottom, transparent 0, #000 var(--sdia-fa), #000 calc(100% - var(--sdia-fb)), transparent 100%);
}
.sdia-hay-arriba .sdia-escena { --sdia-fa: 28px; }
.sdia-hay-abajo .sdia-escena { --sdia-fb: 56px; }
.sdia-escena::-webkit-scrollbar { width: 10px; }
.sdia-escena::-webkit-scrollbar-track { background: transparent; margin: 8px 0 18px; }
.sdia-escena::-webkit-scrollbar-thumb {
	border: 3px solid transparent;
	border-radius: 10px;
	background: linear-gradient(var(--sdia-azul), var(--sdia-celeste)) padding-box;
	opacity: .5;
}
.sdia-escena::-webkit-scrollbar-thumb:hover { border-width: 2px; }

/* Botón «hay más abajo» */
.solventa-dia .sdia-mas {
	position: absolute;
	z-index: 3;
	left: 50%;
	bottom: 14px;
	width: 40px;
	height: 40px;
	margin-left: -20px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: #fff;
	background: linear-gradient(135deg, var(--sdia-noche), var(--sdia-azul));
	box-shadow: 0 10px 24px -8px rgba(11, 26, 51, .55);
	opacity: 0;
	transform: translateY(10px) scale(.8);
	pointer-events: none;
	transition: opacity .3s ease, transform .35s var(--sdia-curva);
}
.solventa-dia .sdia-mas .sdia-ico { transform: rotate(90deg); width: 18px; height: 18px; }
.sdia-hay-abajo .sdia-mas { opacity: 1; transform: none; pointer-events: auto; animation: sdia-bota 1.8s 1s ease-in-out infinite; }
@keyframes sdia-bota { 0%, 100% { transform: none; } 50% { transform: translateY(5px); } }

.sdia-pasoc {
	grid-area: 1 / 1;
	padding: 14px 40px 36px;
	display: flex;
	flex-direction: column;
}
@media (min-height: 780px) { .sdia-pasoc { min-height: 440px; } }
.sdia-entra-der { animation: sdia-entra-der .46s var(--sdia-curva) both; }
.sdia-entra-izq { animation: sdia-entra-izq .46s var(--sdia-curva) both; }
.sdia-sale-izq { animation: sdia-sale-izq .34s ease both; pointer-events: none; }
.sdia-sale-der { animation: sdia-sale-der .34s ease both; pointer-events: none; }
@keyframes sdia-entra-der { from { opacity: 0; transform: translateX(46px); } to { opacity: 1; transform: none; } }
@keyframes sdia-entra-izq { from { opacity: 0; transform: translateX(-46px); } to { opacity: 1; transform: none; } }
@keyframes sdia-sale-izq { to { opacity: 0; transform: translateX(-46px); } }
@keyframes sdia-sale-der { to { opacity: 0; transform: translateX(46px); } }

/* ---------- Tipografía ---------- */
.sdia-ante {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--sdia-azul);
	margin-bottom: 12px !important;
}
.sdia-titulo {
	font-family: inherit;
	font-size: clamp(24px, 3.2vw, 34px);
	line-height: 1.18;
	font-weight: 800;
	letter-spacing: -.01em;
	color: var(--sdia-noche);
}
.sdia-titulo-preg { font-size: clamp(21px, 2.6vw, 27px); max-width: 36ch; }
.sdia-titulo-centro { text-align: center; }
.sdia-degradado {
	background: linear-gradient(100deg, var(--sdia-azul), var(--sdia-celeste) 55%, var(--sdia-oro));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.sdia-lede { font-size: 17px; color: var(--sdia-suave); max-width: 48ch; margin-top: 14px !important; }
.sdia-lede-peq { font-size: 15px; }
.sdia-sub { color: var(--sdia-suave); font-size: 15px; margin-top: 8px !important; max-width: 52ch; }
.sdia-preg { margin-bottom: 22px; }

/* ---------- Botones ---------- */
.solventa-dia .sdia-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 26px;
	border-radius: 60px;
	background: linear-gradient(135deg, var(--sdia-noche), var(--sdia-azul));
	color: #fff;
	font-weight: 700;
	font-size: 15.5px;
	text-decoration: none;
	overflow: hidden;
	box-shadow: 0 14px 28px -12px rgba(31, 95, 209, .7);
	transition: transform .25s var(--sdia-curva), box-shadow .25s ease, opacity .2s;
}
.solventa-dia .sdia-btn::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .35) 50%, transparent 70%);
	transform: translateX(-120%);
	transition: transform .7s ease;
}
.solventa-dia .sdia-btn:hover { transform: translateY(-2px); box-shadow: 0 18px 34px -12px rgba(31, 95, 209, .85); color: #fff; }
.solventa-dia .sdia-btn:hover::after { transform: translateX(120%); }
.solventa-dia .sdia-btn .sdia-ico { transition: transform .25s var(--sdia-curva); }
.solventa-dia .sdia-btn:hover .sdia-ico { transform: translateX(4px); }
.solventa-dia .sdia-btn:disabled { opacity: .45; cursor: not-allowed; transform: none; box-shadow: none; }
.solventa-dia .sdia-btn-grande {
	padding: 17px 32px;
	font-size: 17px;
	background: linear-gradient(135deg, var(--sdia-oro), #ffcd3c);
	color: var(--sdia-noche);
	box-shadow: 0 16px 34px -12px rgba(245, 179, 1, .75);
}
.solventa-dia .sdia-btn-grande:hover { color: var(--sdia-noche); box-shadow: 0 20px 40px -12px rgba(245, 179, 1, .9); }
.solventa-dia .sdia-cargando span { opacity: .35; }
.solventa-dia .sdia-cargando .sdia-ico { animation: sdia-gira .8s linear infinite; }
.solventa-dia .sdia-cargando .sdia-ico path { d: path("M12 3a9 9 0 1 0 9 9"); }
@keyframes sdia-gira { to { transform: rotate(360deg); } }

.solventa-dia .sdia-atras {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 4px;
	color: var(--sdia-suave);
	font-weight: 600;
	font-size: 14.5px;
	transition: color .2s;
}
.solventa-dia .sdia-atras:hover { color: var(--sdia-tinta); }
.sdia-pie {
	margin-top: auto;
	padding-top: 26px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.sdia-pista { font-size: 12.5px; color: #8a95a8; }

/* ---------- Intro ---------- */
.sdia-intro {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 26px 0 10px;
	flex: 1;
	justify-content: center;
}
.sdia-intro .sdia-titulo { font-size: clamp(30px, 4.6vw, 46px); max-width: 17ch; }
.sdia-pildoras { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 32px !important; }
.sdia-pildoras li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 15px;
	border-radius: 40px;
	background: var(--sdia-fondo);
	border: 1px solid var(--sdia-linea);
	font-size: 14px;
	font-weight: 600;
	color: var(--sdia-tinta);
	animation: sdia-sube .6s var(--sdia-curva) both;
}
.sdia-pildoras li:nth-child(2) { animation-delay: .08s; }
.sdia-pildoras li:nth-child(3) { animation-delay: .16s; }
.sdia-pildoras .sdia-ico { color: var(--sdia-azul); }
@keyframes sdia-sube { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

.sdia-orbita {
	position: absolute;
	right: 0;
	top: 50%;
	width: 210px;
	height: 210px;
	margin-top: -105px;
	border-radius: 50%;
	border: 1px dashed rgba(31, 95, 209, .25);
	animation: sdia-gira 30s linear infinite;
}
.sdia-orbita::before {
	content: "";
	position: absolute;
	inset: 46px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #fff, #dcecff 45%, #9cd6ff);
	box-shadow: 0 20px 50px -10px rgba(56, 182, 245, .6), inset 0 -10px 30px rgba(31, 95, 209, .25);
}
.sdia-orbita span {
	position: absolute;
	width: 46px;
	height: 46px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	background: #fff;
	color: var(--sdia-azul);
	box-shadow: 0 10px 24px -8px rgba(11, 26, 51, .35);
	animation: sdia-gira 30s linear infinite reverse;
}
.sdia-orbita span:nth-child(1) { top: -23px; left: 82px; color: var(--sdia-oro-osc); }
.sdia-orbita span:nth-child(2) { bottom: 18px; left: -10px; }
.sdia-orbita span:nth-child(3) { bottom: 18px; right: -10px; color: var(--sdia-celeste); }
.sdia-intro > :not(.sdia-orbita) { position: relative; z-index: 1; }
@media (max-width: 760px) { .sdia-orbita { display: none; } }

/* ---------- Sectores ---------- */
.sdia-sectores {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.solventa-dia .sdia-sector {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 15px 16px;
	border-radius: 18px;
	border: 1.5px solid var(--sdia-linea);
	background: #fff;
	animation: sdia-sube .5s var(--sdia-curva) both;
	animation-delay: calc(var(--i) * 45ms);
	transition: border-color .2s, box-shadow .25s, transform .25s var(--sdia-curva), background .2s;
}
.sdia-sector-ico {
	width: 46px;
	height: 46px;
	flex: none;
	border-radius: 14px;
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, #eaf3ff, #f4f9ff);
	color: var(--sdia-azul);
	transition: background .25s, color .25s, transform .3s var(--sdia-curva);
}
.sdia-sector-ico .sdia-ico { width: 24px; height: 24px; }
.sdia-sector-txt strong { display: block; font-size: 15px; color: var(--sdia-noche); line-height: 1.3; }
.sdia-sector-txt small { display: block; font-size: 13px; color: var(--sdia-suave); margin-top: 2px; }
.solventa-dia .sdia-sector:hover { border-color: rgba(31, 95, 209, .45); transform: translateY(-2px); box-shadow: 0 14px 30px -18px rgba(31, 95, 209, .55); }
.solventa-dia .sdia-sector:hover .sdia-sector-ico { transform: scale(1.08) rotate(-4deg); }
.solventa-dia .sdia-sector.sdia-elegida { border-color: var(--sdia-azul); background: #f3f8ff; }
.solventa-dia .sdia-sector.sdia-elegida .sdia-sector-ico { background: linear-gradient(135deg, var(--sdia-azul), var(--sdia-celeste)); color: #fff; }

/* ---------- Opciones ---------- */
.sdia-opciones { display: flex; flex-direction: column; gap: 11px; }
.solventa-dia .sdia-opcion {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 15px 18px;
	border-radius: 16px;
	border: 1.5px solid var(--sdia-linea);
	background: #fff;
	font-size: 16px;
	font-weight: 500;
	color: var(--sdia-tinta);
	animation: sdia-sube .5s var(--sdia-curva) both;
	animation-delay: calc(var(--i) * 60ms + 80ms);
	transition: border-color .2s, box-shadow .25s, transform .25s var(--sdia-curva), background .2s;
}
.sdia-tecla {
	width: 30px;
	height: 30px;
	flex: none;
	border-radius: 9px;
	display: grid;
	place-items: center;
	font-size: 13px;
	font-weight: 700;
	color: var(--sdia-azul);
	background: #edf3fd;
	border: 1px solid #d6e3f8;
	transition: background .2s, color .2s;
}
.sdia-opcion-txt { flex: 1; }
.sdia-tick {
	width: 28px;
	height: 28px;
	flex: none;
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: #fff;
	background: linear-gradient(135deg, var(--sdia-azul), var(--sdia-celeste));
	transform: scale(0);
	transition: transform .35s cubic-bezier(.3, 1.6, .5, 1);
}
.sdia-tick .sdia-ico { width: 16px; height: 16px; stroke-width: 2.6; }
.solventa-dia .sdia-opcion:hover { border-color: rgba(31, 95, 209, .45); transform: translateX(4px); box-shadow: 0 12px 26px -18px rgba(31, 95, 209, .6); }
.solventa-dia .sdia-opcion:hover .sdia-tecla { background: var(--sdia-azul); color: #fff; }
.solventa-dia .sdia-opcion.sdia-elegida { border-color: var(--sdia-azul); background: linear-gradient(90deg, #f1f7ff, #fff); box-shadow: 0 0 0 4px rgba(31, 95, 209, .1); }
.solventa-dia .sdia-opcion.sdia-elegida .sdia-tecla { background: var(--sdia-azul); color: #fff; }
.solventa-dia .sdia-opcion.sdia-elegida .sdia-tick { transform: scale(1); }
.sdia-respondida .sdia-opcion:not(.sdia-elegida) { opacity: .5; }

.sdia-nota {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-top: 16px;
	padding: 14px 16px;
	border-radius: 16px;
	background: linear-gradient(135deg, #fff8e3, #fffdf6);
	border: 1px solid #f6e3a6;
	animation: sdia-nota .45s cubic-bezier(.3, 1.4, .5, 1) both;
}
.sdia-nota[hidden] { display: none; }
.sdia-nota-ico {
	width: 32px;
	height: 32px;
	flex: none;
	border-radius: 10px;
	display: grid;
	place-items: center;
	background: var(--sdia-oro);
	color: var(--sdia-noche);
}
.sdia-nota p { font-size: 14.5px; color: #5b4a12; padding-top: 5px !important; }
@keyframes sdia-nota { from { opacity: 0; transform: translateY(10px) scale(.97); } to { opacity: 1; transform: none; } }

/* ---------- Chips de tamaño ---------- */
.sdia-grupo + .sdia-grupo { margin-top: 22px; }
.sdia-grupo-tit { font-weight: 700; font-size: 15.5px; color: var(--sdia-noche); margin-bottom: 11px !important; }
.sdia-chips { display: flex; flex-wrap: wrap; gap: 9px; }
.solventa-dia .sdia-chip {
	padding: 10px 17px;
	border-radius: 40px;
	border: 1.5px solid var(--sdia-linea);
	background: #fff;
	font-size: 14.5px;
	font-weight: 600;
	animation: sdia-sube .45s var(--sdia-curva) both;
	animation-delay: calc(var(--i) * 40ms);
	transition: border-color .2s, background .2s, color .2s, transform .2s;
}
.solventa-dia .sdia-chip:hover { border-color: rgba(31, 95, 209, .5); transform: translateY(-1px); }
.solventa-dia .sdia-chip.sdia-elegida { background: var(--sdia-noche); border-color: var(--sdia-noche); color: #fff; }

/* ---------- Campos ---------- */
.sdia-campo { display: block; }
.sdia-campo-solo { margin-top: 4px; }
.sdia-campo-et { display: block; font-size: 13px; font-weight: 600; color: var(--sdia-suave); margin-bottom: 6px; }
.solventa-dia .sdia-campo input {
	width: 100%;
	padding: 13px 15px;
	border-radius: 13px;
	border: 1.5px solid var(--sdia-linea);
	background: var(--sdia-fondo);
	font-size: 15.5px;
	color: var(--sdia-tinta);
	outline: none;
	transition: border-color .2s, background .2s, box-shadow .2s;
}
.solventa-dia .sdia-campo input:focus { border-color: var(--sdia-azul); background: #fff; box-shadow: 0 0 0 4px rgba(31, 95, 209, .12); }
.solventa-dia .sdia-campo-mal input { border-color: var(--sdia-error); background: #fff6f4; }
.sdia-form { display: flex; flex-direction: column; gap: 13px; margin-top: 20px; }
.sdia-fila2 { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.sdia-trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sdia-acepto { display: flex; gap: 11px; align-items: flex-start; font-size: 13px; color: var(--sdia-suave); cursor: pointer; margin-top: 4px; }
.sdia-acepto input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sdia-caja {
	width: 22px;
	height: 22px;
	flex: none;
	border-radius: 7px;
	border: 1.5px solid #b9c5d8;
	display: grid;
	place-items: center;
	color: transparent;
	transition: background .2s, border-color .2s, color .2s;
}
.sdia-caja .sdia-ico { width: 14px; height: 14px; stroke-width: 3; }
.sdia-acepto input:checked + .sdia-caja { background: var(--sdia-azul); border-color: var(--sdia-azul); color: #fff; }
.sdia-acepto input:focus-visible + .sdia-caja { box-shadow: 0 0 0 4px rgba(31, 95, 209, .2); }
.sdia-acepto a { color: var(--sdia-azul); text-decoration: underline; }
.sdia-error { color: var(--sdia-error); font-size: 14px; font-weight: 600; }
.sdia-error[hidden] { display: none; }
.sdia-sacude { animation: sdia-sacude .4s ease; }
@keyframes sdia-sacude { 20%, 60% { transform: translateX(-6px); } 40%, 80% { transform: translateX(6px); } }

/* ---------- Análisis ---------- */
.sdia-analisis { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 26px; padding: 20px 0; }
.sdia-nucleo { position: relative; width: 120px; height: 120px; display: grid; place-items: center; color: #fff; }
.sdia-nucleo span { position: absolute; inset: 0; border-radius: 50%; border: 2px solid transparent; }
.sdia-nucleo span:nth-child(1) { border-top-color: var(--sdia-azul); border-right-color: var(--sdia-azul); animation: sdia-gira 1.3s linear infinite; }
.sdia-nucleo span:nth-child(2) { inset: 14px; border-bottom-color: var(--sdia-celeste); border-left-color: var(--sdia-celeste); animation: sdia-gira 1.8s linear infinite reverse; }
.sdia-nucleo span:nth-child(3) { inset: 30px; background: linear-gradient(135deg, var(--sdia-noche), var(--sdia-azul)); box-shadow: 0 0 40px rgba(56, 182, 245, .55); animation: sdia-late 1.4s ease-in-out infinite; }
.sdia-nucleo .sdia-ico { position: relative; width: 28px; height: 28px; color: var(--sdia-oro); }
@keyframes sdia-late { 50% { transform: scale(1.08); } }
.sdia-tareas { display: flex; flex-direction: column; gap: 12px; }
.sdia-tareas li { display: flex; align-items: center; gap: 12px; font-size: 15.5px; color: #9aa5b8; transition: color .3s; }
.sdia-tareas li .sdia-ico {
	width: 24px;
	height: 24px;
	padding: 4px;
	border-radius: 50%;
	border: 1.5px solid #cfd8e6;
	color: transparent;
	stroke-width: 3;
	transition: background .3s, border-color .3s, color .3s, transform .4s cubic-bezier(.3, 1.6, .5, 1);
}
.sdia-tareas li.sdia-hecha { color: var(--sdia-tinta); }
.sdia-tareas li.sdia-hecha .sdia-ico { background: #1f9d6b; border-color: #1f9d6b; color: #fff; transform: scale(1.1); }

/* ---------- Contacto ---------- */
.sdia-contacto { display: grid; grid-template-columns: 1.55fr 1fr; gap: 30px; flex: 1; }
.sdia-contacto-form { display: flex; flex-direction: column; padding-bottom: 6px; }
.sdia-contacto-form .sdia-pie { padding-top: 10px; padding-bottom: 4px; }
.sdia-contacto .sdia-form { margin-top: 16px; gap: 12px; }
.sdia-listo {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	display: inline-grid;
	place-items: center;
	background: #1f9d6b;
	color: #fff;
}
.sdia-listo .sdia-ico { width: 14px; height: 14px; stroke-width: 3; }
.sdia-vista {
	align-self: center;
	border-radius: 22px;
	background: linear-gradient(160deg, var(--sdia-noche), #18315e);
	color: #fff;
	padding: 18px;
	box-shadow: 0 30px 60px -30px rgba(11, 26, 51, .8);
	animation: sdia-entra-der .7s .15s var(--sdia-curva) both;
}
.sdia-vista-cab { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sdia-oro); margin-bottom: 14px; }
.sdia-vista-cuerpo { filter: blur(3.5px); opacity: .9; user-select: none; }
.sdia-vista-medidor { height: 10px; border-radius: 10px; background: rgba(255, 255, 255, .12); margin-bottom: 16px; overflow: hidden; }
.sdia-vista-medidor span { display: block; height: 100%; width: 72%; background: linear-gradient(90deg, var(--sdia-celeste), var(--sdia-oro)); }
.sdia-vista-fila { display: flex; gap: 12px; padding: 12px 0; border-top: 1px solid rgba(255, 255, 255, .1); }
.sdia-vista-num { font-weight: 800; color: var(--sdia-celeste); }
.sdia-vista-fila strong { display: block; font-size: 14px; }
.sdia-vista-fila small { display: block; font-size: 12px; color: rgba(255, 255, 255, .65); }

/* ---------- Resultado ---------- */
.sdia-resultado { position: relative; display: flex; flex-direction: column; flex: 1; }
.sdia-res-rejilla { display: grid; grid-template-columns: 210px 1fr; gap: 22px; margin-top: 22px; align-items: stretch; }
.sdia-medidor {
	position: relative;
	border-radius: 20px;
	background: var(--sdia-fondo);
	border: 1px solid var(--sdia-linea);
	padding: 18px 16px 16px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.sdia-medidor svg { width: 100%; max-width: 170px; overflow: visible; }
.sdia-medidor path { fill: none; stroke-width: 11; stroke-linecap: round; }
.sdia-medidor-fondo { stroke: #e2e9f4; }
.sdia-medidor-valor {
	stroke: url(#sdia-grad);
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
	animation: sdia-medidor 1.6s .35s var(--sdia-curva) forwards;
}
@keyframes sdia-medidor { to { stroke-dashoffset: calc(100 - var(--n) * 100); } }
.sdia-medidor-txt { text-align: center; margin-top: -10px; }
.sdia-medidor-txt small { display: block; font-size: 12px; color: var(--sdia-suave); font-weight: 600; }
.sdia-medidor-txt strong { display: block; font-size: 24px; color: var(--sdia-noche); font-weight: 800; }
.sdia-destacada {
	position: relative;
	border-radius: 20px;
	padding: 22px 24px;
	background: linear-gradient(150deg, var(--sdia-noche), #1a3a73);
	color: #fff;
	overflow: hidden;
	animation: sdia-sube .6s .25s var(--sdia-curva) both;
}
.sdia-destacada::after {
	content: "";
	position: absolute;
	right: -60px;
	top: -60px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(245, 179, 1, .45), transparent 70%);
}
.sdia-destacada-ante { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sdia-oro); }
.sdia-destacada h3 { font-family: inherit; font-size: 22px; font-weight: 800; color: #fff; margin: 10px 0 6px !important; }
.sdia-destacada p:last-child { color: rgba(255, 255, 255, .78); font-size: 15px; }
.sdia-lista-bloq { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px !important; }
.sdia-bloqueada {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border-radius: 16px;
	border: 1.5px dashed #c9d5e7;
	animation: sdia-sube .5s var(--sdia-curva) both;
	animation-delay: calc(var(--i) * 90ms + .45s);
}
.sdia-bloqueada > span { width: 34px; height: 34px; flex: none; border-radius: 10px; display: grid; place-items: center; background: #eef3fb; color: var(--sdia-azul); }
.sdia-bloqueada strong { display: block; font-size: 14.5px; color: var(--sdia-noche); }
.sdia-bloqueada small { display: block; font-size: 12.5px; color: var(--sdia-suave); }
.sdia-envio { display: flex; gap: 12px; align-items: flex-start; margin-top: 18px !important; font-size: 14.5px; color: var(--sdia-suave); }
.sdia-envio .sdia-ico { color: var(--sdia-azul); margin-top: 2px; }
.sdia-envio strong { color: var(--sdia-tinta); }

.sdia-confeti { position: absolute; inset: -20px -40px auto; height: 0; pointer-events: none; }
.sdia-confeti i {
	position: absolute;
	top: 0;
	left: var(--x);
	width: 8px;
	height: 13px;
	border-radius: 2px;
	background: var(--c);
	transform: scale(var(--s));
	opacity: 0;
	animation: sdia-confeti 2.4s var(--d) cubic-bezier(.2, .6, .4, 1) forwards;
}
.sdia-confeti i:nth-child(3n) { border-radius: 50%; width: 9px; height: 9px; }
@keyframes sdia-confeti {
	0% { opacity: 1; transform: translateY(-10px) rotate(0) scale(var(--s)); }
	100% { opacity: 0; transform: translateY(420px) rotate(calc(var(--r) + 540deg)) scale(var(--s)); }
}

/* ---------- Lanzador del shortcode ---------- */
.solventa-dia-lanzador {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 15px 28px;
	border-radius: 60px;
	background: linear-gradient(135deg, #f5b301, #ffcd3c);
	color: #0b1a33 !important;
	font-weight: 700;
	text-decoration: none !important;
	box-shadow: 0 14px 30px -12px rgba(245, 179, 1, .75);
	transition: transform .25s ease, box-shadow .25s ease;
}
.solventa-dia-lanzador:hover { transform: translateY(-2px); box-shadow: 0 18px 36px -12px rgba(245, 179, 1, .9); }

/* ---------- Móvil: hoja a pantalla completa ---------- */
@media (max-width: 680px) {
	.solventa-dia { padding: 0; align-items: flex-end; }
	.sdia-ventana {
		max-width: none;
		height: 100%;
		max-height: none;
		border-radius: 0;
		transform: translateY(40px);
	}
	.sdia-cab { padding: 14px 14px 8px 18px; gap: 14px; }
	.sdia-logo { height: 28px; }
	.sdia-pasoc { padding: 10px 20px 24px; min-height: 0; }
	.sdia-sectores, .sdia-fila2, .sdia-lista-bloq, .sdia-res-rejilla, .sdia-contacto { grid-template-columns: 1fr; }
	.sdia-vista { display: none; }
	.sdia-pista { display: none; }
	.solventa-dia .sdia-opcion { padding: 13px 14px; font-size: 15px; }
	.sdia-medidor { padding: 14px; }
	.sdia-pie { position: sticky; bottom: 0; background: linear-gradient(rgba(255, 255, 255, 0), #fff 30%); padding-bottom: max(10px, env(safe-area-inset-bottom)); }
	.sdia-escena { -webkit-mask-image: none; mask-image: none; }
	.solventa-dia .sdia-mas { display: none; }
	.sdia-pie-fin { flex-direction: column-reverse; align-items: stretch; }
	.sdia-pie-fin .sdia-atras { justify-content: center; }
}

/* ---------- Pantallas bajas (portátiles): todo más compacto para no desplazar ---------- */
@media (min-width: 681px) and (max-height: 820px) {
	.sdia-ventana { max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); }
	.solventa-dia { padding: 16px; }
	.sdia-cab { padding-top: 14px; padding-bottom: 6px; }
	.sdia-logo { height: 30px; }
	.sdia-pasoc { padding: 8px 36px 28px; }
	.sdia-preg { margin-bottom: 16px; }
	.sdia-ante { margin-bottom: 8px !important; }
	.sdia-titulo-preg { font-size: 22px; }
	.sdia-sub { font-size: 14px; margin-top: 4px !important; }
	.solventa-dia .sdia-sector { padding: 11px 14px; border-radius: 15px; }
	.sdia-sector-ico { width: 40px; height: 40px; border-radius: 12px; }
	.sdia-sectores { gap: 10px; }
	.solventa-dia .sdia-opcion { padding: 12px 16px; font-size: 15.5px; }
	.sdia-opciones { gap: 9px; }
	.sdia-pie { padding-top: 18px; }
	.sdia-intro { padding: 10px 0 4px; }
	.sdia-intro .sdia-titulo { font-size: 38px; }
	.sdia-pildoras { margin: 20px 0 24px !important; }
	.sdia-lede { font-size: 16px; margin-top: 10px !important; }
	.sdia-lede-peq { font-size: 14.5px; }
	.sdia-contacto .sdia-titulo { font-size: 26px; }
	.solventa-dia .sdia-campo input { padding: 11px 14px; }
	.sdia-campo-et { margin-bottom: 4px; }
	.sdia-res-rejilla { margin-top: 16px; }
	.sdia-analisis { gap: 18px; padding: 6px 0; }
}
@media (min-width: 681px) and (max-height: 680px) {
	.sdia-aurora { height: 180px; }
	.sdia-sub, .sdia-pista { display: none; }
	.sdia-sector-txt small { display: none; }
	.sdia-sector-ico { width: 34px; height: 34px; }
	.sdia-lede-peq { display: none; }
	.sdia-vista-fila:nth-child(n + 4) { display: none; }
	.sdia-intro .sdia-titulo { font-size: 32px; }
	.sdia-orbita { transform: scale(.8); }
	.sdia-nucleo { width: 90px; height: 90px; }
}

@media (prefers-reduced-motion: reduce) {
	.solventa-dia *,
	.solventa-dia *::before,
	.solventa-dia *::after { animation-duration: .01ms !important; animation-delay: 0s !important; transition-duration: .01ms !important; }
	.sdia-medidor-valor { stroke-dashoffset: calc(100 - var(--n) * 100); }
	.sdia-confeti { display: none; }
}
