/*
 * SEE-IT 4.8.4
 * Exakte Außenkante für Header, Breadcrumb, Inhalte und Footer sowie
 * kompakte Termin-, Standort- und Kontaktlayouts. Das Originaltheme bleibt
 * unangetastet; diese Datei enthält ausschließlich gezielte Überschreibungen.
 */
:root {
  --seeit-shell: 1440px;
  --seeit-content-pad: 22px;
  --seeit-navy-484: #082f55;
  --seeit-dark-484: #032643;
  --seeit-blue-484: #087caf;
  --seeit-cyan-484: #11a5c8;
  --seeit-orange-484: #f5a000;
  --seeit-line-484: #d8e4eb;
}

html,
body {
  overflow-x: clip;
}

/*
 * Der fixe Header wird gegen dieselbe Layoutbreite wie der normale
 * Dokumentfluss zentriert. Die von layout-4.8.3.js gemessene Scrollbarbreite
 * verhindert den früheren Versatz um einige Pixel.
 */
header.header.container {
  right: var(--seeit-scrollbar-width, 0px) !important;
  left: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: var(--seeit-shell) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  transform: none !important;
}

#page,
#breadcrumb-navigation.container,
#main-content,
footer.footer.container {
  position: relative;
  right: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: var(--seeit-shell) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  box-sizing: border-box !important;
}

#page,
#main-content,
#main-content > section,
#main-content > article,
#main-content > div {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Breadcrumb exakt an der linken Kante des Logo-/Navigationskastens. */
#breadcrumb-navigation.container {
  padding: 15px 0 !important;
}
#breadcrumb-navigation > ul {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
#breadcrumb-navigation > ul > li:first-child {
  padding-left: 0 !important;
  border-left: 0 !important;
}
.sit-breadcrumbs.sit-shell {
  width: 100% !important;
  max-width: var(--seeit-shell) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  box-sizing: border-box !important;
}
.sit-breadcrumbs ol {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/*
 * Moderne Seiten nutzen nur einen kleinen gemeinsamen Innenabstand. Alte
 * verschachtelte Container erhalten keine zweite Maximalbreite oder ein
 * zusätzliches 4-vw-Gutter mehr.
 */
:is(
  .seeit-contact-page,
  .seeit-hours-page,
  .seeit-locations-page,
  .seeit-career-page,
  .seeit-etermin-page,
  .booking-page,
  .booking-cancel-page,
  .ticket-portal-page,
  .seeit-support-page,
  .seeit-order-page,
  .model-catalog-page,
  .seeit-model-catalog,
  .seeit-editorial-page,
  .seeit-editorial-cms-page,
  .seeit-news-page,
  .seeit-news-article,
  .seeit-news-archive,
  .seeit-article-detail,
  .locations-page
) > section > .container,
:is(
  .seeit-contact-page,
  .seeit-hours-page,
  .seeit-locations-page,
  .seeit-career-page,
  .seeit-etermin-page,
  .booking-page,
  .booking-cancel-page,
  .ticket-portal-page,
  .seeit-support-page,
  .seeit-order-page,
  .model-catalog-page,
  .seeit-model-catalog,
  .seeit-editorial-page,
  .seeit-editorial-cms-page,
  .seeit-news-page,
  .seeit-news-article,
  .seeit-news-archive,
  .seeit-article-detail,
  .locations-page
) > .container {
  width: 100% !important;
  max-width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: var(--seeit-content-pad) !important;
  padding-left: var(--seeit-content-pad) !important;
  box-sizing: border-box !important;
}

/* Bootstrap-3-Clearfix-Elemente dürfen in modernen Gridbereichen keine
 * unsichtbaren zusätzlichen Spalten erzeugen. */
:is(
  .seeit-etermin-page,
  .booking-page,
  .seeit-hours-page,
  .seeit-contact-page,
  .seeit-locations-page,
  .seeit-career-page,
  .seeit-order-page,
  .ticket-portal-page,
  .seeit-support-page,
  .seeit-news-page,
  .seeit-news-article,
  .seeit-model-catalog,
  footer.footer
) :is(.container,.row)::before,
:is(
  .seeit-etermin-page,
  .booking-page,
  .seeit-hours-page,
  .seeit-contact-page,
  .seeit-locations-page,
  .seeit-career-page,
  .seeit-order-page,
  .ticket-portal-page,
  .seeit-support-page,
  .seeit-news-page,
  .seeit-news-article,
  .seeit-model-catalog,
  footer.footer
) :is(.container,.row)::after {
  display: none !important;
  content: none !important;
}

/* Kontrast: niemals blaue Schrift auf blauer oder dunkelblauer Fläche. */
:is(
  .seeit-dark-panel,
  .seeit-hero,
  .booking-hero,
  .seeit-etermin-hero,
  .seeit-hours-contact,
  .model-catalog-cta,
  .ticket-status-box,
  .platform-success__card,
  .seeit-store-hours__card > header,
  [class*="__dark"],
  [class*="is-dark"]
) a:not(.seeit-secondary-link),
:is(
  .seeit-dark-panel,
  .seeit-hero,
  .booking-hero,
  .seeit-etermin-hero,
  .seeit-hours-contact,
  .model-catalog-cta,
  .ticket-status-box,
  .platform-success__card,
  .seeit-store-hours__card > header,
  [class*="__dark"],
  [class*="is-dark"]
) button {
  color: #fff !important;
}
.seeit-primary-link,
.platform-button:not(.platform-button--secondary),
.seeit-form-submit {
  color: #fff !important;
  background: var(--seeit-blue-484) !important;
  border-color: var(--seeit-blue-484) !important;
  text-decoration: none !important;
}
.seeit-primary-link:hover,
.seeit-primary-link:focus,
.platform-button:not(.platform-button--secondary):hover,
.platform-button:not(.platform-button--secondary):focus,
.seeit-form-submit:hover,
.seeit-form-submit:focus {
  color: #fff !important;
  background: var(--seeit-dark-484) !important;
  border-color: var(--seeit-dark-484) !important;
}
.seeit-secondary-link,
.platform-button--secondary {
  color: var(--seeit-navy-484) !important;
  background: #fff !important;
  border-color: #b9ceda !important;
}

/* Terminvereinbarung: kompakt, ausgewogen und ohne leere Großflächen. */
.seeit-etermin-hero {
  min-height: 0 !important;
  padding: 40px 0 !important;
}
.seeit-etermin-hero__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 390px) !important;
  gap: 38px !important;
  align-items: center !important;
}
.seeit-etermin-hero__copy {
  max-width: 780px !important;
}
.seeit-etermin-hero__copy h1 {
  max-width: 700px !important;
  margin: 8px 0 16px !important;
  font-size: clamp(42px, 4vw, 61px) !important;
  line-height: 1.025 !important;
}
.seeit-etermin-hero__copy p {
  max-width: 690px !important;
  margin-bottom: 18px !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
}
.seeit-etermin-hero__services,
.seeit-etermin-hero__actions {
  gap: 8px !important;
}
.seeit-etermin-hero__media {
  width: 100% !important;
  max-width: 390px !important;
  margin: 0 0 0 auto !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.52) !important;
  border-top: 4px solid var(--seeit-orange-484) !important;
  background: #fff !important;
  box-shadow: 0 20px 44px rgba(0,25,45,.22) !important;
}
.seeit-etermin-hero__media img {
  display: block !important;
  width: 100% !important;
  height: 185px !important;
  padding: 13px 20px !important;
  object-fit: contain !important;
  background: linear-gradient(145deg,#fff,#edf5f8) !important;
}
.seeit-etermin-hero__media figcaption {
  display: grid !important;
  gap: 5px !important;
  padding: 14px 17px 16px !important;
  background: var(--seeit-dark-484) !important;
}
.seeit-etermin-hero__media figcaption strong,
.seeit-etermin-hero__media figcaption span,
.seeit-etermin-hero__media figcaption a {
  color: #fff !important;
}
.seeit-etermin-calendar {
  padding: 38px 0 46px !important;
}
.seeit-etermin-calendar__head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 190px !important;
  gap: 22px !important;
  align-items: end !important;
  margin-bottom: 18px !important;
}
.seeit-etermin-calendar__head > div:first-child {
  max-width: 880px !important;
}
.seeit-etermin-service-strip {
  margin-top: 16px !important;
}
.seeit-appointment-embed {
  min-height: 0 !important;
  margin-top: 18px !important;
  padding: 18px !important;
  overflow: visible !important;
}
.seeit-appointment-embed iframe {
  min-height: 500px !important;
}
.seeit-etermin-notes {
  padding: 22px 0 30px !important;
}
.seeit-etermin-notes > .container {
  padding-right: var(--seeit-content-pad) !important;
  padding-left: var(--seeit-content-pad) !important;
}

/* Öffnungszeiten, Standorte und Kontakt schöpfen den Rahmen vollständig aus. */
.seeit-store-hours,
.seeit-contact-main,
.seeit-contact-body,
.seeit-hours-contact,
.location-network,
.locations-network {
  width: 100% !important;
}
.seeit-store-hours__grid,
.seeit-contact-layout,
.seeit-hours-contact__grid,
.location-network__grid,
.locations-network__grid {
  width: 100% !important;
  max-width: none !important;
}
.seeit-store-hours__card,
.seeit-contact-layout > *,
.location-network__grid > * {
  min-width: 0 !important;
}
.seeit-store-hours {
  padding-top: 44px !important;
  padding-bottom: 54px !important;
}
.seeit-store-hours__card > header address {
  margin-bottom: 0 !important;
}

/* Footer ohne doppelten Außen- und Innenabstand. */
footer.footer.container {
  padding: 0 !important;
}
footer.footer .row {
  width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}
footer.footer nav.footer-sections,
footer.footer nav.social-media,
footer.footer .footer-sections,
footer.footer .social-media,
footer.footer .copyright {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
footer.footer nav.footer-sections .section,
footer.footer .footer-sections .section {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
footer.footer .copyright {
  width: auto !important;
}
footer.footer .footer-main-row > *,
footer.footer .footer-bottom > * {
  min-width: 0 !important;
}

footer.footer .footer-main-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(255px, 315px) !important;
  gap: 26px !important;
  align-items: center !important;
  padding: 24px var(--seeit-content-pad) 18px !important;
}
footer.footer .footer-sections {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
footer.footer .footer-sections .section {
  min-width: 0 !important;
}
footer.footer .social-media {
  min-width: 0 !important;
  align-self: center !important;
}
footer.footer .footer-bottom {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 20px !important;
  align-items: end !important;
  padding: 16px var(--seeit-content-pad) 20px !important;
}
footer.footer .footer-bottom__links {
  display: grid !important;
  gap: 9px !important;
  min-width: 0 !important;
}
footer.footer .footer-legal-links,
footer.footer .footer-service-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 14px !important;
}
footer.footer .footer-group-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
footer.footer .footer-group-links a {
  min-width: 0 !important;
  width: auto !important;
  padding: 9px 12px !important;
}
footer.footer .copyright {
  align-self: end !important;
}

/* Legacy-Preisboxen: korrekt dekodiertes Markup bleibt lesbar. */
.dynamic-service-content .price-box,
.dynamic-service-content [class*="preis"],
.seeit-editor-content [class*="preis"],
.sit-price-content {
  overflow-wrap: anywhere;
}
.sit-price-content b,
.sit-price-content strong,
.dynamic-service-content b,
.dynamic-service-content strong,
.seeit-editor-content b,
.seeit-editor-content strong {
  font-weight: 800 !important;
}

@media (max-width: 1100px) {
  :root { --seeit-content-pad: 20px; }
  .seeit-etermin-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(270px, 340px) !important;
    gap: 28px !important;
  }
  footer.footer .footer-main-row {
    grid-template-columns: 1fr !important;
  }
  footer.footer .social-media {
    text-align: left !important;
  }
}

@media (max-width: 820px) {
  :root { --seeit-content-pad: 16px; }
  #breadcrumb-navigation.container {
    padding-right: var(--seeit-content-pad) !important;
    padding-left: var(--seeit-content-pad) !important;
  }
  .seeit-etermin-hero__grid,
  .seeit-etermin-calendar__head,
  .seeit-etermin-service-strip,
  .seeit-etermin-notes > .container {
    grid-template-columns: 1fr !important;
  }
  .seeit-etermin-hero__media {
    max-width: 520px !important;
    margin-left: 0 !important;
  }
  .seeit-appointment-embed {
    padding: 10px !important;
  }
  footer.footer .footer-sections {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  footer.footer .footer-bottom {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 520px) {
  :root { --seeit-content-pad: 14px; }
  .seeit-etermin-hero {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }
  .seeit-etermin-hero__copy h1 {
    font-size: 37px !important;
  }
  .seeit-etermin-hero__media img {
    height: 170px !important;
  }
  footer.footer .footer-sections {
    grid-template-columns: 1fr 1fr !important;
    gap: 20px 14px !important;
  }
  footer.footer .footer-group-links a {
    width: 100% !important;
  }
}
