/* EPN-014 | epn-artists.css | Billedbeskæring fra kunstnersiden, ensartede kort og læsbarhed. */
/* Kunstnersidens godkendte beskæring genbruges uden ændring af originalbillederne. */
.artist-photo--image { padding: 0; overflow: hidden; background: #e8edf5; display: block; }
.artist-photo--image img { display: block; width: 100%; height: 300px; object-fit: cover; object-position: center 30%; }
.artist-photo--image.large img { height: 300px; }
.artist-photo--image img[src$="matilde-zeuner-2026.png"] { object-position: center 28%; }
.artist-photo--image img[src$="kim-sjoegren-2026.jpg"] { object-position: center 28%; }
.artist-photo--image img[src$="mathias-madsen-munch-2026.jpg"] { object-position: center 34%; }

/* Ens højder og læs mere nederst; ingen ændring i billedernes faktiske pixels. */
.artists-section .artist-grid { align-items: stretch; }
.artists-section .artist-card { display: flex; flex-direction: column; min-width: 0; }
.artists-section .artist-photo--image { flex: 0 0 auto; min-height: 0; }
.artists-section .artist-body { display: flex; flex-direction: column; flex: 1; gap: 10px; padding: 22px; }
.artists-section .artist-body h3, .artists-section .artist-body p { margin: 0; }
.artists-section .artist-body p { font-size: 16px; line-height: 1.65; }
.artists-section .artist-body a { margin-top: auto; padding-top: 10px; font-size: 16px; }

/* Den lange overskrift må ikke arve en for snæver linjehøjde. */
.impact-section .impact-grid > div:first-child { min-width: 0; }
.impact-section h2 { font-size: clamp(29px, 3vw, 42px); line-height: 1.18; letter-spacing: -0.025em; overflow-wrap: normal; margin: 10px 0 18px; }
.impact-section .lead-small { font-size: 17px; line-height: 1.7; }
.practical-section .info-card p { font-size: 16px; line-height: 1.65; }
.cta-section button.btn { cursor: pointer; font: inherit; font-weight: 800; }
@media (max-width: 800px) {
  .artists-section .artist-photo--image img { height: 300px; }
  .impact-section h2 { font-size: clamp(28px, 5vw, 36px); line-height: 1.22; }
}


/* EPN-016 | Vandrette kunstnerkort på desktop. Originale portrætter ændres ikke. */
@media (min-width: 1100px) {
  .artists-section .container { max-width: 1320px; }
  .artists-section .artist-grid { gap: 18px; }
  .artists-section .artist-card {
    display: grid;
    grid-template-columns: minmax(0, 43%) minmax(0, 57%);
    min-width: 0;
    align-items: stretch;
  }
  .artists-section .artist-photo--image { height: 100%; min-height: 260px; }
  .artists-section .artist-photo--image img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; }
  .artists-section .artist-body { padding: 18px 16px; gap: 8px; }
  .artists-section .artist-body h3 { font-size: 18px; line-height: 1.3; }
  .artists-section .artist-body p { font-size: 14px; line-height: 1.5; }
  .artists-section .artist-body a { font-size: 14px; padding-top: 6px; }
}
/* På tablet og mobil beholdes det gennemprøvede lodrette kortlayout. */
@media (min-width: 700px) and (max-width: 1099px) {
  .artists-section .artist-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 699px) {
  .artists-section .artist-grid { grid-template-columns: minmax(0, 1fr); }
  .artists-section .artist-photo--image img { height: 300px; }
}

/* EPN-017 | Gør hele kortet klikbart via det eksisterende Læs mere-link.
   Bevarer semantisk artikelstruktur og tastaturadgang uden JavaScript. */
.artists-section .artist-card { position: relative; cursor: pointer; }
.artists-section .artist-card-link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.artists-section .artist-card:hover { box-shadow: 0 12px 30px rgba(20, 48, 91, .14); }
.artists-section .artist-card:focus-within { outline: 3px solid #235fa3; outline-offset: 3px; }
.artists-section .artist-card-link:focus-visible { outline: none; }
@media (prefers-reduced-motion: reduce) { .artists-section .artist-card { transition: none; } }


/* EPN-018 | Kunstnerne er koncertens vigtigste salgsargument.
   Originale portrætfiler er uændrede. Billedpositionerne fra EPN-017 bevares. */
.epn-hero-artists {
  margin: 14px 0 12px;
  color: #153c76;
  font-weight: 800;
  font-size: clamp(20px, 2.1vw, 28px);
  line-height: 1.35;
}
.artists-section .artist-grid { gap: 22px; }
.artists-section .artist-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.artists-section .artist-photo--image { height: auto; min-height: 0; }
.artists-section .artist-photo--image img {
  width: 100%;
  height: 340px;
  min-height: 0;
  object-fit: cover;
}
.artists-section .artist-body { padding: 20px 22px 24px; gap: 10px; }
.artists-section .artist-body h3 { font-size: 22px; line-height: 1.3; }
.artists-section .artist-body p { font-size: 16px; line-height: 1.6; }
.artists-section .artist-body a { font-size: 16px; }
.epn-mobile-tickets { display: none; }
@media (min-width: 1100px) {
  .artists-section .artist-card { display: flex; flex-direction: column; }
  .artists-section .artist-photo--image { height: auto; min-height: 0; }
  .artists-section .artist-photo--image img { height: 350px; min-height: 0; }
  .artists-section .artist-body { padding: 20px 22px 24px; gap: 10px; }
  .artists-section .artist-body h3 { font-size: 22px; }
  .artists-section .artist-body p, .artists-section .artist-body a { font-size: 16px; }
}
@media (max-width: 699px) {
  /* Mobil: Billetpriser efter kunstnerportrætterne, men købsknap i hero bevares. */
  .hero .hero-card { display: none; }
  .artists-section .artist-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .artists-section .artist-photo--image img { height: 350px; }
  .artists-section .artist-body { padding: 20px 22px 24px; }
  .artists-section .artist-body h3 { font-size: 23px; }
  .epn-mobile-tickets { display: block; padding: 8px 0 40px; }
  .epn-mobile-tickets-inner { background: #f2f6fc; border: 1px solid #d9e4f3; border-radius: 18px; padding: 24px; }
  .epn-mobile-tickets h2 { margin: 4px 0 12px; color: #123769; font-size: 28px; }
  .epn-mobile-tickets p { line-height: 1.6; }
  .epn-mobile-tickets .btn { margin-top: 10px; }
  .epn-mobile-tickets .microcopy { font-size: 13px; margin-bottom: 0; }
  .epn-hero-artists { font-size: 22px; }
}
