/* ===== RESET + BAZA ===== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #222;
  background: #e3e3de;
}

/* ===== LAYOUT ===== */

.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.section {
  padding: 80px 0;
}

.section--light {
  background: #f5f1ea;
}

.section--cream {
  background: #e9e3d8;
}

.section--about {
  background: #e3e3de;
}

.section--dark {
  background: #111111;
  color: #f5f5f5;
}

/* ===== TYPOGRAFIA ===== */

h1, h2, h3 {
  font-family: "Playfair Display", "Times New Roman", serif;
  margin: 0 0 16px;
}

h1 {
  font-size: 40px;
  line-height: 1.1;
}

h2 {
  font-size: 32px;
}

h3 {
  font-size: 20px;
}

p {
  margin: 0 0 14px;
}

a {
  color: inherit;
  text-decoration: none;
}

.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 12px;
  font-weight: 600;
  color: #7b4f82;
  margin-bottom: 12px;
}

.section-tag {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 11px;
  font-weight: 600;
  color: #7b4f82;
  margin-bottom: 6px;
}

.section-tag--light {
  color: #f2ddff;
}

.section-header {
  text-align: center;
  margin-bottom: 40px;
}

.section-header--row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
}

.section-header--left {
  text-align: left;
}

.section-subtitle {
  max-width: 600px;
  margin: 0 auto;
  font-size: 18px;
  color: #4a4742;
}

.section-note {
  margin-top: 32px;
  font-size: 14px;
  color: #666;
}

/* ===== HERO ===== */

.hero {
  position: relative;
  padding: 80px 0 140px;   /* więcej miejsca na dół i logo */
  background: #e3e3de;
  overflow: visible;        /* NIE ucina linii ani logo */
}


/* numer "01" w prawym dolnym rogu hero */
.hero__page {
  position: absolute;
  right: 110px;
  bottom: 18px;
  font-size: 12px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #8b8176;
}

/* zawartość hero */

.hero__inner {
  display: flex;
  align-items: center;
  gap: 80px;
}

.hero__text {
  flex: 1 1 52%;
  padding-left: 80px; /* odsunięcie od linii */
}

.hero__lead {
  max-width: 520px;
  margin-bottom: 32px;
  color: #3b3935;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

/* prawa część ze zdjęciem */

.hero__visual {
  flex: 1 1 48%;
  position: relative;
  display: flex;
  justify-content: center;
}



.hero__photo-wrapper {
  position: relative;
  max-width: 800px;
  margin-top: 32px;
}

.hero__photo {
  width: 100%;
  height: auto;
  display: block;
}

/* logo z imieniem i nazwiskiem na dole zdjęcia */

.hero__logo {
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;

  /* PODNOSZENIE – im większa liczba, tym wyżej */
  bottom: 30px !important;

  width: 88% !important;   /* delikatnie mniejsze, żeby nie zjadało kadru */
  height: auto !important;
  z-index: 2 !important;
}

/* ===== BUTTONY ===== */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 22px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}

.btn--primary {
  background: #483148;
  color: #fdf8f4;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

.btn--primary:hover {
  transform: scale(1.04) translateY(-1px);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
}

.btn--ghost {
  background: transparent;
  color: #483148;
  border-color: #7b4f82;
}

.btn--ghost:hover {
  transform: scale(1.04) translateY(-1px);
  background: #7b4f82
  color: #fdf8f4;
}

/* ===== LINKOWE BUTTONY ===== */

.link-button {
  background: none;
  border: none;
  padding: 0;
  margin-top: 12px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #483148;
  cursor: pointer;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.link-button::after {
  content: "";
  width: 10px;
  height: 10px;
  background: url("../images/arrow_1.png") no-repeat center center;
  background-size: contain;
}

.link-button:hover {
  transform: scale(1.04);
}

/* ===== OFERTA ===== */

.section--light {
  background: #f5f1ea;
}

.offer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.offer-card {
  background: #fffdf8;
  border-radius: 16px;
  padding: 24px 22px 24px;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.06);
  position: relative;
  overflow: hidden;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  cursor: default;
}

.offer-card__icon {
  position: absolute;
  top: 16px;
  right: 18px;
  width: 40px;
  opacity: 0.16;
}

.offer-card__icon img {
  width: 100%;
  height: auto;
  display: block;
}

.offer-card__label {
  font-size: 11px;
  text-transform: uppercase;;
  letter-spacing: 0.16em;
  color: #8b8176;
  margin-bottom: 6px;
}

.offer-card h3 {
  margin-bottom: 10px;
}

.offer-card:hover {
  transform: scale(1.02) translateY(-2px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
}

/* === MOBILE: naprawa logo w sekcji ZAUFALI MI === */
@media (max-width: 768px) {

    .trusted-logos {
        display: flex;
        flex-direction: column;    /* jeden pod drugim */
        gap: 24px;                 /* odstępy jak na desktopie */
    }

    .trusted-logo {
        aspect-ratio: auto !important;  /* NIE wymuszamy kwadratu */
        height: auto !important;
        width: 100%;                    /* pełna szerokość kontenera */
        display: flex;
        justify-content: center;        /* obrazek wyśrodkowany */
        align-items: center;
    }

    .trusted-logo img {
        width: auto;
        height: 60px;                   /* tak jak na desktopie – możesz zmienić */
        object-fit: contain;
    }
}
/* ===== OPINIE ===== */

.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.testimonial-card {
  background: #fffdf8;
  border-radius: 16px;
  padding: 24px 22px 26px;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.testimonial-card h3 {
  margin-bottom: 10px;
}

.testimonial-card p {
  font-size: 14px;
  color: #4a4742;
}

.testimonial-card:hover {
  transform: scale(1.02) translateY(-2px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
}

/* ===== O MNIE ===== */

/* kontener: 2 kolumny obok siebie, równo do dołu */
.about {
  display: flex;
  align-items: flex-end;   /* dół zdjęcia = dół tekstu */
  gap: 40px;
}

/* lewa kolumna ze zdjęciem – szerokość „na sztywno” */
.about__photo-col {
  flex: 0 0 42%;          /* możesz potem zmienić na 40 / 45% */
}

/* prawa kolumna z tekstem – reszta */
.about__text-col {
  flex: 1 1 auto;
}



.about__photo-wrapper {
  max-width: 100%;
}

.about__photo {
  width: 100%;
  height: auto;
  display: block;
}

.about__text-col p {
  margin-bottom: 14px;
  color: #3b3935;
}


/* ===== W MEDIACH ===== */

.media-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.media-item {
  background: #fdf7f0;
  border-radius: 16px;
  padding: 22px 20px 24px;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.media-item__source {
  font-size: 13px;
  color: #7b4f82;
}

/* Link POSŁUCHAJ ze strzałką */

.link-with-arrow {
  margin-top: 8px;
  padding: 0;
  border: none;
  background: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7b4f82;
  transition: transform 0.18s ease;
}

.link-with-arrow::after {
  content: "";
  width: 11px;
  height: 11px;
  background: url("../images/arrow_1.png") no-repeat center center;
  background-size: contain;
}

.link-with-arrow:hover {
  transform: scale(1.05) translateY(-1px);
}

/* ===== KONTAKT ===== */

.contact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.contact__info {
  max-width: 520px;
}

.contact__info p {
  color: #f5f5f5;
}

.contact__details p {
  margin-bottom: 10px;
}

.contact__details a {
  color: #fdfdfd;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  padding-bottom: 1px;
}

.contact__details a:hover {
  border-color: #fdfdfd;
}

.contact__logo img {
  max-width: 260px;
  width: 100%;
  height: auto;
  display: block;
}

/* ===== STOPKA ===== */

.footer {
  background: #483148;
  color: #bbbbbb;
  padding: 18px 0;
  font-size: 13px;
}

.footer__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;   /* <- wyśrodkowanie */
  text-align: center;         /* <- tekst też na środek */
  gap: 8px;
}

/* ===== RESPONSYWNOŚĆ ===== */

@media (max-width: 1024px) {
  .hero {
    padding: 64px 0 72px;
  }

  .hero__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
  }

  .hero__text {
    padding-left: 40px;
  }

  .hero__page {
    right: 40px;
  }

  .hero__photo-wrapper {
    max-width: 420px;
  }

  .offer-grid,
  .testimonial-grid,
  .media-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
@media (max-width: 1024px) {
  .about {
    flex-direction: column;
    align-items: flex-start;
  }

  .about__photo-col,
  .about__text-col {
    width: 100%;
  }
}
.about__photo-col {
  display: flex;
  align-items: flex-end;
}


  .about__photo-wrapper {
   max-width: 100%;
}

  .section-header--row {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 768px) {
  .hero {
    padding-top: 56px;
  }

  .hero__text {
    padding-left: 24px;
  }



  .hero__page {
    right: 24px;
  }

  h1 {
    font-size: 32px;
  }

  h2 {
    font-size: 26px;
  }

  .hero__inner {
    gap: 32px;
  }

  .offer-grid,
  .testimonial-grid,
  .media-list {
    grid-template-columns: 1fr;
  }

  .contact {
    flex-direction: column;
    align-items: flex-start;
  }

  .section {
    padding: 64px 0;
      /* HERO: odrobinę mniejsze H1 na mobile (ok. -10%) */
  .hero h1 {
    font-size: 28px !important;
  }


  }
}
/* === HERO – FINALNE POPRAWKI POD MAKIETĘ === */


/* NAGŁÓWEK "DZIAŁAM TAM..." – CIENSZY, FIOLET #644559, PLAYFAIR */
.hero h1 {
  font-family: "Playfair Display", "Times New Roman", serif !important;
  font-weight: 400 !important;   /* brak pogrubienia */
  color: #644559 !important;
  font-size: 52px !important;    /* możesz zmienić na 48 jeśli za duże */
  line-height: 1.12 !important;
}

/* EYEBROW "DIETETYCZNE WSPARCIE LIDERÓW" – WIĘKSZE, SZARE */
.hero .eyebrow {
  font-size: 18px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  color: #8b8176 !important;     /* szarawy jak na projekcie */
  margin-bottom: 18px !important;
}

/* TEKST AKAPITU W HERO TROCHĘ WIĘKSZY */
.hero__lead {
  font-size: 18px !important;
  line-height: 1.7 !important;
}

/* LOGO NA ZDJĘCIU – MNIEJSZE I DELIKATNIE NIŻEJ */
.hero__photo-wrapper {
  max-width: 520px !important;
}

.hero__logo {
  width: 80% !important;         /* mniejsze logo */
  bottom: -46px !important;      /* lekko niżej */
}

/* PRZYCISKI – MONTSERRAT REGULAR, PROSTE PROSTOKĄTY, KOLOR KONTAKT #9A8171 */

.btn {
  border-radius: 0 !important;                     /* zero zaokrągleń */
  font-family: "Montserrat", sans-serif !important;
  font-weight: 400 !important;                     /* regular */
}

/* pierwszy zostaje fioletowy – nie ruszam .btn--primary */

/* drugi – KONTAKT: pełne tło #9A8171 */
.btn--ghost {
  background: #9A8171 !important;
  border-color: #9A8171 !important;
  color: #ffffff !important;
}

.btn--ghost:hover {
  background: #8A715F !important;   /* ciemniejszy camel przy hoverze */
  border-color: #8A715F !important;
  color: #ffffff !important;
}




/* === 2. Większe zdjęcie Eweliny w hero === */

.hero__photo-wrapper {
  max-width: 640px !important;  /* było ok. 520 – możesz potem zmniejszyć np. na 600 */
}

.hero__photo {
  width: 100% !important;
  height: auto !important;
}

/* === 3. Przyciski na szerokość kolumny tekstu === */

.hero__actions {
  display: flex !important;
  gap: 16px !important;
  max-width: 460px !important;   /* szerokość „bloku przycisków” – dostosuj optycznie */
}

.hero__actions .btn {
  flex: 1 1 0 !important;        /* oba przyciski tej samej szerokości */
  width: auto !important;
}

/* === HERO — stabilna linia i "e." względem kolumny tekstu === */

.hero__text-wrap {
  position: relative;
}

/* pełna pionowa linia */
.hero__line {
  position: absolute;
  top: 0;
  bottom: -100px;                        /* ⬅ przedłużamy linię w dół w stronę sekcji 02 */
  width: 1px;
  background: #1a1714;
  opacity: 0.85;
  left: calc((100% - 1300px) / 2);
  z-index: 2;
}


.hero {
  position: relative;
  padding: 80px 0 140px;   /* 🔴 zwiększyliśmy dół z 96 → 140 */
  background: #e3e3de;
  overflow: hidden;
}


/* Sygnet w kółku */
.hero .hero__badge {
  position: absolute;
  left: 0;
  top: 200px;
  transform: translateX(-95px);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid #1a1714;
  background: #e3e3de;
  font-family: "Playfair Display", serif;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
}

.hero .hero__badge img {
  display: block;
  width: 25px;
  height: auto;
  margin: auto;
}


/* mobilki — chowamy */
@media (max-width: 1100px) {
  .hero__line,
  .hero__badge,
  .hero__intro-label {
    display: none !important;
  }
}
.hero__page {
  position: absolute;
  bottom: 40px;  
  right: calc((100% - 1200px) / 2);  /* wyrównanie jak POZNAJMY SIĘ */
  font-size: 15px;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;     /* cienka odmiana */
  letter-spacing: 2px;
  color: #1a1714;
  z-index: 10;
}

/* ukrywamy na mobile */
@media (max-width: 1100px) {
  .hero__page {
    display: none !important;
  }
}

/* === SEKCJA 02 – CO OFERUJĘ === */

#offer.section {
  position: relative;
  overflow: hidden;
}
#offer::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/bg_1.png") center/cover no-repeat;
  opacity: 0.8;          /* możesz zmienić np. na 0.4 / 0.6 */
  z-index: 0;
}


/* === SEKCJA 02 – CO OFERUJĘ (update) === */

#offer.section {
  position: relative;
}

/* "OFERTA" – label jak "POZNAJMY SIĘ" */
.offer__label {
  position: absolute;
  top: 40px;
  right: calc((100% - 1200px) / 2);
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: 14px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #1a1714;
}

/* numer 02 na dole sekcji, wyrównany jak wyżej */
.offer__page {
  position: absolute;
  bottom: 40px;
  right: calc((100% - 1200px) / 2);
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: 16px;
  letter-spacing: 0.2em;
  color: #1a1714;
}

/* chowane na mobile */
@media (max-width: 1100px) {
  .offer__label,
  .offer__page {
    display: none !important;
  }
}
/* tytuł sekcji */
.offer__title {
  font-family: "Playfair Display", serif;
  font-weight: 400;
  font-size: 44px;
  color: #644559;
  margin-bottom: 24px;
}

/* grida zostawiamy, ale dla pewności: */
.offer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
}

/* KAFELKI – jasne pole, bez obrysu */
.offer-card {
  position: relative;
  background: #F4F4F2;
  border: none !important;
  border-radius: 0 !important;
  padding: 40px 32px 48px;
  text-align: center;
  overflow: hidden;
}

/* No. 1 / No. 2 / No. 3 – typografia + wyrównanie do lewej */
.offer-card__label {
  font-family: "Montserrat", sans-serif;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #777;
  margin-bottom: 16px;
  text-align: left;
}

/* nagłówki – wersaliki, Playfair, nie bold, 2 linie optycznie */
.offer-card h3 {
  font-family: "Playfair Display", serif;
  font-weight: 400;
  font-size: 22px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #1a1714;
  margin: 4px 0 24px;
  text-align: center;

  /* wymuszenie min. dwóch linii wysokości */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 56px; /* dostosuj, jeśli chcesz ciaśniej/luźniej */
}

/* ikona "e." POMIĘDZY tytułem a opisem */
.offer-card__watermark {
  position: relative;
  margin: 0 auto 32px;
  opacity: 1;
  transform: none;
  pointer-events: none;
  z-index: 3;
}

.offer-card__watermark img {
  width: 48px;   /* możesz podbić, jeśli chcesz większe "e." */
  height: auto;
  display: block;
}

/* opis usługi – wycentrowany tekst, bez ogromnego marginesu */
.offer-card__text {
  position: relative;
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
  line-height: 1.6;
  text-align: center;
  margin-top: 0;
  z-index: 3;
}

/* responsywny układ – 1 kolumna na wąskich */
@media (max-width: 900px) {
  .offer-grid {
    grid-template-columns: 1fr;
  }
}

/* mail na dole sekcji – link "niewidoczny" (bez underline) */
.offer__email {
  margin-top: 40px;
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  color: #1a1714;
}

.offer__email a {
  color: inherit;
  text-decoration: none;
}

.offer__email a:hover {
  text-decoration: underline;
}

/* === SEKCJA 02 – CO OFERUJĘ === */

/* Tytuł sekcji */
.offer__title {
  font-family: "Playfair Display", serif;
  font-weight: 400;
  font-size: 44px;
  color: #644559;
  margin-bottom: 24px;
}

/* Siatka kafelków */
.offer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
}

/* KAFELKI – jasne pole, bez obrysu, bez zaokrągleń */
.offer-card {
  position: relative;
  background: #F4F4F2;
  border: none !important;
  border-radius: 0 !important;
  padding: 40px 32px 48px;
  text-align: center;
  overflow: hidden;
}

/* No. 1 / No. 2 / No. 3 – z lewej */
.offer-card__label {
  font-family: "Montserrat", sans-serif;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #777;
  margin-bottom: 16px;
  text-align: left;
}

/* Nagłówki usług */
.offer-card h3 {
  font-family: "Playfair Display", serif;
  font-weight: 400;
  font-size: 22px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #1a1714;
  margin: 4px 0 24px;
  text-align: center;

  /* optycznie 2 linie wysokości */
  min-height: 56px;
}

/* Ikonka "e." między tytułem a opisem */
.offer-card__watermark {
  position: relative;
  margin: 0 auto 32px;
  opacity: 1;
  transform: none;
  pointer-events: none;
  z-index: 3;
}

.offer-card__watermark img {
  width: 72px;  /* większe "e." */
  height: auto;
  display: block;
}

/* Opis usługi */
.offer-card__text {
  position: relative;
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
  line-height: 1.6;
  text-align: center;
  margin-top: 0;
  z-index: 3;
}

/* Responsywność – 1 kolumna na wąskich */
@media (max-width: 900px) {
  .offer-grid {
    grid-template-columns: 1fr;
  }
}

/* Mail na dole sekcji */
.offer__email {
  margin-top: 40px;
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  color: #1a1714;
}

.offer__email a {
  color: inherit;
  text-decoration: none;
}

.offer__email a:hover {
  text-decoration: underline;
}


/* === SEKCJA 02 – CO OFERUJĘ === */

#offer {
  position: relative;
  padding: 0;
  overflow: hidden; /* możesz zostawić albo wyrzucić, jak wolisz */
}

/* tło z bg_1.png pod spodem */
#offer::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/bg_1.png") center/cover no-repeat;
  opacity: 0.5;      /* półprzezroczyste tło */
  z-index: 0;
}

/* właściwa treść sekcji nad tłem */
#offer .container {
  position: relative;
  z-index: 1;
  padding: 120px 24px;   /* pion 120, poziom 24 jak reszta sekcji */
}

/* pionowa linia (dokładnie jak w HERO) */
.offer__line {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #1a1714;
  opacity: 0.85;

  /* TAK SAMO JAK W HERO — 100% pewności */
  left: calc((100% - 1300px) / 2);

  z-index: 3;
}

/* SYGNET E. WYŚRODKOWANY NA LINII */
.offer__badge {
  position: absolute;
  top: 50%;
  left: calc((100% - 1300px) / 2);  /* DOKŁADNIE NA LINII */
  transform: translate(-50%, -50%); /* W CENTRUM KOŁA NA LINII */
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid #1a1714;
  background: #E5DED7;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
}

.offer__badge img {
  width: 25px;
  height: auto;
  display: block;
}



/* napis OFERTA – wyrównanie jak „POZNAJMY SIĘ” */
.offer__label {
  position: absolute;
  top: 40px;
  right: calc((100% - 1300px) / 2);
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: #1a1714;
  z-index: 6;
}

/* numer sekcji – wyrównanie jak „01” */
.offer__page {
  position: absolute;
  bottom: 40px;
  right: calc((100% - 1300px) / 2);
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0.20em;
  color: #1a1714;
  z-index: 6;
}

/* Tytuł */
.offer__title {
  font-family: "Playfair Display", serif;
  font-weight: 400;
  font-size: 50px;
  color: #644559;
  margin-bottom: 24px;
}

/* GRID */
.offer-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

/* KAFELKI */
.offer-card {
  background: #F4F4F2;
  padding: 40px 32px 48px;
  text-align: center;
  position: relative;
}

.offer-card__label {
  text-align: left;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #777;
  margin-bottom: 16px;
}

.offer-card h3 {
  font-family: "Playfair Display", serif;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #644559;
  margin: 4px 0 24px;
  min-height: 56px;
}

/* ikonka e. */
.offer-card__watermark img {
  width: 72px;
  margin: 0 auto 32px;
}

/* opis */
.offer-card__text {
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #1a1714;
}

/* mail */
.offer__email {
  margin-top: 60px;
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
}

.offer__email a {
  text-decoration: none;
}

/* responsywność */
@media (max-width: 900px) {
  .offer-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1100px) {
  .offer__line,
  .offer__badge,
  .offer__label,
  .offer__page {
    display: none;
  }
}


/* --- HERO: mniejsze H1 na mobile --- */
@media (max-width: 768px) {
  .hero h1 {
    font-size: 47px !important;  /* ~10% mniej niż 52px */
  }
}
/* === FIX: POZNAJMY SIĘ – wyrównanie do tej samej linii co OFERTA / 02 === */
.hero__intro-label {
  position: absolute !important;
  top: 0 !important;

  /* najważniejsze: identyczne wyrównanie co .offer__label i .offer__page */
  right: calc((100% - 1300px) / 2) !important;

  font-family: "Montserrat", sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  letter-spacing: 0.20em !important;
  text-transform: uppercase !important;
  color: #1a1714 !important;

  z-index: 10 !important;
}
/* --- FIX: wszystkie tytuły w kafelkach mają zawsze 2 linie --- */
.offer-card h3 {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 56px !important; /* odpowiednik 2 linii */
}
/* --- MOBILE: tytuły w kafelkach zawsze jako 2 linie --- */
@media (max-width: 900px) {
  .offer-card h3 {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;       /* max 2 linie tekstu */
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 2.6em !important;           /* wysokość na 2 linie */
    text-align: center !important;
  }
}
/* POZNAJMY SIĘ – wyrównanie jak OFERTA / 01 / 02 */
.hero__visual {
  position: static !important;   /* już NIE jest kontenerem dla absolute */
}

.hero__intro-label,
.hero__page,
.offer__label,
.offer__page {
  right: calc((100% - 1200px) / 2) !important;
}

.hero__intro-label {
  position: absolute !important;
  top: 40px !important;   /* taki sam odstęp jak OFERTA */
  font-family: "Montserrat", sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  letter-spacing: 0.20em !important;
  text-transform: uppercase !important;
  color: #1a1714 !important;
  z-index: 10 !important;
}

/* === SEKCJA 03 – O MNIE === */

#about {
  position: relative;
  padding: 0;
  overflow: hidden;
}

/* treść nad tłem */
#about .container {
  position: relative;
  z-index: 1;
  padding: 120px 24px;
}

/* pionowa linia jak w HERO / OFERCIE */
.about__line {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #1a1714;
  opacity: 0.85;
  left: calc((100% - 1300px) / 2);
  z-index: 3;
}

/* kółko z „e.” na linii */
.about__badge {
  position: absolute;
  top: 50%;
  left: calc((100% - 1300px) / 2);
  transform: translate(-50%, -50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid #1a1714;
  background: #E3E3DE;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}

.about__badge img {
  width: 25px;
  height: auto;
  display: block;
}

/* O MNIE – label w prawym górnym rogu */
.about__label {
  position: absolute;
  top: 40px;
  right: calc((100% - 1200px) / 2);
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: #1a1714;
  z-index: 6;
}

/* 03 – numer sekcji w prawym dolnym rogu */
.about__page {
  position: absolute;
  bottom: 40px;
  right: calc((100% - 1200px) / 2);
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0.20em;
  color: #1a1714;
  z-index: 6;
}

/* tytuł jak w sekcji „Co oferuję?” */
.about__title {
  font-family: "Playfair Display", serif;
  font-weight: 400;
  font-size: 50px;
  color: #644559;
  margin: 0 0 10px;
}

/* podtytuł pod imieniem i nazwiskiem */
.about__subtitle {
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #8b8176;
  margin: 0 0 24px;
}

/* korekta tekstu w kolumnie */
.about__text-col p {
  margin-bottom: 14px;
  color: #3b3935;
}

/* chowamy ozdobniki na mobile jak w innych sekcjach */
@media (max-width: 1100px) {
  .about__line,
  .about__badge,
  .about__label,
  .about__page {
    display: none !important;
  }

  #about .container {
    padding: 40px 24px;
  }
}
/* === SEKCJA 04 – ZAUFALI MI — FINALNY, CZYSTY, DZIAŁAJĄCY KOD === */

#trusted {
  position: relative;
  padding: 0;
  overflow: hidden;
}

/* tło jak w sekcji CO OFERUJĘ */
#trusted::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/bg_1.png") center/cover no-repeat;
  opacity: 0.5;
  z-index: 0;
}

/* treść nad tłem */
#trusted .container {
  position: relative;
  z-index: 1;
  padding: 120px 24px 160px; /* dół powiększony */
}

/* pionowa linia */
.trusted__line {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #1a1714;
  opacity: 0.85;
  left: calc((100% - 1300px) / 2);
  z-index: 3;
}

/* sygnatura e. */
.trusted__badge {
  position: absolute;
  top: 50%;
  left: calc((100% - 1300px) / 2);
  transform: translate(-50%, -50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid #1a1714;
  background: #E5DED7;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}

.trusted__badge img {
  width: 25px;
  height: auto;
}

/* nagłówki sekcji */
.trusted__label,
.trusted__page {
  position: absolute;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: #1a1714;
  z-index: 6;
}

.trusted__label {
  top: 40px;
  right: calc((100% - 1200px) / 2);
  font-size: 14px;
}

.trusted__page {
  bottom: 40px;
  right: calc((100% - 1200px) / 2);
  font-size: 16px;
}

/* tytuł */
.trusted__title {
  font-family: "Playfair Display", serif;
  font-weight: 400;
  font-size: 50px;
  color: #644559;
  margin-bottom: 24px;
}

/* LOGOTYPY — 3 w jednej linii (DESKTOP), prostokątne */
.trusted-logos {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 32px;
  flex-wrap: nowrap;
  margin-top: 56px;
}

.trusted-logo {
  background: #ffffff;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.06);
  border-radius: 0;
  border: none;
  padding: 28px 40px;
  flex: 0 1 330px; /* szerokość prostokąta */
  display: flex;
  justify-content: center;
  align-items: center;
}

.trusted-logo img {
  display: block;
  width: auto;
  max-width: 240px;
  max-height: 90px;
  object-fit: contain;
}

/* MOBILE — jeden pod drugim, WCIĄŻ PROSTOKĄTY */
@media (max-width: 900px) {
  .trusted-logos {
    flex-direction: column;
    align-items: center;
    gap: 28px;
    flex-wrap: nowrap;
  }

  .trusted-logo {
    width: 100%;
    max-width: 360px;
    height: 140px;  /* ZOSTAJE — prostokąt */
    padding: 24px 32px;
  }

  .trusted-logo img {
    max-width: 240px;
    max-height: 80px;
  }
}

/* MOBILE: chowamy ozdobniki jak w innych sekcjach */
@media (max-width: 1100px) {
  .trusted__line,
  .trusted__badge,
  .trusted__label,
  .trusted__page {
    display: none !important;
  }

  #trusted .container {
    padding: 80px 24px 100px;
  }
}
/* =========================================================
   GLOBALNY STYL DLA WSZYSTKICH FIOLETOWYCH BUTTONÓW
   ========================================================= */

.btn-purple,
.button-opinie, 
.trusted-more, 
.call-to-action-btn {
    background-color: #483148;
    color: #ffffff;
    padding: 18px 60px;
    display: inline-block;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    letter-spacing: 0.5px;
    border-radius: 0px;
    box-shadow: 0px 10px 25px rgba(0,0,0,0.15);   /* ładny cień */
    transition: background-color 0.25s ease, 
                transform 0.25s ease,
                box-shadow 0.25s ease;
}

.btn-purple:hover,
.button-opinie:hover,
.trusted-more:hover,
.call-to-action-btn:hover {
    background-color: #644559;    /* jaśniejszy fiolet */
    transform: translateY(-3px);  /* delikatne uniesienie */
    box-shadow: 0px 14px 30px rgba(0,0,0,0.2);
}

/* MOBILE — nic nie zmieniamy, przyciski działają tak jak są */



/* === OPINIE FIRM — struktura jak CO OFERUJĘ === */

#opinie {
  position: relative;
  background: #E5DED7; /* jak sekcja O MNIE i HERO */
  padding: 120px 0;
}

/* pionowa linia */
.opinie__line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc((100% - 1300px)/2);
  width: 1px;
  background: #1a1714;
  opacity: .85;
}

/* badge z e. */
.opinie__badge {
  position: absolute;
  top: 50%;
  left: calc((100% - 1300px)/2);
  transform: translate(-50%, -50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid #1a1714;
  background: #E5DED7;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}

.opinie__badge img {
  width: 25px;
}

/* label i numer */
.opinie__label {
  position: absolute;
  top: 40px;
  right: calc((100% - 1200px)/2);
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.opinie__page {
  position: absolute;
  bottom: 40px;
  right: calc((100% - 1200px)/2);
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  letter-spacing: .2em;
}

/* tytuł */
.opinie__title {
  font-family: "Playfair Display", serif;
    font-weight: 400;

  font-size: 50px;
  color: #644559;
  margin-bottom: 24px;
}

/* GRID kart */
.opinie-grid {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 56px;
  flex-wrap: wrap;
}

/* Karta jak OFERTA */
.opinie-card {
  background: #fff;
  box-shadow: 0 10px 22px rgba(0,0,0,.06);
  padding: 40px 32px;
  max-width: 360px;
  transition: transform .3s ease, box-shadow .3s ease;
}

.opinie-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 30px rgba(0,0,0,.12);
}

.opinie-card h3 {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 16px;
}

.opinie-card p {
  font-size: 15px;
  line-height: 1.55;
  margin-bottom: 24px;
}

/* przycisk CZYTAJ DALEJ */
.opinie-read {
  background: none;
  border: none;
  padding: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: .05em;
  color: #644559;
  cursor: pointer;
  float: right;
}

/* POPUP */
.opinie-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  backdrop-filter: blur(3px);
  opacity: 0;
  pointer-events: none;
  transition: .3s;
  z-index: 900;
}

.opinie-overlay.active {
  opacity: 1;
  pointer-events: all;
}

.opinie-popup {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(.9);
  background: #fff;
  padding: 48px 40px;
  width: min(90%, 560px);
  box-shadow: 0 20px 40px rgba(0,0,0,.2);
  opacity: 0;
  pointer-events: none;
  transition: .3s;
  z-index: 999;
}

.opinie-popup.active {
  opacity: 1;
  pointer-events: all;
  transform: translate(-50%, -50%) scale(1);
}

/* zamknięcie */
.popup-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid #1a1714;
  background: #ffffff;
  font-size: 20px;
  line-height: 32px;
  cursor: pointer;
}

/* --- OPINIE – trzy kafelki w jednym rzędzie (DESKTOP) --- */
.opinie-grid {
  display: flex !important;
  justify-content: center !important;
  gap: 40px !important;
  flex-wrap: nowrap !important;
}

/* MOBILE: po jednej, wciąż prostokąty */
@media (max-width: 900px) {
  .opinie-grid {
    flex-direction: column !important;
    align-items: center !important;
    gap: 28px !important;
  }
}
/* === OPINIE – dół sekcji: tekst + button w dwóch kolumnach === */

.opinions-bottom {
    margin-top: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 60px;                     /* odstęp między tekstem a buttonem */
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.opinions-bottom__text {
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    color: #1a1714;
    text-align: right;
    flex: 1 1 auto;
}

.opinions-bottom__btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 14px 40px;
    background: #644559;
    color: #ffffff;
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    transition: 0.2s ease;
}

.opinions-bottom__btn:hover {
    background: #523447;
}

/* --- MOBILE: jedno pod drugim, wyśrodkowane --- */
@media (max-width: 900px) {
    .opinions-bottom {
        flex-direction: column;
        gap: 24px;
        text-align: center;
    }

    .opinions-bottom__text {
        text-align: center;
        font-size: 18px;
    }
}
/* POPUP – nagłówek ma być Montserrat */
.opinie-popup h3 {
    font-family: "Montserrat", sans-serif !important;
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 20px;
}
/* ====================== 06 — MEDIA ====================== */

#media {
  position: relative;
background: #1D1D1E; 
  padding: 0;
}

.media__grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  align-items: start;
  padding: 120px 0;
  gap: 60px;
  max-width: 1300px;
  margin: 0 auto;
}

.media__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* prawa kolumna */
.media__content {
  padding-right: 24px;
}

.media__title {
  font-family: "Playfair Display", serif;
  font-size: 50px;
  font-weight: 400;
  color: #9A8171;
  margin-bottom: 24px;
}

.media__intro {
  font-size: 18px;
  color: #D1CCC6;
  margin-bottom: 50px;
}

.media__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px 70px;
  margin-bottom: 60px;
}

.media__item h3 {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 18px;
    color: #D1CCC6;
  letter-spacing: 0.06em;
  margin-bottom: 12px;
}

.media__item p {
  font-size: 16px;
   color: #D1CCC6;
  line-height: 1.5;
  margin-bottom: 12px;
}

.media__link {
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: #D1CCC6;
  text-decoration: none;
  position: relative;
  padding-right: 40px;
}

.media__link::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 32px;
  height: 1px;
  background: #D1CCC6;
  transform: translateY(-50%);
}

.media__footer {
  font-size: 18px;
  line-height: 1.6;
    color: #D1CCC6;
}

/* pionowa linia z e. */
.media__line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc((100% - 1300px) / 2);
  width: 1px;
  background: #D1CCC6;
  opacity: .85;
  z-index: 3;
}

.media__badge {
  position: absolute;
  top: 50%;
  left: calc((100% - 1300px) / 2);
  transform: translate(-50%, -50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #1D1D1E; 
  border: 1px solid #D1CCC6;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 4;
}

.media__badge img {
  width: 24px;
}

/* label i numer jak w poprzednich sekcjach */
.media__label {
  position: absolute;
  top: 40px;
  right: calc((100% - 1200px) / 2);
  font-family: Montserrat, sans-serif;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.2em;
}

.media__page {
  position: absolute;
  bottom: 40px;
  right: calc((100% - 1200px) / 2);
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0.2em;
}

/* mobile */
@media (max-width: 1100px) {
  .media__grid {
    grid-template-columns: 1fr;
    padding: 80px 24px;
  }

  .media__line,
  .media__badge,
  .media__label,
  .media__page {
    display: none;
  }

  .media__items {
    grid-template-columns: 1fr;
  }
}
/* ============================
   SEKCJA 06 — MEDIA — FINAL FIX
   ============================ */

/* Kolory całej sekcji */
#media {
  background: #1D1D1E !important;
  color: #E3E3DE !important;
}

/* Kolor nagłówka */
#media .media__title {
  color: #9A8171 !important;
}

/* Tekst akapitów */
#media p,
#media .media__intro,
#media .media__footer {
  color: #E3E3DE !important;
}

/* Wyjustowane kafelki */
.media__items {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.media__item {
  background: transparent;
  padding-bottom: 16px;
  border-bottom: 1px solid #2A2A2B;
  text-align: justify;
}

.media__item h3 {
  color: #9A8171 !important;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 10px;
}

.media__item p {
  color: #E3E3DE !important;
  margin-bottom: 10px;
  text-align: justify;
}

/* POSŁUCHAJ — linia + strzałka na końcu */
.media__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  position: relative;
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #9A8171 !important;
  text-decoration: none;
  padding-bottom: 4px;
}

.media__link::before {
  content: "";
  flex-grow: 1;
  height: 1px;
  background: #9A8171;
  margin-right: 8px;
  display: inline-block;
}

.media__link::after {
  content: "";
  width: 12px;
  height: 12px;
  background: url("../images/arrow_1.png") center/contain no-repeat;
}

/* MEDIA + 06 — po prawej jak w innych sekcjach */
.media__label,
.media__page {
  position: absolute;
  right: calc((100% - 1200px)/2);
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #E3E3DE;
  z-index: 20;
}

.media__label {
  top: 40px;
  font-size: 14px;
  font-weight: 300;
}

.media__page {
  bottom: 40px;
  font-size: 16px;
  font-weight: 300;
}

/* pionowa linia */
.media__line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc((100% - 1300px)/2);
  width: 1px;
  background: #E3E3DE;
  opacity: 0.2;
}

/* badge e. */
.media__badge {
  position: absolute;
  top: 50%;
  left: calc((100% - 1300px)/2);
  transform: translate(-50%, -50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid #E3E3DE;
  background: #1D1D1E;
  display: flex;
  justify-content: center;
  align-items: center;
}

.media__badge img {
  width: 24px;
}

/* MOBILE — chowamy ozdobniki */
@media (max-width: 1100px) {
  .media__line,
  .media__badge,
  .media__label,
  .media__page {
    display: none !important;
  }
}
/* ---------- MEDIA SECTION ---------- */

.media-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  position: relative;
}

.media-number {
  position: absolute;
  top: 0;
  right: 0;
  color: #E3E3DE;
  font-size: 14px;
  letter-spacing: 2px;
}

.media-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.media-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.media-title {
  color: #9A8171;
  font-family: "Playfair Display", serif;
  font-size: 46px;
  margin-bottom: 20px;
}

.media-intro {
  color: #E3E3DE;
  margin-bottom: 40px;
  max-width: 520px;
}

.media-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 50px;
}

.media-box h3 {
  color: #E3E3DE;
  letter-spacing: 1px;
  font-size: 16px;
  margin-bottom: 10px;
}

.media-box p {
  color: #B8B8B6;
  line-height: 1.5;
  margin-bottom: 14px;
}

.media-link {
  background: none;
  border: none;
  color: #E3E3DE;
  font-size: 14px;
  letter-spacing: 1px;
  cursor: pointer;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.media-link .arrow {
  font-size: 16px;
  transition: transform 0.3s ease;
}

.media-link:hover .arrow {
  transform: translateX(6px);
}

.media-outro {
  color: #E3E3DE;
  margin-top: 50px;
  max-width: 650px;
}

/* MOBILE */
@media (max-width: 900px) {
  .media-container {
    grid-template-columns: 1fr;
  }
  .media-grid {
    grid-template-columns: 1fr;
  }
  .media-number {
    display: none;
  }
}
/* ====================== MEDIA – FIXY KLAUDII ====================== */

/* pełne wyjustowanie tekstu */
.media-item p {
  text-align: justify;
}

/* cała karta jako link */
.media-item a.media-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.media-item a.media-link:hover .link-with-arrow {
  transform: translateX(2px);
}

/* separator nad POSŁUCHAJ */
.media-separator {
  width: 100%;
  height: 1px;
  background: rgba(255,255,255,0.25);
  margin: 16px 0 10px;
}

/* label 06 • MEDIA */
.media__label {
  position: absolute;
  top: 40px;
  right: calc((100% - 1200px) / 2);
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #fff;
  z-index: 5;
}

.media__page {
  position: absolute;
  bottom: 40px;
  right: calc((100% - 1200px) / 2);
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  font-weight: 300;
  letter-spacing: .2em;
  color: #fff;
  z-index: 5;
}

/* chowanie ozdobników na mobile */
@media (max-width: 1100px) {
  .media__label,
  .media__page {
    display: none !important;
  }
}
/* ====================== 06 — MEDIA ====================== */

#media {
  position: relative;
  background: #1D1D1E;
  padding: 0;
  color: #E3E3DE;
}

.media__grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 80px;
  padding: 120px 0;
  max-width: 1300px;
  margin: 0 auto;
}

.media__image img {
  width: 100%;
  height: auto;
  border-radius: 0;
}

/* tytuł + intro */
.media__title {
  color: #9A8171;
  font-family: "Playfair Display", serif;
  font-size: 44px;
  margin-bottom: 12px;
}

.media__intro {
  max-width: 580px;
  margin-bottom: 40px;
  line-height: 1.65;
  text-align: left;
  color: #E3E3DE;
}

/* LISTA PODCASTÓW — 2 kolumny */
.media__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 50px;
  margin-bottom: 50px;
}

.media__item {
  text-decoration: none;
  display: block;
  padding-bottom: 16px;
  border-bottom: 1px solid #3b3b3c;
  transition: opacity .2s ease;
}

.media__item:hover {
  opacity: .8;
}

.media__item h3 {
  margin: 0 0 8px;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  letter-spacing: .12em;
  color: #9A8171;
}

.media__item p {
  margin: 0 0 12px;
  line-height: 1.6;
  text-align: left;
}

/* separator */
.media__sep {
  height: 1px;
  background: #3b3b3c;
  margin: 10px 0 14px;
}

/* POSŁUCHAJ + strzałka */
.media__link {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 600;
}

.media__link .arrow {
  margin-left: 8px;
  font-size: 16px;
}

/* opis na dole */
.media__footer {
  max-width: 620px;
  line-height: 1.65;
  color: #E3E3DE;
  text-align: left;
}

/* MEDIA / 06 po prawej */
.media__label,
.media__page {
  position: absolute;
  right: calc((100% - 1200px) / 2);
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  letter-spacing: .20em;
  text-transform: uppercase;
  color: #E3E3DE;
}

.media__label {
  top: 40px;
  font-size: 14px;
}

.media__page {
  bottom: 40px;
  font-size: 16px;
}

/* pionowa linia */
.media__line {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  left: calc((100% - 1300px) / 2);
  background: #E3E3DE;
  opacity: .4;
}

.media__badge {
  position: absolute;
  top: 50%;
  left: calc((100% - 1300px) / 2);
  transform: translate(-50%, -50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #1D1D1E;
  border: 1px solid #E3E3DE;
  display: flex;
  justify-content: center;
  align-items: center;
}

.media__badge img {
  width: 22px;
  opacity: 1;
}
/* MEDIA – zdjęcie pełna wysokość sekcji */
#media {
  padding: 0;
}

.media__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
}

.media__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 900px) {
  .media__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .media__image {
    display: none;
  }

  #media {
    padding: 60px 20px;
  }

  .media__item {
    padding: 0;
  }
}
@media (max-width: 900px) {
  .media__items {
    grid-template-columns: 1fr !important; /* tylko jedna kolumna */
    gap: 40px;
  }
}
#media {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.media__grid {
  align-items: stretch;
}

.media__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* USUNIĘCIE WSZYSTKICH paddingów sekcji MEDIA */
#media {
  padding: 0 !important;
}

/* USUNIĘCIE paddingów kontenera */
#media .container,
#media .media__grid {
  padding: 0 !important;
}

/* Rozciągnięcie obrazka na pełną wysokość sekcji */
.media__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* Przywracamy normalny margines sekcji tekstowej */
.media__content {
  padding-top: 120px;
}

/* Wyrównanie POSŁUCHAJ do lewej + usunięcie przesunięcia */
.media__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-left: 0 !important;
  margin-left: 0 !important;
  font-weight: 400;
  font-size: 14px;
}

/* Usunięcie linii pod POSŁUCHAJ */
.media__item::after {
  display: none !important;
}

/* Kolumny — desktop OK, mobile = 1 kolumna */
.media__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px 60px;
}

@media (max-width: 900px) {
  .media__items {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .media__content {
    padding-top: 40px; /* jak inne sekcje na mobile */
  }
}
/* MEDIA — opisy podcastów wyrównane do lewej */
#media .media__item p {
  text-align: left !important;
}
/* MEDIA — odstępy po bokach na mobile */
@media (max-width: 768px) {
  #media .media__content,
  #media .media__items,
  #media .media__item,
  #media .media__intro,
  #media .media__footer,
  #media h2 {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}
/* ======= KONTAKT — layout jak poprzednie sekcje ======= */

#contact {
  position: relative;
  background: #0F0F10;
  padding: 100px 0;
  color: #E3E3DE;
}

/* pionowa linia */
.contact__line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc((100% - 1300px) / 2);
  width: 1px;
  background: #E3E3DE;
  opacity: 0.5;
}

/* kółko */
.contact__badge {
  position: absolute;
  top: 50%;
  left: calc((100% - 1300px) / 2);
  transform: translate(-50%, -50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid #E3E3DE;
  background: #0F0F10;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}

.contact__badge img {
  width: 24px;
  height: auto;
}

/* KONTAKT i 07 */
.contact__label {
  position: absolute;
  top: 40px;
  right: calc((100% - 1200px) / 2);
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  font-size: 14px;
}

.contact__page {
  position: absolute;
  bottom: 40px;
  right: calc((100% - 1200px) / 2);
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  letter-spacing: 0.25em;
}

/* GRID 2 kolumny */
.contact__grid {
  width: 1300px;
  max-width: 90%;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 80px;
}

/* lewa kolumna */
.contact__logo {
  width: 380px;
  height: auto;
}

/* prawa kolumna */
.contact__right {
  flex: 1;
  font-size: 18px;
  line-height: 1.55;
}

.contact__details p a {
  color: #E3E3DE;
  text-decoration: none;
}

.contact__tags {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(8, auto);
  gap: 20px;
}

.contact__tags span {
  border: 1px solid #E3E3DE;
  padding: 14px 34px;
  font-family: "Playfair Display", serif;
  font-size: 20px;
}

/* MOBILE */
@media (max-width: 900px) {

  #contact {
    padding: 70px 0 110px;
  }

  .contact__line,
  .contact__badge,
  .contact__label,
  .contact__page {
    display: none !important;
  }

  .contact__grid {
    flex-direction: column;
    gap: 30px;
  }

  .contact__logo {
    width: 240px;
  }

  .contact__tags {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* ===================== CONTACT — values box ===================== */

.contact-values {
  margin-top: 40px;
  margin-bottom: 50px;
  border: 1px solid #E3E3DE;
  padding: 0;
  width: 100%;
  max-width: 1100px;   /* dopasowane do szerokości sekcji treści */
}

.values-row {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  border-collapse: collapse;
}

.values-row span {
  padding: 14px 20px;
  text-align: center;
  color: #E3E3DE;
  font-size: 18px;
  border-right: 1px solid #E3E3DE;
}

.values-row span:last-child {
  border-right: none;
}

/* MOBILE — ukrywamy całą ramkę */
@media (max-width: 900px) {
  .contact-values {
    display: none;
  }
}
#contact {
  display: flex;
  flex-direction: column;
  align-items: center; /* klucz! ramka ustawi się centralnie */
}

.contact-values {
  margin-top: 40px;
  margin-bottom: -50px;
  width: 100%;
  max-width: 1100px; /* szerokość identyczna jak treści */
  border: 1px solid #E3E3DE;
}
/* --- Kontakt: wyrównanie logo + danych --- */

.contact__grid {
  display: flex;
  align-items: center;      /* pionowe centrowanie obu kolumn względem siebie */
  justify-content: center;  /* wycentrowanie całości nad tabelką */
  gap: 4rem;
}

/* Prawa kolumna powinna sama się centrować względem logo */
.contact__right {
  display: flex;
  flex-direction: column;
  justify-content: center;  /* pionowe centrowanie treści wewnątrz */
}

/* Żeby całość była rzeczywiście centralnie nad tabelką */
#contact {
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* === FIX: Kontakt – logo po lewej, dane po prawej, całość wycentrowana względem tabelki === */
.contact__top {
  display: flex;
  justify-content: center;      /* CAŁOŚĆ centruje się nad tabelką */
  align-items: center;           /* pionowe wyśrodkowanie logo i tekstów */
  gap: 60px;                     /* odstęp między logo a tekstami */
  margin-bottom: 60px;
}

.contact__logo {
  max-width: 380px;
  height: auto;
  display: block;
}

.contact__details p {
  text-align: left;
  margin: 6px 0;
  font-size: 18px;
}

.contact__details a {
  color: #1a1714;
  text-decoration: none;
}

.contact__details a:hover {
  text-decoration: underline;
}

/* MOBILE – logo i kontakty w jednej kolumnie */
@media (max-width: 768px) {
  .contact__top {
    flex-direction: column;
    gap: 24px;
    text-align: center;
  }

  .contact__details p {
    text-align: center;
  }
}
/* Stopka – centrowanie i większa typografia */
.footer {
  background: #483148;
  padding: 28px 0;
}

.footer__inner {
  text-align: center;
  font-size: 16px;
  color: #cccccc;
  letter-spacing: 0.03em;
  font-family: "Montserrat", sans-serif;
}
.footer {
    background:#483148;
    text-align:center;         /* WYŚRODKOWANIE */
    padding: 40px 20px;
}

.footer p {
    margin:0;
    font-size:18px;            /* TROCHĘ WIĘKSZE */
}
a {
    text-decoration:none;
}

a:hover {
    text-decoration:underline; /* JEDNO PODKREŚLENIE */
}
#contact a {
    text-decoration:none;
}

#contact a:hover {
    text-decoration:underline;
}
@media (max-width: 768px) {
  #contact {
    padding-bottom: 20px !important;
    margin-bottom: 0 !important;
  }

  #contact .contact-values {
    margin-top: 20px !important;
  }
}
/* =========================================================
   FIXY 2025-11-23 – MOBILE + DROBNY DESKTOP
   ========================================================= */

/* 1. Brak poziomego scrolla / "gładkiego tła" po prawej */
html,
body {
  overflow-x: hidden !important;
}

/* 2. HERO: mniejsze H1 na mobile (~20% mniej) + eyebrow w jednym rzędzie */
@media (max-width: 768px) {

  .hero h1 {
    font-size: 42px !important; /* było 52px, potem 47px */
  }

  .hero .eyebrow {
    white-space: nowrap;
    font-size: 14px !important;
  }
}

/* 3. HERO: przyciski CZYTAJ DALEJ / KONTAKT – jeden pod drugim, ta sama szerokość */
@media (max-width: 768px) {

  .hero__actions {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
  }

  .hero__actions a {
    width: 100% !important;
    font-size: 16px !important;
    text-align: center;
  }
}

/* 4. CO OFERUJĘ: ciaśniejsza interlinia w tytułach usług (desktop + mobile) */
.offer-card h3 {
  line-height: 1.25 !important;
}

/* na mobile trochę ciaśniej, ale wciąż czytelnie */
@media (max-width: 768px) {
  .offer-card h3 {
    line-height: 1.2 !important;
  }
}

/* 5. O MNIE – imię i nazwisko zawsze w jednym rzędzie na mobile */
@media (max-width: 768px) {
  .about__title {
    white-space: nowrap;
    font-size: clamp(24px, 7vw, 36px) !important;
  }
}

/* 6. O MNIE – DIETETYK KLINICZNY I PSYCHODIETETYK w jednym rzędzie */
@media (max-width: 768px) {
  .about__subtitle {
    white-space: nowrap;
    font-size: clamp(11px, 3.6vw, 14px) !important;
  }
}

/* 7. ZAUFALI MI – prostokątne logotypy na mobile (nie kwadraty) */
@media (max-width: 900px) {
  .trusted-logos {
    flex-direction: column;
    align-items: center;
    gap: 28px;
    flex-wrap: nowrap;
  }

  .trusted-logo {
    width: 100%;
    max-width: 360px;
    aspect-ratio: 3 / 1 !important;  /* wymuszony prostokąt */
    height: auto !important;
    padding: 24px 32px;
  }

  .trusted-logo img {
    max-width: 240px;
    max-height: 80px;
    object-fit: contain;
  }
}

/* 8. OPINIE – przycisk zamykania popupu: kolor i wyśrodkowanie znaku × */
.popup-close {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: #1a1714 !important;
  line-height: 1 !important;
}

.popup-close:focus {
  outline: none;
}

/* 9. MEDIA – „POSŁUCHAJ” wyrównany do lewej z tekstem powyżej */
.media__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* na wszelki wypadek zerujemy wcięcie dla spanów w itemach */
.media__item span {
  text-indent: 0;
}
/* =========================================================
   PATCH 2025-11-23 – HERO / O MNIE / OPINIE / MEDIA / CTA
   ========================================================= */

/* --- 1. HERO: mniejsze H1 na mobile, żeby się ładnie łamało --- */
@media (max-width: 768px) {
  .hero h1 {
    /* elastyczne, ale wyraźnie mniejsze niż desktop */
    font-size: clamp(30px, 8vw, 36px) !important;
  }
}

/* --- 2. HERO: KONTAKT = ta sama wysokość co CZYTAJ DALEJ --- */
/* wyrównanie vertical padding tylko dla przycisków w hero */
.hero__actions .btn,
.hero__actions .btn-purple {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

/* na mobile dalej trzymamy je jeden pod drugim */
@media (max-width: 768px) {
  .hero__actions {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
  }

  .hero__actions a {
    width: 100% !important;
    font-size: 16px !important;
    text-align: center;
  }
}

/* --- 3–5. O MNIE – szerokość i marginesy tytułu, podtytułu i opisu --- */
@media (max-width: 768px) {

  /* Kontener sekcji – klasyczne marginesy, nic nie ucieka */
  #about .container {
    padding-left: 24px;
    padding-right: 24px;
  }

  /* Tekstowa kolumna na pełną szerokość kontenera */
  .about__text-col {
    width: 100%;
  }

  .about__header {
    text-align: left; /* zostawiamy lewą oś czytania */
  }

  /* Imię i nazwisko – na całą szerokość z marginesami kontenera */
  .about__title {
    display: block;
    width: 100%;
    white-space: nowrap;
    font-size: clamp(24px, 7vw, 32px) !important;
  }

  /* DIETETYK KLINICZNY I PSYCHODIETETYK – jeden wiersz w marginesach */
  .about__subtitle {
    display: block;
    width: 100%;
    white-space: nowrap;
    font-size: clamp(11px, 3.2vw, 14px) !important;
  }

  /* Akapity – pilnujemy, żeby miały taki sam margines z prawej jak z lewej
     (czyli trzymają się paddingu kontenera) */
  .about__text-col p {
    margin-left: 0;
    margin-right: 0;
  }
}

/* --- 6. OPINIE – stylowo: cały kafelek klikalny --- */
/* (logika kliknięcia będzie w JS, tutaj tylko UX) */
.opinie-card {
  cursor: pointer;
}

.opinie-card .opinie-read {
  pointer-events: none; /* klik gdziekolwiek w kafelku, nie tylko w napis */
}

/* --- 7. OPINIE – przycisk OPINIE tej samej szerokości co CTA w HERO --- */
/* na mobile: pełna szerokość, jak przyciski w sekcji 1 */
@media (max-width: 768px) {
  .opinions-bottom {
    margin-top: 64px;
    flex-direction: column;
    align-items: stretch;
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
    gap: 18px;
  }

  .opinions-bottom__text {
    text-align: left;
  }

  .button-opinie {
    width: 100% !important;
    text-align: center !important;
    padding: 14px 32px !important;
  }
}

/* --- 8. MEDIA – POSŁUCHAJ wyrównane do lewej jak tekst nad nim --- */

.media__item {
  padding-left: 0; /* na wszelki wypadek – zero dodatkowego wcięcia */
}

.media__item h3,
.media__item p {
  margin-left: 0;
}

/* sam link POSŁUCHAJ */
.media__link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* --- 9. MEDIA – odstęp przed sekcją KONTAKT --- */

#media {
  margin-bottom: 80px;
}

@media (max-width: 768px) {
  #media {
    margin-bottom: 64px;
  }
}
/* ================== HOTFIX 2025-11-23 ================== */

/* 1. HERO – mniejszy tytuł na mobile, żeby się ładnie łamał */
@media (max-width: 768px) {
  .hero__title {
    font-size: 38px !important;
    line-height: 1.1 !important;
  }
}

@media (max-width: 480px) {
  .hero__title {
    font-size: 34px !important;
  }
}

/* 2. HERO – przyciski CZYTAJ DALEJ / KONTAKT: ta sama wysokość i szerokość */
.hero__actions {
  display: flex;
  gap: 16px;
}

.hero__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  padding: 14px 32px;
  min-height: 52px;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

@media (max-width: 768px) {
  .hero__actions {
    flex-direction: column;
  }

  .hero__actions a {
    width: 100%;
  }
}

/* 3. O MNIE – „Ewelina Chrząścik” większe na mobile, ale wciąż w jednym rzędzie */
@media (max-width: 900px) {
  .about__title {
    font-size: clamp(32px, 9vw, 40px) !important;
    white-space: nowrap;
  }
}

/* 4. OPINIE – cały kafelek klikalny (a nie tylko CZYTAJ DALEJ) */
.opinie-card {
  position: relative;
}

.opinie-card .opinie-read {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  font-size: 0; /* ukrywamy tekst przycisku – pokaże go ::after */
}

.opinie-card .opinie-read::after {
  content: "CZYTAJ DALEJ";
  position: absolute;
  right: 24px;
  bottom: 24px;
  font-size: 12px;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #644559;
}

@media (max-width: 768px) {
  .opinie-card .opinie-read::after {
    right: 16px;
    bottom: 16px;
  }
}

/* 5. OPINIE – przycisk „OPINIE” na dole: szerokość jak przyciski w HERO */
.button-opinie {
  display: block;
  max-width: 420px;
  width: 100%;
  margin: 24px auto 0;
  text-align: center;
}

/* 6. POPUP z opiniami – kolor krzyżyka taki jak obrys kółka */
.popup-close {
  color: #1a1714;
  border-color: #1a1714;
}

/* 7. MEDIA – przerwa przed KONTAKT w kolorze sekcji, nie biała */
#media {
  margin-bottom: 0 !important;
  padding-bottom: 80px !important;
}

@media (max-width: 768px) {
  #media {
    padding-bottom: 56px !important;
  }
}

/* 8. MEDIA – POSŁUCHAJ wyrównany do lewej jak tekst wyżej */
#media .media__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  margin: 8px 0 0 0;
}

#media .media__link::before {
  content: none !important; /* usuwa linię po lewej, która robiła wcięcie */
}
@media (max-width: 900px) {
  .about__title {
    font-size: clamp(34px, 10vw, 44px) !important;
  }
}
/* === FIX: Linki w buttonach bez podkreśleń === */

.btn,
.btn-purple,
.button-opinie,
.btn--ghost,
.btn--primary {
    text-decoration: none !important;
}

.btn:hover,
.btn-purple:hover,
.button-opinie:hover,
.btn--ghost:hover,
.btn--primary:hover {
    text-decoration: none !important;
}

.btn:visited,
.btn-purple:visited,
.button-opinie:visited,
.btn--ghost:visited,
.btn--primary:visited {
    text-decoration: none !important;
}
/* === MEDIA — czyste linki, bez tła, bez podkreśleń === */

/* usuwa underline wszędzie */
.media__item,
.media__item *,
.media__item a {
    text-decoration: none !important;
}

/* cały blok jest obszarem kliknięcia, bez tła */
.media__item {
    display: block;
    background: none !important;   /* brak tła */
    box-shadow: none !important;   /* brak cienia */
    border: none !important;       /* brak obrysu */
    padding: 0 !important;         /* czysto jak w projekcie */
    transition: transform 0.18s ease;
}

/* efekt hover – tylko powiększenie */
.media__item:hover {
    transform: scale(1.03);
}

/* strzałka POSŁUCHAJ → również bez underline */
.media__link {
    text-decoration: none !important;
}
/* === KONTAKT — efekt powiększenia logo przy hoverze === */

.contact__logo {
    display: block;
    width: auto;
    transition: transform 0.25s ease; /* płynna animacja */
    transform-origin: center center;  /* powiększanie od środka */
    cursor: pointer; /* opcjonalnie: sygnalizuje interakcję */
}

.contact__logo:hover {
    transform: scale(1.05); /* delikatny zoom */
}
/* Ultra-delikatny zoom dla badge „e.” – stabilny, bez przesunięć */

/* HERO — ma własne translateX, więc trzeba je zachować */
.hero__badge:hover {
  transform: translateX(-95px) scale(1.03);
}

/* pozostałe badge mają translate(-50%, -50%) */
.offer__badge:hover,
.about__badge:hover,
.trusted__badge:hover,
.opinie__badge:hover,
.media__badge:hover {
  transform: translate(-50%, -50%) scale(1.03);
}
/* Delikatnie mocniejszy zoom dla badge „e.” — stabilny i elegancki */

/* HERO — zachowujemy translateX */
.hero__badge:hover {
  transform: translateX(-95px) scale(1.045);
}

/* reszta badge z translate(-50%, -50%) */
.offer__badge:hover,
.about__badge:hover,
.trusted__badge:hover,
.opinie__badge:hover,
.media__badge:hover {
  transform: translate(-50%, -50%) scale(1.045);
}
.opinions-bottom {
    display: flex;
    align-items: center;   /* pionowe wyśrodkowanie */
    justify-content: center; /* poziome wyśrodkowanie całości */
    gap: 40px;             /* odstęp między tekstem a przyciskiem */
}

/* === OPINIE – wyrównanie tekstu z przyciskiem === */

.opinions-bottom {
  display: flex;
  align-items: center;      /* środki pudełek w jednej linii */
  justify-content: center;
  gap: 40px;
}

.opinions-bottom__text {
  margin: 0;
}

/* mikro-korekta optyczna – podnosi przycisk względem tekstu */
.button-opinie {
  margin-top: -4px;
}
/* === FINALNY FIX SEKCJI O MNIE === */

/* kontener O MNIE jako 2 kolumny flex */
#about .container.about {
  display: flex !important;
  align-items: stretch;
  gap: 40px;
}

/* obie kolumny na równą wysokość */
#about .container.about .about__photo-col,
#about .container.about .about__text-col {
  flex: 1 1 0;
}

/* lewa kolumna – zdjęcie przy dolnej krawędzi */
#about .container.about .about__photo-col {
  display: flex;
  align-items: flex-end;   /* kotwiczymy zdjęcie na dole */
}

/* zdjęcie na pełną szerokość kolumny */
#about .container.about .about__photo {
  width: 100%;
  height: auto;
  display: block;
}

/* zabieramy „poduszkę” pod ostatnim akapitem,
   żeby dół tekstu zjechał równo z dołem zdjęcia */
#about .container.about .about__text-col p:last-of-type {
  margin-bottom: 10px;   /* możesz podbić np. do 60–70, jeśli chcesz więcej luzu */
}

/* === MOBILE: zmniejszenie odstępu pod sekcją HERO === */
@media (max-width: 768px) {
    .hero {
        padding-bottom: 80px !important; /* było więcej, zmniejszamy */
    }
}
#about {
  padding-bottom: 0 !important;
}
/* ==== FIX O MNIE — obrazek równo do dołu ==== */

#about {
  display: flex;
  align-items: stretch; /* sekcja rozciąga obie kolumny równo do dołu */
}

.about__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end; /* OBA BLOKI wyrównane DO DOŁU */
}

#about .container {
  padding-top: 80px !important;   /* było 120px */
  padding-bottom: 0 !important;   /* było 120px i to blokowało */
}

.about__image-col img {
  display: block;
  width: 100%;
  height: auto;
  align-self: end; /* obrazek ciągnie do dołu */
}
/* większa kolumna na zdjęcie */
#about .container.about .about__photo-col {
  flex: 0 0 48%;  /* było ok. 40–42% → teraz 48% */
}
/* tekst ładnie wycentrowany w pionie */
#about .container.about .about__text-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
}


/* === MOBILE: odwrócenie kolejności w sekcji O MNIE === */
@media (max-width: 768px) {
    .about {
        display: flex;
        flex-direction: column-reverse; /* zdjęcie na dole, tekst na górze */
    }

    .about__photo-col,
    .about__text-col {
        width: 100%;
    }
}
/* === MOBILE + TABLET: wspólne zachowanie === */
@media (max-width: 1024px) {

    /* 1. Mniejszy odstęp pod HERO */
    .hero {
        padding-bottom: 40px !important;
    }

    /* 2. Sekcja O MNIE — tekst na górze, zdjęcie na dole */
    .about {
        display: flex;
        flex-direction: column-reverse;
    }

    .about__photo-col,
    .about__text-col {
        width: 100%;
    }

    /* 3. (opcjonalnie) możesz wkleić tu wszystkie inne mobilne zmiany,
       jeśli jakieś jeszcze dodawałyśmy */
}
/* TABLETY: HERO wraca do dwóch kolumn jak na desktopie */
@media (min-width: 769px) and (max-width: 1024px) {
  .hero__inner {
    display: flex;
    flex-direction: row;      /* zamiast kolumny */
    align-items: center;
    gap: 48px;
  }

  .hero__text {
    flex: 1 1 52%;
    padding-left: 60px;       /* trochę bliżej niż 80, możesz podbić */
  }

  .hero__visual {
    flex: 1 1 48%;
    display: flex;
    justify-content: center;
  }

  .hero__photo-wrapper {
    margin-top: 0;
    max-width: 480px;         /* żeby zdjęcie nie było gigantyczne */
  }

  .hero {
    padding-top: 72px;
    padding-bottom: 96px;     /* mniej „pustego” dołu niż na dużym desktopie */
  }
}
/* Animowane pojawianie się sekcji przy scrollu */

.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition:
    opacity 0.6s ease-out,
    transform 0.6s ease-out;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Animowane pojawianie się elementów przy scrollu */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition:
    opacity 0.6s ease-out,
    transform 0.6s ease-out;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
/* === MOBILE FIX: ZAUFALI MI — prostokąty, zero kwadratów === */
@media (max-width: 900px) {
  .trusted-logos {
    flex-direction: column !important;
    align-items: center !important;
    gap: 28px !important;
  }

  .trusted-logo {
    width: 100% !important;
    max-width: 360px !important;

    /* Najważniejsze → ZABIJAMY flex-basis */
    flex: none !important;

    height: 140px !important;
    padding: 24px 32px !important;
  }

  .trusted-logo img {
    max-width: 240px !important;
    max-height: 80px !important;
    width: auto !important;
    height: auto !important;
  }
}
.trusted-logo {
  transition: transform .25s ease !important;
}

.trusted-logo:hover {
  transform: scale(1.03) !important;
}
.about__subtitle {
  margin-bottom: 40px !important;
}
.linebreak-desktop {
  display: inline;
}

@media (min-width: 1024px) {
  .linebreak-desktop {
    display: block;   /* wymusza nową linię na desktopie */
    margin-top: 4px;  /* opcjonalnie — odrobina oddechu */
  }
}
/* Domyślnie — mobile/tablet: normalnie się łamie */
.lb { 
  white-space: normal !important;
}

/* Desktop — PSYCHODIETETYK ZAWSZE w nowej linii */
@media (min-width: 1024px) {
  .lb {
    display: block !important;
    margin-top: 3px;
  }
}
/* Naprawa układu O MNIE po dodaniu dłuższego tekstu */
@media (min-width: 1024px) {

  .about__inner {
    align-items: flex-start;       /* tekst zaczyna się równo z górą zdjęcia */
    gap: 48px;                     /* trochę ciaśniej = ładniej */
  }

  .about__content {
    margin-top: 0 !important;      /* usuwa niepotrzebne opuszczenie */
  }
}
/* Większy oddech nad numerem 03 tylko na desktopie */
@media (min-width: 1101px) {
  .about__text-col p:last-of-type {
    margin-bottom: 48px; /* możesz podbić np. do 56px jeśli dalej za mało */
  }
}
/* Wyłącza wszystkie dziedziczone podkreślenia */
a {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Jedno podkreślenie tylko na hover */
a:hover {
  text-decoration: underline !important;
}
/* --- FIX: pozycja numeru 03 w sekcji O MNIE --- */
.about__page {
  bottom: 20px;  /* było 40px – numer będzie niżej, większy odstęp od tekstu */
}
/* Naprawa sekcji O MNIE */
.section--about {
    padding: 80px 0 0 !important; /* zero padding-bottom */
}

.about__text-col {
    padding-bottom: 50px; /* dodatkowy luz tylko pod tekstem */
}
.about__image img {
    height: 100%;
    object-fit: cover;
    object-position: bottom;
    display: block;
}
@media (min-width: 1025px) {
  .about {
    align-items: stretch !important;   /* obie kolumny mają tę samą wysokość */
  }

  .about__photo-col {
    display: flex;
    align-items: flex-end;             /* zdjęcie trzyma się dołu kolumny */
  }

  .about__photo-col img {
    width: 100%;
    height: auto;
    display: block;
  }
}
#opinie {
    padding-bottom: 120px !important;
}
@media (max-width: 768px) {
  #about .about {
    padding-top: 0 !important;
    padding-bottom: 40px; /* żeby nie skleiło się z następną sekcją */
  }
}
@media (max-width: 768px) {
  #about {
    padding-bottom: 20px !important; /* zamiast 120px */
  }

  .about__photo-wrapper {
    margin-top: 20px !important; /* zmniejsza dziurę nad zdjęciem */
  }
}
 @media (max-width: 768px) {
  #about .container {
    padding-top: 24px !important;   /* było 120px → ogromna przerwa */
    padding-bottom: 40px !important;
  }


/* O MNIE – MOBILE: ciaśniej między tekstem a zdjęciem */
@media (max-width: 768px) {
  /* kontener O MNIE na mobile */
  #about .container.about {
    display: flex !important;
    flex-direction: column-reverse !important; /* tekst u góry, zdjęcie pod spodem */
    gap: 16px !important;  /* zamiast 40px → dużo mniejsza przerwa */
  }

  /* zabieramy dodatkową poduszkę nad zdjęciem */
  #about .container.about .about__photo-wrapper {
    margin-top: 0 !important;
  }
}
/* MOBILE – sekcja O MNIE: więcej oddechu na górze, mniej pustki przy zdjęciu */
@media (max-width: 767px) {

  /* góra/dół całej sekcji O MNIE */
  #about.section,
  .section--about {
    padding-top: 4rem;      /* było za mało – tekst przyklejony do góry */
    padding-bottom: 3rem;   /* można lekko zmniejszyć dół sekcji */
  }


/* MOBILE – tekst nad zdjęciem + brak dziury pod zdjęciem */
@media (max-width: 767px) {

  /* kolumny w sekcji O MNIE układamy pionowo */
  .section--about .container.about {
    display: flex;
    flex-direction: column;
  }

  /* najpierw tekst, potem zdjęcie */
  .section--about .about__text-col {
    order: 1;
  }

  .section--about .about__photo-col {
    order: 2;
    margin: 1.5rem 0 0 0;   /* minimalny odstęp NAD zdjęciem */
    padding: 0;
  }

  .section--about .about__photo-wrapper {
    margin: 0;
    padding: 0;
  }

  .section--about .about__photo {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
  }

  /* likwidujemy „krater” pod sekcją */
  #about.section,
  .section--about {
    padding-bottom: 0;
    margin-bottom: 0;
  }

  .section--about .container.about {
    padding-bottom: 0;
    margin-bottom: 0;
  }
}
/* Sekcja MEDIA – linki bez podkreślenia + lekki zoom */
.section--media a {
  text-decoration: none !important;
  transform: scale(1);
  transition: transform 0.2s ease, opacity 0.2s ease;
}

/* Hover – lekkie powiększenie */
.section--media a:hover {
  transform: scale(1.05);
  opacity: 0.9;
}
/* ===== MEDIA – usuń podkreślenia z linków ===== */

#media .media__item,
#media .media__item *,
#media .media__item a,
#media .media__item a:hover,
#media .media__link,
#media .media__link:hover {
  text-decoration: none !important;
  box-shadow: none !important;
  border-bottom: none !important;
}

/* ===== MEDIA – delikatny zoom ===== */

#media .media__item {
  display: block;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

@media (hover: hover) and (pointer: fine) {
  #media .media__item:hover {
    transform: scale(1.03);
    opacity: 0.9;
  }
}
/* =========================================
   SEKCJA MEDIA – ZERO PODKREŚLEŃ ZAWSZE
   ========================================= */

section#media a,
section#media a:link,
section#media a:visited,
section#media a:hover,
section#media a:focus,
section#media a:active {
  text-decoration: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Delikatny zoom całego kafelka w MEDIA (desktop) */
section#media .media__item {
  display: block;
  transition: transform 0.22s ease, opacity 0.22s ease;
}

@media (hover: hover) and (pointer: fine) {
  section#media .media__item:hover {
    transform: scale(1.03);
    opacity: 0.9;
  }
}
