:root {
  --sz-dark-bg: #080c11;
  --sz-dark-bg-2: #0d131b;
  --sz-dark-panel: rgba(19, 26, 36, 0.82);
  --sz-dark-panel-solid: #141b25;
  --sz-dark-border: rgba(232, 238, 247, 0.13);
  --sz-dark-border-hover: rgba(233, 189, 54, 0.42);
  --sz-dark-text: #f4f7fa;
  --sz-dark-muted: #b7c1ce;
  --sz-dark-red: #d83d35;
  --sz-dark-gold: #e9bd36;
}

html {
  background: var(--sz-dark-bg) !important;
  color-scheme: dark;
}

body.sz-production-dark {
  min-width: 320px;
  overflow-x: hidden;
  color: var(--sz-dark-text);
  background:
    radial-gradient(circle at 5% 8%, rgba(216, 61, 53, 0.11), transparent 34rem),
    radial-gradient(circle at 92% 18%, rgba(233, 189, 54, 0.06), transparent 29rem),
    linear-gradient(180deg, var(--sz-dark-bg) 0%, #0a1017 48%, var(--sz-dark-bg-2) 100%) !important;
  background-attachment: scroll !important;
}

body.sz-production-dark :where(#page, .site, .site-content, .site-main, main, article, .entry-content, .page-content, .elementor-location-single, .elementor-location-archive, .elementor-location-footer) {
  background-color: transparent !important;
}

body.sz-production-dark main :where(.elementor-section, .e-con) {
  border-color: var(--sz-dark-border);
}

body.sz-production-dark main :where(.elementor-heading-title, h1, h2, h3, h4, h5, h6),
body.sz-production-dark .elementor-location-footer :where(h2, h3, h4, h5, h6) {
  color: var(--sz-dark-text) !important;
  text-shadow: none;
}

body.sz-production-dark main :where(.elementor-widget-text-editor, .elementor-widget-text-editor p, .elementor-widget-text-editor li, .elementor-widget-text-editor dt, .elementor-widget-text-editor dd),
body.sz-production-dark .elementor-location-footer :where(p, li, address) {
  color: var(--sz-dark-muted) !important;
}

body.sz-production-dark main .elementor-widget-text-editor strong,
body.sz-production-dark main .elementor-widget-text-editor b {
  color: var(--sz-dark-text) !important;
}

/* Czytelne, ale lekkie obramowanie rzeczywistych blokow tresci. */
body.sz-production-dark main .elementor-widget-text-editor:not(.sz-build-ui *):not(.sz-news-article *) > .elementor-widget-container {
  margin-block: 8px;
  padding: clamp(17px, 2vw, 28px);
  border: 1px solid var(--sz-dark-border) !important;
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(24, 32, 43, 0.86), rgba(13, 18, 25, 0.76)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025), 0 13px 34px rgba(0, 0, 0, 0.16);
}

body.sz-production-dark main .elementor-widget-text-editor:not(.sz-build-ui *):not(.sz-news-article *) > .elementor-widget-container:hover {
  border-color: var(--sz-dark-border-hover) !important;
}

body.sz-production-dark main .elementor-widget-text-editor img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

body.sz-production-dark main :where(a:not(.elementor-button):not(.btn)) {
  color: #ef645d;
  text-decoration-color: rgba(239, 100, 93, 0.48);
  text-underline-offset: 0.16em;
}

body.sz-production-dark main :where(a:not(.elementor-button):not(.btn)):hover {
  color: var(--sz-dark-gold);
}

body.sz-production-dark :where(input:not([type="submit"]):not([type="button"]):not([type="reset"]), textarea, select) {
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  background: #101722 !important;
  color: #f7f9fc !important;
  caret-color: var(--sz-dark-gold);
  box-shadow: none !important;
}

body.sz-production-dark :where(input, textarea)::placeholder {
  color: #9da8b6 !important;
  opacity: 1;
}

body.sz-production-dark :where(input, textarea, select):focus {
  border-color: var(--sz-dark-gold) !important;
  outline: 2px solid rgba(233, 189, 54, 0.22);
  outline-offset: 1px;
}

body.sz-production-dark :where(table, thead, tbody, tfoot, tr, th, td) {
  border-color: var(--sz-dark-border) !important;
}

body.sz-production-dark :where(table, .elementor-table) {
  background: rgba(13, 18, 25, 0.9) !important;
  color: var(--sz-dark-text) !important;
}

body.sz-production-dark :where(th, thead td) {
  background: rgba(255, 255, 255, 0.055) !important;
  color: #fff !important;
}

body.sz-production-dark :where(td, tbody th) {
  background-color: transparent !important;
  color: #dfe6ef !important;
}

body.sz-production-dark :where(.elementor-accordion-item, .elementor-tab-title, .elementor-tab-content, details, summary) {
  border-color: var(--sz-dark-border) !important;
}

body.sz-production-dark :where(.elementor-tab-title, summary) {
  color: var(--sz-dark-text) !important;
}

body.sz-production-dark :where(.elementor-tab-content, details[open]) {
  background-color: rgba(255, 255, 255, 0.025) !important;
  color: var(--sz-dark-muted) !important;
}

/* Logo jest czescia ciemnego naglowka, bez bialej karty i obwodki. */
body.sz-production-dark .sz-main-brand {
  padding: 6px 10px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.sz-production-dark .sz-main-brand img {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.sz-production-dark > .sz-main-header {
  width: 100%;
  max-width: none;
}

/*
 * Nawigacja musi pozostac ostra na podstronach. Poprzednie 14.72 px
 * ustawialo glify na ulamkowych pikselach i Chrome rozmywal ich krawedzie.
 */
body.sz-production-dark .sz-main-header .sz-nav-top-link {
  color: #fff !important;
  font-family: "Teko", Impact, sans-serif;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.045em;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.sz-production-dark .sz-main-header :where(.sz-nav-group h3, .sz-main-phone, .sz-main-phone span, .sz-main-phone strong) {
  font-family: "Teko", Impact, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/*
 * Desktop: zachowaj aktywne menu podczas przejscia kursorem z belki do panelu.
 * Przez dolna ramke naglowka miedzy wierszem nawigacji a mega-menu powstawala
 * martwa szczelina. Przezroczysty mostek nalezy do aktywnego elementu listy,
 * ale pozostaje pod samym panelem, wiec nie zaslania jego odnosnikow.
 * Waski panel "O nas" jest dosuniety pod swoj wyzwalacz, aby kursor nie musial
 * przechodzic przez sasiednia pozycje "Katalog mocy".
 */
@media (min-width: 1025px) {
  body.sz-production-dark .sz-main-header .sz-nav-item--has-menu > .sz-nav-top-row {
    position: relative;
  }

  body.sz-production-dark .sz-main-header .sz-nav-item--has-menu > .sz-nav-top-row::after {
    content: "";
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    height: 18px;
    background: transparent;
    pointer-events: auto;
  }

  body.sz-production-dark .sz-main-header .sz-mega--onas {
    right: 135px;
    left: auto;
    margin-right: 0;
    margin-left: 0;
  }
}

@media (max-width: 1270px) and (min-width: 1025px) {
  body.sz-production-dark .sz-main-header .sz-nav-top-link {
    font-size: 16px;
    letter-spacing: 0.025em;
  }
}

/* Formularz szybkiej wyceny: jawny kontrast niezalezny od ustawien zestawu Elementor. */
body.sz-production-dark .sz-build-home-form .cta-band__copy h2,
body.sz-production-dark .sz-build-home-form .quote-form label {
  color: var(--sz-dark-text) !important;
}

body.sz-production-dark .sz-build-home-form .cta-band__copy > p:not(.section-header__eyebrow) {
  color: var(--sz-dark-muted) !important;
}

body.sz-production-dark .sz-build-home-form .quote-form input,
body.sz-production-dark .sz-build-home-form .quote-form textarea,
body.sz-production-dark .sz-build-home-form .quote-form select {
  border-color: rgba(255, 255, 255, 0.24) !important;
  background: #202733 !important;
  color: #fff !important;
}

body.sz-production-dark :where(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wpcf7-response-output) {
  border-color: rgba(233, 189, 54, 0.38) !important;
  background: var(--sz-dark-panel-solid) !important;
  color: var(--sz-dark-text) !important;
}

body.sz-production-dark :focus-visible {
  outline-color: var(--sz-dark-gold);
}

/*
 * Starsze strony chiptuningu maja wspolny blok trzech wybranych realizacji.
 * Siatka ElementsKit dodaje ujemne marginesy Bootstrap oraz pozwala dlugim
 * kategoriom poszerzac srodkowa kolumne, przez co karty nachodza na siebie.
 */
body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  > .elementor-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  align-items: stretch;
}

body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  > .elementor-container
  > .elementor-column,
body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  .elementor-widget-wrap,
body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  .elementor-widget-elementskit-blog-posts,
body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  .elementor-widget-container,
body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  .ekit-wid-con {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  .elementor-widget-elementskit-blog-posts,
body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  .elementor-widget-container,
body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  .ekit-wid-con {
  height: 100%;
}

body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  .row.post-items {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  .row.post-items
  > [class*="col-"] {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
}

body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  .elementskit-post-image-card {
  display: flex;
  flex-direction: column;
  width: 100% !important;
  min-width: 0 !important;
  height: 100%;
  overflow: hidden;
}

body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  .elementskit-entry-thumb,
body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  .elementskit-entry-thumb img {
  display: block;
  width: 100% !important;
}

body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  .elementskit-entry-thumb img {
  height: 225px !important;
  object-fit: cover;
}

body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  .elementskit-post-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}

body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  :where(.post-meta-list, .post-cat, .entry-title, .entry-title a) {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  .post-cat {
  display: block !important;
  white-space: normal !important;
}

body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  .post-cat a {
  display: inline !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

body.sz-production-dark
  .elementor-element-4622aca
  .elementor-element-b43688f
  .btn-wraper {
  margin-top: auto;
}

@media (max-width: 1024px) {
  body.sz-production-dark
    .elementor-element-4622aca
    .elementor-element-b43688f
    > .elementor-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
  }
}

@media (max-width: 767px) {
  body.sz-production-dark
    .elementor-element-4622aca
    .elementor-element-b43688f
    > .elementor-container {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  body.sz-production-dark
    .elementor-element-4622aca
    .elementor-element-b43688f
    .elementskit-entry-thumb img {
    height: auto !important;
    aspect-ratio: 16 / 9;
  }
}

/*
 * Starsze wpisy korzystaja z szablonu Elementor Single Post #179, ktory
 * znajduje sie poza znacznikiem <main>. Kolory ustawiamy tylko w glownej
 * kolumnie wpisu; jasne boksy Gutenberga zachowuja wlasne kolory.
 */
body.single-post.sz-production-dark
  [data-elementor-type="single-post"][data-elementor-id="179"]
  .elementor-element-6d5fb647
  .elementor-heading-title,
body.single-post.sz-production-dark
  [data-elementor-type="single-post"][data-elementor-id="179"]
  .elementor-element-57ffc39
  > .elementor-widget-container
  :where(h1, h2, h3, h4, h5, h6):not(.has-background *) {
  color: var(--sz-dark-text) !important;
}

body.single-post.sz-production-dark
  [data-elementor-type="single-post"][data-elementor-id="179"]
  .elementor-element-57ffc39
  > .elementor-widget-container
  :where(p, li, dt, dd):not(.has-background *) {
  color: var(--sz-dark-muted) !important;
}

body.single-post.sz-production-dark
  [data-elementor-type="single-post"][data-elementor-id="179"]
  .elementor-element-57ffc39
  > .elementor-widget-container
  :where(strong, b):not(.has-background *) {
  color: var(--sz-dark-text) !important;
}

/* FAQ strony glownej ma celowo biale karty, wiec tekst musi pozostac ciemny. */
body.sz-production-dark .szopkar-faq h2,
body.sz-production-dark .szopkar-faq details > summary,
body.sz-production-dark .szopkar-faq details > summary span {
  color: var(--faq-ink, #111) !important;
}

body.sz-production-dark .szopkar-faq .szopkar-faq__answer,
body.sz-production-dark .szopkar-faq .szopkar-faq__answer p {
  color: var(--faq-muted, #656565) !important;
}

body.sz-production-dark .szopkar-faq .szopkar-faq__answer strong {
  color: var(--faq-ink, #111) !important;
}

/* Lista uslug mechanicznych na ciemnym tle nie moze dziedziczyc starej czerni. */
body.page-id-424.sz-production-dark
  .elementor-element-edb5c30
  .elementor-icon-list-text {
  color: #d6dbe3 !important;
  -webkit-text-fill-color: #d6dbe3 !important;
}

/* Powielony blok korzysci na podstronach AdBlue ma ciemne tlo. */
body.sz-production-dark
  .elementor-element-62ee30b
  .elementor-icon-list-text,
body.sz-production-dark
  .elementor-element-2ced818
  .elementor-icon-list-text {
  color: #d6dbe3 !important;
  -webkit-text-fill-color: #d6dbe3 !important;
}

/*
 * Audyt calej mapy strony: te listy ikon dziedziczyly stara czern #232222,
 * mimo ze znajduja sie na panelach #080c11.
 */
body.sz-production-dark
  :where(
    .elementor-element-f271666,
    .elementor-element-01a1cf3,
    .elementor-element-97f7a32,
    .elementor-element-f9f2867,
    .elementor-element-70741b67,
    .elementor-element-5e186dbc
  )
  .elementor-icon-list-text {
  color: #d6dbe3 !important;
  -webkit-text-fill-color: #d6dbe3 !important;
}

/* Biale kafle Elementskit na stronie glownej i O nas potrzebuja ciemnych tytulow. */
body.sz-production-dark :where(
  .elementor-element-4b874e05,
  .elementor-element-603bb7f8,
  .elementor-element-5588da73,
  .elementor-element-f09ae2e,
  .elementor-element-eeee756,
  .elementor-element-dbec561
) .elementskit-info-box-title {
  color: #16191f !important;
  -webkit-text-fill-color: #16191f !important;
}

/* Liczniki strony glownej oraz biale kroki czeskiej podstrony. */
body.sz-production-dark :where(
  .elementor-element-2679d296,
  .elementor-element-764ed0d8,
  .elementor-element-46074ad9,
  .elementor-element-391f7b03,
  .elementor-element-104db87,
  .elementor-element-f392e7f
) :where(h3, .elementskit-info-box-title) {
  color: #16191f !important;
  -webkit-text-fill-color: #16191f !important;
}

@media (max-width: 767px) {
  body.sz-production-dark main .elementor-widget-text-editor:not(.sz-build-ui *):not(.sz-news-article *) > .elementor-widget-container {
    padding: 16px;
    border-radius: 12px;
  }

  body.sz-production-dark .sz-main-brand {
    flex-basis: 150px;
    padding: 4px 0 !important;
  }
}

@media print {
  html,
  body.sz-production-dark,
  body.sz-production-dark :where(#page, .site, .site-content, .site-main, main, article, .entry-content, .page-content) {
    color-scheme: light;
    color: #111 !important;
    background: #fff !important;
  }
}
