@charset "UTF-8";
/*!
Theme Name: Danwood
Theme URI: https://magiauslug.pl
Author: magiauslug.pl
Author URI: https://magiauslug.pl
Description: Modern, fast WordPress theme for recruitment and employer branding. Built with performance and accessibility in mind. Clean layout, conditional assets, and Core Web Vitals–friendly.
Version: 2.3
Tags: responsive, recruitment, jobs, modern, fast, accessible, custom-post-type, translation-ready
*/
/**
 * Zmienne reużywalne (header, komponenty).
 * Breakpoint używany z wordpressify: --screen-xxl (1440px).
 */
/* Breakpointy – zmienne SCSS (do mixinów / media queries) */
:root {
  /* Kolory */
  --color-text: #303030;
  --color-brand: #d2232a;
  --color-brand-hover: #b81e24;
  --color-white: #fff;
  --color-bg-light: #f5f5f5;
  --color-border: #d6d6d6;
  --color-border-light: #e8e8e8;
  --color-muted: #a0a0a0;
  /* Typografia */
  --font-primary: "Montserrat", sans-serif;
  --font-size-base: 16px;
  --font-size-sm: 14px;
  --line-height-tight: 16px;
  --line-height-base: 24px;
  /* Typografia fluid – skalowanie na mniejszych ekranach */
  --font-size-hero: clamp(2rem, 3.5vw, 3rem);
  --font-size-h2: clamp(1.5rem, 2.5vw, 2.25rem);
  --font-size-h3: clamp(1.125rem, 2vw, 1.5rem);
  --font-size-h1-subpage: 36px;
  /* Header – spacing / layout (zgodne z Figmą) */
  --header-gap: 55px;
  --header-gap-lg: 100px;
  --header-padding: 10px;
  /* Pasek headera przy scrollu (fixed) – padding-top kompensacyjny w _c-subpage-header ~76px + oddech pod sticky reel/sidebar */
  --sticky-header-offset: 88px;
  --radius-pill: 100px;
  --cta-padding: 12px 32px;
  /* Sekcje – ujednolicone paddingi L/R i max-width (wyrównanie w pionie), fluid; content węższy – przestrzeń L/R */
  --section-padding-x: clamp(1rem, 4vw, 3rem);
  --section-padding-y: clamp(3rem, 6vw, 6rem);
  --inner-max-width: 1280px;
  /* Kontenery treści: 0 na desktop (wyrównanie z headerem), section-padding-x na mobile i tablet */
  --content-padding-x: 0;
  /* Wymiary ikon i logo */
  --icon-size: 20px;
  --logo-width: 53px;
  --logo-height: 59px;
  /* Strefa pracodawcy (Figma) */
  --employer-color-heading: #0e0e0e;
  --employer-color-body: #4c4c4c;
  --employer-color-muted: #c1c1c1;
  --employer-line-height-heading: 47px;
  --employer-font-inter: "Inter Tight", sans-serif;
  --employer-font-neulis: "Neulis Sans", sans-serif;
  /* Footer */
  --color-footer-bg: #f2f2f2;
  --color-footer-text: #0e0e0e;
  --color-footer-bar-text: #c7c7c7;
  --color-footer-phone-border: #898989;
  --footer-inner-max: var(--inner-max-width);
  --footer-gap: 30px;
}

/* Padding L/R dopóki viewport węższy niż kontener – od 1280px kontener wycentrowany, wcześniej padding L/R */
@media (max-width: 1279px) {
  :root {
    --content-padding-x: var(--section-padding-x);
  }
}
@custom-media --screen-xs (min-width: 0);
@custom-media --screen-sm (min-width: 576px);
@custom-media --screen-md (min-width: 768px);
@custom-media --screen-lg (min-width: 992px);
@custom-media --screen-xl (min-width: 1200px);
@custom-media --screen-xxl (min-width: 1440px);
@custom-media --screen-xxxl (min-width: 1920px);
:root {
  --color-primary: var(--wp--preset--color--accent-1);
}

html,
body {
  margin: 0;
  padding: 0;
  min-height: 100%;
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html,
  body {
    scroll-behavior: auto;
  }
}
body {
  font-family: "Montserrat", sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}

* {
  box-sizing: border-box;
  min-width: 0;
}

pre,
code,
kbd,
samp {
  font-family: monospace, monospace;
}

pre,
code,
kbd,
samp,
blockquote,
p,
a,
h1,
h2,
h3,
h4,
h5,
h6,
ul li,
ol li {
  margin: 0;
  padding: 0;
}

ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

figure {
  margin: 0;
}

fieldset {
  appearance: none;
  border: none;
}

/* Transition tylko na właściwościach często animowanych (bez transition: all – wydajność). */
button,
input,
a {
  transition: color 0.2s ease, background-color 0.2s ease, opacity 0.2s ease, border-color 0.2s ease;
}

strong,
b {
  font-weight: 700;
}

/**
 * Mixiny responsywne – spójne breakpointy (sm, md, lg, xl, xxl).
 * Użycie: @include bp-up(lg) { ... } lub @include bp-down(md) { ... }
 * Forward: utilities/u-focus (focus-ring) dostępny przez mixins.focus-ring.
 */
/**
 * Utility: wspólny ring focus-visible (a11y).
 * Użycie w komponentach: @use "../utilities/u-focus" as focus; … &:focus-visible { @include focus.focus-ring; }
 * Lub przez tools/mixins (forward): @include mixins.focus-ring; lub z parametrami focus-ring(#fff, 2px).
 */
/**
 * Obiekt sekcji – wspólny padding i wewnętrzny kontener (max-width).
 * Użycie: <section class="o-section c-Component"> + <div class="o-section__inner"> lub tylko .o-section.
 */
.o-section {
  width: 100%;
  box-sizing: border-box;
  padding: var(--section-padding-y) var(--section-padding-x);
}

.o-section__inner {
  width: 100%;
  max-width: var(--inner-max-width);
  margin: 0 auto;
}

/**
 * Header podstron – 1:1 z Figmy.
 * Sekcja: tło header-bg.jpg. Pasek: biały #fff, tekst #303030, Montserrat.
 */
/* Sekcja z tłem – wysokość 360px, tło header-bg.jpg; padding-top zwiększamy gdy bar jest sticky (JS) */
.c-subpage-header {
  width: 100%;
  height: 360px;
  min-height: 360px;
  position: relative;
  box-sizing: border-box;
  background-color: #1a1a1a;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: clamp(1rem, 3vw, 2rem) clamp(0.75rem, 2.5vw, 1.5rem) clamp(1rem, 3vw, 2rem) clamp(0.75rem, 2.5vw, 1.5rem);
}

.c-subpage-header--bar-sticky {
  padding-top: 76px;
}

/* Opakowanie tytułu strony na czerwonym tle */
.c-subpage-header__title-wrap {
  width: 100%;
  max-width: var(--inner-max-width);
  margin: auto 0 0;
  padding: 0;
  text-align: left;
}

/**
 * Tytuł na tle hero (czerwony / ciemny).
 * Styl globalny – można użyć .c-hero-title na innych podstronach.
 */
.c-hero-title {
  margin: 0;
  font-size: var(--font-size-hero);
  font-weight: 600;
  font-family: "Montserrat", sans-serif;
  color: #fff;
  line-height: 1.2;
}

/* Biały pasek – jedna linia, CTA po prawej; mniejszy padding niż sekcje strony */
.c-subpage-header__bar {
  width: 100%;
  max-width: var(--inner-max-width);
  margin: 0 auto;
  padding: 0;
  border-radius: 100px;
  background-color: #fff;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  box-sizing: border-box;
  text-align: left;
  font-size: 16px;
  color: #303030;
  font-family: "Montserrat", sans-serif;
}

/* Wrapper treści (logo + nav + CTA) – ta sama szerokość przy sticky */
.c-subpage-header__bar-content {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex: 1;
  flex-wrap: nowrap;
  padding: 8px clamp(0.75rem, 2.5vw, 1.25rem);
  box-sizing: border-box;
}
@media (min-width: 1200px) and (max-width: 1399px) {
  .c-subpage-header__bar-content {
    padding: 8px 0.75rem;
  }
}

.c-subpage-header__bar a,
.c-subpage-header__bar button {
  font-family: "Montserrat", sans-serif;
}

/* Sticky: bar na cały ekran, treść w tej samej szerokości, bez zaokrągleń, top 0 */
.c-subpage-header__bar--sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: none;
  margin: 0;
  border-radius: 0;
  z-index: 9999;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.14);
  animation: headerSlideDown 0.25s ease forwards;
}

.c-subpage-header__bar--sticky .c-subpage-header__bar-content {
  width: 100%;
  max-width: var(--inner-max-width);
  margin-left: auto;
  margin-right: auto;
}

@keyframes headerSlideDown {
  from {
    transform: translateY(-110%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-subpage-header__bar--sticky {
    animation: none;
  }
}
/* Lewa grupa: logo + nav w jednej linii; przy ~1200px mniejszy gap, żeby menu się mieściło */
.c-subpage-header__inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px;
  flex-wrap: nowrap;
  flex-shrink: 0;
}
@media (min-width: 1200px) and (max-width: 1399px) {
  .c-subpage-header__inner {
    gap: 20px;
  }
}

/* Logo (jak .image-1-parent + .danwood-praca) */
.c-subpage-header__logo {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
  line-height: 16px;
  text-transform: uppercase;
  text-decoration: none;
  color: #303030;
}

.c-subpage-header__logo-name {
  display: block;
  line-height: 16px;
  text-transform: uppercase;
  font-weight: 600;
  color: #303030;
}

.c-subpage-header__logo-img {
  width: 53px;
  height: 59px;
  object-fit: cover;
  flex-shrink: 0;
}

.c-subpage-header__logo-text--accent {
  color: #d2232a;
}

/* Nawigacja – ukryta na mobile */
.c-subpage-header__nav {
  display: none;
}

.c-subpage-header__list {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px;
  flex-wrap: nowrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 1200px) and (max-width: 1399px) {
  .c-subpage-header__list {
    gap: 16px;
  }
}

.c-subpage-header__item {
  position: relative;
}

/* Linki (jak .oferty-pracy) */
.c-subpage-header__link {
  position: relative;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: #303030;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease;
}
@media (prefers-reduced-motion: reduce) {
  .c-subpage-header__link {
    transition: none;
  }
}
.c-subpage-header__link:hover {
  color: var(--color-brand);
}

/* Aktywna zakładka – kolor theme (czerwony); dotyczy też rodzica gdy jesteśmy na podstronie */
.c-subpage-header__item--current .c-subpage-header__link,
.c-subpage-header__item--current .c-subpage-header__dropdown-toggle {
  color: var(--color-brand);
}

.c-subpage-header__item--has-child {
  display: flex;
  align-items: center;
  gap: 10px;
}

.c-subpage-header__dropdown-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: color 0.2s ease;
}
@media (prefers-reduced-motion: reduce) {
  .c-subpage-header__dropdown-toggle {
    transition: none;
  }
}
.c-subpage-header__dropdown-toggle:hover {
  color: var(--color-brand);
}
.c-subpage-header__dropdown-toggle {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: #303030;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: "Montserrat", sans-serif;
  text-decoration: none;
  white-space: nowrap;
}

.c-subpage-header__dropdown-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

@media (prefers-reduced-motion: reduce) {
  .c-subpage-header__dropdown-icon {
    transition: none;
  }
}
.c-subpage-header__item--open .c-subpage-header__dropdown-icon {
  transform: rotate(180deg);
}

.c-subpage-header__dropdown-panel {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 100%;
  padding-top: 0.5rem;
  z-index: 10;
}

.c-subpage-header__item--open .c-subpage-header__dropdown-panel {
  display: block;
}

.c-subpage-header__dropdown-list {
  list-style: none;
  margin: 0;
  padding: 1rem 0;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.c-subpage-header__dropdown-link {
  display: block;
  padding: 0.5rem 1rem;
  font-size: 16px;
  font-weight: 600;
  color: #303030;
  text-decoration: none;
  white-space: nowrap;
  font-family: "Montserrat", sans-serif;
  transition: color 0.2s ease, background-color 0.2s ease;
}
@media (prefers-reduced-motion: reduce) {
  .c-subpage-header__dropdown-link {
    transition: none;
  }
}
.c-subpage-header__dropdown-link:hover {
  color: var(--color-brand);
  background-color: rgba(210, 35, 42, 0.06);
}

.c-subpage-header__dropdown-link:focus-visible {
  outline: 2px solid #d2232a;
  outline-offset: -2px;
}

/* Przycisk Kontakt – po prawej (padding jak w Figmie: 12px 32px) */
.c-subpage-header__cta {
  flex-shrink: 0;
  margin-left: auto;
  border-radius: 100px;
  background-color: #d2232a;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 32px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  font-family: "Montserrat", sans-serif;
  white-space: nowrap;
}

.c-subpage-header__cta:focus-visible {
  outline: 2px solid #303030;
  outline-offset: 2px;
}

/* Burger – mobile */
.c-subpage-header__burger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: #303030;
}

.c-subpage-header__burger-icon {
  width: 24px;
  height: 24px;
}

.c-subpage-header__logo:focus-visible,
.c-subpage-header__link:focus-visible,
.c-subpage-header__dropdown-toggle:focus-visible,
.c-subpage-header__burger:focus-visible {
  outline: 2px solid #d2232a;
  outline-offset: 2px;
}

/* Desktop: menu w linii wycentrowane, burger ukryty, CTA widoczny */
@media (min-width: 860px) {
  .c-subpage-header__inner {
    flex: 1;
  }
  .c-subpage-header__burger {
    display: none;
  }
  .c-subpage-header__nav {
    display: flex;
    margin-left: auto;
    margin-right: auto;
  }
  .c-subpage-header__nav--mobile {
    display: none;
  }
  .c-subpage-header__cta {
    display: flex;
  }
}
/* Kompaktowe menu – tablet / wąski desktop */
@media (min-width: 860px) and (max-width: 1199px) {
  .c-subpage-header__bar-content {
    padding: 8px 0.75rem;
  }
  .c-subpage-header__inner {
    gap: 16px;
  }
  .c-subpage-header__list {
    gap: 12px;
  }
  .c-subpage-header__link,
  .c-subpage-header__dropdown-toggle {
    font-size: 13px;
    line-height: 20px;
  }
  .c-subpage-header__dropdown-link {
    font-size: 13px;
  }
  .c-subpage-header__cta {
    padding: 8px 18px;
    font-size: 13px;
  }
  .c-subpage-header__logo-img {
    width: 40px;
    height: 44px;
  }
}
/* Mobile: panel pod barem */
@media (max-width: 859px) {
  .c-subpage-header__bar {
    flex-direction: column;
    align-items: stretch;
    border-radius: 10px;
  }
  .c-subpage-header__bar--sticky {
    border-radius: 0;
  }
  .c-subpage-header__inner {
    width: 100%;
  }
  .c-subpage-header__burger {
    margin-left: auto;
  }
  .c-subpage-header__cta {
    display: none;
  }
  .c-subpage-header__nav--mobile {
    display: none;
    order: 1;
    width: 100%;
    max-width: var(--inner-max-width);
    margin: 0.5rem auto 0;
    padding: 10px;
    background: #fff;
    color: #303030;
    font-family: "Montserrat", sans-serif;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    z-index: 1;
  }
  /* Gdy bar jest sticky (fixed), panel mobilny pod barem – absolute, żeby nie zsuwał treści */
  .c-subpage-header__bar--sticky .c-subpage-header__nav--mobile {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    max-width: none;
    margin: 0;
    margin-top: 8px;
    z-index: 10000;
    border-radius: 10px;
  }
  .c-subpage-header--nav-open .c-subpage-header__nav--mobile {
    display: block;
  }
  .c-subpage-header--nav-open .c-subpage-header__nav--mobile .c-subpage-header__list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .c-subpage-header--nav-open .c-subpage-header__nav--mobile .c-subpage-header__item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  }
  .c-subpage-header--nav-open .c-subpage-header__nav--mobile .c-subpage-header__item--has-child {
    display: block;
    width: 100%;
  }
  .c-subpage-header--nav-open .c-subpage-header__nav--mobile .c-subpage-header__link,
  .c-subpage-header--nav-open .c-subpage-header__nav--mobile .c-subpage-header__dropdown-toggle {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    padding: 12px 0;
    color: #303030;
    text-align: center;
  }
  .c-subpage-header--nav-open .c-subpage-header__nav--mobile .c-subpage-header__dropdown-toggle {
    gap: 8px;
  }
  .c-subpage-header--nav-open .c-subpage-header__nav--mobile .c-subpage-header__dropdown-icon {
    flex-shrink: 0;
    display: block;
  }
  /* Rozwinięcie w dół – panel pod przyciskiem */
  .c-subpage-header--nav-open .c-subpage-header__nav--mobile .c-subpage-header__dropdown-panel {
    position: static;
    margin-top: 0.5rem;
    margin-left: 0;
    padding: 0.75rem 1rem;
    box-shadow: none;
  }
  .c-subpage-header--nav-open .c-subpage-header__nav--mobile .c-subpage-header__dropdown-list {
    box-shadow: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
  }
  .c-subpage-header--nav-open .c-subpage-header__nav--mobile .c-subpage-header__dropdown-link {
    padding: 0.5rem 1rem;
    font-size: 15px;
    line-height: 1.4;
    text-align: center;
    color: #303030;
  }
}
/**
 * Breadcrumbs nad h1 w headerze podstron.
 * 1:1 z Figmy: gap 11px, 16px/24px, biały 0.7 / current #fff 600.
 */
.c-breadcrumbs {
  width: 100%;
  margin-bottom: 0.5rem;
}

.c-breadcrumbs__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 11px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 24px;
  color: rgba(255, 255, 255, 0.7);
  font-family: "Montserrat", sans-serif;
}

.c-breadcrumbs__item {
  position: relative;
  line-height: 24px;
}

.c-breadcrumbs__item--sep {
  display: flex;
  align-items: center;
  color: rgba(255, 255, 255, 0.7);
}

.c-breadcrumbs__sep-icon {
  flex-shrink: 0;
  object-fit: contain;
}

.c-breadcrumbs__link {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
}

.c-breadcrumbs__link:hover {
  color: #fff;
}

.c-breadcrumbs__link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.c-breadcrumbs__item--current {
  font-weight: 600;
  color: #fff;
}

/**
 * Stopka – 4 kolumny (brand, adresy, menu, social), pasek copyright.
 * Tło pełna szerokość; zawartość max inner-max-width (wyrównane z resztą strony). BEM: .c-footer.
 */
.c-footer {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--footer-gap, 30px);
  text-align: left;
  font-size: var(--font-size-base);
  color: var(--color-footer-text);
  font-family: var(--font-primary);
  padding: var(--section-padding-y) 0 1.5rem 0;
}

.c-footer__main {
  position: relative;
  width: 100%;
  min-height: 280px;
}
@media (min-width: 768px) {
  .c-footer__main {
    min-height: 348px;
  }
}

.c-footer__bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--color-footer-bg);
  z-index: 0;
}

.c-footer__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--footer-inner-max);
  margin: 0 auto;
  padding: 60px var(--section-padding-x) 2rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem 2rem;
  min-height: 0;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .c-footer__inner {
    min-height: 228px;
    grid-template-columns: 1fr 1fr;
    padding-left: var(--section-padding-x);
    padding-right: var(--section-padding-x);
  }
}
.c-footer__inner {
  /* Desktop: kolumny fluid (minmax) – skalują się na węższych ekranach */
}
@media (min-width: 1200px) {
  .c-footer__inner {
    grid-template-columns: minmax(0, 394px) minmax(0, 320px) 1fr 38px;
    column-gap: 60px;
    padding-left: var(--section-padding-x);
    padding-right: var(--section-padding-x);
    min-height: 228px;
  }
}

.c-footer__col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.c-footer__col--brand {
  gap: 17px;
  max-width: 100%;
}
@media (min-width: 1200px) {
  .c-footer__col--brand {
    max-width: 394px;
  }
}

.c-footer__col--addresses {
  gap: 32px;
  font-size: 16px;
  color: #0e0e0e;
  font-family: var(--font-primary);
}

.c-footer__col--menu .c-footer__nav {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Social media – na mobile w jednej linii, wyśrodkowane; od xl po prawej */
.c-footer__col--social {
  align-items: center;
  justify-self: center;
}
@media (min-width: 1200px) {
  .c-footer__col--social {
    align-items: flex-start;
    justify-self: end;
    margin-left: 0;
  }
}

.c-footer__logo {
  display: block;
  line-height: 0;
}

.c-footer__logo-img {
  width: auto;
  height: 76px;
  object-fit: contain;
  vertical-align: middle;
}

.c-footer__tagline {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 50px;
  color: var(--color-footer-text);
}

/* Sekcja telefonu – kółko 57px + półprzezroczysty pill + numer; RWD: 100% z max-width */
.c-footer__phone {
  position: relative;
  display: block;
  width: 100%;
  max-width: 394px;
  height: 57px;
  box-sizing: border-box;
  text-decoration: none;
  font-size: clamp(1.125rem, 3.5vw, 30px);
  line-height: 25px;
  font-weight: 600;
  color: #898989;
  font-family: var(--font-primary);
}
.c-footer__phone:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 2px;
}

.c-footer__phone-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 57px;
  height: 57px;
  border-radius: 28.5px;
  overflow: hidden;
  z-index: 1;
}
.c-footer__phone-icon img {
  display: block;
  width: 57px;
  height: 57px;
  object-fit: cover;
}

/* Półprzezroczysty biały pill (border-radius tylko z prawej); RWD: calc(100% - 25px) */
.c-footer__phone-pill {
  position: absolute;
  top: 0;
  left: 25px;
  width: calc(100% - 25px);
  height: 57px;
  border-radius: 0 100px 100px 0;
  background-color: var(--color-white);
  border: 1.5px solid #898989;
  box-sizing: border-box;
  opacity: 0.2;
}

.c-footer__phone-text {
  position: absolute;
  top: 16px;
  left: 73px;
  line-height: 25px;
  font-weight: 600;
  color: #898989;
  z-index: 1;
}

.c-footer__address {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin: 0;
  font-style: normal;
  font-size: 16px;
  line-height: var(--line-height-base);
  color: #0e0e0e;
  font-family: var(--font-primary);
}

.c-footer__address-icon {
  flex-shrink: 0;
  width: 37px;
  height: 37px;
  position: relative;
  object-fit: contain;
}

.c-footer__address-link {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  color: inherit;
  text-decoration: none;
}
.c-footer__address-link:hover, .c-footer__address-link:focus-visible {
  opacity: 0.7;
  color: var(--color-brand);
}

.c-footer__address-text {
  position: relative;
  flex: 1;
}

.c-footer__nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.c-footer__nav a {
  color: var(--color-footer-text);
  text-decoration: none;
}
.c-footer__nav a:hover, .c-footer__nav a:focus-visible {
  opacity: 0.7;
  color: var(--color-brand);
}

.c-footer__menu {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Ikony – na mobile w jednej linii, wyśrodkowane; od xl kolumna po prawej */
.c-footer__social {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  width: auto;
  min-height: 0;
}
@media (min-width: 1200px) {
  .c-footer__social {
    flex-direction: column;
    align-items: flex-start;
    gap: 27px;
    width: 38px;
    min-height: 154px;
  }
}

.c-footer__social-link,
.c-footer__social-icon {
  display: block;
  line-height: 0;
}

.c-footer__social-link:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 2px;
}

.c-footer__social-link img,
.c-footer__social-icon img {
  display: block;
  vertical-align: middle;
}

.c-footer__bar {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 0 var(--section-padding-x) 2rem;
  text-align: center;
}

.c-footer__copyright {
  margin: 0;
  font-family: "Neulis Sans", var(--font-primary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: var(--color-footer-bar-text);
}

.c-footer__privacy {
  color: inherit;
  text-decoration: underline;
}
.c-footer__privacy:hover, .c-footer__privacy:focus-visible {
  text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
  .c-footer__phone,
  .c-footer__social-link {
    transition: none;
  }
}
/**
 * Wysuwany panel kontaktowy – fixed po prawej, top 15%.
 * BTN przyklejony do prawej krawędzi; po kliknięciu całość przesuwa się w lewo (BTN po lewej panelu).
 * BEM: .c-contact-slide
 */
.c-contact-slide {
  position: fixed;
  right: 0;
  top: 21%;
  z-index: 9999;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  font-family: var(--font-primary);
  transform: translateX(min(600px, 90vw));
  transition: transform 0.3s ease;
}

.c-contact-slide.is-open {
  transform: translateX(0);
}

.c-contact-slide__tab {
  flex-shrink: 0;
  width: 40px;
  min-height: 120px;
  padding: 12px 8px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: var(--color-brand);
  color: var(--color-white);
  border: none;
  border-radius: 0 8px 8px 0;
  cursor: pointer;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.05em;
  z-index: 1;
}
.c-contact-slide__tab:hover, .c-contact-slide__tab:focus-visible {
  background-color: var(--color-brand-hover);
  color: var(--color-white);
}
.c-contact-slide__tab:focus-visible {
  outline: 2px solid var(--color-white);
  outline-offset: 2px;
}

.c-contact-slide__tab-text {
  display: block;
}

.c-contact-slide__tab-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
  transform: rotate(180deg);
}

.c-contact-slide.is-open .c-contact-slide__tab-icon {
  transform: rotate(0deg);
}

.c-contact-slide__panel {
  flex-shrink: 0;
  width: min(600px, 90vw);
  max-width: 600px;
  display: flex;
  flex-direction: column;
  border-radius: 0 0 0 8px;
  overflow: hidden;
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
  z-index: 0;
}

.c-contact-slide__card {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  background-color: var(--color-brand);
  min-height: 200px;
  padding-bottom: 24px;
}

.c-contact-slide__card-bg {
  position: absolute;
  inset: 0;
  opacity: 0.15;
  background: linear-gradient(135deg, transparent 30%, rgba(255, 255, 255, 0.2) 100%);
}

.c-contact-slide__card-img {
  position: absolute;
  top: 0;
  right: 0;
  width: 60%;
  height: 100%;
  object-fit: cover;
  opacity: 0.3;
  pointer-events: none;
}

.c-contact-slide__card-inner {
  position: relative;
  padding: 28px 24px 24px;
  color: var(--color-white);
}

.c-contact-slide__promo {
  margin: 0 0 12px;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.3;
}

.c-contact-slide__promo-highlight {
  display: block;
  font-size: 55px;
  font-weight: 700;
  margin-top: 4px;
}

.c-contact-slide__subtitle {
  margin: 0;
  font-size: 20px;
  font-weight: 400;
  opacity: 0.95;
}

.c-contact-slide__phone {
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 0;
  margin-left: 24px;
  max-width: 340px;
  background-color: var(--color-white);
  border: 1px solid var(--color-footer-phone-border);
  border-left: none;
  border-radius: 100px;
  text-decoration: none;
  font-size: 18px;
  font-weight: 600;
  line-height: 25px;
  color: var(--color-footer-phone-border);
  transition: background-color 0.2s ease, color 0.2s ease;
  min-height: 57px;
  z-index: 100;
}
.c-contact-slide__phone:hover {
  background-color: var(--color-bg-light);
  color: var(--color-text);
}
.c-contact-slide__phone:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 2px;
}

.c-contact-slide__phone-icon {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  min-width: 57px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--color-brand);
  color: var(--color-white);
  margin-right: 10px;
  position: relative;
  left: -2px;
}
.c-contact-slide__phone-icon svg {
  width: 24px;
  height: 24px;
}

.c-contact-slide__phone-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 24px;
}

@media (prefers-reduced-motion: reduce) {
  .c-contact-slide,
  .c-contact-slide__tab-icon {
    transition: none;
  }
}