/* ============================================================
   ESTILOS DEL FORMULARIO DE ALTA — compartidos por index.html
   y alta.html. Estaban dentro del <style> de la landing; se
   sacaron aquí para que el formulario viva en un solo sitio.
   La landing los carga con un <link> puesto EXACTAMENTE en el
   punto donde estaban, para no cambiar el orden de la cascada.
   ============================================================ */
/* ---------- botón (lo usa el formulario y toda la landing) ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border-radius:11px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);
  padding:13px 22px;font-weight:600;font-size:15px;text-decoration:none;
  transition:transform .12s ease,opacity .12s ease
}
.btn:active{transform:scale(.975)}
.btn:hover{opacity:.88}
.btn.sm{padding:9px 16px;font-size:13.5px;border-radius:9px}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--bd)}
.btn.ghost:hover{border-color:var(--ink);opacity:1}

/* ---------- formulario ---------- */
.form-sec{background:var(--outer);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
form{margin-top:24px;display:grid;gap:14px}
@media(min-width:700px){.f2{grid-template-columns:1fr 1fr}}
label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mut2);margin-bottom:6px}
input,textarea{
  width:100%;font-family:var(--body);font-size:16px;color:var(--ink);
  background:var(--card);border:1px solid var(--bd);border-radius:11px;padding:13px 14px;
  transition:border-color .14s ease
}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--ink)}
textarea{resize:vertical;min-height:90px}
select{
  width:100%;font-family:var(--body);font-size:16px;color:var(--ink);
  background:var(--card);border:1px solid var(--bd);border-radius:11px;padding:13px 14px;
  min-height:50px;transition:border-color .14s ease
}

/* ---------- bloques del formulario de alta ---------- */
/* El formulario es largo a propósito: cuanto más nos cuente aquí,
   menos hay que preguntarle luego. Se parte en bloques para que no
   asuste y se vea de un vistazo por dónde va. */
fieldset{
  border:1px solid var(--bd);border-radius:16px;background:var(--card);
  padding:22px;margin:0;min-width:0
}
/* El número del bloque. Antes era un <legend>, que el navegador monta a
   caballo sobre el borde del recuadro: en móvil se salía por la esquina y
   quedaba mal. Ahora es un <p class="paso"> normal dentro del recuadro
   (el fieldset lo referencia con aria-labelledby, así no se pierde el
   nombre del grupo para los lectores de pantalla). */
.paso{
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink);background:var(--paper);border:1px solid var(--bd);
  border-radius:999px;padding:5px 13px;margin:0 0 18px;
  display:inline-block;max-width:100%
}
/* Los campos de hora. El control nativo de iOS trae su propio ancho y su
   propio relleno: con width:100% a secas el texto se sale del recuadro en el
   móvil (en el escritorio no se nota). Se le quita la apariencia nativa, se
   deja que encoja (min-width:0, que en un grid no es el valor por defecto) y
   se coloca el valor a la izquierda como en el resto de campos. */
input[type="time"],input[type="date"]{
  -webkit-appearance:none;appearance:none;
  display:block;min-width:0;max-width:100%;min-height:50px
}
input[type="time"]::-webkit-date-and-time-value{text-align:left;margin:0}
input[type="time"]::-webkit-calendar-picker-indicator{margin-left:auto;flex:none}

fieldset .grid{display:grid;gap:14px}
/* Sin esto, las celdas de un grid no bajan de su ancho mínimo de contenido y
   son ellas las que desbordan, no el campo. */
fieldset .grid>*{min-width:0}
@media(min-width:700px){fieldset .f2{grid-template-columns:1fr 1fr}}
fieldset .hint{font-family:var(--mono);font-size:11px;color:var(--mut);line-height:1.65;margin-top:12px}
fieldset .hint.arriba{margin:0 0 16px}

.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{
  border:1px solid var(--bd);background:var(--paper);color:var(--ink2);
  border-radius:999px;min-height:44px;padding:0 15px;font-size:14px;font-weight:600;
  transition:background .12s ease,border-color .12s ease
}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.dias{display:flex;gap:6px}
.dias .chip{flex:1;padding:0;font-weight:800;border-radius:11px}
.sufijo{position:relative;display:block}
.sufijo input{padding-right:56px}
.sufijo em{
  position:absolute;right:15px;top:50%;transform:translateY(-50%);
  font-family:var(--mono);font-size:13px;font-style:normal;color:var(--mut);pointer-events:none
}
.msg{border-radius:11px;padding:13px 15px;font-size:15px;display:none}
.msg.on{display:block;animation:rise .3s ease}
.msg.ok{background:var(--greenBg);border:1px solid var(--greenBd);color:var(--green)}
.msg.err{background:var(--redBg);border:1px solid var(--redBd);color:var(--red)}
.tiny{font-size:12.5px;color:var(--mut)}
