/* Kontakt: pôvodný obsah, spoločná hlavička a päta zo styles.css. */
.kontakt-page .kontakt-content {
  width: min(1020px, calc(100% - 64px));
  margin-inline: auto;
  padding-block: 48px 64px;
}

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

.kontakt-page .kontakt-photo { margin: 0; }
.kontakt-page .kontakt-photo picture,
.kontakt-page .kontakt-photo img { display: block; width: 100%; height: auto; }
.kontakt-page .kontakt-content hr { margin-block: 40px; border: 0; border-top: 1px solid #eeece9; }
.kontakt-page .kontakt-sekcia {
  display: grid;
  grid-template-columns: 399px minmax(0, 1fr);
  align-items: start;
  gap: 40px;
}
.kontakt-page .kontakt-foto { width: 100%; max-width: 399px; }
.kontakt-page .kontakt-text { min-width: 0; line-height: 1.75; }
.kontakt-page .kontakt-text > p + p { margin-top: 18px; }
.kontakt-page .kontakt-info-blok { margin-top: 25px; padding-top: 20px; border-top: 1px solid #eeece9; }
.kontakt-page .kontakt-link { color: var(--ink); font-size: 1.125rem; line-height: 1.6; }
.kontakt-page .kontakt-link a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--accent-dark);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.kontakt-page .kontakt-link a:hover { color: var(--accent); }
.kontakt-page #kontakt-email { overflow-wrap: anywhere; }
.kontakt-page .fakturacne-udaje-mini { margin-top: 15px; color: var(--body); font-size: .9rem; line-height: 1.6; }
.kontakt-page .kontakt-doprava { margin-top: 24px; padding: 15px; border-left: 5px solid #ccc; background: #f9f9f9; }
.kontakt-page .kontakt-odpoved { line-height: 1.75; }
.kontakt-page .kontakt-odpoved a { color: var(--accent-dark); text-decoration: underline; text-underline-offset: 3px; }
.kontakt-page .kontakt-related { margin-top: 48px; }
.kontakt-page .kontakt-related h2 { margin-bottom: 28px; }
.kontakt-page .kontakt-related > p { max-width: 800px; line-height: 1.75; }
.kontakt-page .kontakt-related .stories-grid { margin-top: 32px; }
.kontakt-page .kontakt-related .story-photo picture { display: block; height: 100%; }

@media (max-width: 768px) {
  .kontakt-page .kontakt-sekcia { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .kontakt-page .kontakt-foto { justify-self: center; }
  .kontakt-page .kontakt-text { text-align: center; }
}

@media (max-width: 760px) {
  .kontakt-page .kontakt-content { width: calc(100% - 40px); padding-block: 28px 48px; }
  .kontakt-page .kontakt-content h1 { font-size: clamp(2rem, 8.4vw, 2.6rem); margin-bottom: 24px; }
  .kontakt-page .kontakt-content hr { margin-block: 30px; }
}
