/*
Theme Name: Salient Child
Template: salient
Version: 2.0
*/

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Barlow:wght@300;400;500&display=swap');

/* ── SALIENT KOMPLETT AUSBLENDEN ── */
#header-outer,
#header-space,
header#top,
#top,
.nectar-sticky-header,
#featured-page-header,
#page-header-bg,
.page-header-no-bg,
#footer-outer,
#sliding-top-bar,
.nectar-top-bar,
.slide-out-widget-area-toggle,
.mobile-icon,
#slide-out-widget-area,
.sf-menu {
  display: none !important;
  height: 0 !important;
  visibility: hidden !important;
}

/* ── BODY RESET ── */
body {
  margin: 0 !important;
  padding: 0 !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  overflow-x: hidden !important;
  font-family: 'Barlow', Arial, sans-serif !important;
  background: #fff !important;
  color: #1e1e28 !important;
}

/* Salient fügt manchmal padding-top hinzu */
body.page-template-page-facettenreich-vollbild-php,
.page-template-page-facettenreich-vollbild-php #page-header-bg,
.page-template-page-facettenreich-vollbild-php #featured-page-header {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Salient Row Background Layer – blockiert Inhalt auf Desktop */
.row-bg.viewport-desktop,
.row-bg-wrap,
.row-bg-layer,
.inner-wrap.row-bg-layer {
  display: none !important;
}

/* Salient Row Background Layer nicht überlagern */
.row-bg,
.row-bg-wrap,
.row-bg-layer,
.row-bg.viewport-desktop {
  pointer-events: none !important;
  z-index: 0 !important;
}

/* Salient Animated Item Entrance Fix */
.wpb_animate_when_almost_visible,
.wpb_start_animation,
.vc_column_container,
.wpb_column,
.wpb_content_element,
.wpb_raw_html,
.wpb_wrapper,
[data-aie],
.nectar-slide-in-up,
.nectar-fade-in {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
  animation: none !important;
}

/* ── NAV IMMER OBEN BEIM SCROLLEN ── */
.fr-nav {
  z-index: 99999 !important;
  position: fixed !important;
}

/* Salient container-wrap Abstand */
#container-wrap,
.container-wrap {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Salient scroll-bezogene Elemente unter Nav halten */
.wpb_row,
.vc_row,
.wpb_content_element,
.wpb_raw_html,
.wpb_wrapper {
  z-index: auto !important;
  isolation: isolate;
}

/* Nav immer über allem */
.fr-nav,
nav.fr-nav {
  z-index: 99999 !important;
  position: fixed !important;
}

/* ── FARBEN ── */
:root {
  --c-blue: #3d6fad;
  --c-green: #5a9632;
  --c-red: #cc2b2b;
  --c-gold: #b0a050;
  --c-gray: #5a5e62;
  --c-violet: #7248a8;
  --c-deep: #2c2f4a;
  --c-text: #1e1e28;
  --c-muted: #6a6870;
  --font-cond: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --font-body: 'Barlow', Arial, sans-serif;
}

/* ── ANIMATIONEN ── */
@keyframes frSpin {
  from { transform: translate(-50%,-50%) rotate(0deg); }
  to   { transform: translate(-50%,-50%) rotate(360deg); }
}
@keyframes frHeaderSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* ── LOGO GRÖßEN ── */
.fr-nav img,
.fr-nav-logo img {
  width: 44px !important;
  height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  object-fit: contain !important;
  display: inline-block !important;
}

.fr-footer-brand img {
  width: 32px !important;
  height: 32px !important;
  max-width: 32px !important;
  object-fit: contain !important;
}

/* ── NAVIGATION ── */
.fr-nav {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.75rem 2.8rem !important;
  background: rgba(255,255,255,0.95) !important;
  backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(0,0,0,0.07) !important;
  min-height: 64px !important;
  box-sizing: border-box !important;
}

.fr-nav-logo {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
}

.fr-nav-wordmark {
  font-family: var(--font-cond) !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--c-deep) !important;
  line-height: 1 !important;
}

.fr-nav-wordmark small {
  display: block !important;
  font-size: 0.5rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  color: var(--c-muted) !important;
  margin-top: 2px !important;
}

.fr-nav-links {
  display: flex !important;
  gap: 2rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.fr-nav-links a {
  font-family: var(--font-cond) !important;
  font-size: 0.88rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  color: var(--c-muted) !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transition: color 0.2s !important;
}

.fr-nav-links a:hover { color: var(--c-text) !important; }

.fr-nav-links a.active {
  color: var(--c-blue) !important;
  border-bottom: 2px solid var(--c-blue) !important;
  padding-bottom: 2px !important;
}

/* ── HERO ANIMATION ── */
#fr-hero-bg { z-index: 1 !important; }

.fr-page-header {
  background: transparent !important;
  background-color: transparent !important;
  position: relative !important;
  z-index: 2 !important;
}

/* ── WPBAKERY RESET ── */
.vc_row,
.wpb_column,
.vc_column_container,
.wpb_wrapper {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ── CF7 LINKS ── */
.wpcf7 a,
.wpcf7 a:hover,
.wpcf7-form a,
.wpcf7-form a:hover {
  color: #3d6fad !important;
  text-decoration: none !important;
}

/* ── SECTION LABEL ── */
.fr-section-label {
  font-family: var(--font-cond) !important;
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: var(--c-muted) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.8rem !important;
  margin-bottom: 1.5rem !important;
}

.fr-section-label::before {
  content: '' !important;
  display: block !important;
  width: 22px !important;
  height: 1px !important;
  background: currentColor !important;
}

/* ── COLORBAR ── */
.fr-colorbar {
  display: flex !important;
  height: 3px !important;
  border-radius: 3px !important;
  overflow: hidden !important;
}
.fr-colorbar div { flex: 1 !important; }

/* ── FOOTER ── */
.fr-footer-col a:hover { color: var(--c-blue) !important; }

/* ── MOBILE ── */
@media (max-width: 768px) {
  .fr-nav { padding: 0.8rem 1.2rem !important; }
  .fr-nav-links { display: none !important; }
}
