:root {
  /* PRIMARY */
  --bs-primary: var(--wp--preset--color--primary);
  --bs-primary-rgb: var(--wp--preset--color--primary-rgb);

  /* SECONDARY */
  --bs-secondary: var(--wp--preset--color--secondary);
  --bs-secondary-rgb: var(--wp--preset--color--secondary-rgb);

   --bs-dark: var(--wp--preset--color--dark);
  --bs-light: var(--wp--preset--color--light);
}


/* HERO (SSR) */
.f4f-hero { position: relative; }

.f4f-hero__cover { position: relative; overflow: hidden; }
.f4f-hero__bg {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
}
.f4f-hero__bg--placeholder {
  background: #222;
}
.f4f-hero__overlay {
  position: absolute; inset: 0;
  background: #000;
}
.f4f-hero__inner {
  position: relative;
  color: #fff;
}

.f4f-hero__kicker { font-weight: 600; opacity: .95; margin-bottom: 8px; }
.f4f-hero__title { font-weight: 800; line-height: 1.05; }
.f4f-hero__text { opacity: .95; }

/* Slick dots jak w projekcie */
.f4f-hero .slick-dots {
  position: absolute;
  left: 0; right: 0;
  bottom: 24px;
  margin: 0;
  display: flex !important;
  gap: 10px;
  justify-content: flex-start;
  max-width: 1200px;
  padding: 0 24px;
  margin-left: auto;
  margin-right: auto;
}
.f4f-hero .slick-dots li { width: auto; height: auto; margin: 0; }
.f4f-hero .slick-dots li button {
  width: 28px;
  height: 6px;
  padding: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.35);
}
.f4f-hero .slick-dots li button:before { display: none; }
.f4f-hero .slick-dots li.slick-active button { background: rgba(255,255,255,.95); }

.f4f-spacer-sm { height: 24px !important; }
.f4f-spacer-md { height: 48px !important; }
.f4f-spacer-lg { height: 96px !important; }


.f4f-section {
  min-height:320px;
  position: relative;
  display: block;
  overflow: hidden;
}

.f4f-section.deco-top::before, .f4f-section.deco-bottom::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
   top: 0;
  left: 0;
  z-index: 2;
  background-size: 100%;
  background-repeat: no-repeat;
}


.f4f-section .container {
  position: relative;
  z-index: 10;
  
}

.f4f-section.deco-top::before {
  background-position: center 0;
  background-image: url('../img/deco-top.png');
}

.f4f-section.deco-top::after {
  background-position: center bottom;
  background-image: url('../img/deco-bottom.png');
}

.site-header {
  background: rgba(15,15,15,.72);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.site-header .nav .menu-item a {
  text-decoration: none;
  color: var(--bs-light);
}

.site-header .custom-logo-link, .custom-logo {
  display: inline-block;
  max-height: 48px;
  width: auto;
}
.site-header .custom-logo-link img {
  height: 48px;
  width: auto;
}

.site-footer a {
  text-decoration: none;
}


/** BS5 OVERRIDE **/ 

.f4f-section .card {
  padding: 0;
  border-radius: 0;
  border: 0;
}

/* =========================
   BOOTSTRAP BUTTON OVERRIDES
   ========================= */

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--wp--preset--color--primary);
  --bs-btn-border-color: var(--wp--preset--color--primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: color-mix(in srgb, var(--wp--preset--color--primary) 85%, #000);
  --bs-btn-hover-border-color: color-mix(in srgb, var(--wp--preset--color--primary) 80%, #000);
  --bs-btn-focus-shadow-rgb: var(--wp--preset--color--primary-rgb);
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--wp--preset--color--secondary);
  --bs-btn-border-color: var(--wp--preset--color--secondary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: color-mix(in srgb, var(--wp--preset--color--secondary) 85%, #000);
  --bs-btn-hover-border-color: color-mix(in srgb, var(--wp--preset--color--secondary) 80%, #000);
  --bs-btn-focus-shadow-rgb: var(--wp--preset--color--secondary-rgb);
}

.btn-outline-primary {
  --bs-btn-color: var(--wp--preset--color--primary);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: var(--wp--preset--color--primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--wp--preset--color--primary);
  --bs-btn-hover-border-color: var(--wp--preset--color--primary);
  --bs-btn-focus-shadow-rgb: var(--wp--preset--color--primary-rgb);
}

.btn-outline-secondary {
  --bs-btn-color: var(--wp--preset--color--secondary);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: var(--wp--preset--color--secondary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--wp--preset--color--secondary);
  --bs-btn-hover-border-color: var(--wp--preset--color--secondary);
  --bs-btn-focus-shadow-rgb: var(--wp--preset--color--secondary-rgb);
}


/* LP */

.wpcf7-not-valid-tip {
    font-size: 12px;
}

.form-label, .wpcf7-list-item-label {
    font-size: 14px;
}

.form-check {
    padding-left: 0 !important;
}
.wpcf7-list-item {
    margin: 0 !important;
}

.wpcf7-form-control.wpcf7-radio {
    display: flex;
    gap: 12px;
}
.form-wrapper {
    max-height: 100vh;
    overflow-y: auto;
}

.cover-wrapper {
    background-size: cover; 
    background-position: center; 
    height: 100vh;
    position: relative;
}
.cover-headline {
    /* position-absolute bottom-0 start-0 d-flex flex-column mb-md-5 align-items-start */
    position: absolute;
    bottom: 0;
    left: 0;
}

@media (max-width: 767.98px) {
    .cover-wrapper {
        height: 25vh;
    }
    .form-wrapper {
        max-height: 100%;
    }

    .cover-headline {
        left: auto;
        right: 0;
    }
    
    .cover-wrapper .logo {
        width: 29vw;
        filter: drop-shadow(2px 4px 6px black);
    }
}