/* Página de agendamiento. Depende de /css/marca.css. */

.barra{padding:22px 0;border-bottom:1px solid var(--hueso)}
.volver{font-size:0.8125rem;color:var(--topo);text-decoration:none}
.volver:hover{color:var(--musgo)}

.ag-grid{align-items:start;row-gap:40px}
.ag-info{grid-column:1 / span 5}
.ag-panel{grid-column:7 / span 6}
.ag-titulo{font-size:clamp(2.25rem,4vw,3.25rem);margin-bottom:24px}
.ag-h2{font-size:clamp(1.5rem,2.4vw,1.875rem);margin:0 0 16px;max-width:none}

.pasos{margin:32px 0 0;padding:0;counter-reset:paso}
.pasos li{
  list-style:none;position:relative;padding:14px 0 14px 40px;border-top:1px solid var(--hueso);
  font-size:0.9688rem;line-height:1.5;
}
.pasos li:last-child{border-bottom:1px solid var(--hueso)}
.pasos li::before{
  counter-increment:paso;content:counter(paso,decimal-leading-zero);
  position:absolute;left:0;top:14px;font-weight:500;font-size:0.6875rem;
  letter-spacing:0.12em;color:var(--cuero);line-height:1.9;
}

/* calendario */
.cal-cab{display:flex;align-items:center;justify-content:space-between;margin:4px 0 14px}
.cal-mes{margin:0;font-family:var(--serif);font-weight:400;font-size:1.25rem;max-width:none}
.cal-mes::first-letter{text-transform:uppercase}
.cal-nav{
  background:transparent;border:1px solid var(--hueso);border-radius:0;color:var(--musgo);
  width:40px;height:40px;font-size:1rem;cursor:pointer;line-height:1;
}
.cal-nav:hover:not(:disabled){background:var(--arena)}
.cal-nav:disabled{opacity:.3;cursor:not-allowed}
.cal-sem,.cal-dias{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-sem span{
  text-align:center;font-size:0.6875rem;font-weight:500;letter-spacing:0.12em;
  color:var(--topo);padding:6px 0;
}
.dia{
  position:relative;height:46px;border:1px solid transparent;border-radius:0;background:transparent;
  font-family:var(--sans);font-size:0.9375rem;font-weight:300;color:var(--topo);
  cursor:default;padding:0;
}
.dia[disabled]{opacity:.35}
.dia.hay{border-color:var(--hueso);color:var(--tinta);font-weight:500;cursor:pointer}
.dia.hay::after{
  content:"";position:absolute;left:50%;bottom:7px;width:14px;height:1px;
  margin-left:-7px;background:var(--cuero);
}
.dia.hay:hover{background:var(--arena)}
.dia.sel,.dia.sel:hover{background:var(--musgo);border-color:var(--musgo);color:var(--lino)}
.dia.sel::after{background:var(--hueso)}
.dia.vacio{visibility:hidden}

/* horas */
.zona{font-weight:300;letter-spacing:0;text-transform:none;font-size:0.75rem}
.horas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hora{
  padding:12px 6px;border:1px solid var(--hueso);border-radius:0;background:transparent;
  font-family:var(--sans);font-size:0.9375rem;font-weight:400;color:var(--tinta);cursor:pointer;
}
.hora:hover{background:var(--arena)}
.hora.sel{background:var(--musgo);border-color:var(--musgo);color:var(--lino)}

.fila-tel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px}

/* confirmación */
.resumen{border-top:1px solid var(--hueso);border-bottom:1px solid var(--hueso);padding:20px 0;margin:20px 0}
.resumen .etiqueta{margin-bottom:6px}
.resumen-dia{font-family:var(--serif);font-weight:300;font-size:1.5rem;line-height:1.3;margin:0 0 4px;max-width:none}

/* Formulario de la Llamada de Claridad: preguntas en letra normal (no en mayúsculas pequeñas). */
.intro-form{font-size:0.9375rem;line-height:1.6;color:var(--topo);margin:0 0 24px;max-width:none}
.sub-form{font-family:var(--serif);font-weight:400;font-size:1.15rem;margin:28px 0 16px;padding-top:18px;border-top:1px solid var(--hueso);max-width:none}
.campo label.pregunta{text-transform:none;letter-spacing:0;font-size:0.9375rem;font-weight:400;color:var(--tinta);line-height:1.45}
input[type=number]{
  width:100%;padding:13px 14px;border:1px solid var(--hueso);border-radius:0;
  background:var(--lino);color:var(--tinta);font-family:var(--sans);font-weight:400;font-size:1rem;line-height:1.4;
}
input[type=number]:focus{outline:1px solid var(--cuero);outline-offset:0;border-color:var(--cuero)}
input.corto{max-width:120px}
textarea{resize:vertical;min-height:84px}
.campo .pista{margin:6px 0 0}
/* Preguntas obligatorias: asterisco y resaltado de la que falta. */
.req,.campo label.pregunta::after{color:var(--cuero)}
.campo label.pregunta::after{content:" *"}
/* Preguntas personales (5 a 8): opcionales por la política de datos (datos sensibles, Ley 1581). */
.campo label.pregunta.opcional::after{content:" (opcional)";color:var(--topo)}
.falta{border-color:var(--cuero) !important;outline:1px solid var(--cuero);background:#FBF3EE !important}
.falta-texto{color:var(--cuero);font-size:0.8125rem;margin:6px 0 0}

/* Pregunta 9: escala del 1 al 5 (cinco casillas como las de la hora; la elegida en musgo). */
.escala{border:0;padding:0;margin:0 0 20px;min-width:0}
.escala legend.pregunta{
  padding:0;margin:0 0 10px;font-family:var(--sans);font-size:0.9375rem;font-weight:400;
  color:var(--tinta);line-height:1.45;
}
.escala legend.pregunta::after{content:" *";color:var(--cuero)}
.escala-opciones{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.campo .escala-op{
  position:relative;display:block;margin:0;cursor:pointer;
  font-size:1rem;letter-spacing:0;text-transform:none;color:var(--tinta);
}
.escala-op input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.escala-op span{
  display:block;padding:12px 0;text-align:center;border:1px solid var(--hueso);background:transparent;
  font-family:var(--sans);font-size:0.9375rem;font-weight:400;line-height:1.4;color:var(--tinta);
  transition:background 200ms ease;
}
.escala-op:hover span{background:var(--arena)}
.escala-op input:checked + span{background:var(--musgo);border-color:var(--musgo);color:var(--lino)}
.escala-op input:focus-visible + span{outline:1px solid var(--cuero);outline-offset:2px}
.escala-guia{display:flex;justify-content:space-between;gap:16px;margin-top:8px}
.escala-guia p{font-size:0.8125rem;color:var(--topo);line-height:1.45;margin:0;max-width:30ch}
.escala-guia p:last-child{text-align:right}
/* Si falta, se resaltan las casillas (no el bloque entero). */
.escala.falta{outline:0;background:transparent !important}
.escala.falta .escala-op span{border-color:var(--cuero)}

/* Pregunta 10: una opción por renglón (la elegida en musgo). */
.opciones{border:0;padding:0;margin:0 0 20px;min-width:0}
.opciones legend.pregunta{
  padding:0;margin:0 0 10px;font-family:var(--sans);font-size:0.9375rem;font-weight:400;
  color:var(--tinta);line-height:1.45;
}
.opciones legend.pregunta::after{content:" *";color:var(--cuero)}
.campo .opcion{
  display:flex;gap:12px;align-items:flex-start;margin:0 0 8px;padding:12px 14px;cursor:pointer;
  border:1px solid var(--hueso);background:transparent;transition:background 200ms ease;
  font-family:var(--sans);font-size:0.9375rem;font-weight:400;letter-spacing:0;text-transform:none;
  color:var(--tinta);line-height:1.45;
}
.campo .opcion:last-of-type{margin-bottom:0}
.opcion:hover{background:var(--arena)}
.opcion input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--musgo)}
.opcion:has(input:checked){border-color:var(--musgo);background:var(--arena)}
.opciones.falta{outline:0;background:transparent !important}
.opciones.falta .opcion{border-color:var(--cuero)}

@media (max-width:980px){
  /* Una sola columna: con 12 columnas y 11 espacios de 40px la cuadrícula medía más que un celular. */
  .ag-grid{grid-template-columns:minmax(0,1fr);column-gap:0}
  .ag-info,.ag-panel{grid-column:1 / -1}
}
@media (max-width:860px){
  .fila-tel{grid-template-columns:1fr;gap:0}
  .horas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dia{height:42px}
  .escala-guia{flex-direction:column;gap:4px}
  .escala-guia p{max-width:none}
  .escala-guia p:last-child{text-align:left}
}
