/* TICKETSTAR365 HOME - V5 ESTABLE
   Objetivo: modernizar sin romper estructura PHP actual */
:root{
  --ts-orange:#ff7900;
  --ts-blue:#00aee8;
  --ts-ink:#111827;
  --ts-muted:#657083;
  --ts-line:#e8edf3;
  --ts-soft:#f6f8fb;
}

html,body,#capaBody{background:#fff!important;color:var(--ts-ink)!important;overflow-x:hidden;}
a{text-decoration:none!important;}

/* ===== NAVBAR: mejora visual sin tocar head_demo.php ===== */
#contenedor-encabezado.navbar{
  min-height:92px!important;
  height:92px!important;
  background:#fff!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:0 8px 30px rgba(15,23,42,.08)!important;
  z-index:9000!important;
}
#fila-encabezado{height:92px!important;margin-top:0!important;display:flex!important;align-items:center!important;}
#contenido-encabezado,#fila-contenido-encabezado,.navbar-header{height:92px!important;}
.navbar-brand{height:92px!important;display:flex!important;align-items:center!important;padding:0!important;}
.navbar-brand>img{width:150px!important;max-width:150px!important;height:auto!important;margin:0!important;}
#bs-example-navbar-collapse-1{height:92px!important;margin:0!important;}
#menu1{height:92px!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:18px!important;margin:0!important;float:none!important;width:100%!important;}
#menu1>li{height:auto!important;width:auto!important;float:none!important;display:flex!important;align-items:center!important;}
#menu1>li>a{height:auto!important;padding:10px 4px!important;color:#111827!important;font-weight:800!important;letter-spacing:.02em!important;background:transparent!important;}
#menu1 label,#menu1 a label{font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;color:#111827!important;margin:0!important;cursor:pointer;}
#puntos_venta a label{max-width:150px!important;white-space:normal!important;line-height:1.1!important;text-align:center!important;}
#busqueda{width:190px!important;max-width:190px!important;padding:0!important;}
#busca{height:42px!important;border-radius:999px!important;border:1px solid #d9e0ea!important;box-shadow:0 8px 20px rgba(15,23,42,.05)!important;text-align:center!important;font-size:14px!important;}
.car_mov img{width:38px!important;}
#menu2{
  top:92px!important;
  height:20px!important;
  margin-top:0!important;
  background:rgba(231,228,224,.92)!important;
  background-image:none!important;
  z-index:8999!important;
}
#menu-usuario>ul{margin:0!important;line-height:20px!important;}
#contenedorCuerpoPagina{margin-top:112px!important;}

/* ===== HOME general ===== */
.ts365-home{
  width:100%!important;
  max-width:1280px!important;
  margin:0 auto!important;
  padding:28px 18px 44px!important;
  font-family:Arial,Helvetica,sans-serif!important;
  color:var(--ts-ink)!important;
  position:relative!important;
  z-index:1!important;
}
.ts365-home *{box-sizing:border-box!important;}

/* HERO limpio, centrado y sin banners laterales */
.ts-hero-grid{
  display:block!important;
  width:100%!important;
  max-width:1120px!important;
  margin:0 auto 36px!important;
  padding:0!important;
  clear:both!important;
}
.ts-side-banners{display:none!important;}
.ts-main-slider{width:100%!important;max-width:100%!important;margin:0 auto!important;position:relative!important;}
.ts-slider-frame{
  position:relative!important;
  width:100%!important;
  overflow:hidden!important;
  border-radius:20px!important;
  background:#f3f5f8!important;
  box-shadow:0 18px 45px rgba(15,23,42,.14)!important;
}
.ts-slider-frame:before{content:""!important;display:block!important;padding-top:42%!important;}
.ts-slider-frame .carousel-container,
.ts-slider-frame .carousel-item,
.ts-slider-frame a,
.ts-slider-frame .image-container{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;}
.ts-slider-frame .carousel-item{opacity:0!important;visibility:hidden!important;transition:opacity .35s ease!important;z-index:1!important;}
.ts-slider-frame .carousel-item.active{opacity:1!important;visibility:visible!important;z-index:2!important;}
.ts-slider-frame img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:20px!important;}
.ts-slider-arrow{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;z-index:10!important;width:48px!important;height:48px!important;border-radius:50%!important;border:0!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 10px 24px rgba(15,23,42,.20)!important;cursor:pointer!important;}
.ts-slider-arrow.prev-arrow{left:18px!important;}
.ts-slider-arrow.next-arrow{right:18px!important;}
.ts-slider-arrow .material-symbols-outlined{font-size:28px!important;color:var(--ts-orange)!important;}
.carousel-navigation{display:flex!important;justify-content:center!important;gap:12px!important;padding-top:18px!important;}
.carousel-dot{width:9px!important;height:9px!important;border-radius:20px!important;background:#cbd5e1!important;display:inline-block!important;cursor:pointer!important;}
.carousel-dot.active{width:30px!important;background:linear-gradient(90deg,var(--ts-orange),var(--ts-blue))!important;}

/* SECCIONES: aire, sin montarse */
.ts-section,
#about.ts-section,
#portfolio.ts-section{
  display:block!important;
  width:100%!important;
  max-width:1240px!important;
  height:auto!important;
  min-height:0!important;
  margin:34px auto 0!important;
  padding:26px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px solid var(--ts-line)!important;
  box-shadow:0 16px 42px rgba(15,23,42,.08)!important;
  position:relative!important;
  overflow:visible!important;
  clear:both!important;
}
.ts-section:before{content:""!important;position:absolute!important;left:0!important;right:0!important;top:0!important;height:4px!important;border-radius:22px 22px 0 0!important;background:linear-gradient(90deg,var(--ts-orange),var(--ts-blue))!important;}
.ts-section-head{display:block!important;margin:0 0 22px!important;padding:0!important;}
.ts-eyebrow{margin:0 0 7px!important;color:var(--ts-orange)!important;font-size:12px!important;letter-spacing:.12em!important;text-transform:uppercase!important;font-weight:900!important;}
.ts-section-title{margin:0!important;padding:0 0 12px!important;position:relative!important;font-family:Arial,Helvetica,sans-serif!important;font-size:30px!important;line-height:1.1!important;color:#111827!important;font-weight:900!important;}
.ts-section-title span{color:#111827!important;}
.ts-section-title:after{content:""!important;position:absolute!important;left:0!important;bottom:0!important;width:86px!important;height:4px!important;border-radius:999px!important;background:var(--ts-blue)!important;}

/* Próximos eventos: cards limpias, texto completo, botón visible */
.ts-events-grid,
#contenido_prox_eventos.ts-events-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px!important;
  width:100%!important;
  height:auto!important;
  overflow:visible!important;
}
.ts-event-card,
#evento_a_ver.ts-event-card{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:410px!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  border:1px solid var(--ts-line)!important;
  border-radius:18px!important;
  overflow:hidden!important;
  box-shadow:0 10px 28px rgba(15,23,42,.08)!important;
  transition:transform .22s ease, box-shadow .22s ease!important;
  position:relative!important;
}
.ts-event-card:hover{transform:translateY(-6px)!important;box-shadow:0 22px 48px rgba(15,23,42,.16)!important;}
.ts-event-image{display:block!important;width:100%!important;height:auto!important;background:#f1f5f9!important;overflow:hidden!important;}
.ts-event-image img{display:block!important;width:100%!important;aspect-ratio:16/9!important;height:auto!important;object-fit:cover!important;transition:transform .28s ease, filter .28s ease!important;}
.ts-event-card:hover .ts-event-image img{transform:scale(1.045)!important;filter:brightness(.88)!important;}
.ts-event-body{display:flex!important;flex-direction:column!important;gap:9px!important;flex:1!important;padding:17px 17px 18px!important;height:auto!important;overflow:visible!important;}
.ts-event-title{display:block!important;margin:0!important;min-height:0!important;height:auto!important;color:#111827!important;font-family:Arial,Helvetica,sans-serif!important;font-size:17px!important;line-height:1.25!important;font-weight:900!important;text-transform:uppercase!important;overflow:visible!important;white-space:normal!important;}
.ts-event-place{display:block!important;margin:0!important;color:var(--ts-blue)!important;font-size:13px!important;line-height:1.25!important;font-weight:900!important;text-transform:uppercase!important;overflow:visible!important;white-space:normal!important;}
.ts-event-meta,.ts-event-city{display:block!important;margin:0!important;color:#4b5563!important;font-size:13px!important;line-height:1.35!important;overflow:visible!important;white-space:normal!important;}
.ts-event-city{text-transform:uppercase!important;margin-bottom:8px!important;}
.ts-buy-btn{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;width:100%!important;min-height:42px!important;margin-top:auto!important;border-radius:999px!important;background:linear-gradient(90deg,var(--ts-orange),#ff9d2e)!important;color:#fff!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:900!important;font-size:14px!important;box-shadow:0 10px 22px rgba(255,121,0,.24)!important;opacity:1!important;visibility:visible!important;}
.ts-buy-btn:hover{background:linear-gradient(90deg,#f26d00,var(--ts-blue))!important;color:#fff!important;}
.ts-buy-btn .material-symbols-outlined{font-size:18px!important;}

/* Eventos realizados: dejamos el estilo que sí gustó, pero estable */
.ts-past-section{background:#fff!important;}
.ts-past-grid,
#contenido_eventos_realizados.ts-past-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  height:auto!important;
  overflow:visible!important;
}
.ts-past-card{position:relative!important;display:block!important;overflow:hidden!important;border-radius:15px!important;background:#111827!important;box-shadow:0 10px 24px rgba(15,23,42,.12)!important;}
.ts-past-card img{display:block!important;width:100%!important;aspect-ratio:16/8!important;height:auto!important;object-fit:cover!important;transition:transform .25s ease, filter .25s ease!important;}
.ts-past-card:hover img{transform:scale(1.04)!important;filter:brightness(.78)!important;}
.ts-past-caption{position:absolute!important;left:0!important;right:0!important;bottom:0!important;padding:28px 12px 12px!important;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.82))!important;color:#fff!important;font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;font-weight:900!important;line-height:1.15!important;text-transform:uppercase!important;text-shadow:0 1px 8px rgba(0,0,0,.7)!important;}
.ts-more-wrap{text-align:center!important;margin:28px 0 2px!important;}
.ts-more-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:145px!important;height:46px!important;border-radius:999px!important;background:#111827!important;color:#fff!important;font-weight:900!important;box-shadow:0 12px 26px rgba(17,24,39,.20)!important;width: 54% !important;}
.ts-more-btn:hover{background:var(--ts-orange)!important;color:#fff!important;}

.loading-spinner{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:34px!important;height:34px!important;border:3px solid #e5e7eb!important;border-top-color:var(--ts-orange)!important;border-radius:50%!important;animation:tsSpin .8s linear infinite!important;z-index:1!important;}
@keyframes tsSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.whatsapp-float,.messenger-btn,.insta-btn{z-index:9999!important;}

@media(max-width:1200px){
  #menu1{gap:10px!important;}
  #busqueda{width:165px!important;max-width:165px!important;}
  .ts-events-grid,#contenido_prox_eventos.ts-events-grid,.ts-past-grid,#contenido_eventos_realizados.ts-past-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:900px){
  .ts-events-grid,#contenido_prox_eventos.ts-events-grid,.ts-past-grid,#contenido_eventos_realizados.ts-past-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .ts-section,#about.ts-section,#portfolio.ts-section{padding:20px!important;}
}
@media(max-width:767px){
  #contenedorCuerpoPagina{margin-top:112px!important;}
  .ts365-home{padding:18px 10px 34px!important;}
  .ts-hero-grid{margin-bottom:24px!important;}
  .ts-slider-frame{border-radius:16px!important;}
  .ts-slider-frame:before{padding-top:56%!important;}
  .ts-slider-frame img{border-radius:16px!important;}
  .ts-slider-arrow{width:42px!important;height:42px!important;}
  .ts-section,#about.ts-section,#portfolio.ts-section{margin-top:24px!important;padding:17px 13px!important;border-radius:18px!important;}
  .ts-section-title{font-size:26px!important;}
  .ts-events-grid,#contenido_prox_eventos.ts-events-grid,.ts-past-grid,#contenido_eventos_realizados.ts-past-grid{grid-template-columns:1fr!important;gap:17px!important;}
  .ts-event-card,#evento_a_ver.ts-event-card{min-height:0!important;}
}

/* ===== V6 AJUSTES HEADER SEGUROS =====
   No cambia PHP. Solo corrige carrito y vista móvil. */
@media (min-width:768px){
  #menu1 > li.car_mov{
    height:92px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  #menu1 > li.car_mov > a.contenedor_wb,
  #menu1 > li.car_mov .contenedor_wb{
    top:7px!important;
    left:0!important;
    height:54px!important;
    width:54px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:relative!important;
  }
  #menu1 > li.car_mov img{
    width:39px!important;
    height:auto!important;
    display:block!important;
  }
  #menu1 > li.car_mov .con_n{
    position:absolute!important;
    top:-10px!important;
    left:30px!important;
    margin:0!important;
    line-height:1!important;
    font-size:12px!important;
  }
}

@media (max-width:767px){
  #contenedor-encabezado.navbar{
    height:104px!important;
    min-height:104px!important;
    padding-top:0!important;
    box-shadow:0 4px 16px rgba(0,174,232,.22)!important;
  }
  #fila-encabezado{
    height:104px!important;
    margin-top:0!important;
    display:block!important;
  }
  #contenido-encabezado,
  #fila-contenido-encabezado,
  .navbar-header{
    height:104px!important;
  }
  #div-btn-menu{
    display:inline-block!important;
    position:relative!important;
    z-index:3000!important;
  }
  .navbar-brand>img{
    width:165px!important;
    max-width:165px!important;
    height:auto!important;
  }
  #busca2{
    height:42px!important;
    border-radius:7px!important;
    top:27px!important;
    left:55px!important;
    /*width:205px!important;
    max-width:52vw!important;*/
    z-index:10!important;
  }
  .movil_car{
    display:block!important;
    position:absolute!important;
    right:12px!important;
    top:20px!important;
    width:48px!important;
    height:55px!important;
    z-index:40!important;
  }
  .movil_car .contenedor_ml{
    top:-14!important;
    left:0!important;
    width:48px!important;
    height:55px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:relative!important;
  }
  .movil_car .contenedor_ml img{
    width:35px!important;
    height:auto!important;
  }
  .movil_car .con_m{
    position:absolute!important;
    top:-8px!important;
    left:28px!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1!important;
  }
  #menu2{
    top:104px!important;
    height:19px!important;
  }
  #contenedorCuerpoPagina{
    margin-top:123px!important;
  }
}

/* ===== V9 HERO PREMIUM FULL BLEED =====
   Carrusel tipo ticketera grande: pantalla completa, con profundidad,
   overlay elegante, flechas glass y mejor responsive. */

.ts365-home{
  max-width:none!important;
  width:100%!important;
  padding:0 0 44px!important;
  overflow:hidden!important;
}

.ts-hero-grid{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  margin-top:0!important;
  margin-bottom:42px!important;
  padding:0!important;
  position:relative!important;
  overflow:hidden!important;
  background:#0b0f19!important;
}

.ts-main-slider{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  position:relative!important;
  overflow:hidden!important;
  background:#0b0f19!important;
}

.ts-slider-frame{
  width:100%!important;
  height:clamp(420px, 37vw, 650px)!important;
  min-height:420px!important;
  max-height:650px!important;
  border-radius:0!important;
  background:#0b0f19!important;
  box-shadow:none!important;
  overflow:hidden!important;
  position:relative!important;
}

.ts-slider-frame:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  padding:0!important;
  z-index:5!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg, rgba(0,0,0,.34) 0%, rgba(0,0,0,.04) 38%, rgba(0,0,0,.22) 100%),
    linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,0) 38%, rgba(0,0,0,.30) 100%)!important;
}

.ts-slider-frame:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:95px!important;
  z-index:6!important;
  pointer-events:none!important;
  background:linear-gradient(180deg, rgba(255,255,255,0), #fff 96%)!important;
  opacity:.96!important;
}

.ts-slider-frame .carousel-container,
.ts-slider-frame .carousel-item,
.ts-slider-frame a,
.ts-slider-frame .image-container{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}

.ts-slider-frame .carousel-item{
  opacity:0!important;
  visibility:hidden!important;
  transition:opacity .65s ease, transform 6s ease!important;
  z-index:1!important;
  transform:scale(1.015)!important;
}

.ts-slider-frame .carousel-item.active{
  opacity:1!important;
  visibility:visible!important;
  z-index:2!important;
  transform:scale(1)!important;
}

.ts-slider-frame img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:0!important;
  filter:saturate(1.08) contrast(1.05)!important;
  transform:scale(1.002)!important;
}

.ts-slider-arrow{
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;

    width: auto !important;
    height: auto !important;
    padding: 0 !important;
}

.ts-slider-arrow .material-symbols-outlined{
    font-size: 52px !important;
    color: #ff6b00 !important;
}

.ts-slider-arrow:hover,
.ts-slider-arrow:focus,
.ts-slider-arrow:active{
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
}

.ts-slider-arrow:hover{
  transform:translateY(-50%) scale(1.08)!important;
  /*background:#fff!important;*/
  box-shadow:0 24px 54px rgba(0,0,0,.38)!important;
}

.ts-slider-arrow.prev-arrow{left:34px!important;}
.ts-slider-arrow.next-arrow{right:34px!important;}

.ts-slider-arrow .material-symbols-outlined{
  font-size:38px!important;
  color:var(--ts-orange)!important;
  line-height:1!important;
}

.carousel-navigation{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:28px!important;
  z-index:30!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:13px!important;
}

.carousel-dot{
  width:11px!important;
  height:11px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.65)!important;
  box-shadow:0 3px 12px rgba(0,0,0,.20)!important;
  border:1px solid rgba(255,255,255,.55)!important;
}

.carousel-dot.active{
  width:42px!important;
  background:linear-gradient(90deg,var(--ts-orange),var(--ts-blue))!important;
  border-color:rgba(255,255,255,.75)!important;
}

.ts-section,
#about.ts-section,
#portfolio.ts-section{
  max-width:1240px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:1200px){
  .ts-slider-frame{
    height:clamp(390px, 42vw, 560px)!important;
    min-height:390px!important;
  }
}

@media(max-width:767px){
  .ts365-home{padding:0 0 34px!important;}
  .ts-hero-grid{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    margin-bottom:28px!important;
    background:#fff!important;
  }
  .ts-main-slider{
    padding:14px!important;
    background:#fff!important;
  }
  .ts-slider-frame{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:16/9!important;
    border-radius:22px!important;
    box-shadow:0 18px 44px rgba(15,23,42,.22)!important;
  }
  .ts-slider-frame:before{
    border-radius:22px!important;
    background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.16))!important;
  }
  .ts-slider-frame:after{
    display:none!important;
  }
  .ts-slider-frame img{
    border-radius:22px!important;
    object-fit:cover!important;
  }
  .ts-slider-arrow{
    width:46px!important;
    height:46px!important;
  }
  .ts-slider-arrow.prev-arrow{left:24px!important;}
  .ts-slider-arrow.next-arrow{right:24px!important;}
  .ts-slider-arrow .material-symbols-outlined{font-size:30px!important;}
  .carousel-navigation{
    position:relative!important;
    bottom:auto!important;
    margin-top:14px!important;
  }
  .carousel-dot{
    background:#cbd5e1!important;
    border-color:#cbd5e1!important;
    box-shadow:none!important;
  }
}

/* ===== EVENTOS REALIZADOS - CARRUSEL TICKETSTAR365 V7 =====
   Seccion exclusiva. No toca header ni menu. */
#portfolio.ts-past-showcase{
  background:
    radial-gradient(circle at 12% 0%, rgba(255,121,0,.10), transparent 28%),
    radial-gradient(circle at 88% 10%, rgba(0,174,232,.10), transparent 26%),
    linear-gradient(180deg,#ffffff 0%, #f7f9fc 100%)!important;

  border:1px solid #e7edf5!important;
  overflow:hidden!important;
  padding:30px 0 34px!important;
  box-shadow:0 18px 44px rgba(15,23,42,.08)!important;
}
#portfolio.ts-past-showcase:before{
  background:linear-gradient(90deg,#ff7900,#00aee8,#ff7900)!important;
  height:5px!important;
}
#portfolio.ts-past-showcase .ts-past-topbar{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:0 30px 18px!important;
}
#portfolio.ts-past-showcase .ts-eyebrow{color:#ff9d2e!important;}
#portfolio.ts-past-showcase .ts-section-title,
#portfolio.ts-past-showcase .ts-section-title span{color:#111827!important;}
#portfolio.ts-past-showcase .ts-section-title:after{
  background:linear-gradient(90deg,#ff7900,#00aee8)!important;
}
.ts-past-view-all{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:44px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  background:#ffffff!important;
  color:#111827!important;
  border:1px solid #dbe5ef!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06)!important;
  letter-spacing:.02em!important;
  backdrop-filter:blur(10px)!important;
}
.ts-past-view-all:hover{background:#ff7900!important;color:#fff!important;border-color:#ff7900!important;}
.ts-past-carousel-wrap{
  width:100%!important;
  overflow:hidden!important;
  position:relative!important;
  padding:12px 0 8px!important;
}
.ts-past-carousel-wrap:before,
.ts-past-carousel-wrap:after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  width:150px!important;
  height:100%!important;
  z-index:5!important;
  pointer-events:none!important;
}
.ts-past-carousel-wrap:before{left:0!important;background:linear-gradient(90deg,#0b1020,rgba(11,16,32,0))!important;}
.ts-past-carousel-wrap:after{right:0!important;background:linear-gradient(270deg,#070b14,rgba(7,11,20,0))!important;}
.ts-past-carousel-track{
  display:flex!important;
  align-items:stretch!important;
  gap:22px!important;
  width:max-content!important;
  animation:tsPastTicketstarMove 130s linear infinite!important;
  will-change:transform!important;
  padding-left:30px!important;
}
.ts-past-carousel-wrap:hover .ts-past-carousel-track{animation-play-state:paused!important;}
.ts-past-slide{
  flex:0 0 335px!important;
  height:190px!important;
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:24px!important;
  background:#111827!important;
  transform:skewX(-2deg)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.35)!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
.ts-past-slide img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  transform:none!important;
  filter:none!important;
  background:#111827!important;
  transition:transform .25s ease!important;
}

.ts-past-slide:hover img{
  transform:scale(1.03)!important;
  filter:none!important;
}
.ts-past-glow{
  position:absolute!important;
  inset:auto -20% -45% -20%!important;
  height:70%!important;
  z-index:2!important;
  background:radial-gradient(circle at 25% 70%, rgba(255,121,0,.42), transparent 45%),
             radial-gradient(circle at 80% 70%, rgba(0,174,232,.34), transparent 44%)!important;
  pointer-events:none!important;
}
.ts-past-info{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:3!important;
  padding:54px 18px 17px!important;
  transform:skewX(2deg)!important;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.90))!important;
  color:#fff!important;
}
.ts-past-info small{
  display:inline-flex!important;
  margin-bottom:7px!important;
  padding:4px 10px!important;
  border-radius:999px!important;
  background:#ff7900!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
.ts-past-info strong{
  display:block!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1.08!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  text-shadow:0 3px 12px rgba(0,0,0,.70)!important;
}
.ts-past-view-all-mobile{display:none!important;}
@keyframes tsPastTicketstarMove{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@media(max-width:767px){
  #portfolio.ts-past-showcase{padding:24px 0 28px!important;border-radius:18px!important;}
  #portfolio.ts-past-showcase .ts-past-topbar{padding:0 17px 14px!important;display:block!important;}
  .ts-past-view-all-desktop{display:none!important;}
  .ts-past-view-all-mobile{display:block!important;margin-top:22px!important;}
  .ts-past-carousel-wrap:before,.ts-past-carousel-wrap:after{width:55px!important;}
  .ts-past-carousel-track{gap:15px!important;padding-left:17px!important;animation-duration:130s !important;}
  .ts-past-slide{flex-basis:270px!important;height:155px!important;border-radius:20px!important;}
  .ts-past-info{padding:42px 14px 14px!important;}
  .ts-past-info strong{font-size:14px!important;}
}

/* ===== BANNERS SECUNDARIOS HOME: lista_eventos =====
   Usa exactamente los eventos marcados con strCaractristica = 'home'.
   Antes salían máximo 3; ahora salen todos en carrusel horizontal. */
#lista_eventos.ts-side-banners,
.ts-home-highlight-marquee{
  display:block!important;
  width:100%!important;
  max-width:1240px!important;
  margin:24px auto 0!important;
  padding:18px 0 20px!important;
  background:#fff!important;
  border:1px solid var(--ts-line)!important;
  border-radius:22px!important;
  box-shadow:0 16px 38px rgba(15,23,42,.08)!important;
  overflow:hidden!important;
  clear:both!important;
}
.ts-home-highlight-head{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:0 22px 14px!important;
  font-family:Arial,Helvetica,sans-serif!important;
  text-transform:uppercase!important;
}
.ts-home-highlight-head span{
  color:var(--ts-orange)!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}
.ts-home-highlight-head strong{
  color:#111827!important;
  font-size:18px!important;
  font-weight:900!important;
}
.ts-home-highlight-wrap{
  width:100%!important;
  overflow:hidden!important;
  position:relative!important;
}
/*.ts-home-highlight-wrap:before,
.ts-home-highlight-wrap:after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  width:78px!important;
  z-index:2!important;
  pointer-events:none!important;
}
.ts-home-highlight-wrap:before{left:0!important;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))!important;}
.ts-home-highlight-wrap:after{right:0!important;background:linear-gradient(270deg,#fff,rgba(255,255,255,0))!important;}*/
.ts-home-highlight-track{
  display:flex!important;
  align-items:stretch!important;
  gap:16px!important;
  width:max-content!important;
  padding:4px 22px 8px!important;
  animation:tsHomeHighlightsMove 34s linear infinite!important;
  will-change:transform!important;
}
.ts-home-highlight-wrap:hover .ts-home-highlight-track{
  animation-play-state:paused!important;
}
#lista_eventos .ts-side-card{
  display:block!important;
  flex:0 0 210px!important;
  width:210px!important;
  height:118px!important;
  margin:0!important;
  padding:0!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#111827!important;
  box-shadow:0 10px 24px rgba(15,23,42,.16)!important;
  border:1px solid rgba(255,255,255,.7)!important;
  transform:translateZ(0)!important;
}
#lista_eventos .ts-side-card img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transition:transform .25s ease, filter .25s ease!important;
}
#lista_eventos .ts-side-card:hover img{
  transform:scale(1.06)!important;
  filter:brightness(.82)!important;
}
@keyframes tsHomeHighlightsMove{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@media(max-width:767px){
  #lista_eventos.ts-side-banners,
  .ts-home-highlight-marquee{
    margin-top:18px!important;
    border-radius:18px!important;
    padding:15px 0 16px!important;
  }
  .ts-home-highlight-head{padding:0 15px 12px!important;}
  .ts-home-highlight-head strong{font-size:16px!important;}
  .ts-home-highlight-track{gap:12px!important;padding:3px 15px 6px!important;animation-duration:26s !important;}
  #lista_eventos .ts-side-card{flex-basis:170px!important;width:170px!important;height:96px!important;border-radius:14px!important;}
}




/* =========================================================
   FIX FINAL HOME V13
   Banner completo, estirado de izquierda a derecha,
   sin recorte y con eventos destacados visibles.
========================================================= */

/* Home sin espacios */
.ts365-home{
  max-width:none!important;
  width:100%!important;
  padding:0 0 44px!important;
  margin:0!important;
  overflow:hidden!important;
}

/* Hero full width */
.ts-hero-grid{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  margin-top:-10px!important;
  margin-bottom:0!important;
  padding:0!important;
  background:#fff!important;
  overflow:hidden!important;
}

/* Slider sin padding */
.ts-main-slider{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
  background:#fff!important;
}

/* Marco full width */
.ts-slider-frame{
  width:100vw!important;
  max-width:none!important;
  height:430px!important;
  min-height:430px!important;
  max-height:430px!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:hidden!important;
}

/* Quitar overlays oscuros */
.ts-slider-frame:before{
  display:none!important;
  background:none!important;
}

/* Fade inferior pequeño */
.ts-slider-frame:after{
  height:25px!important;
  background:linear-gradient(180deg, rgba(255,255,255,0), #fff 95%)!important;
  opacity:.85!important;
}

/* Imagen completa, de lado a lado */
/* WEB */
.ts-slider-frame img{
  width:100%!important;
  height:100%!important;
  object-fit:fill!important;
  object-position:center center!important;
  background:#fff!important;
  border-radius:0!important;
  filter:none!important;
  transform:none!important;
}

/* MÓVIL */
@media(max-width:767px){

  .ts-slider-frame img{
    width:100%!important;
    height:auto!important;
    min-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
  }

}

/* Elementos internos full */
.ts-slider-frame .carousel-container,
.ts-slider-frame .carousel-item,
.ts-slider-frame a,
.ts-slider-frame .image-container{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  inset:0!important;
}

/* Flechas */
.ts-slider-arrow{
  top:50%!important;
  z-index:40!important;
}

.ts-slider-arrow.prev-arrow{
  left:24px!important;
}

.ts-slider-arrow.next-arrow{
  right:24px!important;
}

/* Puntos */
.carousel-navigation{
  bottom:16px!important;
  z-index:45!important;
}

/* Eventos destacados visibles */
#lista_eventos.ts-side-banners,
.ts-home-highlight-marquee{
  width:86%!important;
  max-width:1240px!important;
  margin:-2px auto 0!important;
  padding:8px 0 10px!important;
  border-radius:18px!important;
  position:relative!important;
  z-index:30!important;
  background:#fff!important;
}

/* Ocultar título */
.ts-home-highlight-head{
  display:none!important;
}

/* Carrusel inferior compacto */
.ts-home-highlight-track{
  padding:6px 14px 6px!important;
  gap:14px!important;
}

#lista_eventos .ts-side-card{
  flex:0 0 205px!important;
  width:205px!important;
  height:108px!important;
  border-radius:14px!important;
}

/* Responsive */
@media(max-width:1200px){
  .ts-slider-frame{
    height:400px!important;
    min-height:400px!important;
    max-height:400px!important;
  }
}

@media(max-width:900px){
  .ts-slider-frame{
    height:330px!important;
    min-height:330px!important;
    max-height:330px!important;
  }
}

@media(max-width:767px){
  .ts-hero-grid{
    width:100%!important;
    margin-left:2!important;
    margin-right:0!important;
    margin-top:0!important;
  }

  .ts-slider-frame{
    width:100%!important;
    height:245px!important;
    min-height:245px!important;
    max-height:245px!important;
  }

  .carousel-navigation{
    bottom:10px!important;
  }

  #lista_eventos.ts-side-banners,
  .ts-home-highlight-marquee{
    width:100%!important;
    margin-top:0!important;
    padding:8px 0!important;
    border-radius:14px!important;
  }

  #lista_eventos .ts-side-card{
    flex-basis:165px!important;
    width:165px!important;
    height:88px!important;
  }
}

/* FIX FINAL - quitar espacio blanco superior */

#contenedorCuerpoPagina{
    margin-top:92px!important;
    padding-top:0!important;
}

.ts365-home{
    margin-top:0px!important;
    padding-top:23!important;
}

.ts-hero-grid{
    margin-top:-22px!important;
    padding-top:0!important;
}

/* MÓVIL */
@media(max-width:767px){
    .ts365-home{
        padding-top:30 !important;
    }

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

/* =========================================================
   FIX DEFINITIVO IMÁGENES EVENTOS
   WEB + MOBILE
========================================================= */

/* CONTENEDOR */
.ts-event-image,
#contenido_prox_eventos .ts-event-image,
#evento_a_ver .ts-event-image{
    width:100%!important;
    height:auto!important;
    min-height:auto!important;
    max-height:none!important;
    overflow:hidden!important;
    background:#fff!important;
    display:block!important;
    position:relative!important;
}

/* IMAGENES */
.ts-event-image img,
#contenido_prox_eventos .ts-event-image img,
#evento_a_ver .ts-event-image img,
.ts-event-card img{
    width:100%!important;
    height:auto!important;
    min-height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center center!important;
    aspect-ratio:auto!important;
    display:block!important;
    border-radius:0!important;
    transform:none!important;
}

/* HOVER */
.ts-event-card:hover .ts-event-image img{
    transform:scale(1.02)!important;
}

/* MOBILE */
@media(max-width:767px){

    .ts-event-image,
    #contenido_prox_eventos .ts-event-image,
    #evento_a_ver .ts-event-image{
        height:auto!important;
    }

    .ts-event-image img,
    #contenido_prox_eventos .ts-event-image img,
    #evento_a_ver .ts-event-image img,
    .ts-event-card img{
        width:100%!important;
        height:auto!important;
        object-fit:contain!important;
        aspect-ratio:auto!important;
    }

}


/* =========================================================
   SCROLL AUTOMATICO RESULTADOS BUSQUEDA
========================================================= */

.ts365-resultados-activos{
    animation:ts365ResultadosGlow 1.4s ease;
}

@keyframes ts365ResultadosGlow{
    0%{
        box-shadow:0 0 0 rgba(0,174,232,0);
    }
    35%{
        box-shadow:0 0 0 5px rgba(0,174,232,.22);
    }
    100%{
        box-shadow:0 0 0 rgba(0,174,232,0);
    }
}

/* MÓVIL / TABLET: espacio dinámico antes del carrusel */
@media(max-width:767px){
    .ts365-home{
        padding-top: 70px !important;
    }

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

@media(min-width:768px) and (max-width:1199px){
    .ts365-home{
        padding-top: 81px !important;
    }

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

/* FIX FINAL: ocultar/eliminar visualmente dots del carrusel principal */
.ts-main-slider .carousel-navigation,
.ts-main-slider .carousel-dot,
.ts-slider-frame + .carousel-navigation,
#primera_plana .carousel-navigation,
#primera_plana .carousel-dot{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    height:0 !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    pointer-events:none !important;
}

/* =========================================================
   APP 365 EN CARRUSEL HOME
   Se muestra solo cuando linkEventos.app_activa = 1.
========================================================= */
.ts-slider-frame .carousel-item{
    overflow:hidden!important;
}

.ts365-home-app-card{
    position:absolute!important;
    right:52px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:60!important;
    width:min(310px, 24vw)!important;
    min-width:250px!important;
    padding:22px 20px 18px!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.94)!important;
    border:1px solid rgba(255,255,255,.78)!important;
    box-shadow:0 22px 60px rgba(15,23,42,.24)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
    font-family:Arial,Helvetica,sans-serif!important;
    color:#111827!important;
    pointer-events:auto!important;
}

.ts365-home-app-card:before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    border-radius:22px!important;
    padding:1px!important;
    background:linear-gradient(135deg, rgba(255,121,0,.7), rgba(0,174,232,.35), rgba(255,255,255,.7))!important;
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0)!important;
    -webkit-mask-composite:xor!important;
    mask-composite:exclude!important;
    pointer-events:none!important;
}

.ts365-home-app-card-hidden{
    display:none!important;
}

.ts365-home-app-close{
    position:absolute!important;
    top:10px!important;
    right:12px!important;
    width:30px!important;
    height:30px!important;
    border:0!important;
    border-radius:999px!important;
    background:rgba(17,24,39,.06)!important;
    color:#111827!important;
    font-size:26px!important;
    line-height:25px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    cursor:pointer!important;
    padding:0!important;
}

.ts365-home-app-close:hover{
    background:#ff7900!important;
    color:#fff!important;
}

.ts365-home-app-icon{
    width:32px!important;
    height:32px!important;
    border-radius:10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-bottom:12px!important;
    color:#fff!important;
    background:linear-gradient(135deg,#ff7900,#ff9d2e)!important;
    box-shadow:0 10px 20px rgba(255,121,0,.30)!important;
}

.ts365-home-app-copy strong{
    display:block!important;
    max-width:235px!important;
    margin:0 24px 9px 0!important;
    font-size:20px!important;
    line-height:1.15!important;
    font-weight:950!important;
    color:#111827!important;
}

.ts365-home-app-copy strong span{
    color:#ff7900!important;
    white-space:nowrap!important;
}

.ts365-home-app-copy p{
    margin:0 0 15px!important;
    font-size:14px!important;
    line-height:1.35!important;
    font-weight:700!important;
    color:#374151!important;
}

.ts365-home-app-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
}

.ts365-home-store-btn{
    min-height:42px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    border-radius:11px!important;
    background:#05070b!important;
    color:#fff!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:900!important;
    box-shadow:0 10px 22px rgba(0,0,0,.18)!important;
}

.ts365-home-store-btn:hover{
    background:#ff7900!important;
    color:#fff!important;
}

.ts365-home-store-btn i{
    font-size:18px!important;
}

@media(min-width:768px) and (max-width:1199px){
    .ts365-home-app-card{
        right:34px!important;
        width:245px!important;
        min-width:245px!important;
        padding:17px 16px 15px!important;
        border-radius:18px!important;
    }
    .ts365-home-app-copy strong{
        font-size:16px!important;
        margin-bottom:7px!important;
    }
    .ts365-home-app-copy p{
        font-size:12px!important;
        margin-bottom:11px!important;
    }
    .ts365-home-store-btn{
        min-height:36px!important;
        font-size:12px!important;
        border-radius:9px!important;
    }
}

@media(max-width:767px){
    .ts365-home-app-card{
        left:12px!important;
        right:12px!important;
        top:auto!important;
        bottom:10px!important;
        transform:none!important;
        width:auto!important;
        min-width:0!important;
        padding:11px 42px 11px 12px!important;
        border-radius:17px!important;
        display:grid!important;
        grid-template-columns:32px 1fr!important;
        column-gap:10px!important;
        align-items:center!important;
        background:rgba(255,255,255,.96)!important;
        box-shadow:0 14px 36px rgba(15,23,42,.26)!important;
    }

    .ts365-home-app-icon{
        grid-row:1 / span 2!important;
        width:32px!important;
        height:32px!important;
        margin:0!important;
        border-radius:10px!important;
    }

    .ts365-home-app-copy strong{
        max-width:none!important;
        margin:0 0 3px!important;
        font-size:13px!important;
        line-height:1.12!important;
    }

    .ts365-home-app-copy p{
        margin:0 0 7px!important;
        font-size:11px!important;
        line-height:1.2!important;
        font-weight:700!important;
        display:-webkit-box!important;
        -webkit-line-clamp:2!important;
        -webkit-box-orient:vertical!important;
        overflow:hidden!important;
    }

    .ts365-home-app-actions{
        grid-column:2!important;
        display:flex!important;
        gap:6px!important;
        flex-wrap:nowrap!important;
    }

    .ts365-home-store-btn{
        flex:1 1 0!important;
        min-width:0!important;
        min-height:27px!important;
        border-radius:8px!important;
        font-size:10px!important;
        gap:4px!important;
        padding:0 6px!important;
        box-shadow:none!important;
    }

    .ts365-home-store-btn i{
        font-size:13px!important;
    }

    .ts365-home-app-close{
        top:8px!important;
        right:8px!important;
        width:25px!important;
        height:25px!important;
        font-size:22px!important;
        line-height:22px!important;
    }
}

@media(max-width:380px){
    .ts365-home-app-card{
        bottom:7px!important;
        padding:9px 38px 9px 10px!important;
        grid-template-columns:28px 1fr!important;
        column-gap:8px!important;
    }
    .ts365-home-app-icon{
        width:28px!important;
        height:28px!important;
    }
    .ts365-home-app-copy strong{
        font-size:12px!important;
    }
    .ts365-home-app-copy p{
        font-size:10px!important;
        margin-bottom:5px!important;
    }
    .ts365-home-store-btn{
        min-height:24px!important;
        font-size:9px!important;
    }
}

/* =========================================================
   HOTFIX APP 365 CARRUSEL HOME - V7
   Corrige que los links de App Store/Google Play se estiren como banner.
   Mantiene el diseño tipo boceto: tarjeta blanca flotante, responsive.
========================================================= */
.ts-slider-frame .carousel-item > a.container-link{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    z-index:2!important;
}
.ts-slider-frame .carousel-item > a.container-link .image-container{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
}
.ts-slider-frame .carousel-item > a.container-link img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    /*object-fit:cover!important;*/
}
.ts365-home-app-card,
.ts365-home-app-card *{
    box-sizing:border-box!important;
}
.ts365-home-app-card{
    position:absolute!important;
    right:46px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:80!important;
    width:330px!important;
    min-width:0!important;
    min-height:0!important;
    padding:18px 18px 16px!important;
    border-radius:24px!important;
    background:rgba(255,255,255,.96)!important;
    color:#111827!important;
    border:1px solid rgba(255,255,255,.86)!important;
    box-shadow:0 24px 70px rgba(2,6,23,.30)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    display:grid!important;
    grid-template-columns:86px minmax(0,1fr)!important;
    gap:14px!important;
    align-items:center!important;
    overflow:hidden!important;
    pointer-events:auto!important;
    font-family:Arial,Helvetica,sans-serif!important;
}
.ts365-home-app-card:after{
    content:""!important;
    position:absolute!important;
    left:-40px!important;
    bottom:-50px!important;
    width:130px!important;
    height:130px!important;
    border-radius:999px!important;
    background:radial-gradient(circle, rgba(255,121,0,.20), rgba(255,121,0,0) 65%)!important;
    pointer-events:none!important;
}
.ts365-home-app-card-hidden{display:none!important;}
.ts365-home-app-close{
    position:absolute!important;
    top:10px!important;
    right:10px!important;
    width:30px!important;
    height:30px!important;
    border:0!important;
    border-radius:999px!important;
    background:rgba(17,24,39,.07)!important;
    color:#111827!important;
    font-size:25px!important;
    line-height:25px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    cursor:pointer!important;
    padding:0!important;
    z-index:3!important;
}
.ts365-home-app-close:hover{background:#ff7900!important;color:#fff!important;}
.ts365-home-app-phone{
    width:78px!important;
    height:142px!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,#05070b,#101827)!important;
    border:3px solid #222!important;
    box-shadow:0 14px 28px rgba(0,0,0,.22)!important;
    position:relative!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:10px!important;
}
.ts365-home-app-phone-notch{
    position:absolute!important;
    top:6px!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:28px!important;
    height:5px!important;
    border-radius:999px!important;
    background:#020617!important;
}
.ts365-home-app-phone-logo{
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    color:#fff!important;
    font-size:17px!important;
    font-weight:950!important;
}
.ts365-home-app-phone-logo i{color:#ff7900!important;font-size:18px!important;}
.ts365-home-app-phone-lines{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:5px!important;width:54px!important;}
.ts365-home-app-phone-lines span{height:22px!important;border-radius:6px!important;background:linear-gradient(135deg,#ff7900,#101827)!important;border:1px solid rgba(255,255,255,.14)!important;}
.ts365-home-app-content{min-width:0!important;position:relative!important;z-index:2!important;}
.ts365-home-app-copy strong{
    display:block!important;
    margin:0 26px 8px 0!important;
    font-size:19px!important;
    line-height:1.13!important;
    font-weight:950!important;
    color:#111827!important;
}
.ts365-home-app-copy strong span{color:#ff7900!important;white-space:nowrap!important;}
.ts365-home-app-copy p{
    margin:0 0 13px!important;
    font-size:13.5px!important;
    line-height:1.32!important;
    font-weight:700!important;
    color:#374151!important;
}
.ts365-home-app-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
}
.ts365-home-app-card a.ts365-home-store-btn,
.ts-slider-frame .ts365-home-app-card a.ts365-home-store-btn{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:38px!important;
    max-height:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    border-radius:11px!important;
    background:#05070b!important;
    color:#fff!important;
    font-size:12.5px!important;
    line-height:1!important;
    font-weight:900!important;
    padding:0 10px!important;
    box-shadow:0 10px 22px rgba(0,0,0,.18)!important;
    text-decoration:none!important;
    z-index:4!important;
}
.ts365-home-app-card a.ts365-home-store-btn:hover{background:#ff7900!important;color:#fff!important;}
.ts365-home-store-btn i{font-size:17px!important;line-height:1!important;}

@media(min-width:768px) and (max-width:1199px){
    .ts365-home-app-card{
        right:26px!important;
        width:285px!important;
        grid-template-columns:66px minmax(0,1fr)!important;
        gap:10px!important;
        padding:14px 14px 13px!important;
        border-radius:20px!important;
    }
    .ts365-home-app-phone{width:60px!important;height:112px!important;border-radius:15px!important;}
    .ts365-home-app-phone-lines{width:42px!important;gap:4px!important;}
    .ts365-home-app-phone-lines span{height:17px!important;}
    .ts365-home-app-copy strong{font-size:15px!important;margin-bottom:6px!important;}
    .ts365-home-app-copy p{font-size:11px!important;margin-bottom:9px!important;}
    .ts365-home-app-card a.ts365-home-store-btn{min-height:32px!important;font-size:11px!important;border-radius:9px!important;}
}
@media(max-width:767px){
    .ts365-home-app-card{
        left:10px!important;
        right:10px!important;
        top:auto!important;
        bottom:10px!important;
        transform:none!important;
        width:auto!important;
        padding:10px 40px 10px 10px!important;
        border-radius:17px!important;
        grid-template-columns:48px minmax(0,1fr)!important;
        gap:9px!important;
        align-items:center!important;
        box-shadow:0 14px 36px rgba(15,23,42,.28)!important;
    }
    .ts365-home-app-phone{width:44px!important;height:76px!important;border-radius:12px!important;border-width:2px!important;gap:5px!important;}
    .ts365-home-app-phone-notch{width:18px!important;height:4px!important;top:4px!important;}
    .ts365-home-app-phone-logo{font-size:11px!important;gap:2px!important;}
    .ts365-home-app-phone-logo i{font-size:11px!important;}
    .ts365-home-app-phone-lines{width:30px!important;gap:3px!important;}
    .ts365-home-app-phone-lines span{height:11px!important;border-radius:4px!important;}
    .ts365-home-app-copy strong{margin:0 0 3px!important;font-size:13px!important;line-height:1.12!important;}
    .ts365-home-app-copy p{margin:0 0 7px!important;font-size:10.5px!important;line-height:1.18!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
    .ts365-home-app-actions{display:flex!important;gap:6px!important;}
    .ts365-home-app-card a.ts365-home-store-btn{min-height:26px!important;font-size:9.5px!important;border-radius:8px!important;padding:0 5px!important;gap:4px!important;box-shadow:none!important;}
    .ts365-home-store-btn i{font-size:12px!important;}
    .ts365-home-app-close{top:7px!important;right:7px!important;width:24px!important;height:24px!important;font-size:21px!important;line-height:21px!important;}
}

/* =========================================================
   FIX FINAL MOBILE HOME - Ticketstar365
   Soluciona:
   1) Al cargar, el carrusel ya NO queda cortado.
   2) Al hacer scroll, no aparece hueco azul/blanco arriba.
   3) Se impone sobre el estilo de head_demo.php:
      .ts365-home, body.ts-scrolled .ts365-home { padding-top:46... }
========================================================= */

@media (max-width:767px){

  html body #contenedorCuerpoPagina{
    margin-top:104px !important;
    padding-top:0 !important;
  }

  html body .ts365-home,
  html body.ts-scrolled .ts365-home,
  html body #contenedorCuerpoPagina .ts365-home,
  html body.ts-scrolled #contenedorCuerpoPagina .ts365-home{
    padding-top:46px !important;
    margin-top:0 !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  html body .ts365-home .ts-hero-grid,
  html body.ts-scrolled .ts365-home .ts-hero-grid{
    margin-top:0 !important;
    padding-top:0 !important;
    margin-bottom:0 !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  html body .ts365-home .ts-main-slider,
  html body.ts-scrolled .ts365-home .ts-main-slider{
    margin-top:0 !important;
    padding-top:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  html body .ts365-home .ts-slider-frame,
  html body.ts-scrolled .ts365-home .ts-slider-frame{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:16/9 !important;
    margin-top:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
    background:#fff !important;
    box-shadow:none !important;
  }

  html body .ts365-home .ts-slider-frame .carousel-container,
  html body.ts-scrolled .ts365-home .ts-slider-frame .carousel-container{
    margin-top:0 !important;
    padding-top:0 !important;
    width:100% !important;
    height:100% !important;
  }

  html body .ts365-home .ts-slider-frame .carousel-item,
  html body.ts-scrolled .ts365-home .ts-slider-frame .carousel-item,
  html body .ts365-home .ts-slider-frame .image-container,
  html body.ts-scrolled .ts365-home .ts-slider-frame .image-container,
  html body .ts365-home .ts-slider-frame a,
  html body.ts-scrolled .ts365-home .ts-slider-frame a{
    width:100% !important;
    height:100% !important;
    inset:0 !important;
  }

  html body .ts365-home .ts-slider-frame img,
  html body.ts-scrolled .ts365-home .ts-slider-frame img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    border-radius:0 !important;
    background:#fff !important;
    transform:none !important;
    filter:none !important;
  }

  html body #contenedor-encabezado.navbar{
    box-shadow:none !important;
  }

  html body #lista_eventos.ts-side-banners,
  html body .ts-home-highlight-marquee{
    margin-top:0 !important;
  }
}

/* Android muy angosto: no subir el bloque con margen negativo */
@media (max-width:380px){
  html body .ts365-home,
  html body.ts-scrolled .ts365-home{
    margin-top:0 !important;
  }

  html body .ts-main-slider,
  html body.ts-scrolled .ts-main-slider{
    padding-top:0 !important;
  }
}

/* APP 365 más pequeña en vista móvil */
@media (max-width: 767px){

  .ts365-home-app-card{
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    padding: 7px 34px 7px 8px !important;
    grid-template-columns: 36px minmax(0,1fr) !important;
    gap: 7px !important;
    border-radius: 13px !important;
  }

  .ts365-home-app-phone{
    width: 34px !important;
    height: 58px !important;
    border-radius: 10px !important;
  }

  .ts365-home-app-phone-notch{
    width: 14px !important;
    height: 3px !important;
  }

  .ts365-home-app-phone-logo{
    font-size: 9px !important;
  }

  .ts365-home-app-phone-logo i{
    font-size: 9px !important;
  }

  .ts365-home-app-phone-lines{
    width: 24px !important;
    gap: 2px !important;
  }

  .ts365-home-app-phone-lines span{
    height: 8px !important;
  }

  .ts365-home-app-copy strong{
    font-size: 11px !important;
    margin-bottom: 2px !important;
  }

  .ts365-home-app-copy p{
    font-size: 8.5px !important;
    line-height: 1.15 !important;
    margin-bottom: 4px !important;
    -webkit-line-clamp: 1 !important;
  }

  .ts365-home-app-actions{
    gap: 4px !important;
  }

  .ts365-home-app-card a.ts365-home-store-btn{
      min-height: 17px !important;
      height: 17px !important;
      font-size: 6.8px !important;
      padding: 0 3px !important;
      border-radius: 5px !important;
      gap: 2px !important;
  }

  .ts365-home-store-btn span{
      line-height: 1 !important;
  }

  .ts365-home-store-btn i{
      font-size: 8px !important;
  }

  .ts365-home-app-close{
    width: 20px !important;
    height: 20px !important;
    font-size: 17px !important;
    top: 5px !important;
    right: 5px !important;
  }
  .ts365-home-app-card a.ts365-home-store-btn, .ts-slider-frame .ts365-home-app-card a.ts365-home-store-btn{
        min-height:20px!important;
  }
}

@media (max-width:767px){

  
  /* ocultar SOLO el titulo */
  html body .ts365-home-app-copy strong{
      display:none !important;
  }

  /* mantener texto pequeño */
  html body .ts365-home-app-copy p{
      display:block !important;
      margin:0 !important;
      font-size:8px !important;
      line-height:1.1 !important;
      color:#374151 !important;
  }
  html body .ts365-home-app-card{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    grid-template-columns:none !important;
    left:14px !important;
    right:14px !important;
    bottom:8px !important;
    padding:6px 32px 6px 8px !important;
    min-height:0 !important;
    gap:4px !important;
  }

  html body .ts365-home-app-content{
    width:100% !important;
  }

  html body .ts365-home-app-actions{
    display:flex !important;
    width:100% !important;
    gap:4px !important;
  }

  html body .ts365-home-app-card a.ts365-home-store-btn{
    height:20px !important;
    min-height:20px !important;
    font-size:7px !important;
    padding:0 5px !important;
  }
}
@media (max-width:767px){

  /* quitar solo el teléfono */
  html body .ts365-home-app-phone{
    display:none !important;
  }

  /* mantener contenido */
  html body .ts365-home-app-content{
    width:100% !important;
  }

  /* quitar solo el título quemado */
  html body .ts365-home-app-copy strong{
    display:none !important;
  }

  /* dejar el texto pequeño */
  html body .ts365-home-app-copy p{
    display:block !important;
    margin:0 0 4px 0 !important;
    font-size:8px !important;
    line-height:1.1 !important;
    color:#374151 !important;
  }

  html body .ts365-home-app-card{
    display:block !important;
    left:14px !important;
    right:14px !important;
    bottom:8px !important;
    padding:6px 32px 6px 8px !important;
  }

  html body .ts365-home-app-actions{
    display:flex !important;
    gap:4px !important;
    width:100% !important;
  }
   .ts365-home-app-card{
    border:none !important;
    box-shadow:none !important;
  }

  .ts365-home-app-card:before,
  .ts365-home-app-card:after{
    display:none !important;
  }
}