/* KSEMJOT standalone — bez OnePage */

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
}

html.ksemjot-ready .con-kit-animation__atom,
html.ksemjot-ready .con-kit-animation--start .con-kit-atom__effects {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* Logo — desktop bazowo; na mobile nadpisane do 135×30 */
:root {
  --ksemjot-logo-h: 48px;
  --ksemjot-logo-w: auto;
}

.con-kit-component-logo__image,
[data-atom="logo"] img {
  max-width: 100%;
  width: auto !important;
  height: auto !important;
  max-height: var(--ksemjot-logo-h);
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: left center;
  display: block;
}

.con-kit-component-logo {
  max-width: min(220px, 58vw) !important;
  overflow: visible !important;
}

/* Kontakt: ikona ZAWSZE po lewej, tekst po prawej */
.biura .con-kit-atom-menu-v2-item-inside__wrapp,
.stopka .con-kit-atom-menu-v2-item-inside__wrapp,
.biura a.con-kit-atom-menu-v2-item-inside.ksemjot-contact-row,
.ksemjot-contact-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 10px !important;
  width: max-content !important;
  max-width: 100% !important;
}

.biura .con-kit-atom-menu-v2-item-inside__media,
.stopka .con-kit-atom-menu-v2-item-inside__media,
.ksemjot-contact-row .con-kit-atom-menu-v2-item-inside__media {
  flex: 0 0 auto !important;
  order: 1 !important;
  margin: 0 !important;
}

.biura .con-kit-atom-menu-v2-item-inside__decorator,
.stopka .con-kit-atom-menu-v2-item-inside__decorator,
.ksemjot-contact-row .con-kit-atom-menu-v2-item-inside__decorator {
  order: 2 !important;
}

.biura .con-kit-atom-menu-v2-item-inside__text,
.biura .con-kit-atom-menu-v2-item-inside__title,
.stopka .con-kit-atom-menu-v2-item-inside__text,
.stopka .con-kit-atom-menu-v2-item-inside__title,
.ksemjot-contact-row .con-kit-atom-menu-v2-item-inside__text,
.ksemjot-contact-row .con-kit-atom-menu-v2-item-inside__title {
  flex: 0 1 auto !important;
  order: 3 !important;
  margin: 0 !important;
  white-space: nowrap !important;
  text-align: left !important;
  width: auto !important;
  max-width: none !important;
}

.biura a.con-kit-link-button:empty,
.biura a.con-kit-atom-menu-v2-item-inside:empty,
.stopka a.con-kit-link-button:empty,
.stopka a.con-kit-atom-menu-v2-item-inside:empty {
  display: none !important;
}

.one-page-bar,
[class*="one-page-bar"],
.one-kit-not-configured {
  display: none !important;
}

/* Burger — jasny jak OnePage (ciemne kreski) */
.ksemjot-burger-btn {
  display: none;
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: 10001;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 8px;
  background: #ececec;
  color: #2b2a2b;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  box-shadow: none;
}

.ksemjot-burger-btn svg {
  width: 22px;
  height: 22px;
}

/* Panel mobilny — białe tło jak w OnePage */
.ksemjot-mobile-nav {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: #fff;
  padding: 24px 28px 40px;
  flex-direction: column;
  gap: 0;
  overflow: auto;
  font-family: Figtree, Roboto, sans-serif;
}

.ksemjot-mobile-nav.is-open {
  display: flex;
}

.ksemjot-mobile-nav__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
  min-height: 44px;
}

.ksemjot-mobile-nav__logo {
  display: block;
  width: var(--ksemjot-logo-w, auto);
  height: var(--ksemjot-logo-h);
  max-width: var(--ksemjot-logo-w, none);
  max-height: var(--ksemjot-logo-h);
  object-fit: contain;
  object-position: left center;
}

.ksemjot-mobile-nav__close {
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #2b2a2b;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.ksemjot-mobile-nav__close svg {
  width: 22px;
  height: 22px;
}

.ksemjot-mobile-nav__links {
  display: flex;
  flex-direction: column;
  gap: 0;
  flex: 1;
}

.ksemjot-mobile-nav a.ksemjot-mobile-nav__link {
  color: #2b2a2b;
  text-decoration: none;
  font-size: 1.05rem;
  font-weight: 500;
  padding: 14px 0;
  border-bottom: none;
}

.ksemjot-mobile-nav a.ksemjot-mobile-nav__cta {
  display: block;
  margin-top: 28px;
  padding: 14px 20px;
  background: #2b2a2b;
  color: #fff !important;
  text-align: center;
  text-decoration: none;
  border-radius: 6px;
  border-bottom: none;
  font-size: 1rem;
  font-weight: 600;
}

body.ksemjot-nav-open {
  overflow: hidden;
}

body.ksemjot-nav-open .ksemjot-burger-btn {
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 992px) {
  :root {
    --ksemjot-logo-h: 30px;
    --ksemjot-logo-w: 135px;
  }

  .ksemjot-burger-btn {
    display: flex;
  }

  /* Ukryj desktopowe menu + CTA w headerze, gdy widać hamburger */
  .con-kit-layer-header-v2 .con-kit-atom-menu-v2--device-desktop,
  .con-kit-layer-header-v2 .con-kit-component-menu-v2-more,
  .con-kit-layer-header-v2 .con-kit-component-link-group {
    display: none !important;
  }

  /* Logo 135×30 — header + hamburger */
  .con-kit-layer-header-v2 .con-kit-component-logo {
    max-width: 135px !important;
  }

  .con-kit-layer-header-v2 .con-kit-component-logo__image,
  .con-kit-layer-header-v2 [data-atom="logo"] img,
  .ksemjot-mobile-nav__logo {
    width: 135px !important;
    max-width: 135px !important;
    height: 30px !important;
    max-height: 30px !important;
    object-fit: contain !important;
  }

  /* Zsumowane paddings OnePage — sprowadź do 28px jak w .ksemjot-mobile-nav */
  .con-kit-layer-header-v2 .con-kit-organism-background1 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .con-kit-layer-header-v2 .con-kit-frame {
    padding-left: 28px !important;
    padding-right: 56px !important;
  }

  .con-kit-layer-header-v2 .con-kit-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Accordion */
.con-kit-component-list-item-accordion__body {
  overflow: hidden;
  transition: height 0.3s ease, opacity 0.3s ease;
  opacity: 0;
}

.con-kit-component-list-item-accordion.is-open .con-kit-component-list-item-accordion__body {
  opacity: 1;
}

.con-kit-component-list-item-accordion.is-open .con-kit-component-list-item-accordion__toggle svg {
  transform: rotate(180deg);
}

.con-kit-component-list-item-accordion__toggle svg {
  transition: transform 0.25s ease;
}

.con-kit-component-list-item-accordion__head {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}

/* Map */
.con-kit-component-map,
.con-kit-component-map__content {
  min-height: 320px;
  width: 100%;
}

.con-kit-component-map__content .leaflet-container {
  width: 100%;
  height: 360px;
  border-radius: 4px;
}

/* Lightbox */
.ksemjot-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 10050;
  background: rgba(0, 0, 0, 0.88);
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.ksemjot-lightbox.is-open {
  display: flex;
}

.ksemjot-lightbox__img {
  max-width: min(96vw, 1200px);
  max-height: 90vh;
  object-fit: contain;
  border-radius: 4px;
}

.ksemjot-lightbox__close {
  position: absolute;
  top: 16px;
  right: 20px;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 2.5rem;
  line-height: 1;
  cursor: pointer;
}

/* Marquee / galeria — płynne przewijanie (jak OnePage) */
.con-kit-component-marquee {
  position: relative;
  display: flex;
  overflow: hidden;
  width: 100%;
}

.con-kit-component-marquee__content {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  max-width: none !important;
  will-change: transform;
  animation: ksemjot-marquee var(--marquee-speed, 40s) linear infinite !important;
}

.con-kit-component-marquee--pause-on-hover:hover .con-kit-component-marquee__content {
  animation-play-state: paused;
}

.con-kit-component-marquee-gallery {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  flex-shrink: 0;
}

.con-kit-component-marquee-gallery-item {
  flex-shrink: 0;
}

.con-kit-component-marquee .con-kit-component-image,
.con-kit-component-marquee .con-kit-fade-box {
  height: var(--one-kit-image-height, 277px);
}

.con-kit-component-marquee .con-kit-component-image img,
.con-kit-component-marquee .con-kit-component-image__background {
  width: auto !important;
  height: var(--one-kit-image-height, 277px) !important;
  max-height: none !important;
  object-fit: cover;
  display: block;
}

@keyframes ksemjot-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* Blur-up / lazy — pokaż pełne zdjęcia */
img.blur-up,
img.lazyload,
img.lazyloaded {
  filter: none !important;
  opacity: 1 !important;
}

.con-blur-active,
.con-blur-done {
  filter: none !important;
}

.con-kit-fade-box img,
.con-kit-component-image img {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Lightbox — kursor na zdjęciach galerii */
[data-atom="gallery"] img,
.con-kit-component-marquee-gallery img {
  cursor: zoom-in;
}

.con-kit-component-burger-menu { display: none !important; }

a[href^="tel:"],
a[href^="mailto:"],
.ksemjot-contact-link {
  cursor: pointer;
  text-decoration: inherit;
}

/* Linki kontaktowe w tekście dziedziczą kolor sekcji — NIE przyciski solid */
a[href^="tel:"]:not(.con-kit-component-button),
a[href^="mailto:"]:not(.con-kit-component-button),
.ksemjot-contact-link:not(.con-kit-component-button) {
  color: inherit;
}

/*
 * Przyciski solid (też gdy są <a href="mailto/tel">) —
 * jak na stronie głównej: biały tekst na #2b2a2b
 */
a.con-kit-component-button--type-solid,
button.con-kit-component-button--type-solid {
  color: rgba(var(--color-text), var(--alpha-text, 1)) !important;
  background-color: rgba(var(--color-bg), var(--alpha-bg, 1)) !important;
}

a.con-kit-component-button--type-solid .con-kit-component-button__label,
a.con-kit-component-button--type-solid .con-kit-component-button__text,
button.con-kit-component-button--type-solid .con-kit-component-button__label,
button.con-kit-component-button--type-solid .con-kit-component-button__text {
  color: rgba(var(--color-text), var(--alpha-text, 1)) !important;
}

/* Aktualności — wymuś wygląd jak „Dołącz do Klubu” na home */
.ksemjot-aktualnosci .con-kit-component-button--type-solid,
.ksemjot-aktualnosci-page .con-kit-component-button--type-solid {
  --color-text: 255, 255, 255;
  --alpha-text: 1;
  --color-bg: 43, 42, 43;
  --alpha-bg: 1;
  --color-border: 242, 242, 241;
  --alpha-border: 1;
  --one-kit-radius: 4px;
  color: rgba(255, 255, 255, 1) !important;
  background-color: rgba(43, 42, 43, 1) !important;
  border-radius: 4px;
}

.ksemjot-aktualnosci .con-kit-component-button--type-solid .con-kit-component-button__label,
.ksemjot-aktualnosci .con-kit-component-button--type-solid .con-kit-component-button__text,
.ksemjot-aktualnosci-page .con-kit-component-button--type-solid .con-kit-component-button__label,
.ksemjot-aktualnosci-page .con-kit-component-button--type-solid .con-kit-component-button__text {
  color: rgba(255, 255, 255, 1) !important;
}

/* Puste drugie przyciski OnePage („Działanie wtórne”) bez etykiety */
.con-kit-component-link-group__second:not(:has(.con-kit-component-button__label)),
.con-kit-component-link-group__second:not(.con-kit-component-button--title) {
  display: none !important;
}

/* ---------- Mobile: Opinie (1 kafelek + autoplay) ---------- */
@media (max-width: 768px) {
  .ksemjot-opinie {
    position: relative;
    z-index: 5;
    isolation: isolate;
  }

  .ksemjot-opinie .con-kit-rows,
  .ksemjot-opinie .con-kit-row,
  .ksemjot-opinie .con-kit-row__container,
  .ksemjot-opinie .con-kit-layout,
  .ksemjot-opinie .con-kit-col {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* OnePage dokłada warstwę __repeat — to powoduje „podwójny” tekst */
  .ksemjot-opinie .con-kit-component-marquee__repeat,
  .ksemjot-opinie .con-kit-component-marquee__content > [aria-hidden="true"] {
    display: none !important;
  }

  .ksemjot-opinie .con-kit-component-marquee {
    overflow-x: auto !important;
    overflow-y: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 8px 16px 16px !important;
    margin: 0 !important;
    box-sizing: border-box;
    /* bez bocznych „cieni” / vignette z OnePage */
    -webkit-mask-image: none !important;
    mask-image: none !important;
    background: transparent !important;
  }

  .ksemjot-opinie .con-kit-component-marquee::-webkit-scrollbar {
    display: none;
  }

  .ksemjot-opinie .con-kit-component-marquee__content {
    animation: none !important;
    transform: none !important;
    width: max-content !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 16px;
    padding: 0 !important;
  }

  .ksemjot-opinie .con-kit-component-marquee-grid:not([aria-hidden="true"]) {
    display: contents !important;
  }

  .ksemjot-opinie .con-kit-component-marquee-grid[aria-hidden="true"] {
    display: none !important;
  }

  .ksemjot-opinie .con-kit-component-marquee-grid-item {
    flex: 0 0 var(--ksemjot-opinie-slide, 300px) !important;
    width: var(--ksemjot-opinie-slide, 300px) !important;
    min-width: var(--ksemjot-opinie-slide, 300px) !important;
    max-width: var(--ksemjot-opinie-slide, 300px) !important;
    padding: 0 !important;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    box-sizing: border-box;
    display: flex !important;
    align-items: stretch;
    position: relative;
    z-index: 2;
  }

  .ksemjot-opinie .con-kit-component-marquee-grid-item > .con-kit-molecule-grid-item {
    width: 100% !important;
    height: 100%;
    display: flex !important;
    flex-direction: column !important;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    padding: 28px 24px !important;
    box-sizing: border-box;
    position: relative;
    z-index: 3;
  }

  .ksemjot-opinie .con-kit-component-atom-list {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    width: 100% !important;
    height: 100% !important;
  }

  .ksemjot-opinie [data-atom="rating"],
  .ksemjot-opinie .con-kit-component-rating {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    gap: 2px;
  }

  .ksemjot-opinie .con-kit-component-rating .icon-svg,
  .ksemjot-opinie .con-kit-component-rating .con-kit-component-icon {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: 22px !important;
    height: 22px !important;
    margin: 0 1px !important;
  }

  .ksemjot-opinie .con-kit-component-rating svg {
    width: 20px !important;
    height: 20px !important;
    display: block;
  }

  .ksemjot-opinie [data-atom="plain-text"] {
    width: 100% !important;
    flex: 1 1 auto !important;
    text-align: left !important;
  }

  .ksemjot-opinie [data-atom="plain-text"] .con-kit-atom-plain-text,
  .ksemjot-opinie [data-atom="plain-text"] .con-kit-quark,
  .ksemjot-opinie [data-atom="plain-text"] p {
    text-align: left !important;
    width: 100% !important;
  }

  .ksemjot-opinie [data-atom="person"] {
    width: 100% !important;
    margin-top: auto !important;
    text-align: left !important;
  }

  .ksemjot-opinie [data-atom="person"] * {
    text-align: left !important;
    justify-content: flex-start !important;
  }
}

/* ---------- Mobile: Cennik (1 kolumna) ---------- */
@media (max-width: 768px) {
  .ksemjot-cennik .con-kit-component-masonry,
  .ksemjot-cennik .con-kit-component-masonry--columns-3 {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
  }

  .ksemjot-cennik .con-kit-component-masonry__column {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin: 0 !important;
  }

  .ksemjot-cennik .con-kit-component-masonry__item {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px !important;
  }

  .ksemjot-cennik .con-kit-component-masonry__column:last-child .con-kit-component-masonry__item:last-child {
    margin-bottom: 0 !important;
  }

  /* „Płatne jednorazowo” wyśrodkowane pod ceną */
  .ksemjot-cennik .con-kit-atom-plain-text,
  .ksemjot-cennik [data-atom="plain-text"],
  .ksemjot-cennik .con-kit-quark-paragraph,
  .ksemjot-cennik .con-kit-component-text,
  .ksemjot-cennik .con-kit-atom-header,
  .ksemjot-cennik [data-atom="header"] {
    text-align: center !important;
  }
}

/* ---------- Mobile: Aktualności — lista 1 kolumna ---------- */
@media (max-width: 768px) {
  .ksemjot-aktualnosci .con-kit-component-grid-list,
  .ksemjot-aktualnosci .con-kit-component-grid-list--columns-3,
  .con-kit-page .con-kit-component-grid-list--columns-3 {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    width: 100% !important;
  }

  .ksemjot-aktualnosci .con-kit-component-grid-list-item,
  .con-kit-page .con-kit-component-grid-list--columns-3 > .con-kit-component-grid-list-item {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    grid-column: 1 / -1 !important;
    margin: 0 !important;
  }
}

/* ---------- Mobile: umiarkowane centrowanie (nie wszystko) ---------- */
@media (max-width: 768px) {
  /* Hero / sekcje marketingowe — wyśrodkuj nagłówki i CTA */
  .con-kit-page .con-kit-atom-header,
  .con-kit-page [data-atom="header"],
  .con-kit-page .con-kit-component-button__label,
  .con-kit-page .con-kit-component-button__subtitle {
    text-align: center !important;
  }

  .con-kit-page .con-kit-component-link-group {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
  }

  .con-kit-page .con-kit-component-button {
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
  }

  /* Accordion — do lewej */
  .con-kit-page .con-kit-component-list-item-accordion,
  .con-kit-page .con-kit-component-list-item-accordion__head,
  .con-kit-page .con-kit-component-list-item-accordion__body,
  .con-kit-page .con-kit-component-list-item-accordion__toggle,
  .con-kit-page .con-kit-component-list-item-accordion .con-kit-quark,
  .con-kit-page .con-kit-component-list-item-accordion .con-kit-atom-plain-text,
  .con-kit-page .con-kit-component-list-item-accordion [data-atom="plain-text"],
  .con-kit-page .con-kit-component-list-item-accordion [data-atom="header"] {
    text-align: left !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }

  .con-kit-page .con-kit-component-list-item-accordion__head {
    display: flex !important;
    width: 100%;
  }

  /* Logo — przy lewej krawędzi */
  .con-kit-layer-header-v2 .con-kit-molecule-header-v2,
  .con-kit-layer-header-v2 .con-kit-molecule-header-v2__atoms,
  .con-kit-layer-header-v2 .con-kit-component-atom-list {
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: left !important;
  }

  .con-kit-layer-header-v2 .con-kit-component-logo,
  .con-kit-layer-header-v2 [data-atom="logo"] {
    margin-left: 0 !important;
    margin-right: auto !important;
    justify-content: flex-start !important;
  }

  /* Ukryj numery 01–09 na mobile */
  .ksemjot-hide-mobile {
    display: none !important;
  }

  /* „Pod opieką profesjonalistów” — tylko oznaczona etykieta, nie kontakt */
  .ksemjot-nowrap-label {
    white-space: nowrap !important;
    overflow: visible !important;
  }

  /* Akapity w „poznaj strzelnicę” + „o nas” — wyśrodkowane */
  .poznaj-strzelnice .con-kit-atom-plain-text,
  .poznaj-strzelnice [data-atom="plain-text"],
  .poznaj-strzelnice .con-kit-quark-paragraph,
  .poznaj-strzelnice .con-kit-component-text,
  .o-nas .con-kit-atom-plain-text,
  .o-nas [data-atom="plain-text"],
  .o-nas .con-kit-quark-paragraph,
  .o-nas .con-kit-component-text {
    text-align: center !important;
  }

  /* Kontakt (BIURA) — wyśrodkowany blok; wiersz ikona+tekst bez zawijania */
  .biura .con-kit-rows,
  .biura .con-kit-row,
  .biura .con-kit-row__container,
  .biura .con-kit-layout,
  .biura .con-kit-col,
  .biura .con-kit-component-atom-list,
  .biura .con-kit-molecule-textBlock,
  .biura .con-kit-animation__atom,
  .biura .con-kit-atom-menu-v2 {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .biura .con-kit-atom-menu-v2-item {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .biura .con-kit-atom-menu-v2-item-inside__wrapp,
  .biura a.con-kit-atom-menu-v2-item-inside.ksemjot-contact-row,
  .biura .ksemjot-contact-row {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: max-content !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    white-space: nowrap !important;
  }

  .biura .con-kit-atom-menu-v2-item-inside__media,
  .biura .con-kit-atom-menu-v2-item-inside__text,
  .biura .con-kit-atom-menu-v2-item-inside__title {
    margin: 0 !important;
    white-space: nowrap !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
  }

  .biura .con-kit-atom-menu-v2-item-inside__media {
    order: 1 !important;
  }

  .biura .con-kit-atom-menu-v2-item-inside__decorator {
    order: 2 !important;
  }

  .biura .con-kit-atom-menu-v2-item-inside__text,
  .biura .con-kit-atom-menu-v2-item-inside__title {
    order: 3 !important;
  }

  .biura .con-kit-atom-menu-v2-item-inside__title,
  .biura .ksemjot-contact-link {
    text-align: left !important;
  }

  .biura .con-kit-atom-line {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .biura .con-kit-atom-plain-text,
  .biura .con-kit-quark-paragraph {
    text-align: center !important;
  }

  /* Stopka — tekst wyśrodkowany w każdej kolumnie (1 lub 2 kolumny) */
  .stopka .con-kit-rows,
  .stopka .con-kit-row,
  .stopka .con-kit-row__container,
  .stopka .con-kit-layout {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

  .stopka .con-kit-col,
  .stopka .con-kit-col--first,
  .stopka .con-kit-col--last {
    align-items: center !important;
    text-align: center !important;
  }

  .stopka .con-kit-atom-header,
  .stopka .con-kit-atom-plain-text,
  .stopka .con-kit-quark-paragraph,
  .stopka .con-kit-component-text,
  .stopka .con-kit-atom-menu-v2,
  .stopka .con-kit-atom-menu-v2-item,
  .stopka .con-kit-atom-menu-v2-item-inside,
  .stopka .con-kit-atom-menu-v2-item-inside__title,
  .stopka .con-kit-atom-menu-v2-item-inside__wrapp,
  .stopka .con-kit-component-contacts,
  .stopka .con-kit-component-button,
  .stopka .con-kit-component-button__label,
  .stopka .con-kit-component-data-item-list {
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .stopka .con-kit-atom-menu-v2 {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
  }

  .stopka .con-kit-atom-menu-v2-item {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }

  .stopka .con-kit-atom-menu-v2-item-inside,
  .stopka .con-kit-atom-menu-v2-item-inside__wrapp,
  .stopka .ksemjot-contact-row {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    white-space: nowrap !important;
  }

  .stopka .con-kit-atom-menu-v2--columns-stretch {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px 24px !important;
  }

  .stopka .con-kit-atom-menu-v2--columns-stretch .con-kit-atom-menu-v2-item {
    width: auto !important;
    flex: 0 0 auto !important;
  }

  /* Stopka — lista telefonów: 1 wyśrodkowana kolumna (tylko mobile) */
  .stopka .con-kit-component-contacts,
  .stopka .con-kit-component-contacts.con-kit-component-data-item-list {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .stopka .con-kit-component-contacts > a,
  .stopka .con-kit-component-contacts .con-kit-component-button,
  .stopka .con-kit-component-contacts .con-kit-link-button {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: auto !important;
    max-width: 100% !important;
  }

  .con-kit-page .con-kit-component-map,
  .con-kit-page .leaflet-container {
    text-align: left !important;
  }
}

/* ---------- Cookie banner ---------- */
.ksemjot-cookie-overlay {
  position: fixed;
  inset: 0;
  z-index: 10060;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
}

.ksemjot-cookie-overlay[hidden] {
  display: none !important;
}

.ksemjot-cookie-modal {
  width: min(440px, 100%);
  background: #fff;
  border-radius: 8px;
  padding: 36px 32px 28px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
  font-family: Figtree, Roboto, sans-serif;
  color: #2b2a2b;
  text-align: left;
}

.ksemjot-cookie-modal__title {
  margin: 0 0 14px;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.3;
}

.ksemjot-cookie-modal__text {
  margin: 0 0 22px;
  font-size: 0.95rem;
  line-height: 1.55;
  color: #555;
}

.ksemjot-cookie-modal__accept {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 4px;
  padding: 14px 18px;
  background: #b7b7b7;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  text-align: center;
}

.ksemjot-cookie-modal__accept:hover {
  background: #a3a3a3;
}

.ksemjot-cookie-modal__policy {
  display: inline-block;
  margin-top: 18px;
  color: #666;
  font-size: 0.9rem;
  text-decoration: underline;
}

.ksemjot-cookie-modal__policy:hover {
  color: #2b2a2b;
}

@media (max-width: 768px) {
  .ksemjot-cookie-modal {
    text-align: left;
  }
}

/* ---------- Licencja klubowa ---------- */
.ksemjot-license-overlay {
  position: fixed;
  inset: 0;
  z-index: 10055;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
}

.ksemjot-license-overlay[hidden] {
  display: none !important;
}

.ksemjot-license-modal {
  width: min(520px, 100%);
  background: #fff;
  border-radius: 8px;
  padding: 32px 28px 24px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
  font-family: Figtree, Roboto, sans-serif;
  color: #2b2a2b;
}

.ksemjot-license-modal__title {
  margin: 0 0 20px;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.3;
}

.ksemjot-license-modal__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  margin-bottom: 24px;
}

.ksemjot-license-modal__table th,
.ksemjot-license-modal__table td {
  padding: 10px 12px;
  text-align: left;
  border-bottom: 1px solid #e5e5e5;
}

.ksemjot-license-modal__table th {
  font-weight: 600;
  color: #555;
  background: #f7f7f7;
}

.ksemjot-license-modal__table td {
  font-weight: 500;
}

.ksemjot-license-modal__close {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 4px;
  padding: 14px 18px;
  background: #2b2a2b;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  text-align: center;
}

.ksemjot-license-modal__close:hover {
  background: #444;
}

@media (max-width: 480px) {
  .ksemjot-license-modal__table {
    font-size: 0.85rem;
  }

  .ksemjot-license-modal__table th,
  .ksemjot-license-modal__table td {
    padding: 8px 6px;
  }
}
