/* Agenda en línea, Anso y formularios · usa los tokens de color de la página */
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero h1 .eyebrow{display:block;font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--aguamarina-texto);margin-bottom:18px;line-height:1.4}

/* Agenda */
.agenda{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px;align-items:start}
.ag-pasos{display:flex;flex-direction:column;gap:28px;min-width:0}
.ag-paso h3{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.ag-paso .n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--amarillo);color:var(--sobre-color);font-family:var(--display);font-size:15px;border:2px solid var(--contorno)}
.ag-dias{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x proximity}
.ag-dia{flex:none;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:78px;padding:10px 8px;border-radius:16px;border:2px solid var(--linea);background:var(--tarjeta);color:var(--tinta);font:600 13px var(--sans);cursor:pointer}
.ag-dia b{font-family:var(--display);font-size:24px;line-height:1}
.ag-dia small{font-size:11px;color:var(--gris);font-weight:500}
.ag-dia[aria-selected="true"]{border-color:var(--contorno);background:var(--azul);color:var(--sobre-color)}
.ag-dia[aria-selected="true"] small{color:var(--sobre-color)}
.ag-horas{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px}
.ag-hora{padding:10px 0;border-radius:999px;border:2px solid var(--linea);background:var(--tarjeta);color:var(--tinta);font:600 15px var(--sans);font-variant-numeric:tabular-nums;cursor:pointer}
.ag-hora[aria-pressed="true"]{background:var(--amarillo);border-color:var(--contorno);color:var(--sobre-color)}
.ag-vacio,.ag-cargando{color:var(--gris);font-size:15px}
.campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.campo.ancho{grid-column:1/-1}
.campo label{font-size:14px;font-weight:600}
.campo label small{font-weight:500;color:var(--gris)}
.campo input,.campo select,.campo textarea{font:400 16px var(--sans);color:var(--tinta);background:var(--tarjeta);border:2px solid var(--linea);border-radius:12px;padding:11px 12px;width:100%}
.campo textarea{min-height:90px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--azul-texto)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;grid-column:1/-1}
.consent input{width:20px;height:20px;flex:none;margin-top:1px;accent-color:var(--azul-texto)}
.form-error{background:var(--hueso-2);border:2px dashed #E0645C;border-radius:12px;padding:10px 14px;font-size:15px;color:var(--tinta)}
.ag-enviar{margin-top:18px}
.btn[disabled]{opacity:.55;cursor:wait;transform:none}
.ag-resumen{position:sticky;top:calc(env(safe-area-inset-top,0px) + 96px);background:var(--azul);color:var(--sobre-color);border:2px solid var(--contorno);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:14px}
.ag-resumen h3{font-family:var(--display);font-size:22px}
.ag-linea{display:flex;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums;border-bottom:1px dashed color-mix(in srgb,var(--sobre-color) 30%,transparent);padding-bottom:8px}
.ag-linea:last-of-type{border-bottom:0}
.ag-linea b{white-space:nowrap}
.ag-cuando{background:var(--hueso);color:var(--tinta);border-radius:14px;padding:12px 14px;font-weight:600}
.ag-nota{font-size:13px;line-height:1.5}
.ag-ok{background:var(--verde);color:var(--sobre-color);border:2px solid var(--contorno);border-radius:20px;padding:20px 22px;margin-bottom:28px;display:flex;flex-direction:column;gap:6px}
.ag-ok h3{font-family:var(--display);font-size:22px}
.ag-ok.aviso{background:var(--hueso-2);color:var(--tinta)}
@media (max-width:860px){.agenda{grid-template-columns:1fr}.ag-resumen{position:static;order:-1}.campos{grid-template-columns:1fr}}

/* Anso */
.anso-boton{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:10px;background:var(--amarillo);color:#23324A;border:2px solid #23324A;border-radius:999px;padding:8px 18px 8px 8px;font:700 15px var(--sans);cursor:pointer;box-shadow:4px 4px 0 #23324A}
.anso-boton svg{width:40px;height:40px;flex:none}
.anso-panel{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:61;width:min(400px,calc(100vw - 32px));height:min(620px,calc(100dvh - 32px - env(safe-area-inset-top,0px)));background:var(--hueso);color:var(--tinta);border:2px solid #23324A;border-radius:24px;box-shadow:6px 6px 0 #23324A;display:flex;flex-direction:column;overflow:hidden}
.anso-cab{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--aguamarina);color:#23324A;border-bottom:2px solid #23324A}
.anso-cab svg{width:38px;height:38px;flex:none}
.anso-cab b{display:block;font-family:var(--display);font-size:17px}
.anso-cab small{font-size:12px}
.anso-cerrar{margin-left:auto;background:transparent;border:0;font-size:26px;line-height:1;color:#23324A;cursor:pointer;padding:4px 8px}
.anso-aviso{font-size:12px;color:var(--gris);padding:8px 14px;border-bottom:1px solid var(--linea)}
.anso-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.anso-m{max-width:86%;padding:10px 13px;border-radius:16px;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.anso-m.a{background:var(--tarjeta);border:1px solid var(--linea);align-self:flex-start;border-bottom-left-radius:4px}
.anso-m.u{background:var(--azul);color:#23324A;align-self:flex-end;border-bottom-right-radius:4px}
.anso-m a{color:var(--azul-texto);font-weight:600}
.anso-m.u a{color:#23324A}
.anso-escribiendo{align-self:flex-start;color:var(--gris);font-size:13px}
.anso-acciones{display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start;max-width:100%}
.anso-chip{background:transparent;border:2px solid var(--tinta);color:var(--tinta);border-radius:999px;padding:7px 12px;font:600 13px var(--sans);cursor:pointer}
.anso-pago{background:var(--amarillo);color:#23324A;border:2px solid #23324A;border-radius:999px;padding:10px 16px;font:700 14px var(--sans);text-decoration:none}
.anso-form{display:flex;gap:8px;padding:10px;border-top:2px solid var(--linea);background:var(--hueso)}
.anso-form input{flex:1;min-width:0;font:400 16px var(--sans);border:2px solid var(--linea);border-radius:999px;padding:10px 14px;background:var(--tarjeta);color:var(--tinta)}
.anso-form button{background:var(--tinta);color:var(--hueso);border:0;border-radius:999px;padding:0 16px;font:700 14px var(--sans);cursor:pointer}
@media (max-width:480px){.anso-boton span{display:none}.anso-boton{padding:6px}}
@media print{.anso-boton,.anso-panel{display:none}}
/* Sedes */
.ag-sedes{display:flex;flex-wrap:wrap;gap:10px}
.ag-sede{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 16px;border-radius:16px;border:2px solid var(--linea);background:var(--tarjeta);color:var(--tinta);font:700 15px var(--sans);cursor:pointer;text-align:left}
.ag-sede small{font:500 12px var(--sans);color:var(--gris)}
.ag-sede:hover{border-color:var(--contorno)}
.ag-sede[aria-pressed="true"]{border-color:var(--contorno);background:var(--amarillo)}
.ag-sede[aria-pressed="true"] small{color:var(--tinta)}
.ag-sede-info{margin-top:12px;font-size:14px;color:var(--gris)}
.ag-sede-info a{color:var(--azul-texto);font-weight:700}
.sedes-lista{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px;padding:0;list-style:none}
.sedes-lista li{padding:6px 12px;border-radius:999px;background:var(--tarjeta);border:1.5px solid var(--linea);font-size:14px;font-weight:600}
.sedes-lista li.principal{background:var(--amarillo);border-color:var(--contorno)}
