/* DE Quiz — estilos del cuestionario (hereda las variables del tema si existen). */
.de-quiz{
	--q-accent: var(--de-accent, #2E5C9E);
	--q-accent-deep: var(--de-accent-deep, #1E4478);
	--q-tint: var(--de-accent-tint, #E3EBF6);
	--q-surface:#fff;
	--q-sunk:#EDF1F6;
	--q-ink:#1F2530;
	--q-soft:#5A6578;
	--q-line:#D8DFE9;
	font-family:"Barlow",system-ui,sans-serif;
}
.deq-card{
	max-width:600px; margin:0 auto; background:var(--q-surface);
	border:1px solid var(--q-line); border-radius:24px;
	box-shadow:0 30px 60px -32px rgba(20,28,44,.28); overflow:hidden; padding:24px 26px 30px;
}
.deq-top{ display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.deq-back{
	width:32px; height:32px; border-radius:50%; border:1px solid var(--q-line); background:var(--q-surface);
	color:var(--q-soft); cursor:pointer; font-size:18px; line-height:1;
}
.deq-back:hover{ border-color:var(--q-accent); color:var(--q-accent-deep); }
.deq-track{ flex:1; height:5px; background:var(--q-sunk); border-radius:99px; overflow:hidden; }
.deq-fill{ height:100%; width:0; background:var(--q-accent); border-radius:99px; transition:width .5s cubic-bezier(.65,0,.35,1); }
.deq-count{ font-size:.78rem; color:#8E99AC; font-weight:600; font-variant-numeric:tabular-nums; }

.deq-body{ min-height:280px; }
.deq-in{ animation:deqIn .4s ease both; }
@keyframes deqIn{ from{ opacity:0; transform:scale(.97); } to{ opacity:1; transform:scale(1); } }
@media (prefers-reduced-motion:reduce){ .deq-in{ animation:none; } }

.deq-title{ font-family:"Fraunces",Georgia,serif; font-size:1.4rem; font-weight:600; color:var(--q-ink); line-height:1.3; margin:0 0 18px; }

.deq-opts{ display:flex; flex-direction:column; gap:10px; }
.deq-opt{
	display:flex; align-items:center; gap:12px; text-align:left; width:100%;
	border:1.5px solid var(--q-line); border-radius:999px; background:var(--q-surface);
	cursor:pointer; padding:13px 18px; font-family:inherit; font-size:.95rem;
	transition:border-color .2s, background .2s, transform .15s;
}
.deq-opt:hover{ border-color:var(--q-accent); transform:translateY(-1px); }
.deq-opt.sel{ border-color:var(--q-accent); background:var(--q-tint); }
.deq-ic{
	width:32px; height:32px; border-radius:50%; background:var(--q-sunk);
	display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0;
}
.deq-opt.sel .deq-ic{ background:var(--q-accent); }
.deq-opt-label{ font-weight:600; color:var(--q-ink); }
.deq-chk{
	margin-left:auto; width:19px; height:19px; border-radius:50%; border:1.5px solid var(--q-line);
	flex-shrink:0; position:relative; transition:background .18s, border-color .18s;
}
.deq-opt.sel .deq-chk{ background:var(--q-accent); border-color:var(--q-accent); }
.deq-opt.sel .deq-chk::after{
	content:""; position:absolute; left:5px; top:2px; width:5px; height:9px;
	border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(40deg);
}

.deq-why{
	margin-top:18px; background:var(--q-sunk); border-radius:16px; padding:14px 18px;
	font-size:.83rem; color:var(--q-soft); line-height:1.55;
}
.deq-why b{ display:block; color:var(--q-ink); margin-bottom:3px; }

.deq-field{ display:block; font-size:.82rem; font-weight:600; color:var(--q-ink); margin-bottom:14px; }
.deq-field input{
	display:block; width:100%; box-sizing:border-box; margin-top:6px;
	border:1.5px solid var(--q-line); border-radius:14px; padding:12px 16px;
	font-size:.95rem; font-family:inherit; color:var(--q-ink); background:var(--q-surface);
}
.deq-field input:focus{ outline:none; border-color:var(--q-accent); }
.deq-privacy{ display:flex; gap:8px; align-items:center; font-size:.85rem; color:var(--q-soft); margin:4px 0 18px; }

.deq-continue{
	display:block; width:100%; box-sizing:border-box; text-align:center; padding:15px;
	border-radius:999px; border:none; background:var(--q-accent-deep); color:#fff;
	font-family:inherit; font-weight:600; font-size:1rem; cursor:pointer;
	text-decoration:none; transition:background .2s, opacity .2s; margin-top:18px;
}
.deq-continue:hover{ background:var(--q-accent); color:#fff; }
.deq-continue[disabled]{ opacity:.4; cursor:default; }

.deq-error{ color:#b32d2e; font-size:.85rem; margin-top:10px; }
.deq-badge{
	width:44px; height:44px; border-radius:50%; background:var(--q-tint); color:var(--q-accent-deep);
	display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:700; margin-bottom:14px;
}
.deq-product{
	display:flex; align-items:center; gap:14px; border:1.5px solid var(--q-accent);
	background:var(--q-tint); border-radius:20px; padding:16px 18px;
}
.deq-product img{ width:64px; height:64px; object-fit:cover; border-radius:12px; }
.deq-product b{ display:block; color:var(--q-ink); }
.deq-product span{ color:var(--q-accent-deep); font-weight:700; }
.deq-link{ display:block; text-align:center; margin-top:14px; color:var(--q-accent-deep); font-weight:600; font-size:.92rem; }
