/* Ausstattung für Unterkünfte – Ergänzungen zu subpage.css (Hauptseite).
   Keine Inline-Stile in den Seiten: Die CSP erlaubt nur Stylesheets vom
   eigenen Server. */

/* ---------- Kopfleiste (wie .err-bar der Hauptseite, ohne Menü) ---------- */
.au-bar{
  max-width: var(--max); margin: 0 auto;
  padding: 18px var(--page-pad);
  min-height: 83px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.au-bar__left{ display: flex; align-items: center; gap: 22px; min-width: 0; }
.au-bar__title{
  font-family: var(--mono); font-size: 11px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--bayern-blau);
  padding-left: 22px; border-left: 1px solid var(--silber);
  white-space: nowrap;
}
.au-bar__phone{
  font-family: var(--mono); font-size: 11px; letter-spacing: .06em;
  color: var(--graphit); white-space: nowrap;
}
.au-bar__phone:hover, .au-bar__phone:focus-visible{ color: var(--bayern-blau); }
/* Fokus in der klebenden Kopfleiste darf die Seite nicht verschieben
   (wie .frame-top > .nav * und .err-bar * in subpage.css). */
.au-bar *{ scroll-margin-top: -96px; }
@media (max-width: 1180px){ .au-bar{ min-height: 80px; } }
@media (max-width: 700px){
  .au-bar{ flex-wrap: wrap; gap: 10px 16px; }
  .au-bar__title{ padding-left: 0; border-left: 0; flex-basis: 100%; order: 3; }
  .au-bar__left{ flex-wrap: wrap; gap: 8px; }
}

/* ---------- Fließtext unter der Kopfzeile ---------- */
.au-note{
  margin: 22px 0 0; max-width: 46ch;
  font-size: 16px; line-height: 1.6; color: var(--graphit);
}

/* ---------- Sortiment ---------- */
.au-range{
  display: grid; grid-template-columns: 120px 1fr 1fr; gap: 48px;
  padding: 0 0 clamp(56px, 8vh, 96px); align-items: start;
}
.au-range__aside{
  font-family: var(--mono); font-size: 11px; color: var(--graphit);
  letter-spacing: .1em; line-height: 1.7;
}
.au-range__aside span{ display: block; }
.au-list{
  list-style: none; margin: 0; padding: 0;
  border-top: 1px solid var(--silber);
  counter-reset: au;
}
.au-list li{
  counter-increment: au;
  display: grid; grid-template-columns: 36px 1fr; gap: 12px;
  padding: 12px 0; border-bottom: 1px solid var(--silber);
  font-size: 15.5px; line-height: 1.45; color: var(--anthrazit);
}
.au-list li::before{
  content: counter(au, decimal-leading-zero);
  font-family: var(--mono); font-size: 11px; letter-spacing: .08em;
  color: var(--bayern-blau); padding-top: 3px;
}
.au-figure{ margin: 0; }
.au-figure img{
  display: block; width: 100%; height: auto;
  border: 1px solid var(--silber); background: #fff;
}
.au-figure figcaption{
  margin-top: 12px; font-family: var(--mono); font-size: 11px;
  letter-spacing: .08em; color: var(--graphit);
}
.au-small{ margin: 18px 0 0; font-size: 14px; line-height: 1.6; color: var(--graphit); max-width: 52ch; }
@media (max-width: 900px){
  .au-range{ grid-template-columns: minmax(0, 1fr); gap: 28px; }
}

/* ---------- Ansprechpartner ---------- */
.au-contact{ display: flex; gap: 24px; align-items: flex-start; }
.au-contact picture{ flex: 0 0 auto; }
.au-contact img{
  display: block; width: 132px; height: auto;
  border: 1px solid var(--silber); background: var(--dunst);
}
.au-contact__lines{ margin: 0 0 22px; font-size: 16px; line-height: 1.7; color: var(--graphit); }
.au-contact__lines a{ color: var(--bayern-blau); white-space: nowrap; }
.au-contact > div, .cta-band__grid > div{ min-width: 0; }
.au-contact__lines a[href^="mailto:"]{ white-space: normal; overflow-wrap: anywhere; }
.au-contact__lines a:hover, .au-contact__lines a:focus-visible{ color: var(--bayern-tief); }
@media (max-width: 1180px){
  .au-contact{ flex-direction: column; gap: 18px; }
}

/* ---------- Fußleiste ---------- */
.foot-bar .au-group{ text-align: right; }
@media (max-width: 900px){ .foot-bar .au-group{ text-align: center; } }

/* ---------- Impressum ---------- */
.legal-block dl{ margin: 0 0 1em; padding: 0; }
.legal-block dt{
  font-family: var(--mono); font-size: 10.5px; letter-spacing: .12em;
  text-transform: uppercase; color: var(--graphit);
  margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--dunst);
}
.legal-block dt:first-of-type{ margin-top: 0; padding-top: 0; border-top: 0; }
.legal-block dd{ margin: 6px 0 0; color: var(--anthrazit); font-size: 15px; line-height: 1.55; }
.pillar.legal-block .pillar__title{ max-width: 24ch; }
.pillar.legal-block .pillar__body{ max-width: 56ch; }

/* ---------- Datenschutz ---------- */
.au-prose{ max-width: 68ch; padding-bottom: clamp(48px, 7vh, 88px); }
.au-prose h2{
  margin: 34px 0 10px; font-family: var(--serif); font-weight: 400;
  font-size: clamp(22px, 2vw, 28px); line-height: 1.2; color: var(--anthrazit);
}
.au-prose h2:first-child{ margin-top: 0; }
.au-prose p, .au-prose li{ font-size: 15.5px; line-height: 1.65; color: var(--graphit); }
.au-prose ul{ padding-left: 20px; }
.au-prose strong{ color: var(--anthrazit); font-weight: 500; }
/* Links im Fließtext unterstrichen wie auf der Hauptseite (subpage.css) */
.au-prose a:not(.btn){
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: var(--bayern-blau);
  text-underline-offset: 3px;
}

/* Markierte Lücke für eine noch fehlende Pflichtangabe */
.luecke{
  display: inline-block; color: var(--bayern-blau); background: var(--bayern-hell);
  padding: 0 6px; font-family: var(--mono); font-size: .85em; letter-spacing: .04em;
}
