/* =====================================================
   TicketsFest.EU v10.0.8 — mobile event catalogue structure
   Structure only, not a visual copy of any third-party site.
   Poster first → title → date → location → price → compact CTA.
   ===================================================== */
@media (max-width: 767px){
  html,
  body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  body .tfe-home-section,
  body .tfe-section,
  body .tfe-page-section,
  body .tfe-events-section{
    overflow:visible!important;
  }

  body .tfe-wrap,
  body .tfe-instance,
  body .tfe-instance[data-layout="grid"],
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"]{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }

  body .tfe-instance[data-layout="grid"] > .tfe-grid,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] > .tfe-grid,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] > .tfe-grid{
    display:grid!important;
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
    grid-auto-flow:row!important;
    gap:24px 16px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
    transform:none!important;
    touch-action:auto!important;
  }

  body .tfe-instance[data-layout="grid"] > .tfe-grid > .tfe-card-item,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] > .tfe-grid > .tfe-card-item,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] > .tfe-grid > .tfe-card-item{
    display:block!important;
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:auto!important;
    flex:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
    transform:none!important;
  }

  body .tfe-instance[data-layout="grid"] .tfe-card-inner,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] .tfe-card-inner,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] .tfe-card-inner{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
    contain:none!important;
    content-visibility:visible!important;
  }

  body .tfe-instance[data-layout="grid"] .tfe-card-inner img.tfe-poster,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] .tfe-card-inner img.tfe-poster,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] .tfe-card-inner img.tfe-poster,
  body .tfe-instance[data-layout="grid"] .tfe-poster--empty,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] .tfe-poster--empty,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] .tfe-poster--empty{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:4/5!important;
    object-fit:cover!important;
    object-position:center top!important;
    border-radius:18px!important;
    background:#e5e7eb!important;
    box-shadow:0 10px 24px rgba(15,23,42,.10)!important;
  }

  body .tfe-instance[data-layout="grid"] .tfe-card-caption,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] .tfe-card-caption,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] .tfe-card-caption{
    position:static!important;
    inset:auto!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    padding:10px 0 0!important;
    color:#111827!important;
    background:transparent!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:none!important;
    text-shadow:none!important;
  }

  body .tfe-instance[data-layout="grid"] .tfe-card-caption-title,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] .tfe-card-caption-title,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] .tfe-card-caption-title{
    order:1!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    margin:0 0 7px!important;
    color:#111827!important;
    font-size:clamp(15px, 4.1vw, 18px)!important;
    line-height:1.15!important;
    font-weight:900!important;
    letter-spacing:-.025em!important;
    text-shadow:none!important;
  }

  body .tfe-instance[data-layout="grid"] .tfe-card-caption-top,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] .tfe-card-caption-top,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] .tfe-card-caption-top{
    order:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:6px!important;
    margin:0 0 7px!important;
    min-width:0!important;
  }

  body .tfe-instance[data-layout="grid"] .tfe-card-caption-date,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] .tfe-card-caption-date,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] .tfe-card-caption-date{
    display:block!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#334155!important;
    font-size:13px!important;
    line-height:1.25!important;
    font-weight:650!important;
    white-space:normal!important;
    text-transform:none!important;
    letter-spacing:0!important;
  }

  body .tfe-instance[data-layout="grid"] .tfe-card-caption-promo,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] .tfe-card-caption-promo,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] .tfe-card-caption-promo{
    display:inline-flex!important;
    align-items:center!important;
    min-height:20px!important;
    padding:3px 7px!important;
    border-radius:999px!important;
    background:#eef2ff!important;
    color:#1d4ed8!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.02em!important;
  }

  body .tfe-instance[data-layout="grid"] .tfe-card-caption-meta,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] .tfe-card-caption-meta,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] .tfe-card-caption-meta{
    order:3!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    margin:0 0 8px!important;
    color:#4b5563!important;
    font-size:13px!important;
    line-height:1.35!important;
    font-weight:550!important;
    white-space:normal!important;
    text-shadow:none!important;
  }

  body .tfe-instance[data-layout="grid"] .tfe-card-caption-row,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] .tfe-card-caption-row,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] .tfe-card-caption-row{
    order:4!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:9px!important;
    margin:0!important;
    padding:0!important;
  }

  body .tfe-instance[data-layout="grid"] .tfe-card-caption-price,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] .tfe-card-caption-price,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] .tfe-card-caption-price{
    display:block!important;
    margin:0!important;
    color:#111827!important;
    font-size:13.5px!important;
    line-height:1.25!important;
    font-weight:800!important;
    white-space:normal!important;
    text-shadow:none!important;
  }

  body .tfe-instance[data-layout="grid"] .tfe-card-caption-cta,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] .tfe-card-caption-cta,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] .tfe-card-caption-cta{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:38px!important;
    padding:0 10px!important;
    border-radius:999px!important;
    background:#ffcc00!important;
    color:#111827!important;
    box-shadow:none!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:900!important;
    text-align:center!important;
    text-shadow:none!important;
    white-space:nowrap!important;
  }

  body .tfe-instance[data-layout="grid"] .tfe-overlay,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] .tfe-overlay,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] .tfe-overlay,
  body .tfe-instance[data-layout="grid"] .tfe-card-item::after,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] .tfe-card-item::after,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] .tfe-card-item::after{
    display:none!important;
    content:none!important;
  }

  body .tfe-instance[data-layout="grid"] .tfe-card-link,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] .tfe-card-link,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] .tfe-card-link{
    position:absolute!important;
    inset:0!important;
    z-index:20!important;
  }

  body .tfe-instance[data-layout="grid"] .tfe-card-item:hover,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] .tfe-card-item:hover,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] .tfe-card-item:hover,
  body .tfe-instance[data-layout="grid"] .tfe-card-item:hover .tfe-card-caption,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] .tfe-card-item:hover .tfe-card-caption,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] .tfe-card-item:hover .tfe-card-caption{
    transform:none!important;
    opacity:1!important;
  }

  body .tfe-load-more-wrap{
    padding:0!important;
    margin-top:26px!important;
  }
}

@media (max-width: 340px){
  body .tfe-instance[data-layout="grid"] > .tfe-grid,
  body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] > .tfe-grid,
  body .tfe-slider-lock .tfe-instance[data-layout="grid"] > .tfe-grid{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
}

/* =====================================================
   v10.0.9 — FORCE 2 COLUMNS ON PHONES
   Older emergency CSS had stronger selectors and still forced 1 column.
   These selectors match/exceed that specificity and are loaded last.
   ===================================================== */
@media (max-width: 767px){
  html body .tfe-page-wrapper .tfe-slider-lock .tfe-instance[data-layout="grid"] > .tfe-grid,
  html body .tfe-page-wrapper .tfe-slider-lock .tfe-instance[data-mobile-slider="1"][data-layout="grid"] > .tfe-grid,
  html body .tfe-events-page .tfe-instance[data-layout="grid"] > .tfe-grid,
  html body .tfe-events-page .tfe-instance[data-mobile-slider="1"][data-layout="grid"] > .tfe-grid,
  html body.home .tfe-slider-lock .tfe-instance[data-layout="grid"] > .tfe-grid,
  html body.home .tfe-slider-lock .tfe-instance[data-mobile-slider="1"][data-layout="grid"] > .tfe-grid,
  html body.page-template-page-home-dots .tfe-slider-lock .tfe-instance[data-layout="grid"] > .tfe-grid,
  html body.page-template-page-home-dots .tfe-slider-lock .tfe-instance[data-mobile-slider="1"][data-layout="grid"] > .tfe-grid,
  html body .tfe-instance[data-layout="grid"] > .tfe-grid,
  html body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] > .tfe-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:start!important;
    gap:22px 14px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
    transform:none!important;
    touch-action:auto!important;
  }

  html body .tfe-page-wrapper .tfe-slider-lock .tfe-instance[data-layout="grid"] > .tfe-grid > .tfe-card-item,
  html body .tfe-page-wrapper .tfe-slider-lock .tfe-instance[data-mobile-slider="1"][data-layout="grid"] > .tfe-grid > .tfe-card-item,
  html body .tfe-events-page .tfe-instance[data-layout="grid"] > .tfe-grid > .tfe-card-item,
  html body .tfe-events-page .tfe-instance[data-mobile-slider="1"][data-layout="grid"] > .tfe-grid > .tfe-card-item,
  html body.home .tfe-slider-lock .tfe-instance[data-layout="grid"] > .tfe-grid > .tfe-card-item,
  html body.home .tfe-slider-lock .tfe-instance[data-mobile-slider="1"][data-layout="grid"] > .tfe-grid > .tfe-card-item,
  html body.page-template-page-home-dots .tfe-slider-lock .tfe-instance[data-layout="grid"] > .tfe-grid > .tfe-card-item,
  html body.page-template-page-home-dots .tfe-slider-lock .tfe-instance[data-mobile-slider="1"][data-layout="grid"] > .tfe-grid > .tfe-card-item,
  html body .tfe-instance[data-layout="grid"] > .tfe-grid > .tfe-card-item,
  html body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] > .tfe-grid > .tfe-card-item{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:auto!important;
    flex:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
}

@media (max-width: 340px){
  html body .tfe-page-wrapper .tfe-slider-lock .tfe-instance[data-layout="grid"] > .tfe-grid,
  html body .tfe-events-page .tfe-instance[data-layout="grid"] > .tfe-grid,
  html body .tfe-instance[data-layout="grid"] > .tfe-grid,
  html body .tfe-instance[data-mobile-slider="1"][data-layout="grid"] > .tfe-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:20px 10px!important;
  }
}
