/* Compact vintage admission tickets. */
.nav .navlinks{max-width:860px;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(48px,auto);gap:10px 12px}
.nav .navlinks a,.nav .navlinks a.catalog-nav{position:relative;min-height:48px;padding:9px 17px;font-size:.84rem;line-height:1.15;border:1px solid #192e26;border-radius:3px;box-shadow:3px 3px 0 #192e26;transform:none;letter-spacing:.025em;transition:transform .16s ease,box-shadow .16s ease}
.nav .navlinks a:before{content:"";position:absolute;inset:4px;border:1px dashed currentColor;border-radius:1px;opacity:.32;pointer-events:none}
.nav .navlinks a:after{content:"✦";position:absolute;right:7px;top:50%;transform:translateY(-50%);font-size:8px;opacity:.65;pointer-events:none}
.nav .navlinks a.gestoria-nav{gap:2px}.nav .navlinks a.gestoria-nav small{font-size:.57rem;line-height:1.1}
.nav .navlinks a:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 #192e26}
.nav .navlinks a:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #192e26}
.nav .navlinks a:focus-visible{outline:3px solid #8d2735;outline-offset:5px}
.nav .catalog-new{top:-12px;right:9px;font-size:13px;padding:4px 8px;border-width:2px;box-shadow:2px 2px 0 #193b30}
@media(max-width:680px){.nav .navlinks{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);grid-auto-rows:minmax(46px,auto);gap:9px 11px}.nav .navlinks a,.nav .navlinks a.catalog-nav{min-height:46px;padding:8px 15px;font-size:.8rem}.nav .navlinks a.gestoria-nav small{font-size:.54rem}}
@media(prefers-reduced-motion:reduce){.nav .navlinks a{transition:none}}

/* Prevent legacy underline animation from overlapping the ticket label. */
.nav .navlinks a::after,.nav .navlinks a:hover::after,.nav .navlinks a:focus-visible::after{left:auto;right:7px;top:50%;bottom:auto;width:auto;height:auto;background:transparent;transition:none;transform:translateY(-50%);line-height:1}

.nav .navlinks a.magazine-nav {
  flex-direction:column;
  gap:2px;
  padding-block:5px;
}
.nav .navlinks .magazine-release {
  display:inline-block;
  padding:2px 6px;
  border-radius:3px;
  background:#832c39;
  color:#fff4dc;
  font:700 11px/1.1 'League Spartan',sans-serif;
  letter-spacing:.025em;
  white-space:nowrap;
  text-transform:none;
}
@media(prefers-reduced-motion:no-preference) {
  .nav .navlinks .magazine-release {
    animation:magazine-release-pulse 1.8s ease-in-out 2;
  }
  @keyframes magazine-release-pulse {
    0%,100% {transform:scale(1)}
    50% {transform:translateY(-1px) scale(1.07)}
  }
}
