.intervalos-wrap {
    background: #fff;
    border: 1px solid #e9edf3;
    border-radius: 14px;
    padding: 18px;
    box-shadow: 0 8px 22px rgba(18, 38, 63, .06);
}

.intervalos-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.intervalos-title {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #0f172a;
}

.intervalos-subtitle {
    margin: 6px 0 0;
    font-size: 13px;
    color: #64748b;
}

.intervalos-badge {
    font-size: 12px;
    font-weight: 700;
    color: #0f172a;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    padding: 8px 10px;
    border-radius: 999px;
    white-space: nowrap;
}

.intervalos-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 14px;
}

@media (max-width: 992px) {
    .intervalos-grid {
        grid-template-columns: 1fr;
    }
}

.intervalos-card {
    border: 1px solid #eef2f7;
    border-radius: 12px;
    padding: 14px;
    background: #fbfdff;
}

.intervalos-card-title {
    font-size: 13px;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 10px;
}

.fechas-list,
.intervalos-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.fecha-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border-radius: 12px;
    border: 1px solid #e8edf5;
    background: #fff;
    cursor: pointer;
    transition: all .15s ease;
    text-align: left;
}

.fecha-item:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(18, 38, 63, .08);
}

.fecha-item.active {
    border-color: #0ea5e9;
    box-shadow: 0 10px 22px rgba(14, 165, 233, .18);
}

.fecha-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #0ea5e9;
}

.fecha-text {
    font-weight: 800;
    color: #0f172a;
}

.fecha-chip {
    margin-left: auto;
    font-size: 11px;
    font-weight: 800;
    padding: 6px 8px;
    border-radius: 999px;
    background: #ecfeff;
    border: 1px solid #cffafe;
    color: #155e75;
}

.intervalo-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px;
    border-radius: 12px;
    border: 1px solid #e8edf5;
    background: #fff;
    cursor: pointer;
    transition: all .15s ease;
    text-align: left;
}

.intervalo-item:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(18, 38, 63, .08);
}

.intervalo-item.selected {
    border-color: #22c55e;
    box-shadow: 0 10px 22px rgba(34, 197, 94, .16);
}

.intervalo-main {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.intervalo-time {
    font-weight: 900;
    color: #0f172a;
}

.intervalo-meta {
    font-size: 12px;
    color: #64748b;
}

.intervalo-cta {
    font-size: 12px;
    font-weight: 900;
    color: #0f172a;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    padding: 8px 10px;
    border-radius: 10px;
}

.empty-state {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px;
    border: 1px dashed #dbe3ef;
    border-radius: 12px;
    background: #fff;
}

.empty-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #94a3b8;
    margin-top: 4px;
}

.empty-title {
    font-weight: 900;
    color: #0f172a;
}

.empty-desc {
    font-size: 12px;
    color: #64748b;
    margin-top: 2px;
}

.hint {
    font-size: 13px;
    color: #64748b;
    padding: 10px 4px;
}

.skeleton-row {
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(90deg, #eef2f7 25%, #f7f9fc 37%, #eef2f7 63%);
    background-size: 400% 100%;
    animation: sk 1.2s ease infinite;
}

@keyframes sk {
    0% {
        background-position: 100% 0
    }
    100% {
        background-position: 0 0
    }
}

.intervalos-msg {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid transparent;
    display: none;
}

.intervalos-msg.info {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #1e3a8a;
}

.intervalos-msg.success {
    background: #ecfdf5;
    border-color: #bbf7d0;
    color: #14532d;
}

.intervalos-msg.error {
    background: #fef2f2;
    border-color: #fecaca;
    color: #7f1d1d;
}


/* Calendar (Flatpickr) */

.calendar-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
}

.calendar-wrap .flatpickr-calendar {
    top: calc(100% + 8px) !important;
    left: 0 !important;
}

.calendar-input {
    width: 100%;
    padding: 12px 12px;
    border-radius: 12px;
    border: 1px solid #e8edf5;
    background: #fff;
    font-weight: 800;
    color: #0f172a;
    cursor: pointer;
}

.calendar-input:disabled {
    opacity: .65;
    cursor: not-allowed;
}

.calendar-hint {
    font-size: 12px;
    color: #64748b;
}

.flatpickr-calendar {
    border-radius: 14px !important;
    box-shadow: 0 12px 28px rgba(18, 38, 63, .18) !important;
    border: 1px solid #e9edf3 !important;
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover {
    background: #0ea5e9 !important;
    border-color: #0ea5e9 !important;
}

.calendar-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.calendar-input {
    width: 100%;
    padding: 12px 12px;
    border-radius: 12px;
    border: 1px solid #e8edf5;
    background: #fff;
    font-weight: 800;
    color: #0f172a;
    cursor: pointer;
}

.calendar-input:disabled {
    opacity: .65;
    cursor: not-allowed;
}

.calendar-hint {
    font-size: 12px;
    color: #64748b;
}

.flatpickr-calendar {
    border-radius: 14px !important;
    box-shadow: 0 12px 28px rgba(18, 38, 63, .18) !important;
    border: 1px solid #e9edf3 !important;
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover {
    background: #0ea5e9 !important;
    border-color: #0ea5e9 !important;
}


/* Animaciones premium para aparición de intervalos */

.intervalos-pop {
    animation: intervalosContainerPop .35s ease both;
}

@keyframes intervalosContainerPop {
    from {
        opacity: .0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.intervalo-anim {
    opacity: 0;
    transform: translateY(10px);
    animation: intervaloIn .38s ease forwards;
}

@keyframes intervaloIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* ===== Select de intervalos (UI compacta) ===== */

.intervalos-select-wrap {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.intervalos-select-wrap.disabled {
    opacity: .65;
    pointer-events: none
}

.intervalos-select {
    width: 100%;
    height: 46px;
    padding: 10px 14px;
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: 12px;
    background: #fff;
    font-weight: 600
}

.intervalos-select:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(13, 110, 253, .15)
}

.intervalos-select-meta {
    font-size: 13px;
    color: rgba(0, 0, 0, .65)
}


/* ===== Loading localidades (pro) ===== */

.localidades-loading {
    padding: 18px;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
}

.ll-header {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 14px;
}


/* Spinner */

.ll-header .spinner {
    width: 22px;
    height: 22px;
    border: 3px solid #d1d5db;
    border-top-color: #4fb4d5;
    border-radius: 50%;
    animation: spin 0.9s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}


/* Skeleton rows */

.ll-skeleton .row {
    height: 18px;
    border-radius: 6px;
    margin-bottom: 10px;
    background: linear-gradient( 90deg, #e5e7eb 25%, #f3f4f6 37%, #e5e7eb 63%);
    background-size: 400% 100%;
    animation: shimmer 1.2s ease-in-out infinite;
}

@keyframes shimmer {
    0% {
        background-position: 100% 0;
    }
    100% {
        background-position: 0 0;
    }
}
/* ===== FIX TS365 2026-05-11: intervalos responsive dentro de evento moderno ===== */
.ts365-localidades-card .intervalos-wrap{
  box-shadow:none !important;
  border:0 !important;
  border-radius:0 !important;
  padding:24px !important;
  background:#fff !important;
}
.ts365-localidades-card .intervalos-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:16px !important;
}
.ts365-localidades-card .intervalos-card{
  border-radius:18px !important;
  padding:18px !important;
  background:#fbfdff !important;
}
.ts365-localidades-card .calendar-input,
.ts365-localidades-card .intervalos-select{
  width:100% !important;
  min-height:48px !important;
  border-radius:14px !important;
}
.ts365-localidades-card .flatpickr-calendar{z-index:999999 !important;}
@media(max-width:767px){
  .ts365-localidades-card .intervalos-wrap{padding:16px !important;}
  .ts365-localidades-card .intervalos-grid{grid-template-columns:1fr !important;}
}

/* ===== FIX 2026-05-11: EVENTO.PHP HUECOS / CALENDARIO / SCROLL DESCRIPCION ===== */
@media (min-width: 992px){
  /* Vuelve a poner la descripcion a la izquierda y localidades a la derecha */
  .ts365-main-grid{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(390px, 430px) !important;
    gap: 26px !important;
    align-items: start !important;
  }

  .ts365-info-card,
  .ts365-localidades-card{
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Evita que un texto largo haga crecer demasiado toda la pagina */
  .ts365-info-card .ts365-card-body{
    max-height: 585px !important;
    overflow: hidden !important;
  }

  .ts365-info-card .ts365-desc,
  .ts365-info-card #descripcionEven{
    max-height: 430px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 10px !important;
  }
}

/* En movil tambien se controla la descripcion para que no se haga infinita */
@media (max-width: 991px){
  .ts365-main-grid{
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
  }
  .ts365-localidades-card{
    order: 0 !important;
  }
  .ts365-info-card .ts365-desc,
  .ts365-info-card #descripcionEven{
    max-height: 430px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 8px !important;
  }
}

/* El calendario no debe cortarse por el borde de la card */
.ts365-card-modern,
.ts365-localidades-card,
.ts365-localidades-card .ts365-card-modern,
.ts365-localidades-card .intervalos-wrap,
.ts365-localidades-card .intervalos-card,
.ts365-localidades-card #video,
.ts365-localidades-card #contPrice{
  overflow: visible !important;
}

.ts365-localidades-card{
  z-index: 20 !important;
}

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

.ts365-localidades-card .flatpickr-calendar,
.flatpickr-calendar.open{
  z-index: 9999999 !important;
}

/* Cuando se abre el calendario, debe tener aire para no quedar cortado encima de las localidades */
.ts365-localidades-card .intervalos-grid{
  overflow: visible !important;
}

@media (min-width: 992px){
  .ts365-localidades-card .intervalos-wrap{
    padding-bottom: 34px !important;
  }
}

/* Reduce el hueco superior antes del hero */
#cuerpoEventos{
  padding-top: 0 !important;
  margin-top: -72px !important;
}

.ts365-event-page{
  margin-top: 0 !important;
}

.ts365-hero{
  margin-top: 0 !important;
}

@media (max-width: 991px){
  #cuerpoEventos{
    margin-top: -28px !important;
  }
}

/* Localidades dentro de columna derecha: que no se vean aplastadas */
@media (min-width: 992px){
  .ts365-localidades-card #tablePrice,
  .ts365-localidades-card #tablePrice tbody,
  .ts365-localidades-card #tablePrice tr,
  .ts365-localidades-card #tablePrice td{
    display: block !important;
    width: 100% !important;
  }

  .ts365-localidades-card #tablePrice{
    border-spacing: 0 !important;
  }

  .ts365-localidades-card #tablePrice tr{
    margin-bottom: 12px !important;
    border: 1px solid #eef2f7 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  .ts365-localidades-card #tablePrice td{
    border: 0 !important;
    border-radius: 0 !important;
    padding: 10px 13px !important;
    text-align: left !important;
  }

  .ts365-localidades-card #tablePrice td:first-child{
    background: #f8fafc !important;
    font-size: 13px !important;
  }

  .ts365-localidades-card #tablePrice td:last-child{
    text-align: right !important;
    font-size: 16px !important;
  }
}

/* ===== FIX DEFINITIVO TS365: dos modelos de evento, sin huecos y sin calendario cortado ===== */
@media (min-width: 992px){
  .ts365-main-grid{
    display:grid!important;
    grid-template-columns:minmax(0, 1fr) minmax(430px, 430px)!important;
    gap:26px!important;
    align-items:start!important;
  }

  /* La descripcion no debe crecer infinito: el texto largo scrollea dentro */
  .ts365-info-card{
    align-self:start!important;
  }
  .ts365-info-card .ts365-card-body{
    max-height:560px!important;
    overflow:hidden!important;
  }
  .ts365-info-card .ts365-desc,
  .ts365-info-card #descripcionEven{
    max-height:410px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-right:12px!important;
  }

  /* La columna de compra no puede crecer infinito si hay muchas localidades */
  .ts365-localidades-card{
    align-self:start!important;
    overflow:visible!important;
  }
  .ts365-localidades-card #contPrice{
    max-height:430px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:20px!important;
    border-radius:0 0 24px 24px!important;
  }
  .ts365-localidades-card #contPrice::-webkit-scrollbar,
  .ts365-info-card #descripcionEven::-webkit-scrollbar,
  .ts365-info-card .ts365-desc::-webkit-scrollbar{width:7px!important;}
  .ts365-localidades-card #contPrice::-webkit-scrollbar-thumb,
  .ts365-info-card #descripcionEven::-webkit-scrollbar-thumb,
  .ts365-info-card .ts365-desc::-webkit-scrollbar-thumb{background:#cbd5e1!important;border-radius:999px!important;}

  /* En sidebar angosto los intervalos deben ir verticales, no en 2 columnas */
  .ts365-localidades-card .intervalos-wrap{
    overflow:visible!important;
    padding:22px!important;
  }
  .ts365-localidades-card .intervalos-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    overflow:visible!important;
  }
  .ts365-localidades-card .intervalos-card{
    overflow:visible!important;
    padding:16px!important;
  }
  .ts365-localidades-card .calendar-input,
  .ts365-localidades-card .intervalos-select{
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    min-height:48px!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
  }

  /* Tabla vieja convertida en cards compactas dentro del scroll */
  .ts365-localidades-card #tablePrice,
  .ts365-localidades-card #tablePrice tbody,
  .ts365-localidades-card #tablePrice tr,
  .ts365-localidades-card #tablePrice td{
    display:block!important;
    width:100%!important;
  }
  .ts365-localidades-card #tablePrice{border-spacing:0!important;}
  .ts365-localidades-card #tablePrice tr{
    margin-bottom:12px!important;
    border:1px solid #eef2f7!important;
    border-radius:18px!important;
    overflow:hidden!important;
    box-shadow:0 8px 22px rgba(13,34,63,.07)!important;
  }
  .ts365-localidades-card #tablePrice td{
    border:0!important;
    border-radius:0!important;
    padding:10px 13px!important;
    text-align:left!important;
  }
  .ts365-localidades-card #tablePrice td:first-child{
    background:#f8fafc!important;
    font-size:13px!important;
    color:#0d223f!important;
  }
  .ts365-localidades-card #tablePrice td:last-child{
    text-align:right!important;
    font-size:16px!important;
    color:#ff7a00!important;
  }

  /* Si hay intervalos, el calendario debe flotar por encima y no cortarse */
  .flatpickr-calendar,
  .flatpickr-calendar.open{
    z-index:99999999!important;
  }
}

@media (max-width: 991px){
  .ts365-main-grid{
    display:flex!important;
    flex-direction:column!important;
    gap:20px!important;
  }
  .ts365-localidades-card{
    order:0!important;
    overflow:visible!important;
  }
  .ts365-info-card .ts365-desc,
  .ts365-info-card #descripcionEven{
    max-height:420px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-right:8px!important;
  }
  .ts365-localidades-card #contPrice{
    max-height:none!important;
    overflow:visible!important;
  }
  .ts365-localidades-card .intervalos-grid{
    grid-template-columns:1fr!important;
  }
}

/* Ajuste superior: sin hueco antes del hero, pero sin comerse el contenido */
#cuerpoEventos{
  padding-top:0!important;
}
.ts365-event-page{
  margin-top:0!important;
}
.ts365-hero{
  margin-top:0!important;
}

/* ===== FIX TS365 2026-05-11: compra arriba, descripcion al final =====
   El bloque de compra/localidades queda primero y a todo el ancho.
   La descripcion del evento baja al final para no crear huecos laterales. */
.ts365-main-grid{
  display:flex!important;
  flex-direction:column!important;
  gap:28px!important;
  align-items:stretch!important;
}

.ts365-localidades-card{
  order:1!important;
  width:100%!important;
  max-width:100%!important;
}

.ts365-info-card{
  order:2!important;
  width:100%!important;
  max-width:100%!important;
}

/* En ancho completo, los intervalos ya no deben verse apretados */
.ts365-localidades-card .intervalos-wrap{
  padding:32px!important;
  overflow:visible!important;
}

.ts365-localidades-card .intervalos-grid{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  gap:22px!important;
  overflow:visible!important;
}

.ts365-localidades-card .intervalos-card{
  overflow:visible!important;
  min-width:0!important;
}

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

/* La lista de localidades ahora puede respirar: sin scroll interno feo */
.ts365-localidades-card #contPrice{
  max-height:none!important;
  overflow:visible!important;
  padding:24px!important;
}

/* En ancho completo, las localidades vuelven a verse como filas limpias y no cards aplastadas */
@media (min-width: 992px){
  .ts365-localidades-card #tablePrice{
    width:100%!important;
    border-collapse:separate!important;
    border-spacing:0 12px!important;
  }

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

  .ts365-localidades-card #tablePrice tr{
    display:table-row!important;
    width:100%!important;
    margin:0!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  .ts365-localidades-card #tablePrice td{
    display:table-cell!important;
    vertical-align:middle!important;
    padding:18px 22px!important;
    border-top:1px solid #eef2f7!important;
    border-bottom:1px solid #eef2f7!important;
    background:#fff!important;
    text-align:center!important;
  }

  .ts365-localidades-card #tablePrice td:first-child{
    border-left:1px solid #eef2f7!important;
    border-radius:18px 0 0 18px!important;
    text-align:left!important;
    background:#fff!important;
    color:#00a6d6!important;
    font-weight:800!important;
  }

  .ts365-localidades-card #tablePrice td:last-child{
    border-right:1px solid #eef2f7!important;
    border-radius:0 18px 18px 0!important;
    text-align:right!important;
    color:#ff7a00!important;
    font-weight:900!important;
    font-size:17px!important;
  }
}

/* La descripcion baja al final y no se vuelve infinita */
.ts365-info-card .ts365-card-body{
  max-height:560px!important;
  overflow:hidden!important;
}

.ts365-info-card .ts365-desc,
.ts365-info-card #descripcionEven{
  max-height:430px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-right:14px!important;
}

.ts365-info-card #descripcionEven::-webkit-scrollbar{width:7px!important;}
.ts365-info-card #descripcionEven::-webkit-scrollbar-thumb{background:#cbd5e1!important;border-radius:999px!important;}

@media (max-width: 991px){
  .ts365-localidades-card .intervalos-wrap{
    padding:18px!important;
  }
  .ts365-localidades-card .intervalos-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .ts365-localidades-card #contPrice{
    padding:16px!important;
  }
  .ts365-info-card .ts365-card-body{
    max-height:520px!important;
  }
  .ts365-info-card .ts365-desc,
  .ts365-info-card #descripcionEven{
    max-height:390px!important;
  }
}

/* ===== FIX TS365 2026-05-11: LOCALIDADES FULL WIDTH PRO =====
   Convierte la tabla vieja de localidades en filas tipo card elegantes,
   compactas y legibles cuando el bloque ocupa todo el ancho. */
.ts365-localidades-card{
  border-radius:24px!important;
  overflow:hidden!important;
  box-shadow:0 18px 45px rgba(13,34,63,.10)!important;
}

.ts365-localidades-card .ts365-localidades-head{
  padding:28px 34px!important;
  background:#0d2a50!important;
}

.ts365-localidades-card .ts365-localidades-head h2{
  margin:0!important;
  font-size:26px!important;
  line-height:1.1!important;
  color:#fff!important;
}

.ts365-localidades-card .ts365-localidades-head p{
  margin:6px 0 0!important;
  color:rgba(255,255,255,.86)!important;
  font-weight:700!important;
}

.ts365-localidades-card #contPrice{
  padding:30px 34px!important;
  background:#fff!important;
}

.ts365-localidades-card #tablePrice{
  width:100%!important;
  border:0!important;
  border-collapse:separate!important;
  border-spacing:0 14px!important;
  background:transparent!important;
}

.ts365-localidades-card #tablePrice tbody{
  display:block!important;
  width:100%!important;
}

.ts365-localidades-card #tablePrice tr{
  display:grid!important;
  grid-template-columns:minmax(210px,1.35fr) minmax(220px,1.5fr) minmax(180px,.75fr) minmax(120px,.45fr)!important;
  align-items:center!important;
  width:100%!important;
  min-height:86px!important;
  margin:0 0 14px!important;
  border:1px solid #e8eef6!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(13,34,63,.07)!important;
  overflow:hidden!important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease!important;
}

.ts365-localidades-card #tablePrice tr:hover{
  transform:translateY(-2px)!important;
  border-color:#cfe8f5!important;
  box-shadow:0 16px 36px rgba(13,34,63,.11)!important;
}

.ts365-localidades-card #tablePrice td{
  display:flex!important;
  align-items:center!important;
  min-height:86px!important;
  width:auto!important;
  padding:18px 20px!important;
  border:0!important;
  background:transparent!important;
  text-align:left!important;
  line-height:1.25!important;
}

.ts365-localidades-card #tablePrice td:first-child{
  background:#f8fbff!important;
  color:#00a6d6!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  font-size:13px!important;
  letter-spacing:.15px!important;
  border-radius:20px 0 0 20px!important;
}

.ts365-localidades-card #tablePrice td:nth-child(2){
  color:#0d2a50!important;
  font-weight:800!important;
  font-size:13px!important;
  justify-content:flex-start!important;
}

.ts365-localidades-card #tablePrice td:nth-child(3){
  justify-content:center!important;
}

.ts365-localidades-card #tablePrice td:last-child{
  justify-content:flex-end!important;
  text-align:right!important;
  color:#ff6b00!important;
  font-size:18px!important;
  font-weight:950!important;
  border-radius:0 20px 20px 0!important;
}

.ts365-localidades-card #tablePrice select,
.ts365-localidades-card #tablePrice .form-control{
  width:110px!important;
  min-width:110px!important;
  height:46px!important;
  border-radius:13px!important;
  border:1px solid #d8e6f2!important;
  background:#fff!important;
  color:#0d2a50!important;
  font-weight:900!important;
  text-align:center!important;
  box-shadow:none!important;
}

.ts365-localidades-card #tablePrice button,
.ts365-localidades-card #tablePrice .btn{
  min-height:44px!important;
  border-radius:999px!important;
  padding:11px 18px!important;
  border:0!important;
  background:linear-gradient(135deg,#00a8d8,#0cb6c9)!important;
  color:#fff!important;
  font-weight:900!important;
  box-shadow:0 10px 20px rgba(0,168,216,.22)!important;
  white-space:nowrap!important;
}

.ts365-localidades-card #tablePrice button:hover,
.ts365-localidades-card #tablePrice .btn:hover{
  filter:brightness(.98)!important;
  transform:translateY(-1px)!important;
}

.ts365-localidades-card input[type="submit"],
.ts365-localidades-card button[type="submit"],
.ts365-localidades-card .agregarTickets,
.ts365-localidades-card #btnAgregar,
.ts365-localidades-card .btn-agregar{
  border-radius:999px!important;
  background:linear-gradient(135deg,#ff7a00,#ff9f2f)!important;
  border:0!important;
  color:#fff!important;
  font-weight:950!important;
  padding:14px 34px!important;
  box-shadow:0 14px 28px rgba(255,122,0,.28)!important;
}

/* Botón AGREGAR TICKETS viejo centrado */
.ts365-localidades-card input[value*="AGREGAR"],
.ts365-localidades-card button:has(> span),
.ts365-localidades-card a[href*="agregar"]{
  border-radius:999px!important;
}

@media(max-width: 991px){
  .ts365-localidades-card .ts365-localidades-head{
    padding:24px 22px!important;
  }
  .ts365-localidades-card #contPrice{
    padding:18px!important;
  }
  .ts365-localidades-card #tablePrice tr{
    grid-template-columns:1fr!important;
    min-height:auto!important;
    border-radius:18px!important;
  }
  .ts365-localidades-card #tablePrice td{
    min-height:auto!important;
    padding:12px 16px!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }
  .ts365-localidades-card #tablePrice td:first-child{
    border-radius:18px 18px 0 0!important;
  }
  .ts365-localidades-card #tablePrice td:last-child{
    justify-content:flex-start!important;
    border-radius:0 0 18px 18px!important;
    font-size:20px!important;
  }
  .ts365-localidades-card #tablePrice select,
  .ts365-localidades-card #tablePrice .form-control{
    width:100%!important;
    min-width:100%!important;
  }
}

/* ===== TS365 FIX FINAL: LOCALIDADES HORIZONTALES EN WEB ===== */
@media (min-width: 992px){
  .ts365-localidades-card #contPrice{
    padding:24px 28px!important;
    background:#fff!important;
  }
  .ts365-localidades-card #tablePrice,
  .ts365-localidades-card #tablePrice tbody{
    display:block!important;
    width:100%!important;
    border:0!important;
    border-collapse:separate!important;
    border-spacing:0!important;
    background:transparent!important;
  }
  .ts365-localidades-card #tablePrice tr{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:72px!important;
    margin:0 0 12px 0!important;
    padding:0!important;
    border:1px solid #e6eef6!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 8px 22px rgba(13,34,63,.07)!important;
    overflow:hidden!important;
  }
  .ts365-localidades-card #tablePrice tr:hover{
    transform:translateY(-1px)!important;
    box-shadow:0 14px 30px rgba(13,34,63,.10)!important;
  }
  .ts365-localidades-card #tablePrice td{
    display:flex!important;
    align-items:center!important;
    min-height:72px!important;
    width:auto!important;
    border:0!important;
    padding:14px 18px!important;
    background:#fff!important;
    text-align:left!important;
    line-height:1.25!important;
  }
  .ts365-localidades-card #tablePrice td:nth-child(1){
    flex:1.15 1 0!important;
    background:#f8fbff!important;
    color:#00a6d6!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    border-radius:18px 0 0 18px!important;
  }
  .ts365-localidades-card #tablePrice td:nth-child(2){
    flex:1.8 1 0!important;
    color:#0d2a50!important;
    font-weight:800!important;
  }
  .ts365-localidades-card #tablePrice td:nth-child(3){
    flex:0 0 150px!important;
    justify-content:center!important;
  }
  .ts365-localidades-card #tablePrice td:nth-child(4),
  .ts365-localidades-card #tablePrice td:last-child{
    flex:0 0 130px!important;
    justify-content:flex-end!important;
    text-align:right!important;
    color:#ff6b00!important;
    font-size:18px!important;
    font-weight:950!important;
    border-radius:0 18px 18px 0!important;
    white-space:nowrap!important;
  }
  .ts365-localidades-card #tablePrice select,
  .ts365-localidades-card #tablePrice .form-control{
    width:110px!important;
    min-width:110px!important;
    max-width:110px!important;
    height:44px!important;
    min-height:44px!important;
    border-radius:12px!important;
    border:1px solid #d6e5f2!important;
    background:#fff!important;
    color:#0d2a50!important;
    font-weight:900!important;
    text-align:center!important;
  }
}

/* =========================================================
   TS365 FIX DEFINITIVO LOCALIDADES COMPACTAS + SCROLL INTERNO
   Objetivo:
   - En desktop, localidades en filas horizontales compactas.
   - Si hay muchas localidades, solo scrollea el listado, no toda la pagina.
   - El boton AGREGAR TICKETS queda visible abajo fuera del scroll.
   - En movil se apila limpio y usable.
   ========================================================= */

.ts365-localidades-card{
  width:100% !important;
  max-width:100% !important;
  border-radius:24px !important;
  overflow:visible !important;
  box-shadow:0 18px 45px rgba(13,34,63,.10) !important;
  background:#fff !important;
}

.ts365-localidades-card .ts365-localidades-head{
  padding:26px 32px !important;
  background:#0d2a50 !important;
  border-radius:24px 24px 0 0 !important;
}

.ts365-localidades-card .ts365-localidades-head h2{
  margin:0 !important;
  color:#fff !important;
  font-size:26px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
}

.ts365-localidades-card .ts365-localidades-head p{
  margin:6px 0 0 !important;
  color:rgba(255,255,255,.86) !important;
  font-weight:700 !important;
}

/* Intervalos arriba, limpios y sin cortar calendario */
.ts365-localidades-card .intervalos-wrap{
  padding:28px 32px 20px !important;
  background:#fff !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}

.ts365-localidades-card .intervalos-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:18px !important;
  overflow:visible !important;
}

.ts365-localidades-card .intervalos-card{
  border:1px solid #e8eef6 !important;
  border-radius:18px !important;
  background:#fbfdff !important;
  padding:18px !important;
  overflow:visible !important;
}

.ts365-localidades-card .calendar-input,
.ts365-localidades-card .intervalos-select{
  width:100% !important;
  max-width:100% !important;
  height:50px !important;
  min-height:50px !important;
  border-radius:14px !important;
  border:1px solid #dbe8f4 !important;
}

.flatpickr-calendar,
.flatpickr-calendar.open{
  z-index:99999999 !important;
}

/* CONTENEDOR SCROLL: aqui viven las localidades */
.ts365-localidades-card #contPrice{
  padding:18px 32px 12px !important;
  background:#fff !important;
  max-height:430px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border-radius:0 !important;
}

.ts365-localidades-card #contPrice::-webkit-scrollbar{width:8px !important;}
.ts365-localidades-card #contPrice::-webkit-scrollbar-track{background:#f1f5f9 !important;border-radius:999px !important;}
.ts365-localidades-card #contPrice::-webkit-scrollbar-thumb{background:#cbd5e1 !important;border-radius:999px !important;}
.ts365-localidades-card #contPrice::-webkit-scrollbar-thumb:hover{background:#94a3b8 !important;}

/* Tabla compacta en desktop */
@media (min-width: 992px){
  .ts365-localidades-card #tablePrice,
  .ts365-localidades-card #tablePrice tbody{
    display:block !important;
    width:100% !important;
    border:0 !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    background:transparent !important;
  }

  .ts365-localidades-card #tablePrice tr{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:62px !important;
    margin:0 0 10px 0 !important;
    padding:0 !important;
    border:1px solid #e7eff7 !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 8px 20px rgba(13,34,63,.055) !important;
    overflow:hidden !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
  }

  .ts365-localidades-card #tablePrice tr:hover{
    transform:translateY(-1px) !important;
    border-color:#cfe8f5 !important;
    box-shadow:0 12px 26px rgba(13,34,63,.09) !important;
  }

  .ts365-localidades-card #tablePrice td{
    display:flex !important;
    align-items:center !important;
    min-height:62px !important;
    width:auto !important;
    border:0 !important;
    padding:10px 16px !important;
    background:#fff !important;
    line-height:1.25 !important;
    text-align:left !important;
  }

  .ts365-localidades-card #tablePrice td:nth-child(1){
    flex:1.1 1 0 !important;
    background:#f8fbff !important;
    color:#00a6d6 !important;
    font-size:12px !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    border-radius:16px 0 0 16px !important;
  }

  .ts365-localidades-card #tablePrice td:nth-child(2){
    flex:1.8 1 0 !important;
    color:#0d2a50 !important;
    font-size:12px !important;
    font-weight:800 !important;
    justify-content:flex-start !important;
  }

  .ts365-localidades-card #tablePrice td:nth-child(3){
    flex:0 0 135px !important;
    justify-content:center !important;
  }

  .ts365-localidades-card #tablePrice td:nth-child(4),
  .ts365-localidades-card #tablePrice td:last-child{
    flex:0 0 120px !important;
    justify-content:flex-end !important;
    text-align:right !important;
    color:#ff6b00 !important;
    font-size:16px !important;
    font-weight:950 !important;
    white-space:nowrap !important;
    border-radius:0 16px 16px 0 !important;
  }

  .ts365-localidades-card #tablePrice select,
  .ts365-localidades-card #tablePrice .form-control{
    width:96px !important;
    min-width:96px !important;
    max-width:96px !important;
    height:40px !important;
    min-height:40px !important;
    border-radius:12px !important;
    border:1px solid #d6e5f2 !important;
    background:#fff !important;
    color:#0d2a50 !important;
    font-weight:900 !important;
    text-align:center !important;
    box-shadow:none !important;
  }
}

/* Boton agregar siempre fuera del scroll y visible */
.ts365-localidades-card .btn,
.ts365-localidades-card button,
.ts365-localidades-card input[type="button"],
.ts365-localidades-card input[type="submit"]{
  transition:all .18s ease !important;
}

.ts365-localidades-card input[value*="AGREGAR"],
.ts365-localidades-card button[type="submit"],
.ts365-localidades-card .agregarTickets,
.ts365-localidades-card #btnAgregar,
.ts365-localidades-card .btn-agregar{
  border-radius:999px !important;
  background:linear-gradient(135deg,#ff7a00,#ff9f2f) !important;
  border:0 !important;
  color:#fff !important;
  font-weight:950 !important;
  padding:13px 34px !important;
  box-shadow:0 14px 28px rgba(255,122,0,.24) !important;
}

/* Movil: compacto, apilado y sin scroll horizontal */
@media (max-width: 991px){
  .ts365-localidades-card .ts365-localidades-head{
    padding:22px 20px !important;
  }

  .ts365-localidades-card .ts365-localidades-head h2{
    font-size:24px !important;
  }

  .ts365-localidades-card .intervalos-wrap{
    padding:18px !important;
  }

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

  .ts365-localidades-card #contPrice{
    padding:16px !important;
    max-height:520px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }

  .ts365-localidades-card #tablePrice,
  .ts365-localidades-card #tablePrice tbody,
  .ts365-localidades-card #tablePrice tr,
  .ts365-localidades-card #tablePrice td{
    display:block !important;
    width:100% !important;
  }

  .ts365-localidades-card #tablePrice tr{
    margin:0 0 12px !important;
    border:1px solid #e7eff7 !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 8px 20px rgba(13,34,63,.06) !important;
    overflow:hidden !important;
  }

  .ts365-localidades-card #tablePrice td{
    min-height:auto !important;
    padding:11px 15px !important;
    border:0 !important;
    text-align:left !important;
  }

  .ts365-localidades-card #tablePrice td:first-child{
    background:#f8fbff !important;
    color:#00a6d6 !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
  }

  .ts365-localidades-card #tablePrice td:last-child{
    color:#ff6b00 !important;
    font-size:18px !important;
    font-weight:950 !important;
  }

  .ts365-localidades-card #tablePrice select,
  .ts365-localidades-card #tablePrice .form-control{
    width:100% !important;
    min-width:100% !important;
    height:42px !important;
    border-radius:12px !important;
  }
}

/* =========================================================
   TS365 FIX DEFINITIVO - LOCALIDADES COMPACTAS TIPO TABLA
   - Desktop: filas horizontales compactas como el diseño anterior
   - Si hay muchas localidades: scroll interno solo en la lista
   - Sin cards gigantes, sin espacios vacíos
   - Botón Agregar Tickets queda fuera del scroll
   ========================================================= */

.ts365-localidades-card{
  width:100% !important;
  max-width:100% !important;
  border-radius:22px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 18px 45px rgba(13,34,63,.10) !important;
}

.ts365-localidades-card .ts365-localidades-head{
  padding:24px 30px !important;
  background:#0d2a50 !important;
}

.ts365-localidades-card .ts365-localidades-head h2{
  margin:0 !important;
  font-size:26px !important;
  line-height:1.1 !important;
  color:#fff !important;
}

.ts365-localidades-card .ts365-localidades-head p{
  margin:6px 0 0 !important;
  color:rgba(255,255,255,.86) !important;
  font-weight:700 !important;
}

/* Contenedor general de precios: sin aire exagerado */
.ts365-localidades-card #contPrice{
  padding:0 26px 18px !important;
  background:#fff !important;
  max-height:430px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border:0 !important;
}

.ts365-localidades-card #contPrice::-webkit-scrollbar{
  width:8px !important;
}
.ts365-localidades-card #contPrice::-webkit-scrollbar-thumb{
  background:#cbd5e1 !important;
  border-radius:999px !important;
}
.ts365-localidades-card #contPrice::-webkit-scrollbar-track{
  background:#f1f5f9 !important;
  border-radius:999px !important;
}

/* Título viejo LOCALIDAD / PRECIOS / HORARIOS */
.ts365-localidades-card #contPrice > .titulo,
.ts365-localidades-card .tituloLocalidad,
.ts365-localidades-card .tabLocalidades{
  margin-top:0 !important;
}

/* Tabla compacta horizontal */
.ts365-localidades-card #tablePrice{
  width:100% !important;
  border-collapse:collapse !important;
  border-spacing:0 !important;
  background:#fff !important;
  border:1px solid #d9edf7 !important;
  table-layout:fixed !important;
}

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

.ts365-localidades-card #tablePrice tr{
  display:table-row !important;
  width:100% !important;
  min-height:unset !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#fff !important;
  overflow:visible !important;
  transform:none !important;
}

.ts365-localidades-card #tablePrice tr:hover{
  transform:none !important;
  box-shadow:none !important;
  background:#f9fcff !important;
}

.ts365-localidades-card #tablePrice tr + tr{
  border-top:1px solid #e5f5fb !important;
}

.ts365-localidades-card #tablePrice td{
  display:table-cell !important;
  vertical-align:middle !important;
  height:58px !important;
  min-height:58px !important;
  padding:10px 16px !important;
  border:0 !important;
  border-bottom:1px solid #e5f5fb !important;
  background:transparent !important;
  text-align:center !important;
  line-height:1.2 !important;
  font-size:13px !important;
  white-space:normal !important;
}

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

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

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

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

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

.ts365-localidades-card #tablePrice button,
.ts365-localidades-card #tablePrice .btn{
  min-height:34px !important;
  height:34px !important;
  border-radius:6px !important;
  padding:7px 14px !important;
  border:0 !important;
  background:#08afd3 !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:800 !important;
  box-shadow:none !important;
  white-space:nowrap !important;
}

/* Botón agregar tickets fuera de la lista */
.ts365-localidades-card .acciones-compra,
.ts365-localidades-card .ts365-buy-actions,
.ts365-localidades-card #botonAgregarTickets,
.ts365-localidades-card .agregarTicketsWrap{
  padding:16px 0 22px !important;
  text-align:center !important;
  background:#fff !important;
}

.ts365-localidades-card input[type="submit"],
.ts365-localidades-card button[type="submit"],
.ts365-localidades-card .agregarTickets,
.ts365-localidades-card #btnAgregar,
.ts365-localidades-card .btn-agregar{
  border-radius:0 !important;
  background:#f5a63b !important;
  border:0 !important;
  color:#fff !important;
  font-weight:900 !important;
  padding:12px 26px !important;
  min-height:40px !important;
  box-shadow:none !important;
}

/* Responsive móvil: filas legibles, no gigantes */
@media (max-width: 767px){
  .ts365-localidades-card #contPrice{
    padding:0 12px 16px !important;
    max-height:520px !important;
  }

  .ts365-localidades-card #tablePrice,
  .ts365-localidades-card #tablePrice tbody,
  .ts365-localidades-card #tablePrice tr,
  .ts365-localidades-card #tablePrice td{
    display:block !important;
    width:100% !important;
  }

  .ts365-localidades-card #tablePrice{
    border:0 !important;
    background:transparent !important;
  }

  .ts365-localidades-card #tablePrice tr{
    margin:0 0 10px !important;
    border:1px solid #d9edf7 !important;
    border-radius:12px !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  .ts365-localidades-card #tablePrice td{
    height:auto !important;
    min-height:auto !important;
    padding:9px 12px !important;
    text-align:left !important;
    border-bottom:1px solid #edf7fb !important;
  }

  .ts365-localidades-card #tablePrice td:nth-child(1),
  .ts365-localidades-card #tablePrice td:nth-child(2),
  .ts365-localidades-card #tablePrice td:nth-child(3),
  .ts365-localidades-card #tablePrice td:nth-child(4),
  .ts365-localidades-card #tablePrice td:last-child{
    width:100% !important;
    text-align:left !important;
  }

  .ts365-localidades-card #tablePrice td:last-child{
    text-align:right !important;
    font-size:16px !important;
  }
}

/* ===== LOCALIDADES EN UNA SOLA LÍNEA (DESKTOP) =====
   Mantiene cada localidad como fila horizontal: nombre | descripción | cantidad | precio */
#contPrice{
    width: 100% !important;
    padding: 0 !important;
    margin: 0 auto !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    background: transparent !important;
}

#tablePrice{
    width: 100% !important;
    min-width: 760px !important;
    display: table !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    border: 1px solid #d9edf7 !important;
    background: #fff !important;
}

#tablePrice tbody{
    display: table-row-group !important;
}

#tablePrice tr{
    display: table-row !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
}

#tablePrice tr + tr{
    border-top: 1px solid #e5f5fb !important;
}

#tablePrice td{
    display: table-cell !important;
    vertical-align: middle !important;
    height: 58px !important;
    padding: 10px 16px !important;
    border: 0 !important;
    border-bottom: 1px solid #e5f5fb !important;
    background: transparent !important;
    text-align: center !important;
    line-height: 1.2 !important;
}

#tablePrice td:nth-child(1){
    width: 28% !important;
    color: #00a6d6 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

#tablePrice td:nth-child(2){
    width: 34% !important;
    color: #00a6d6 !important;
    font-weight: 700 !important;
}

#tablePrice td:nth-child(3){
    width: 18% !important;
}

#tablePrice td:nth-child(4),
#tablePrice td:last-child{
    width: 20% !important;
    color: #ff6b00 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

#tablePrice select,
#tablePrice .form-control{
    width: 60px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    border: 1px solid #8d8d8d !important;
    background: #fff !important;
    color: #00a6d6 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-align: center !important;
    box-shadow: none !important;
}

/* En móvil sí puede apilarse para que no se rompa */
@media (max-width: 767px){
    #tablePrice{
        min-width: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }
    #tablePrice,
    #tablePrice tbody,
    #tablePrice tr,
    #tablePrice td{
        display: block !important;
        width: 100% !important;
    }
    #tablePrice tr{
        margin: 0 0 10px !important;
        border: 1px solid #d9edf7 !important;
        border-radius: 12px !important;
        overflow: hidden !important;
    }
    #tablePrice td{
        height: auto !important;
        padding: 9px 12px !important;
        text-align: left !important;
    }
    #tablePrice td:last-child{
        text-align: right !important;
        font-size: 16px !important;
    }
}


/* ==========================================================
   FIX FINAL 2026-05-11 - LOCALIDADES HORIZONTALES
   Deja la tabla de localidades como antes:
   Localidad | Descripción | Cantidad | Precio
   ========================================================== */
#contPrice,
.ts365-localidades-card #contPrice,
.cnt_pr_1{
  width:100% !important;
  max-width:100% !important;
  padding:0 !important;
  margin:0 auto !important;
  background:#fff !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

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

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

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

#contPrice #tablePrice tr:hover,
.ts365-localidades-card #contPrice #tablePrice tr:hover,
table#tablePrice tr:hover{
  transform:none !important;
  box-shadow:none !important;
}

#contPrice #tablePrice td,
.ts365-localidades-card #contPrice #tablePrice td,
table#tablePrice td{
  display:table-cell !important;
  float:none !important;
  vertical-align:middle !important;
  height:58px !important;
  min-height:0 !important;
  /*padding:10px 16px !important;*/
  border:0 !important;
  border-bottom:1px solid #e5f5fb !important;
  border-radius:0 !important;
  background:#fff !important;
  text-align:center !important;
  line-height:1.2 !important;
  white-space:normal !important;
}

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

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

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

#contPrice #tablePrice td:nth-child(4),
#contPrice #tablePrice td:last-child,
.ts365-localidades-card #contPrice #tablePrice td:nth-child(4),
.ts365-localidades-card #contPrice #tablePrice td:last-child,
table#tablePrice td:nth-child(4),
table#tablePrice td:last-child{
  width:20% !important;
  color:#ff6b00 !important;
  font-size:14px !important;
  font-weight:900 !important;
  text-align:center !important;
  white-space:nowrap !important;
}

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

@media (max-width:767px){
  #contPrice #tablePrice,
  .ts365-localidades-card #contPrice #tablePrice,
  table#tablePrice{
    min-width:0 !important;
  }
}
