/* Reveal footer – black/white luxury editorial */

.footerReveal_revealFooter__5jnaE {
  position: sticky;
  bottom: 0;
  z-index: 0;
  background: var(--public-footer-bg);
  color: var(--public-footer-fg);
  min-height: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-top: clamp(1.25rem, 3vw, 2rem);
  /* Keep first content below fixed header: use --header-h when set by layout */
  padding-top: max(clamp(1.5rem, 4vw, 2.5rem), var(--header-h));
}

@media (max-width: 600px) {
  .footerReveal_revealFooter__5jnaE {
    padding-top: max(1rem, var(--header-h));
    margin-top: clamp(1rem, 3vw, 2rem);
  }
}

.footerReveal_revealFooter__5jnaE a {
  color: var(--public-footer-fg);
}

.footerReveal_inner__M5BVW {
  max-width: min(1400px, calc(100vw - 2rem));
  margin: 0 auto;
  padding: clamp(2rem, 4vw, 3rem) clamp(1rem, 4vw, 3rem);
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 600px) {
  .footerReveal_inner__M5BVW {
    padding: 1.25rem 1rem 1rem;
  }
}

/* 4-cell grid: first column slightly wider so brand title fits on one line on desktop; min-height so it can grow with content */
.footerReveal_grid__2F460 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 36px 40px;
  align-items: start;
  margin-left: 0;
  min-height: 390px;
}

@media (min-width: 901px) {
  .footerReveal_grid__2F460 {
    gap: 36px 64px;
  }
}

/* Tablet: 2 columns – row1: Contact | Navigation, row2: Modelagentur | Social */
@media (max-width: 900px) and (min-width: 601px) {
  .footerReveal_grid__2F460 {
    grid-template-columns: 1fr 1fr;
    gap: 28px 32px;
    margin-left: 0;
  }

  .footerReveal_grid__2F460 > .footerReveal_contactBlock__LA10d {
    grid-column: 1;
    grid-row: 1;
  }

  .footerReveal_grid__2F460 > .footerReveal_navBlock__H77qZ:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
  }

  .footerReveal_grid__2F460 > .footerReveal_navBlock__H77qZ:nth-child(3) {
    grid-column: 1;
    grid-row: 2;
  }

  .footerReveal_grid__2F460 > .footerReveal_socialBlock__u0ece {
    grid-column: 2;
    grid-row: 2;
  }
}

/* Left: Brand + Contact – strong but not oversized; controlled width */
.footerReveal_contactBlock__LA10d {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: 20rem;
}

/* Brand title: one clean line on desktop (see media query); wraps only on small viewports */
.footerReveal_brandTitle__dOY3i {
  font-family: var(--font-inter), ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(1.875rem, 3.5vw, 2.875rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.08;
  margin: 0;
  color: var(--public-footer-fg);
}

.footerReveal_brandSubtitle__86Jmw {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--public-footer-muted);
  margin: 0;
}

.footerReveal_contactSubline__I1maF {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--public-footer-muted);
  margin: 0;
  max-width: 22ch;
  line-height: 1.4;
}

.footerReveal_contactDetails__OzEIS {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  margin-top: 0.25rem;
}

.footerReveal_contactLink__Ucgqf {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--public-footer-fg);
  text-decoration: none;
  transition: opacity 0.2s ease, text-decoration 0.2s ease;
}

.footerReveal_contactLink__Ucgqf:hover {
  opacity: 0.85;
  text-decoration: underline;
}

/* Section labels – uppercase, small, letter spacing; tighter rhythm below */
.footerReveal_sectionLabel__zQ11W {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--public-footer-muted);
  margin: 0 0 1rem 0;
}

/* Footer columns: single-column list under each section title */
.footerReveal_navBlock__H77qZ {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footerReveal_navList__dFeCz {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  width: 100%;
}

.footerReveal_navLink__xCMRm {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--public-footer-fg);
  text-decoration: none;
  transition: opacity 0.2s ease, text-decoration 0.2s ease;
  padding: 0.2em 0;
}

.footerReveal_navLink__xCMRm:hover {
  opacity: 0.85;
  text-decoration: underline;
}

.footerReveal_navGroupLabel__MtJMR {
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--public-footer-muted);
  margin-top: 1.25rem;
  margin-bottom: 0.25rem;
  grid-column: 1 / -1;
}

/* Column 4: Social block (Folgen) – align with other columns */
.footerReveal_socialBlock__u0ece {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footerReveal_socialLinks__5Gl90 {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.footerReveal_socialLink__93j9b {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--public-footer-fg);
  text-decoration: none;
  transition: opacity 0.2s ease, text-decoration 0.2s ease;
  padding: 0.3em 0;
}

.footerReveal_socialLink__93j9b:hover {
  opacity: 0.7;
  text-decoration: underline;
}

.footerReveal_socialIcon__8CVch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.footerReveal_socialIcon__8CVch svg {
  width: 18px;
  height: 18px;
}

/* Model strip (female only) or CMS image strip – stays in lower part via margin-top: auto on desktop */
.footerReveal_footerStripWrap__JfKjq {
  margin-top: clamp(0.75rem, 2vw, 1.25rem);
  width: 100%;
}

/* CMS-managed footer image strip (when stripImageUrls provided) */
.footerReveal_imageStrip__doVgo {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 0.25rem 0;
  width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.footerReveal_imageStrip__doVgo::-webkit-scrollbar {
  display: none;
}
.footerReveal_imageStripItem__UqDkb {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--public-footer-strip-bg);
}
.footerReveal_imageStripImg__efsxq {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Bottom bar – copyright + back to top; subtle, aligned */
.footerReveal_bottomBar__bWW8H {
  margin-top: clamp(0.75rem, 2vw, 1.25rem);
  padding-top: 0.75rem;
  border-top: 1px solid var(--public-footer-border);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
}

/* Desktop: footer height follows content; extra top padding so content is not stuck to top */
@media (min-width: 901px) {
  .footerReveal_revealFooter__5jnaE {
    min-height: auto;
  }

  .footerReveal_inner__M5BVW {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding-top: clamp(1.25rem, 3vw, 2rem);
    padding-bottom: clamp(1rem, 2vw, 1.5rem);
  }

  .footerReveal_grid__2F460 {
    grid-template-columns: 1.25fr 1fr 1fr 1fr;
    margin-left: clamp(1.5rem, 4%, 3rem);
  }

  .footerReveal_footerStripWrap__JfKjq {
    margin-top: auto;
  }

  .footerReveal_contactBlock__LA10d {
    max-width: none;
  }

  .footerReveal_brandTitle__dOY3i {
    white-space: nowrap;
  }

  .footerReveal_bottomBar__bWW8H {
    margin-top: 0.75rem;
  }
}

.footerReveal_copyright__glHa6 {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--public-footer-muted);
}

.footerReveal_bottomBarBackToTop__bIx6l {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--public-footer-muted);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.25em 0;
  text-decoration: none;
  transition: color 0.2s ease, opacity 0.2s ease;
}

.footerReveal_bottomBarBackToTop__bIx6l:hover {
  color: var(--public-footer-fg);
  opacity: 0.9;
}

/* Mobile: 2 columns; content starts under header (padding-top), readable size, fills to bottom */
@media (max-width: 600px) {
  .footerReveal_revealFooter__5jnaE {
    min-height: auto;
    overflow: visible;
  }

  .footerReveal_inner__M5BVW {
    padding: 1.15rem 1rem 1rem;
    min-height: 0;
    overflow: visible;
    width: 100%;
    box-sizing: border-box;
  }

  .footerReveal_grid__2F460 {
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem 1rem;
    min-height: 0;
    overflow: visible;
    width: 100%;
    align-items: start;
  }

  .footerReveal_grid__2F460 > .footerReveal_contactBlock__LA10d {
    grid-column: 1;
    grid-row: 1;
  }

  .footerReveal_grid__2F460 > .footerReveal_navBlock__H77qZ:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--public-footer-border);
  }

  .footerReveal_grid__2F460 > .footerReveal_navBlock__H77qZ:nth-child(3) {
    grid-column: 1;
    grid-row: 2;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--public-footer-border);
  }

  .footerReveal_grid__2F460 > .footerReveal_socialBlock__u0ece {
    grid-column: 2;
    grid-row: 2;
  }

  .footerReveal_contactBlock__LA10d {
    max-width: none;
    gap: 0.45rem;
    padding-bottom: 0.75rem;
    min-width: 0;
    overflow: visible;
  }

  .footerReveal_socialBlock__u0ece {
    padding-bottom: 0;
    min-width: 0;
  }

  .footerReveal_brandTitle__dOY3i {
    white-space: normal;
    max-width: none;
    line-height: 1.15;
    font-size: clamp(1.2rem, 5.2vw, 1.55rem);
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  .footerReveal_brandSubtitle__86Jmw {
    font-size: 0.6rem;
    letter-spacing: 0.16em;
  }

  .footerReveal_contactSubline__I1maF {
    font-size: 0.8125rem;
    max-width: none;
    line-height: 1.4;
  }

  .footerReveal_contactDetails__OzEIS {
    gap: 0.28rem;
  }

  .footerReveal_contactLink__Ucgqf {
    font-size: 0.8125rem;
    word-break: break-word;
  }

  .footerReveal_sectionLabel__zQ11W {
    font-size: 0.6rem;
    letter-spacing: 0.12em;
    margin-bottom: 0.4rem;
    color: var(--public-footer-muted);
  }

  .footerReveal_navBlock__H77qZ {
    padding-bottom: 0;
    min-width: 0;
  }

  .footerReveal_navList__dFeCz {
    gap: 0.12rem;
  }

  .footerReveal_navLink__xCMRm {
    min-height: 1.75rem;
    display: flex;
    align-items: center;
    font-size: 0.8125rem;
    padding: 0.18em 0;
    word-break: break-word;
  }

  .footerReveal_socialLinks__5Gl90 {
    gap: 0.12rem;
  }

  .footerReveal_socialLink__93j9b {
    min-height: 1.75rem;
    font-size: 0.8125rem;
    padding: 0.18em 0;
    word-break: break-word;
  }

  .footerReveal_socialIcon__8CVch svg {
    width: 14px;
    height: 14px;
  }

  .footerReveal_footerStripWrap__JfKjq {
    margin-top: 0.5rem;
    width: 100%;
  }

  .footerReveal_imageStripItem__UqDkb {
    width: 52px;
    height: 52px;
  }

  .footerReveal_bottomBar__bWW8H {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.6rem;
    margin-top: 0.6rem;
    padding-top: 0.6rem;
    border-top: 1px solid var(--public-footer-border);
  }

  .footerReveal_copyright__glHa6 {
    font-size: 0.6875rem;
    line-height: 1.4;
  }

  .footerReveal_bottomBarBackToTop__bIx6l {
    font-size: 0.7rem;
    padding: 0.35em 0;
  }
}

/* Tablet: 2 columns, full layout clear and complete */
@media (max-width: 900px) and (min-width: 601px) {
  .footerReveal_revealFooter__5jnaE {
    min-height: auto;
    overflow: visible;
  }

  .footerReveal_inner__M5BVW {
    min-height: 0;
    overflow: visible;
    padding: 1.75rem 1.25rem 1.5rem;
    width: 100%;
  }

  .footerReveal_grid__2F460 {
    overflow: visible;
    width: 100%;
  }

  .footerReveal_contactBlock__LA10d {
    max-width: none;
    gap: 0.5rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--public-footer-border);
  }

  .footerReveal_brandTitle__dOY3i {
    white-space: normal;
    max-width: none;
    line-height: 1.12;
    font-size: clamp(1.35rem, 2.5vw, 1.75rem);
    word-wrap: break-word;
  }

  .footerReveal_brandSubtitle__86Jmw {
    font-size: 0.6rem;
  }

  .footerReveal_contactSubline__I1maF,
  .footerReveal_contactLink__Ucgqf {
    font-size: 0.85rem;
  }

  .footerReveal_sectionLabel__zQ11W {
    font-size: 0.62rem;
    margin-bottom: 0.5rem;
    color: var(--public-footer-muted);
  }

  .footerReveal_navBlock__H77qZ {
    padding-bottom: 1rem;
  }

  .footerReveal_grid__2F460 > .footerReveal_navBlock__H77qZ:nth-child(2) {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--public-footer-border);
  }

  .footerReveal_navLink__xCMRm,
  .footerReveal_socialLink__93j9b {
    font-size: 0.85rem;
    min-height: 2rem;
    padding: 0.2em 0;
    word-break: break-word;
  }

  .footerReveal_navLink__xCMRm {
    display: flex;
    align-items: center;
  }

  .footerReveal_socialIcon__8CVch svg {
    width: 14px;
    height: 14px;
  }

  .footerReveal_footerStripWrap__JfKjq {
    margin-top: 0.75rem;
  }

  .footerReveal_bottomBar__bWW8H {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--public-footer-border);
  }

  .footerReveal_copyright__glHa6,
  .footerReveal_bottomBarBackToTop__bIx6l {
    font-size: 0.7rem;
  }
}

/* Reveal footer shell – main scrolls, footer reveals from beneath */

.revealShell_revealShell__OjA1Q {
  position: relative;
  background: var(--background);
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  width: 100%;
  max-width: 100vw;
  overflow-x: clip;
  overflow-y: visible;
}

.revealShell_revealMain__ZW2DW {
  position: relative;
  z-index: 1;
  background: var(--background);
  min-height: 100vh;
  width: 100%;
  min-width: 0;
  overflow-x: clip;
  overflow-y: visible;
}

