/* =========================================================
   TS365 - Ajustes finales Evento
   1) Quitar scroll interno de la tarjeta de localidades.
   2) Mantener la tabla horizontal en móvil SIN scroll lateral.
   3) Evitar que el precio se monte sobre el selector.
   ========================================================= */

html,
body{
  overflow-x:hidden !important;
}

.ts365-localidades-card,
.ts365-localidades-card .ts365-card-modern,
.ts365-localidades-card .intervalos-wrap,
.ts365-localidades-card .intervalos-card,
.ts365-localidades-card .intervalos-grid,
.ts365-localidades-card #video,
.ts365-localidades-card #contPrice,
.ts365-localidades-card .cnt_pr_1,
.ts365-localidades-card .table-responsive,
.ts365-localidades-card .table-responsive-wrapper{
  max-height:none !important;
  height:auto !important;
  overflow-y:visible !important;
  overflow-x:hidden !important;
}

.ts365-localidades-card #contPrice{
  width:100% !important;
  max-width:100% !important;
  padding:22px !important;
  border-radius:0 0 24px 24px !important;
  background:#fff !important;
}

.ts365-localidades-card #tablePrice,
#tablePrice{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  table-layout:fixed !important;
  border-collapse:collapse !important;
  border-spacing:0 !important;
  border:1px solid #d9edf7 !important;
  background:#fff !important;
}

.ts365-localidades-card #tablePrice tbody,
#tablePrice tbody{
  display:table-row-group !important;
}

.ts365-localidades-card #tablePrice tr,
#tablePrice tr{
  display:table-row !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transform:none !important;
  background:#fff !important;
}

.ts365-localidades-card #tablePrice td,
#tablePrice td{
  display:table-cell !important;
  float:none !important;
  vertical-align:middle !important;
  height:58px !important;
  min-height:0 !important;
  padding:10px 12px !important;
  border:0 !important;
  border-bottom:1px solid #e5f5fb !important;
  border-radius:0 !important;
  background:#fff !important;
  text-align:center !important;
  line-height:1.15 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
}

.ts365-localidades-card #tablePrice td:nth-child(1),
#tablePrice td:nth-child(1){
  width:28% !important;
  color:#00a6d6 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}

.ts365-localidades-card #tablePrice td:nth-child(2),
#tablePrice td:nth-child(2){
  width:34% !important;
  color:#00a6d6 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
}

.ts365-localidades-card #tablePrice td:nth-child(3),
#tablePrice td:nth-child(3){
  width:16% !important;
  text-align:center !important;
  overflow:visible !important;
}

.ts365-localidades-card #tablePrice td:nth-child(4),
.ts365-localidades-card #tablePrice td:last-child,
#tablePrice td:nth-child(4),
#tablePrice td:last-child{
  width:22% !important;
  color:#ff6b00 !important;
  font-size:14px !important;
  font-weight:900 !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:visible !important;
  padding-left:8px !important;
  padding-right:8px !important;
}

.ts365-localidades-card #tablePrice select,
.ts365-localidades-card #tablePrice select.canti_ip,
.ts365-localidades-card #tablePrice .form-control,
#tablePrice select,
#tablePrice select.canti_ip,
#tablePrice .form-control{
  width:60px !important;
  min-width:60px !important;
  max-width:60px !important;
  height:32px !important;
  min-height:32px !important;
  padding:2px 16px 2px 6px !important;
  border-radius:6px !important;
  border:1px solid #8d8d8d !important;
  background:#fff !important;
  color:#00a6d6 !important;
  font-size:13px !important;
  font-weight:800 !important;
  text-align:center !important;
  box-shadow:none !important;
}

@media (max-width:767px){
  .ts365-localidades-card #contPrice{
    padding:0 !important;
    overflow:visible !important;
  }

  .ts365-localidades-card .intervalos-wrap{
    padding:16px !important;
    overflow:visible !important;
  }

  .ts365-localidades-card #tablePrice,
  #tablePrice{
    display:table !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    table-layout:fixed !important;
  }

  .ts365-localidades-card #tablePrice td,
  #tablePrice td{
    height:56px !important;
    padding:8px 3px !important;
    line-height:1.04 !important;
  }

  .ts365-localidades-card #tablePrice td:nth-child(1),
  #tablePrice td:nth-child(1){
    width:28% !important;
    font-size:9px !important;
  }

  .ts365-localidades-card #tablePrice td:nth-child(2),
  #tablePrice td:nth-child(2){
    width:31% !important;
    font-size:9px !important;
  }

  .ts365-localidades-card #tablePrice td:nth-child(3),
  #tablePrice td:nth-child(3){
    width:18% !important;
  }

  .ts365-localidades-card #tablePrice td:nth-child(4),
  .ts365-localidades-card #tablePrice td:last-child,
  #tablePrice td:nth-child(4),
  #tablePrice td:last-child{
    width:23% !important;
    font-size:12px !important;
    padding-left:2px !important;
    padding-right:4px !important;
  }

  .ts365-localidades-card #tablePrice select,
  .ts365-localidades-card #tablePrice select.canti_ip,
  .ts365-localidades-card #tablePrice .form-control,
  #tablePrice select,
  #tablePrice select.canti_ip,
  #tablePrice .form-control{
    width:49px !important;
    min-width:49px !important;
    max-width:49px !important;
    height:30px !important;
    min-height:30px !important;
    padding:2px 14px 2px 5px !important;
    font-size:12px !important;
  }
}

@media (max-width:420px){
  .ts365-localidades-card #tablePrice td:nth-child(1),
  #tablePrice td:nth-child(1),
  .ts365-localidades-card #tablePrice td:nth-child(2),
  #tablePrice td:nth-child(2){
    font-size:8px !important;
  }

  .ts365-localidades-card #tablePrice td:nth-child(4),
  .ts365-localidades-card #tablePrice td:last-child,
  #tablePrice td:nth-child(4),
  #tablePrice td:last-child{
    font-size:11px !important;
  }

  .ts365-localidades-card #tablePrice select,
  .ts365-localidades-card #tablePrice select.canti_ip,
  .ts365-localidades-card #tablePrice .form-control,
  #tablePrice select,
  #tablePrice select.canti_ip,
  #tablePrice .form-control{
    width:47px !important;
    min-width:47px !important;
    max-width:47px !important;
    font-size:11px !important;
  }
}

@media (max-width:360px){
  .ts365-localidades-card #tablePrice td:nth-child(1),
  #tablePrice td:nth-child(1),
  .ts365-localidades-card #tablePrice td:nth-child(2),
  #tablePrice td:nth-child(2){
    font-size:7.3px !important;
  }

  .ts365-localidades-card #tablePrice select,
  .ts365-localidades-card #tablePrice select.canti_ip,
  .ts365-localidades-card #tablePrice .form-control,
  #tablePrice select,
  #tablePrice select.canti_ip,
  #tablePrice .form-control{
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
  }

  .ts365-localidades-card #tablePrice td:nth-child(4),
  .ts365-localidades-card #tablePrice td:last-child,
  #tablePrice td:nth-child(4),
  #tablePrice td:last-child{
    font-size:10px !important;
  }
}

/* ===== FIX 2026-05-11 18:20: eliminar scroll horrible en campo Fecha/calendario ===== */
.ts365-localidades-card,
.ts365-localidades-card #video,
.ts365-localidades-card #contPrice,
.ts365-localidades-card .intervalos-wrap,
.ts365-localidades-card .intervalos-grid,
.ts365-localidades-card .intervalos-card,
.ts365-localidades-card .calendar-wrap{
  max-height:none !important;
  height:auto !important;
  overflow:visible !important;
  overflow-y:visible !important;
  overflow-x:visible !important;
  -webkit-overflow-scrolling:auto !important;
}

.ts365-localidades-card #contPrice{
  padding-bottom:22px !important;
}

.ts365-localidades-card .calendar-wrap{
  position:relative !important;
  z-index:999999 !important;
}

.ts365-localidades-card .calendar-wrap .flatpickr-calendar,
.ts365-localidades-card .flatpickr-calendar,
.flatpickr-calendar.open{
  position:absolute !important;
  top:calc(100% + 8px) !important;
  left:0 !important;
  z-index:99999999 !important;
  max-height:none !important;
  overflow:visible !important;
}

/* En móvil se mantiene todo dentro del ancho, sin scroll lateral ni vertical interno */
@media (max-width:767px){
  .ts365-localidades-card .intervalos-wrap{
    padding:14px !important;
  }

  .ts365-localidades-card .intervalos-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .ts365-localidades-card .intervalos-card{
    padding:14px !important;
    min-height:0 !important;
  }

  .ts365-localidades-card .calendar-input,
  .ts365-localidades-card .intervalos-select{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .ts365-localidades-card .calendar-wrap .flatpickr-calendar,
  .ts365-localidades-card .flatpickr-calendar,
  .flatpickr-calendar.open{
    width:100% !important;
    max-width:320px !important;
    min-width:0 !important;
  }
}
