/* BiletConcert v8 - final MOBILE-ONLY layer (2026-10-15).
   Isolated below 760px. Does not modify desktop typography or routing. */
@media (max-width:760px) {
  body.home-page .hero {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:22px!important;
    width:100%!important;
    min-width:0!important;
    margin:14px 0 34px!important;
    padding:22px 18px 20px!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  body.home-page .hero .hero-copy,
  body.home-page .hero .hero-panel,
  body.home-page .hero .hero-featured {
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
  }
  body.home-page .hero .hero-copy h1 {
    font-family:inherit!important;
    font-weight:790!important;
    font-size:clamp(33px,8.5vw,49px)!important;
    letter-spacing:-.035em!important;
    line-height:1.06!important;
    margin:10px 0 12px!important;
    max-width:100%!important;
    text-wrap:balance!important;
    overflow-wrap:break-word!important;
  }
  body.home-page .hero .hero-copy > p {
    font-size:14px!important;
    line-height:1.5!important;
    max-width:49ch!important;
    margin:0!important;
  }
  body.home-page .hero .hero-search {
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr)!important;
    gap:0!important;
    padding:6px!important;
    margin:17px 0 0!important;
    border-radius:12px!important;
    overflow:visible!important;
  }
  body.home-page .hero .hero-search .search-icon {
    grid-column:1!important;
    font-size:21px!important;
    padding:0 0 0 5px!important;
  }
  body.home-page .hero .hero-search input {
    grid-column:2!important;
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    font-size:16px!important;
    padding:8px 6px!important;
    box-shadow:none!important;
  }
  body.home-page .hero .hero-search button,
  body.home-page .hero .hero-search .btn {
    grid-column:1/-1!important;
    width:100%!important;
    min-height:45px!important;
    margin-top:4px!important;
    justify-content:center!important;
  }
  body.home-page .hero .hero-city-row {
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:8px 14px!important;
    margin:14px 0 0!important;
  }
  body.home-page .hero .hero-city-row>* {max-width:100%!important}
  body.home-page .hero .hero-facts {gap:6px!important;margin-top:13px!important}
  body.home-page .hero .hero-facts span {
    font-size:11px!important;
    line-height:1.4!important;
    padding:7px 9px!important;
    white-space:normal!important;
  }
  body.home-page .hero .hero-featured-title {
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:10px!important;
    flex-wrap:wrap!important;
    margin:0 0 12px!important;
  }
  body.home-page .hero .hero-featured-title > div {min-width:0!important;flex:1 1 160px!important}
  body.home-page .hero .hero-featured-title span {font-size:11px!important;line-height:1.35!important}
  body.home-page .hero .hero-featured-title small {display:block!important;font-size:11px!important;line-height:1.35!important;margin-top:3px!important}
  body.home-page .hero .hero-featured-title a {align-self:flex-start!important;font-size:11px!important;white-space:normal!important;text-align:right!important;line-height:1.5!important}
  /* Unified one-column stack: one featured cover, then real compact mini cards. */
  body.home-page .hero .hero-mosaic-v17 {
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:none!important;
    grid-auto-flow:row!important;
    grid-auto-rows:auto!important;
    align-items:stretch!important;
    gap:9px!important;
    overflow:visible!important;
  }
  body.home-page .hero .hero-mosaic-v17 .hero-tile-main {
    display:block!important;
    grid-column:auto!important;
    grid-row:auto!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    aspect-ratio:16 / 11!important;
    border-radius:13px!important;
    overflow:hidden!important;
    background:#263d47!important;
  }
  body.home-page .hero .hero-mosaic-v17 .hero-tile-main > img {
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  body.home-page .hero .hero-mosaic-v17 .hero-tile-main .hero-tile-shade {
    display:block!important;
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(180deg,rgba(5,14,18,0) 10%,rgba(5,14,18,.18) 38%,rgba(5,14,18,.92) 100%)!important;
  }
  body.home-page .hero .hero-mosaic-v17 .hero-tile-main .hero-tile-copy {
    position:absolute!important;
    display:block!important;
    inset:auto 0 0!important;
    padding:16px!important;
    z-index:2!important;
    background:none!important;
    min-width:0!important;
  }
  body.home-page .hero .hero-mosaic-v17 .hero-tile-main .hero-tile-copy h2 {
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
    font-family:inherit!important;
    font-size:clamp(22px,5.9vw,30px)!important;
    line-height:1.09!important;
    letter-spacing:-.03em!important;
    margin:5px 0!important;
    max-width:100%!important;
    color:#fff!important;
  }
  body.home-page .hero .hero-mosaic-v17 .hero-tile-main .hero-tile-copy p {
    display:block!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    color:#edf1f0!important;
    font-size:12px!important;
    margin:0 0 5px!important;
  }
  body.home-page .hero .hero-mosaic-v17 .hero-tile-main .hero-tile-copy b {color:#fff!important;font-size:15px!important}
  body.home-page .hero .hero-mosaic-v17 .hero-tile-main .hero-tile-copy > span {color:#e6e9e7!important;font-size:10px!important;line-height:1.4!important}
  /* Every small event uses image-left + content-right; no absolute copy over a 148px cover. */
  body.home-page .hero .hero-mosaic-v17 .hero-tile:not(.hero-tile-main) {
    display:grid!important;
    grid-template-columns:104px minmax(0,1fr)!important;
    grid-template-rows:minmax(116px,auto)!important;
    grid-column:auto!important;
    grid-row:auto!important;
    align-items:stretch!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-width:0!important;
    min-height:116px!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    margin:0!important;
    border:1px solid #e5e2dc!important;
    border-radius:12px!important;
    background:#fffdfa!important;
    overflow:hidden!important;
    box-shadow:none!important;
    color:#22343c!important;
  }
  body.home-page .hero .hero-mosaic-v17 .hero-tile:not(.hero-tile-main) > img,
  body.home-page .hero .hero-mosaic-v17 .hero-tile:not(.hero-tile-main) > .hero-tile-fallback {
    position:relative!important;
    display:block!important;
    inset:auto!important;
    grid-column:1!important;
    grid-row:1!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    width:100%!important;
    height:100%!important;
    min-height:116px!important;
    max-height:none!important;
    object-fit:cover!important;
    border-radius:0!important;
    transform:none!important;
  }
  body.home-page .hero .hero-mosaic-v17 .hero-tile:not(.hero-tile-main) > .hero-tile-fallback:before {
    font-size:34px!important;right:19%!important;top:37%!important;
  }
  body.home-page .hero .hero-mosaic-v17 .hero-tile:not(.hero-tile-main) > .hero-tile-shade {display:none!important}
  body.home-page .hero .hero-mosaic-v17 .hero-tile:not(.hero-tile-main) .hero-tile-copy {
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    inset:auto!important;
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    height:auto!important;
    min-width:0!important;
    max-width:100%!important;
    padding:11px 12px!important;
    background:transparent!important;
    z-index:2!important;
  }
  body.home-page .hero .hero-mosaic-v17 .hero-tile:not(.hero-tile-main) .hero-tile-copy > span {
    display:block!important;
    width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:10px!important;
    font-weight:750!important;
    letter-spacing:.01em!important;
    line-height:1.4!important;
    color:#88683f!important;
  }
  body.home-page .hero .hero-mosaic-v17 .hero-tile:not(.hero-tile-main) .hero-tile-copy h2 {
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    color:#24343b!important;
    font-family:inherit!important;
    font-weight:760!important;
    font-size:14px!important;
    line-height:1.23!important;
    letter-spacing:-.015em!important;
    margin:5px 0!important;
    overflow-wrap:anywhere!important;
    max-width:100%!important;
  }
  body.home-page .hero .hero-mosaic-v17 .hero-tile:not(.hero-tile-main) .hero-tile-copy p {
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    color:#6e7b80!important;
    font-size:11px!important;
    margin:1px 0 6px!important;
    line-height:1.3!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.home-page .hero .hero-mosaic-v17 .hero-tile:not(.hero-tile-main) .hero-tile-copy b {
    display:block!important;
    color:#20353e!important;
    font-size:13px!important;
    font-weight:800!important;
    margin-top:auto!important;
    padding-top:3px!important;
    line-height:1.35!important;
  }
  /* One consistent sans-serif headline hierarchy on the mobile home page. */
  body.home-page .section-title h2 {
    font-family:inherit!important;
    font-size:clamp(24px,6.3vw,30px)!important;
    line-height:1.12!important;
    letter-spacing:-.03em!important;
  }
  /* Standard listing cards: compact and balanced on phones, no huge image stacks. */
  body:not(.admin-body) .cards {min-width:0!important}
}
/* Two compact event columns on medium-size tablets; desktop remains unchanged. */
@media (min-width:581px) and (max-width:760px) {
  body.home-page .hero .hero-mosaic-v17 {grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.home-page .hero .hero-mosaic-v17 .hero-tile-main {grid-column:1/-1!important}
}
@media (max-width:540px) {
  body:not(.admin-body) .cards {grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  body:not(.admin-body) .cards > a.card {
    display:grid!important;
    grid-template-columns:112px minmax(0,1fr)!important;
    grid-template-rows:minmax(128px,auto)!important;
    height:auto!important;
    min-width:0!important;
    min-height:128px!important;
    overflow:hidden!important;
    border-radius:12px!important;
    align-items:stretch!important;
    contain:none!important;
  }
  body:not(.admin-body) .cards > a.card > .pic {
    grid-column:1!important;grid-row:1!important;
    position:relative!important;
    height:100%!important;width:100%!important;
    min-height:128px!important;
    aspect-ratio:auto!important;
  }
  body:not(.admin-body) .cards > a.card > .pic img,
  body:not(.admin-body) .cards > a.card > .pic .ph {
    position:absolute!important;inset:0!important;
    width:100%!important;height:100%!important;
    object-fit:cover!important;
  }
  body:not(.admin-body) .cards > a.card > .pic .ph span {font-size:26px!important}
  body:not(.admin-body) .cards > a.card .card-category {
    left:5px!important;right:5px!important;top:6px!important;
    max-width:calc(100% - 10px)!important;
    padding:4px 5px!important;
    font-size:9px!important;
    line-height:1.15!important;
  }
  body:not(.admin-body) .cards > a.card > .card-body {
    grid-column:2!important;grid-row:1!important;
    display:flex!important;flex-direction:column!important;
    min-width:0!important;width:100%!important;
    padding:10px 11px!important;
  }
  body:not(.admin-body) .cards > a.card .date {font-size:10px!important;line-height:1.3!important;letter-spacing:0!important}
  body:not(.admin-body) .cards > a.card h3 {
    display:-webkit-box!important;-webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;overflow:hidden!important;
    font-size:14px!important;line-height:1.25!important;
    min-height:0!important;margin:5px 0!important;
    font-weight:750!important;overflow-wrap:anywhere!important;
  }
  body:not(.admin-body) .cards > a.card .place {
    font-size:11px!important;min-height:0!important;line-height:1.35!important;
    max-width:100%!important;overflow:hidden!important;
    white-space:nowrap!important;text-overflow:ellipsis!important;
    margin:2px 0 0!important;
  }
  body:not(.admin-body) .cards > a.card .card-bottom {
    display:flex!important;align-items:center!important;
    margin-top:auto!important;padding-top:5px!important;
    gap:6px!important;
    min-height:25px!important;
  }
  body:not(.admin-body) .cards > a.card .price {font-size:13px!important;line-height:1.2!important}
  body:not(.admin-body) .cards > a.card .card-arrow {
    width:26px!important;height:26px!important;min-width:26px!important;
    border-radius:8px!important;
  }
}
@media (max-width:380px) {
  body.home-page .hero {padding:18px 13px!important}
  body.home-page .hero .hero-copy h1 {font-size:32px!important}
  body.home-page .hero .hero-mosaic-v17 .hero-tile:not(.hero-tile-main) {grid-template-columns:89px minmax(0,1fr)!important}
  body.home-page .hero .hero-mosaic-v17 .hero-tile:not(.hero-tile-main) .hero-tile-copy {padding:9px 10px!important}
  body.home-page .hero .hero-mosaic-v17 .hero-tile:not(.hero-tile-main) .hero-tile-copy h2 {font-size:13px!important}
  body:not(.admin-body) .cards > a.card {grid-template-columns:100px minmax(0,1fr)!important}
}
@media (prefers-reduced-motion:reduce) {
  body.home-page .hero .hero-tile,
  body.home-page .hero .hero-tile img,
  body:not(.admin-body) .cards a.card,
  body:not(.admin-body) .cards .pic img {animation:none!important;transition:none!important;transform:none!important}
}
