/* v5: deliberate one-column editorial home hero so photo mosaic never crushes search/copy. */
body.home-page .hero{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:28px!important;max-width:100%!important;padding:clamp(22px,3.5vw,48px)!important;align-items:stretch!important;overflow:visible!important}
body.home-page .hero .hero-copy{width:100%!important;min-width:0!important;max-width:none!important;display:block!important;align-self:stretch!important}
body.home-page .hero .hero-copy h1{font-size:clamp(34px,4.5vw,58px)!important;line-height:1.07!important;letter-spacing:-.03em!important;overflow-wrap:normal!important;max-width:none!important;text-wrap:balance!important;margin:12px 0 17px!important}
body.home-page .hero .hero-copy p{font-size:clamp(15px,1.2vw,18px)!important;line-height:1.48!important;max-width:74ch!important}
body.home-page .hero .hero-search{width:100%!important;max-width:680px!important;min-width:0!important;margin-top:21px!important}
body.home-page .hero .hero-panel{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:0!important;background:transparent!important;color:inherit!important;border:0!important;box-shadow:none!important;overflow:visible!important}
body.home-page .hero .hero-featured{min-width:0!important;max-width:100%!important;width:100%!important;height:auto!important}
body.home-page .hero .hero-featured-title{min-width:0!important;flex-wrap:wrap!important;gap:10px!important;margin:0 0 14px!important}
body.home-page .hero .hero-mosaic-v17{display:grid!important;grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(170px,205px))!important;min-height:0!important;height:auto!important;gap:12px!important;width:100%!important}
body.home-page .hero .hero-mosaic-v17 .hero-tile{display:block!important;min-width:0!important;height:auto!important;min-height:0!important;overflow:hidden!important;border-radius:14px!important;background:#27333c!important}
body.home-page .hero .hero-mosaic-v17 .hero-tile-main{grid-column:1!important;grid-row:1/span 2!important}
body.home-page .hero .hero-tile img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
body.home-page .hero .hero-tile-copy{z-index:2!important;max-width:100%!important}
body.home-page .hero .hero-tile-copy h2{font-size:clamp(14px,1.5vw,20px)!important;line-height:1.13!important;overflow-wrap:break-word!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;color:#fff!important}
body.home-page .hero .hero-tile-main .hero-tile-copy h2{font-size:clamp(23px,2.5vw,34px)!important;-webkit-line-clamp:3!important}
body.home-page .hero .hero-tile-copy span,body.home-page .hero .hero-tile-copy p,body.home-page .hero .hero-tile-copy b{color:#fff!important}
/* One-click: the hero cover overlay is never allowed to intercept ticket clicks. */
body.event-page .event-backdrop{pointer-events:none!important}
body.event-page .event-primary-actions{position:relative!important;z-index:9!important}
body.event-page .event-buy-primary{position:relative!important;z-index:10!important;cursor:pointer!important;pointer-events:auto!important;transition:transform .18s ease,box-shadow .18s ease!important}
body.event-page .event-buy-primary:hover{transform:translateY(-2px)!important;box-shadow:0 14px 28px rgba(32,44,52,.2)!important}
/* Country page: complete city index with normal, crawlable <a href> links. */
.bc-city-index{margin:38px 0 0;padding:clamp(19px,2.7vw,30px);background:#fff;border:1px solid #e3e7e6;border-radius:16px;scroll-margin-top:90px}
.bc-city-index-head{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-bottom:17px}
.bc-city-index-head h3{font-size:clamp(23px,2.4vw,32px);font-weight:700;letter-spacing:-.025em;margin:5px 0}
.bc-city-index-head p{margin:4px 0 0;color:#677276;font-size:14px;max-width:66ch}
.bc-city-index-filter{display:grid;gap:6px;color:#58676b;font-size:12px;font-weight:650;min-width:min(100%,260px)}
.bc-city-index-filter input{display:block;width:100%;font-size:15px;font-family:inherit;padding:11px 12px;border:1px solid #d6dddd;border-radius:8px;background:#fff;color:#25353a}
.bc-city-index-letters{display:flex;gap:7px;flex-wrap:wrap;margin:17px 0 22px;border-bottom:1px solid #ebeeee;padding-bottom:18px}
.bc-city-index-letters a{display:inline-flex;align-items:center;justify-content:center;min-width:33px;min-height:33px;padding:5px 7px;background:#f6f8f8;border-radius:6px;color:#3b5055;font-size:14px;text-decoration:none}
.bc-city-index-letters a:hover{background:#e9eeee;text-decoration:underline}
.bc-city-index-groups{display:grid;gap:21px}
.bc-city-index-group{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:10px;border-bottom:1px solid #f0f1f1;padding:0 0 20px;scroll-margin-top:84px}
.bc-city-index-group h4{font-size:20px;font-weight:750;color:#405155;line-height:1.4;margin:0}
.bc-city-index-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 15px}
.bc-city-index-links a{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:5px 0;color:#22383f;text-decoration:none;font-size:14px;line-height:1.3;min-width:0}
.bc-city-index-links a span{overflow-wrap:anywhere}
.bc-city-index-links a small{font-size:11px;color:#89959a;white-space:nowrap}
.bc-city-index-links a:hover{color:#876039;text-decoration:underline}
.bc-city-index-links a[hidden],.bc-city-index-group[hidden],.bc-city-index-letters[hidden]{display:none!important}
@media(max-width:950px){.bc-city-index-links{grid-template-columns:repeat(3,minmax(0,1fr))!important}body.home-page .hero .hero-mosaic-v17{grid-template-rows:repeat(2,minmax(130px,180px))!important}}
@media(max-width:680px){body.home-page .hero{padding:18px!important;gap:18px!important}body.home-page .hero .hero-mosaic-v17{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important;gap:8px!important}body.home-page .hero .hero-mosaic-v17 .hero-tile-main{grid-column:1/-1!important;grid-row:auto!important;min-height:255px!important}body.home-page .hero .hero-mosaic-v17 .hero-tile:not(.hero-tile-main){min-height:155px!important}body.home-page .hero .hero-copy h1{font-size:clamp(33px,8vw,45px)!important} .bc-city-index-group{grid-template-columns:29px minmax(0,1fr)}.bc-city-index-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}.bc-city-index{padding:17px 13px}}
@media(max-width:390px){.bc-city-index-links{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){body.event-page .event-buy-primary{transition:none!important}}
