/* --- FORMULARIO --- */
.salime-booking{
  font-family:"Figtree-Regular",Arial,Helvetica,sans-serif;
  color:#0f172a;
  max-width:980px;
  margin:0 auto;
  background:transparent;
}
[hidden]{display:none !important}

/* GRID 2 columnas; Mensaje a ancho completo con .span-2 */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.span-2{grid-column:1 / -1}
@media (max-width:760px){ .grid-2{grid-template-columns:1fr} }

.salime-booking label{display:block;margin:0;font-size:0;font-weight:normal}

.salime-booking input[type="text"],
.salime-booking input[type="email"],
.salime-booking input[type="tel"],
.salime-booking input[type="date"],
.salime-booking select,
.salime-booking textarea,
.flatpickr-alt-input{
  box-sizing:border-box;
  width:100%;
  padding:12px 14px;
  min-height:48px;
  line-height:1.3;
  border:1px solid #cbd5e1;
  border-radius:5px;
  outline:none;
  background:#fff;
  font-size:16px;
  margin-bottom:14px;
  color:#0f172a;
}
.salime-booking select{
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  background-image: linear-gradient(45deg, transparent 50%, #64748b 50%), linear-gradient(135deg, #64748b 50%, transparent 50%);
  background-position: calc(100% - 16px) calc(50% - 4px), calc(100% - 10px) calc(50% - 4px);
  background-size: 6px 6px, 6px 6px; background-repeat:no-repeat; padding-right:34px;
}
.salime-booking textarea{min-height:140px;line-height:1.35;resize:vertical}

/* Indicador de disponibilidad */
.avail-hint{display:block;margin:6px 0 4px 0;color:#0f172a;font-size:14px}
.avail-hint.warn{color:#7a5a00}
.avail-hint.bad{color:#a1281a}
.avail-meter{height:8px;background:#f1f5f9;border-radius:999px;overflow:hidden;margin:0 0 8px 0}
.avail-meter .bar{height:100%;width:0%;background:#0ea5e9}

/* RGPD + separación */
.rgpd-line{display:flex;align-items:flex-start;gap:10px;margin:6px 0 14px 0;position:relative;flex-wrap:nowrap}
.rgpd-line input[type="checkbox"]{width:18px;height:18px;margin:3px 0 0 0;flex:0 0 auto}
.rgpd-label{font-size:14px !important;line-height:1.4;color:#0f172a;display:block}
.rgpd-line .legal-link{color:#0e4661;text-decoration:underline}
.rgpd-line .legal-link:hover{opacity:.85}

/* Botón */
.salime-booking .btn-primary{
  width:100%;padding:16px;background:#98f2f4;color:#0e4661;border:none;border-radius:5px;font-weight:700;cursor:pointer;text-align:center;font-size:16px;margin-top:2px;
}
.salime-booking .btn-primary:hover{filter:brightness(0.97)}
.salime-booking .salime-msg{margin-top:10px;font-size:14px}
.salime-booking .salime-msg.ok{color:#0f6b4d}
.salime-booking .salime-msg.err{color:#b91c1c}

/* Texto de apoyo */
.help-ocupados{display:block;margin-top:6px;color:#65707a;font-size:13px}

/* Calendario emergente y tooltip inmediato */
.flatpickr-calendar{z-index:9999}
.flatpickr-day.salime-tip{position:relative}
.flatpickr-day.salime-tip:hover::after{
  content: attr(data-tip);
  position:absolute; left:50%; top:-34px; transform:translateX(-50%);
  background:#0f172a; color:#fff; padding:4px 6px; border-radius:4px; font-size:12px; white-space:nowrap; pointer-events:none;
}
.flatpickr-day.salime-tip:hover::before{
  content:""; position:absolute; left:50%; top:-6px; transform:translateX(-50%);
  border:6px solid transparent; border-top-color:#0f172a;
}

/* --------- Modal éxito --------- */
.salime-no-scroll{overflow:hidden}
.salime-modal{position:fixed;inset:0;z-index:9998;background:rgba(2,6,23,.45);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .18s ease}
.salime-modal.is-visible{opacity:1}
.salime-modal__card{width:min(560px,92vw);background:#fff;border-radius:16px;padding:22px 22px 20px;box-shadow:0 20px 60px rgba(2,6,23,.25);transform:translateY(8px);transition:transform .18s ease;text-align:center;position:relative}
.salime-modal.is-visible .salime-modal__card{transform:translateY(0)}
.salime-modal__icon{width:48px;height:48px;border-radius:999px;border:2px solid #0f6b4d;display:inline-flex;align-items:center;justify-content:center;font-weight:800;margin:4px auto 10px;color:#0f6b4d;font-size:22px}
.salime-modal__text{font-size:15px;color:#0f172a;margin:4px 0 0}
.salime-modal__close{position:absolute;top:10px;right:12px;width:36px;height:36px;border:0;border-radius:10px;background:#f1f5f9;font-size:22px;line-height:1;cursor:pointer;color:#0f172a}
.salime-modal__close:hover{filter:brightness(.96)}

#salime-legal-popover{
  position:absolute;z-index:99999;max-width:740px;background:#fff;color:#111;border:1px solid #e2e8f0;
  border-radius:10px;padding:18px;box-shadow:0 10px 30px rgba(2,6,23,.15);font-size:14px;
}
