/*
 * SEE-IT 4.8.3
 * Präzise Rahmenausrichtung, Kontrastkorrekturen und belastbare Layouts für
 * Termin, Karriere, Modelle, Tickets und ältere Editorinhalte.
 */

:root {
  --seeit-shell: 1440px;
  --seeit-shell-gutter: clamp(22px, 4vw, 68px);
  --seeit-navy-483: #082f55;
  --seeit-dark-483: #032643;
  --seeit-blue-483: #087caf;
  --seeit-orange-483: #f5a000;
}

html,
body {
  overflow-x: clip;
}

/*
 * Der fixe Header und normale Dokumentfluss werden mit derselben Methode
 * zentriert. So entsteht auf Desktop kein scrollbarbedingter 7–9-px-Versatz.
 */
header.header.container {
  right: 0 !important;
  left: 0 !important;
  width: 100% !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 {
  width: 100% !important;
  max-width: var(--seeit-shell) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  box-sizing: border-box;
}

#page {
  min-width: 0;
}

/* Alle nachträglich ergänzten Vollbreitenbereiche bleiben exakt in der Navi-Kante. */
#main-content > section,
#main-content > article,
#main-content > div,
footer.footer.container {
  max-width: 100%;
  box-sizing: border-box;
}

/* Gut lesbare Aktionen auf dunklen Flächen. */
.platform-button,
.seeit-primary-link,
.seeit-form-submit,
.model-catalog-hero .platform-button,
.model-catalog-cta .platform-button,
.booking-page .platform-button,
.ticket-portal-page .platform-button,
.seeit-support-page .platform-button,
.seeit-order-page .seeit-primary-link,
.seeit-career-page .seeit-primary-link,
.seeit-etermin-page .seeit-primary-link {
  color: #fff !important;
  text-decoration: none !important;
}

.platform-button:not(.platform-button--secondary),
.seeit-primary-link,
.seeit-form-submit {
  background: var(--seeit-blue-483) !important;
  border-color: var(--seeit-blue-483) !important;
}

.platform-button:not(.platform-button--secondary):hover,
.platform-button:not(.platform-button--secondary):focus,
.seeit-primary-link:hover,
.seeit-primary-link:focus,
.seeit-form-submit:hover,
.seeit-form-submit:focus {
  color: #fff !important;
  background: var(--seeit-navy-483) !important;
  border-color: var(--seeit-navy-483) !important;
}

.platform-button--secondary,
.seeit-secondary-link {
  color: var(--seeit-navy-483) !important;
  background: #fff !important;
  border-color: #b8cedc !important;
}

.platform-button--secondary:hover,
.platform-button--secondary:focus,
.seeit-secondary-link:hover,
.seeit-secondary-link:focus {
  color: #fff !important;
  background: var(--seeit-navy-483) !important;
  border-color: var(--seeit-navy-483) !important;
}

/* Verhindert blau auf blau in Karten, Success-Boxen und Hero-Aktionen. */
[style*="background-color: #006bac"] a,
[style*="background:#006bac"] a,
[style*="background-color:#006bac"] a,
[style*="background:#087caf"] a,
[style*="background-color:#087caf"] a,
[style*="background:#082f55"] a,
[style*="background-color:#082f55"] a,
.platform-success__card .platform-button,
.ticket-status-box .platform-button {
  color: #fff !important;
}

/* ---------- Terminvereinbarung / Vor-Ort-Service ---------- */
.seeit-etermin-hero {
  padding: clamp(48px, 5vw, 76px) 0 !important;
  background: linear-gradient(118deg, #073358 0%, #086d94 58%, #0c95b2 100%) !important;
}

.seeit-etermin-hero__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(350px, .92fr) !important;
  gap: clamp(38px, 6vw, 84px) !important;
  align-items: center !important;
  min-height: 0 !important;
}

.seeit-etermin-hero__copy {
  max-width: 720px;
}

.seeit-etermin-hero__copy h1 {
  max-width: 680px;
  margin-bottom: 20px !important;
  font-size: clamp(43px, 5.1vw, 76px) !important;
  line-height: 1.02 !important;
}

.seeit-etermin-hero__copy p {
  max-width: 660px;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

.seeit-etermin-hero__media {
  width: 100%;
  max-width: 560px;
  margin: 0 auto !important;
  border: 7px solid rgba(255,255,255,.18) !important;
  background: #fff;
  box-shadow: 0 28px 70px rgba(0, 20, 38, .28);
}

.seeit-etermin-hero__media img {
  display: block;
  width: 100%;
  height: clamp(240px, 28vw, 370px);
  object-fit: contain;
  object-position: center;
  background: linear-gradient(145deg, #f8fbfd, #e7f1f6);
}

.seeit-etermin-hero__media figcaption {
  position: static !important;
  display: grid;
  gap: 5px;
  padding: 19px 22px !important;
  color: #fff !important;
  background: var(--seeit-dark-483) !important;
}

.seeit-etermin-hero__media figcaption a {
  color: #42c8ff !important;
}

.seeit-etermin-calendar {
  padding: clamp(44px, 5vw, 72px) 0 !important;
}

.seeit-etermin-calendar__head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 220px !important;
  gap: 30px !important;
  align-items: end !important;
  max-width: none !important;
}

.seeit-etermin-calendar__contact {
  min-width: 0 !important;
  padding: 20px !important;
  color: #fff !important;
  background: var(--seeit-navy-483) !important;
  border-top: 4px solid var(--seeit-orange-483) !important;
}

.seeit-etermin-calendar__contact a {
  color: #66d5ff !important;
}

.seeit-etermin-service-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.seeit-appointment-embed {
  width: 100% !important;
  min-height: 620px !important;
  margin-top: 24px !important;
  padding: clamp(22px, 3vw, 38px) !important;
  overflow: visible !important;
  background: #fff !important;
  border-top: 4px solid var(--seeit-blue-483) !important;
  box-shadow: 0 18px 50px rgba(6, 48, 78, .10) !important;
}

.seeit-appointment-embed iframe,
.seeit-appointment-embed > div,
.seeit-appointment-embed > section {
  width: 100% !important;
  max-width: 100% !important;
}

.seeit-etermin-notes > .container {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* ---------- Karriere ---------- */
.seeit-career-jobs {
  padding-top: clamp(44px, 5vw, 76px) !important;
  padding-bottom: clamp(56px, 6vw, 92px) !important;
}

.seeit-career-job-list {
  display: grid !important;
  gap: 30px !important;
  width: 100% !important;
}

.seeit-career-job {
  display: grid !important;
  grid-template-columns: minmax(300px, 390px) minmax(0, 1fr) !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid #d9e5ec !important;
  border-top: 4px solid var(--seeit-blue-483) !important;
  background: #fff !important;
  box-shadow: 0 18px 44px rgba(8, 47, 85, .09) !important;
}

.seeit-career-job:nth-child(even) {
  grid-template-columns: minmax(300px, 390px) minmax(0, 1fr) !important;
}

.seeit-career-job__media {
  min-height: 340px !important;
  max-height: none !important;
  background: #edf4f7 !important;
}

.seeit-career-job__media img {
  width: 100% !important;
  height: 100% !important;
  min-height: 340px !important;
  max-height: 560px !important;
  object-fit: cover !important;
}

.seeit-career-job__main {
  display: block !important;
  min-width: 0 !important;
  padding: clamp(28px, 4vw, 54px) !important;
}

.seeit-career-job__main > h3 {
  max-width: 900px;
  margin: 14px 0 18px !important;
  font-size: clamp(29px, 3vw, 43px) !important;
  line-height: 1.08 !important;
}

.seeit-career-job__facts {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 24px 0 !important;
}

.seeit-career-job__details {
  display: block !important;
  width: 100% !important;
  margin: 24px 0 0 !important;
  overflow: hidden !important;
  border: 1px solid #cbdde8 !important;
  border-radius: 0 !important;
  background: #fff !important;
}

.seeit-career-job__details > summary {
  display: flex !important;
  width: 100% !important;
  min-height: 62px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding: 17px 21px !important;
  cursor: pointer !important;
  list-style: none !important;
  color: #fff !important;
  background: var(--seeit-navy-483) !important;
  border: 0 !important;
  font-weight: 800 !important;
}

.seeit-career-job__details > summary::-webkit-details-marker {
  display: none;
}

.seeit-career-job__details > summary small {
  color: rgba(255,255,255,.78) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.seeit-career-job__details[open] > summary {
  background: var(--seeit-blue-483) !important;
}

.seeit-career-job__modules {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  background: #fff !important;
}

.seeit-career-job__modules > section,
.seeit-career-job__modules > aside {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(24px, 3.4vw, 42px) !important;
  border: 0 !important;
  border-bottom: 1px solid #dce7ed !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

.seeit-career-job__modules > section:nth-child(even) {
  background: #f5f9fb !important;
}

.seeit-career-job__modules h4 {
  margin: 0 0 16px !important;
  color: var(--seeit-navy-483) !important;
  font-size: 23px !important;
  line-height: 1.25 !important;
}

.seeit-job-module-content,
.seeit-job-module-content * {
  position: static !important;
  float: none !important;
  clear: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  transform: none !important;
  columns: auto !important;
  column-count: auto !important;
  column-width: auto !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
  box-sizing: border-box !important;
}

.seeit-job-module-content p,
.seeit-job-module-content li,
.seeit-career-job__modules aside {
  color: #334e61 !important;
  font-size: 15px !important;
  line-height: 1.72 !important;
}

.seeit-job-module-content ul,
.seeit-job-module-content ol {
  display: grid !important;
  gap: 8px !important;
  padding-left: 24px !important;
}

.seeit-job-module-content pre,
.seeit-job-module-content code {
  display: block !important;
  width: 100% !important;
  margin: 12px 0 !important;
  padding: 14px !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
}

.seeit-career-job__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 24px !important;
}

/* ---------- Hersteller-/Modellübersichten ---------- */
.model-catalog-heading {
  align-items: flex-start !important;
}

.model-card__status {
  color: #526b7c !important;
  letter-spacing: .08em !important;
}

.model-card__link {
  color: #006d9d !important;
}

.model-catalog-cta,
.model-catalog-hero {
  color: #fff !important;
}

.model-catalog-cta a,
.model-catalog-hero a {
  color: #fff !important;
}

/* ---------- Ältere Leistungs-/Preisblöcke ---------- */
.seeit-editor-content,
.seeit-editorial-cms-page,
.dynamic-service-content {
  overflow-wrap: anywhere;
}

.seeit-editor-content pre,
.dynamic-service-content pre {
  padding: 18px !important;
  margin: 20px 0 !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
}

/* ---------- Footer ---------- */
footer.footer.container {
  padding-right: clamp(26px, 4vw, 68px) !important;
  padding-left: clamp(26px, 4vw, 68px) !important;
}

footer.footer .footer-main-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .42fr) !important;
  gap: clamp(28px, 4vw, 60px) !important;
  align-items: center !important;
}

footer.footer .footer-sections {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(140px, 1fr)) !important;
  gap: 28px !important;
}

footer.footer .social-media {
  min-width: 0 !important;
}

footer.footer .footer-bottom {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 26px !important;
  align-items: end !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .seeit-etermin-hero__grid,
  .seeit-career-job,
  .seeit-career-job:nth-child(even) {
    grid-template-columns: 1fr !important;
  }

  .seeit-etermin-hero__media {
    max-width: 680px;
    margin-left: 0 !important;
  }

  .seeit-career-job__media,
  .seeit-career-job__media img {
    min-height: 280px !important;
    max-height: 430px !important;
  }

  footer.footer .footer-main-row {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 820px) {
  .seeit-etermin-calendar__head,
  .seeit-etermin-service-strip,
  .seeit-etermin-notes > .container,
  .seeit-career-job__facts {
    grid-template-columns: 1fr !important;
  }

  .seeit-etermin-calendar__contact {
    max-width: 360px;
  }

  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: 560px) {
  :root {
    --seeit-shell-gutter: 18px;
  }

  .seeit-etermin-hero__copy h1 {
    font-size: 42px !important;
  }

  .seeit-appointment-embed {
    padding: 14px !important;
  }

  .seeit-career-job__main {
    padding: 24px 20px !important;
  }

  .seeit-career-job__modules > section,
  .seeit-career-job__modules > aside {
    padding: 23px 20px !important;
  }

  footer.footer .footer-sections {
    grid-template-columns: 1fr !important;
  }
}


/* ---------- 4.8.3 final alignment and legacy reset ---------- */
:root {
  --seeit-scrollbar-width: 0px;
}

/*
 * A fixed element is centered against the visual viewport while normal content
 * is centered in the layout viewport (without the vertical scrollbar). The
 * measured scrollbar compensation keeps both edges pixel-identical.
 */
header.header.container {
  right: var(--seeit-scrollbar-width) !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;
}

#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;
}

/* All modern modules use the exact same inner gutter. */
.seeit-etermin-page > section > .container,
.seeit-career-page > section > .container,
.seeit-model-catalog > section > .container,
.ticket-portal-page > section > .container,
.seeit-support-page > section > .container,
.seeit-hours-page > section > .container,
.seeit-order-page > section > .container,
.seeit-news-page > section > .container,
.seeit-news-article > section > .container,
.seeit-news-archive > section > .container,
.seeit-contact-page > section > .container,
.seeit-locations-page > section > .container {
  padding-right: var(--seeit-shell-gutter) !important;
  padding-left: var(--seeit-shell-gutter) !important;
}

/* Explicit contrast, including anchors nested in dark cards. */
.seeit-etermin-hero a,
.seeit-etermin-calendar__contact a,
.model-catalog-hero a,
.model-catalog-cta a,
.ticket-portal-hero a,
.seeit-support-page .platform-hero a,
.sit-contact-strip a,
footer.footer a,
[class*="dark"] > a,
[class*="navy"] > a {
  color: #fff !important;
}

.seeit-etermin-hero__actions .seeit-primary-link,
.model-catalog-hero__actions .seeit-primary-link,
.model-catalog-cta .seeit-primary-link,
.platform-success__card .platform-button,
.ticket-status-box .platform-button {
  color: #fff !important;
  background: #087caf !important;
  border-color: #087caf !important;
}

.seeit-etermin-hero__actions .seeit-secondary-link,
.model-catalog-hero__actions .seeit-secondary-link,
.model-catalog-cta .seeit-secondary-link {
  color: #082f55 !important;
  background: #fff !important;
  border-color: rgba(255,255,255,.74) !important;
}

/* Compact, balanced booking hero – no unused third column or tiny media. */
.seeit-etermin-hero__grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr) !important;
  gap: clamp(42px, 5vw, 76px) !important;
}
.seeit-etermin-hero__media {
  max-width: 610px !important;
  border-width: 1px !important;
  border-top: 5px solid #f5a000 !important;
  background: rgba(255,255,255,.98) !important;
}
.seeit-etermin-hero__media img {
  height: clamp(260px, 26vw, 390px) !important;
  padding: clamp(18px, 2.8vw, 38px) !important;
  object-fit: contain !important;
  background: linear-gradient(145deg,#fff,#edf5f8) !important;
}
.seeit-etermin-hero__copy h1 {
  font-size: clamp(42px, 4.6vw, 70px) !important;
}
.seeit-etermin-calendar__head h2 {
  margin: 7px 0 10px !important;
}
.seeit-appointment-embed {
  min-height: 560px !important;
}

/* Career modules are isolated from legacy Bootstrap/editor widths and floats. */
.seeit-career-job,
.seeit-career-job * {
  box-sizing: border-box !important;
}
.seeit-career-job__main,
.seeit-career-job__details,
.seeit-career-job__modules,
.seeit-job-module-content,
.seeit-job-module-content > * {
  min-width: 0 !important;
  max-width: 100% !important;
}
.seeit-job-module-content div,
.seeit-job-module-content section,
.seeit-job-module-content article,
.seeit-job-module-content aside,
.seeit-job-module-content header,
.seeit-job-module-content footer,
.seeit-job-module-content .row,
.seeit-job-module-content [class*="col-"] {
  display: block !important;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.seeit-job-module-content p {
  margin: 0 0 14px !important;
  padding: 0 !important;
}
.seeit-job-module-content h3,
.seeit-job-module-content h4,
.seeit-job-module-content h5,
.seeit-job-module-content h6 {
  margin: 22px 0 11px !important;
  padding: 0 !important;
  color: #082f55 !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}
.seeit-job-module-content h3:first-child,
.seeit-job-module-content h4:first-child,
.seeit-job-module-content h5:first-child,
.seeit-job-module-content h6:first-child {
  margin-top: 0 !important;
}
.seeit-job-module-content ul,
.seeit-job-module-content ol {
  margin: 0 0 16px !important;
  padding-left: 24px !important;
}
.seeit-job-module-content li {
  margin: 0 !important;
  padding: 0 !important;
}
.seeit-job-module-content br {
  display: initial !important;
}
.seeit-career-job__details > summary span,
.seeit-career-job__details > summary small {
  color: #fff !important;
}

/* Model catalog cards always keep readable labels and actions. */
.model-card__status {
  color: #435f72 !important;
}
.model-card.is-current .model-card__status {
  color: #075f88 !important;
}
.model-card__link,
.model-catalog-heading > a {
  color: #006b99 !important;
  background: transparent !important;
}
.model-card__link:hover,
.model-card__link:focus,
.model-catalog-heading > a:hover,
.model-catalog-heading > a:focus {
  color: #082f55 !important;
}

/* Legacy price/editor content must render markup, never literal escaped tags. */
.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) {
  .seeit-etermin-hero__grid {
    grid-template-columns: 1fr !important;
  }
  .seeit-etermin-hero__media {
    max-width: 720px !important;
  }
}

@media (max-width: 560px) {
  .seeit-etermin-hero__copy h1 {
    font-size: 39px !important;
  }
  .seeit-etermin-hero__media img {
    height: 250px !important;
    padding: 14px !important;
  }
}
