/* Formularz kontaktowy w sekcji #kontakt. */
.contact-form { display: grid; gap: var(--space-4); max-width: 34rem; margin: var(--space-8) auto 0; text-align: left; }
.contact-form label { display: block; margin-bottom: var(--space-2); font-weight: 600; }
.contact-form input[type="text"], .contact-form input[type="email"], .contact-form input[type="tel"], .contact-form textarea { width: 100%; padding: .75rem 1rem; border: 1px solid var(--color-ink); border-radius: var(--radius-sm); background: var(--color-white); color: var(--color-ink); font-size: 1rem; }
.contact-form textarea { min-height: 8rem; resize: vertical; }
.contact-form .contact-consent { margin: 0; font-size: .85rem; }
.contact-form .contact-consent input { margin-top: .25rem; flex: 0 0 auto; }
.contact-form .contact-consent a { text-decoration: underline; text-underline-offset: .2em; }
.contact-form button { justify-self: start; }
.contact-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.contact-notice { max-width: 34rem; margin: var(--space-6) auto 0; padding: var(--space-3) var(--space-4); border-left: 3px solid var(--color-sage-dark); background: var(--color-white); font-weight: 600; text-align: left; }
.contact-notice.is-error { border-left-color: #8a3a4a; color: #5a1f2a; }
.contact-alt { margin: var(--space-8) 0 0; font-size: .95rem; }
.contact-alt a { text-decoration: underline; text-underline-offset: .25em; }
.contact-alt a + a { margin-left: var(--space-4); }

/* Strona Kontakt. */
.kontakt-hero { padding: var(--space-16) 0 var(--space-8); }
.kontakt-hero h1 { margin-bottom: var(--space-4); }
.kontakt-lead { max-width: 34rem; font-size: 1.1rem; }
.kontakt-cards { display: grid; gap: var(--space-3); margin: var(--space-8) 0 0; padding: 0; list-style: none; }
.kontakt-cards li { display: grid; gap: .15rem; padding: var(--space-4) var(--space-5); border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: var(--color-white); }
.kontakt-cards span { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: #4d5551; }
.kontakt-cards a { font-family: var(--font-display); font-variation-settings: 'SOFT' 100; font-size: 1.35rem; text-decoration: none; }
.kontakt-cards a:hover { text-decoration: underline; text-underline-offset: .2em; }
.kontakt-info { padding: var(--space-10) 0; background: var(--color-sand); }
.kontakt-info-grid { display: grid; gap: var(--space-6); }
.kontakt-info h2 { margin-bottom: var(--space-2); font-size: 1.4rem; }
.kontakt-info p { margin: 0; }
.kontakt-hours { font-size: 1.1rem; }
.kontakt-form { padding: var(--space-16) 0; }
.kontakt-map { padding: var(--space-10) 0 var(--space-16); }
.kontakt-map-box { margin: var(--space-4) 0; }
.kontakt-map-box iframe { display: block; width: 100%; height: 22rem; border: 0; border-radius: var(--radius-lg); }
.kontakt-map-note { margin: var(--space-2) 0 0; font-size: .8rem; color: #4d5551; }
@media (min-width: 48rem) { .kontakt-cards { grid-template-columns: repeat(4, 1fr); } .kontakt-info-grid { grid-template-columns: repeat(3, 1fr); gap: var(--space-10); } .kontakt-hero { padding-top: var(--space-20); } }

.contact-form label small { font-weight: 400; color: #4d5551; }
.kontakt-status { display: flex; align-items: center; gap: var(--space-2); margin: var(--space-5) 0 0; font-weight: 600; }
.kontakt-status .dot { flex: 0 0 auto; width: .7rem; height: .7rem; border-radius: 50%; background: #b9b2a5; }
.kontakt-status.is-online .dot { background: #4f8a5b; box-shadow: 0 0 0 .3rem rgba(79, 138, 91, .2); }
.kontakt-faq { margin: var(--space-5) 0 0; font-size: .95rem; }
.kontakt-faq a { text-decoration: underline; text-underline-offset: .2em; }
