/*
 * OriMar - Disponibilidad v4
 * Corrección fuerte de estilos para evitar conflictos con el CSS de la plantilla.
 */
:root {
  --orimar-primary: #1CC5FD;
  --orimar-primary-dark: #079ed0;
  --orimar-sea: #0f4c5c;
  --orimar-sea-dark: #073642;
  --orimar-sand: #fff7e8;
  --orimar-text: #253238;
  --orimar-muted: #65757d;
  --orimar-white: #ffffff;
}

body.orimar-modal-open { overflow: hidden !important; }

#orimarAvailabilityModal,
#orimarAvailabilityModal * {
  box-sizing: border-box;
}

#orimarAvailabilityModal.orimar-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 18px !important;
  font-family: inherit !important;
}

#orimarAvailabilityModal.orimar-modal.is-open { display: flex !important; }

#orimarAvailabilityModal .orimar-modal__overlay {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(7, 54, 66, 0.78) !important;
  backdrop-filter: blur(5px);
}

#orimarAvailabilityModal .orimar-modal__dialog {
  position: relative !important;
  width: min(100%, 620px) !important;
  max-height: 92vh !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fff8ea 100%) !important;
  color: var(--orimar-text) !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.38) !important;
  border: 1px solid rgba(28, 197, 253, 0.45) !important;
}

/* Barra superior corregida: ocupa todo el ancho y respeta las esquinas */
#orimarAvailabilityModal .orimar-modal__topbar {
  display: block !important;
  width: 100% !important;
  height: 12px !important;
  min-height: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: linear-gradient(90deg, var(--orimar-sea) 0%, var(--orimar-primary) 100%) !important;
  border-radius: 24px 24px 0 0 !important;
}

#orimarAvailabilityModal .orimar-modal__content {
  max-height: calc(92vh - 12px) !important;
  overflow-y: auto !important;
  padding: 34px 36px 36px !important;
  background: transparent !important;
}

#orimarAvailabilityModal .orimar-modal__close {
  position: absolute !important;
  top: 26px !important;
  right: 24px !important;
  width: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: var(--orimar-sea-dark) !important;
  font-size: 34px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  box-shadow: 0 10px 26px rgba(7, 54, 66, 0.18) !important;
  appearance: none !important;
}

#orimarAvailabilityModal .orimar-modal__close:hover {
  color: var(--orimar-primary-dark) !important;
  background: #ffffff !important;
}

#orimarAvailabilityModal .orimar-modal__header { padding-right: 58px !important; }

#orimarAvailabilityModal .orimar-modal__eyebrow {
  margin: 0 0 10px !important;
  color: #65757d !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 0.78rem !important;
}

#orimarAvailabilityModal .orimar-modal__header h2 {
  margin: 0 0 12px !important;
  font-size: clamp(1.75rem, 4vw, 2.35rem) !important;
  line-height: 1.15 !important;
  color: var(--orimar-sea-dark) !important;
  font-weight: 500 !important;
}

#orimarAvailabilityModal .orimar-modal__header p {
  margin: 0 0 26px !important;
  color: var(--orimar-muted) !important;
  line-height: 1.55 !important;
  font-size: 1rem !important;
}

#orimarAvailabilityModal .orimar-availability-form {
  display: grid !important;
  gap: 20px !important;
  margin: 0 !important;
}

#orimarAvailabilityModal .orimar-availability-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

#orimarAvailabilityModal .orimar-availability-grid label {
  display: grid !important;
  gap: 9px !important;
  margin: 0 !important;
  font-weight: 800 !important;
  color: var(--orimar-sea-dark) !important;
}

#orimarAvailabilityModal .orimar-availability-grid input {
  width: 100% !important;
  min-height: 56px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(15, 76, 92, 0.22) !important;
  padding: 12px 16px !important;
  font: inherit !important;
  font-size: 1rem !important;
  color: var(--orimar-text) !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

#orimarAvailabilityModal .orimar-availability-grid input:focus {
  outline: none !important;
  border-color: var(--orimar-primary) !important;
  box-shadow: 0 0 0 4px rgba(28, 197, 253, 0.18) !important;
}

#orimarAvailabilityModal .orimar-rules {
  border-radius: 18px !important;
  padding: 16px 18px !important;
  background: rgba(28, 197, 253, 0.10) !important;
  border: 1px solid rgba(28, 197, 253, 0.42) !important;
  color: var(--orimar-sea-dark) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* Botón corregido con selector específico e !important para ganarle a Bootstrap/plantilla */
#orimarAvailabilityModal #orimarCheckAvailabilityBtn,
#orimarAvailabilityModal .orimar-btn {
  width: 100% !important;
  min-height: 60px !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 14px 22px !important;
  background: #1CC5FD !important;
  background-color: #1CC5FD !important;
  color: #073642 !important;
  font-weight: 900 !important;
  font-size: 1rem !important;
  cursor: pointer !important;
  transition: transform 0.2s ease, opacity 0.2s ease, background-color 0.2s ease !important;
  box-shadow: 0 14px 26px rgba(28, 197, 253, 0.32) !important;
  appearance: none !important;
}

#orimarAvailabilityModal #orimarCheckAvailabilityBtn:hover,
#orimarAvailabilityModal .orimar-btn:hover {
  transform: translateY(-1px) !important;
  background: #079ed0 !important;
  background-color: #079ed0 !important;
  color: #ffffff !important;
}

#orimarAvailabilityModal #orimarCheckAvailabilityBtn:disabled,
#orimarAvailabilityModal .orimar-btn:disabled {
  opacity: 0.65 !important;
  cursor: wait !important;
  transform: none !important;
}

#orimarAvailabilityModal .orimar-result {
  display: none;
  margin-top: 20px !important;
  border-radius: 18px !important;
  padding: 18px !important;
  line-height: 1.55 !important;
}

#orimarAvailabilityModal .orimar-result h3 { margin: 0 0 8px !important; font-size: 1.25rem !important; }
#orimarAvailabilityModal .orimar-result p { margin: 0 0 10px !important; }
#orimarAvailabilityModal .orimar-result.is-success,
#orimarAvailabilityModal .orimar-result.is-warning,
#orimarAvailabilityModal .orimar-result.is-danger,
#orimarAvailabilityModal .orimar-result.is-loading { display: block !important; }
#orimarAvailabilityModal .orimar-result.is-success { background: rgba(28, 197, 253, 0.10) !important; border: 1px solid rgba(28, 197, 253, 0.36) !important; color: var(--orimar-sea-dark) !important; }
#orimarAvailabilityModal .orimar-result.is-warning,
#orimarAvailabilityModal .orimar-result.is-loading { background: rgba(245, 166, 35, 0.14) !important; border: 1px solid rgba(245, 166, 35, 0.42) !important; color: #8a5700 !important; }
#orimarAvailabilityModal .orimar-result.is-danger { background: #fff1f0 !important; border: 1px solid #ffc9c4 !important; color: #8f1d14 !important; }

#orimarAvailabilityModal .orimar-price-list { display: grid !important; gap: 8px !important; margin: 12px 0 0 !important; padding: 0 !important; list-style: none !important; }
#orimarAvailabilityModal .orimar-price-list li { display: flex !important; justify-content: space-between !important; align-items: baseline !important; gap: 14px !important; border-bottom: 1px dashed rgba(15, 76, 92, 0.24) !important; padding-bottom: 7px !important; }
#orimarAvailabilityModal .orimar-price-list .orimar-total { font-size: 1.12rem !important; border-bottom: 0 !important; padding-top: 8px !important; color: var(--orimar-sea-dark) !important; }
#orimarAvailabilityModal .orimar-note { margin-top: 12px !important; font-size: 0.92rem !important; opacity: 0.88 !important; }

@media (max-width: 575.98px) {
  #orimarAvailabilityModal .orimar-modal__content { padding: 28px 22px 24px !important; }
  #orimarAvailabilityModal .orimar-modal__dialog { border-radius: 20px !important; }
  #orimarAvailabilityModal .orimar-modal__topbar { border-radius: 20px 20px 0 0 !important; }
  #orimarAvailabilityModal .orimar-availability-grid { grid-template-columns: 1fr !important; }
  #orimarAvailabilityModal .orimar-price-list li { flex-direction: column !important; gap: 2px !important; }
}
