/* --- 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:13px}
.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;margin-top: 10px;}

.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: 0px;
  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 (accesible y sin overlays pegados) */
.flatpickr-calendar{z-index:50}
.flatpickr-day.salime-tip{position:relative}

/* --- Calendario a ancho completo dentro del formulario --- */
.salime-booking .fecha-cell{width:100%}
.salime-booking .fecha-cell .flatpickr-wrapper{width:100%}
.salime-booking .fecha-cell .flatpickr-alt-input{width:100%}
.salime-booking .fecha-cell .flatpickr-calendar.inline,
.salime-booking .fecha-cell .flatpickr-calendar{
  width:100% !important;
  max-width:none !important;
}
.salime-booking .fecha-cell .flatpickr-rContainer,
.salime-booking .fecha-cell .flatpickr-days,
.salime-booking .fecha-cell .dayContainer{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
}
.salime-booking .fecha-cell .dayContainer{display:grid;grid-template-columns:repeat(7, minmax(0,1fr));}
.salime-booking .fecha-cell .flatpickr-day{
  max-width:none !important;
  width:100% !important;
  margin:2px 0 !important;
  height:44px;
  line-height:44px;
  border-radius:10px;
}
.salime-booking .fecha-cell .flatpickr-weekdays{width:100%}
.salime-booking .fecha-cell .flatpickr-weekday{width:100%}

@media (max-width:760px){
  .salime-booking .fecha-cell .flatpickr-day{height:46px;line-height:46px;}
}

/* Evita “manchas”/selecciones raras en móvil */
.salime-booking, .salime-booking *{
  -webkit-tap-highlight-color: transparent;
}

/* Tooltip controlado por JS (funciona en hover/focus/touch) */
#salime-day-tooltip{
  position: fixed;
  z-index: 100000;
  max-width: min(92vw, 560px);
  background:#0f172a;
  color:#fff;
  padding:8px 10px;
  border-radius:10px;
  font-size:12px;
  line-height:1.25;
  white-space: pre-line;
  pointer-events:none;
  box-shadow:0 10px 30px rgba(2,6,23,.25);
}
#salime-day-tooltip[hidden]{display:none}

/* --------- 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;
}



/* --- Calendario: estado por colores al estilo "disponible / parcial / completo" --- */
.flatpickr-calendar .flatpickr-day{
  position:relative;
}

/* Verde: muchas plazas (reservas <= 10) */
.flatpickr-calendar .flatpickr-day.salime-day-ok{
  box-shadow: inset 0 -4px 0 0 #16a34a;
}

/* Amarillo: pocas plazas (reservas > 20 y rem > 0) */
.flatpickr-calendar .flatpickr-day.salime-day-low{
  box-shadow: inset 0 -4px 0 0 #f59e0b;
}

/* Rojo: sin plazas */
.flatpickr-calendar .flatpickr-day.salime-day-full{
  box-shadow: inset 0 -4px 0 0 #dc2626;
  color:#9ca3af !important;
}

/* Días no elegibles por antelación mínima (minDays): mantener tooltip informativo */
.flatpickr-calendar .flatpickr-day.salime-day-ineligible{
  cursor: help;
}


/* --- Admin: paginación Salime (arriba y abajo) --- */
/* Nota: NO usamos floats (WP core usa floats en .tablenav-pages). Aquí lo neutralizamos para que el layout sea 100% controlable. */
.salime-pages{ float:none; margin: 6px 0 0 0; }
.salime-pages .pagination-links{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.salime-pages .page-numbers{ padding: 6px 10px; border:1px solid #dcdcde; border-radius:6px; text-decoration:none; background:#fff; }
.salime-pages .page-numbers.current{ background:#1d4ed8; border-color:#1d4ed8; color:#fff; }
.salime-pages a.button{ height:auto; line-height:1; padding:6px 10px; }



/* --- Calendario: arreglar visualización mes/año (flatpickr header) --- */
.salime-booking .flatpickr-months{ display:flex; align-items:center; justify-content:center; }
.salime-booking .flatpickr-month{ width:100%; }
.salime-booking .flatpickr-current-month{
  position: static !important;
  width: 100% !important;
  left: auto !important;
  transform: none !important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding: 8px 44px; /* deja sitio a las flechas */
  box-sizing:border-box;
}
.salime-booking .flatpickr-current-month .cur-month{
  margin:0 !important;
  padding: 0 8px !important;
  font-weight: 600;
}
.salime-booking .flatpickr-current-month .numInputWrapper{
  width: 6ch;
}
.salime-booking .flatpickr-current-month input.cur-year{
  font-weight: 600;
  padding: 0 6px;
}
.salime-booking .flatpickr-months .flatpickr-prev-month,
.salime-booking .flatpickr-months .flatpickr-next-month{
  top: 8px;
}



/* Fix: alinear Mes/Año en el header de Flatpickr (inline + ancho completo) */
.salime-booking .flatpickr-calendar .flatpickr-months{position:relative}
.salime-booking .flatpickr-calendar .flatpickr-current-month{left:0 !important; right:0 !important; width:100% !important; transform:none !important; display:flex !important; align-items:center !important; justify-content:center !important; gap:14px !important; padding:0 52px !important; box-sizing:border-box}
.salime-booking .flatpickr-calendar .flatpickr-current-month .cur-month{margin:0 !important; padding:0 !important}
.salime-booking .flatpickr-calendar .flatpickr-current-month .numInputWrapper{margin:0 !important}
.salime-booking .flatpickr-calendar .flatpickr-monthDropdown-months{max-width:180px}


/* Admin: paginación alineada a la derecha en la barra superior */


/* Admin toolbar layout (filtros izquierda + paginación centrada) */
.salime-admin-toolbar{
  display:flex;
  align-items:flex-end;
  gap:16px;
  flex-wrap:wrap;
}

.salime-admin-filters{
  display:flex;
  align-items:flex-end;
  gap:16px;
  flex: 0 0 auto;
}

.salime-toolbar-pages{
  flex: 1 1 auto;
  display:flex;
  justify-content:center;
  align-items:flex-end;
  min-width: 220px;
}

/* Dentro de la toolbar, sin margen superior y sin float (por si algún CSS externo lo reintroduce) */
.salime-admin-toolbar .salime-pages{ margin: 0; float:none !important; }

/* Compat: soporta salida antigua (.pagination-links) y nueva (.salime-pages-links) */
.salime-pages .pagination-links,
.salime-pages .salime-pages-links{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
