@charset "UTF-8";

/* Ładować po style.css i stampler-layout-1200.css. */
:root { --st-cenniki-css-ready: 1; }

/* Load after style.css AND stampler-layout-1200.css. Version 20261110-6.
 * Every rule is scoped to the successfully rebuilt company price list.
 */
html.st-firmowe.st-layout-wide .srodek {
  overflow: visible;
  color: #323232;
  font: 15px/1.6 Arial, sans-serif;
}
html.st-firmowe .srodek *, html.st-firmowe .breadcrumb-row { box-sizing: border-box; }
html.st-firmowe .breadcrumb-row { float: none; width: 100%; margin: 16px 0; }
html.st-firmowe .breadcrumb { display: flex; flex-wrap: wrap; gap: 4px 12px; padding: 0 24px; margin: 0; }
html.st-firmowe .srodek :is(h1,h2,h3,h4,p) { width: auto; padding: 0; text-align: left !important; }
html.st-firmowe .srodek h1 { margin: 0 0 14px !important; font: bold clamp(25px, 3vw, 34px)/1.2 Arial, sans-serif; }
html.st-firmowe .srodek h2 { margin: 0 0 12px !important; font-size: 23px !important; line-height: 1.3; }
html.st-firmowe .srodek h3 { margin: 0 0 10px !important; color: #323232 !important; font-size: 22px !important; line-height: 1.3; }
html.st-firmowe .srodek h4 { font-size: 16px !important; line-height: 1.35; }
html.st-firmowe .srodek p { margin: 0 0 14px !important; }
html.st-firmowe .srodek img { max-width: 100%; }
html.st-firmowe .srodek [id] { scroll-margin-top: 20px; }
html.st-firmowe .stf-intro { max-width: 1040px; margin: 28px auto 22px; }
html.st-firmowe .stf-intro h2 { font-size: 20px !important; }
/* Closed bars: pale yellow. Open panels: white. */
html.st-firmowe .stf-categories, html.st-firmowe .stf-patterns { border: 1px solid #c6cdd5; background: #ffc; margin: 0 0 24px; }
html.st-firmowe .stf-categories[open],
html.st-firmowe .stf-patterns[open] { background: #fff; }
html.st-firmowe :is(.stf-categories,.stf-patterns) > summary {
  background: inherit;
  padding: 14px 18px; min-height: 48px; cursor: pointer; font-weight: bold;
}
html.st-firmowe .stf-category-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; padding: 0 16px 16px; }
html.st-firmowe .stf-category-grid > div { min-width: 0; float: none !important; margin: 0 !important; border: 1px solid #c6cdd5; }
html.st-firmowe .stf-category-grid a { display: block; padding: 12px; height: 100%; text-align: center; text-decoration: none; }
html.st-firmowe .stf-category-grid img { display: block; width: 100%; max-width: 210px; height: auto; margin: 0 auto; }
html.st-firmowe .stf-category-grid .my-name { margin: 10px 0 0 !important; font-size: 14px !important; line-height: 1.4; }
html.st-firmowe .stf-category-grid a[aria-current] { box-shadow: inset 0 3px #d00000; }
html.st-firmowe .stf-catalog { width: 100%; }
html.st-firmowe .stf-catalog-intro { margin: 26px 0 22px; }
html.st-firmowe .stf-size-nav { display: flex; flex-wrap: wrap; gap: 10px; }
html.st-firmowe .stf-size-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border: 1px solid #c6cdd5; background: #fff; font-weight: bold; text-decoration: none; }
html.st-firmowe .stf-size-nav a:hover { border-color: #d00000; }
html.st-firmowe .stf-group { margin: 0 0 36px; padding-top: 22px; border-top: 3px solid #d00000; }
html.st-firmowe .stf-model-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 18px; margin: 18px 0; }
html.st-firmowe .stf-card {
  display: flex; flex-direction: column; align-items: center; min-width: 0;
  padding: 20px 16px; border: 1px solid #c6cdd5; background: #fff; text-align: center;
}
/* Neutralize the old image-sprite boxes, floats and inline pixel offsets. */
html.st-firmowe .stf-card :is(div,p,h4):not(.stf-imprint) {
  box-sizing: border-box; position: static; float: none !important;
  width: auto !important; min-width: 0; max-width: 100%; height: auto !important;
  min-height: 0; margin: 0 !important; padding: 0 !important; background-image: none;
}
html.st-firmowe .stf-card > div:empty { display: none; }
html.st-firmowe .stf-card h4 { margin-bottom: 12px !important; text-align: center !important; }
html.st-firmowe .stf-card :is(.cennik_image,.stf-product-image) { width: 100% !important; margin: 0 0 14px !important; }
html.st-firmowe .stf-card :is(.cennik_image,.stf-product-image) img {
  display: block; width: 100%; max-width: 220px !important; height: 166px !important;
  max-height: none !important; object-fit: contain; margin: 0 auto !important;
}
html.st-firmowe .stf-card .stf-model-description { margin-bottom: 14px !important; text-align: center; }
html.st-firmowe .stf-card .p_rozmiar { margin-bottom: 12px !important; font-size: 15px; }
html.st-firmowe .stf-swatch {
  display: inline-block; appearance: none; box-sizing: border-box; vertical-align: middle;
  width: 24px; height: 24px; min-width: 24px; padding: 0; margin: 3px;
  border: 1px solid #888; border-radius: 3px; cursor: pointer;
}
html.st-firmowe .stf-swatch[aria-pressed="true"] { outline: 2px solid #323232; outline-offset: 2px; }
html.st-firmowe .stf-card .stf-imprint { float: none; margin: 12px 0 !important; }
/* The imprint illustrations are background sprites; retain their native box. */
html.st-firmowe .stf-card div.stf-imprint { width: 128px !important; height: 128px !important; flex: 0 0 128px; background-size: contain; background-position: center; background-repeat: no-repeat; }
html.st-firmowe .stf-card div.stf-imprint:is(.p_owalne_wzor1,.p_owalne_wzor2) { width: 150px !important; height: 95px !important; flex-basis: 95px; }
html.st-firmowe .stf-card :is(.cena_pole,.cena_pole2) { margin: 12px 0 5px !important; background: none; }
html.st-firmowe .stf-card :is(.cena_pole_tekst,.cena_pole_tekst2) { color: #323232; }
html.st-firmowe .stf-card .promo { display: block; color: #c40000; font: bold 25px/1.25 Arial,sans-serif; }
html.st-firmowe .stf-card .promotext { display: block; color: #555; font-size: 13px; font-weight: normal; }
html.st-firmowe .stf-card .nopromo { display: block; color: #777 !important; font-size: 13px; text-decoration: line-through; }
html.st-firmowe .stf-card :is(.cena_podpis,.cena_podpis_n) { margin-bottom: 16px !important; color: #555 !important; font: 13px/1.4 Arial,sans-serif; text-align: center; }
html.st-firmowe .stf-model-link, html.st-firmowe .stf-order {
  display: block; box-sizing: border-box; min-height: 44px; padding: 10px 16px;
  background: #d00000; color: #fff; font-size: 14px; font-weight: bold;
  line-height: 1.5; text-align: center; text-decoration: none;
}
html.st-firmowe .stf-model-link { align-self: stretch; margin-top: auto; }
html.st-firmowe .stf-order { width: fit-content; max-width: 100%; margin: 18px 0; }
html.st-firmowe :is(.stf-model-link,.stf-order):hover { color: #fff; background: #b30000; }
html.st-firmowe .stf-pattern-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; padding: 0 16px 16px; }
html.st-firmowe .stf-pattern-grid a { display: flex; align-items: center; justify-content: center; min-height: 100px; padding: 12px; border: 1px solid #d9dfe5; }
html.st-firmowe .stf-pattern-grid img { display: block; max-width: 100%; height: auto; }
html.st-firmowe .stf-group-note { max-width: 100%; }
html.st-firmowe .stf-guide { max-width: 1040px; margin: 36px auto !important; }
html.st-firmowe .stf-guide h2 { margin-top: 32px !important; }
html.st-firmowe .stf-guide h3 { margin-top: 20px !important; font-size: 18px !important; }
html.st-firmowe .stf-guide table { min-width: 0 !important; }
html.st-firmowe .stf-guide :is(th,td) { overflow-wrap: anywhere; }
html.st-firmowe .srodek a:focus-visible, html.st-firmowe .srodek button:focus-visible,
html.st-firmowe .srodek summary:focus-visible { outline: 3px solid #9a0000; outline-offset: 3px; }
/* Same full-width gradient band as on the home page. */
html.st-firmowe .top ul.menu {
  --st-menu-band: repeating-linear-gradient(to bottom,#ededed 0,#ccc 36.5px,#b1b1b1 73px);
  position: relative; isolation: isolate; overflow: visible; border-radius: 0; background: var(--st-menu-band);
}
html.st-firmowe .top ul.menu::before { content: ""; position: absolute; inset: 0; z-index: -1; border: 1px solid transparent; border-image-source: var(--st-menu-band); border-image-slice: 0 fill; border-image-width: 0; border-image-outset: 0 100vw; border-image-repeat: stretch; pointer-events: none; }
html.st-firmowe .top ul.menu > li.el > a { background: linear-gradient(to bottom,#ededed,#ccc,#b1b1b1); border-radius: 5px; box-shadow: inset 1px 0 #ffffff2e; }
html.st-firmowe .top ul.menu > li.el > a:hover { background: linear-gradient(to bottom,#ef0000,#c00,#a00); color: #fff; }
@media (max-width: 900px) {
  html.st-firmowe .stf-model-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html.st-firmowe :is(.stf-category-grid,.stf-pattern-grid) { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 650px) {
  html.st-firmowe .breadcrumb { padding: 0; }
  html.st-firmowe .stf-intro { margin-top: 20px; }
  html.st-firmowe .stf-model-grid { grid-template-columns: minmax(0,1fr); gap: 14px; }
  html.st-firmowe .stf-card { padding: 20px; }
  html.st-firmowe :is(.stf-category-grid,.stf-pattern-grid) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 0 10px 10px; }
  html.st-firmowe .stf-size-nav { gap: 8px; }
  html.st-firmowe .stf-size-nav a { flex: 1 1 calc(50% - 8px); justify-content: center; padding: 8px; }
  html.st-firmowe .stf-order { width: 100%; }
  html.st-firmowe .top ul.menu { --st-menu-band: linear-gradient(to bottom,#ededed 0,#ccc 36.5px,#b1b1b1 73px,#ededed 73px,#ccc 99px,#b1b1b1 125px,#ededed 125px,#ccc 151px,#b1b1b1 177px); }
}

/* Utrzymaj szerokość banera przed przebudową cennika przez JS. */
@media (max-width: 1000px) {
  html.st-cennik-firmowe:not(.st-layout-wide) .kontener {
    width: calc(100% - 24px);
  }

  html.st-cennik-firmowe:not(.st-layout-wide) .srodek {
    box-sizing: border-box;
    width: 100%;
    overflow-x: auto;
  }
}

/* Baner zawsze w jednym rzędzie, proporcjonalnie do szerokości strony. */
html.st-cennik .srodek .stf-top-banner {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  gap: 0;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 20px auto 24px;
  padding: 0;
  line-height: 0;
  text-decoration: none;
}

html.st-cennik .srodek .stf-top-banner img {
  display: block;
  float: none;
  box-sizing: border-box;
  min-width: 0;
  max-width: none;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
}

html.st-cennik .srodek .stf-top-banner .stf-banner-left {
  flex: 0 1 30.547203848466626%;
  width: 30.547203848466626%;
}
html.st-cennik .srodek .stf-top-banner .stf-banner-gold {
  flex: 0 1 38.18400481058328%;
  width: 38.18400481058328%;
}
html.st-cennik .srodek .stf-top-banner .stf-banner-right {
  flex: 0 1 31.268791340950093%;
  width: 31.268791340950093%;
}

/* Tekst wyśrodkowany wewnątrz koła i owalu. */
html.st-firmowe .srodek .stf-group-note > div > p {
  text-align: center !important;
  margin: 0 !important;
}

/* Cennik imienny 20261111-h2-1. Ładuj po style.css i stampler-layout-1200.css. */
:root { --sti-css-ready: 1; }

html.st-imienne .srodek > .srodek_tytul,
html.st-imienne .sti-content {
  box-sizing: border-box; float: none; width: 100%; max-width: 100%;
  padding: 0 !important; margin: 0; background: transparent;
}
html.st-imienne .sti-content > div:not(.sti-group),
html.st-imienne .sti-content > p { padding-left: 0 !important; padding-right: 0 !important; }
/* Keep the floated VAT notice inside its row; headings start below it. */
html.st-imienne .sti-content > div:first-child { display: flow-root; }
html.st-imienne .sti-content > .podtytul {
  display: block; clear: both; float: none; width: 100%; height: auto;
  margin-top: 26px; background: none; text-align: left;
}
html.st-imienne .sti-content > :is(.najwyzsza_jakosc,.dobre_rozwiazania,.jakosc_swiatowa) { display: none; }
html.st-imienne .srodek .sti-top-banner { width: 100%; margin: 20px auto 24px; padding: 0; line-height: 0; }
html.st-imienne .sti-top-banner a { display: block; }
html.st-imienne .srodek .sti-top-banner > a img {
  display: block; width: 100%; max-width: 100%; height: auto; margin: 0 auto;
  object-fit: contain; border: 0;
}
html.st-imienne .sti-top-banner > div img { max-width: calc(100% - 30px); height: auto; }
html.st-imienne .sti-group > h2 { height: auto; margin: 0 0 18px !important; }
html.st-imienne .sti-group > h2 br { display: none; }
html.st-imienne .sti-group > h2 span { display: block; margin-top: 5px; font-size: 15px; font-weight: normal; line-height: 1.5; color: #323232; }
html.st-imienne .sti-pattern-grid > .p_male_wzor { float: none; margin: 8px auto; }
html.st-imienne .sti-pattern-grid a { background: #fff; }
html.st-imienne .sti-category-grid .my-name { display: block; font-weight: bold; }
html.st-imienne .sti-content { overflow-wrap: break-word; }
html.st-imienne.st-layout-wide .srodek {
  overflow: visible;
  color: #323232;
  font: 15px/1.6 Arial, sans-serif;
}
html.st-imienne .srodek *, html.st-imienne .breadcrumb-row { box-sizing: border-box; }
html.st-imienne .breadcrumb-row { float: none; width: 100%; margin: 16px 0; }
html.st-imienne .breadcrumb { display: flex; flex-wrap: wrap; gap: 4px 12px; padding: 0 24px; margin: 0; }
html.st-imienne .srodek :is(h1,h2,h3,h4,p) { width: auto; padding: 0; text-align: left !important; }
html.st-imienne .srodek h1 { margin: 0 0 14px !important; font: bold clamp(25px, 3vw, 34px)/1.2 Arial, sans-serif; }
html.st-imienne .srodek h2 { margin: 0 0 12px !important; font-size: 23px !important; line-height: 1.3; }
html.st-imienne .srodek h3 { margin: 0 0 10px !important; color: #323232 !important; font-size: 16px !important; line-height: 1.35; }
html.st-imienne .srodek p { margin: 0 0 14px !important; }
html.st-imienne .srodek img { max-width: 100%; }
html.st-imienne .srodek [id] { scroll-margin-top: 20px; }
html.st-imienne .sti-intro { max-width: 1040px; margin: 28px auto 22px; }
html.st-imienne .sti-intro h2 { font-size: 20px !important; }
/* Closed bars: pale yellow. Open panels: white. */
html.st-imienne .sti-categories, html.st-imienne .sti-patterns { border: 1px solid #c6cdd5; background: #ffc; margin: 0 0 24px; }
html.st-imienne .sti-categories[open],
html.st-imienne .sti-patterns[open] { background: #fff; }
html.st-imienne :is(.sti-categories,.sti-patterns) > summary {
  background: inherit;
  padding: 14px 18px; min-height: 48px; cursor: pointer; font-weight: bold;
}
html.st-imienne .sti-category-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; padding: 0 16px 16px; }
html.st-imienne .sti-category-grid > div { min-width: 0; float: none !important; margin: 0 !important; border: 1px solid #c6cdd5; }
html.st-imienne .sti-category-grid a { display: block; padding: 12px; height: 100%; text-align: center; text-decoration: none; }
html.st-imienne .sti-category-grid img { display: block; width: 100%; max-width: 210px; height: auto; margin: 0 auto; }
html.st-imienne .sti-category-grid .my-name { margin: 10px 0 0 !important; font-size: 14px !important; line-height: 1.4; }
html.st-imienne .sti-category-grid a[aria-current] { box-shadow: inset 0 3px #d00000; }
html.st-imienne .sti-size-nav { display: flex; flex-wrap: wrap; gap: 10px; }
html.st-imienne .sti-size-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border: 1px solid #c6cdd5; background: #fff; font-weight: bold; text-decoration: none; }
html.st-imienne .sti-size-nav a:hover { border-color: #d00000; }
html.st-imienne .sti-group { margin: 0 0 36px; padding-top: 22px; border-top: 3px solid #d00000; }
html.st-imienne .sti-model-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 18px; margin: 18px 0; }
html.st-imienne .sti-card {
  display: flex; flex-direction: column; align-items: center; min-width: 0;
  padding: 20px 16px; border: 1px solid #c6cdd5; background: #fff; text-align: center;
}
/* Neutralize the old image-sprite boxes, floats and inline pixel offsets. */
html.st-imienne .sti-card :is(div,p,h3) {
  box-sizing: border-box; position: static; float: none !important;
  width: auto !important; min-width: 0; max-width: 100%; height: auto !important;
  min-height: 0; margin: 0 !important; padding: 0 !important; background-image: none;
}
html.st-imienne .sti-card > div:empty { display: none; }
html.st-imienne .sti-card h3 { margin-bottom: 12px !important; text-align: center !important; }
html.st-imienne .sti-card .cennik_image { width: 100% !important; margin: 0 0 14px !important; }
html.st-imienne .sti-card .cennik_image img {
  display: block; width: 100%; max-width: 220px !important; height: 166px !important;
  max-height: none !important; object-fit: contain; margin: 0 auto !important;
}
html.st-imienne .sti-card .p_rozmiar { margin-bottom: 12px !important; font-size: 15px; }
html.st-imienne .sti-swatch {
  display: inline-block; appearance: none; box-sizing: border-box; vertical-align: middle;
  width: 24px; height: 24px; min-width: 24px; padding: 0; margin: 3px;
  border: 1px solid #888; border-radius: 3px; cursor: pointer;
}
html.st-imienne .sti-swatch[aria-pressed="true"] { outline: 2px solid #323232; outline-offset: 2px; }
html.st-imienne .sti-card :is(.cena_pole,.cena_pole2) { margin: 12px 0 5px !important; background: none; }
html.st-imienne .sti-card :is(.cena_pole_tekst,.cena_pole_tekst2) { color: #323232; }
html.st-imienne .sti-card .promo { display: block; color: #c40000; font: bold 25px/1.25 Arial,sans-serif; }
html.st-imienne .sti-card .promotext { display: block; color: #555; font-size: 13px; font-weight: normal; }
html.st-imienne .sti-card .nopromo { display: block; color: #777 !important; font-size: 13px; text-decoration: line-through; }
html.st-imienne .sti-card :is(.cena_podpis,.cena_podpis_n) { margin-bottom: 16px !important; color: #555 !important; font: 13px/1.4 Arial,sans-serif; text-align: center; }
html.st-imienne .sti-model-link, html.st-imienne .sti-order {
  display: block; box-sizing: border-box; min-height: 44px; padding: 10px 16px;
  background: #d00000; color: #fff; font-size: 14px; font-weight: bold;
  line-height: 1.5; text-align: center; text-decoration: none;
}
html.st-imienne .sti-model-link { align-self: stretch; margin-top: auto; }
html.st-imienne .sti-order { width: fit-content; max-width: 100%; margin: 18px 0; }
html.st-imienne :is(.sti-model-link,.sti-order):hover { color: #fff; background: #b30000; }
html.st-imienne .sti-pattern-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; padding: 0 16px 16px; }
html.st-imienne .sti-pattern-grid a { display: flex; align-items: center; justify-content: center; min-height: 100px; padding: 12px; border: 1px solid #d9dfe5; }
html.st-imienne .sti-pattern-grid img { display: block; max-width: 100%; height: auto; }
html.st-imienne .srodek a:focus-visible, html.st-imienne .srodek button:focus-visible,
html.st-imienne .srodek summary:focus-visible { outline: 3px solid #9a0000; outline-offset: 3px; }
/* Same full-width gradient band as on the home page. */
html.st-imienne .top ul.menu {
  --st-menu-band: repeating-linear-gradient(to bottom,#ededed 0,#ccc 36.5px,#b1b1b1 73px);
  position: relative; isolation: isolate; overflow: visible; border-radius: 0; background: var(--st-menu-band);
}
html.st-imienne .top ul.menu::before { content: ""; position: absolute; inset: 0; z-index: -1; border: 1px solid transparent; border-image-source: var(--st-menu-band); border-image-slice: 0 fill; border-image-width: 0; border-image-outset: 0 100vw; border-image-repeat: stretch; pointer-events: none; }
html.st-imienne .top ul.menu > li.el > a { background: linear-gradient(to bottom,#ededed,#ccc,#b1b1b1); border-radius: 5px; box-shadow: inset 1px 0 #ffffff2e; }
html.st-imienne .top ul.menu > li.el > a:hover { background: linear-gradient(to bottom,#ef0000,#c00,#a00); color: #fff; }
@media (max-width: 900px) {
  html.st-imienne .sti-model-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html.st-imienne :is(.sti-category-grid,.sti-pattern-grid) { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 650px) {
  html.st-imienne .breadcrumb { padding: 0; }
  html.st-imienne .sti-intro { margin-top: 20px; }
  html.st-imienne .sti-model-grid { grid-template-columns: minmax(0,1fr); gap: 14px; }
  html.st-imienne .sti-card { padding: 20px; }
  html.st-imienne :is(.sti-category-grid,.sti-pattern-grid) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 0 10px 10px; }
  html.st-imienne .sti-size-nav { gap: 8px; }
  html.st-imienne .sti-size-nav a { flex: 1 1 calc(50% - 8px); justify-content: center; padding: 8px; }
  html.st-imienne .sti-order { width: 100%; }
  html.st-imienne .top ul.menu { --st-menu-band: linear-gradient(to bottom,#ededed 0,#ccc 36.5px,#b1b1b1 73px,#ededed 73px,#ccc 99px,#b1b1b1 125px,#ededed 125px,#ccc 151px,#b1b1b1 177px); }
}

/* Stampler /cennik. Version 20261111-3.
 * Load after style.css and stampler-layout-1200.css.
 * Supports the existing cennik.tpl and the earlier stg markup.
 * Server-rendered categories stay visible without JavaScript.
 */
html.st-cennik-index.st-layout-wide {
  --st-page-bg: #ececec;
}
html.st-cennik-index body { min-width: 0; }
html.st-cennik-index .srodek,
html.st-cennik-index .srodek *,
html.st-cennik-index .breadcrumb-row { box-sizing: border-box; }
html.st-cennik-index.st-layout-wide .srodek {
  overflow: visible;
  color: #323232;
  font: 15px/1.6 Arial, sans-serif;
}
html.st-cennik-index .breadcrumb-row {
  float: none;
  width: 100%;
  margin: 12px 0;
}
html.st-cennik-index .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin: 0;
  padding: 0 24px;
}
html.st-cennik-index .srodek_tytul {
  clear: both;
  width: 100%;
  max-width: 100%;
  padding: 0;
}
html.st-cennik-index .srodek h1 {
  margin: 18px 0 12px !important;
  padding: 0;
  font: bold clamp(24px, 3vw, 34px)/1.25 Arial, sans-serif;
  text-align: left;
}
html.st-cennik-index .srodek img {
  max-width: 100%;
  height: auto;
}
html.st-cennik-index .stg-page { width: 100%; min-width: 0; }
html.st-cennik-index .stg-lead { margin: 0 0 10px; font-size: 16px; }
html.st-cennik-index .stg-dispatch {
  margin: 0 0 18px;
  color: #17632e;
  font-size: 13px;
  line-height: 1.5;
}

/* Always-visible categories, styled like the expanded subcategory menu. */
html.st-cennik-index .cennik_menu {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  float: none !important;
  width: 100% !important;
  max-width: 100%;
  height: auto;
  max-height: none;
  margin: 0 0 30px;
  padding: 0 !important;
  overflow: visible;
  visibility: visible;
}
html.st-cennik-index .cennik_menu > p {
  grid-column: 1 / -1;
  min-width: 0;
  margin: 0 0 4px;
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
}
html.st-cennik-index .cennik_menu > .clear { display: none; }
html.st-cennik-index .cennik_menu > div:not(.clear) {
  display: flex;
  float: none !important;
  min-width: 0;
  margin: 0 !important;
  background: #fff;
  border: 0;
}
html.st-cennik-index .cennik_menu > div:not(.clear) > a {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  padding: 12px;
  color: #4b4b4b;
  text-align: center;
  text-decoration: none;
}
html.st-cennik-index .cennik_menu > div:not(.clear) > a:hover,
html.st-cennik-index .cennik_menu > div:not(.clear) > a:focus-visible { box-shadow: inset 0 3px #d00000; }
html.st-cennik-index .cennik_menu > div:not(.clear) > a:hover .my-name,
html.st-cennik-index .cennik_menu > div:not(.clear) > a:focus-visible .my-name { color: #d00000; }
html.st-cennik-index .cennik_menu > div:not(.clear) > a:focus-visible {
  outline: 3px solid #a00000;
  outline-offset: 2px;
}
html.st-cennik-index .cennik_menu > div:not(.clear) > a > div {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 100%;
  max-width: 210px;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
}
html.st-cennik-index .cennik_menu > div:not(.clear) > a > div img {
  display: block;
  width: 100%;
  max-width: 210px;
  max-height: none;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}
html.st-cennik-index .cennik_menu .my-name {
  display: block;
  width: 100%;
  min-height: 0;
  margin: 10px 0 0;
  padding: 0;
  font-family: Calibri, Arial, sans-serif;
  font-size: 14px !important;
  font-weight: bold;
  line-height: 1.4;
  color: #4b4b4b;
  text-align: center;
  overflow-wrap: anywhere;
}

/* The existing copy and delivery prices follow the category grid. */
html.st-cennik-index .szareTlo {
  width: 100%;
  min-height: 0;
  margin: 0 0 26px;
  padding: 0 !important;
  background: transparent;
}
html.st-cennik-index .szareTlo > h2 {
  margin: 24px 0 12px;
  padding: 0;
  font: bold 22px/1.35 Arial, sans-serif;
  text-align: left;
}
html.st-cennik-index .szareTlo > p,
html.st-cennik-index .szareTlo > div:not(.cennikBox2) {
  width: auto;
  max-width: 100%;
  padding: 0 !important;
  text-align: left !important;
  overflow-wrap: anywhere;
}
html.st-cennik-index .szareTlo .podtytul {
  margin: 26px 0 12px;
  font: bold 22px/1.35 Arial, sans-serif;
}
html.st-cennik-index .szareTlo .cennikBox2 {
  width: 100%;
  margin: 0;
  border: 1px solid #c6cdd5;
  background: #fff;
}
html.st-cennik-index .cennikBox2_top,
html.st-cennik-index .cennikBox2_bottom { display: none; }
html.st-cennik-index .cennikBox2_srodek {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  width: 100%;
  padding: 20px;
  background: none;
}
html.st-cennik-index .cennikBox2_srodek > .clear { display: none; }
html.st-cennik-index .terminy-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  flex: 0 0 100%;
  float: none;
  width: 100%;
  margin: 0;
}
html.st-cennik-index .terminy-column { float: none; width: auto; min-width: 0; padding: 0; }
html.st-cennik-index .terminy-column img { width: auto; max-width: 100%; max-height: 90px; object-fit: contain; }
html.st-cennik-index .p_podluzna {
  float: none;
  flex: 0 1 160px;
  width: 160px;
  height: auto;
  margin: 0 !important;
  padding: 0 !important;
  background: none;
  text-align: center;
}
html.st-cennik-index .opis_pieczatki { float: none; flex: 1 1 300px; width: auto; min-width: 0; margin: 0; }
html.st-cennik-index .op_table { width: 100%; table-layout: fixed; }
html.st-cennik-index .op_table td { padding: 12px 10px; vertical-align: middle; border-bottom: 1px solid #e1e1e1; }
html.st-cennik-index .op_table tr:last-child td { border-bottom: 0; }
html.st-cennik-index .op_table td:last-child { width: 126px; text-align: right; }
html.st-cennik-index .tytul_pieczatki { width: auto; font: 15px/1.45 Arial, sans-serif; overflow-wrap: anywhere; }
html.st-cennik-index .cena_pole2,
html.st-cennik-index .cena_pole_tekst2 {
  float: none;
  width: auto;
  height: auto;
  min-height: 0;
  margin: 0 !important;
  padding: 0;
  background: none;
}
html.st-cennik-index .cena_pole2 span { color: #a00000; font: bold 18px/1.4 Arial, sans-serif; white-space: nowrap; }
html.st-cennik-index .cena_pole_tekst2 { text-align: right; }
html.st-cennik-index .cena_podpis { float: none !important; width: auto !important; padding: 3px 0 0 !important; font-size: 12px; text-align: right; }
html.st-cennik-index [id], html.st-cennik-index a[name] { scroll-margin-top: 20px; }

/* Full-width menu band, matching the home page. */
html.st-cennik-index.st-layout-wide .top ul.menu {
  --st-menu-band: repeating-linear-gradient(to bottom, #ededed 0, #ccc 36.5px, #b1b1b1 73px);
  position: relative;
  isolation: isolate;
  overflow: visible;
  border-radius: 0;
  background: var(--st-menu-band);
}
html.st-cennik-index.st-layout-wide .top ul.menu::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border: 1px solid transparent;
  border-image-source: var(--st-menu-band);
  border-image-slice: 0 fill;
  border-image-width: 0;
  border-image-outset: 0 100vw;
  pointer-events: none;
}
html.st-cennik-index.st-layout-wide .top ul.menu > li.el > a { background: linear-gradient(#ededed, #ccc, #b1b1b1); border-radius: 5px; }
html.st-cennik-index.st-layout-wide .top ul.menu > li.el > a:hover,
html.st-cennik-index.st-layout-wide .top ul.menu > li.el:focus-within > a { background: linear-gradient(#ef0000, #cc0000, #aa0000); color: #fff; }
html.st-cennik-index .add_menu_top li { box-sizing: border-box; overflow-wrap: anywhere; }
/* Back-to-top positioning is owned by stampler-layout-1200.css. */
html.st-cennik-index .bottom ul.stopka_menu { display: flex; flex-wrap: wrap; gap: 4px 12px; }
html.st-cennik-index .bottom ul.stopka_menu li { float: none; }

@media (max-width: 1023px) {
  html.st-cennik-index .cennik_menu { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  html.st-cennik-index .breadcrumb { padding: 0; }
  html.st-cennik-index .cennik_menu { gap: 10px; }
  html.st-cennik-index .cennik_menu > div:not(.clear) > a { padding: 10px 8px; }
  html.st-cennik-index .cennikBox2_srodek { padding: 14px 10px; }
  html.st-cennik-index .p_podluzna { display: none; }
  html.st-cennik-index .op_table td { padding: 10px 5px; }
  html.st-cennik-index .op_table td:last-child { width: 104px; }
  html.st-cennik-index .cena_pole2 span { font-size: 17px; }
  html.st-cennik-index.st-layout-wide .top ul.menu {
    --st-menu-band: linear-gradient(to bottom, #ededed 0, #ccc 36.5px, #b1b1b1 73px, #ededed 73px, #ccc 99px, #b1b1b1 125px, #ededed 125px, #ccc 151px, #b1b1b1 177px);
  }
}
@media (max-width: 480px) {
  html.st-cennik-index .terminy-row { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
@media (max-width: 359px) {
  html.st-cennik-index .cennik_menu { grid-template-columns: minmax(0, 1fr); }
  html.st-cennik-index .cennik_menu > div:not(.clear) > a { padding: 12px; }
}

/* Wspólne uzupełnienie układu cenników. Ładować po stampler-layout-1200.css. */
html.st-cennik-rozszerzony { --stp-css-ready: 1; }

/* Zmniejsza odstęp pod paskiem narzędzi z 49 do 24,5 px przy pustym koszyku. */
html.st-cennik-zwarty .top .koszyk_top {
  display: flow-root;
  height: auto;
  min-height: 19.5px;
  padding-top: 0;
}

html.st-cennik-zwarty .top ul.menu { margin-top: 0; }

/* Globalne nav ma 997 px. Nawigacja rozmiarów ma mieścić się w cenniku imiennym. */
html.st-cennik-zwarty.st-imienne .sti-size-nav { width: auto; max-width: 100%; }

html:is(.st-cennik-karty, .st-cennik-gumki) .top ul.menu {
  --stp-menu-band: repeating-linear-gradient(to bottom, #ededed 0, #ccc 36.5px, #b1b1b1 73px);
  position: relative;
  isolation: isolate;
  overflow: visible;
  border-radius: 0;
  background: var(--stp-menu-band);
}

html:is(.st-cennik-karty, .st-cennik-gumki) .top ul.menu::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border: 1px solid transparent;
  border-image: var(--stp-menu-band) 0 fill / 0 / 0 100vw;
  pointer-events: none;
}

html:is(.st-cennik-karty, .st-cennik-gumki) .top ul.menu > li.el > a {
  background: linear-gradient(to bottom, #ededed, #ccc, #b1b1b1);
  border-radius: 5px;
  box-shadow: inset 1px 0 #ffffff2e;
}

html:is(.st-cennik-karty, .st-cennik-gumki) .top ul.menu > li.el > a:hover,
html:is(.st-cennik-karty, .st-cennik-gumki) .top ul.menu > li.el > a:focus-visible {
  background: linear-gradient(to bottom, #ef0000, #c00, #a00);
  color: #fff;
}

html:is(.st-cennik-karty, .st-cennik-gumki) .breadcrumb-row {
  float: none;
  width: 100%;
  margin: 16px 0;
}

html:is(.st-cennik-karty, .st-cennik-gumki) .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  padding: 0 24px;
  margin: 0;
}

html.st-cennik-karty :is(.srodek, .stp-catalog) {
  color: #323232;
  font: 15px/1.6 Arial, sans-serif;
  overflow-wrap: break-word;
}

html.st-cennik-karty .stp-catalog {
  box-sizing: border-box;
  max-width: 100%;
  padding: 0 24px !important;
}

html.st-cennik-karty .srodek .stp-catalog { padding: 0 !important; }

html.st-cennik-karty .srodek > .stamp-cennik,
html.st-cennik-karty .srodek .stamp-cennik :is(.cennik_menu, .cennik_menu2) {
  box-sizing: border-box;
  float: none !important;
  width: 100% !important;
  max-width: 100%;
  padding: 0 !important;
  font-size: inherit !important;
}

html.st-cennik-karty .srodek h1 {
  margin: 20px 0 14px !important;
  padding: 0;
  text-align: left;
  font: bold clamp(25px, 3vw, 34px)/1.2 Arial, sans-serif;
}

html.st-cennik-karty :is(.srodek, .stp-catalog) h2 {
  width: auto;
  line-height: 1.3;
  text-align: left;
}

html.st-cennik-karty :is(.srodek, .stp-catalog) :is([id], a[name]) {
  scroll-margin-top: 20px;
}

html.st-cennik-karty :is(.srodek, .stp-catalog) img {
  max-width: 100%;
  height: auto;
}

html.st-cennik-karty .srodek > div:first-child > a {
  display: block;
}

html.st-cennik-karty .srodek > div:first-child > div:has(> a + a),
html.st-cennik-karty .stp-medical-images {
  display: flex !important;
  align-items: stretch;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin: 12px 0 !important;
}

html.st-cennik-karty .srodek > div:first-child > div:has(> a + a) > a {
  display: flex;
  flex: 1 1 0;
  justify-content: center;
  min-width: 0;
}

html.st-cennik-karty .srodek > div:first-child > div:has(> a + a) img,
html.st-cennik-karty .stp-medical-images img {
  display: block;
  min-width: 0;
  max-width: 100%;
  max-height: 370px;
  height: auto !important;
  margin: 0 !important;
  object-fit: contain;
}

html.st-cennik-karty .stp-medical-images > img { flex: 0 1 46%; }

html.st-cennik-karty .stp-catalog > :is(div:not(.stp-model-grid), p, h3),
html.st-cennik-karty .srodek > .stamp-cennik > div:not([class]) {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

html.st-cennik-karty .stp-catalog .podtytul {
  float: none;
  clear: both;
  width: 100%;
  height: auto;
  margin-top: 24px;
  background: transparent;
}

html.st-cennik-karty .stp-catalog .podtytul h2 { margin: 0 0 12px; }

html.st-cennik-karty .stp-accordion {
  box-sizing: border-box;
  width: 100%;
  margin: 12px 0 22px;
  border: 1px solid #c6cdd5;
  background: #ffc;
}

html.st-cennik-karty .stp-accordion[open] { background: #fff; }

html.st-cennik-karty .stp-accordion > summary {
  box-sizing: border-box;
  min-height: 48px;
  padding: 13px 17px;
  cursor: pointer;
  font-weight: bold;
  background: inherit;
}

html.st-cennik-karty :is(.stp-category-grid, .stp-pattern-grid) {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 0 16px 16px;
}

html.st-cennik-karty :is(.stp-category-grid, .stp-pattern-grid) > div {
  box-sizing: border-box;
  float: none !important;
  width: auto !important;
  min-width: 0;
  height: auto !important;
  margin: 0 !important;
  border: 1px solid #c6cdd5;
  text-align: center;
}

html.st-cennik-karty :is(.stp-category-grid, .stp-pattern-grid) a {
  display: block;
  box-sizing: border-box;
  height: 100%;
  padding: 10px;
  color: #323232;
  text-decoration: none;
}

html.st-cennik-karty :is(.stp-category-grid, .stp-pattern-grid) img {
  display: block;
  max-width: min(100%, 210px);
  height: auto !important;
  margin: 0 auto;
}

html.st-cennik-karty .stp-category-grid .my-name {
  display: block;
  margin: 8px 0 0 !important;
  font-size: 14px !important;
  font-weight: bold;
  line-height: 1.35;
}

html.st-cennik-karty .stp-category-grid a:is([aria-current="page"], [aria-current="location"]) {
  box-shadow: inset 0 3px #d00000;
}

html.st-cennik-karty .stp-model-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  width: 100%;
  margin: 18px 0 28px;
}

html.st-cennik-karty .stp-full-row { grid-column: 1 / -1; }

html.st-cennik-karty .stp-catalog:has(> .stp-professional-comparison) { width: 100%; }

html.st-cennik-karty .stp-professional-series {
  margin: 12px 0 0;
  font: bold 18px/1.35 Arial, sans-serif;
}

html.st-cennik-karty .stp-professional-examples {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  place-items: center;
  gap: 16px;
  margin: 0 !important;
}

html.st-cennik-karty .stp-professional-examples > img { margin: 0 !important; }

html.st-cennik-karty .stp-professional-comparison { grid-template-columns: repeat(2, minmax(0, 1fr)); }

html.st-cennik-karty .stp-professional-comparison .stp-imprint {
  background-position: center;
  background-size: contain;
}

html.st-cennik-karty .stp-brand {
  float: none;
  max-width: 100%;
  margin: 8px 0 0 !important;
}

html.st-cennik-karty .stp-brand > img { margin: 0 !important; }

html.st-cennik-karty :is(.stp-model, .stp-shared-visual) {
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  float: none !important;
  width: auto !important;
  min-width: 0;
  min-height: 0;
  gap: 10px;
  padding: 18px 14px;
  border: 1px solid #c6cdd5;
  background: #fff;
  text-align: center;
}

html.st-cennik-karty .stp-model :is(h3, h4, .tytul_pieczatki) {
  width: auto !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 0;
  color: #323232;
  font-size: 16px !important;
  font-weight: bold;
  line-height: 1.35;
  text-align: center;
}

html.st-cennik-karty :is(.stp-product-visual, .stp-product-visual > div:has(a > img), .stp-model .cennik_image) {
  float: none !important;
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  padding: 0;
  margin: 0 !important;
}

html.st-cennik-karty :is(.stp-product-visual, .stp-model .cennik_image) img {
  display: block;
  width: 100%;
  max-width: 220px !important;
  height: 166px !important;
  max-height: none !important;
  margin: 0 auto !important;
  object-fit: contain;
}

html.st-cennik-karty .stp-imprint {
  position: static !important;
  float: none !important;
  max-width: 100%;
  margin: 0 auto !important;
  background-repeat: no-repeat;
}

html.st-cennik-karty .stp-shared-caption { margin: 0; }

html.st-cennik-karty .stp-model :is(.p_rozmiar, .p_nazwa) {
  float: none !important;
  width: auto;
  max-width: 100%;
  margin: 0 !important;
  padding: 0;
}

html.st-cennik-karty .stp-model :is(.cena_pole, .cena_pole2, .cena_pole_tekst, .cena_pole_tekst2) {
  float: none !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #323232;
  background: none;
}

html.st-cennik-karty .stp-model .promo,
html.st-cennik-pozostale.st-cennik-karty .stp-model .cena_pole_tekst2 > span:only-child,
html.st-cennik-gumki .opis_gumki .cena_pole2 span {
  display: block;
  color: #c40000;
  font: bold 25px/1.25 Arial, sans-serif;
}

html.st-cennik-karty .stp-model .promotext {
  color: #555;
  font: 13px/1.4 Arial, sans-serif;
}

html.st-cennik-karty .stp-model .nopromo {
  color: #666 !important;
  font-size: 13px;
  text-decoration: line-through;
}

html.st-cennik-karty .stp-model :is(.cena_podpis, .cena_podpis_n) {
  float: none !important;
  width: auto !important;
  height: auto !important;
  margin: 4px 0 0 !important;
  padding: 0;
  color: #555;
  font: 13px/1.4 Arial, sans-serif;
}

html.st-cennik-karty .stp-swatches {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  box-sizing: border-box;
  float: none !important;
  width: 100% !important;
  max-width: 100%;
  margin: 10px 0 0 !important;
  padding: 2px;
}

html.st-cennik-karty .stp-swatch {
  appearance: none;
  width: 25px;
  height: 25px;
  padding: 0;
  border: 1px solid #888;
  border-radius: 3px;
  cursor: pointer;
}

html.st-cennik-karty .stp-swatch[aria-pressed="true"] {
  outline: 2px solid #323232;
  outline-offset: 1px;
}

html.st-cennik-karty .stp-swatch:focus-visible,
html.st-cennik-karty .stp-accordion > summary:focus-visible {
  outline: 3px solid #9a0000;
  outline-offset: 2px;
}

html.st-cennik-karty .stp-model-action,
html.st-cennik-karty .stp-order-row .button a {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  height: auto;
  padding: 11px 14px;
  border: 0;
  border-radius: 0;
  background: #d00000;
  color: #fff;
  font: bold 14px/1.5 Arial, sans-serif;
  text-align: center;
  text-decoration: none;
}

html.st-cennik-karty .stp-model-action { margin-top: auto; }

html.st-cennik-karty .stp-model-action:hover,
html.st-cennik-karty .stp-order-row .button a:hover {
  background: #b30000;
  color: #fff;
}

html.st-cennik-karty .stp-order-row,
html.st-cennik-karty .stp-order-row :is(.zamow_pie_cennik, ul.button, ul.button > li) {
  box-sizing: border-box;
  float: none !important;
  width: fit-content;
  max-width: 100%;
  height: auto;
  margin: 0 !important;
}

html.st-cennik-karty .stp-medical-links,
html.st-cennik-karty .stp-medical-links .cennik_nowy_kontener_lewy {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  float: none;
  width: 100%;
  max-width: 100%;
  margin: 0;
}

html.st-cennik-karty .stp-medical-links p {
  width: auto;
  height: auto;
  margin: 0 !important;
}

html.st-cennik-karty .stp-medical-links p:first-child,
html.st-cennik-karty .stp-medical-links p:last-child { flex-basis: 100%; }

@media (max-width: 900px) {
  html.st-cennik-karty .stp-model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.st-cennik-karty :is(.stp-category-grid, .stp-pattern-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 650px) {
  html:is(.st-cennik-karty, .st-cennik-gumki) .top ul.menu {
    --stp-menu-band: linear-gradient(to bottom, #ededed 0, #ccc 36.5px, #b1b1b1 73px,
      #ededed 73px, #ccc 99px, #b1b1b1 125px, #ededed 125px, #ccc 151px, #b1b1b1 177px);
  }

  html:is(.st-cennik-karty, .st-cennik-gumki) .breadcrumb { padding: 0; }
  html.st-cennik-karty .stp-catalog { padding: 0 !important; }
  html.st-cennik-karty .stp-model-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  html.st-cennik-karty .stp-professional-examples { grid-template-columns: minmax(0, 1fr); }

  html.st-cennik-karty :is(.stp-category-grid, .stp-pattern-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 0 10px 10px;
  }

  html.st-cennik-karty .stp-order-row,
  html.st-cennik-karty .stp-order-row :is(.zamow_pie_cennik, ul.button, ul.button > li) {
    width: 100%;
  }
}

/* Datowniki: nawigacja po trzech sekcjach i wzory odbić przy modelach. */
html.st-cennik-datowniki.st-cennik-karty .srodek > div:first-child > a > img {
  display: block;
  width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
}

html.st-cennik-datowniki.st-cennik-karty :is(.cennik_menu, .cennik_menu2) > div:has(> h2),
html.st-cennik-datowniki.st-cennik-karty .stp-catalog > div {
  margin-inline: 0 !important;
  font-size: 15px !important;
}

html.st-cennik-datowniki.st-cennik-karty .srodek h2 {
  font-size: clamp(20px, 2.2vw, 24px) !important;
}

html.st-cennik-karty :is(.stp-dater-nav, .stp-section-nav) {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: auto;
  max-width: 100%;
  margin: 12px 0 18px;
}

html.st-cennik-karty :is(.stp-dater-nav, .stp-section-nav) a {
  display: flex;
  flex: 1 1 185px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 0;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid #c6cdd5;
  background: #fff;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}

html.st-cennik-karty :is(.stp-dater-nav, .stp-section-nav) a:hover { border-color: #d00000; }

html.st-cennik-datowniki.st-cennik-karty .stp-imprint {
  background-position: center;
  background-size: contain;
}

/* Pozostałe cenniki: treść dawnych kolumn i tabel w responsywnych kartach. */
html.st-cennik-pozostale.st-cennik-karty :is(.srodek, .stp-catalog) {
  overflow-wrap: anywhere;
}

html.st-cennik-pozostale.st-cennik-karty .stp-catalog {
  width: 100%;
  float: none;
}

html.st-cennik-pozostale .stp-catalog > :is(p, ol, ul, .podtytul) {
  height: auto !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
  text-align: left !important;
}

html.st-cennik-pozostale .stp-catalog > :is(ol, ul) { padding-inline-start: 1.5em !important; }

html.st-cennik-pozostale .stp-catalog > .podtytul {
  width: auto;
  margin: 20px 0 8px !important;
}

html.st-cennik-pozostale .stp-catalog :is(.podtytul, .stp-catalog-block) > :is(h2, h3) {
  margin: 0;
}

html.st-cennik-pozostale .stp-catalog > div:not([class]) {
  display: flow-root;
  min-width: 0;
}

html.st-cennik-pozostale .stp-catalog > div:not([class]) > div { float: none !important; }

html.st-cennik-pozostale .stp-model-grid.stp-inner-grid { margin: 0; }

/* W nagłówku poduszek stary margines logo powiększał szerokość na telefonie. */
html.st-cennik-poduszki .srodek > div:first-child img.st-cennik-logo-producentow {
  box-sizing: border-box;
  margin-left: 0 !important;
  max-width: 100%;
  height: auto;
}

html.st-cennik-pozostale .stp-catalog-block:not(.stp-brand) {
  box-sizing: border-box;
  display: flow-root;
  float: none;
  width: auto !important;
  min-width: 0;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
}

html.st-cennik-pozostale .stp-catalog-block img {
  display: block;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
}

html.st-cennik-pozostale :is(.stp-product-visual, .stp-brand) { padding: 0 !important; }

html.st-cennik-pozostale .stp-model-name > .tytul_pieczatki + br { display: none; }
html.st-cennik-pozostale .stp-model-price { margin-top: auto; }
html.st-cennik-pozostale .stp-model-action { margin-top: 0; }

html.st-cennik-pozostale .stp-imprint:not(.p_kolki_wzor) {
  background-position: center;
  background-size: contain;
}

html.st-cennik-pozostale .stp-imprint:has(img, [class^="p_numerator_"], [class^="p_drukarenka_"]) {
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
}

html.st-cennik-pozostale .stp-imprint :is([class^="p_numerator_"], [class^="p_drukarenka_"]) {
  float: none;
  max-width: 100%;
  margin: 0 auto !important;
  background-position: center;
  background-size: contain;
}

html.st-cennik-pozostale .stp-model:has(> [data-stp-wide-visual]) { grid-column: 1 / -1; }

html.st-cennik-pozostale .stp-product-visual[data-stp-wide-visual] img {
  width: auto;
  max-width: 100% !important;
  height: auto !important;
}

html.st-cennik-pozostale .stp-shared-visual > .cennik_image {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 12px;
}

html.st-cennik-pozostale .stp-shared-visual > .cennik_image > span { grid-column: 1 / -1; }

@media (min-width: 651px) {
  html.st-cennik-pozostale .stp-model-grid:has(> .stp-shared-visual) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

html.st-cennik-karty .stp-dater-imprints {
  display: grid;
  justify-items: center;
  gap: 4px;
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

html.st-cennik-karty .stp-dater-imprints > div {
  float: none !important;
  max-width: 100%;
  margin: 0 !important;
}

/* Stampler - kreator i zamowienia pieczatek. */
html.st-order-page {
    --st-order-red: #ad1018;
    --st-order-red-hover: #870b12;
    --st-order-border: #d5d5d5;
    --st-order-ink: #252525;
}

html.st-order-page.st-layout-wide .srodek {
    padding: 0;
    overflow: visible;
    background: #f6f6f6;
    border-radius: 8px;
}

.st-order-page .breadcrumb-row {
    float: none;
    width: 100%;
    overflow-wrap: anywhere;
}

.st-order-page.st-layout-wide .top ul.menu {
    isolation: isolate;
    border-radius: 0;
    background: var(--st-order-menu);
    --st-order-menu: repeating-linear-gradient(to bottom, #ededed 0, #ccc 36.5px, #b1b1b1 73px);
}

.st-order-page .top ul.menu::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border: 1px solid transparent;
    border-image: var(--st-order-menu) 0 fill / 0 / 0 100vw stretch;
    pointer-events: none;
}

.st-order-page .top ul.menu > li > a:focus-visible,
.st-order-panel :focus-visible {
    outline: 2px solid #0056a0;
    outline-offset: 2px;
}

.st-order-panel,
.st-order-panel *,
div.h1.st-order-copy,
.st-order-payinfo .szareTlo {
    box-sizing: border-box;
}

div.st-order-panel,
div.h1.st-order-copy {
    display: flow-root;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: clamp(12px, 3vw, 32px);
    color: var(--st-order-ink);
    overflow-wrap: anywhere;
    font-size: 16px;
    line-height: 1.5;
}

.st-order-page div.st-order-delivery.szareTlo2 {
    background: transparent;
    padding: clamp(12px, 3vw, 32px);
}

.st-order-panel div.h1 {
    width: 100%;
    padding: 0;
    margin: 0 0 16px;
    line-height: inherit !important;
    text-align: left !important;
}

.st-order-panel div.h1 h1,
.st-order-panel .srodek_tytul h1,
.st-order-panel .st-order-heading {
    margin: 0 0 10px;
    font: bold clamp(20px, 3vw, 28px)/1.25 Tahoma, sans-serif;
    text-align: left;
}

.st-order-panel h2.st-order-heading {
    font-size: clamp(18px, 2.3vw, 22px);
}

.st-order-panel div.row {
    max-width: 100%;
    font-size: 16px;
    line-height: 1.5;
    margin: 6px 0;
}

.st-order-panel [class*="col-lg-"] {
    min-width: 0;
    padding: 6px;
}

.st-order-panel div.row.small-txt {
    line-height: 1.45;
}

.st-order-panel img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.st-order-panel #zestawienie,
.st-order-panel #podsumowanie {
    scroll-margin-top: 12px;
}

div.h1.st-order-copy {
    border-top: 1px solid var(--st-order-border);
    border-radius: 0 0 8px 8px;
    background: #fff;
    font-size: 14px;
}

div.h1.st-order-copy h2 {
    margin: 14px 0 6px;
    font-size: 17px;
}

.st-order-copy p,
.st-order-copy li {
    margin: 6px 0;
}

.st-order-copy ol {
    padding-left: 24px;
}

.st-order-panel .st-order-action,
.st-order-panel .st-empty-cart-link,
.st-order-lockers .st-locker-search {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    float: none;
    max-width: 100%;
    min-height: 46px;
    padding: 8px 12px !important;
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    background: var(--st-order-red) !important;
    color: #fff !important;
    font: bold 14px/1.25 Tahoma, sans-serif !important;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    cursor: pointer;
}

.st-order-panel .st-order-action:hover,
.st-order-panel .st-empty-cart-link:hover,
.st-order-lockers .st-locker-search:hover {
    background: var(--st-order-red-hover) !important;
}

.st-order-panel button#add_product {
    float: none;
    border-color: #b6b6b6 !important;
    background: #fff !important;
    color: var(--st-order-ink) !important;
}

.st-order-panel button#add_product:hover {
    background: #eee !important;
}

/* Kreator. Kontenery krokow zachowuja widocznosc ustawiana przez global.js. */
.st-order-creator #step1 > .row:first-child .step1 {
    margin-bottom: 4px;
}

.st-order-creator div.row.st-order-tiles,
.st-order-creator :is(#szablon-produkt, #szablon-szablon, #szablon, #szablons, #model, #models) {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.st-order-creator button.my-type-sel,
.st-order-creator .szablon-box {
    width: auto;
    min-width: 0;
    float: none;
    margin: 0;
    padding: 10px;
    border: 1px solid var(--st-order-border);
    border-radius: 8px;
    background: #fff;
    color: var(--st-order-ink);
}

.st-order-creator button.my-type-sel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    font: inherit;
}

.st-order-creator button.my-type-sel img {
    width: 100%;
    height: clamp(64px, 14vw, 118px);
}

.st-order-creator #zamform button.my-type-sel .my-name {
    font: bold 14px/1.3 Tahoma, sans-serif;
    min-height: 0;
}

.st-order-creator .my-type-sel.active,
.st-order-creator .szablon-box:has(input:checked) {
    border-color: var(--st-order-red);
    box-shadow: inset 0 0 0 1px var(--st-order-red);
}

.st-order-creator .szablon-box label.szablon-img {
    display: block;
    line-height: 1.4;
    cursor: pointer;
}

.st-order-creator .szablon-box .img-container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.st-order-creator .szablon-box .img-container :is(.img-boxzm, .img-boxzs) {
    width: 28px;
    height: 28px;
    margin: 0;
    border: 1px solid #777;
    border-radius: 4px;
}

.st-order-creator .szablon-box .img-container :is(.img-boxzm, .img-boxzs).big {
    outline: 2px solid #262626;
    outline-offset: 1px;
}

.st-order-creator #opt-color-block .img-block {
    height: auto;
    min-height: 0;
}

.st-order-creator #linepreview {
    width: 100%;
    padding: 0;
    overflow-x: auto;
}

.st-order-creator .st-preview-label {
    display: none;
}

.st-order-creator #logobox #logofile {
    display: block;
    position: absolute;
    width: 1px;
    height: 1px;
    clip-path: inset(50%);
    margin: 0;
}

.st-order-creator #logobox #add--file {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    min-height: 44px;
    align-items: center;
}

.st-order-creator #logobox:has(#logofile:focus-visible) #add--file {
    outline: 2px solid #0056a0;
    outline-offset: 2px;
}

.st-upload-filename {
    display: block;
    margin-top: 5px;
    font-size: 14px;
}

/* Pola i dostawa. */
.st-order-panel #zamform :is(input[type="text"], .lined, textarea),
.st-order-lockers .punkty-maps .input-btn input {
    float: none;
    width: 100% !important;
    height: auto !important;
    min-width: 0;
    min-height: 44px;
    padding: 9px 10px !important;
    border: 1px solid #a4a4a4;
    border-radius: 5px;
    font: 16px/1.3 Tahoma, sans-serif;
    background: #fff;
    color: var(--st-order-ink);
}

.st-order-panel #zamform input:disabled {
    background: #eee;
    color: #565656;
    opacity: 1;
}

.st-order-panel #zamform input.noempty,
.st-order-panel #zamform input.novalidate {
    border-color: #a80000;
}

.st-order-panel #zamform label[for^="st-field-"],
.st-order-panel #zamform .st-payment-choice {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    font-size: 15px;
    line-height: 1.35;
}

.st-order-panel #zamform label[for^="st-field-"] {
    margin-bottom: 4px;
}

.st-order-panel #zamform label:has(> input:is([type="checkbox"], [type="radio"])) {
    max-width: 100%;
    cursor: pointer;
}

.st-order-panel #zamform input:is([type="checkbox"], [type="radio"]) {
    width: 18px;
    height: 18px;
    accent-color: var(--st-order-red);
    vertical-align: middle;
}

.st-order-panel #zamform .st-payment-choice {
    min-height: 40px;
    align-items: center;
    gap: 5px;
}

.st-order-panel #przesylka :is(#setc, #setp, #payce, #payco, #paype, #paypo) {
    margin-bottom: 6px;
    border: 1px solid var(--st-order-border);
    border-radius: 7px;
    background: #fff;
    cursor: pointer;
}

.st-order-panel #przesylka :is(#setc, #setp, #payce, #payco, #paype, #paypo):has(input:checked) {
    border-color: var(--st-order-red);
    background: #fff6f6;
}

.st-order-panel #przesylka .txt-info {
    font-size: 14px;
    line-height: 1.45;
}

.st-order-panel #przesylka .img-responsive {
    max-width: 100px;
    max-height: 52px;
    margin: 4px 0 0;
}

.st-order-page .st-order-delivery .main-container-pg {
    padding: 0;
    margin: 0;
    background: transparent;
}

.st-order-panel #error_dane,
.st-order-panel #error_tresc {
    font-size: 15px;
    color: #a80000;
}

/* Koszyk. Jedna karta DOM na pozycje, nadal usuwana przez .item{klucz}. */
.st-order-panel div.row.st-cart-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(158px, .9fr) minmax(0, .65fr) minmax(0, .65fr);
    grid-template-areas: "model template quantity unit total" "preview preview preview preview preview";
    align-items: start;
    gap: 12px;
    margin: 10px 0;
    padding: clamp(9px, 2vw, 20px);
    border: 1px solid var(--st-order-border);
    border-radius: 8px;
    background: #fff;
}

.st-cart-item .st-cart-model { grid-area: model; }
.st-cart-item .st-cart-template { grid-area: template; }
.st-cart-item .st-cart-quantity { grid-area: quantity; }
.st-cart-item .st-cart-unit { grid-area: unit; }
.st-cart-item .st-cart-total { grid-area: total; }
.st-cart-item .st-cart-preview { grid-area: preview; }

.st-cart-item > div {
    min-width: 0;
}

.st-cart-item .st-cart-label {
    display: block;
    margin-bottom: 5px;
    font-size: 13px;
    font-weight: bold;
    color: #525252;
}

.st-cart-item div.row {
    margin: 2px 0;
    text-align: left;
}

.st-cart-item div.row.mh40 {
    min-height: 0;
}

.st-cart-item .st-cart-model img,
.st-cart-item .st-cart-template img {
    max-height: 126px;
}

.st-cart-item .st-cart-preview:has(img),
.st-cart-item .st-cart-preview:has(.small-txt:not(:empty)) {
    padding-top: 8px;
    border-top: 1px solid #eee;
}

.st-cart-item .st-cart-preview img {
    max-width: min(100%, 180px) !important;
}

.st-quantity-controls {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4px;
}

.st-cart-item :is(.minus, .plus, .del-item) {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    padding: 0;
    margin: 0;
    border: 1px solid var(--st-order-border);
    border-radius: 6px;
    background-color: #fff;
    background-position: center;
    background-size: 19px 19px;
}

.st-cart-item .del-item {
    height: 34px;
    margin-top: 5px;
}

.st-cart-item .ordercnt {
    flex: 0 1 54px;
    width: 54px;
    min-width: 38px;
    min-height: 44px;
    border: 1px solid #a4a4a4;
    border-radius: 5px;
    font-size: 16px;
}

.st-cart-item .pricesum {
    font-weight: bold;
}

.st-order-panel .st-order-summary {
    padding: 12px;
    border: 1px solid var(--st-order-border);
    border-radius: 8px;
    background: #fff;
}

.st-order-panel .st-order-summary > .row > [class*="col-lg-"]:first-child {
    font-weight: bold;
}

.st-order-panel #ordervalueb {
    font-size: 18px;
    color: #8d0d15;
}

/* Potwierdzenie dostarczane przez aplikacje jako HTML. */
.st-order-receipt {
    width: 100%;
    min-width: 0;
}

.st-order-receipt :is(form, table, img, input, button, .my-image) {
    max-width: 100% !important;
}

.st-order-receipt :is(a, button, input):has(> img),
.st-order-receipt input:is([type="image"], [type="submit"]) {
    min-height: 44px;
}

.st-order-receipt a:has(> img) {
    display: inline-flex;
    align-items: center;
}

/* Paczkomaty. Mapa wojewodztw ma wspolrzedne zapisane w pikselach. */
.st-order-lockers .srodek_tytul,
.st-order-payinfo .srodek_tytul {
    padding: 0;
}

.st-order-lockers div.punkty-maps {
    background: transparent;
}

.st-order-lockers .city-inputs,
.st-order-lockers .st-locker-overview {
    padding: 0 12px 0 0;
}

.st-order-lockers .punkty-maps :is(.postcode-container, .city-container) {
    margin: 8px 0;
    overflow: visible;
}

.st-order-lockers .punkty-maps :is(.input-desc, .input-btn) {
    display: block;
    float: none;
    width: 100%;
    margin: 0 0 5px;
    color: var(--st-order-ink);
    font-size: 15px;
}

.st-order-lockers .input-btn form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(145px, auto);
    align-items: stretch;
    gap: 8px;
}

.st-order-lockers .st-locker-or {
    margin: 10px 0;
    color: #555;
}

.st-order-lockers .map-container img {
    max-width: none;
}

.st-order-lockers .punkty-maps .city-points {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    padding: 4px;
    overflow: visible;
}

.st-order-lockers .punkty-maps .city-point {
    display: flex;
    flex-direction: column;
    gap: 6px;
    float: none;
    width: 100%;
    margin: 0;
    padding: 10px;
    border: 1px solid var(--st-order-border);
    border-radius: 8px;
    background: #fff;
    color: var(--st-order-ink);
}

.st-order-lockers .city-point .show-point-icon {
    display: none;
}

.st-order-lockers .city-point :is(.show-point, .set-point) {
    position: static;
    width: 100%;
    height: auto;
    min-height: 44px;
    padding: 6px;
    display: grid;
    place-items: center;
    font-size: 13px;
    line-height: 1.25;
}

.st-order-lockers .city-point .set-point {
    margin-top: auto;
    background: var(--st-order-red);
}

.st-order-lockers .city-point .show-point {
    order: 1;
    border: 1px solid #aaa;
    background: #fff;
    color: var(--st-order-ink);
}

.st-order-lockers .city-point .show-point:hover {
    background: #f0f0f0;
}

.st-order-lockers .city-point .set-point:hover {
    background: var(--st-order-red-hover);
}

.st-order-locker-page .ui-dialog.gmap-dialog {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    position: fixed !important;
    inset: 12px !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    overflow: hidden;
    z-index: 2147483647;
}

.st-order-locker-page .ui-dialog.gmap-dialog > .ui-dialog-content {
    flex: 1 1 0;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 6px;
    overflow: hidden;
}

.st-order-locker-page .gmap-dialog .google-map {
    box-sizing: border-box;
}

.st-order-locker-page .gmap-dialog .ui-resizable-handle {
    display: none !important;
}

.st-order-locker-page .gmap-dialog .ui-dialog-titlebar {
    cursor: default;
}

.st-order-locker-page .gmap-dialog-btn-close {
    display: grid;
    place-items: center;
    min-height: 44px;
    line-height: 1.25;
    margin: 0;
}

/* Powrot z platnosci. */
.st-order-payinfo .szareTlo,
.st-order-payinfo #payinfo_wrapper {
    padding: 0;
}

.st-order-payinfo #payinfo li {
    float: none;
    width: auto;
    height: auto;
    margin: 0;
    padding: 8px 0;
    border-bottom: 1px solid var(--st-order-border);
}

.st-order-payinfo #payinfo_buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 20px 0 0;
}

.st-order-payinfo #payinfo_buttons a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    max-width: 100%;
}

@media (max-width: 920px) {
    .st-order-lockers .st-locker-overview {
        display: none;
    }

    .st-order-lockers .city-inputs {
        width: 100%;
        padding: 0;
    }
}

@media (max-width: 760px) {
    .st-order-creator div.row.st-order-tiles,
    .st-order-creator :is(#szablon-produkt, #szablon-szablon, #szablon, #szablons, #model, #models),
    .st-order-lockers .punkty-maps .city-points {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .st-order-panel div.row.st-cart-item {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas: "model template" "preview preview" "quantity quantity" "unit total";
    }

    .st-cart-item .st-cart-quantity {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px;
    }

    .st-cart-item .st-cart-quantity .st-cart-label {
        flex-basis: 100%;
        margin: 0;
    }

    .st-cart-item .st-cart-quantity .del-item {
        margin: 0 0 0 auto;
        height: 44px;
    }

    .st-order-panel #przesylka > .col-lg-6,
    .st-order-panel #dane > .col-lg-6,
    .st-order-delivery .main-container-pg > .row > .col-lg-6,
    .st-order-creator #step4 > .row > .col-lg-6,
    .st-order-creator #step2 .col-lg-4,
    .st-order-creator #step5 :is(.col-lg-7, .col-lg-5),
    .st-order-creator #opt-color-block .col-lg-6,
    .st-order-summary > .row > .col-lg-4,
    .st-order-panel #zamform > .row > :is(.col-lg-4, .col-lg-5, .col-lg-7) {
        width: 100%;
        float: none;
        padding: 0;
    }

    .st-order-panel #zamform .row > :is(.col-lg-2, .col-lg-3, .col-lg-4, .col-lg-6, .col-lg-7):empty {
        display: none;
    }

    .st-order-panel #zamform .row > :is(.col-lg-2, .col-lg-3, .col-lg-4, .col-lg-6, .col-lg-7):has(> .st-order-action) {
        width: 100%;
        float: none;
        padding: 4px 0;
    }

    .st-order-creator div.row:has(> #linedesc) {
        display: flex;
        flex-wrap: wrap;
    }

    .st-order-creator .proj-box label {
        display: none;
    }

    .st-order-creator .st-order-preview:has(#linepreview:not(:empty)) .st-preview-label {
        display: block;
        margin: 8px 0 4px;
        font-weight: bold;
    }

    .st-order-creator #step5 :is(.ot, .otl, .tl) label {
        width: 100%;
        max-width: 100%;
    }

    .st-order-creator .thumbnail span {
        display: none;
    }

    .st-order-panel #dane label.smallfsize:has(input) {
        width: auto;
        padding: 4px;
    }

    .st-order-summary > .row > .col-lg-4:not(:empty) {
        margin-bottom: 3px;
    }

    .st-order-summary > .row:has(> .col-lg-4 > .nomargin) > .col-lg-4 {
        margin-top: 8px;
        padding-top: 7px;
        border-top: 1px solid #eee;
    }

    .st-order-receipt .row > :is(.col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8) {
        width: 100%;
        float: none;
    }

    .st-order-receipt .row:has(> .col-lg-2:nth-child(6)) > .col-lg-2 {
        width: 33.333%;
        float: left;
    }

    .st-order-receipt .row:has(> .col-lg-8) > .col-lg-2 {
        width: 50%;
        float: left;
    }

    .st-order-receipt .row > :is(.col-lg-2, .col-lg-4):empty {
        display: none;
    }

    .st-order-page .add_menu_top li:not(:has(a)):not(.pzr) {
        display: none;
    }
}

@media (max-width: 650px) {
    .st-order-page .top ul.menu > li.paczkomat > a {
        overflow-wrap: anywhere;
    }

    .st-order-page .breadcrumb {
        padding-left: 0;
    }

    .st-order-lockers .input-btn form,
    .st-order-lockers .punkty-maps .city-points {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* global.js czasem dodaje posredni element do listy AJAX. */
.st-order-creator :is(.step-model, .step-szablon) {
    display: contents;
}

html.st-order-page body {
    font-family: Tahoma, Arial, sans-serif;
}

html.st-order-page .top ul.menu > li.el > a {
    font-family: Calibri, Arial, sans-serif;
}

.st-order-page .koszyk_top:has(.koszyk_tekst:empty) {
    display: none;
}

.st-order-receipt input[type="image"] {
    max-width: min(100%, 270px) !important;
    height: auto;
}

.st-order-locker-page .gmap-dialog-btn-close:focus-visible {
    outline: 2px solid #0056a0;
    outline-offset: 2px;
}

@media (max-width: 650px) {
    .st-order-page.st-layout-wide .top ul.menu {
        --st-order-menu: linear-gradient(to bottom, #ededed 0, #b1b1b1 60px, #ededed 60px, #b1b1b1 104px, #ededed 104px, #b1b1b1 148px);
    }

    .st-order-page.st-layout-wide .top ul.menu > li.home,
    .st-order-page.st-layout-wide .top ul.menu > li.home > a {
        height: 60px;
    }

    .st-order-page.st-layout-wide .top ul.menu > li.home > a {
        width: 189px;
        background-size: 386px 60px;
    }

    .st-order-page .top ul.menu > li.home > a:hover {
        background-position: -197px 0;
    }

    .st-order-page.st-layout-wide .top ul.menu > li.el,
    .st-order-page.st-layout-wide .top ul.menu > li.el > a {
        height: 44px;
    }

    .st-order-page.st-layout-wide .top ul.menu > li.paczkomat > a {
        padding-top: 2px;
    }

    .st-order-page .add_menu_top ul.add_menu > li {
        padding: 2px 3px;
        font-size: 11px;
        line-height: 1.35;
    }

    .st-order-page #info-bar {
        box-sizing: border-box;
        max-height: none;
        padding: 7px;
        background: #fff;
    }

    .st-order-page #info-bar p {
        box-sizing: border-box;
        width: calc(100% - 78px);
        padding: 0 6px 0 0;
        font-size: 11px;
        line-height: 1.35;
        text-align: left;
    }

    .st-order-page #info-bar button#acceptC {
        width: 78px;
        min-height: 44px;
        margin: 0;
        background: #eee;
    }
}

/* Gumki i logo — układ na podstawie znaczników cennik.tpl. */
html.st-cennik-gumki.st-layout-wide .srodek {
  color: #323232;
  font: 15px/1.55 Arial, sans-serif;
  overflow: visible;
  overflow-wrap: anywhere;
}

html.st-cennik-gumki .srodek > .stamp-cennik,
html.st-cennik-gumki .stamp-cennik > :is(.cennik_menu, .szareTlo) {
  box-sizing: border-box;
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
}

html.st-cennik-gumki .srodek h1 {
  margin: 16px 0 12px !important;
  font: bold clamp(25px, 3vw, 34px)/1.2 Arial, sans-serif;
}

html.st-cennik-gumki .srodek :is(h2, h3) {
  text-align: left;
  line-height: 1.3;
}

html.st-cennik-gumki .srodek [id] { scroll-margin-top: 16px; }

html.st-cennik-gumki .cennik_menu {
  display: flow-root;
  font-size: inherit !important;
}

html.st-cennik-gumki .cennik_menu > p {
  padding-inline: 0 !important;
  margin-inline: 0 !important;
  text-align: left !important;
}

html.st-cennik-gumki .cennik_menu > p > a[href^="#"] {
  display: inline-block;
  padding-block: 4px;
}

/* Górne zdjęcia mają jednakowe proporcje. Zawsze mieszczą się obok siebie. */
html.st-cennik-gumki .srodek .st-cennik-gumki-banery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(4px, 1vw, 10px);
  max-width: 1000px;
  margin: 12px auto 18px !important;
}

html.st-cennik-gumki .srodek .st-cennik-gumki-banery > a {
  display: block;
  min-width: 0;
}

html.st-cennik-gumki .srodek .st-cennik-gumki-banery img {
  display: block;
  width: 100%;
  height: auto !important;
  aspect-ratio: 552 / 632;
  object-fit: contain;
}

/* Zabezpieczenie widoku przy wyłączonym JS. */
html.st-cennik-gumki .srodek :is(.cennik_menu, .cennik_menu2) > :is(div, li):has(> a[href] img),
html.st-cennik-gumki .srodek :is(.cennik_menu, .cennik_menu2) > a[href]:has(img),
html.st-cennik-gumki .szareTlo .st-gumki-zdjecie-wstepu,
html.st-cennik-gumki .srodek img.st-cennik-logo-producentow {
  display: none !important;
}

html.st-cennik-gumki .szareTlo img {
  max-width: 100%;
  height: auto;
}

html.st-cennik-gumki .szareTlo > div:has(> #cennik-gumek) { padding: 0 !important; }
html.st-cennik-gumki .gumki-opis > div { margin-inline: 0 !important; }

html.st-cennik-gumki .cennikBox2 {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  border: 1px solid #d3d3d3;
  border-radius: 8px;
  background: #fff;
}

html.st-cennik-gumki .cennikBox2 > :is(.cennikBox2_top, .cennikBox2_bottom),
html.st-cennik-gumki .cennikBox2 > .cennikBox2_srodek:empty {
  display: none;
}

html.st-cennik-gumki .cennikBox2 .cennikBox2_srodek {
  box-sizing: border-box;
  display: flow-root;
  width: 100%;
  padding: 12px clamp(10px, 2vw, 22px) !important;
  background: none;
}

html.st-cennik-gumki #gumki-container-show > .cennikBox2_srodek:has(> .opis_gumki) {
  display: grid;
  grid-template-columns: clamp(86px, 32%, 360px) minmax(0, 1fr);
  align-items: center;
  gap: 8px clamp(10px, 2vw, 24px);
  border-bottom: 1px solid #e6e6e6;
}

html.st-cennik-gumki #gumki-container-show > .cennikBox2_srodek > :is(h2, p) {
  grid-column: 1 / -1;
  margin: 0;
}

html.st-cennik-gumki .cennikBox2_srodek > .clear { display: none; }

html.st-cennik-gumki #gumki-container-show :is(.p_kolki, .opis_gumki) {
  float: none;
  min-width: 0;
  width: auto;
  height: auto !important;
  margin: 0 !important;
}

html.st-cennik-gumki #gumki-container-show .p_kolki img {
  --st-gumka-image-min: 44%;
  display: block;
  width: calc(var(--st-gumka-image-min) + (100% - var(--st-gumka-image-min)) * var(--st-gumka-size, .5)) !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
  aspect-ratio: var(--st-gumka-image-ratio, 1);
  object-fit: cover;
}

/* Kadruj pustą przestrzeń w kwadratowych plikach źródłowych. */
html.st-cennik-gumki #gumki-container-show img.st-gumka-prostokatna { --st-gumka-image-ratio: 2.45; }
html.st-cennik-gumki #gumki-container-show img.st-gumka-datownik { --st-gumka-image-ratio: 1.3; }
html.st-cennik-gumki #gumki-container-show img.st-gumka-szkieletowa { --st-gumka-image-ratio: 1.52; }
html.st-cennik-gumki #gumki-container-show img.st-gumka-kwadratowa { --st-gumka-image-ratio: 1.16; }
html.st-cennik-gumki #gumki-container-show img.st-gumka-podluzna { --st-gumka-image-ratio: 9; }

/* W bitmapach tło i okno datownika mają #f0f0f0. Rozjaśnij tylko jasne piksele. */
html.st-cennik-gumki .srodek img.st-gumka-jasne-tlo {
  filter: var(--st-gumka-biale-tlo, none);
}

html.st-cennik-gumki .opis_gumki .op_table {
  width: 100%;
  table-layout: fixed;
}

html.st-cennik-gumki .opis_gumki .op_table td {
  box-sizing: border-box;
  padding: 0;
  vertical-align: middle;
}

html.st-cennik-gumki .opis_gumki .op_table .stemp_kind {
  width: auto;
  padding-right: 12px;
  text-align: left;
}

html.st-cennik-gumki .opis_gumki .tytul_pieczatki {
  margin: 0 0 4px;
  font-size: 16px;
}

html.st-cennik-gumki .opis_gumki .op_table td + td {
  width: 40%;
  text-align: center;
}

html.st-cennik-gumki .opis_gumki :is(.cena_pole2, .cena_pole_tekst2, .cena_podpis) {
  width: auto;
  height: auto;
  margin: 0 !important;
  padding: 0;
  background: none;
  text-align: inherit;
}

html.st-cennik-gumki .opis_gumki .cena_pole2 span {
  margin: 0;
  white-space: nowrap;
}

html.st-cennik-gumki .opis_gumki .cena_podpis {
  color: #555;
  font: 13px/1.4 Arial, sans-serif;
}

html.st-cennik-gumki .cennikBox2_srodek > .zamow_pie_cennik {
  display: flow-root;
  margin: 0 !important;
}

html.st-cennik-gumki .zamow_pie_cennik ul.button { margin: 0; }

html.st-cennik-gumki .zamow_pie_cennik ul.button > li {
  width: auto;
  height: auto;
  margin: 0;
}

html.st-cennik-gumki .zamow_pie_cennik ul.button li a {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  width: auto;
  height: auto;
  padding: 8px 14px;
  line-height: 1.25;
}

html.st-cennik-gumki .cennikBox2 > .cennikBox2_srodek > p {
  margin: 12px 0 0 !important;
}

@media (max-width: 650px) {
  html.st-cennik-gumki .top ul.menu > li.el > a { overflow-wrap: anywhere; }

  html.st-cennik-gumki #gumki-container-show > .cennikBox2_srodek:has(> .opis_gumki) {
    grid-template-columns: clamp(86px, 28%, 140px) minmax(0, 1fr);
  }

  html.st-cennik-gumki #gumki-container-show .p_kolki img { --st-gumka-image-min: 56%; }

  html.st-cennik-gumki .opis_gumki :is(.op_table, tbody, tr, td) { display: block; }

  html.st-cennik-gumki .opis_gumki .op_table .stemp_kind { padding-right: 0; }

  html.st-cennik-gumki .opis_gumki .op_table td + td {
    width: auto;
    padding-top: 6px;
    text-align: left;
  }

  html.st-cennik-gumki .zamow_pie_cennik :is(ul.button, ul.button > li) {
    float: none;
    width: 100%;
  }
}
