/* ==========================================================================
   Strona kontaktowa (/kontakt): ładowana tylko przez templates/contact.tpl.
   Treść pochodzi z AP Page Buildera (shortcode'y „Kontakt 2026 …”),
   formularz to standardowy moduł contactform. Wszystko w .td-kontakt,
   żeby nie ruszać reszty sklepu.
   ========================================================================== */

/* Bez lewej kolumny z kategoriami: treść na całą szerokość. */
#contact #content-wrapper { flex: 0 0 100%; max-width: 100%; width: 100%; }

.td-kontakt {
  --td-green: #336633;
  --td-green-hover: #2a552a;
  --td-green-deep: #21402a;
  --td-green-tint: #eaf1ea;
  --td-ink: #1b1b1b;
  --td-text: #555;
  --td-muted: #6b6b6b;
  --td-line: #e3e3e3;
  --td-field: #c9c9c9;
  --td-radius: 2px;
  accent-color: var(--td-green);
  caret-color: var(--td-green);
}
/* Typografia tylko dla naszych sekcji; karuzela domów zostaje w stylu strony głównej. */
.td-intro, .td-kontakt .td-visit { font-family: "Poppins", sans-serif; font-size: 16px; line-height: 1.65; color: var(--td-text); }
.td-kontakt *, .td-kontakt *::before, .td-kontakt *::after { box-sizing: border-box; }
.td-intro :where(p), .td-kontakt .td-visit :where(p) { font-size: inherit; line-height: inherit; color: inherit; }
.td-kontakt ::selection { background: var(--td-green); color: #fff; }
.td-kontakt :focus-visible { outline: 2px solid var(--td-green); outline-offset: 3px; }
.td-kontakt h1, .td-kontakt h2, .td-kontakt h3 { color: var(--td-ink); font-family: "Poppins", sans-serif; font-weight: 600; text-transform: none; text-wrap: balance; }

/* Wiersze i kolumny AP Page Buildera: bez ujemnych marginesów Bootstrapa. */
.td-intro .ApRow { margin-left: 0; margin-right: 0; }
.td-kontakt .td-ap-col { padding-left: 0; padding-right: 0; }
.td-kontakt .ApHtml, .td-kontakt .ApImage { margin: 0; }

/* ---------- 1. Dane kontaktowe + formularz ---------- */
.td-intro { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: start; padding: 20px 0 88px; }
.td-intro > * { min-width: 0; }

.td-dane h1 { margin: 0; font-size: clamp(2rem, 1.3rem + 1.6vw, 2.75rem); line-height: 1.14; letter-spacing: -0.022em; max-width: 17ch; }
.td-kontakt .td-lead { margin: 22px 0 0; font-size: 17px; line-height: 1.7; max-width: 46ch; }
/* Działy: wspólny wygląd (lewa kolumna i sekcja „Pozostałe działy”) */
.td-main { margin: 36px 0 0; border-top: 1px solid var(--td-line); }
.td-kontakt .td-dept { padding: 22px 0; border-bottom: 1px solid var(--td-line); }
.td-kontakt .td-dept h2, .td-kontakt .td-dept h3 { margin: 0; font-size: 18px; line-height: 1.35; letter-spacing: -0.005em; }
.td-kontakt .td-dept .td-dept-desc { margin: 4px 0 0; font-size: 14px; line-height: 1.5; color: var(--td-muted); }
.td-kontakt .td-people { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 4px; }
.td-kontakt .td-people li { display: flex; align-items: baseline; gap: 14px; margin: 0; }
.td-kontakt .td-person { min-width: 64px; font-size: 14px; color: var(--td-muted); }
.td-kontakt .td-tel { color: var(--td-ink); text-decoration: none; font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; line-height: 1.45; }
.td-kontakt .td-dept-main .td-tel { font-size: 22px; }
.td-kontakt .td-dept .td-dept-mail { margin: 8px 0 0; }
.td-kontakt .td-mail { color: var(--td-green); text-decoration: none; font-size: 16px; font-weight: 500; word-break: break-word; }
.td-kontakt .td-tel:hover { color: var(--td-green); }
.td-kontakt .td-mail:hover { color: var(--td-green-hover); text-decoration: underline; }
.td-kontakt .td-open { display: flex; gap: 14px; align-items: baseline; margin: 0; padding: 18px 0; border-bottom: 1px solid var(--td-line); font-size: 15px; color: var(--td-ink); }
.td-kontakt .td-label { min-width: 64px; font-size: 14px; color: var(--td-muted); }

/* Sekcja „Pozostałe działy” (shortcode „działy, ekspozycja i domy”) */
.td-kontakt .td-depts-row { margin: 0 0 88px; }
.td-kontakt .td-pozostale h2 { margin: 0; font-size: clamp(1.6rem, 1.2rem + .9vw, 2rem); letter-spacing: -0.015em; }
.td-kontakt .td-pozostale .td-depts-lead { margin: 8px 0 0; font-size: 15.5px; color: var(--td-text); }
.td-kontakt .td-depts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 48px; margin-top: 28px; border-top: 1px solid var(--td-line); }
.td-kontakt .td-depts .td-dept { padding: 24px 0 26px; }
.td-kontakt .td-depts .td-dept h3 { font-size: 17px; }

/* Wyróżniony dział eksportu: jasny pas na całą szerokość, dane kontaktowe po prawej */
.td-kontakt .td-depts:has(.td-dept-featured) { border-top: 0; }
.td-kontakt .td-depts .td-dept-featured {
  grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  column-gap: 56px; align-items: center;
  margin: 4px 0 8px; padding: 30px 36px; background: #f3f6f3; border: 0; border-radius: 2px;
}
.td-kontakt .td-depts .td-dept-featured > h3 { grid-column: 1; font-size: 21px; }
.td-kontakt .td-depts .td-dept-featured > .td-dept-desc { grid-column: 1; margin-top: 6px; font-size: 15px; }
.td-kontakt .td-depts .td-dept-featured > .td-dept-en { grid-column: 1; margin: 10px 0 0; font-size: 14px; font-style: italic; color: var(--td-text); }
.td-kontakt .td-depts .td-dept-featured > .td-people { grid-column: 2; grid-row: 1 / span 2; align-self: end; margin: 0; }
.td-kontakt .td-depts .td-dept-featured > .td-dept-mail { grid-column: 2; grid-row: 3; margin-top: 6px; }
.td-kontakt .td-depts .td-dept-featured .td-tel { font-size: 24px; }

/* Formularz (modules/contactform/views/templates/widget/contactform.tpl w motywie) */
.td-kontakt .contact-form {
  background: #fff; border: 1px solid var(--td-line); border-radius: var(--td-radius);
  padding: 44px 48px 40px; box-shadow: 0 24px 48px -32px rgba(28, 46, 30, .28);
}
.td-kontakt .contact-form form { margin: 0; }
.td-kontakt .td-form-title { margin: 0; font-size: 26px; line-height: 1.25; letter-spacing: -0.01em; }
.td-kontakt .td-form-hint { margin: 6px 0 28px; font-size: 14.5px; color: var(--td-muted); }
.td-kontakt .td-field { margin: 0 0 22px; }
.td-kontakt .td-field > label { display: block; margin: 0 0 8px; padding: 0; font-size: 14px; font-weight: 500; color: var(--td-ink); text-align: left; }
.td-kontakt .td-opt { font-weight: 400; color: var(--td-muted); }
.td-kontakt .contact-form .form-control {
  display: block; width: 100%; height: auto; min-height: 52px; margin: 0; padding: 13px 15px;
  font: 400 15.5px/1.5 "Poppins", sans-serif; color: var(--td-ink);
  background: #fff; border: 1px solid var(--td-field); border-radius: var(--td-radius); box-shadow: none;
  transition: border-color .2s, box-shadow .2s;
}
.td-kontakt .contact-form textarea.form-control { min-height: 160px; resize: vertical; line-height: 1.6; }
.td-kontakt .contact-form .form-control::placeholder { color: #707070; opacity: 1; }
.td-kontakt .contact-form .form-control:hover { border-color: #9d9d9d; }
.td-kontakt .contact-form .form-control:focus { outline: none; border-color: var(--td-green); box-shadow: 0 0 0 3px rgba(51, 102, 51, .16); }

/* Załącznik: zwykłe pole pliku przeglądarki, ostylowane (bez wtyczki). */
.td-kontakt .contact-form .td-file {
  display: block; width: 100%; padding: 9px; font: 400 14px "Poppins", sans-serif; color: var(--td-muted);
  background: #fafafa; border: 1px dashed var(--td-field); border-radius: var(--td-radius); cursor: pointer;
}
.td-kontakt .contact-form .td-file:hover { border-color: var(--td-green); }
.td-kontakt .contact-form .td-file::file-selector-button {
  height: 38px; margin: 0 14px 0 0; padding: 0 16px; cursor: pointer;
  font: 500 14px "Poppins", sans-serif; color: var(--td-ink);
  background: #fff; border: 1px solid var(--td-field); border-radius: var(--td-radius);
  transition: border-color .2s, color .2s;
}
.td-kontakt .contact-form .td-file:hover::file-selector-button { border-color: var(--td-green); color: var(--td-green); }

.td-kontakt .td-consent:empty { display: none; }
.td-kontakt .td-consent { margin: 0 0 20px; font-size: 13.5px; }
.td-kontakt .contact-form .td-submit {
  display: flex; align-items: center; justify-content: center; gap: 12px;
  width: 100%; min-height: 58px; margin: 6px 0 0; padding: 0 24px; border: 0; border-radius: var(--td-radius);
  background: var(--td-green); color: #fff; cursor: pointer;
  font: 600 15.5px "Poppins", sans-serif; text-transform: uppercase; letter-spacing: .05em; white-space: normal;
  box-shadow: 0 10px 22px -14px rgba(33, 64, 42, .9);
  transition: background-color .2s, transform .2s;
}
.td-kontakt .contact-form .td-submit:hover, .td-kontakt .contact-form .td-submit:focus { background: var(--td-green-hover); color: #fff; }
.td-kontakt .contact-form .td-submit:active { transform: translateY(1px); }
.td-kontakt .td-form-alt { margin: 16px 0 0; text-align: center; font-size: 14px; color: var(--td-muted); }
.td-kontakt .td-form-alt a { color: var(--td-ink); font-weight: 600; text-decoration: none; white-space: nowrap; }
.td-kontakt .td-form-alt a:hover { color: var(--td-green); }
/* Komunikaty po wysłaniu: własna ikona zamiast ikony motywu (motyw robi miejsce paddingiem 50 px) */
.td-kontakt .contact-form .alert {
  position: relative; width: 100%; float: none; margin: 16px 0 20px; padding: 15px 18px 15px 56px;
  border: 0; border-radius: var(--td-radius); font-size: 15px; line-height: 1.55; text-align: left;
}
.td-kontakt .contact-form .alert::before {
  content: ""; position: absolute; left: 18px; top: 15px; width: 24px; height: 24px; border-radius: 50%;
  font-family: inherit; background: var(--td-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.td-kontakt .contact-form .alert ul { margin: 0; padding: 0; list-style: none; line-height: inherit; }
.td-kontakt .contact-form .alert li { margin: 0; padding: 0; }
.td-kontakt .contact-form .alert li::before { content: none; }
.td-kontakt .contact-form .alert-success { background: var(--td-green-tint); color: var(--td-green-deep); }
.td-kontakt .contact-form .alert-danger { background: #fbeceb; color: #8c1d18; }
.td-kontakt .contact-form .alert-danger::before { background: #b3261e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 6v8M12 18.5v.01'/%3E%3C/svg%3E") center / 14px no-repeat; }
.td-kontakt .td-form-alt-ok { margin-top: 4px; text-align: left; }

/* ---------- 2. Wizyta w Młodasku ---------- */
/* AP wstawia do wiersza inline „background: no-repeat”, dlatego !important. */
.td-kontakt .td-visit { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin: 0 0 96px; background: var(--td-green-deep) !important; border-radius: var(--td-radius); overflow: hidden; }
.td-kontakt .td-visit > .ApColumn { width: auto; max-width: none; flex: none; padding: 0; }
.td-kontakt .td-visit-media { position: relative; min-height: 520px; background: #142a1b; }
.td-kontakt .td-visit-photo { position: absolute; inset: 0; }
.td-kontakt .td-visit-photo img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; object-position: 30% 55%; }
.td-kontakt .td-visit > .td-visit-panel { padding: 52px 56px 44px; color: #e3ece4; }
.td-kontakt .td-wizyta h2 { margin: 0; color: #fff; font-size: clamp(1.75rem, 1.2rem + 1.2vw, 2.25rem); line-height: 1.18; letter-spacing: -0.018em; max-width: 20ch; }
.td-kontakt .td-wizyta p { margin: 18px 0 0; max-width: 40ch; font-size: 16px; color: #e3ece4; }
.td-kontakt .td-wizyta .td-address { margin-top: 28px; color: #fff; font-size: 18px; font-weight: 500; line-height: 1.5; }
.td-kontakt .td-hours { width: 100%; margin-top: 22px; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }
.td-kontakt .td-hours th, .td-kontakt .td-hours td { padding: 9px 0; border: 0; border-top: 1px solid rgba(255, 255, 255, .14); background: none; text-align: left; font-weight: 400; color: #e3ece4; }
.td-kontakt .td-hours td { text-align: right; color: #fff; }
.td-kontakt .td-hours tr:last-child th, .td-kontakt .td-hours tr:last-child td { border-bottom: 1px solid rgba(255, 255, 255, .14); }
.td-kontakt .td-wizyta .td-actions { margin-top: 30px; }
.td-kontakt .td-btn-light {
  display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 20px;
  background: #fff; color: var(--td-green-deep); border-radius: var(--td-radius);
  font: 600 14px "Poppins", sans-serif; text-transform: uppercase; letter-spacing: .05em; text-decoration: none;
  transition: background-color .2s;
}
.td-kontakt .td-btn-light::before {
  content: ""; width: 16px; height: 16px; flex: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2321402a' stroke-width='1.7'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21Z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.td-kontakt .td-btn-light:hover { background: var(--td-green-tint); color: var(--td-green-deep); }
.td-visit-panel :focus-visible { outline-color: #fff; }
.td-kontakt .td-facts { list-style: none; margin: 34px 0 0; padding: 22px 0 0; border-top: 1px solid rgba(255, 255, 255, .14); display: grid; gap: 8px; font-size: 14.5px; color: #fff; }
.td-kontakt .td-facts li { display: flex; gap: 10px; align-items: baseline; }
.td-kontakt .td-facts li::before {
  content: ""; width: 14px; height: 14px; flex: none; position: relative; top: 2px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239fd0a6' stroke-width='2.2'%3E%3Cpath d='m4 12.5 5 5L20 6.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- 3. Domy z ekspozycji: karuzela 1:1 jak „Bestsellery” na stronie głównej ---------- */
.td-kontakt .td-models { margin: 0 0 72px; }

/* ---------- Responsywność ---------- */
@media (max-width: 1199px) {
  .td-intro { gap: 40px; }
  .td-kontakt .contact-form { padding: 36px 32px 32px; }
}
@media (max-width: 991px) {
  .td-intro { grid-template-columns: minmax(0, 1fr); gap: 36px; padding: 12px 0 64px; }
  .td-dane h1 { max-width: 18ch; }
  .td-main { margin-top: 28px; }
  .td-kontakt .td-depts { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
  .td-kontakt .td-depts-row { margin: 0 0 64px; }
  .td-kontakt .td-visit { grid-template-columns: minmax(0, 1fr); margin-bottom: 72px; }
  .td-kontakt .td-visit-media { min-height: 0; aspect-ratio: 4 / 3; }
  .td-kontakt .td-visit > .td-visit-panel { padding: 40px 28px 36px; }
}
@media (max-width: 575px) {
  .td-kontakt .contact-form { padding: 26px 20px; }
  .td-kontakt .td-depts { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Telefon: lekka lista kontaktów, działy w 2 kolumnach, karuzela przesuwana w bok ---------- */
@media (max-width: 767px) {
  .td-dane h1 { font-size: 30px; line-height: 1.15; }
  .td-kontakt .td-lead { font-size: 16px; }

  /* Działy: bez ramek, tylko cienkie linie między wierszami */
  .td-main { margin-top: 26px; border-top: 0; }
  .td-kontakt .td-dept { padding: 0 0 26px; border-bottom: 0; }
  .td-kontakt .td-dept h2, .td-kontakt .td-dept h3 { font-size: 16.5px; }
  .td-kontakt .td-dept .td-dept-desc { font-size: 13.5px; }
  .td-kontakt .td-people { gap: 0; margin-top: 10px; border-top: 1px solid #e8ebe8; }
  .td-kontakt .td-people li,
  .td-kontakt .td-dept .td-dept-mail .td-mail {
    position: relative; min-height: 52px; padding: 11px 50px 11px 0;
    background: none; border: 0; border-bottom: 1px solid #e8ebe8; border-radius: 0;
    transition: background-color .15s;
  }
  .td-kontakt .td-people li { display: flex; align-items: center; gap: 12px; }
  .td-kontakt .td-person { min-width: 0; width: 52px; flex: none; font-size: 13.5px; }
  .td-kontakt .td-people .td-tel { position: static; font-size: 17px; line-height: 1.35; }
  /* Cały wiersz z numerem jest klikalny. */
  .td-kontakt .td-people .td-tel::before { content: ""; position: absolute; inset: 0; }
  .td-kontakt .td-dept .td-dept-mail { margin: 0; }
  /* Zwykły blok (nie flex), żeby <wbr> przed „@” nie rozdzielał adresu. */
  .td-kontakt .td-dept .td-dept-mail .td-mail { display: block; font-size: 15px; line-height: 1.65; color: var(--td-ink); text-decoration: none; }
  /* Małe ikony w delikatnym kółku po prawej */
  .td-kontakt .td-people li::after,
  .td-kontakt .td-dept .td-dept-mail .td-mail::after {
    content: ""; position: absolute; right: 2px; top: 50%; width: 34px; height: 34px; margin-top: -17px;
    border: 1px solid #d8e2d8; border-radius: 50%; background: #fff center / 16px no-repeat;
  }
  .td-kontakt .td-people li::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23336633' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M15.3 14.6 13.4 16.5a14.6 14.6 0 0 1-6-6l1.9-1.9a1 1 0 0 0 .2-1.1L7.8 3.6a1 1 0 0 0-1.2-.6L3.8 3.8a1 1 0 0 0-.8 1 17 17 0 0 0 16.2 16.2 1 1 0 0 0 1-.8l.8-2.8a1 1 0 0 0-.6-1.2l-3.9-1.7a1 1 0 0 0-1.2.1Z'/%3E%3C/svg%3E"); }
  .td-kontakt .td-dept .td-dept-mail .td-mail::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23336633' stroke-width='1.8' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='1.5'/%3E%3Cpath d='m3.5 6 8.5 7 8.5-7'/%3E%3C/svg%3E"); }
  .td-kontakt .td-people li:active, .td-kontakt .td-dept .td-dept-mail .td-mail:active { background: #f5f8f5; }

  .td-kontakt .td-open { padding: 2px 0 0; border-bottom: 0; }
  .td-open-hours { line-height: 1.6; }

  /* Formularz */
  .td-kontakt .contact-form { padding: 22px 18px 20px; }
  .td-kontakt .td-form-title { font-size: 23px; }
  .td-kontakt .td-form-hint { margin-bottom: 18px; font-size: 13.5px; }
  .td-kontakt .td-field { margin-bottom: 16px; }
  .td-kontakt .contact-form textarea.form-control { min-height: 116px; }

  /* Pozostałe działy: z telefonem na całą szerokość, z samym e-mailem w 2 kolumnach */
  .td-kontakt .td-depts-row { margin-bottom: 48px; }
  .td-kontakt .td-pozostale .td-depts-lead { font-size: 14.5px; }
  .td-kontakt .td-depts { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; row-gap: 0; margin-top: 22px; border-top: 0; }
  .td-kontakt .td-depts .td-dept { grid-column: 1 / -1; padding: 0 0 24px; }
  .td-kontakt .td-depts .td-dept .td-dept-desc { display: none; }
  .td-kontakt .td-depts .td-dept h3 { font-size: 16px; }
  .td-kontakt .td-depts .td-dept:not(:has(.td-people)) {
    grid-column: auto; position: relative; padding: 13px 0 15px; border-top: 1px solid #e8ebe8;
    transition: background-color .15s;
  }
  .td-kontakt .td-depts .td-dept:not(:has(.td-people)) h3 { font-size: 14.5px; line-height: 1.3; }
  .td-kontakt .td-depts .td-dept:not(:has(.td-people)) .td-dept-mail { margin: 4px 0 0; }
  .td-kontakt .td-depts .td-dept:not(:has(.td-people)) .td-dept-mail .td-mail {
    position: static; display: block; min-height: 0; padding: 0; border: 0;
    font-size: 13px; line-height: 1.4; color: var(--td-green); overflow-wrap: break-word;
  }
  .td-kontakt .td-depts .td-dept:not(:has(.td-people)) .td-dept-mail .td-mail::after { content: none; }
  /* Cały blok działu jest klikalny (otwiera pocztę). */
  .td-kontakt .td-depts .td-dept:not(:has(.td-people)) .td-dept-mail .td-mail::before { content: ""; position: absolute; inset: 0; }
  .td-kontakt .td-depts .td-dept:not(:has(.td-people)):active { background: #f5f8f5; }

  /* Wyróżniony eksport na telefonie: jasny blok na górze listy, z opisem */
  .td-kontakt .td-depts .td-dept-featured { display: block; grid-column: 1 / -1; margin: 0 0 24px; padding: 18px 16px 6px; }
  .td-kontakt .td-depts .td-dept-featured > h3 { font-size: 17px; }
  .td-kontakt .td-depts .td-dept-featured .td-dept-desc { display: block; font-size: 13.5px; }
  .td-kontakt .td-depts .td-dept-featured > .td-dept-en { margin-top: 6px; font-size: 13px; }
  .td-kontakt .td-depts .td-dept-featured > .td-people { margin-top: 12px; }
  .td-kontakt .td-depts .td-dept-featured .td-tel { font-size: 17px; }
  .td-kontakt .td-depts .td-dept-featured .td-dept-mail .td-mail:last-child { border-bottom: 0; }
  /* Nieparzysta liczba kafelków: ostatni na całą szerokość, żeby nie wisiał sam w połowie. */
  .td-kontakt .td-depts .td-dept:not(:has(.td-people)):last-child:nth-child(even) { grid-column: 1 / -1; }

  /* Wizyta: niższe zdjęcie, bez tabeli godzin (godziny są na górze strony) */
  .td-kontakt .td-visit { margin-bottom: 48px; }
  .td-kontakt .td-visit-media { aspect-ratio: 16 / 9; }
  .td-kontakt .td-visit > .td-visit-panel { padding: 26px 20px 24px; }
  .td-kontakt .td-wizyta h2 { font-size: 24px; }
  .td-kontakt .td-wizyta p { margin-top: 12px; font-size: 15px; }
  .td-kontakt .td-wizyta .td-address { margin-top: 16px; font-size: 16.5px; }
  .td-kontakt .td-hours { display: none; }
  .td-kontakt .td-wizyta .td-actions { margin-top: 18px; }
  .td-kontakt .td-facts { margin-top: 22px; padding-top: 16px; gap: 6px; font-size: 13.5px; }

  /* Karuzela domów: jeden rząd przesuwany palcem, widać kawałek następnego domu. */
  .td-kontakt .td-models .product_list {
    display: flex; flex-wrap: nowrap; gap: 12px; margin: 0; padding: 0 0 14px;
    overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
    scrollbar-width: thin; scrollbar-color: #c9d3c9 transparent;
  }
  .td-kontakt .td-models .product_list > li {
    flex: 0 0 78%; max-width: 78%; width: 78%; padding: 0; margin: 0; scroll-snap-align: start;
  }
}
@media (max-width: 380px) {
  .td-kontakt .td-people .td-tel { font-size: 16px; }
  .td-kontakt .td-person { width: 46px; }
}
