body {
  font-family: 'Quicksand', Arial, sans-serif;
}

h1:not(.section-title) {
  font-family: 'Cormorant Garamond', serif;  /* przywraca krój */
  font-weight: 600;
  font-size: clamp(3.2rem, 7.5vw + 1rem, 6.5rem) !important; /* ~51 px → ~104 px */
  line-height: 1.08;
}, h2, h3, h4, h5, h6 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 600;            /* pogrubienie nagłówków */
  letter-spacing: 0.02em;      /* lekki oddech */
}
body { scroll-behavior: smooth; }


header {
  --bar-height: 36px;
  --nav-height: 80px;
  --nav-height-shrink: 56px;
  transition: all 0.3s ease;
}
header .top-bar {
  height: var(--bar-height);
  background: rgba(0, 0, 0, 0.40);   /* 40 % krycia */
  backdrop-filter: blur(4px);        /* lekki „glass” */
  -webkit-backdrop-filter: blur(4px);/* Safari */
}
header .navbar {
  height: var(--nav-height);
  transition: height 0.4s ease;
}
header .logo {
  height: calc(var(--nav-height) - 5px);
  transition: height 0.4s ease;
} .logo { height: calc(var(--nav-height) - 5px); transition: height .3s ease; }

header.scrolled .navbar,
header.shrink .navbar {
  height: var(--nav-height-shrink);
}
header.scrolled .logo,
header.shrink .logo {
  height: calc(var(--nav-height-shrink) - 24px);
}
.main-offset { height: calc(var(--bar-height) + var(--nav-height)); }

.hero-bg {
  background: url("../img/hero.webp") center/cover no-repeat;
  min-height: 100vh;
  position: relative;
}
.hero-bg::after { content:''; position:absolute; inset:0; background:rgba(0,0,0,.45); }
.hero-bg>.container { position:relative; z-index:1; }
.tagline {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0.015em;

  font-size: clamp(1.8rem, 2vw + 0.2rem, 3rem);
  line-height: 1.3;
}
.card i { font-size: 3rem; }
/* ===== ADAPTACYJNE KOLORY LINKÓW + PODKREŚLENIE ===== */

header {
  /* wartości domyślne (góra strony – tło przezroczyste) */
  --link-color: rgba(255, 255, 255, 0.80);
  --link-hover: #ffffff;
  --underline:  #ffffff;
}

/* po scrollu (<header>.scrolled) — jasne tło */
header.scrolled {
  --link-color: #212529;
  --link-hover: #000000;
  --underline:  #212529;
}

/* linki + efekt underline */
header .navbar .nav-link {
  position: relative;
  display: inline-block;
  color: var(--link-color) !important;
  transition: color 0.3s ease;
}
header .navbar .nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.2rem;
  width: 0;
  height: 2px;
  background: var(--underline);
  transition: width 0.3s ease;
}
header .navbar .nav-link:hover,
header .navbar .nav-link.active {
  color: var(--link-hover) !important;
}
header .navbar .nav-link:hover::after {
  width: 100%;
}

/* ─── Hamburger ─── */
/* sam przycisk dziedziczy kolor z --link-color */
header .navbar-toggler {
  color: var(--link-color) !important;   /* linia i krzyżyk po kliknięciu */
}
/* ikonka (trzy kreski) – filtruje SVG Bootstrapa */
header .navbar-toggler-icon { filter: invert(1); }
header.scrolled .navbar-toggler-icon { filter: none; }
/* wolniejsze wygaszanie dla jasnego przycisku w hero */
.hero-bg .btn-outline-light {
  transition: background-color 0.80s ease,
              color            0.80s ease,
              border-color     0.80s ease;
}

/* ---------- ABOUT SECTION ---------- */
.section-title {
  font-family: 'Quicksand', serif;
  font-weight: 600;
  font-size: clamp(2rem, 4vw + 1rem, 3rem);
  position: relative;
  margin-bottom: .5rem;
}
.section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -.4rem;
  width: 180px;
  height: 3px;
  border-radius: 2px;
  background: var(--bs-primary, #6c5ce7); /* fioletowa kreska */
}

.about-points h3 {
  font-family: 'Quicksand', serif;
  font-weight: 600;
  margin-bottom: .25rem;
}
.about-points span { line-height: 1; }

/* kolejność na mobile: najpierw zdjęcia, potem tekst */
@media (max-width: 991.98px) {
  .about-section .col-lg-6:first-child { order: 2; }
}
/* ===== HOME CONTACT ===== */

.contact-box {
  background: #fafafa;           /* biały panel */
  max-width: 1140px;             /* 100% dla xs-md, 1140px od lg w górę */
}

@media (max-width: 991.98px) {    /* padding mniejszy w mobile */
  .contact-box { padding: 2rem 1.5rem; }
}
/* .contact-parallax {
  background: url("../img/contact_bg.webp") center/cover no-repeat fixed;
} */

.contact-box {
  background:#fafafa;
  max-width:1140px;
}

@media (max-width:991.98px){
  .contact-box{padding:2rem 1.5rem;}
  .contact-parallax .col-lg-5{order:2;}  /* na mobile najpierw formularz */
}
.about-hero {
  background: url("../img/about_bg.webp") center/cover no-repeat fixed;
  min-height: 70vh;
  padding: 10rem 0 5rem;
  position: relative;
}

.about-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);           /* ciemniejsze tło */
  backdrop-filter: blur(3px);              /* silniejszy rozmycie */
  -webkit-backdrop-filter: blur(8px);      /* Safari */
  z-index: 1;
}


.about-hero .container {
  position: relative;
  z-index: 2;
}

.text-shadow {
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
}


/* === ANIMACJA: lekki zjazd z górą i wyblaknięcie === */
@keyframes dropdownFade {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.read-more-link {
  color: #5c6ac4; /* stonowany, elegancki niebiesko-fioletowy */
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: all 0.3s ease;
}

.read-more-link:hover {
  color: #3f51b5;
  border-bottom: 2px solid #3f51b5;
  transform: translateX(4px);
}
header.scrolled .logo {
  height: calc(var(--nav-height-shrink) - 24px);
}
.contact-page-offset {
  margin-top: 120px;
}
.video-wrapper {
  width: 100%;
  max-width: 720px;             /* szerokość na dużych ekranach */
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 1rem;
  overflow: hidden;
}

.video-wrapper video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.gallery-section {
  background-color: #f8f9fa;
  min-height: 100vh;
  padding-top: 100px;
}

.carousel {
  max-width: 90%;
  margin: auto;
}

.gallery-img {
  max-height: 80vh;
  object-fit: contain;
  border-radius: 1rem;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.25);
}
.gallery-section {
  margin-top: 50px; /* dostosuj do wysokości headera */
}
.admin-thumb img        { object-fit: cover; }
.admin-thumb .btn-danger{ padding: .15rem .5rem; font-size: .4rem; }

/* Wymuszenie ciemnego tła i liter */
header.force-dark {
  background-color: white;
}

header.force-dark .nav-link,
header.force-dark .navbar-nav .nav-link {
  color: #212529 !important;
}

.section-underline {
  width: 150px;
  height: 4px;
  background-color: #0d6efd; /* Bootstrap Primary */
  border-radius: 2px;
  transition: all 0.3s ease-in-out;
  margin-top: -30px;
}

.section-title-clean {
  border-left: none !important;
  padding-left: 0 !important;
  position: relative;
}

.section-title-clean::before {
  display: none !important;
}
/* wyłącz lewostronną kreskę tylko dla tytułu na stronie „Oferta” */
.section-title-clean::after {
  display: none !important;
}
.carousel {
  position: relative;
  z-index: 5;            /* nad sticky headerem */
}

.carousel-indicators [data-bs-target] {
  background-color: #0d6efd;   /* bootstrap primary */
}

/* === MOBILE HAMBURGER: wspólne dla każdej strony === */
@media (max-width: 991.98px) {
  header .navbar-collapse {
    position: absolute;
    top: calc(100% + .5rem);
    right: 1rem;
    width: 260px;
    padding: 1.25rem 1.5rem;
    border-radius: 1rem;
    background: rgba(0, 0, 0, .75);
    backdrop-filter: blur(12px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
    z-index: 1000;
    animation: dropdownFade .35s ease-out both;
  }

  header .navbar-collapse .nav-link {
    color: #fff !important;
    display: block;
    font-size: 1.05rem;
    padding: .45rem 0;
  }

  header .navbar-collapse .nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -.15rem;
    width: 0;
    height: 2px;
    background: #ffffff80;
    transition: width .25s ease;
  }

  header .navbar-collapse .nav-link:hover::after,
  header .navbar-collapse .nav-link.active::after {
    width: 100%;
  }

  header .navbar-collapse .nav-link:hover,
  header .navbar-collapse .nav-link.active {
    color: #ffc107 !important;
  }

  header .navbar-toggler-icon {
    filter: invert(1);
  }
}


/* animacja */
@keyframes dropdownFade {
  0%{opacity:0;transform:translateY(-8px);}
  100%{opacity:1;transform:translateY(0);}
}
@media (max-width: 991.98px) {
  .navbar-collapse.show .nav-link {
    color: #fff !important;
  }

  .navbar-collapse.show .nav-link:hover,
  .navbar-collapse.show .nav-link.active {
    color: #ffc107 !important;
  }
}
@media (max-width: 991.98px) {
  #mainNav .nav-link {
    color: #ffffff !important;
  }

  #mainNav .nav-link:hover,
  #mainNav .nav-link.active {
    color: #ffc107 !important;
  }
}
@media (max-width: 991.98px) {
  .navbar-toggler-icon {
    filter: invert(1) brightness(2) contrast(150%);
    width: 1.5rem;
    height: 1.5rem;
  }

  .navbar-toggler {
    padding: 0.5rem 0.8rem;
    background-color: rgba(0, 0, 0, 0.4);  /* lekko przyciemnione tło */
    border-radius: 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.4);
  }
}
.top-bar-mobile {
  background-color: rgba(0, 0, 0, 0.7);
  font-size: 0.9rem;
  line-height: 1.4;
}

.top-bar-mobile i {
  vertical-align: middle;
}

.top-bar-mobile a {
  text-decoration: none;
  color: white;
}
@media (max-width: 767.98px) {
  header .top-bar {
    height: 115px !important;  /* Zwikszona wysoko */
    display: flex;
    align-items: center;
    padding: 0.5rem 1rem;
    flex-direction: column;  /* Ukad jeden pod drugim */
    justify-content: center;
    text-align: center;
  }

  header .top-bar .container {
    flex-direction: column;
    gap: 0.25rem;
  }

  header .top-bar .container .d-flex {
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
  }

  #fb-link {
    position: absolute;
    top: 0.4rem;
    right: 1rem;
  }
}


@media (max-width: 767.98px) {
  .about-hero {
    padding-top: 14rem;  /* Zwikszamy odstp od gry */
  }
}
