.kontakt-page {
  background-color: var(--color-warm-chalk);
  background-image: radial-gradient(rgba(32, 54, 52, 0.025) 0.75px, transparent 0.75px);
  background-size: 9px 9px;
}

.kontakt-breadcrumbs {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  padding-top: calc(var(--space-16) + var(--space-2));
  color: rgba(32, 54, 52, 0.72);
  font-size: var(--text-sm);
}

.kontakt-breadcrumbs > * { min-width: 0; }
.kontakt-breadcrumbs span[aria-current="page"] { color: var(--color-deep-ink); }

.kontakt-postcards { padding-top: var(--space-6); }

.kontakt-postcards__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(12, minmax(4rem, auto));
  gap: var(--space-6);
  min-width: 0;
}

.kontakt-postcards__grid > * { min-width: 0; width: 100%; }

.kontakt-intro {
  grid-column: 1 / span 5;
  grid-row: 1 / span 4;
  align-self: start;
  max-width: 48ch;
}

.kontakt-intro > :last-child { margin-bottom: 0; }
.kontakt-intro h1 { font-size: clamp(3rem, 5.6vw, 4.75rem); }
.kontakt-intro p:not(.eyebrow) { max-width: 48ch; font-size: var(--text-lg); }

.kontakt-details {
  grid-column: 6 / span 5;
  grid-row: 1 / span 8;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-6);
  align-self: stretch;
  border-radius: var(--radius-lg);
  padding: clamp(var(--space-6), 3.6vw, var(--space-12));
  box-shadow: var(--shadow-editorial);
}

.kontakt-details > * { min-width: 0; margin: 0; }
.kontakt-details h2 { font-size: clamp(2.5rem, 3.8vw, 3.5rem); }
.kontakt-details p { max-width: 34ch; }
.kontakt-details__list { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.kontakt-details__list > div { min-width: 0; max-width: 34ch; border-top: 1px solid rgba(255, 253, 248, 0.38); padding-top: var(--space-3); }
.kontakt-details__list dt { color: var(--color-apricot); font-size: var(--text-sm); letter-spacing: 0.08em; text-transform: uppercase; }
.kontakt-details__list dd { margin: var(--space-1) 0 0; font-size: var(--text-lg); }
.kontakt-details__note { color: rgba(255, 253, 248, 0.82); font-size: var(--text-sm); }

.kontakt-card {
  position: relative;
  overflow: hidden;
  min-width: 0;
  margin: 0;
  border: var(--border-subtle);
  background: var(--color-limestone);
}

.kontakt-card::after {
  position: absolute;
  inset: 0;
  background: rgba(184, 120, 92, 0.08);
  content: "";
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-ui);
}

.kontakt-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.kontakt-card figcaption { position: absolute; z-index: 1; right: var(--space-3); bottom: var(--space-3); left: var(--space-3); margin: 0; padding: var(--space-3); background: rgba(244, 240, 232, 0.92); color: var(--color-deep-ink); font-size: var(--text-xs); line-height: 1.4; }
.kontakt-card--dish { grid-column: 1 / span 3; grid-row: 5 / span 7; min-height: 29rem; }
.kontakt-card--interior { grid-column: 10 / span 3; grid-row: 2 / span 7; min-height: 27rem; }
.kontakt-card--bar { grid-column: 4 / span 3; grid-row: 8 / span 5; min-height: 22rem; z-index: 2; box-shadow: var(--shadow-editorial); }
.kontakt-card--lounge { grid-column: 8 / span 4; grid-row: 9 / span 4; min-height: 20rem; }
.kontakt-card--lounge figcaption { background: linear-gradient(180deg, rgba(23, 107, 105, 0.14), rgba(23, 107, 105, 0.88)); color: var(--color-soft-white); }

@media (hover: hover) and (pointer: fine) {
  .kontakt-card:hover::after { opacity: 1; }
}

.kontakt-form-section__layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-8);
  min-width: 0;
}

.kontakt-form-section__layout > * { min-width: 0; width: 100%; }
.kontakt-form-intro { grid-column: 1 / span 4; max-width: 50ch; }
.kontakt-form-intro > :last-child { margin-bottom: 0; }
.kontakt-form-intro p:not(.eyebrow) { max-width: 48ch; }
.kontakt-form { grid-column: 6 / span 7; display: flex; min-width: 0; flex-direction: column; gap: var(--space-6); border: var(--border-soft); border-radius: var(--radius-sm); padding: clamp(var(--space-6), 3vw, var(--space-12)); background: rgba(255, 253, 248, 0.45); }
.kontakt-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4) var(--space-6); min-width: 0; }
.kontakt-form__fields > * { min-width: 0; width: 100%; }
.kontakt-field { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); }
.kontakt-field > * { min-width: 0; margin: 0; }
.kontakt-field--wide { grid-column: 1 / -1; }
.kontakt-field input, .kontakt-field select { min-height: 3rem; }
.kontakt-field textarea { min-height: 9rem; }
.kontakt-field small { color: rgba(32, 54, 52, 0.72); }
.kontakt-error { min-height: 1.2em; color: #8c3f2c; font-size: var(--text-sm); line-height: 1.35; }
.kontakt-form__actions { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kontakt-form__actions > * { min-width: 0; margin: 0; }
.kontakt-privacy { max-width: 55ch; font-size: var(--text-sm); }
.kontakt-form-status { min-height: 1.6em; color: var(--color-adriatic-teal); font-weight: 600; }

.kontakt-location__layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-8);
  min-width: 0;
  align-items: center;
}

.kontakt-location__layout > * { min-width: 0; width: 100%; }
.kontakt-location__copy { grid-column: 1 / span 4; max-width: 48ch; }
.kontakt-location__copy > :last-child { margin-bottom: 0; }
.kontakt-location__copy p:not(.eyebrow) { max-width: 48ch; }
.kontakt-location address { color: var(--color-adriatic-teal); font-size: var(--text-lg); font-weight: 600; }
.kontakt-map { grid-column: 6 / span 7; position: relative; overflow: hidden; min-height: 24.375rem; margin: 0; border: var(--border-soft); border-radius: var(--radius-lg); background: var(--color-limestone); }
.kontakt-map svg { width: 100%; height: 100%; min-height: 24.375rem; object-fit: cover; }
.kontakt-map figcaption { position: absolute; right: var(--space-4); bottom: var(--space-4); margin: 0; border-left: 3px solid var(--color-apricot); padding: var(--space-3) var(--space-4); background: rgba(255, 253, 248, 0.92); color: var(--color-deep-ink); font-size: var(--text-sm); }

.kontakt-topics__content {  margin-inline: auto; }
.kontakt-topics__content > :last-child { margin-bottom: 0; }

.kontakt-topic-list { display: flex; min-width: 0; flex-direction: column; }
.kontakt-topic-list > * { min-width: 0; width: 100%; }
.kontakt-topic-list article { border-top: 1px solid rgba(32, 54, 52, 0.3); padding-block: var(--space-4); }
.kontakt-topic-list article:last-child { border-bottom: 1px solid rgba(32, 54, 52, 0.3); }
.kontakt-topic-list h3, .kontakt-topic-list p { margin: 0; }
.kontakt-topic-list h3 { margin-bottom: var(--space-2); font-size: var(--text-xl); }
.kontakt-topics__closing { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-top: var(--space-8); }
.kontakt-topics__closing > * { min-width: 0; }

.kontakt-closing__layout { display: grid;  min-width: 0; }
.kontakt-closing__layout > * { min-width: 0; width: 100%; }

.kontakt-closing__copy > :last-child { margin-bottom: 0; }

.kontakt-text-link { display: inline-flex; min-height: 2.75rem; align-items: center; font-weight: 600; }

@media (max-width: 74.99rem) {
  .kontakt-postcards__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); grid-template-rows: none; gap: var(--space-6); }
  .kontakt-intro { grid-column: 1 / span 4; grid-row: auto; }
  .kontakt-details { grid-column: 5 / span 4; grid-row: auto; }
  .kontakt-card--dish { grid-column: 1 / span 3; grid-row: auto; min-height: 27rem; }
  .kontakt-card--interior { grid-column: 4 / span 5; grid-row: auto; min-height: 27rem; }
  .kontakt-card--bar { grid-column: 2 / span 3; grid-row: auto; min-height: 23rem; box-shadow: none; }
  .kontakt-card--lounge { grid-column: 5 / span 4; grid-row: auto; min-height: 23rem; }
  .kontakt-form-section__layout, .kontakt-location__layout { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .kontakt-form-intro, .kontakt-location__copy { grid-column: 1 / span 3; }
  .kontakt-form, .kontakt-map { grid-column: 4 / span 5; }
  .kontakt-closing__layout { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .kontakt-closing__copy { grid-column: 1 / span 5; }
}

@media (max-width: 59.99rem) {
  .kontakt-form-section__layout, .kontakt-location__layout { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .kontakt-form-intro, .kontakt-location__copy, .kontakt-form, .kontakt-map { grid-column: 1 / -1; }
  .kontakt-form-intro, .kontakt-location__copy { max-width: 50ch; }
  .kontakt-map { min-height: 20rem; }
  .kontakt-map svg { min-height: 20rem; }
}

@media (max-width: 47.99rem) {
  .kontakt-breadcrumbs { padding-top: calc(var(--space-16) + var(--space-1)); }
  .kontakt-postcards { padding-top: var(--space-4); }
  .kontakt-postcards__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .kontakt-intro, .kontakt-details, .kontakt-card--dish, .kontakt-card--interior, .kontakt-card--bar, .kontakt-card--lounge { grid-column: 1; grid-row: auto; }
  .kontakt-intro { max-width: none; }
  .kontakt-intro h1 { font-size: 2.625rem; line-height: 1.05; }
  .kontakt-intro p:not(.eyebrow) { max-width: none; }
  .kontakt-details { margin-top: var(--space-4); gap: var(--space-6); padding: var(--space-6); }
  .kontakt-card--dish, .kontakt-card--interior, .kontakt-card--lounge { min-height: 20rem; }
  .kontakt-card--bar { width: 82%; justify-self: end; min-height: 20rem; }
  .kontakt-form-section__layout, .kontakt-location__layout, .kontakt-closing__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
  .kontakt-form-intro, .kontakt-location__copy, .kontakt-form, .kontakt-map, .kontakt-closing__copy { grid-column: 1; max-width: none; }
  .kontakt-form { padding: var(--space-6); }
  .kontakt-form__fields { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .kontakt-field--wide { grid-column: 1; }
  .kontakt-form__actions .button { width: 100%; }
  .kontakt-map, .kontakt-map svg { min-height: 16.25rem; }
  .kontakt-map figcaption { right: var(--space-3); bottom: var(--space-3); left: var(--space-3); }
  .kontakt-topics__content { width: 100%; }
  .kontakt-topic-list article { padding-block: var(--space-6); }
  .kontakt-topics__closing { align-items: flex-start; flex-direction: column; gap: var(--space-3); }
  .kontakt-topics__closing a { display: inline-flex; min-height: 2.75rem; align-items: center; }
}

@media (prefers-reduced-motion: reduce) {
  .kontakt-card::after { transition: none; }
}
