/* === ZMIENNE === */

:root {
  --bg-cream: #FBF9F6;
  --bg-beige: #EFE9E1;
  --text-main: #2A2421;
  --text-muted: #5C5249;
  --mustard-cta: #D99414;
  --font-heading: 'Newsreader', serif;
  --font-body: 'DM Sans', sans-serif;
  --font-logo: 'Caveat', cursive;
}

/* === BAZA === */

body {
  background-color: var(--bg-cream);
  color: var(--text-main);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  margin: 0;
}

/* --- Typografia Główna --- */

/* Logo: Caveat Regular */

.logo-text {
  font-family: var(--font-logo);
  font-weight: 400;
  font-size: 2rem;
  text-decoration: none;
}

/* Nagłówki: Newsreader Regular */

h1, h2, h3, h4, h5, h6, .font-newsreader {
  font-family: var(--font-heading);
  font-weight: 400;
}

/* Teksty użytkowe: DM Sans */

.font-dm-sans {
  font-family: var(--font-body);
}

/* Cytaty: DM Sans Italic */

.italic-dm-sans {
  font-family: var(--font-body);
  font-style: italic;
  font-weight: 400;
}

.italic-heading {
  font-style: italic;
}

/* --- Narzędzia Kolorów --- */

.text-main-color {
  color: var(--text-main);
}

.text-muted-custom {
  color: var(--text-muted);
}

.text-mustard {
  color: var(--mustard-cta);
}

.bg-beige-section {
  background-color: var(--bg-beige);
}

/* === ODSTĘPY === */

.section-padding {
  padding: 140px 0;
}

@media (max-width: 768px) {
  .section-padding {
    padding: 80px 0;
  }
}

.hero-margin {
  margin-top: 100px;
}

/* === NAVBAR === */

.navbar-custom {
  background-color: rgba(251, 249, 246, 0.98);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(42, 36, 33, 0.03);
}

.navbar-custom .nav-link {
  color: var(--text-main);
  font-weight: 600;
  margin: 0 18px;
  transition: color 0.3s ease;
}

.navbar-custom .nav-link:hover {
  color: var(--mustard-cta);
}

.navbar-custom .btn-mustard {
  font-size: 0.95rem;
  padding: 10px 24px;
}

/* === PRZYCISKI === */

.btn-mustard {
  background-color: var(--mustard-cta);
  color: #fff;
  border-radius: 50px;
  padding: 15px 40px;
  font-weight: 700;
  border: none;
  transition: all 0.3s ease;
}

.btn-mustard:hover, .btn-mustard:focus {
  background-color: #c2820c;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(217, 148, 20, 0.15);
}

.btn-ghost {
  background-color: transparent;
  color: var(--text-main);
  border: 1px solid rgba(42, 36, 33, 0.15);
  border-radius: 50px;
  padding: 15px 40px;
  font-weight: 700;
  transition: all 0.3s ease;
}

.btn-ghost:hover {
  border-color: var(--mustard-cta);
  color: var(--mustard-cta);
}

.btn-ghost-dark {
  background-color: transparent;
  color: var(--text-main);
  border: 1px solid var(--text-main);
  border-radius: 50px;
  padding: 12px 30px;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
}

.btn-ghost-dark:hover {
  background-color: var(--text-main);
  color: #fff;
}

/* === SEKCJE I OBRAZKI === */

.illustration-placeholder {
  background-color: var(--bg-beige);
  height: 600px;
  width: 100%;
  max-width: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mama-photo-placeholder {
  background-color: #ddd;
  width: 250px;
  height: 250px;
}

.photo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #aaa;
  background-color: #f8f8f8;
}

/* === KARTY USŁUG === */

.service-card {
  background-color: var(--bg-beige);
  padding: 60px 40px;
  transition: all 0.3s ease;
  border: none;
  text-align: center;
}

.service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(42, 36, 33, 0.04);
}

.service-icon-placeholder {
  height: 80px;
  width: 80px;
  background-color: var(--mustard-cta);
  opacity: 0.15;
  border-radius: 50%;
}

/* === AUTOMATYCZNY NIESKOŃCZONY SCROLL (MARQUEE) === */

.marquee-container {
  height: 650px;
  overflow: hidden;
  display: flex;
  gap: 1.5rem;
  position: relative;
  mask-image: linear-gradient(to bottom, transparent, black 10%, black 90%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, black 10%, black 90%, transparent);
}

.marquee-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* Animacje przesuwania z duplikatami zawartości gwarantują płynną pętlę */

.marquee-up {
  animation: scrollUp 40s linear infinite;
}

.marquee-down {
  animation: scrollDown 40s linear infinite;
}

/* Zatrzymanie po najechaniu myszką */

.marquee-container:hover .marquee-up, .marquee-container:hover .marquee-down {
  animation-play-state: paused;
}

@keyframes scrollUp {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-50%);
  }
}

@keyframes scrollDown {
  0% {
    transform: translateY(-50%);
  }
  100% {
    transform: translateY(0);
  }
}

/* Na mobilkach wyłączamy marquee i pokazujemy normalną listę */

@media (max-width: 768px) {
  .marquee-container {
    height: auto;
    flex-direction: column;
    mask-image: none;
    -webkit-mask-image: none;
  }
}

@media (max-width: 768px) {
  .marquee-up, .marquee-down {
    animation: none;
  }
}

@media (max-width: 768px) {
  .marquee-col > div:nth-child(n + 3) {
    display: none;
  }
}

/* === FAQ === */

.accordion-item {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid rgba(42, 36, 33, 0.08);
}

.accordion-button {
  background-color: transparent;
  padding: 30px 0;
  box-shadow: none;
  color: var(--text-main);
}

.accordion-button:not(.collapsed) {
  color: var(--mustard-cta);
  background-color: transparent;
  box-shadow: none;
}

.accordion-body {
  padding: 0 0 30px 0;
  color: var(--text-muted);
}

.faq-icon-placeholder {
  height: 140px;
  width: 140px;
  background-color: var(--bg-beige);
  border-radius: 50%;
}

.border-mustard {
  border-color: var(--mustard-cta);
}

/* === FOOTER === */

.footer-custom {
  border-top: 1px solid rgba(42, 36, 33, 0.02);
}

/* === MODALS === */

.modal-content-custom {
  background-color: var(--bg-cream);
  border: none;
  box-shadow: 0 30px 60px rgba(42, 36, 33, 0.08);
}

.modal-header .btn-close {
  padding: 0;
  margin: 0;
}

