/* /agendar · versión "Con resumen" elegida por el cliente:
   formulario por pasos a la izquierda, "Tu solicitud" siempre visible a la derecha. */

.pag-agendar{background:var(--gris)}
.pag-agendar .nav{padding:22px clamp(var(--gutter),4vw,330px)}
.pag-agendar .nav.fija{padding-top:14px;padding-bottom:14px}
/* textura de la página de cita: abajo a la izquierda, fija a la pantalla, mitad del alto y ancho proporcional,
   desvaneciéndose en arco hacia el centro.
   Escalera fila por fila (12 filas): cada fila del patrón ꝏV es un escalón, más corta que la de abajo.
   La celda del mosaico se escala con la pantalla (alto/12) para que filas y escalones siempre coincidan. */
.esquina-cita.pat.ov{--alto:50vh;--fila:calc(var(--alto) / 12);position:fixed;left:0;bottom:0;z-index:0;height:var(--alto);aspect-ratio:1.15;
  background:#E6E0E0;pointer-events:none;
  /* dos capas: el patrón y un desvanecido en arco que nace en la esquina inferior izquierda */
  -webkit-mask-image:var(--ov),radial-gradient(circle at 0 100%,#000 18%,rgba(0,0,0,.55) 45%,transparent 78%);
  mask-image:var(--ov),radial-gradient(circle at 0 100%,#000 18%,rgba(0,0,0,.55) 45%,transparent 78%);
  -webkit-mask-size:calc(var(--fila) * 1.7037) var(--fila),100% 100%;mask-size:calc(var(--fila) * 1.7037) var(--fila),100% 100%;
  -webkit-mask-position:0 100%,0 0;mask-position:0 100%,0 0;
  -webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat;
  -webkit-mask-composite:source-in;mask-composite:intersect;
  clip-path:polygon(0 0,8.333% 0.0%,8.333% 8.333%,16.667% 8.333%,16.667% 16.667%,25.0% 16.667%,25.0% 25.0%,33.333% 25.0%,33.333% 33.333%,41.667% 33.333%,41.667% 41.667%,50.0% 41.667%,50.0% 50.0%,58.333% 50.0%,58.333% 58.333%,66.667% 58.333%,66.667% 66.667%,75.0% 66.667%,75.0% 75.0%,83.333% 75.0%,83.333% 83.333%,91.667% 83.333%,91.667% 91.667%,100.0% 91.667%,100.0% 100.0%,0 100%)}
.pag-agendar main{position:relative;z-index:1}
.espacio{flex:1}
.ayuda{font-size:15px;color:var(--tinta2)}
.ayuda a{color:var(--magenta);font-weight:700;text-decoration:none}

.agendar{padding:56px var(--gutter) 96px;max-width:1240px;margin:0 auto}
.agendar-cab{margin-bottom:30px}
.agendar-cab .h2{margin:12px 0 10px}
.agendar-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:28px;align-items:start}

/* ===== formulario ===== */
.fmain{background:#fff;border-radius:var(--radio);padding:34px 36px 36px}
.fsteps{list-style:none;margin:0 0 30px;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.fsteps li{display:flex;align-items:center;gap:9px;padding:9px 16px 9px 9px;border-radius:999px;background:var(--gris);
  font:600 14px/1 var(--titulo);color:var(--tinta2)}
.fsteps li span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;color:var(--tinta2);font-weight:800;font-size:13px}
.fsteps li[aria-current="step"]{background:var(--magenta);color:#fff}
.fsteps li[aria-current="step"] span{color:var(--magenta)}
.fsteps li.hecho{background:var(--navy);color:#fff;cursor:pointer}
.fsteps li.hecho span{color:var(--navy)}

.paso h2{font-size:clamp(24px,2.6vw,30px);font-weight:800;color:var(--navy);margin-bottom:6px}
.paso h2:focus{outline:none}
.ayuda-paso{color:var(--tinta2);margin-bottom:22px}
fieldset{border:0;margin:22px 0 0;padding:0;min-width:0}
legend,.campo label{display:block;font:700 15px/1.3 var(--titulo);color:var(--navy);margin-bottom:10px;padding:0}
.opc{font:500 13px var(--texto);color:var(--tinta2);margin-left:6px}

.opciones{display:grid;gap:12px}
.opciones.dos{grid-template-columns:1fr 1fr}
.opciones.tres{grid-template-columns:repeat(3,1fr)}
.opcion{position:relative;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;background:var(--gris);
  border:2px solid transparent;cursor:pointer;transition:border-color .15s,background-color .15s}
.opcion:hover{border-color:#D9D4D4}
.opcion input{position:absolute;opacity:0;pointer-events:none}
.opcion img{width:48px;height:48px;flex:none}
.opcion b{display:block;font:700 16.5px/1.25 var(--titulo);color:var(--navy)}
.opcion small{display:block;font-size:14px;color:var(--tinta2);margin-top:2px}
.opcion.chica{padding:14px 16px}
.opcion:has(input:checked){border-color:var(--magenta);background:var(--magenta-claro)}
.opcion:has(input:focus-visible){outline:3px solid var(--navy);outline-offset:3px}

.diferencia{margin-top:12px;font-size:15px}
.diferencia summary{cursor:pointer;color:var(--magenta);font-weight:700;width:max-content}
.diferencia p{margin-top:8px;color:var(--tinta2);max-width:62ch}

.campo{margin-top:22px}
.campo input,.campo select{width:100%;max-width:440px;min-height:50px;padding:12px 16px;border:2px solid #E1DCDC;border-radius:14px;
  font:500 16.5px var(--texto);color:var(--tinta);background:#fff}
.campo input:focus,.campo select:focus{outline:none;border-color:var(--navy)}
.campo input[aria-invalid="true"],.campo select[aria-invalid="true"]{border-color:var(--magenta)}

.check{display:flex;gap:12px;align-items:flex-start;margin-top:26px;font-size:14.5px;color:var(--tinta2);max-width:620px;cursor:pointer}
.check input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--magenta)}

.error{margin-top:8px;font-size:14px;font-weight:700;color:var(--magenta-osc)}
.navpaso{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:32px;flex-wrap:wrap}
.nota-envio{margin-top:12px;font-size:14px;color:var(--tinta2);text-align:right}

/* ===== resumen ===== */
.resumen{position:sticky;top:24px;background:#fff;border-radius:var(--radio);overflow:hidden}
.resumen-cab{position:relative;background:var(--magenta);padding:22px 24px;overflow:hidden}
/* magenta liso con el isotipo grande recortado, tono sobre tono (reverso de la tarjeta de presentación) */
.resumen-cab::before{content:"";position:absolute;width:260px;aspect-ratio:142/89;right:-70px;top:-40px;background:var(--magenta-osc);
  -webkit-mask:url("marca/isotipo.svg") center/contain no-repeat;mask:url("marca/isotipo.svg") center/contain no-repeat}
.resumen-cab h2{position:relative;color:#fff;font-size:20px;font-weight:800}
.resumen dl{margin:0;padding:8px 24px 0}
.resumen dl div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--linea);font-size:15px}
.resumen dt{color:var(--tinta2)}
.resumen dd{margin:0;font:700 15px/1.35 var(--titulo);color:var(--navy);text-align:right}
.resumen .espera dd,.resumen dd.vacio{color:#9AA0AB;font-weight:600;font-style:italic}
.resumen .espera{border-bottom:0}
.aviso{margin:6px 24px 24px;padding:14px 16px;border-left:4px solid var(--magenta);background:var(--magenta-claro);border-radius:0 14px 14px 0;font-size:14.5px;color:var(--tinta)}

@media (max-width:900px){
  .pag-agendar .nav,.pag-agendar .nav.fija{padding:14px var(--gutter)}
  .esquina-cita.pat.ov{--alto:32vh}
  .ayuda{display:none}
  .agendar{padding:32px var(--gutter) 64px}
  .agendar-grid{grid-template-columns:1fr}
  .resumen{position:static}
  .fmain{padding:24px 18px 26px}
  .opciones.dos,.opciones.tres{grid-template-columns:1fr}
  .fsteps li{font-size:13px;padding-right:12px}
  .nota-envio{text-align:left}
}
