/* Accessibility and readability layer on top of the original theme (app.css). */

/* Skip link: hidden until focused from the keyboard */
.skip-link {
  position: absolute;
  left: 1rem;
  top: -100px;
  z-index: 100;
  padding: .75rem 1.25rem;
  background: #190E40;
  color: #fff;
  font-family: Jost, sans-serif;
  font-size: 1rem;
}
.skip-link:focus { top: 1rem; }

.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}

/* Visible keyboard focus everywhere */
:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
#main:focus { outline: none; }

/* Closed menu was only moved off-screen, so keyboard users tabbed through invisible links */
.main-menu {
  visibility: hidden;
  transition: opacity .5s, visibility 0s linear .5s;
}
.menu-open .main-menu {
  visibility: visible;
  transition: opacity .5s;
}

/* Cinzel has capitals only — fine for headings, hard to read in paragraphs */
main p,
main li {
  font-family: Jost, sans-serif;
  font-weight: 400;
  letter-spacing: normal;
}
main p em { font-style: italic; }
main .text-sm.font-sans,
main .text-sm.text-black { font-weight: 400; }

/* Long URLs and words must not push the page wider than a phone screen */
main p,
main a { overflow-wrap: break-word; }

/* Headings demoted from h4 to h3 for a correct outline keep their old look */
main h3.h4-look {
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 600;
  letter-spacing: normal;
  margin-bottom: 0;
  margin-top: 1.5rem;
}

/* Ticket links (were raw evenea.pl URLs) */
.tickets { margin-top: 1.5rem; }
.ticket-button {
  display: inline-block;
  padding: .7rem 1.4rem;
  background: #A65B44;
  color: #fff !important;
  font-family: Jost, sans-serif;
  font-weight: 500;
  letter-spacing: .04em;
  text-decoration: none !important;
  border-radius: 2px;
}
.ticket-button:hover { background: #8a4a37; }

/* 2026 artists gallery on /galeria/ */
.artists-intro {
  position: relative;
  margin-bottom: 2rem;
}
.artists-grid {
  position: relative;
  columns: 3 260px;
  column-gap: 2rem;
  margin-bottom: 3rem;
}
.artists-grid figure {
  margin: 0 0 2rem;
  break-inside: avoid;
}
.artists-grid img {
  width: 100%;
  height: auto;
}
.artists-grid figcaption {
  margin-top: .6rem;
  font-family: Jost, sans-serif;
  font-size: 1rem;
  line-height: 1.4;
}
.artists-grid figcaption small {
  display: block;
  font-size: .85rem;
  opacity: .8;
}

/* 404 */
.notfound-links { margin-top: 2rem; }
.notfound-links li { list-style: none; margin: .5rem 0; }
.notfound-links a { text-decoration: underline; }

/* address under each concert heading on /program-2026/ */
.venue-address {
  margin-top: .25rem !important;
  font-family: Jost, sans-serif;
  font-size: 1rem;
  opacity: .85;
}

/* concert photos on /galeria/ */
.gallery-heading {
  position: relative;
  font-size: 1.5rem;
  line-height: 1.3;
  margin: 0 0 1.5rem;
}
.concert-photos { position: relative; margin-bottom: 4rem; }
.photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
  gap: .75rem;
}
.photo-grid img {
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

/* photographer's credit under a gallery whose heading is the page title */
.gallery-credit {
  position: relative;
  margin: -0.5rem 0 1.5rem;
  font-family: Jost, sans-serif;
  font-size: .9rem;
  color: #4b5563;
}
/* the photographer's name under a concert photo on the programme page */
.wp-block-image figcaption {
  margin-top: .5rem;
  font-family: Jost, sans-serif;
  font-size: .9rem;
  color: #4b5563;
}
