/* ============================================================
   Eniverse — CSS globalny (ładowany na każdej stronie)
   Kolory/typografia pochodzą z theme.json (--wp--preset--*).
   ============================================================ */

:root {
  --eniverse-ease: cubic-bezier(.22, .61, .36, 1);
}

html { scroll-behavior: smooth; }

body {
  -webkit-font-smoothing: antialiased;
}

::selection {
  background: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--white);
}

:focus-visible {
  outline: 1px solid var(--wp--preset--color--accent);
  outline-offset: 3px;
}

/* --- Blocksy: zerujemy odstępy narzucane dzieciom grup/kolumn --- */
.entry-content > *,
.entry-content .wp-block-group > *,
.entry-content .wp-block-column > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

/* Strona bez tytułu i z pełną szerokością: wrapper nie dodaje własnych paddingów */
.entry-content > .alignfull {
  margin-inline: 0;
}

/* Sekcje pełnej szerokości: boczny oddech 64px (desktop) → 16px (mobile).
   Treść wewnątrz ma max 1312px (contentSize w theme.json), czyli razem 1440px jak w projekcie. */
.wp-block-group.alignfull {
  padding-inline: clamp(1rem, 4.5vw, 4rem);
}

/* Linki w tekście: akcent przy hover (bez podkreśleń) */
a { transition: color .18s ease; }

/* --- Klasy pomocnicze używane w markupie stron --- */

/* Słowo w nagłówku w kolorze akcentu: <span class="is-accent"> */
.is-accent { color: var(--wp--preset--color--accent); }

/* Sekcja strony: pionowy oddech 104px → 44px (boczny padding z .alignfull) */
.eniverse-section {
  padding-block: clamp(2.75rem, 1.5rem + 5vw, 6.5rem);
}

/* Nagłówek sekcji: tekst po lewej, link/opis po prawej */
.section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px 48px;
  margin-bottom: clamp(2rem, 1rem + 3vw, 3.5rem);
}
.section-head > * { margin-block: 0; }

/* Rozmiary nagłówków sekcji (H2): lg = 46px, xl = 54px */
.heading-lg { font-size: clamp(1.625rem, 1.2rem + 1.6vw, 2.875rem); line-height: 1.02; letter-spacing: .04em; }
.heading-xl { font-size: clamp(1.75rem, 1.2rem + 2vw, 3.375rem); line-height: 1; letter-spacing: .04em; }

/* Lead (tekst pod nagłówkiem sekcji) */
.lead {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: rgba(26, 26, 26, .75);
  text-wrap: pretty;
}

/* Link ze strzałką (np. „Wszystkie usługi") — <p class="link-arrow"><a>…</a></p> */
.link-arrow a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: .75rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--wp--preset--color--ink);
}
.link-arrow a::after {
  content: "";
  width: 14px;
  height: 14px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.link-arrow a:hover { color: var(--wp--preset--color--accent); }
.link-arrow--light a { color: var(--wp--preset--color--white); }
