/**
 * YaVeo Citas — estilos frontend.
 * Usa las variables CSS del tema activo con valores de respaldo,
 * para integrarse con la identidad visual del sitio.
 */
.yv-citas{
	--yv-ink: var(--ink, #0E3B4E);
	--yv-ink-2: var(--ink-2, #13495F);
	--yv-paper: var(--paper, #F8F4E9);
	--yv-paper-2: var(--paper-2, #FBF8EF);
	--yv-line: var(--line, rgba(14,59,78,.16));
	--yv-line-strong: var(--line-strong, rgba(14,59,78,.42));
	--yv-muted: var(--muted, rgba(14,59,78,.62));
	--yv-accent: var(--accent, #C9924A);
	--yv-serif: var(--serif, Georgia, serif);
	--yv-sans: var(--sans, system-ui, sans-serif);
	--yv-mono: var(--mono, monospace);
	font-family: var(--yv-sans);
	color: var(--yv-ink);
}
.yv-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}
.yv-panel{background:var(--yv-paper-2);border:1px solid var(--yv-line);border-radius:18px;padding:28px}

/* ── Calendario ── */
.yv-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.yv-cal-titulo{font-family:var(--yv-serif);font-weight:400;font-size:26px;margin:0;text-transform:capitalize}
.yv-cal-nav{
	width:38px;height:38px;border-radius:50%;border:1px solid var(--yv-line-strong);
	background:transparent;color:var(--yv-ink);font-size:20px;cursor:pointer;
	transition:background .2s ease,color .2s ease;
}
.yv-cal-nav:hover{background:var(--yv-ink);color:var(--yv-paper)}
.yv-cal-dias{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px}
.yv-cal-dias span{
	text-align:center;font-family:var(--yv-mono);font-size:10px;letter-spacing:.12em;
	text-transform:uppercase;color:var(--yv-muted);padding:4px 0;
}
.yv-cal-celdas{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.yv-dia{
	aspect-ratio:1;border-radius:10px;border:1px solid transparent;background:transparent;
	font-family:var(--yv-sans);font-size:14px;color:var(--yv-muted);
	display:grid;place-items:center;cursor:default;
}
.yv-dia:disabled{opacity:.35}
.yv-dia.libre{
	background:#fff;border-color:var(--yv-line);color:var(--yv-ink);font-weight:600;cursor:pointer;
	transition:transform .15s ease, background .2s ease;
}
.yv-dia.libre:hover{background:var(--yv-ink);color:var(--yv-paper);transform:translateY(-1px)}
.yv-dia.activo{background:var(--yv-accent) !important;border-color:var(--yv-accent);color:#fff !important}
.yv-leyenda{display:flex;gap:18px;margin-top:14px;font-size:12px;color:var(--yv-muted)}
.yv-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}
.yv-dot-libre{background:var(--yv-accent)}
.yv-dot-lleno{background:var(--yv-line-strong)}

/* ── Horas ── */
.yv-horas{margin-top:20px;padding-top:18px;border-top:1px solid var(--yv-line)}
.yv-horas-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.yv-hora{
	padding:9px 16px;border-radius:999px;border:1px solid var(--yv-line-strong);
	background:#fff;color:var(--yv-ink);font-family:var(--yv-mono);font-size:13px;cursor:pointer;
	transition:background .2s ease,color .2s ease;
}
.yv-hora:hover{background:var(--yv-ink-2);color:var(--yv-paper)}
.yv-hora.activo{background:var(--yv-ink);color:var(--yv-paper);border-color:var(--yv-ink)}
.yv-ayuda{color:var(--yv-muted);font-size:13.5px;margin:0}
.yv-cargando{color:var(--yv-muted);font-size:13px;font-family:var(--yv-mono)}

/* ── Formulario ── */
.yv-form-titulo{font-family:var(--yv-serif);font-weight:400;font-size:26px;margin:0 0 6px}
.yv-seleccion{
	font-size:14px;color:var(--yv-muted);padding:10px 14px;border-radius:10px;
	background:var(--yv-paper);border:1px dashed var(--yv-line-strong);margin:0 0 18px;
}
.yv-seleccion.lista{border-style:solid;border-color:var(--yv-accent);color:var(--yv-ink)}
.yv-campo{margin:0 0 14px;display:flex;flex-direction:column;gap:6px}
.yv-campo label{font-size:13px;font-weight:600;color:var(--yv-ink)}
.yv-citas p{color:var(--yv-ink)}
.yv-citas .yv-ayuda,.yv-citas .yv-rgpd,.yv-citas .yv-cargando{color:var(--yv-muted)}
.yv-req{color:var(--yv-accent)}
.yv-campo input,.yv-campo textarea{
	border:1px solid var(--yv-line-strong);border-radius:8px;padding:10px 12px;
	background:#fff;color:var(--yv-ink);font-family:var(--yv-sans);font-size:14px;
}
.yv-campo input:focus,.yv-campo textarea:focus{outline:2px solid var(--yv-accent);outline-offset:1px;border-color:var(--yv-accent)}
.yv-contador{color:var(--yv-muted);font-family:var(--yv-mono);font-size:10.5px;text-align:right}
.yv-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.yv-error{
	background:#fdeaea;border:1px solid #e3a3a3;color:#8a2424;
	padding:10px 14px;border-radius:10px;font-size:13.5px;margin-bottom:14px;
}
.yv-enviar{
	display:inline-flex;align-items:center;gap:10px;width:100%;justify-content:center;
	padding:14px 22px;border-radius:999px;border:none;cursor:pointer;
	background:var(--yv-ink);color:var(--yv-paper);font-weight:600;font-size:14px;font-family:var(--yv-sans);
	transition:background .2s ease;
}
.yv-enviar:hover:not(:disabled){background:var(--ink-deep,#082534)}
.yv-enviar:disabled{opacity:.45;cursor:not-allowed}
.yv-enviar svg{width:15px;height:15px}
.yv-rgpd{margin:12px 0 0;font-size:11.5px;color:var(--yv-muted);line-height:1.5}

/* ── Éxito ── */
.yv-exito{text-align:center;padding:24px 8px}
.yv-exito-icono{
	width:64px;height:64px;border-radius:50%;background:var(--yv-accent);color:#fff;
	font-size:30px;display:grid;place-items:center;margin:0 auto 16px;
}
.yv-exito h3{font-family:var(--yv-serif);font-weight:400;font-size:28px;margin:0 0 8px}
.yv-exito-detalle{font-family:var(--yv-mono);font-size:14px;color:var(--yv-accent);margin:0 0 10px}
.yv-exito p{color:var(--yv-muted);font-size:14px;line-height:1.55}

/* ── Responsive ── */
@media (max-width: 860px){
	.yv-grid{grid-template-columns:1fr}
	.yv-panel{padding:20px 16px}
	.yv-hora{flex:1 1 28%;text-align:center}
}
