/* OCV Agenda — estilos públicos. Heredan las variables del tema (--teal, --ink, --muted, --line, --pale, --grad). */
.ocv-ag{--c-teal:var(--teal,#0e6f6a);--c-teal-d:var(--teal-d,#0a5652);--c-ink:var(--ink,#172627);--c-muted:var(--muted,#566668);--c-line:var(--line,#dce7e5);--c-pale:var(--pale,#f1f7f6);
	max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--c-line);border-radius:var(--radius,18px);padding:32px;box-shadow:var(--shadow,0 24px 60px -30px rgba(13,34,35,.35));color:var(--c-ink);position:relative}
.ocv-ag *{box-sizing:border-box}
.ocv-ag:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;border-radius:var(--radius,18px) var(--radius,18px) 0 0;background:var(--grad,linear-gradient(90deg,#92d34a,#1db4b6,#8b4fd4,#c83cb4))}
.ocv-ag h2{font-size:clamp(24px,3vw,32px);margin:0 0 12px;outline:none}
.ocv-ag h3{font-size:16px;margin:0 0 10px;letter-spacing:0}
.ocv-ag [tabindex="-1"]:focus{outline:none}
.ocv-ag [tabindex="-1"]:focus-visible{outline:3px solid #a35f00;outline-offset:4px;border-radius:6px}
.ocv-ag :focus-visible{outline:3px solid #a35f00;outline-offset:3px}
.ocv-ag [hidden]{display:none!important}
.ocv-ayuda{color:var(--c-muted);margin:0 0 18px;font-size:15px}
.ocv-ag-aviso{text-align:center}
.ocv-ag-aviso .eyebrow{justify-content:center}
.ocv-ag-modo-prueba{background:#fff6e0;border:1px solid #e9c46a;border-radius:12px;padding:10px 14px;font-size:14px;margin:0 0 18px;color:#5b4300}

/* Pasos */
.ocv-pasos{list-style:none;display:flex;gap:6px;margin:0 0 24px;padding:0;counter-reset:p}
.ocv-pasos li{flex:1;counter-increment:p;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted);border-top:3px solid var(--c-line);padding-top:8px}
.ocv-pasos li:before{content:counter(p) ". "}
.ocv-pasos li.on{color:var(--c-teal);border-top-color:var(--c-teal)}
.ocv-pasos li.hecho{color:var(--c-ink);border-top-color:#3fc59c}

/* Calendario */
.ocv-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ocv-cal-mes{font-weight:700;font-size:18px;text-transform:capitalize}
.ocv-nav-btn{width:44px;height:44px;border-radius:50%;border:1px solid #b9cdca;background:#fff;color:var(--c-ink);font-size:24px;line-height:1;display:grid;place-items:center;padding:0}
.ocv-nav-btn:hover:not(:disabled){border-color:var(--c-teal);color:var(--c-teal)}
.ocv-nav-btn:disabled{opacity:.35;cursor:not-allowed}
.ocv-cal-sem,.ocv-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.ocv-cal-sem span{text-align:center;font-size:12px;font-weight:700;text-transform:uppercase;color:var(--c-muted);padding:6px 0}
.ocv-dia,.ocv-dia-vacio{min-height:44px}
.ocv-dia{min-width:0;border:1px solid transparent;border-radius:12px;background:var(--c-pale);color:var(--c-ink);font-weight:700;font-size:16px;padding:0;position:relative}
.ocv-dia:hover:not(:disabled){background:#dff1ee;border-color:var(--c-teal)}
.ocv-dia:disabled{background:transparent;color:#8a9a9b;font-weight:500;text-decoration:line-through;text-decoration-color:rgba(86,102,104,.45);cursor:not-allowed}
.ocv-dia.hoy:after{content:"";position:absolute;bottom:5px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--c-teal)}
.ocv-dia.sel,.ocv-dia[aria-pressed="true"]{background:var(--c-teal);color:#fff}
.ocv-vacio{margin-top:14px;color:var(--c-muted)}

/* Horas */
.ocv-franja{margin:0 0 22px}
.ocv-horas{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.ocv-hora{min-height:44px;border:1px solid #b9cdca;border-radius:12px;background:#fff;color:var(--c-ink);font-weight:700;font-size:16px;padding:0 8px}
.ocv-hora:hover{border-color:var(--c-teal);background:var(--c-pale);color:var(--c-teal)}

/* Formulario */
.ocv-resumen{background:var(--c-pale);border-radius:12px;padding:12px 16px;margin:0 0 20px}
.ocv-campo{margin:0 0 16px}
.ocv-campo label,.ocv-check label{display:block;font-weight:700;font-size:15px;margin-bottom:6px}
.ocv-opc{font-weight:500;color:var(--c-muted);font-size:13px}
.ocv-campo input{width:100%;min-height:48px;border:1px solid #b9cdca;border-radius:12px;padding:10px 14px;font-size:16px;background:#fff;color:var(--c-ink)}
.ocv-campo input:focus-visible{outline:3px solid #a35f00;outline-offset:2px;border-color:var(--c-teal)}
.ocv-campo input[aria-invalid="true"]{border-color:#b3261e;background:#fff8f7}
.ocv-check{display:flex;align-items:center;gap:12px;min-height:44px;margin:4px 0 16px}
.ocv-check input{width:24px;height:24px;flex:0 0 auto;accent-color:var(--c-teal);margin:0}
.ocv-check label{margin:0;font-weight:600;cursor:pointer;flex:1;padding:10px 0}
.ocv-err{color:#b3261e;font-size:14px;font-weight:600;margin:6px 0 0}
.ocv-err-global{color:#b3261e;font-weight:600}
.ocv-errores{background:#fff1f0;border:1px solid #f0b8b4;color:#8c1d18;border-radius:12px;padding:10px 14px;margin:0 0 16px;font-weight:600}
.ocv-trampa{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.ocv-fine{font-size:13px;color:var(--c-muted);margin:0 0 18px}
.ocv-acciones{display:flex;flex-wrap:wrap;gap:12px}
.ocv-acciones .btn{flex:1 1 220px}

/* Confirmación */
.ocv-ficha{display:grid;gap:10px;margin:0 0 18px}
.ocv-ficha div{background:var(--c-pale);border-radius:12px;padding:12px 16px}
.ocv-ficha dt{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-teal)}
.ocv-ficha dd{margin:2px 0 0;font-weight:600;font-size:17px}
.ocv-llevar{margin:0 0 18px}
.ocv-llevar ul{margin:0;padding-left:22px}
.ocv-cancelar-enlace{font-size:15px;margin:0}
.ocv-cancelar-enlace a,.ocv-ag-cancelar a:not(.btn){color:var(--c-teal);font-weight:700;text-decoration:underline;display:inline-block;padding:10px 0}

@media (max-width:640px){
	.ocv-ag{padding:24px 16px}
	.ocv-pasos li{font-size:11px;letter-spacing:.02em}
}
/* Celulares (hasta 400 px): el calendario usa casi todo el ancho para que cada día mida al menos 44 px. */
@media (max-width:400px){
	.ocv-ag{padding:20px 0;border-radius:12px;border-left-width:0;border-right-width:0;width:calc(100vw - 12px);max-width:none;position:relative;left:50%;transform:translateX(-50%)}
	.ocv-ag>.ocv-pasos,.ocv-ag>.ocv-paso>*:not(.ocv-cal),.ocv-ag>.ocv-ag-modo-prueba{margin-left:14px;margin-right:14px}
	.ocv-ag>.ocv-paso>.ocv-cal{margin:0}
	.ocv-ag-cancelar>*,.ocv-ag-aviso>*{margin-left:14px;margin-right:14px}
	.ocv-cal-nav{padding:0 10px}
	.ocv-cal-sem,.ocv-cal-grid{gap:0}
	.ocv-dia{border-radius:10px;border-width:2px;border-color:#fff}
}
@media (prefers-reduced-motion:reduce){
	.ocv-ag *,.ocv-ag *:before,.ocv-ag *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}

/* En las páginas de la agenda no se muestra la barra fija de "Reserva tu examen gratis" del tema
   (ya estás reservando); el botón de WhatsApp baja a su lugar. */
.pg-reservar .mobile-cta,.pg-agenda-interna .mobile-cta,.pg-agenda-interna .wa-float{display:none!important}
@media (max-width:900px){.pg-reservar .wa-float{bottom:calc(16px + env(safe-area-inset-bottom))}.pg-reservar,.pg-agenda-interna{padding-bottom:0}}
