body.page-tematicke-vecery {
  scroll-behavior: smooth;
}

.hero-thematicke {
  position: relative;
}

.hero-inner-thematicke {
  align-items: stretch;
}

.hero-media-frame {
  box-shadow: var(--shadow-md);
}

.hero-image {
  object-position: center;
}

.hero-card-thematicke {
  right: 6%;
  bottom: 6%;
}

.page-tematicke-vecery .section-tematicke-prehled {
  position: relative;
}

.page-tematicke-vecery .section-tematicke-prehled::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top left, rgba(255, 180, 120, 0.18), transparent 55%);
  opacity: 0.9;
  pointer-events: none;
}

.page-tematicke-vecery .section-tematicke-prehled > .container {
  position: relative;
  z-index: 1;
}

.tematicke-grid {
  align-items: stretch;
}

.tematicky-typ-card {
  transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base), background var(--transition-base);
}

.tematicky-typ-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}

.tematicky-typ-media .media-frame {
  border-radius: var(--radius-card) var(--radius-card) 0 0;
}

.tematicky-typ-media img {
  transform: scale(1.02);
  transition: transform var(--transition-slow), filter var(--transition-slow);
}

.tematicky-typ-card:hover .tematicky-typ-media img {
  transform: scale(1.05);
  filter: saturate(1.08);
}

.tematicky-typ-card-outline {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(249, 244, 235, 0.98));
}

.section-rezervace-tematicke {
  position: relative;
}

.section-rezervace-tematicke::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at bottom right, rgba(255, 180, 120, 0.15), transparent 55%);
  pointer-events: none;
}

.section-rezervace-tematicke > .container {
  position: relative;
  z-index: 1;
}

.reservation-highlight-tematicke {
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.form-tematicky-zajem .form-group:last-of-type {
  margin-bottom: var(--space-5);
}

.section-info-tematicke .info-bar {
  box-shadow: var(--shadow-sm);
}

.page-tematicke-vecery .btn,
.page-tematicke-vecery .btn-secondary,
.page-tematicke-vecery .btn-outline,
.page-tematicke-vecery .btn-light {
  transition: background var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);
}

.page-tematicke-vecery .btn:hover,
.page-tematicke-vecery .btn-secondary:hover,
.page-tematicke-vecery .btn-outline:hover,
.page-tematicke-vecery .btn-light:hover {
  transform: translateY(-1px);
}

.page-tematicke-vecery .btn:active,
.page-tematicke-vecery .btn-secondary:active,
.page-tematicke-vecery .btn-outline:active,
.page-tematicke-vecery .btn-light:active {
  transform: translateY(0);
}

.page-tematicke-vecery .fade-in,
.page-tematicke-vecery .fade-in-delayed {
  will-change: transform, opacity;
}

@media (max-width: 1023.98px) {
  .hero-card-thematicke {
    right: 4%;
    bottom: 4%;
  }
}

@media (max-width: 767.98px) {
  .hero-card-thematicke {
    position: relative;
    right: auto;
    bottom: auto;
    margin-top: var(--space-4);
  }

  .reservation-highlight-tematicke {
    padding: var(--space-4);
  }
}

@media (max-width: 479.98px) {
  .reservation-highlight-tematicke {
    padding: var(--space-4);
    border-radius: var(--radius-lg);
  }

  .tematicky-typ-card {
    padding: var(--space-4);
  }
}
