/* Svadobný prehľad: samostatné štýly, spoločné farby a font zo styles.css. */
.weddings-index-page .weddings-intro {
  max-width: 980px;
  padding-block: 44px 36px;
}

.weddings-index-page .weddings-intro h1 {
  margin-bottom: 16px;
  font-size: clamp(2.25rem, 4.2vw, 3.5rem);
  line-height: 1.15;
  letter-spacing: -.035em;
}

.weddings-index-page .weddings-intro h2 {
  margin-bottom: 20px;
  font-size: clamp(1.35rem, 2.25vw, 1.85rem);
  line-height: 1.3;
}

.weddings-index-page .weddings-intro p {
  font-size: 1rem;
  line-height: 1.75;
}

.weddings-index-page .weddings-intro p + p { margin-top: 14px; }
.weddings-index-page .weddings-intro .weddings-intro-note { color: var(--ink); font-weight: 600; }

.weddings-index-page .wedding-galleries { padding-bottom: 76px; }
.weddings-index-page .gallery-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 40px 24px;
}

.weddings-index-page .gallery-card { min-width: 0; }
.weddings-index-page .wedding-gallery-link {
  display: block;
  height: 100%;
  color: var(--ink);
  text-decoration: none;
}

.weddings-index-page .gallery-image {
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: var(--linen);
}

.weddings-index-page .gallery-image picture { display: block; width: 100%; height: 100%; }
.weddings-index-page .gallery-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 325ms ease;
}

.weddings-index-page .gallery-caption { padding-top: 17px; }
.weddings-index-page .gallery-caption h2 {
  font-size: 1.35rem;
  line-height: 1.3;
  letter-spacing: -.025em;
  transition: color 160ms ease;
}

.weddings-index-page .wedding-gallery-location {
  margin-block: 5px 10px;
  color: var(--accent-dark);
  font-size: .9rem;
  line-height: 1.5;
}

.weddings-index-page .wedding-gallery-description {
  color: var(--body);
  font-size: .95rem;
  line-height: 1.7;
}

.weddings-index-page .wedding-gallery-link:focus-visible { outline-offset: 6px; }
.weddings-index-page .wedding-gallery-link:focus-visible h2 { color: var(--accent-dark); }

@media (min-width: 700px) {
  .weddings-index-page .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1101px) {
  /* Širšie iba fotografické karty; úvod a spoločná .container zostávajú pôvodné. */
  .weddings-index-page .wedding-galleries.container {
    width: min(1700px, calc(100% - 64px));
  }

  .weddings-index-page .gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 699px) {
  .weddings-index-page .weddings-intro { padding-block: 28px 30px; }
  .weddings-index-page .weddings-intro h1 { font-size: clamp(2rem, 8.4vw, 2.6rem); }
  .weddings-index-page .weddings-intro h2 { font-size: 1.35rem; }
  .weddings-index-page .wedding-galleries { padding-bottom: 48px; }
  .weddings-index-page .gallery-grid { row-gap: 34px; }
}

@media (hover: hover) and (pointer: fine) {
  .weddings-index-page .wedding-gallery-link:hover .gallery-image img { transform: scale(1.025); }
  .weddings-index-page .wedding-gallery-link:hover h2 { color: var(--accent-dark); }
}

@media (prefers-reduced-motion: reduce) {
  .weddings-index-page .gallery-image img { transition: none; transform: none !important; }
  .weddings-index-page .gallery-caption h2 { transition: none; }
}

@media (forced-colors: active) {
  .weddings-index-page .wedding-gallery-location { color: LinkText; }
  .weddings-index-page .wedding-gallery-link:focus-visible h2 { color: LinkText; }
}
