/* One native primary link per row; secondary destinations remain independent. */
.navigation-row { position:relative;isolation:isolate; }
.navigation-row:has(.row-primary) { cursor:pointer; }
.navigation-row .row-primary,
.gig-result.navigation-row .event-copy h3 .row-primary { position:static;z-index:auto; }
.navigation-row .row-primary::after { content:"";position:absolute;inset:0;z-index:1;border-radius:var(--gg-radius); }
.navigation-row .row-primary:focus-visible { outline:none; }
.navigation-row .row-primary:focus-visible::after { outline:2px solid var(--gg-link,#8dafc1);outline-offset:2px; }
.navigation-row .row-primary:active::after { background:rgb(255 255 255 / .04); }
.navigation-row a:not(.row-primary),
.navigation-row button { position:relative;z-index:2;cursor:pointer; }
/* Details is a visual cue for the same primary link, not another keyboard stop. */
.gig-result.navigation-row>.row-details { pointer-events:none; }
.gig-result.navigation-row>.row-details::after { content:none; }
@media(hover:hover) and (pointer:fine) {
 .tour-dates .navigation-row:has(.row-primary):hover { background:var(--gg-surface-2,var(--gg-surface-2)); }
}

.tour-dates .navigation-row>td:first-child { position:static; }
.tour-dates .navigation-row .row-primary { display:inline-flex;flex-direction:column;justify-content:center;min-height:44px; }
.weekend-card { padding:0; }
.weekend-card>a { padding:16px;min-height:100%;border-radius:inherit; }
.weekend-card>a:focus-visible { outline:2px solid var(--gg-link,#8dafc1);outline-offset:2px; }
.experience-card { padding:0; }
.experience-card-link { display:block;height:100%;padding:18px;border-radius:inherit;color:inherit;text-decoration:none; }
@media(hover:hover) and (pointer:fine) {
 .experience-card-link:hover { background:var(--gg-surface-2,var(--gg-surface-2)); }
}

.experience-card-link:focus-visible { outline:2px solid var(--gg-link,#8dafc1);outline-offset:2px; }
.experience-details { color:var(--gg-link,#8dafc1);text-decoration:underline; }
.place-link-list li>a { display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:44px; }
.experience-cities li { padding:0; }
.experience-cities li>a { display:flex;flex:1;flex-wrap:wrap;align-items:center;gap:8px 16px;min-height:44px;padding:12px 0; }
@media(max-width:999px) {
 .navigation-row a:not(.row-primary) { display:inline-flex;align-items:center;min-height:44px;min-width:44px; }
 .tour-dates .ticket-button,.tour-dates .tour-details { min-height:44px; }
}
@media(max-width:640px) {
 /* The first label belongs to the row containing the stretched link. Other
    labels retain their own cell positioning in the existing stacked table. */
 .tour-dates .navigation-row>td:first-child::before { top:14px; }
}

/* N16: Safari (Mac and iPad) doesn't use a table row as the frame for a
   stretched link, so the row-wide link spread over the whole page. On real
   tables (760px and up) the row-wide link is off. The date, city, venue and
   ticket links still work. Phones keep the whole-row tap: rows are cards there. */
@media (min-width: 760px) {
  .tour-dates .navigation-row .row-primary::after {
    content: none;
  }

  .tour-dates .navigation-row:has(.row-primary) {
    cursor: auto;
  }
}
