/* Korekta istniejącej strony — Boska/Satoshi i dotychczasowa paleta bez zmian. */
:root,
[data-theme="light"] {
  --text-nav: calc(var(--text-sm) + 0.125rem);
  --text-footer-nav: calc(var(--text-xs) + 0.125rem);
  --text-mobile-nav: var(--text-nav);
  --page-artwork-opacity: 0.32;
  --header-brand-width: 15rem;
}
[data-theme="dark"] {
  --page-artwork-opacity: 0.28;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --page-artwork-opacity: 0.28;
  }
}
.site-header .brand-artwork {
  width: var(--header-brand-width);
}
.nav a,
.footer-nav a {
  font-family: var(--font-body);
  font-weight: 400;
}
.nav a {
  font-size: var(--text-nav);
}
.footer-nav a {
  font-size: var(--text-footer-nav);
}
.menu-toggle svg {
  width: 22px;
  height: 22px;
}
[data-lightbox-close] svg {
  width: 16px;
  height: 16px;
}
/* Zmniejszamy tylko symbol — aktywny przycisk nadal ma co najmniej 44 x 44 px. */
[data-lightbox-close] {
  min-width: 44px;
  min-height: 44px;
}
.contact-form {
  padding: var(--space-6);
}
.contact-form .form-row {
  gap: var(--space-4);
}
.contact-form .field {
  gap: var(--space-1);
  margin-bottom: var(--space-3);
}
.contact-form .field input,
.contact-form .field textarea {
  padding: var(--space-2) var(--space-3);
  min-height: 44px;
  font-size: max(1rem, var(--text-sm));
}
.contact-form .field textarea {
  min-height: 112px;
  line-height: 1.5;
}
.contact-form .form-notice {
  margin-bottom: var(--space-3);
}
.contact-form .captcha-panel {
  padding: var(--space-3);
  margin-bottom: var(--space-3);
}
.contact-form .captcha-status {
  margin-top: var(--space-2);
}
.contact-form .captcha-panel[data-version="v3"] [data-recaptcha-widget] {
  display: none;
}
.contact-form .captcha-panel[data-version="v3"] .captcha-status {
  margin-top: 0;
}
[data-recaptcha-widget] {
  overflow-x: auto;
}
.contact-form .button {
  min-height: 44px;
}
.contact-form .form-status {
  margin-top: var(--space-3);
}
.contact-form .button:disabled {
  cursor: not-allowed;
}
.contact-form [aria-busy="true"] {
  cursor: progress;
}
@media (max-width: 800px) {
  .site-header .brand-artwork {
    width: var(--header-brand-width);
  }
  .nav.is-open {
    left: auto;
    right: 0;
    width: calc(100% / 3);
    /* Najdłuższy link wraz z paddingiem ma pierwszeństwo przed limitem 1/3. */
    min-width: max-content;
  }
  .nav a {
    font-size: var(--text-nav);
    font-weight: 400;
    min-height: 48px;
  }
}
@media (max-width: 560px) {
  :root {
    --header-brand-width: clamp(9rem, 52vw, 14rem);
  }
  .contact-form {
    padding: var(--space-4);
  }
  .contact-form .form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

/* Uzupełnienia SEO — istniejąca typografia i motywy bez zmiany projektu. */
.pricing-note {
  padding-bottom: var(--space-12);
  color: var(--color-text-muted);
}
.faq-list {
  max-width: 75ch;
}
.faq-list details {
  border-block-end: 1px solid var(--color-divider);
  padding-block: var(--space-4);
}
.faq-list summary {
  cursor: pointer;
  font-weight: 500;
  min-height: 44px;
  padding-block: var(--space-2);
}
.faq-list details p {
  padding-block: var(--space-3);
  color: var(--color-text-muted);
}
