/**
 * Theme footer — full-width legal bar: brand accent, wrap-friendly links, DE-friendly type.
 */

/* Brand tokens (matches store / Mein Konto #0054a3) */
body #colophon,
body .site-footer,
body footer.site-footer {
  --ss-footer-brand: var(--ss-primary-color, var(--ast-global-color-0, #0054a3));
  --ss-footer-bg: #ffffff;
  --ss-footer-text: #334155;
  --ss-footer-muted: #64748b;
  --ss-footer-link: #1e3a5f;
  --ss-footer-border: rgba(0, 84, 163, 0.14);
  --ss-footer-font-size: 0.875rem; /* 14px — same on all pages / breakpoints */
}

/* -------------------------------------------------------------------------- */
/* Full-bleed footer                                                         */
/* -------------------------------------------------------------------------- */

body .site-footer,
body footer.site-footer,
body #colophon {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  margin-top: 28px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border-top: 3px solid var(--ss-footer-brand) !important;
  box-shadow: none !important;
  color: var(--ss-footer-text);
}

/* Kill Astra content-width box inside footer */
body #colophon .site-primary-footer-wrap,
body #colophon .site-above-footer-wrap,
body #colophon .site-below-footer-wrap,
body #colophon .ast-builder-grid-row-container,
body #colophon .ast-builder-grid-row-container-inner,
body #colophon .site-primary-footer-inner-wrap,
body #colophon .ast-builder-footer-grid-columns,
body #colophon .ast-builder-grid-row {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

body #colophon .ast-builder-grid-row-container-inner,
body #colophon .ast-container {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Single full-width stack: menu → copyright */
body #colophon .ast-builder-footer-grid-columns,
body #colophon .site-primary-footer-inner-wrap.ast-builder-grid-row {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  grid-template-columns: 1fr !important;
  padding: 22px 20px 18px !important;
}

body #content,
body #primary,
body .site-content {
  margin-bottom: 0 !important;
}

body #colophon .site-primary-footer-wrap,
body #colophon .site-above-footer-wrap,
body #colophon .site-below-footer-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
}

body #colophon .site-footer-section,
body #colophon .site-footer-primary-section-1,
body #colophon .site-footer-primary-section-2,
body #colophon .site-footer-primary-section-3,
body #colophon .site-footer-primary-section-4 {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  gap: 14px !important;
  padding: 0 12px !important;
  margin: 0 auto !important;
  float: none !important;
  overflow-x: auto !important;
}

/* Menu block: full row */
body #colophon .site-footer-section > .footer-widget-area,
body #colophon .site-footer-section > [data-section="section-footer-menu"] {
  order: 1 !important;
  width: 100% !important;
  flex: 0 0 auto !important;
}

/* Copyright: full row under links */
body #colophon .site-footer-section > .ast-footer-copyright,
body #colophon .site-footer-section > [data-section="section-footer-builder"],
body #colophon .ast-builder-layout-element.ast-footer-copyright {
  order: 2 !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

body #colophon .footer-widget-area,
body #colophon .footer-bar-navigation,
body #colophon .footer-navigation,
body #colophon .footer-nav-wrap {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

/* -------------------------------------------------------------------------- */
/* Footer menu — one row on desktop (like SkyLoop overview); wrap on mobile  */
/* -------------------------------------------------------------------------- */

body #colophon #astra-footer-menu,
body #colophon .astra-footer-horizontal-menu,
body .site-footer #astra-footer-menu {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  align-content: center !important;
  gap: 0.5rem 1.25rem !important;
  list-style: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: max-content !important;
  max-width: 100% !important;
  float: none !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

body #colophon #astra-footer-menu > .menu-item,
body .site-footer #astra-footer-menu > .menu-item {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  border: none !important;
  border-right: none !important;
  background: none !important;
  text-align: center !important;
}

/* No pipe separators / pseudo pills */
body #colophon #astra-footer-menu > .menu-item:not(:last-child),
body .site-footer #astra-footer-menu > .menu-item:not(:last-child),
body #colophon #astra-footer-menu > .menu-item::after,
body #colophon #astra-footer-menu > .menu-item::before,
body .site-footer #astra-footer-menu > .menu-item::after,
body .site-footer #astra-footer-menu > .menu-item::before {
  border: none !important;
  border-right: none !important;
  content: none !important;
  background: none !important;
}

body #colophon #astra-footer-menu > .menu-item > a,
body .site-footer #astra-footer-menu > .menu-item > a,
body #colophon #astra-footer-menu > .menu-item > a.menu-link,
body .site-footer #astra-footer-menu > .menu-item > a.menu-link,
body #colophon .footer-menu-container .menu-item > .menu-link,
body .site-footer .footer-menu-container .menu-item > .menu-link {
  display: inline-block !important;
  font-size: var(--ss-footer-font-size, 0.875rem) !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  color: var(--ss-footer-link) !important;
  padding: 2px 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  white-space: nowrap !important;
  text-align: center !important;
  transition: color 0.15s ease;
}

body #colophon #astra-footer-menu > .menu-item > a:hover,
body #colophon #astra-footer-menu > .menu-item > a:focus-visible,
body #colophon #astra-footer-menu > .menu-item.current-menu-item > a {
  color: var(--ss-footer-brand) !important;
  background: none !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  outline: none;
}

/* -------------------------------------------------------------------------- */
/* Copyright — single divider (wrapper only; avoid double line on nested p)  */
/* -------------------------------------------------------------------------- */

body #colophon .ast-builder-layout-element.ast-footer-copyright,
body .site-footer .ast-builder-layout-element.ast-footer-copyright {
  text-align: center !important;
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: 12px 8px 0 !important;
  border-top: 1px solid var(--ss-footer-border) !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Nested Astra markup: no second border / extra spacing */
body #colophon .ast-footer-copyright .ast-footer-copyright,
body #colophon .ast-footer-copyright p,
body .site-footer .ast-footer-copyright .ast-footer-copyright,
body .site-footer .ast-footer-copyright p {
  text-align: center !important;
  font-size: var(--ss-footer-font-size, 0.875rem) !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
  color: var(--ss-footer-muted) !important;
  border: none !important;
  border-top: none !important;
  box-shadow: none !important;
}

body #colophon .ast-footer-copyright a,
body .site-footer .ast-footer-copyright a {
  color: var(--ss-footer-brand) !important;
  text-decoration: none !important;
}

body #colophon .ast-footer-copyright a:hover {
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

/* Kill stray Astra footer separators / hr-like edges */
body #colophon .site-primary-footer-wrap,
body #colophon .site-below-footer-wrap,
body #colophon .site-above-footer-wrap,
body #colophon .ast-builder-grid-row {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* No trailing gap under footer / site shell */
body #page,
body .site,
html body {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body #colophon::after {
  display: none !important;
}

/* -------------------------------------------------------------------------- */
/* Tablet                                                                     */
/* -------------------------------------------------------------------------- */

@media (max-width: 921px) {
  body #colophon .ast-builder-footer-grid-columns,
  body #colophon .site-primary-footer-inner-wrap.ast-builder-grid-row {
    padding: 18px 16px 16px !important;
    gap: 12px !important;
  }

  body #colophon #astra-footer-menu > .menu-item > a,
  body .site-footer #astra-footer-menu > .menu-item > a {
    font-size: var(--ss-footer-font-size, 0.875rem) !important;
  }
}

/* -------------------------------------------------------------------------- */
/* Mobile — 2-col chip grid; allow long labels to wrap inside chips           */
/* -------------------------------------------------------------------------- */

@media (max-width: 768px) {
  body #colophon,
  body .site-footer,
  body footer.site-footer {
    margin-top: 20px !important;
  }

  body #colophon .ast-builder-footer-grid-columns,
  body #colophon .site-primary-footer-inner-wrap.ast-builder-grid-row {
    padding: 16px 12px 14px !important;
    gap: 12px !important;
  }

  body #colophon .site-footer-section,
  body #colophon .site-footer-primary-section-1,
  body #colophon .site-footer-primary-section-2,
  body #colophon .site-footer-primary-section-3,
  body #colophon .site-footer-primary-section-4 {
    gap: 12px !important;
  }

  body #colophon #astra-footer-menu,
  body #colophon .astra-footer-horizontal-menu,
  body #colophon .astra-footer-tablet-vertical-menu,
  body #colophon .astra-footer-mobile-vertical-menu,
  body .site-footer #astra-footer-menu {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 0.4rem 1rem !important;
  }

  body #colophon #astra-footer-menu > .menu-item,
  body .site-footer #astra-footer-menu > .menu-item {
    width: auto !important;
    flex: 0 0 auto !important;
  }

  body #colophon #astra-footer-menu > .menu-item > a,
  body .site-footer #astra-footer-menu > .menu-item > a {
    display: inline-block !important;
    white-space: nowrap !important;
    text-align: center !important;
    font-size: var(--ss-footer-font-size, 0.875rem) !important;
    line-height: 1.35 !important;
    padding: 2px 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    min-height: 0 !important;
  }

  body #colophon .ast-builder-layout-element.ast-footer-copyright,
  body .site-footer .ast-builder-layout-element.ast-footer-copyright {
    padding-top: 10px !important;
  }

  body #colophon .ast-footer-copyright p,
  body .site-footer .ast-footer-copyright p {
    font-size: var(--ss-footer-font-size, 0.875rem) !important;
  }
}

/* -------------------------------------------------------------------------- */
/* SkyLoop booking — footer bg matches header tint (#B2EEFF); type Regular   */
/* -------------------------------------------------------------------------- */

body.ss-brand-skyloop #colophon,
body.ss-brand-skyloop .site-footer,
body.ss-brand-skyloop footer.site-footer {
  --ss-footer-brand: var(--ss-header-fg, #17428c);
  --ss-footer-bg: var(--ss-header-bg, #b2eeff);
  --ss-footer-text: var(--ss-header-fg, #17428c);
  --ss-footer-muted: var(--ss-header-fg, #17428c);
  --ss-footer-link: var(--ss-header-fg, #17428c);
  --ss-footer-border: rgba(23, 66, 140, 0.2);
  --ss-footer-font-size: 0.875rem;
}

body.ss-brand-skyloop .site-footer,
body.ss-brand-skyloop footer.site-footer,
body.ss-brand-skyloop #colophon {
  background: var(--ss-footer-bg, #b2eeff) !important;
  background-color: var(--ss-footer-bg, #b2eeff) !important;
  background-image: none !important;
  border-top: 0 !important;
  color: var(--ss-footer-text) !important;
}

body.ss-brand-skyloop #colophon .site-primary-footer-wrap,
body.ss-brand-skyloop #colophon .site-above-footer-wrap,
body.ss-brand-skyloop #colophon .site-below-footer-wrap,
body.ss-brand-skyloop #colophon .ast-builder-grid-row-container,
body.ss-brand-skyloop #colophon .ast-builder-grid-row-container-inner,
body.ss-brand-skyloop #colophon .site-primary-footer-inner-wrap,
body.ss-brand-skyloop #colophon .ast-builder-footer-grid-columns,
body.ss-brand-skyloop #colophon .ast-builder-grid-row,
body.ss-brand-skyloop #colophon .site-footer-section {
  background: transparent !important;
  background-color: transparent !important;
}

body.ss-brand-skyloop #colophon #astra-footer-menu > .menu-item > a,
body.ss-brand-skyloop .site-footer #astra-footer-menu > .menu-item > a,
body.ss-brand-skyloop #colophon #astra-footer-menu > .menu-item > .menu-link,
body.ss-brand-skyloop .site-footer #astra-footer-menu > .menu-item > .menu-link {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-size: var(--ss-footer-font-size, 0.875rem) !important;
  font-weight: 400 !important;
  font-synthesis: none !important;
  letter-spacing: 0 !important;
  color: var(--ss-footer-link) !important;
}

body.ss-brand-skyloop #colophon .ast-footer-copyright,
body.ss-brand-skyloop #colophon .ast-footer-copyright p,
body.ss-brand-skyloop .site-footer .ast-footer-copyright,
body.ss-brand-skyloop .site-footer .ast-footer-copyright p {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-size: var(--ss-footer-font-size, 0.875rem) !important;
  font-weight: 400 !important;
  font-synthesis: none !important;
  letter-spacing: 0 !important;
  color: var(--ss-footer-muted) !important;
}

body.ss-brand-skyloop #colophon #astra-footer-menu > .menu-item > a:hover,
body.ss-brand-skyloop .site-footer #astra-footer-menu > .menu-item > a:hover,
body.ss-brand-skyloop #colophon a:hover,
body.ss-brand-skyloop .site-footer a:hover {
  color: var(--ss-primary-color, #17428c) !important;
  opacity: 0.85;
  font-weight: 400 !important;
}

body.ss-brand-skyloop #colophon .copyright,
body.ss-brand-skyloop .site-footer .copyright {
  color: var(--ss-footer-muted) !important;
}

/* Staff dashboard: keep storefront chrome hidden */
body.ss-staff-dashboard-page .site-footer,
body.ss-staff-dashboard-page #colophon {
  display: none !important;
}
