/* Agenda online. Toma la tipografía del tema; el color de acento se configura en Ajustes. */
.agcl { --agcl-acento: #0e7490; --agcl-texto: #13202a; --agcl-suave: #4f5d68; --agcl-borde: #718089; --agcl-linea: #d9e0e4; --agcl-fondo: #f5f7f8;
  --agcl-error: #b42318; --agcl-error-fondo: #fdecea; --agcl-ok: #17693f; --agcl-ok-fondo: #e3f4ea;
  max-width: 40rem; margin: 0 auto; color: var(--agcl-texto); font-size: 1rem; line-height: 1.5; }
.agcl * { box-sizing: border-box; }
.agcl-paso { border: 1px solid var(--agcl-linea); border-radius: 12px; padding: 1rem 1.25rem 1.25rem; margin: 0 0 1rem; background: #fff; }
.agcl-paso legend { font-weight: 700; padding: 0 .4rem; font-size: 1.05rem; }
.agcl-campo { display: flex; flex-direction: column; gap: .3rem; margin-top: .9rem; }
.agcl-campo label { font-weight: 600; font-size: .95rem; }
.agcl-campo input, .agcl-campo select { min-height: 44px; padding: .5rem .75rem; border: 1px solid var(--agcl-borde); border-radius: 8px; font: inherit; color: inherit; background: #fff; width: 100%; }
.agcl-ayuda { margin: 0; font-size: .85rem; color: var(--agcl-suave); }
.agcl :focus-visible { outline: 2px solid var(--agcl-acento); outline-offset: 2px; }
.agcl-horas { margin-top: 1rem; }
.agcl-botones { display: flex; flex-wrap: wrap; gap: .5rem; }
.agcl-hora { min-height: 44px; min-width: 4.5rem; padding: .4rem .8rem; border: 1px solid var(--agcl-borde); border-radius: 8px; background: #fff; color: inherit; font: inherit; font-weight: 600; cursor: pointer; }
.agcl-hora:hover { background: var(--agcl-fondo); }
.agcl-hora[aria-checked="true"] { background: var(--agcl-acento); border-color: var(--agcl-acento); color: #fff; }
.agcl-resumen { margin: .5rem 0 0; padding: .6rem .8rem; background: var(--agcl-fondo); border-radius: 8px; font-weight: 600; }
.agcl-check { display: flex; gap: .6rem; align-items: flex-start; margin-top: .9rem; font-size: .92rem; cursor: pointer; }
.agcl-check input { width: 1.2rem; height: 1.2rem; margin-top: .15rem; flex: none; accent-color: var(--agcl-acento); }
.agcl-boton { margin-top: 1.1rem; min-height: 48px; padding: .6rem 1.5rem; border: 0; border-radius: 8px; background: var(--agcl-acento); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.agcl-boton:disabled { opacity: .6; cursor: wait; }
.agcl-aviso { margin: .9rem 0 0; padding: .7rem .9rem; border-radius: 8px; font-weight: 600; }
.agcl-error { background: var(--agcl-error-fondo); color: var(--agcl-error); border: 1px solid var(--agcl-error); }
.agcl-listo { padding: 1.25rem; border-radius: 12px; background: var(--agcl-ok-fondo); color: var(--agcl-ok); border: 1px solid var(--agcl-ok); }
.agcl-listo h3 { margin: 0 0 .4rem; color: inherit; }
.agcl-listo p { margin: .3rem 0 0; color: var(--agcl-texto); }
.agcl-cargando { color: var(--agcl-suave); }
.agcl-trampa { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
