
/* ===== #vstupenky – scoped styly ===== */
#vstupenky {
  --accent: #b40024;
  --light: #f8f6f5;
  --dark: #2d2d2d;
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
}
#vstupenky, #vstupenky * { box-sizing: border-box; }

#vstupenky section { padding: 2.5rem 1rem; }

#vstupenky h1 {
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: .05em;
  color: var(--accent);
  text-align: center;
  font-size: clamp(2rem,5vw,2.6rem);
  margin-bottom: .8rem;
}

#vstupenky .intro p {
  max-width: 680px;
  margin: 0 auto 1.7rem;
  text-align: center;
  color: var(--dark);
}

/* --- karty --- */
#vstupenky .events {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

#vstupenky .card {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  background: var(--light);
  border-radius: .9rem;
  padding: 1.1rem 1.5rem;
  box-shadow: 0 3px 8px rgba(0,0,0,.08);
  opacity: 0;
  transform: translateY(40px);
  transition: transform .3s ease, box-shadow .3s ease;
}
#vstupenky .card.visible { opacity: 1; transform: none; }
#vstupenky .card:hover   { transform: translateY(-5px); box-shadow: 0 7px 18px rgba(0,0,0,.12); }

#vstupenky .icon {
  font-size: 1.8rem;
  line-height: 1;
  margin-top: 0.15rem;
  color: var(--accent);
  flex-shrink: 0;
}

#vstupenky .text h2 {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 .25rem;
  color: var(--dark);
}
#vstupenky .loc { font-size: 14px; opacity: .75; }

/* upozornění */
#vstupenky .note {
  margin-top: 2rem;
  text-align: center;
  font-size: .95rem;
}

/* responsivita */
@media (max-width: 600px) {
  #vstupenky .card          { flex-direction: column; }
  #vstupenky .icon          { margin-top: 0; }
  #vstupenky .text h2       { font-size: .95rem; }
}
