/* Performance, accessibility and responsive refinements. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.gallery-section,
.cardsSwiper {
  max-width: 100%;
  overflow: hidden;
}

img[src$="logo.webp"] {
  width: auto;
  height: auto;
  max-width: 122px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

#gdpr {
  min-width: 20px;
  min-height: 20px;
}

label[for="gdpr"] {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

@media (max-width: 600px) {
  .cookie-banner {
    padding: 12px 16px !important;
    gap: 10px !important;
  }

  .cookie-banner p,
  .cookie-banner .cookie-text {
    font-size: 12px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
  }

  .cookie-banner button,
  #accept-cookies {
    min-height: 44px;
  }

  .hero,
  .hero-section {
    min-height: auto;
  }
}

.seo-answer-section,
.faq-section {
  padding: clamp(64px, 8vw, 100px) 0;
  background: var(--bg-black);
}

.seo-answer-card {
  max-width: 900px;
  margin: 0 auto;
  padding: clamp(24px, 4vw, 44px);
  border: 1px solid var(--bg-card-border);
  border-radius: 18px;
  background: var(--bg-card);
}

.seo-answer-card p,
.faq-item p {
  color: var(--text-muted);
  line-height: 1.65;
}

.seo-answer-card .seo-meta,
.faq-updated {
  margin-top: 20px;
  font-size: 0.82rem;
  color: var(--text-muted);
}

.faq-list {
  max-width: 900px;
  margin: 36px auto 0;
  display: grid;
  gap: 12px;
}

.faq-item {
  padding: 0 24px;
  border: 1px solid var(--bg-card-border);
  border-radius: 14px;
  background: var(--bg-card);
}

.faq-item summary {
  min-height: 64px;
  display: flex;
  align-items: center;
  cursor: pointer;
  color: var(--text-white);
  font-weight: 600;
}

.faq-item[open] {
  border-color: rgba(255, 218, 98, 0.35);
}

.faq-item p {
  margin: 0 0 22px;
}
