/* ============================================================
   KOLORYSTYKA SZABLONU NEW1
   Zdefiniowana lokalnie – nie wymaga konfiguracji systemu CMS.
   ============================================================ */
:root {
  --main-color: rgb(95, 190, 70);
  /* Kolor główny */
  --main-color-hover: rgb(106, 210, 74);
  /* Kolor dodatkowy (hover) */
  --header-color: rgb(27, 29, 35);
  /* Kolor nagłówków */
  --bg-color: rgb(244, 244, 244);
  /* Tło strony */
  --card-bg: rgb(250, 250, 250);
  /* Tło kart i sekcji */
  --footer-bg: rgb(43, 47, 54);
  /* Stopka */
}

.body_opinie #box_latest {
  background-color: #f5f5f5;
}

#box_lista_zlecen a.guzik svg {
  fill: #ffffff;
  vertical-align: middle;
}

#google_login img,
#fb_login img {
  width: 32px;
  margin-right: 10px;
  vertical-align: middle;
}

#google_login {
  background-color: #4184f3;
  color: #fff;
  padding: 3px 6px;
  display: inline-block;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
}

#box_zarejestruj #fb_login {
  margin-right: 20px;
}

#wroc {
  margin-bottom: 0;
  padding: 6px 12px;
}

#wroc span {
  display: inline-block;
  height: 24px;
  width: 1px;
  vertical-align: middle;
}

div.break {
  height: 1px;
  overflow: hidden;
  clear: both;
}

#zalogowany a.white {
  color: #fff;
}

span.ico.zweryfikowana {
  background-image: url(gfx/ikona.svg );
  width: 22px;
  display: inline-block;
  height: 22px;
  background-size: contain;
  vertical-align: middle;
}

.phone_ico {
  background-image: url(gfx/phone.svg );
  background-repeat: no-repeat;
  background-position: 8px center;
  background-size: 16px;
}

.www_ico {
  background-image: url(gfx/www.svg );
  background-repeat: no-repeat;
  background-position: 8px center;
  background-size: 16px;
}

#div_nazwa span.ico {
  vertical-align: middle;
}

#box_produkty p.cala-oferta {
  position: unset;
}

#box_stopka_linki div.col {
  padding: 0 10px;
  flex-grow: 1;
}

#box_lista_kategorii h2 {
  font-size: 14pt;
}

.lista-in {
  display: flex;
}

#box_twoje_opinie_wszystkie h1 {
  text-align: left;
}

.opinie-tab {
  background-color: #d7d7d7;
  margin-bottom: 6px;
}

.opinie-tab a {
  display: inline-block;
  padding: 6px;
  border: 1px solid #999;
  margin: 10px;
  color: #000;
}

#nowa_opinia label.error {
  display: block;
  padding-top: 0;
  margin-bottom: 5px;
}

div.ocena_ogolem.error {
  outline: 1px solid #f00;
}

#box_tekst ul {
  list-style: disc;
  list-style-position: inside;
  padding-left: 40px;
  margin: 10px 0;
}

#box_tekst li ul {
  margin: 0;
  list-style: circle;
}

#box_tekst li li ul {
  list-style: square;
}

#box_tekst img {
  max-width: 100%;
  height: auto !important;
}

#mobile_show {
  clear: both;
}

#tabs svg {
  float: right;
}

#tabs {
  margin-bottom: 20px;
}

#tabs a {
  color: #000;
  display: block;
  padding: 7px;
}

#tabs div {
  cursor: pointer;
  background-color: #d7d7d7;
  margin-bottom: 6px;

}

.hl {
  position: relative;
  height: 20px;
}

.hl:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 20%;
  right: 20%;
  border-top: 1px solid black;
  background: black;
  transform: translateY(-50%);
}

.hl span {
  background-color: #fff;
  padding: 0 20px;
  z-index: 3;
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

@media all and (min-width: 500px) {
  #box_zarejestruj .hl {
    width: 50%;
  }

  #rejestruj-guziki {
    width: 50%;
    text-align: left;
  }
}

.konto {
  margin-bottom: 20px;
  display: none;
}

.konto .col {
  max-width: 500px;
  display: inline-block;
  width: 100%;
}

.triangle_down1 {
  position: relative;
  top: -4px;
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-right: 0.2em solid white;
  border-top: 0.2em solid white;
  transform: rotate(135deg);
  margin-right: 0.5em;
  margin-left: 1.0em;
  vertical-align: middle;
}

.triangle_up1 {
  transform: rotate(-45deg);
  top: 2px;
}

p.data_newsa {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

p.data_newsa a {
  margin-bottom: 0;
}

.glowna_woj {
  padding: 0 10px;
}

#form_szukaj input,
#form_szukaj div.sl-container,
#form_szukaj select {
  width: 20%;
}

#form_szukaj div.sl-container {
  padding: 0 15px;
}

div.reklama_div img {
  max-width: 100%;
}

#ajax_lista .reklama_in {
  margin-top: 0;
}

#okresl_miasto {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 14px;
  line-height: 24px;
  width: 24px;
  cursor: pointer;
  background-image: url(gfx/customer.png);
}

#okresl_miasto:hover {
  opacity: 0.5;
}

span.dot {
  display: inline-block;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  vertical-align: middle;
}

span.dot.red {
  background-color: #c00;
}

span.dot.green {
  background-color: #0c0;
}

.gray {
  color: #ccc;
}

.gray a {
  color: #999;
}

.rozwin p {
  margin-bottom: 20px;
}

.rozwin .button {
  cursor: pointer;
  color: var(--main-color);
}

.rozwin .button:hover {
  color: var(--main-color-hover);
  text-decoration: underline;
}

.with-marker {
  display: inline-block;
  position: relative;
  width: 20%;
  margin-bottom: 10px;
  margin-left: 4px;
  margin-right: 4px;
  padding: 0 15px;
  background-color: #fff;
  border: 1px solid #000;
  outline: 1px solid #fff;
  box-sizing: border-box;
}

#form_szukaj .with-marker input {
  width: 100%;
  margin-bottom: 0;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
}


html,
p {
  margin: 0;
}

body,
html,
p,
ul {
  padding: 0;
}

.reklama_in {
  margin-top: 10px;
}

body {
  margin: 0;
  font-family: 'Inter', sans-serif;
}

#box_produkt #mapa_div div.padding,
#mobile_show,
.mobile_on,
div.hidden {
  display: none;
}

#firma_www_button {
  font-weight: bold;
}

#rodo {
  position: fixed;
  background-color: rgba(0, 0, 0, 0.5);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 40px;
}

#rodo_in {
  background-color: rgba(0, 0, 0, 0.8);
  ;
  padding: 10px;
  vertical-align: middle;
  box-sizing: border-box;
  display: inline-block;
  width: 99%;
}

#rodo_txt {
  overflow-y: scroll;
  overflow-x: hidden;
  max-height: 300px;
}

#rodo_ok {
  color: #fff;
  background-color: var(--main-color);
  padding: 10px 20px;
  display: block;
  margin-top: 10px;
  border-radius: 5px;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
}

#zalogowany {
  display: inline;
}

#zalogowany a {
  color: var(--main-color);
}

#zmien_widok {
  float: right;
}

#zmien_widok img {
  cursor: pointer;
}

div.widget div.links {
  padding: 10px;
}

div.widget div.links a {
  color: #000;
}

.flex {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  align-items: stretch;
}

.flex_col {
  width: 50%;
}

.powrot {
  padding: 6px 12px;
  display: inline-block;
}

.powrot span {
  display: inline-block;
  width: 1px;
  height: 28px;
  color: #000;
  vertical-align: middle;
  overflow: hidden;
}

a.powrot {
  border: 1px solid #333;
  color: #000;
}

#box_produkty #zmien_widok {
  margin-top: 8px;
  margin-left: 10px;
}

.grid ul.lista_firm {
  font-size: 0;
}

.grid .lista-in {
  display: block;
}

.grid ul.lista_firm div.kategorie {
  flex-wrap: wrap;
}

.grid ul.lista_firm div.foto {
  border-right: 0;
  float: none;
  text-align: center;
  border-bottom: 1px solid #e6e6e6;
}

.grid ul.lista_firm div.dane {
  margin-left: 0;
}

.grid ul.lista_firm li {
  display: inline-block;
  width: 33%;
  border: 0;
  background-color: transparent;
  vertical-align: top;
}

.grid ul.lista_firm li.promo {
  border: 0;
  box-shadow: unset;
}

.grid ul.lista_firm li.promo>div {
  border: 2px solid #fdcf00;
  box-shadow: 0 0 4px #777;
}

ul.lista_firm li.promo {
  border: 2px solid #fdcf00;
  box-shadow: 0 0 4px #777;
}

.grid ul.lista_firm li.promo h3.nazwa {
  padding-right: 0;
}

.grid ul.lista_firm li>div {
  margin: 0 10px;
  border: 1px solid #e6e6e6;
  background-color: #f9f9f9;
  font-size: 12pt;
  position: relative;
}

.grid ul.lista_firm div.foto img {
  display: inline-block;
  width: 100%;
  height: auto;
}

.grid ul.lista_firm li>div.clear {
  border: 0;
}

.grid ul.lista_firm p.align_right {
  margin-bottom: 0;
  position: inherit;
  margin-top: 20px;
  text-align: center;
}

.form input.text_atr {
  background-color: #f9f9f9;
  border: 1px solid silver;
  border-radius: 6px;
  padding: 8px;
}

.mb15 {
  margin-bottom: 15px;
}

#box_news_content,
#dodawanie_firmy p,
br.clear,
div.clear {
  clear: both;
}

#rwd_menu li.home span {
  background-image: url(../gfx/css_sprites.png);
  display: inline-block;
}


@media all and (max-width: 900px) {

  #form_szukaj input,
  #form_szukaj div.sl-container,
  #form_szukaj select,
  .with-marker {
    width: 40%;
  }

}

@media all and (max-width: 480px) {

  #form_szukaj input,
  #form_szukaj div.sl-container,
  #form_szukaj select,
  .with-marker {
    width: 80%;
  }

}

span.hico {
  background-image: url(../gfx/css_sprites.png);
  display: inline-block;
  margin-right: 2px;
  vertical-align: middle;
}

.ico_l {
  background-position: -10px -84px;
  width: 15px;
  height: 17px;
}

.ico_r {
  background-position: -10px -84px;
  width: 15px;
  height: 17px;
  background-position: -10px -47px;
  width: 13px;
}

#lista_kategorii_2 li.active ul.subkat a,
a.link {
  color: #000;
}

#div_movie iframe {
  width: 100%;
  border: 0;
}

img.vtop {
  vertical-align: top;
}

#page_404 {
  text-align: center;
}

#page_404 h1 {
  margin-bottom: 20px;
}

table.godziny {
  margin-bottom: 20px;
}

#sidebar table.godziny {
  margin-bottom: 0;
}

#news_platny {
  border: 1px solid #333;
  padding: 10px;
  clear: both;
}

ul {
  list-style: none;
}

ul.sl-options {
  box-shadow: 7px 7px 7px -4px #999;
  z-index: 100;
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #ccc;
  overflow-x: hidden;
}

ul.sl-options li {
  border-bottom: 1px solid #ddd;
}

#rwd_menu a:hover,
#wplaty a.guzik_red:hover {
  text-decoration: none;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

#produkt_col #opinie_pl h2.naglowek {
  font-size: 16pt;
}

table.godziny {
  width: 100%;
}

#firma_dodatkowe {
  padding: 24px 0 0;
  margin-top: 24px;
  border-top: 1px solid #e2e8f0;
  clear: both;
}

#firma_dodatkowe .firma_atrybuty_grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 24px 32px;
  margin-top: 8px;
}

#firma_dodatkowe .firma_atrybuty_grupa h3 {
  font-size: 15px;
  font-weight: 700;
  color: #1e293b;
  margin: 0 0 10px;
}

#firma_dodatkowe .atrybuty {
  list-style: none;
  padding: 0;
  margin: 0;
}

#firma_dodatkowe .atrybuty li {
  font-size: 14px;
  line-height: 1.6;
  color: #475569;
  padding: 4px 0;
}

#firma_dodatkowe .atrybuty li img {
  vertical-align: middle;
  margin-right: 6px;
  max-height: 20px;
  width: auto;
}

.nowrap {
  white-space: nowrap;
}

dd,
dl,
h1,
h2,
h3,
h4,
h5 {
  margin: 0;
}

ul {
  margin: 0;
}

ul.lista_firm div.kategorie p {
  margin: 0;
}

.bold {
  font-weight: 700;
}

.rounded {
  border-radius: 5px;
}

.italic {
  font-style: italic;
}

.wrapper {
  margin: auto;
  width: 1200px;
}

#firma_tel_span a,
#top_1_menu img,
div.pakiet label,
p.oferta_dane b.green {
  margin-right: 10px;
}

#mapa_dojazdu {
  height: 200px;
}

.gray_bg {
  background-color: #313131;
  color: #f5f5f5;
}

.white_bg {
  background-color: #fff;
  color: #242424;
}

.green_bg,
.transparent_button:hover {
  background-color: var(--main-color);
  color: #fff;
}

.light_gray_bg {
  background-color: #f5f5f5;
  color: #242424;
}

div.clear {
  width: 100%;
  height: 0;
  overflow: hidden;
}

#jezyki {
  float: right;
}

#top_1_menu {
  text-align: right;
}

#top_1_menu.logged_in {
  clear: both;
  border-top: 1px solid #666;
}

#drukuj,
input.submit {
  cursor: pointer;
}

#jezyki li,
#rwd_menu li,
#top_1_menu li,
.glowna_woj li {
  display: inline-block;
}

#box_news_content ul,
#produkt_div ul,
div.single_kat ul {
  list-style: disc;
  list-style-position: inside;
}

#box_news_content ul li p {
  display: inline;
}

#box_news_content ul {
  padding: 0 20px;
}

#produkt_div ol {
  list-style-position: inside;
}

#jezyki {
  padding-top: 4px;
  margin-left: 30px;
}

#jezyki li img {
  margin-left: 10px;
  border: 1px solid transparent;
}

#jezyki li:hover img {
  border: 1px solid red;
}

#top_1 p.italic {
  float: left;
  margin-top: 2px;
}

#top_1_menu a {
  color: #fff;
  margin-left: 10px;
  vertical-align: middle;
}

#top_1 {
  padding: 5px 0;
}

#top_1_menu img {
  vertical-align: middle;
}

#rwd_menu {
  float: right;
  font-weight: 700;
}

#rwd_menu li {
  padding: 14px 18px;
}

#rwd_menu li.home {
  padding: 6px 18px;
  vertical-align: middle;
}

#rwd_menu li.home span {
  background-position: -10px -419px;
  background-repeat: no-repeat;
  width: 29px;
  height: 30px;
}

#rwd_menu li.home.active span,
#rwd_menu li.home:hover span {
  background-position: -10px -452px;
}

#rwd_menu a {
  color: #000;
  text-transform: uppercase;
}

.transparent_button {
  color: #000;
  text-transform: uppercase;
}

#rwd_menu a:hover {
  color: var(--main-color);
}

#rwd_menu li.dodaj_firme {
  background-color: #fdcf00;
  border-radius: 3px;
}

#rwd_menu li.dodaj_firme:hover {
  background-color: #cd9f00;
}

/* Old rule replaced by new modal menu style below */

#rwd_menu li.dodaj_firme:hover a {
  color: #000;
  text-decoration: none;
}

#top_2 {
  padding: 20px 0;
}

#form_szukaj input {
  border: 0;
  padding: 0 15px;
  height: 64px;
  margin-bottom: 10px;
  margin-left: 4px;
  margin-right: 4px;
  border: 1px solid #000;
  box-sizing: border-box;
  outline: 1px solid #fff;
  font-family: 'Inter', sans-serif;
  font-size: 13pt;
}

#form_szukaj select {
  border: 1px solid #000;
  outline: 1px solid #fff;
  margin-left: 4px;
  margin-right: 7px;
  box-sizing: content-box;
  height: 64px;
  padding: 0 15px;
}

div.sl-container {
  border: 1px solid #000;
  outline: 1px solid #fff;
  box-sizing: border-box;
}

div.sl-container li {
  text-indent: 0;
}

#form_szukaj_submit {
  color: #fff;
  border: 0;
  background-color: var(--main-color);
  font-weight: 700;
  cursor: pointer;
  padding: 0 30px;
  box-sizing: content-box;
}

#form_szukaj_submit:hover {
  background-color: var(--main-color-hover);
}

#logo {
  display: inline-block;
  vertical-align: middle;
}

span.vertical {
  display: inline-block;
  vertical-align: middle;
  height: 49px;
  width: 0;
  overflow: hidden;
}

#logo {
  font-size: 0;
}

#form_szukaj {
  padding-top: 181px;
}

#form_szukaj h1 {
  margin: 0 0 40px;
  text-shadow: 1px 1px 1px #000;
  color: #fff;
  font-size: 46pt;
}

#form_szukaj div.clear {
  margin-top: 40px;
}

#form_szukaj .transparent_button {
  color: #fff;
  border-color: #fff;
  font-size: 17pt;
}

#box_aktualnosci p.data {
  font-size: 10pt;
}

#box_aktualnosci p.excerpt {
  font-size: 10pt;
  overflow: hidden;
  height: 54px;
}

.transparent_button {
  border: 2px solid #cecece !important;
  color: #555555 !important;
  background-color: transparent !important;
  cursor: pointer !important;
  padding: 12px 30px !important;
  display: inline-block !important;
  margin-top: 20px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  border-radius: 8px !important;
  transition: all 0.25s ease !important;
}

.transparent_button:hover {
  border-color: var(--main-color, #5fbe46) !important;
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: 0 4px 15px rgba(95, 190, 70, 0.2) !important;
  transform: translateY(-2px) !important;
}

#form_szukaj {
  text-align: center;
}

.content h1.h2,
.content h2 {
  text-align: center;
}

.content h1.h2,
.content h2 {
  margin-bottom: 15px;
  font-size: 28pt;
}

.content2 h1.h2,
.content2 h2 {
  margin-bottom: 15px;
  font-size: 28pt;
}

.content,
.content2 {
  padding: 20px 0;
}

#partnerzy_div {
  height: 180px;
  margin: auto;
  width: 1100px;
}

#partnerzy_div li {
  float: left;
}

#box_opinie div.col {
  display: initial;
  margin-bottom: 15px;
}

#box_opinie .opinia {
  height: 100%;
}

#box_opinie .transparent_button {
  margin-top: 0;
}

#box_produkty_szukaj {
  padding: 25px 0;
  text-align: center;
}

#box_produkty_szukaj form {
  margin-bottom: 0;
}

#box_newsletter label,
#box_produkty_szukaj label {
  font-weight: 700;
  font-size: 18pt;
  margin-right: 10px;
  vertical-align: middle;
}

#box_newsletter input,
#box_produkty_szukaj input {
  border: 0;
  border-radius: 3px;
}

#produkty_szukaj {
  background-color: #fff;
  padding: 6px;
  display: inline-block;
  border-radius: 3px;
}

#box_newsletter input.text {
  background-color: transparent;
  color: #737373;
  font-size: 11pt;
  width: 320px;
  vertical-align: middle;
}

#box_produkty_szukaj input.text {
  background-color: transparent;
  color: #737373;
  font-size: 11pt;
  width: 154px;
  vertical-align: middle;
}

#box_produkty_szukaj input.text:active,
#box_produkty_szukaj input.text:focus,
#box_newsletter input.text:active,
#box_newsletter input.text:focus {
  outline: 0;
}

#box_produkty_szukaj button.submit {
  background-color: #313131;
  color: #fff;
  padding: 15px;
  border: 0;
  cursor: pointer;
  font-size: 14pt;
  border-radius: 3px;
}

#box_produkty_szukaj button.submit span {
  width: 16px;
  background-position: -10px -10px;
  height: 17px;
  vertical-align: middle;
  margin-left: 15px;
}

div.latest_single {
  display: block;
  float: left;
  width: 20%;
  margin-bottom: 10px;
  color: #242424;
}

div.latest_single div.column {
  border: 1px solid #e6e6e6;
  margin: 0 5px;
}

div.latest_single div.column:hover {
  box-shadow: 0 0 12px #999;
}

div.single_news_in:hover {
  box-shadow: 0 0 12px #999;
}

div.latest_single a,
div.opinia a.link,
div.single_news h3 a {
  color: #242424;
}

ul.lista_firm h3 a,
ul.lista_firm p.adres .woj {
  color: #242424;
}

ul.lista_firm h3 a {
  vertical-align: middle;
}

div.latest_single img {
  width: 100%;
  height: auto;
  box-sizing: border-box;
  border: 2px solid #f2ca1d;
}

.cena {
  color: var(--main-color);
  font-weight: 700;
}

.producent {
  font-weight: 700;
}

div.padding {
  padding: 15px;
}

div.padding_5 {
  padding: 5px;
}

div.latest_single .pb {
  padding-bottom: 6px;
}

div.latest_single div.links {
  border-top: 1px solid #e6e6e6;
  color: #007095;
  font-size: 10pt;
}

div.latest_single div.links a {
  color: #007095;
}

div.latest_single div.adres {
  font-weight: 700;
  text-transform: uppercase;
}

div.latest_single .miasto {
  color: var(--main-color);
  padding-left: 0;
}

#box_produkty_szukaj button.submit span {
  background-image: url(../gfx/css_sprites.png);
  display: inline-block;
}

div.latest_single .miasto:before {
  background-image: url(../gfx/css_sprites.png);
  display: inline-block;
  content: '\00a0 ';
  width: 9px;
  height: 11px;
  background-position: -70px -10px;
  width: 9px;
  margin-right: 2px;
  overflow: hidden;
  vertical-align: baseline;
}

span.ocena,
span.ocena_outer {
  background-image: url(../gfx/css_sprites.png);
  display: inline-block;
}

.opinia_jeden {
  float: left;
  margin-bottom: 25px;
  width: 33%;
}

.opinia_jeden div.opinia {
  height: 150px;
}

#box_newsletter {
  text-align: center;
}

#box_newsletter div.wrapper {
  padding: 25px 0;
  background-image: url(../gfx/zielona_koperta.png);
  background-repeat: no-repeat;
  background-position: 140px center;
}

#newsletter_dolacz {
  background-color: #fff;
  padding: 6px;
  display: inline-block;
  border-radius: 30px;
}

a.green {
  color: var(--main-color);
}

#box_newsletter input.submit {
  background-color: #313131;
  color: #fff;
  font-size: 14pt;
  vertical-align: middle;
  padding: 15px 26px;
}

#box_mapa {
  background-color: #2f2c2c !important;
  background-image: url(../gfx/tlo-za-mapa.webp) !important;
  background-position: center bottom !important;
  background-repeat: repeat-x !important;
}

#box_mapa h2 {
  color: #fff;
}

.glowna_woj a {
  color: #fff;
}

#map-poland,
#mapa {
  float: right;
}

#map-poland li {
  text-indent: -99999px;
}

.glowna_woj ul {
  padding-top: 30px;
}

.glowna_woj li {
  width: 18%;
  vertical-align: top;
}

div.row {
  display: table;
  width: 100%;
}

div.col {
  display: table-cell;
  vertical-align: top;
}

#box_opinie div.col {
  width: 33%;
}

div.center,
p.zobacz_wiecej {
  text-align: center;
}

div.right {
  text-align: right;
}

#add-favourites.added svg {
  fill: #fff;
}

span.ocena {
  background-repeat: repeat-x;
  height: 19px;
}

span.ocena_outer {
  background-repeat: repeat-x;
  height: 19px;
  width: 94px;
  background-position: -10px -312px;
}

span.ocena {
  background-position: -10px -291px;
  text-indent: -999999px;
}

span.ocena_1 {
  width: 20%;
}

span.ocena_2 {
  width: 40%;
}

span.ocena_3 {
  width: 60%;
}

span.ocena_4 {
  width: 80%;
}

span.ocena_5 {
  width: 100%;
}

div.opinia {
  border: 1px solid #e6e6e6;
  margin: 0 15px;
  background-image: url(../gfx/opinia.png);
  background-position: top right;
  background-repeat: no-repeat;
}

div.opinia img.thumb {
  float: left;
  margin-right: 10px;
}

div.opinia h2 {
  text-align: left;
  margin-bottom: 5px;
  font-size: 13pt;
}

div.pb0 {
  padding-bottom: 0;
}

div.single_kat {
  width: 25%;
  float: left;
  text-align: left;
  margin-bottom: 30px;
}

div.single_kat_in {
  background-color: #fff;
  border: 1px solid #e6e6e6;
  margin: 0 15px;
  padding: 10px;
  background-image: url(../gfx/kategoria.png);
  background-position: left bottom;
  background-repeat: no-repeat;
}

p.zobacz_wiecej {
  border: 1px solid #cecece;
  text-transform: uppercase;
  margin-top: 10px;
}

a.data,
div.single_kat span.arrows {
  color: var(--main-color);
}

#ajax_opcje span.arrows {
  color: red;
}

p.zobacz_wiecej a {
  color: #505050;
  display: block;
  padding: 10px 0;
}

p.zobacz_wiecej a:hover {
  background-color: var(--main-color);
  cursor: pointer;
  border-color: var(--main-color);
  color: #fff;
  text-decoration: none;
}

div.single_kat a {
  color: #505050;
}

div.single_kat li {
  margin-top: 5px;
  font-size: 11pt;
}

div.single_kat h3 {
  height: auto;
  margin-bottom: 6px;
  font-size: 13pt;
  overflow: hidden;
}

div.single_kat_ul {
  /*height: 160px;
  overflow: hidden; */
  margin-bottom: 6px;
}

div.single_news {
  width: 25%;
  float: left;
  margin-bottom: 20px;
}

div.single_news_in {
  margin: 0 5px;
  background-color: #f8f8f8;
}

div.single_news h3 {
  margin: 8px 0;
  height: 74px;
  overflow: hidden;
}

#dodaj_produkt #dodawanie_firmy textarea,
#schowek,
#sidebar .white_form_box input.text,
div.single_news img.thumb {
  width: 100%;
  padding: 0;
  height: auto;
}

#box_statystyki li {
  width: 33%;
  text-align: center;
  display: inline-block;
}

#box_statystyki ul {
  padding: 30px 0;
}

#box_statystyki strong {
  display: block;
  font-size: 22pt;
}

#box_haslo h2,
#box_logowanie h2,
#box_statystyki img,
.glowna_woj li {
  margin-bottom: 15px;
}

a.rss,
span.fico {
  background-image: url(../gfx/css_sprites.png);
}

a.rss {
  position: absolute;
  top: 0;
  right: 0;
  background-position: -10px -351px;
  width: 48px;
  height: 48px;
  display: block;
}

span.fico {
  display: inline-block;
  width: 38px;
  height: 37px;
}

span.ico_gp {
  background-position: -10px -121px;
}

span.ico_fb {
  background-position: -10px -178px;
}

span.ico_tiktok {
  background-position: -75px -178px;
}

span.ico_insta {
  background-position: -76px -235px;
}

span.ico_yt {
  background-position: -10px -235px;
}

span.stat {
  background-image: url(../gfx/css_sprites.png);
  display: inline-block;
  margin-bottom: 5px;
}

span.stat_1 {
  width: 112px;
  height: 93px;
  background-position: -10px -779px;
}

span.stat_2 {
  width: 74px;
  height: 93px;
  background-position: -10px -892px;
}

span.stat_3 {
  width: 98px;
  height: 94px;
  background-position: -10px -1005px;
}

.relative {
  position: relative;
}

#schowek {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
}

#schowek span.info {
  padding: 10px;
  display: none;
  background-color: rgba(92, 182, 210, 0.8);
}

#schowek_tlo {
  padding: 10px;
  display: none;
  background-color: rgba(92, 182, 210, 0.8);
}

#schowek span.info {
  display: block;
  margin: auto;
  padding: 5px;
  color: #fff;
  line-height: 35px;
  font-size: 18px;
  width: 250px;
  -webkit-border-radius: 10px 10px 0 0;
  -moz-border-radius: 10px 10px 0 0;
  border-radius: 10px 10px 0 0;
}

#schowek span.arrow_s {
  background-image: url(../gfx/css_sprites.png);
  display: block;
  background-position: -10px -501px;
  width: 47px;
  height: 35px;
  float: left;
}

#schowek span.arrow_s.act {
  background-position: -10px -535px;
}

#schowek_zawartosc {
  width: 900px;
  margin: auto;
}

#schowek_zawartosc div.single {
  float: left;
  margin: 10px;
  padding: 6px;
}

#schowek_zawartosc span.usun {
  display: block;
  margin-top: 10px;
  color: #fff;
  background-image: url(../gfx/schowek_x.png);
  background-repeat: no-repeat;
  padding-left: 22px;
  height: 22px;
}

img.s_foto {
  margin-right: 5px;
}

#schowek_zawartosc a {
  color: #000;
  font-weight: 700;
}

.cursor {
  cursor: pointer;
}

.profile img {
  border: 1px solid transparent;
  width: 32px;
  height: 32px;
}

.profile img:hover {
  border: 1px solid #000;
  box-shadow: 0 0 3px #333;
}

.uppercase {
  text-transform: uppercase;
}

div.border,
div.single_news_in {
  border: 1px solid #e6e6e6;
}

ul.lista_firm li {
  border: 1px solid #e6e6e6;
}

#box_haslo div.border,
#box_logowanie div.border {
  margin: 0 10px;
  padding: 10px;
}

p.info_err {
  background-color: #ff8585;
  color: #fff;
  padding: 10px;
  border-radius: 3px;
  margin-bottom: 10px;
}

p.info_ok {
  background-color: #393;
  padding: 10px;
}

.form input.text {
  height: 47px;
  line-height: 47px;
  text-indent: 10px;
  width: 100%;
  background-color: #f9f9f9;
  border: 1px solid #efefef;
  box-sizing: border-box;
}

.dane_firmy p.txt {
  margin-bottom: 10px;
}

.dane_firmy p.txt:last-child {
  margin-bottom: 0;
}

.form input.text,
.form input[type=file] {
  margin-bottom: 10px;
}

.form textarea {
  margin-bottom: 10px;
}

p.info_ok {
  margin-bottom: 10px;
}

.form textarea {
  width: 100%;
  background-color: #f9f9f9;
  border: 1px solid #efefef;
  box-sizing: border-box;
}

.form input {
  border-radius: 3px;
}

p.info_ok {
  border-radius: 3px;
}

.mt {
  margin-top: 20px;
}

#sidebar .widget,
.mb {
  margin-bottom: 20px;
}

#sidebar #quick_search_div {
  padding: 10px 6px;
}

#box_logowanie a.green {
  color: var(--main-color);
  text-decoration: underline;
}

#box_logowanie a.password {
  color: #242424;
  text-decoration: underline;
  line-height: 32px;
}

#box_logowanie input.submit {
  font-weight: bold;
}

#box_haslo input.submit,
#box_konto input.submit,
#box_logowanie input.submit {
  border: 0;
  float: right;
  background-color: var(--main-color);
  color: #fff;
  padding: 8px 24px;
}

#box_konto input.submit {
  float: none;
}

#fb_login {
  background-color: #3f5d9d;
  color: #fff;
  padding: 3px 6px;
  display: inline-block;
  text-align: center;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
}

.width_35 {
  width: 35%;
}

#polozenie {
  position: absolute;
  bottom: 10px;
  color: #fff;
  text-shadow: 1px 1px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}

#polozenie a {
  color: #fff;
}

#polozenie li {
  display: inline-block;
}

#polozenie .last {
  color: #fff;
}

p.info_ok,
ul.lista_firm div.kategorie a.zobacz_produkty {
  color: #fff;
}

#lista_kategorii_2 ul {
  list-style: disc;
  list-style-position: inside;
  color: #646464;
}

#lista_kategorii_2 li {
  margin-bottom: 8px;
}

#lista_kategorii_2 span.arrow {
  float: right;
  cursor: pointer;
  display: inline-block;
  height: 20px;
}

ul.lista_firm h3,
ul.lista_firm p {
  margin-bottom: 8px;
}

#lista_kategorii_2 a {
  color: #646464;
}

#lista_kategorii_2 li.active a {
  color: var(--main-color);
  font-weight: 700;
}

#lista_kategorii_2 li.active ul.subkat a.active {
  color: var(--main-color);
}

#lista_kategorii_2 li ul.subkat {
  display: none;
  margin-top: 8px;
}

#lista_kategorii_2 li.active ul.subkat {
  display: block;
}

span.clear {
  display: block;
}

#lista_kategorii_2 ul.subkat {
  list-style: circle;
  padding-left: 20px;
}

#sidebar {
  width: 305px;
}

.white_form_box_outer {
  width: 100%;
  display: inline-block;
}

.white_form_box {
  background-color: #fff;
  border-radius: 3px;
  display: block;
  padding: 7px 6px;
}

span.clear {
  clear: both;
  width: 100%;
  height: 0;
  overflow: hidden;
}

.white_form_box input {
  border: 0;
  border-radius: 3px;
}

.white_form_box input.text {
  background-color: transparent;
  color: #737373;
  width: 68%;
  line-height: 25px;
}

.white_form_box input.submit {
  background-color: var(--main-color);
  float: right;
  color: #fff;
  padding: 4px 12px;
}

#box_lista_firm, #box_lista_produktow {
  margin-right: 20px;
}

ul.lista_firm li {
  background-color: #f9f9f9;
  margin-bottom: 24px;
  position: relative;
}

ul.lista_firm li.promo h3.nazwa {
  padding-right: 130px;
}

ul.lista_firm div.foto {
  float: left;
  background-color: #fff;
  border-right: 1px solid #e6e6e6;
}

ul.lista_firm div.dane {
  margin-left: 0px;
  color: #242424;
  display: flex;
  flex-grow: 2;
  flex-wrap: wrap;
  background-color: #fff;
}

#firma_div h2.naglowek,
ul.lista_firm h3 {
  font-size: 16pt;
}

p.tel {
  background-position: left 3px;
  background-repeat: no-repeat;
}

ul.lista_firm p.adres {
  background-position: left 3px;
  background-repeat: no-repeat;
  color: #5fc142;
  text-transform: uppercase;
  font-weight: 700;
  background-image: url(../gfx/marker.png);
  padding-left: 16px;
}

#box_firmy_szukaj ul.miasta li.active a {
  color: #5fc142;
}

ul.lista_firm p.adres a {
  color: #5fc142;
}

ul.lista_firm div.kategorie {
  background-color: #f9f9f9;
  border-top: 1px solid #e6e6e6;
  display: flex;
  justify-content: space-between;
  align-self: flex-end;
  width: 100%;
  color: #323232;
  padding: 11px;
}

ul.lista_firm div.kategorie a {
  color: #007095;
}

p.tel {
  background-image: url(../gfx/telefon.png);
  padding-left: 21px;
}

ul.lista_firm p.opis_krotki {
  font-size: 11pt;
  max-height: 40px;
  overflow: hidden;
}

#footer {
  padding: 50px 0;
  color: #9b9b9b;
}

#footer img {
  vertical-align: middle;
}

#footer div.linia {
  border-top: 1px solid #5b5b5b;
  margin-top: 25px;
  margin-bottom: 25px;
  height: 1px;
  overflow: hidden;
}

#box_firmy_szukaj ul.miasta a,
#footer a,
.dark_gray_bg a {
  color: #fff;
}

#footer_bottom {
  line-height: 40px;
}

#box_stopka_linki {
  display: flex;
  text-align: center;
}

#box_stopka_linki a {
  font-weight: 700;
}

#box_kontakt_form .text {
  background-color: #f9f9f9;
  border: 1px solid silver;
  font-family: 'Inter', sans-serif;
  font-size: 11pt;
}

#box_kontakt_form h3 {
  margin-bottom: 10px;
}

#box_kontakt_form textarea {
  background-color: #f9f9f9;
  border: 1px solid #efefef;
  box-sizing: border-box;
  line-height: 47px;
  margin-bottom: 10px;
  text-indent: 10px;
  width: 100%;
  height: 100px;
}

#box_kontakt_form div.col {
  padding: 0 10px;
}

div.align_right {
  text-align: right;
}

div.align_right input.text {
  width: auto;
}

#box_kontakt_form input.submit {
  background-color: var(--main-color);
  border: 0;
  color: #fff;
  padding: 14px 24px;
  font-weight: bold;
  margin-left: 10px;
}

#strony {
  text-align: center;
  margin-bottom: 20px;
}

#strony a {
  background-color: #d9d9d9;
  color: #303030;
  display: inline-block;
  padding: 6px 12px;
  border-radius: 3px;
  box-shadow: 1px 1px 1px #666;
  margin: 3px;
}

#strony a.active {
  padding: 12px 18px;
  background-color: var(--main-color);
  color: #fff;
}

#strony a:hover {
  background-color: var(--main-color);
  color: #fff;
}

#box_miasta a,
#box_tagi a {
  color: #242424;
  margin-right: 20px;
}

#top_3 {
  background-position: center bottom;
  background-repeat: repeat-x;
  position: relative;
  background-color: #fff;
}

#top_3.top2 {
  background-image: url(/img/top2.jpg);
}

#top_3.top1 {
  background-image: url(/img/top1.jpg);
}

#top_3.no-top {
  background-image: none;
  height: auto;
  background-color: #333333;
}

#top_3 .wrapper {
  overflow: visible;
}

.home #top_3 {
  height: 534px;
}

.home #box_tagi {
  border-bottom: 1px solid #ddd;
  clear: both;
}

.home #box_miasta {
  border-top: 1px solid #fff;
}

.home #top_3.no_search {
  height: 232px;
  background-position: center top;
}

.dane_firmy h3,
div.widget h3 {
  margin-bottom: 15px;
}

.dane_firmy h3 svg {
  vertical-align: middle;
}

#box_firmy_szukaj div.line {
  border-bottom: 1px solid #141414;
  border-top: 1px solid #464646;
  height: 0;
  overflow: hidden;
  margin: 15px 0;
}

#produkty_szukaj_box div.line {
  border-bottom: 1px solid #141414;
  border-top: 1px solid #464646;
  height: 0;
  overflow: hidden;
  margin: 15px 0;
  margin: 10px 15px 0;
}

#box_firmy_szukaj ul.miasta {
  list-style: disc;
  list-style-position: inside;
  color: #949494;
}

#box_firmy_szukaj ul.miasta li {
  float: left;
  width: 49%;
  margin-bottom: 10px;
}

#box_lista_kategorii {
  background-image: url(../gfx/kategoria.png);
  background-position: left bottom;
  background-repeat: no-repeat;
}

div.widget {
  border-radius: 3px;
}

div.promo {
  color: #000;
  text-transform: uppercase;
  background-color: #fdcf00;
  position: absolute;
  top: 18px;
  right: 0;
  padding: 4px 10px;
  font-weight: 700;
}

div.sl-container {
  background-color: #fff;
  cursor: pointer;
  display: inline-block;
  margin-left: 4px;
  margin-right: 4px;
  text-align: left;
  text-indent: 4px;
  font-size: 13pt;
  vertical-align: top;
}

#box_wszystkie_opinie .w_linii a,
#plugin_aktualnosci_lista h3 a,
div.sl-container a {
  color: #000;
}

.sl-placeholder-container {
  height: 64px;
  line-height: 64px;
  overflow: hidden;
}

.sl-button {
  font-size: 28px;
  width: 20px;
  text-align: center;
  line-height: 86px;
  background-image: url(gfx/arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
}

.sl-options {
  background-color: #fff;
}

.sl-options a {
  padding: 6px;
  display: inline-block;
  width: 100%;
}

.foto_firmy {
  width: 225px;
}

.foto_firmy ul {
  padding: 10px;
  color: #242424;
}

.dane_firmy p.adres a,
.foto_firmy ul a,
span.ocena_int a {
  color: #242424;
}

.foto_firmy li {
  border-bottom: 1px solid #efefef;
}

.dane_firmy {
  padding: 20px;
  position: relative;
}

.dane_firmy p.adres,
.dane_firmy p.www {
  font-weight: 700;
  color: #242424;
}

.dane_firmy p.kategorie a,
.dane_firmy p.www a {
  color: var(--main-color);
  font-weight: 700;
}

#kod_qr {
  position: absolute;
  bottom: 15px;
  right: 15px;
}

#firma_tel_button,
#firma_tel_span {
  margin-bottom: 6px;
  display: inline-block;
  font-weight: 700;
}

#firma_tel_button {
  background-color: var(--main-color);
  color: #fff;
  border-radius: 3px;
  box-shadow: 1px 1px 0 silver;
  cursor: pointer;
}

#firma_tel_button,
#firma_www_button {
  padding-left: 30px;
  image-rendering: crisp-edges;
}

#firma_tel_button:hover,
#firma_www_button:hover,
#add-favourites:hover,
#dodaj_opinie:hover {
  background-color: var(--main-color-hover);
  text-decoration: underline;
}


#firma_tel_span {
  padding: 4px 0;
  font-size: 14pt;
}

p.center {
  text-align: center;
}

#firma_div {
  margin-right: 20px;
  border-radius: 3px;
}

span.ocena_int {
  font-size: 10pt;
  margin-left: 8px;
  vertical-align: top;
}

#opinie_pl {
  position: relative;
}

#dodaj_opinie {
  color: #fff;
  position: relative;
  margin-bottom: 0.5rem;
  padding: 6px 12px;
  background-color: var(--main-color);
  box-shadow: 1px 1px 0 silver;
  cursor: pointer;
  display: inline-block;
  font-weight: 700;
  border-radius: 3px;
}

#opinie_pl div.linia {
  border-top: 1px solid #dedede;
  margin-top: 25px;
  margin-bottom: 25px;
  height: 1px;
  overflow: hidden;
  clear: both;
}

#div_nazwa {
  position: relative;
  margin-bottom: 15px;
}

#add-favourites {
  /* position: absolute;
   right: 0;
   top: 0; */
  margin-left: 6px;
  background-color: var(--main-color);
  cursor: pointer;
  display: inline-block;
}

#add-favourites img {
  margin-left: 10px;
  vertical-align: middle;
}

#add-favourites-item img,
#remove-favourites-item img {
  margin-left: 10px;
  vertical-align: middle;
}

#add-favourites,
#add-favourites-item,
#remove-favourites-item {
  color: #fff;
  padding: 6px 12px;
  box-shadow: 1px 1px 0 silver;
  font-weight: 700;
}

#add-favourites-item {
  cursor: pointer;
  display: inline-block;
  background-color: var(--main-color);
}

#remove-favourites-item {
  background-color: #5f1111;
}

div.opinia_oceny {
  border-radius: 6px;
  border: 1px solid #e6e6e6;
  background-color: #f7f7f7;
  padding: 8px;
  display: inline-block;
  float: right;
  margin-left: 20px;
  margin-bottom: 20px;
  margin-top: 20px;
}

#mapa_dolna_linia label {
  font-size: 11pt;
}

div.opinia div.txt {
  font-size: 11pt;
}

div.opinia_oceny tr.strong td {
  font-weight: 700;
  padding-bottom: 10px;
}

div.opinia_oceny td.right {
  text-align: right;
  padding-right: 10px;
}

span.gwiazdki {
  background-image: url(../gfx/ocena.png);
  background-position: left bottom;
  background-repeat: repeat-x;
  display: inline-block;
  height: 19px;
  width: 95px;
}

p.opinia_tekst {
  padding-top: 20px;
}

.dark_gray_bg {
  color: #fff;
  background-color: #323232;
}

#polec_boks span.icon,
#remove-favourites-item {
  display: inline-block;
  cursor: pointer;
}

div.mini_foto {
  display: inline-block;
  cursor: pointer;
}

div.miniatury {
  margin-top: 10px;
}

#polec_boks,
.dane_prod .strong {
  font-weight: 700;
}

#polec_boks span.icon {
  background-image: url(../gfx/ikonki_social.png);
  width: 51px;
  height: 51px;
  vertical-align: middle;
  margin-left: 10px;
}

#polec_google {
  background-position: -51px 0;
}

#polec_twitter {
  background-position: right 0;
}

#box_firma h1 {
  margin-top: 0px;
  margin-bottom: 16px;
  padding-bottom: 0px;
}

#box_firma #sidebar {
  width: 400px;
}

#box_firma #sidebar h2.naglowek {
  font-size: 16pt;
  margin: 0;
  margin-bottom: 6px;
}

#mapa_gorna_linia {
  font-weight: 700;
  color: var(--main-color);
  font-size: 12pt;
}

#mapa_gorna_linia a {
  font-weight: 700;
  color: var(--main-color);
  font-size: 12pt;
}

#lokalizacja {
  cursor: pointer;
}

#mapa_gorna_linia {
  margin-bottom: 10px;
}

.dane_prod p,
.dane_prod strong {
  margin-bottom: 10px;
}

#dodaj_news img,
#mapa_dolna_linia div.col {
  vertical-align: middle;
}

#dodaj_news svg {
  fill: #ffffff;
  vertical-align: middle;
}

#adres_go,
span.szare_pole {
  border-radius: 3px;
  display: inline-block;
  vertical-align: middle;
}

#adres_go {
  color: #fff;
  background-image: url(../gfx/zoom.png);
  background-repeat: no-repeat;
  background-position: center center;
  width: 37px;
  height: 34px;
  box-shadow: 1px 1px 0 #bcbcbc;
  background-color: var(--main-color);
}

span.szare_pole {
  background-color: #f9f9f9;
  border: 1px solid #efefef;
  padding: 6px;
}

span.szare_pole input {
  border: 0;
  background-color: transparent;
  vertical-align: middle;
  font-size: 12pt;
  width: 160px;
}

#div_list {
  margin-top: 10px;
}

#firma_opcje {
  margin-top: 10px;
}

#firma_opcje li {
  display: inline-block;
  margin-right: 15px;
}

#firma_opcje a {
  color: #242424;
}

#firma_info {
  margin-bottom: 10px;
}

#produkt_info {
  margin-bottom: 16px;
}

#firma_info div.linia,
#produkt_info div.linia {
  border-top: 1px solid #dedede;
  clear: both;
  height: 1px;
  margin-bottom: 15px;
  margin-top: 15px;
  overflow: hidden;
}

#firma_div #box_opinie {
  border-top: 1px solid #e6e6e6;
}

#firma_div img.foto {
  border-radius: 3px;
  /* border-right: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6; */
  box-sizing: border-box;
  border: 2px solid #f2ca1d;
}

.align_center {
  text-align: center;
}

#wplaty {
  /*  margin: auto; */
}

.zobacz_produkty {
  background-color: var(--main-color);
  border: 0;
  color: #fff;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 5px;
  text-shadow: 0 0 2px #666;
}

#box_produkt #sidebar {
  width: 400px;
}

#box_produkt #mapa_div {
  margin: 0;
  border: 0;
  width: 100%;
  height: 200px;
}

.guzik_green,
.guzik_lightgray,
.guzik_orange,
.guzik_red {
  background-color: var(--main-color);
  color: #fff;
  font-size: 11pt;
  font-weight: 700;
  padding: 8px 12px;
  border-radius: 3px;
  box-shadow: 1px 1px 0 silver;
  margin-bottom: 6px;
  display: inline-block;
  cursor: pointer;
  border: 0;
}

.guzik_lightgray,
.guzik_orange,
.guzik_red {
  background-color: #ff7022;
}

.guzik_lightgray,
.guzik_red {
  background-color: #ff5022;
}

.guzik_lightgray {
  background-color: #7e7e7e;
}

#produkt_urle .guzik_orange {
  display: block;
}

#aktualnosci_kategoria li.active a {
  color: #fff;
  font-weight: bold;
  text-decoration: underline;
}

.dane_prod p.www a {
  color: var(--main-color);
}

.dane_prod strong {
  display: block;
}

#box_produkt .dostepnosc,
#box_produkt .polecany {
  font-size: 9pt;
}

#box_produkt h1 {
  margin-bottom: 15px;
  padding-bottom: 5px;
  /* border-bottom: 1px solid #e6e6e6;  */
}

#produkt_galeria {
  float: left;
}

#produkt_galeria,
#produkt_col {
  margin-right: 20px;
}

#produkt_div {
  margin-bottom: 20px;
}

#box_produkt #produkt_ulubione {
  margin-bottom: 15px;
}

#box_produkt #produkt_ulubione a {
  margin-bottom: 0;
}

#box_produkt .cena {
  font-size: 18pt;
  font-weight: 400;
}

#box_produkt #polec_boks2 {
  border: 0;
  background-color: transparent;
  padding: 0;
  margin-top: 20px;
  clear: both;
}

.alert-cloud {
  float: right;
  width: 40%;
}

#dodawanie_firmy label {
  float: left;
  clear: both;
  margin-bottom: 5px;
}

#dodawanie_firmy label.nf {
  float: none;
}

#dodawanie_firmy input[type=checkbox].error {
  outline: 1px solid red;
}

#dodawanie_firmy span.arrows {
  color: red;
}

#dodawanie_firmy input.text,
#dodawanie_firmy select,
#dodawanie_firmy textarea {
  float: left;
  width: 40%;
  clear: left;
  margin-bottom: 10px;
  background-color: #f9f9f9;
  border: 1px solid silver;
  border-radius: 6px;
  height: 47px;
  padding: 8px;
}

#dodawanie_firmy .mce-tinymce:focus,
#dodawanie_firmy input.text:focus,
#dodawanie_firmy select:focus,
#dodawanie_firmy textarea:focus {
  box-shadow: 0 0 3px #2b4fad;
}

#dodawanie_firmy .godziny select {
  width: auto;
  clear: none;
  float: none;
}

.foto_wgrane input {
  background-color: #f9f9f9;
  border: 1px solid silver;
  border-radius: 6px;
  padding: 8px;
}

.foto_wgrane input:focus {
  box-shadow: 0 0 3px #2b4fad;
}

#dodawanie_firmy input.short {
  width: 120px;
  margin-right: 10px;
}

#firma_div span.tel {
  background-position: left 4px;
  background-image: url(../gfx/telefon.png);
  padding-left: 20px;
  background-repeat: no-repeat;
}

#dodawanie_firmy input.miasto {
  width: 250px;
  clear: none;
}

#dodawanie_firmy div.kolumna {
  width: 50%;
  float: left;
  clear: left;
}

#map_canvas {
  width: 50%;
  float: left;
  clear: left;
}

#dodawanie_firmy h2.naglowek2 {
  clear: both;
  font-size: 16pt;
  border-top: 1px solid #efefef;
  margin-top: 15px;
  padding-top: 10px;
}

#map_canvas {
  width: 40%;
  height: 300px;
}

#dodawanie_firmy .mce-tinymce,
div.clear_left {
  clear: left;
}

#div_tagi {
  clear: both;
}

#edytor_jezyki {
  clear: both;
}

#edytor_jezyki li {
  display: inline;
  cursor: pointer;
  border: 1px solid transparent;
}

#edytor_jezyki li img {
  border: 1px solid transparent;
}

#edytor_jezyki li.active img {
  border: 1px solid #0f0;
}

#div_tagi span.delete_tag {
  background-image: url(../gfx/delete.png);
  border: 0;
  display: inline-block;
  float: none;
  height: 16px;
  line-height: 15px;
  margin: 0 0 0 4px;
  padding: 0;
  vertical-align: text-top;
  width: 16px;
}

#dodaj_atr input {
  clear: left;
  margin: 4px 9px 0 0;
  width: auto;
}

#dodaj_atr label {
  clear: right;
  float: none;
}

#dodaj_atr li {
  display: block;
  clear: both;
}

#dodaj_atr li {
  clear: both;
  margin-bottom: 5px;
}

#dodaj_atr select,
#dodaj_atr input,
#dodaj_atr textarea {
  float: none;
  margin-bottom: 0;
}

#dodaj_atr span {
  vertical-align: unset;
}

.kup_teraz {
  background-color: #5fc344;
  background-image: url(../gfx/kupteraz.png);
  width: 152px;
  height: 51px;
  display: inline-block;
  color: #fff;
  font-weight: 700;
  line-height: 51px;
  text-align: left;
  text-indent: 26px;
}

.zamow {
  height: 51px;
  line-height: 51px;
  padding: 0 12px;
}

#popup {
  background-image: url(../gfx/popup_bg.png);
  background-repeat: repeat;
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 10;
}

#popup_in {
  width: 400px;
  margin: 10% auto auto;
}

#popup_nie,
#popup_tak {
  cursor: pointer;
}

#box_lista_zlecen .w_linii a,
#popup_tak {
  float: right;
}

#popup_in p {
  font-size: 18px;
  margin-bottom: 20px;
}

#popup_alert {
  color: #000;
  font-weight: 700;
}

.guzik_gray {
  color: #000;
  font-weight: 700;
  background-color: #fff;
  cursor: pointer;
  padding: 4px 10px;
  text-shadow: 1px 1px 1px #e7e7e7;
  text-transform: uppercase;
  border: 1px solid #000;
  border-radius: 8px;
  display: inline-block;
}

#popup_alert {
  border: 8px solid red;
  border-radius: 80px;
  display: block;
  font-size: 34px;
  height: 100px;
  line-height: 100px;
  margin: auto;
  text-align: center;
  width: 100px;
}

#layer {
  background-color: rgba(0, 0, 0, 0.6);
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  box-sizing: border-box;
  z-index: 9999;
  display: none;
  padding: 20px;
}

#layer h2.naglowek {
  margin-bottom: 10px;
}

#layer_in {
  padding: 28px;
  width: 100%;
  max-width: 560px;
  margin: auto;
  background-color: #fff;
  border: 1px solid #eef0f2;
  border-radius: 18px;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.18);
  position: relative;
  transform: translateY(-50%);
  top: 50%;
  box-sizing: border-box;
  max-height: calc(100vh - 40px);
  overflow-y: auto;
}

#layer_in.layer_in--gallery {
  max-width: min(920px, calc(100vw - 40px));
  padding: 48px 28px 28px;
  overflow: visible;
  max-height: none;
}

#layer_in.layer_in--gallery #duze_foto {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 120px);
  width: auto;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
}

#foto_nav_big {
  display: none;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
}

#foto_nav_big span {
  -moz-border-radius: 5px 5px 5px 5px;
  background-image: url(../gfx/fancybox.png);
  display: block;
  height: 30px;
  width: 30px;
}

#nav_prev {
  position: absolute;
  background-position: -40px -30px;
  top: 48%;
  left: 30px;
}

#big_foto {
  cursor: pointer;
}

#close_layer {
  cursor: pointer;
  position: absolute;
  top: 16px;
  right: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  background-image: none;
  z-index: 2;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

#close_layer::before,
#close_layer::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 2px;
  background: #64748b;
  border-radius: 1px;
}

#close_layer::before {
  transform: rotate(45deg);
}

#close_layer::after {
  transform: rotate(-45deg);
}

#close_layer:hover {
  background: #e2e8f0;
  border-color: #cbd5e1;
}

#nav_next {
  position: absolute;
  background-position: -40px -60px;
  top: 48%;
  right: 30px;
}

@media screen and (max-width: 991px) {
  #layer_in.layer_in--gallery #foto_nav_big {
    display: block !important;
  }

  #foto_nav_big span {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.92);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.18);
  }

  #nav_prev {
    left: 12px;
  }

  #nav_next {
    right: 12px;
    float: none;
  }
}

#ajax_opcje {
  display: none;
}

#ajax_opcje li {
  display: none;
}

#ajax_opcje textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
}

#layer_in textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
}

#ajax_opcje textarea,
#dodaj input.text {
  background-color: #f9f9f9;
  border: 1px solid silver;
  border-radius: 6px;
  padding: 8px;
}

#layer_in input.text,
#layer_in textarea {
  background-color: #f9f9f9;
  border: 1px solid #efefef;
  border-radius: 6px;
  padding: 8px;
}

#news_kom textarea,
p.info {
  background-color: #f9f9f9;
  border: 1px solid #efefef;
  border-radius: 6px;
  padding: 8px;
}

#news_kom textarea {
  box-sizing: border-box;
  display: block;
  width: 100%;
  margin-bottom: 10px;
}

#box_wszystkie_opinie div.linia {
  border-top: 1px solid #dedede;
  margin-top: 25px;
  margin-bottom: 25px;
  height: 1px;
  overflow: hidden;
  clear: both;
}

#box_wszystkie_opinie div.linia.last {
  border-top: 0;
}

#box_lista_firm .w_linii h1,
#box_lista_produktow .w_linii h1,
#box_wszystkie_opinie .w_linii h1 {
  display: inline-block;
}

#plugin_aktualnosci_lista .w_linii h1.h2,
#plugin_aktualnosci_lista .w_linii h2 {
  display: inline-block;
}

#box_wszystkie_opinie .w_linii,
#box_wszystkie_opinie div.border {
  margin-bottom: 10px;
}

#box_wszystkie_opinie .w_linii span {
  font-weight: 700;
}

#box_lista_zlecen .w_linii {
  height: 46px;
  margin-bottom: 10px;
}

#box_lista_zlecen .w_linii h1 {
  line-height: 46px;
}

#plugin_aktualnosci_lista .w_linii a {
  float: right;
  color: #fff;
}

#box_zlecenie .w_linii a,
#dodaj_news {
  float: right;
}

#box_zlecenie .w_linii,
#fb_login,
#plugin_aktualnosci_lista h3 {
  margin-bottom: 10px;
}

#box_lista_zlecen .w_linii h1 {
  display: inline-block;
}

#box_opinie_wszystkie .opinia {
  margin: 0;
}

#box_zlecenie .w_linii h1 {
  display: inline-block;
  font-size: 20pt;
}

#box_zlecenie .w_linii .guzik_lightgray {
  padding: 8px 20px;
}

#box_zlecenie .w_linii .guzik_red {
  padding: 8px 20px;
  margin-right: 10px;
}

#dodaj input.text {
  width: 300px;
  float: left;
  clear: left;
}

#dodaj label {
  float: left;
  margin-bottom: 5px;
  clear: both;
}

#dodaj .arrows {
  color: red;
}

#rodzaj_konta {
  clear: both;
  margin-bottom: 15px;
}

#rodzaj_konta label {
  float: none;
}

.news_img {
  float: left;
  margin-right: 20px;
}

#box_news_title {
  margin-bottom: 20px;
}

#box_news_title h1 {
  display: inline-block;
}

#box_nowa_opinia .linia h1,
#nowa_opinia label {
  display: inline-block;
}

#box_news_title .guzik_lightgray {
  float: right;
}

p.info {
  background-color: #eefaec;
  padding: 10px;
  border-radius: 5px;
}

#komentarze .autor,
p.info a {
  color: #5ec343;
}

#komentarze,
span.budzet {
  margin-top: 10px;
}

#komentarze div.komentarz {
  border: 1px solid #efefef;
  padding: 20px;
  margin-bottom: 15px;
  background-color: #f5f5f5;
  background-image: url(../gfx/komentarz.png);
  background-position: top right;
  background-repeat: no-repeat;
}

#komentarze p.dodano {
  font-size: 10pt;
}

#komentarze p.tekst {
  font-size: 12pt;
}

#box_komentarze p.bold {
  margin-bottom: 15px;
}

#plugin_aktualnosci_lista {
  margin-right: 20px;
}

#plugin_aktualnosci_lista a.more {
  color: #5ec343;
  font-weight: 700;
}

#plugin_aktualnosci_lista img.thumb {
  float: left;
  width: 225px;
  margin-right: 20px;
}

#plugin_aktualnosci_lista li {
  box-shadow: 0 0 3px #999;
  margin-bottom: 20px;
  position: relative;
}

#aktualnosci_kategoria h2,
#aktualnosci_popularne h2,
#box_zlecenia h2.naglowek {
  font-size: 14pt;
}

#aktualnosci_kategoria ul {
  list-style: disc;
  color: #949494;
  list-style-position: inside;
}

#aktualnosci_kategoria a {
  color: #fff;
}

#plugin_aktualnosci_lista div.kategoria {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 225px;
  background-color: #f9f9f9;
  border-top: 1px solid #e6e6e6;
  padding: 8px 8px 8px 20px;
}

#plugin_aktualnosci_lista div.kategoria a {
  color: #007296;
}

#nowa_opinia label {
  vertical-align: top;
  text-align: right;
  margin-right: 10px;
}

#nowa_opinia input.text,
#nowa_opinia textarea {
  width: 60%;
}

#nowa_opinia input.text.short {
  width: 150px;
}

.opinia_prawa label {
  padding-top: 13px;
}

.col.opinia_prawa {
  text-align: right;
}

.body_404 #top_3 {
  height: 0;
}

#nowa_opinia .arrows,
.form_oferta span.arrows {
  color: red;
}

#nowa_opinia_dodaj {
  margin-left: 20px;
  padding: 13px 20px;
}

#box_nowa_opinia .linia {
  margin-bottom: 10px;
}

#box_nowa_opinia .linia span {
  font-size: 23pt;
  font-weight: 700;
}

#box_nowa_opinia .linia a {
  float: right;
}

div.ocena_ogolem.polowa2 {
  margin-bottom: 15px;
  font-weight: 700;
}

div.polowa2 {
  margin-bottom: 8px;
}

#box_nowa_opinia span.gwiazdka {
  display: inline-block;
  background-image: url(../gfx/ocena.png);
  width: 19px;
  height: 19px;
  cursor: pointer;
  background-position: bottom;
  margin-right: 3px;
}

#box_nowa_opinia span.gwiazdka_on {
  background-position: top;
}

#box_nowa_opinia div.polowa2 label {
  width: 200px;
}

#aktualnosci_popularne a,
p.oferta_txt {
  color: #000;
}

#aktualnosci_popularne li,
#pakiety p.intro {
  margin-bottom: 20px;
}

div.pakiet {
  margin-bottom: 20px;
}

div.pakiet form {
  display: block;
  padding: 10px;
  background-color: #f9f9f9;
  clear: both;
  margin-bottom: 0;
}

div.pakiet .guzik_green {
  vertical-align: middle;
  margin: 0;
}

div.pakiet img.typ {
  margin: 0 20px;
  vertical-align: middle;
  width: 27px;
}

div.pakiet label {
  display: inline-block;
  margin-top: 5px;
}

div.pakiet ul {
  list-style: disc;
  list-style-position: inside;
  padding-left: 10px;
}

div.pakiet select {
  margin-top: 6px;
  vertical-align: middle;
  padding: 8px 12px;
  margin-bottom: 6px;
}

div.pakiet span.opis {
  padding: 10px;
  display: inline-block;
}

div.pakiet span.nazwa {
  font-size: 24pt;
  font-weight: 700;
  margin: 20px 0 20px 0;
  vertical-align: middle;
  display: inline-block;
}

#promo_bottom p {
  margin: 15px 0;
}

#moje_firmy li {
  box-shadow: 0 0 6px #666;
}

#moje_firmy div.half {
  display: table-cell;
  width: 50%;
  height: 100%;
  position: relative;
  vertical-align: top;
}

#moje_firmy div.half.half_long {
  width: auto;
}

#moje_firmy div.half.half_short {
  width: 200px;
  text-align: center;
}

#moje_firmy div.half.half_short p {
  padding-top: 30%;
}

#moje_firmy div.dane {
  display: table;
  height: 225px;
  margin: 0;
  width: 100%;
}

#moje_firmy div.foto {
  float: none;
  display: table-cell;
  width: 225px;
}

#moje_firmy img.thumb {
  display: block;
}

#moje_firmy div.oplac {
  border-left: 1px solid #e6e6e6;
  background-color: #f9f9f9;
  height: 100%;
}

.border_top {
  border-top: 1px solid #e6e6e6;
}

div.pakiet form,
div.zlecenie_bottom div.col {
  border-top: 1px solid #e6e6e6;
}

#moje_firmy div.oplac>div {
  height: 50%;
}

#moje_firmy .o_head_1,
#moje_firmy .o_head_2 {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
  color: #000;
}

#moje_firmy .button img {
  vertical-align: middle;
  margin-left: 20px;
}

a.link_red {
  color: #a93a40;
}

#moje_firmy div.stat {
  bottom: 0;
  font-size: 10pt;
  left: 0;
  padding: 10px;
  position: absolute;
  right: 0;
}

a.link_green {
  color: #7aa86a;
}

#moje_firmy .button {
  display: inline-block;
  padding: 7px 14px;
  color: #fff;
  border-radius: 3px;
  margin-right: 10px;
  margin-bottom: 10px;
}

#aktualnosci_popularne li.last,
#moje_firmy p {
  margin-bottom: 0;
}

.button.blue {
  background-color: #7bb4c8;
  box-shadow: 1px 1px 0 #afc6ce;
}

.button.red {
  background-color: #cc2c2c;
  box-shadow: 1px 1px 0 #dcb4b4;
}

.button.green {
  background-color: var(--main-color);
  box-shadow: 1px 1px 0 #abd1a0;
}

div.opinia_full {
  background-position: left bottom;
  background-repeat: no-repeat;
  background-image: url(../gfx/opinia.png);
}

#box_lista_zlecen {
  margin-right: 20px;
}

div.zlecenie {
  background-color: #fff;
  border: 1px solid #e6e6e6;
  margin-bottom: 20px;
}

div.zlecenie h2 {
  font-size: 20pt;
  color: #000;
}

div.zlecenie_bottom {
  background-color: #f9f9f9;
  border-collapse: collapse;
}

div.zlecenie_bottom div.col {
  border-right: 1px solid #e6e6e6;
  padding: 14px;
  font-weight: 700;
  text-align: center;
}

span.budzet {
  float: left;
}

span.red {
  color: #900;
}

div.zlecenie_bottom div.col.last {
  border-right: 0;
  padding: 0;
  background-color: #5fc444;
}

div.zlecenie_bottom div.col.last a {
  color: #fff;
  padding: 14px;
  display: block;
}

div.zlecenie_bottom span.green {
  margin-left: 10px;
}

span.green {
  color: #5fc444;
}

#wojewodztwa_rwd {
  margin-bottom: 20px;
}

#filtruj_zlecenia ul.miasta a,
#wojewodztwa_rwd a {
  color: #fff;
  display: list-item;
}

#filtruj_zlecenia ul.miasta li,
#wojewodztwa_rwd li {
  display: inline-block;
  font-size: 12pt;
  list-style: inside none disc;
  overflow: hidden;
  white-space: nowrap;
  width: 49%;
}

.col_1_3 {
  width: 33%;
}

.col_2_3 {
  width: 66%;
}

#oferty .nazwa img,
.guzik .ikona {
  vertical-align: middle;
  margin-left: 15px;
}

#zlecenie_main {
  margin-right: 20px;
}

#zlecenie_info p,
.form_oferta label,
span.sort {
  display: inline-block;
  width: 49%;
}

#zlecenie_opis {
  margin-bottom: 20px;
  margin-top: 10px;
}

.form_oferta input.text {
  text-indent: 10px;
  width: 60px;
  margin-right: 6px;
  background-color: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 5px;
}

.form_oferta select,
.form_oferta textarea {
  background-color: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 5px;
}

.form_oferta input.text,
.form_oferta select {
  margin-bottom: 15px;
  padding: 8px;
}

.form_oferta label {
  margin-right: 20px;
  text-align: right;
  width: 60px;
}

.form_oferta textarea {
  width: 90%;
  padding: 5px;
  height: 135px;
}

.form_oferta .guzik_green {
  padding: 8px 20px;
}

div.oferta {
  padding: 10px 0;
  border-bottom: 1px solid #e9e9e9;
}

div.oferta.last {
  border-bottom: 0;
}

#oferty_lista {
  border-top: 1px solid #e9e9e9;
  padding: 15px 0 15px 15px;
}

#oferty_lista .cena {
  color: #111;
}

#oferty_lista .border_left {
  border-left: 1px solid #e9e9e9;
  width: 140px;
}

#zlecenie_opis h2 {
  font-size: 16pt;
}

#oferty .nazwa {
  margin-bottom: 10px;
  display: inline-block;
}

#oferty h2 {
  font-size: 16pt;
}

#remove-favourites-item.added svg {
  fill: #ffffff;
}

p.oferta_txt span.data {
  font-weight: 400;
  color: #737373;
}

#dodawanie_firmy label.error,
#textarea_info {
  color: red;
}

#box_zlecenie_dodane a.black {
  font-weight: 700;
  color: #000;
}

.margin_top_20 {
  margin-top: 20px;
}

#zleceniodawca span.hint {
  text-decoration: underline;
  color: #588281;
}

p.oferta_dane {
  margin-top: 15px;
}

.green {
  color: #62c342;
}

.widget .guzik_green:hover {
  background-color: var(--main-color-hover);
}

div.img_oferta {
  width: 96px;
}

div.green_border {
  border: 1px solid var(--main-color);
  padding: 10px;
}

#zleceniodawca li {
  background-image: url(../gfx/zlecenie_ikony.png);
  background-repeat: no-repeat;
  height: 30px;
  line-height: 22px;
  padding-left: 30px;
}

#zleceniodawca li.tel {
  background-position: left -34px;
}

#zlecenie_zamkniete,
p.intro {
  margin-bottom: 20px;
}

#sort_cena {
  float: right;
  margin-right: 20px;
}

#sort_data {
  margin-left: 15px;
}

#box_done a {
  color: #090;
}

span.sort {
  background-image: url(../gfx/sort.png);
  width: 11px;
  height: 24px;
}

span.sort.active {
  background-position: right top;
}

#dodawanie_firmy input.text.error,
#dodawanie_firmy select.error,
#dodawanie_firmy textarea.error {
  border: 1px solid red;
}

p.intro {
  color: #9b9b9b;
  text-align: center;
}

#box_miasta a.green,
#box_tagi a.green {
  color: var(--main-color);
}

#box_miasta,
#box_tagi {
  padding-bottom: 40px;
}

#footer span.gray {
  color: #9b9b9b;
  margin-right: 5px;
}

#footer_social a {
  margin: 0 10px;
}

label.error {
  color: red;
  margin-right: 10px;
}

#box_opinie_wszystkie div.opinia_jeden {
  float: none;
  width: 100%;
}

#box_opinie_wszystkie .opinia_jeden div.opinia {
  height: auto;
}

#newsletter_txt {
  margin-bottom: 10px;
  font-weight: 700;
}

#box_mapa_miast.white_bg a {
  color: var(--main-color);
}

#mapa_miast>div.woj {
  display: inline-block;
  width: 33%;
  vertical-align: top;
}

#mapa_miast div.woj_in {
  margin: 6px;
  border: 1px solid #ccc;
  padding: 10px;
}

#wplaty td {
  padding: 0 20px;
}

#wplaty a.link {
  color: #000;
}

.linia_w_formularzu {
  width: 100%;
  clear: both;
}

.linia_w_formularzu .cztery,
.linia_w_formularzu .dwa,
.linia_w_formularzu .jeden,
.linia_w_formularzu .trzy {
  display: inline-block;
  min-width: 200px;
  vertical-align: top;
}

#dodawanie_firmy .cztery input.text,
#dodawanie_firmy .trzy input.text {
  width: 80%;
}

#dodawanie_firmy select.kategoria_glowna,
#dodawanie_firmy select.podkategoria,
#dodawanie_firmy select.podkategoria_sel {
  width: 80%;
}

#dodawanie_firmy input.wider {
  width: 90%;
}

#box_haslo .col1 {
  width: 40%;
}

#dodawanie_firmy input.kod_pocztowy {
  width: 120px;
}

#div_tagi span,
.foto_wgrane {
  display: inline-block;
  border: 1px solid #ccc;
}

#div_tagi span {
  margin-right: 4px;
  padding: 2px 4px;
  margin-bottom: 4px;
}

.foto_wgrane {
  vertical-align: top;
  padding: 10px;
  margin-bottom: 10px;
}

#rwd_menu_bg {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(15, 23, 42, 0.6) !important;
  backdrop-filter: blur(4px) !important;
  z-index: 99998 !important;
}

#rwd_menu_mobile {
  display: none;
  position: fixed;
  left: 20px;
  top: 80px !important;
  right: 20px;
  background-color: #ffffff !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12) !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  z-index: 99999 !important;
  text-align: left;
  padding: 12px !important;
  list-style: none !important;
  box-sizing: border-box !important;
}

#rwd_menu_mobile li {
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  border-radius: 10px !important;
  background-image: none !important;
  /* Remove old legacy chevron image */
  transition: background-color 0.2s ease !important;
  box-sizing: border-box !important;
  list-style: none !important;
}

#rwd_menu_mobile li:hover {
  background-color: #f8fafc !important;
}

#rwd_menu_mobile a {
  color: #1e293b !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 16px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#rwd_menu_mobile li:hover a {
  color: var(--main-color, #5fbe46) !important;
}

/* Modern pure-CSS chevron arrow replacing the old background image */
#rwd_menu_mobile a::after {
  content: "" !important;
  display: inline-block !important;
  width: 7px !important;
  height: 7px !important;
  border-right: 2px solid #94a3b8 !important;
  border-bottom: 2px solid #94a3b8 !important;
  transform: rotate(-45deg) !important;
  transition: border-color 0.2s ease, transform 0.2s ease !important;
  margin-left: auto !important;
}

#rwd_menu_mobile li:hover a::after {
  border-color: var(--main-color, #5fbe46) !important;
  transform: rotate(-45deg) translateX(2px) !important;
}

/* Redesigned "Dodaj firmę" item to look like a premium CTA button inside the menu modal */
#rwd_menu_mobile li.dodaj_firme {
  background-color: var(--main-color, #5fbe46) !important;
  margin-top: 10px !important;
  transition: background-color 0.2s ease, transform 0.2s ease !important;
}

#rwd_menu_mobile li.dodaj_firme a {
  color: #ffffff !important;
  justify-content: center !important;
  font-weight: 700 !important;
  text-align: center !important;
}

/* Remove chevron arrow from the "Dodaj firmę" CTA button */
#rwd_menu_mobile li.dodaj_firme a::after {
  display: none !important;
}

#rwd_menu_mobile li.dodaj_firme:hover {
  background-color: var(--main-color-hover, #6ad24a) !important;
  transform: translateY(-1px) !important;
}

#mobile_button {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  list-style: outside none none;
  cursor: pointer;
  display: none;
  /* shown via media query below */
  z-index: 100000 !important;
  background-color: #ffffff !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 8px !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  /* flex will be applied in media query */
}

#mobile_button li {
  height: 2px !important;
  overflow: hidden !important;
  background-color: #1e293b !important;
  width: 20px !important;
  margin: 0 !important;
  border-radius: 1px !important;
  display: block !important;
  list-style: none !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}

#quick_search_div {
  background-color: #fff;
  padding: 15px;
  position: absolute;
  display: none;
  border-top: 1px solid #ccc;
  box-shadow: 1px 1px 3px #999;
  /*box-sizing: border-box;*/
}

#quick_search_div li {
  cursor: pointer;
  color: #000;
}

#quick_search_div li.active {
  background-color: #ccc;
}

#box_lista_firm h2.kryteria,
#box_lista_produktow h2.kryteria {
  font-size: 12pt;
}

#zleceniodawca_mob {
  display: none;
  margin-bottom: 20px;
}

p.align_right {
  text-align: right;
}

ul.lista_firm p.align_right {
  margin-bottom: 0;
  position: absolute;
  bottom: 10px;
  right: 10px;
}

#box_produkty ul.lista_firm p.opis_krotki {
  max-height: 60px;
}

#box_zlecenia .white_form_box input.text {
  width: 68%;
}

#filtruj_zlecenia ul.miasta {
  list-style: disc;
  margin-bottom: 20px;
}

#dodawanie_firmy select.dni {
  width: 20%;
}

#box_lista_zlecen div.half {
  display: inline-block;
  width: 80%;
  vertical-align: top;
}

#box_lista_zlecen div.half.short {
  display: inline-block;
  width: 19%;
  text-align: center;
}

#firma_opis ul {
  list-style: disc;
  list-style-position: inherit;
  padding-left: 40px;
  margin: 16px 0;
}

#firma_opis p {
  padding: 5px 0;
}

#dodaj_news_box h2.naglowek {
  font-size: 18pt;
}

#box_miasta h4 {
  font-weight: 400;
  display: inline;
}

#dodawanie_firmy .textarea_full {
  width: 100%;
}

#zlecenie_opis ul {
  list-style: disc;
  padding-left: 40px;
  margin: 0;
}

#zlecenie_opis ol {
  margin: 0;
}

#zlecenie_opis p {
  margin-bottom: 10px;
}

#div_prod_sort {
  float: right;
  display: inline-block;
  padding: 3px;
  background-color: #fff;
  border: 1px solid #999;
  margin-top: 6px;
}

#div_prod_sort select {
  margin-left: 5px;
  border: 0;
}

.form_oferta input.text.telefon {
  width: 90px;
}

#godziny_pracy label {
  clear: none;
  width: 140px;
}

#godziny_pracy span.godzina {
  width: 150px;
  height: 47px;
  line-height: 47px;
}

#godziny_pracy input.text {
  clear: none;
  margin: 0;
  float: none;
}

#godziny_pracy div.short {
  clear: both;
  margin-bottom: 10px;
}

#godziny_pracy span.godzina span.suwak {
  background-image: url(gfx/suwak.png);
  background-repeat: no-repeat;
  display: inline-block;
  height: 22px;
  margin-right: 10px;
  vertical-align: middle;
  width: 36px;
}

#powiadomienia span.godzina span.suwak {
  background-image: url(gfx/suwak.png);
  background-repeat: no-repeat;
  display: inline-block;
  height: 22px;
  margin-right: 10px;
  vertical-align: middle;
  width: 36px;
}

#godziny_pracy span.godzina.on span.suwak,
#powiadomienia span.godzina.on span.suwak {
  background-position: left bottom;
}

#godziny_pracy label,
#godziny_pracy span.godzina {
  display: inline-block;
  float: none;
}

#powiadomienia span.godzina {
  display: inline-block;
  float: none;
}

.jcarousel-clip-horizontal {
  overflow: hidden;
}

.jcarousel-next {
  border-radius: 30px;
  color: #fff;
  cursor: pointer;
  font: 24px/27px Arial, sans-serif;
  height: 75px;
  margin-top: -42px;
  position: absolute;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 0 1px #000;
  top: 50%;
  width: 40px;
  background-image: url(../gfx/css_sprites.png);
  background-repeat: no-repeat;
}

.jcarousel-prev {
  border-radius: 30px;
  color: #fff;
  cursor: pointer;
  font: 24px/27px Arial, sans-serif;
  height: 75px;
  margin-top: -42px;
  position: absolute;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 0 1px #000;
  top: 50%;
  width: 40px;
  background-image: url(../gfx/css_sprites.png);
  background-repeat: no-repeat;
  left: -30px;
  background-position: -10px -589px;
}

.jcarousel-next {
  right: -30px;
  background-position: -10px -684px;
}

#cookiesBar {
  border-top: 1px solid #d7d7d7;
  border-bottom: 1px solid #d7d7d7;
  color: #414141;
  font: 400 11px/1em Arial, sans-serif;
  width: 100%;
  padding: 10px 0;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 9999;
  background: #ebebeb;
  background-image: -webkit-gradient(linear, 0 0, 0 100%, color-stop(0%, #fff), color-stop(100%, #ebebeb));
  background-image: -webkit-linear-gradient(#fff, #ebebeb);
  background-image: -moz-linear-gradient(#fff, #ebebeb);
  background-image: -o-linear-gradient(#fff, #ebebeb);
  background-image: -ms-linear-gradient(#fff, #ebebeb);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff, endColorstr=#ebebeb);
  background-image: linear-gradient(#fff, #ebebeb);
}

#cookiesBar a {
  color: #414141;
  border-bottom: 1px dotted #aeaeae;
}

#cookiesBar a:hover {
  color: #aeaeae;
}

#cookiesBar p {
  margin: 2px 0;
  line-height: 1;
  padding-left: 30px;
}

#cookiesBarWrap {
  width: 840px;
  margin: 0 auto;
  position: relative;
}

#cookiesBarClose {
  display: block;
  width: 20px;
  height: 19px;
  background: url(../gfx/css_sprites.png) -67px -121px no-repeat;
  text-indent: -999em;
  position: absolute;
  top: 2px;
  left: 5px;
}

a#cookiesBarClose {
  border: 0;
}

#cookiesBarClose:hover {
  background-position: -97px -121px;
}

div.sposob {
  display: inline-block;
  margin-bottom: 10px;
  padding: 10px;
  width: 33%;
  vertical-align: top;
  text-align: center;
  border: 1px solid #e6e6e6;
  box-sizing: border-box;
}

.pakiet .opis p,
.pakiet .opis ul {
  margin-bottom: 10px;
}

@media all and (max-width: 600px) {
  div.sposob {
    width: 100%;
    display: block;
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 900px) {
  #cookiesBarWrap {
    margin: 0 auto;
    position: relative;
    width: 95%;
  }
}

@media screen and (max-width: 1050px) {
  #kod_qr {
    position: inherit;
  }
}

@media screen and (max-width: 1210px) {
  div.wrapper {
    width: 99%;
  }
}

@media screen and (max-width: 1100px) {
  #partnerzy_div {
    width: 825px;
  }
}

@media screen and (max-width: 900px) {
  div.single_kat {
    width: 33%;
  }

  ul.lista_firm li.promo h3.nazwa {
    padding-right: 0;
  }

  div.latest_single {
    width: 25%;
  }

  .lista-in {
    flex-wrap: wrap;
  }

  ul.lista_firm div.foto {
    border-right: 0;
    float: none;
    width: 100%;
    text-align: center;
    border-bottom: 1px solid #e6e6e6;
  }

  ul.lista_firm div.dane {
    margin-left: 0;
  }

  ul.lista_firm div.kategorie {
    background-color: #f9f9f9;
    border-top: 1px solid #e6e6e6;
    color: #323232;
    align-items: center;
    padding: 11px;
    position: inherit;
  }

  #box_zlecenie div.oferta div.col {
    text-align: center;
  }

  #box_zlecenie div.col_z_cena br {
    display: none;
  }

  #box_zlecenie div.col_z_cena strong {
    margin-right: 10px;
  }

  #box_zlecenie div.col {
    width: 100%;
    display: block;
  }

  p.oferta_txt span.data {
    width: 100%;
    display: block;
  }

  #box_zlecenie .w_linii h1 {
    display: block;
    font-size: 20pt;
  }

  #zlecenie_main {
    margin-right: 0;
  }
}

#moje_firmy .guzik_long {
  padding: 8px 40px;
}

@media screen and (max-width: 825px) {
  #partnerzy_div {
    width: 550px;
  }

  #mobile_button {
    display: flex !important;
    /* shows the hamburger */
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    float: none !important;
    margin-left: auto !important;
    position: relative !important;
    z-index: 100001 !important;
  }

  #moje_firmy p.uzupelnij,
  #rwd_menu {
    display: none;
  }

  #nowa_opinia div.col {
    display: block;
    width: 100%;
  }
}

@media screen and (max-width: 750px) {

  .grid ul.lista_firm li,
  div.single_kat {
    width: 50%;
  }

  #form_szukaj {
    padding-top: 70px;
  }

  #form_szukaj .sl-container {
    margin-bottom: 10px;
  }

  div.latest_single,
  div.single_news {
    width: 33%;
    margin-bottom: 10px;
  }

  div.opinia img.thumb {
    float: none;
    margin: 0;
  }

  div.single_news {
    width: 50%;
  }

  #box_aktualnosci_main div.col,
  #box_firma div.col,
  #box_firmy div.col,
  #box_firmy_main div.col, #box_produkty_main div.col,
  #box_produkty div.col {
    display: block;
  }

  #box_lista_firm, #box_lista_produktow,
  #plugin_aktualnosci_lista {
    margin-right: 0;
  }

  #sidebar {
    width: 100%;
  }

  #box_lista_zlecen {
    margin-right: 0;
  }

  #box_haslo .col {
    display: block;
    width: 100%;
  }

  #box_haslo .col1 {
    display: block;
    width: 100%;
    margin-bottom: 10px;
  }

  #box_lista_zlecen .w_linii {
    height: auto;
  }

  #box_lista_zlecen .w_linii h1 {
    font-size: 20pt;
  }
}

@media screen and (max-width: 670px) {
  #form_szukaj h1 {
    font-size: 42pt;
  }

  #dodawanie_firmy div.kolumna {
    float: none;
    width: 100%;
  }

  #box_wplaty thead tr,
  #moje_firmy div.half.half_short br,
  #top_1 p.italic {
    display: none;
  }

  #mapa_miast>div.woj {
    width: 50%;
  }

  #map-poland {
    float: none;
  }

  #box_statystyki li {
    text-align: center;
    margin-bottom: 30px;
  }

  #box_stopka_linki div.col {
    display: inline-block;
    padding: 0 20px;
  }

  #moje_firmy div.foto {
    display: block;
    float: none;
    width: 100%;
  }

  #moje_firmy div.half {
    display: block;
    float: none;
    width: 100%;
  }

  #moje_firmy div.half.half_short {
    display: block;
    float: none;
    width: 100%;
  }

  #moje_firmy div.half.half_short p {
    padding-top: 20px;
  }

  #layer {
    box-sizing: border-box;
  }

  #layer_in {
    width: 80%;
    height: auto !important;
  }

  #layer_in>img:not(#duze_foto) {
    width: 100%;
  }

  #layer_in.layer_in--gallery #duze_foto {
    width: auto !important;
    max-width: 100%;
    height: auto !important;
    max-height: calc(100vh - 96px);
    object-fit: contain;
  }

  #moje_firmy div.foto {
    text-align: center;
  }

  #moje_firmy img.thumb {
    display: inline-block;
  }

  #moje_firmy div.stat {
    position: inherit;
    padding: 0 15px 15px;
  }

  #box_wplaty table,
  #box_wplaty td,
  #box_wplaty th,
  #box_wplaty thead,
  #box_wplaty tr {
    display: block;
  }

  #box_wplatytbody {
    display: block;
  }

  #box_statystyki li {
    width: 100%;
    display: block;
  }

  #box_wplaty tbody {
    width: 100%;
    display: block;
  }

  #box_wplaty tr {
    border: 1px solid #ccc;
    margin-bottom: 10px;
  }

  #box_wplaty td {
    border: 0;
    border-bottom: 1px solid #eee;
    position: relative;
    text-align: center;
  }

  #box_wplaty td:before {
    position: absolute;
    top: 6px;
    left: 6px;
    width: 1px;
    padding-right: 10px;
    white-space: nowrap;
  }
}

@media screen and (max-width: 670px) {
  div.latest_single {
    width: 50%;
  }

  #footer_social {
    text-align: center;
    padding-top: 20px;
  }

  div.latest_single .foto {
    min-height: auto;
  }

  #box_mapa h2 {
    text-align: center;
  }

  #layer_in form {
    margin-top: 10px;
  }

  #layer_in span.mobi_center {
    display: inline-block;
    text-align: center;
    width: 100%;
  }

  .body_firma .promo {
    top: 17px;
  }

  #div_movie iframe {
    aspect-ratio: 16/9;
    height: auto;
  }
}

@media screen and (max-width: 550px) {
  #partnerzy_div {
    width: 275px;
  }

  #wroc {
    display: none;
  }

  #produkt_col h1 {
    display: none;
  }

  #box_produkt .price {
    text-align: center;
  }

  #box_tekst h2,
  #box_tekst h3 {
    text-align: center;
  }

  #box_tekst .align_right {
    text-align: center;
    margin-top: 15px;
    font-weight: bold;
  }

  #box_kontakt_form input.submit {
    font-weight: bold;
  }

  #box_tekst form {
    margin-top: 15px;
  }

  #produkty_szukaj {
    display: flex;
    width: 70%;
    margin: auto;
  }

  #box_firma h1 {
    text-align: center;
    font-size: 16pt;
  }

  /* Province list: 3-column grid on tablet, no overflow */
  .glowna_woj ul {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
    padding-top: 20px !important;
  }

  .glowna_woj li {
    width: auto !important;
    display: block !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }

  #avatec_faceplusbox,
  .mobile_off {
    display: none;
  }

  .mobile_on,
  span.mbr {
    display: block;
  }

  #logo img {
    max-width: 100%;
  }

  span.mbr {
    clear: both;
  }

  div.pakiet {
    padding-top: 10px;
  }

  div.pakiet img.typ {
    margin: auto;
    display: block;
    float: none;
  }

  div.pakiet .opis p {
    padding: 0 10px 10px;
  }

  div.pakiet span.nazwa {
    display: inline-block;
  }

  #plugin_aktualnosci_lista img.thumb {
    width: 100%;
    float: none;
    margin: 0;
    height: auto;
  }

  #plugin_aktualnosci_lista ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  #plugin_aktualnosci_lista li {
    width: 47%;
    margin-left: 5px;
    margin-right: 5px;
  }

  #plugin_aktualnosci_lista div.kategoria {
    position: relative;
    left: 0;
  }

  #box_lista_zlecen .w_linii a {
    float: none;
    margin-left: 20px;
  }

  #box_lista_zlecen div.half {
    display: block;
    width: 100%;
  }

  #box_lista_zlecen div.half.short {
    display: block;
    width: 100%;
  }

  #box_newsletter input.text,
  #box_produkty_szukaj input.text {
    width: 60%;
  }

  #mapa_miast>div.woj {
    display: inline-block;
    width: 100%;
  }

  #box_newsletter button.submit,
  #box_produkty_szukaj button.submit {
    padding: 15px 0;
    width: 38%;
  }

  #box_firma #sidebar,
  #dodawanie_firmy select.dni {
    width: 100%;
  }

  #box_firma_produkty .lista {
    display: flex;
    flex-wrap: wrap;
  }

  #box_firma_produkty div.latest_single div.column {
    height: 100%;
  }

  #firma_div {
    margin-right: 0;
  }

  .foto_firmy,
  div.pakiet span.nazwa {
    width: 100%;
    text-align: center;
  }

  #firma_div img.foto {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 3px;
    border-right: 0;
  }

  #kod_qr {
    position: inherit;
  }

  #big_foto_wrapper {
    max-width: 100%;
  }

  #big_foto {
    max-height: none;
    padding: 12px;
  }

  #big_foto img,
  #big_foto #big_f {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: min(70vw, 520px) !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  .alert-cloud {
    clear: both;
  }

  #produkt_div,
  #produkt_col {
    margin-right: 0;
  }

  #box_produkt div.col {
    display: block;
    width: 100%;
  }

  #box_produkt #sidebar {
    width: 100%;
    margin-top: 20px;
  }

  #dodawanie_firmy input.text,
  #dodawanie_firmy select,
  #dodawanie_firmy textarea {
    float: none;
    width: 100%;
  }

  #map_canvas,
  .alert-cloud {
    float: none;
    width: 100%;
  }

  #dodawanie_firmy input.text.short {
    width: 80%;
  }

  span.budzet {
    float: none;
  }

  #map_canvas {
    clear: left;
    height: 300px;
  }

  #dodawanie_firmy .linia_w_formularzu .cztery,
  #dodawanie_firmy .linia_w_formularzu .dwa,
  #dodawanie_firmy .linia_w_formularzu .jeden,
  #dodawanie_firmy .linia_w_formularzu .trzy {
    display: block;
    min-width: 100%;
    vertical-align: top;
  }

  #dodawanie_firmy .cztery input.text {
    width: 100%;
  }
}

@media screen and (max-width: 500px) {
  div.latest_single img {
    height: auto;
    display: inline-block;
    width: 80%;
  }

  ul.lista_firm p.align_right {
    left: 0;
    text-align: center;
    position: initial;
    padding-top: 20px;
    padding-bottom: 10px;
  }

  ul.lista_firm div.kategorie a.zobacz_produkty {
    margin-top: 0px;
  }

  #box_produkty p.cala-oferta {
    padding: 5px 0;
  }

  div.latest_single h3 {
    font-size: 13pt;
  }

  div.latest_single div.adres {
    font-size: 11pt;
  }

  div.latest_single .foto {
    text-align: center;
  }

  #box_stopka_linki div.col {
    display: block;
    padding: 0 20px;
    margin-bottom: 7px;
  }

  #form_szukaj .transparent_button {
    display: none;
  }

  #zmien_widok {
    display: none;
  }

  #box_lista_kategorii h2 {
    font-size: 16pt;
  }

  .body_akcja #top_3 {
    height: auto;
  }

  .body_akcja #polozenie {
    position: relative;
    bottom: 0;
    padding: 10px;
  }

  div.single_kat_list {
    /* display: none; */
  }

  div.single_kat h3 {
    height: auto;
  }

  #mobile_show .transparent_button {
    margin-top: 0;
  }

  div.single_kat_ul {
    height: auto;
    margin-bottom: 10px;
  }

  div.miniatury {
    text-align: center;
  }

  .grid ul.lista_firm li,
  div.single_kat {
    width: 100%;
  }

  #zlecenie_info p {
    display: block;
    width: 100%;
  }

  #zleceniodawca_mob {
    display: block;
  }

  #box_miasta,
  #box_tagi,
  #zleceniodawca {
    display: none;
  }

  #form_szukaj {
    padding-top: 40px;
  }

  #form_szukaj div.clear {
    margin-top: 20px;
  }

  div.latest_single {
    width: 50%;
  }

  #box_opinie div.col {
    display: block;
  }

  div.opinia img.thumb {
    float: left;
    margin-right: 10px;
  }

  #box_opinie div.col,
  div.single_news {
    margin-bottom: 10px;
    width: 100%;
  }

  div.single_news {
    width: 50%;
  }

  #footer_bottom div.col {
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 15px;
    vertical-align: top;
  }

  #produkt_galeria {
    float: none;
    width: 100%;
    margin-right: 0;
  }

  div.col {
    display: block;
  }

  #box_lista_firm, #box_lista_produktow,
  #box_lista_zlecen {
    margin-right: 0;
  }

  #box_logowanie div.col {
    display: block;
    margin-bottom: 10px;
  }

  #add-favourites,
  #schowek {
    display: none;
  }

  #box_firma h1 {
    margin-top: 0;
  }
}

@media screen and (max-width: 460px) {
  div.opinia_oceny {
    display: block;
    float: none;
    margin-left: auto;
    margin-right: auto;
  }

  div.opinia_oceny table {
    width: 100%;
  }

  #div_prod_sort {
    background-color: #fff;
    border: 1px solid #999;
    display: inline-block;
    float: right;
    margin-right: 5px;
    margin-top: 6px;
    padding: 3px;
  }
}

@media screen and (max-width: 400px) {

  #nowa_opinia .opinia_prawa input.text,
  #nowa_opinia .opinia_prawa textarea {
    width: 100%;
  }

  div.latest_single {
    /*  width: 100%;  */
  }

  div.latest_single .foto {
    min-height: auto;
  }

  /* Province list: 2-column grid on small mobile, no overflow */
  .glowna_woj ul {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }

  .glowna_woj li {
    width: auto !important;
  }

  #form_szukaj .sl-container,
  #form_szukaj input {
    width: 80%;
    margin: auto auto 10px;
    padding: 0 15px;
    box-sizing: border-box;
  }

  #form_szukaj .sl-container {
    text-indent: 4px;
  }

  #form_szukaj .transparent_button,
  #form_szukaj div.clear {
    margin-top: 5px;
  }

  #form_szukaj h1 {
    font-size: 33pt;
  }

  #form_szukaj ul.sl-options {
    right: 0;
  }

  #dodaj_opinie {
    position: inherit;
    margin-bottom: 10px;
  }

  #opinie_pl div.linia {
    margin-bottom: 8px;
    margin-top: 8px;
  }

  #box_nowa_opinia div.polowa2 label {
    width: 120px;
  }

  #box_nowa_opinia div.pelny {
    text-align: center;
  }

  #box_nowa_opinia div.pelny label {
    text-align: center;
  }

  #box_nowa_opinia div.polowa2 {
    text-align: center;
  }

  #nowa_opinia .opinia_prawa div.pelny label,
  #nowa_opinia .opinia_prawa label {
    float: none;
    width: 100%;
    margin: 0;
    text-align: left;
  }
}

.guzik_dodaj {
  font-size: 16pt;
}

.flex .latest_single .column {
  height: 100%;
}

@media all and (max-width: 350px) {
  #plugin_aktualnosci_lista li {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  #plugin_aktualnosci_lista ul {
    clear: both;
  }
}

@media all and (max-width: 560px) {
  .news_img {
    display: block;
    margin: auto;
    float: none;
  }

  #box_news_title h1 {
    font-size: 16pt;
  }

  #box_newsletter label,
  #box_produkty_szukaj label {
    margin-right: 0;
    margin-bottom: 10px;
    display: inline-block;
  }
}

@media all and (max-width: 460px) {
  #box_produkty_szukaj button.submit span {
    display: none;
  }

  #box_newsletter input.submit {
    padding: 10px;
  }
}

.w_linii h1 {
  display: inline-block;
}

.content2 h1 {
  font-size: 32px;
  margin-bottom: 10px;
}

.content h1 {
  font-size: 32px;
  margin-bottom: 10px;
}

#layer_in label.error {
  display: block;
}

@media all and (max-width: 900px) {
  #box_stopka_linki {
    display: block;
  }
}

/* ==========================================================================
   LOXONE-INSPIRED PREMIUM REDESIGN FOR STREFA ELEKTRYKI
   ========================================================================== */

/* Font & Base Overrides */
body,
h1,
h2,
h3,
h4,
h5,
h6,
input,
select,
textarea,
button,
a {
  font-family: 'Inter', sans-serif !important;
}

body {
  background-color: var(--bg-color, #f4f4f4);
  color: #333333;
  -webkit-font-smoothing: antialiased;
}

/* Base Spacing & Section Defaults */
.content,
.content2 {
  padding: 80px 0 !important;
  background-color: transparent !important;
}

.light_gray_bg {
  background-color: var(--bg-color, #f4f4f4) !important;
}

.white_bg {
  background-color: #ffffff !important;
}

/* Card Visual System */
.rounded-card,
.latest_single,
.single_kat_in,
.news_card,
#company_header_card,
.widget.border,
#firma_info,
#produkt_info,
.opinia-card {
  border-radius: var(--border-radius, 18px) !important;
  border: 1px solid rgba(0, 0, 0, 0.04) !important;
  background-color: #ffffff !important;
  box-shadow: var(--box-shadow, 0 8px 30px rgba(0, 0, 0, 0.06)) !important;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  overflow: hidden;
}

/* Card hover effect */
.latest_single:hover,
.single_kat_in:hover,
.news_card:hover,
.opinia-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--box-shadow-hover, 0 12px 40px rgba(0, 0, 0, 0.12)) !important;
  border-color: rgba(95, 190, 70, 0.2) !important;
}

/* Title Hierarchy */
h2.italic {
  font-style: normal !important;
  font-weight: 700 !important;
  font-size: 32px !important;
  color: var(--header-color, #1b1d23) !important;
  text-align: center;
  margin-bottom: 8px !important;
}

p.intro {
  text-align: center;
  color: #666666;
  font-size: 16px;
  max-width: 600px;
  margin: 0 auto 40px auto !important;
}

/* Sticky Header Navigation */
#top_2 {
  position: sticky !important;
  top: 0;
  z-index: 1000;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  background-color: #ffffff !important;
  padding: 16px 0 !important;
}

#logo img {
  height: 48px;
  width: auto;
  transition: transform 0.2s;
}

#logo:hover img {
  transform: scale(1.02);
}

/* Top menu buttons styling */
#rwd_menu li {
  padding: 8px 16px !important;
}

#rwd_menu a {
  font-weight: 500;
  font-size: 14px;
  color: #333333;
  letter-spacing: 0.5px;
  transition: color 0.2s;
}

#rwd_menu a:hover {
  color: var(--main-color, #5fbe46);
}

#rwd_menu li.dodaj_firme {
  background-color: var(--main-color, #5fbe46) !important;
  border-radius: 30px !important;
  padding: 8px 24px !important;
  transition: background-color 0.2s, transform 0.2s;
}

#rwd_menu li.dodaj_firme a {
  color: #ffffff !important;
  font-weight: 600;
}

#rwd_menu li.dodaj_firme:hover {
  background-color: var(--main-color-hover, #6ad24a) !important;
  transform: translateY(-1px);
}

/* Hero & Search section — tylko strona główna */
.home #top_3 {
  background-color: #1b1d23 !important;
  background-image: linear-gradient(rgba(27, 29, 35, 0.65), rgba(27, 29, 35, 0.65)),
    radial-gradient(circle at 80% 20%, rgba(95, 190, 70, 0.15) 0%, transparent 50%),
    radial-gradient(circle at 10% 80%, rgba(106, 210, 74, 0.08) 0%, transparent 60%),
    var(--top-bg-image, none) !important;
  background-size: auto, auto, auto, cover !important;
  background-position: center, center, center, center bottom !important;
  background-repeat: no-repeat !important;
  padding: 100px 0 120px 0 !important;
  height: auto !important;
  min-height: auto !important;
  color: #ffffff;
}

/* Podstrony: wąski pasek ze ścieżką (jak oryginał + mały TOP) */
.body_akcja #top_3 {
  padding: 0 !important;
  height: auto !important;
  min-height: 48px !important;
  background-color: #333333 !important;
  background-image: var(--top-bg-image, none) !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  color: #ffffff;
  position: relative;
}

.body_akcja #top_3 .wrapper {
  min-height: inherit;
  position: relative;
  display: flex;
  align-items: flex-end;
}

.body_akcja #polozenie {
  position: relative !important;
  bottom: auto !important;
  width: 100%;
  padding: 10px 0 !important;
  margin: 0 !important;
  text-shadow: 1px 1px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000;
}

.body_akcja #top_3.top2 {
  min-height: 232px !important;
}

.body_akcja #top_3.no-top {
  min-height: 48px !important;
  background-image: none !important;
}

.hero_content {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 40px auto;
}

.hero_content h1 {
  font-size: 46px !important;
  font-weight: 800;
  line-height: 1.25;
  color: #ffffff !important;
  text-shadow: none !important;
  margin-bottom: 20px !important;
}

.hero_desc {
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 400;
}

/* Integrated Search Bar Container */
.search_bar_container {
  background: #ffffff;
  padding: 8px 8px 8px 16px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
  max-width: 900px;
  margin: 0 auto;
}

.input_group {
  display: flex;
  align-items: center;
  flex: 1;
  padding: 0 16px;
  position: relative;
}

.input_co_group {
  border-right: 1px solid #eeeeee;
  flex: 1.2;
}

.input_gdzie_group {
  border-right: 1px solid #eeeeee;
}

.input_kat_group {
  padding-right: 24px;
}

/* Cleanup for legacy .with-marker class within modern search bar */
.search_bar_container .with-marker {
  display: flex !important;
  width: auto !important;
  margin: 0 !important;
  border: none !important;
  outline: none !important;
  background-color: transparent !important;
  box-sizing: border-box !important;
  flex: 1 !important;
}

/* Micro-interactions & Focus states for a professional, premium look */
.search_bar_container .input_group {
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

.search_bar_container .input_group:focus-within {
  background-color: rgba(95, 190, 70, 0.04) !important;
  /* Soft green tint on active input */
}

/* Transition colors for modern SVG icons */
.search_bar_container .input_group svg path {
  transition: stroke 0.25s ease;
}

.search_bar_container .input_group:focus-within svg path {
  stroke: var(--main-color, #5fbe46) !important;
}

/* Geolocator hover effect */
#okresl_miasto {
  transition: transform 0.2s ease, opacity 0.2s ease;
}

#okresl_miasto:hover {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235fbe46' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2a8 8 0 0 0-8 8c0 5.25 8 12 8 12s8-6.75 8-12a8 8 0 0 0-8-8z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") !important;
  transform: scale(1.15);
}

.input_kat_group .sl-container {
  width: 100% !important;
  margin: 0 !important;
  background-color: transparent !important;
  font-size: 15px !important;
  border: none !important;
  display: block !important;
}

.input_kat_group .sl-placeholder-container {
  height: 48px !important;
  line-height: 48px !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  cursor: pointer !important;
  position: relative !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
}

.input_kat_group .sl-placeholder {
  width: 100% !important;
  color: #333333 !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
  text-align: left !important;
}

.input_kat_group .sl-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 100% !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 16px !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  position: absolute !important;
  right: 0 !important;
}

.input_kat_group .sl-options {
  width: 100% !important;
  border: 1px solid #eeeeee !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
  background: #ffffff !important;
  z-index: 9999 !important;
  margin: 4px 0 0 0 !important;
  padding: 8px 0 !important;
  list-style: none !important;
  box-sizing: border-box !important;
  max-height: 250px !important;
  overflow-y: auto !important;
}

.input_kat_group .sl-options li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.input_kat_group .sl-options a {
  display: block !important;
  padding: 10px 16px !important;
  color: #333333 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: background-color 0.2s !important;
  text-align: left !important;
}

.input_kat_group .sl-options a:hover,
.input_kat_group .sl-options a.sl-selected {
  background-color: #f5f5f5 !important;
  color: var(--main-color, #5fbe46) !important;
}

.search_icon,
.marker_icon {
  display: flex;
  align-items: center;
  margin-right: 12px;
}

.search_bar_container input.field {
  border: none !important;
  background: transparent !important;
  height: 48px !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 15px !important;
  color: #333333 !important;
  outline: none !important;
}

.search_bar_container input.field::placeholder {
  color: #999999;
}

#okresl_miasto {
  position: absolute;
  right: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2a8 8 0 0 0-8 8c0 5.25 8 12 8 12s8-6.75 8-12a8 8 0 0 0-8-8z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  width: 24px;
  height: 24px;
  cursor: pointer;
}

.cta_button {
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 30px !important;
  padding: 0 36px !important;
  height: 52px !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  cursor: pointer !important;
  transition: background-color 0.2s, transform 0.2s !important;
}

.cta_button:hover {
  background-color: var(--main-color-hover, #6ad24a) !important;
  transform: scale(1.02);
}

.hero_actions {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
}

.hero_actions .transparent_button {
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #ffffff !important;
  border-radius: 30px !important;
  padding: 12px 30px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  transition: all 0.2s !important;
  margin-top: 0 !important;
}

.hero_actions .transparent_button:hover {
  background-color: rgba(255, 255, 255, 0.1) !important;
  border-color: #ffffff !important;
}

.guzik_promo {
  background-color: transparent;
  border: 1px solid var(--main-color, #5fbe46);
  color: var(--main-color, #5fbe46);
  border-radius: 30px;
  padding: 12px 30px;
  font-size: 15px;
  font-weight: 500;
  display: inline-block;
  transition: all 0.2s;
}

.guzik_promo:hover {
  background-color: var(--main-color, #5fbe46);
  color: #ffffff;
}

/* Categories Grid Modernized Card Style */
#lista_kategorii {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  gap: 20px !important;
  margin-top: 35px !important;
  align-items: start !important;
}

.single_kat {
  float: none !important;
  width: auto !important;
  height: auto !important;
}

.single_kat_card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 14px 12px 12px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  box-sizing: border-box !important;
  height: auto !important;
}

.single_kat_card .cat_icon_wrapper {
  background-color: rgba(95, 190, 70, 0.08) !important;
  color: var(--main-color, #5fbe46) !important;
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 12px !important;
  flex-shrink: 0 !important;
  transition: all 0.25s ease !important;
}

.single_kat_card .cat-icon {
  font-size: 42px !important;
  line-height: 1 !important;
  transition: transform 0.25s ease !important;
}

.single_kat_card .cat_title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--header-color, #1b1d23) !important;
  margin: 0 0 2px 0 !important;
  line-height: 1.3 !important;
  font-family: 'Inter', sans-serif !important;
}

.single_kat_card .cat_count {
  font-size: 12px !important;
  color: #888888 !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

/* Hover State */
.single_kat_card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05) !important;
  border-color: var(--main-color) !important;
}

.single_kat_card:hover .cat_icon_wrapper {
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
}

.single_kat_card:hover .cat-icon {
  transform: scale(1.1) !important;
}

/* Responsive Grid Breakpoints */
@media (max-width: 1200px) {
  #lista_kategorii {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

@media (max-width: 768px) {
  #lista_kategorii {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
  }

  .single_kat_card {
    padding: 12px 10px 10px !important;
  }
}

@media (max-width: 480px) {
  #lista_kategorii {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  .single_kat_card {
    padding: 10px 8px 8px !important;
  }

  .single_kat_card .cat_title {
    font-size: 13px !important;
  }
}

/* Featured Companies Cards */
#polecane_in {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 30px !important;
}

.latest_single {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

.latest_single .column {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.latest_single .foto {
  width: 100% !important;
  height: 200px !important;
  overflow: hidden;
  border-right: none !important;
  border-bottom: 1px solid #f2f2f2;
  position: relative;
  background-color: #ffffff;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.latest_single .foto img {
  max-width: 80% !important;
  max-height: 80% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
  transition: transform 0.3s;
}

.latest_single:hover .foto img {
  transform: scale(1.05);
}

.card_body {
  padding: 20px !important;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.card_body h3 {
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 0 0 10px 0 !important;
}

.card_body h3 a {
  color: var(--header-color, #1b1d23) !important;
}

.card_location {
  display: flex;
  align-items: center;
  color: #777777;
  font-size: 13px;
  margin-bottom: 16px;
  gap: 6px;
}

.card_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: auto;
}

.card_tag_link {
  font-size: 11px !important;
  background-color: #f2f2f2;
  color: #666666 !important;
  padding: 4px 10px;
  border-radius: 4px;
  transition: all 0.2s;
}

.card_tag_link:hover {
  background-color: rgba(95, 190, 70, 0.1);
  color: var(--main-color, #5fbe46) !important;
}

.card_footer {
  border-top: 1px solid #f2f2f2;
  padding: 16px 20px !important;
  background-color: #fafafa;
}

.card_cta_btn,
.card_btn_secondary {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  padding: 11px 16px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  transition: all 0.2s ease;
}

.card_cta_btn {
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(95, 190, 70, 0.25);
}

.card_cta_btn:hover {
  background-color: var(--main-color-hover, #6ad24a) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(95, 190, 70, 0.35);
  transform: translateY(-1px);
}

.card_btn_secondary {
  background-color: #ffffff !important;
  color: #475569 !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: none;
}

.card_btn_secondary:hover {
  background-color: #f8fafc !important;
  border-color: #94a3b8 !important;
  color: #1e293b !important;
}

/* Magazine Articles Layout */
.magazine_layout {
  display: flex !important;
  flex-wrap: wrap;
  gap: 30px;
  margin-top: 30px;
}

.large_featured {
  flex: 1.4;
  min-width: 300px;
}

.news_sub_column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 300px;
}

.news_card_inner {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.large_featured .news_card_inner {
  flex-direction: column;
}

.large_featured .news_img_link {
  height: 320px;
  overflow: hidden;
  display: block;
}

.large_featured .news_img_link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s;
}

.large_featured:hover .news_img_link img {
  transform: scale(1.03);
}

.large_featured .news_card_body {
  padding: 30px !important;
}

.large_featured .news_card_body h3 {
  font-size: 24px !important;
  font-weight: 800 !important;
  margin: 10px 0 16px 0 !important;
}

.news_date {
  font-size: 12px;
  color: #999999;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.news_card h3 a {
  color: var(--header-color, #1b1d23) !important;
  transition: color 0.2s;
}

.news_card h3 a:hover {
  color: var(--main-color, #5fbe46) !important;
}

.excerpt {
  font-size: 15px;
  line-height: 1.6;
  color: #666666;
  margin-bottom: 20px !important;
}

.read_more_link {
  font-size: 14px;
  font-weight: 700;
  color: var(--main-color, #5fbe46);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: color 0.2s;
}

.read_more_link:hover {
  color: var(--main-color-hover, #6ad24a);
}

/* Small sub articles layout */
.small_sub .news_card_inner {
  flex-direction: row !important;
}

.small_sub .news_img_link {
  width: 160px;
  height: auto;
  min-height: 120px;
  flex-shrink: 0;
  overflow: hidden;
  border-right: 1px solid #f0f0f0;
}

.small_sub .news_img_link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.small_sub .news_card_body {
  padding: 16px 20px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.small_sub .news_card_body h3 {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 6px 0 !important;
}

.small_sub .news_card_body .excerpt {
  font-size: 13px;
  margin: 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Cities Tags Layout */
.cities_tags {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 12px !important;
  margin-top: 40px !important;
  margin-bottom: 20px !important;
  max-width: 1000px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.city_tag {
  display: inline-flex !important;
  align-items: center !important;
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 50px !important;
  padding: 8px 18px !important;
  color: #334155 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.02) !important;
}

.city_tag:hover {
  border-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  background-color: var(--main-color, #5fbe46) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 15px rgba(95, 190, 70, 0.15) !important;
}

.city_tag .tag_pin_icon {
  width: 14px !important;
  height: 14px !important;
  margin-right: 6px !important;
  stroke: #94a3b8 !important;
  transition: stroke 0.25s ease !important;
}

.city_tag:hover .tag_pin_icon {
  stroke: #ffffff !important;
}

.city_tag .city_name {
  display: inline !important;
}

.city_tag .city_count {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #64748b !important;
  margin-left: 5px !important;
  transition: color 0.25s ease !important;
}

.city_tag:hover .city_count {
  color: rgba(255, 255, 255, 0.8) !important;
}

.show_all_cities {
  margin-top: 40px;
}

/* Company Wizytówka Profile Style */
.company_badge_featured {
  position: absolute;
  top: 16px;
  right: 16px;
  background-color: #fdcf00;
  color: #000000;
  font-size: 11px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  z-index: 2;
}

.company_header_flex {
  display: flex;
  gap: 30px;
  align-items: flex-start;
}

.company_logo_box {
  width: 180px;
  height: 180px;
  border-radius: 12px;
  border: 1px solid #eeeeee;
  background-color: #ffffff;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.company_logo_box img {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
}

.company_title_box {
  flex: 1;
}

.company_title_row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.company_title_row h1 {
  font-size: 32px !important;
  font-weight: 800;
  color: var(--header-color, #1b1d23) !important;
  margin: 0 !important;
}

.company_meta_row {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.company_branches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.branch_tag {
  font-size: 12px;
  background-color: #f2f2f2;
  color: #555555 !important;
  padding: 5px 12px;
  border-radius: 20px;
  transition: all 0.2s;
}

.branch_tag:hover {
  background-color: rgba(95, 190, 70, 0.1);
  color: var(--main-color, #5fbe46) !important;
}

.company_contact_strip {
  margin-bottom: 24px;
}

.company_addr {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #555555;
  font-size: 15px;
}

.company_addr a {
  color: #333333;
  font-weight: 600;
}

.company_buttons_row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.phone_btn,
.www_btn,
.www_btn_active,
.contact_email_btn {
  border-radius: 30px !important;
  padding: 10px 24px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  margin-bottom: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px;
  text-decoration: none !important;
  transition: all 0.2s !important;
}

.phone_btn {
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
}

.phone_btn:hover {
  background-color: var(--main-color-hover, #6ad24a) !important;
}

.www_btn_active {
  background-color: #1b1d23 !important;
  color: #ffffff !important;
}

.www_btn_active:hover {
  background-color: #2b2f36 !important;
}

.contact_email_btn {
  background-color: #f2f2f2 !important;
  color: #333333 !important;
}

.contact_email_btn:hover {
  background-color: #e6e6e6 !important;
}

.tel_number {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.tel_link {
  font-size: 16px;
  font-weight: 700;
  color: var(--main-color, #5fbe46);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Sidebar Widgets */
.widget {
  padding: 24px !important;
  margin-bottom: 24px !important;
}

.widget h2.naglowek {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--header-color, #1b1d23) !important;
  margin-bottom: 16px !important;
  border: none !important;
  padding: 0 !important;
}

.widget table.godziny {
  width: 100%;
}

.widget table.godziny td {
  padding: 8px 0;
  font-size: 14px;
  border-bottom: 1px solid #f2f2f2;
}

.widget table.godziny tr:last-child td {
  border-bottom: none;
}

/* Gallery Grid */
#big_foto_wrapper {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #eeeeee;
  margin-bottom: 16px;
  background-color: #f8fafc;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

#big_foto {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
  max-height: 600px;
  padding: 16px;
  background-color: #f8fafc;
}

#big_foto img,
#big_foto #big_f {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 520px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block;
  margin: 0 auto;
}

.gallery_miniatures_grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  gap: 12px;
}

.mini_foto {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #eeeeee;
  aspect-ratio: 1;
}

.mini_foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s;
}

.mini_foto:hover img {
  transform: scale(1.05);
}

/* Modern Multi-Column Footer */
#footer {
  background-color: var(--footer-bg, rgb(32, 47, 54)) !important;
  color: rgba(255, 255, 255, 0.6) !important;
  padding: 60px 0 30px 0 !important;
}

.footer_columns {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
  gap: 40px;
  margin-bottom: 40px;
}

.footer_col h3 {
  font-size: 16px !important;
  font-weight: 700;
  color: #ffffff !important;
  margin: 0 0 20px 0 !important;
}

.footer_slogan {
  margin-top: 15px;
  font-size: 14px;
  line-height: 1.5;
}

.footer_col ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer_col a {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 14px;
  transition: color 0.2s;
  text-decoration: none;
}

.footer_col a:hover {
  color: var(--main-color, #5fbe46) !important;
}

.footer_contact_item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  font-size: 14px;
}

.footer_contact_item svg {
  color: var(--main-color, #5fbe46);
  flex-shrink: 0;
}

.footer_bottom_row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.footer_copy {
  font-size: 13px;
}

.footer_payments {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
}

.footer_payments img {
  filter: grayscale(1) brightness(2);
  opacity: 0.6;
}

/* Responsiveness overrides */
@media screen and (max-width: 991px) {
  .footer_columns {
    grid-template-columns: 1fr 1fr;
  }

  .company_header_flex {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .company_addr {
    justify-content: center;
  }

  .company_buttons_row {
    justify-content: center;
  }

  .magazine_layout {
    flex-direction: column;
  }

  .search_bar_container {
    flex-direction: column;
    border-radius: 24px;
    padding: 16px;
    gap: 12px;
  }

  .input_group {
    border-right: none;
    width: 100%;
    border-bottom: 1px solid #f2f2f2;
    padding-bottom: 8px;
  }

  .input_kat_group {
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }

  .cta_button {
    width: 100%;
  }
}

@media screen and (max-width: 600px) {
  .footer_columns {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .footer_bottom_row {
    flex-direction: column;
    text-align: center;
  }

  .hero_content h1 {
    font-size: 30px !important;
  }

  .hero_actions {
    flex-direction: column;
    align-items: center;
  }

  .hero_actions a {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
  }

  .small_sub .news_card_inner {
    flex-direction: column !important;
  }

  .small_sub .news_img_link {
    width: 100%;
    height: 160px;
  }
}

/* Modern responsive grid layout for articles list (#plugin_aktualnosci_lista) */
@media screen and (min-width: 992px) {
  ul.aktualnosci_lista {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 20px 0 !important;
  }

  #plugin_aktualnosci_lista li {
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border: 1px solid #eef0f2 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
    margin-bottom: 0 !important;
    position: relative !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
    height: 100% !important;
  }

  #plugin_aktualnosci_lista li:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
  }

  #plugin_aktualnosci_lista img.thumb {
    float: none !important;
    width: 100% !important;
    height: 185px !important;
    object-fit: cover !important;
    margin: 0 !important;
    border-bottom: 1px solid #eef0f2 !important;
  }

  #plugin_aktualnosci_lista li div.padding {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 20px !important;
    margin-bottom: 40px !important;
  }

  #plugin_aktualnosci_lista li p.data {
    font-size: 12px !important;
    color: #888888 !important;
    margin-bottom: 8px !important;
  }

  #plugin_aktualnosci_lista li h3 {
    font-size: 16px !important;
    line-height: 1.4 !important;
    margin: 0 0 10px 0 !important;
    font-weight: 700 !important;
  }

  #plugin_aktualnosci_lista li h3 a {
    color: #1b1d23 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
  }

  #plugin_aktualnosci_lista li h3 a:hover {
    color: var(--main-color, #5fbe46) !important;
  }

  #plugin_aktualnosci_lista li p {
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #555555 !important;
    margin: 0 !important;
  }

  #plugin_aktualnosci_lista li a.more {
    margin-top: auto !important;
    padding-top: 12px !important;
    display: inline-block !important;
    font-size: 13px !important;
    color: var(--main-color, #5fbe46) !important;
  }

  #plugin_aktualnosci_lista div.kategoria {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background-color: #fafafa !important;
    border-top: 1px solid #eef0f2 !important;
    padding: 10px 20px !important;
    font-size: 12px !important;
    color: #888888 !important;
  }
}

@media screen and (min-width: 601px) and (max-width: 991px) {
  ul.aktualnosci_lista {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 20px 0 !important;
  }

  #plugin_aktualnosci_lista li {
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border: 1px solid #eef0f2 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
    margin-bottom: 0 !important;
    position: relative !important;
    height: 100% !important;
  }

  #plugin_aktualnosci_lista img.thumb {
    float: none !important;
    width: 100% !important;
    height: 180px !important;
    object-fit: cover !important;
    margin: 0 !important;
    border-bottom: 1px solid #eef0f2 !important;
  }

  #plugin_aktualnosci_lista li div.padding {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 20px !important;
    margin-bottom: 40px !important;
  }

  #plugin_aktualnosci_lista div.kategoria {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background-color: #fafafa !important;
    border-top: 1px solid #eef0f2 !important;
    padding: 10px 20px !important;
  }
}

@media screen and (max-width: 600px) {
  ul.aktualnosci_lista {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 16px 0 !important;
  }

  #plugin_aktualnosci_lista li {
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border: 1px solid #eef0f2 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    margin-bottom: 0 !important;
    position: relative !important;
  }

  #plugin_aktualnosci_lista img.thumb {
    float: none !important;
    width: 100% !important;
    height: 160px !important;
    object-fit: cover !important;
    margin: 0 !important;
    border-bottom: 1px solid #eef0f2 !important;
  }

  #plugin_aktualnosci_lista li div.padding {
    padding: 16px !important;
    margin-bottom: 40px !important;
  }

  #plugin_aktualnosci_lista div.kategoria {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background-color: #fafafa !important;
    border-top: 1px solid #eef0f2 !important;
    padding: 10px 16px !important;
  }
}

/* Modern Grid for Homepage Articles */
.news_grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 30px !important;
  margin-top: 30px !important;
}

@media screen and (min-width: 992px) {
  .news_grid {
    grid-template-columns: repeat(3, 1fr) !important;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
}

.news_grid .news_card {
  display: flex !important;
  flex-direction: column !important;
  background: #ffffff !important;
  border: 1px solid #eef0f2 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  height: 100% !important;
}

.news_grid .news_card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
}

.news_grid .news_card_inner {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.news_grid .news_img_link {
  width: 100% !important;
  height: 200px !important;
  overflow: hidden !important;
  display: block !important;
  border-bottom: 1px solid #eef0f2 !important;
}

.news_grid .news_img_link img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
}

.news_grid .news_card:hover .news_img_link img {
  transform: scale(1.03) !important;
}

.news_grid .news_card_body {
  padding: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

.news_grid .news_card_body h3 {
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 10px 0 12px 0 !important;
}

.news_grid .news_card_body h3 a {
  color: var(--header-color, #1b1d23) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.news_grid .news_card_body h3 a:hover {
  color: var(--main-color, #5fbe46) !important;
}

.news_grid .excerpt {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #666666 !important;
  margin-bottom: 20px !important;
  flex: 1 !important;
}

.news_grid .read_more_link {
  margin-top: auto !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--main-color, #5fbe46) !important;
}

/* Modern cards for /aktualnosci/ and single article view */
#box_aktualnosci_main .box2.rounded,
#box_news,
#box_aktualnosci_main #plugin_aktualnosci_lista {
  border-radius: 18px !important;
  overflow: hidden !important;
}

#box_aktualnosci_main #plugin_aktualnosci_lista .w_linii {
  padding: 24px 24px 0 !important;
}

ul.aktualnosci_lista {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 24px !important;
  margin: 0 !important;
}

ul.aktualnosci_lista > li {
  display: flex !important;
  flex-direction: column !important;
  background: #ffffff !important;
  border: 1px solid #eef0f2 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
  position: relative !important;
  margin-bottom: 0 !important;
  height: 100% !important;
}

ul.aktualnosci_lista > li > a:first-child {
  display: block !important;
  width: 100% !important;
}

ul.aktualnosci_lista > li img.thumb {
  float: none !important;
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  margin: 0 !important;
  border-bottom: 1px solid #eef0f2 !important;
}

ul.aktualnosci_lista > li > div.padding {
  padding: 20px 20px 54px !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

ul.aktualnosci_lista > li p.data {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  background-color: rgba(95, 190, 70, 0.08) !important;
  color: #4b9b35 !important;
  border: 1px solid rgba(95, 190, 70, 0.14) !important;
  border-radius: 9999px !important;
  padding: 4px 10px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
  margin-bottom: 10px !important;
}

ul.aktualnosci_lista > li h3 {
  font-size: 18px !important;
  line-height: 1.35 !important;
  margin: 0 0 10px 0 !important;
}

ul.aktualnosci_lista > li h3 a {
  color: #1b1d23 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

ul.aktualnosci_lista > li h3 a:hover {
  color: var(--main-color, #5fbe46) !important;
}

ul.aktualnosci_lista > li p:last-of-type {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #555555 !important;
  margin: 0 !important;
  flex: 1 !important;
}

ul.aktualnosci_lista > li a.more {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin-top: 14px !important;
  font-weight: 700 !important;
  color: var(--main-color, #5fbe46) !important;
  text-decoration: none !important;
}

ul.aktualnosci_lista > li .kategoria {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  border-top: 1px solid #eef0f2 !important;
  background-color: #fafafa !important;
  padding: 10px 20px !important;
  font-size: 12px !important;
  color: #64748b !important;
}

#box_news {
  border-radius: 18px !important;
  overflow: hidden !important;
}

#box_news .data_newsa {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 18px !important;
}

#box_news #box_news_title {
  margin-bottom: 18px !important;
}

#box_news #box_news_title h1 {
  font-size: 32px !important;
  line-height: 1.2 !important;
  margin-bottom: 12px !important;
}

#box_news .news_img {
  width: 100% !important;
  height: auto !important;
  max-height: 420px !important;
  object-fit: cover !important;
  border-radius: 16px !important;
  margin: 0 0 20px 0 !important;
}

#box_news #box_news_content {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: #374151 !important;
}

#box_news #box_news_content img.news_img {
  max-width: 320px !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 16px !important;
  margin: 0 24px 16px 0 !important;
  float: left !important;
}

#box_news #news_platny {
  clear: both !important;
  margin-top: 24px !important;
  padding: 20px !important;
  border-radius: 14px !important;
  background-color: #f8fafc !important;
  border: 1px solid #eef0f2 !important;
}

#box_news #news_platny p {
  margin-bottom: 12px !important;
}

#box_news #news_platny .guzik_green {
  margin-right: 8px !important;
  margin-bottom: 8px !important;
}

/* Single news hero overlay */
#box_news #news_hero {
  position: relative !important;
  overflow: hidden !important;
  margin: -24px -24px 24px !important;
  border-radius: 18px 18px 0 0 !important;
}

#box_news #news_hero .news_hero_img {
  display: block !important;
  width: 100% !important;
  height: 460px !important;
  object-fit: cover !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

#box_news #news_hero .news_hero_overlay {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  padding: 22px !important;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.12) 0%, rgba(15, 23, 42, 0.72) 100%) !important;
  color: #ffffff !important;
  box-sizing: border-box !important;
}

#box_news #news_hero .news_hero_top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

#box_news #news_hero .data_newsa {
  margin: 0 !important;
}

#box_news #news_hero .data_newsa span {
  display: inline-flex !important;
  align-items: center !important;
  padding: 6px 12px !important;
  border-radius: 9999px !important;
  background: rgba(255, 255, 255, 0.14) !important;
  backdrop-filter: blur(6px) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
}

#box_news #news_hero .guzik_lightgray {
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  color: #ffffff !important;
  box-shadow: none !important;
  backdrop-filter: blur(6px) !important;
}

#box_news #news_hero #box_news_title {
  margin: 0 !important;
  max-width: 900px !important;
}

#box_news #news_hero #box_news_title h1 {
  margin: 0 !important;
  font-size: 40px !important;
  line-height: 1.15 !important;
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45) !important;
}

#box_news #box_news_content {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: #374151 !important;
}

#box_news #box_news_content img.news_img {
  max-width: 320px !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 16px !important;
  margin: 0 24px 16px 0 !important;
  float: left !important;
}

#box_news #news_platny {
  clear: both !important;
  margin-top: 24px !important;
  padding: 20px !important;
  border-radius: 14px !important;
  background-color: #f8fafc !important;
  border: 1px solid #eef0f2 !important;
}

#box_news #news_platny p {
  margin-bottom: 12px !important;
}

#box_news #news_platny .guzik_green {
  margin-right: 8px !important;
  margin-bottom: 8px !important;
}

/* Sidebar polish for /aktualnosci/ */
#box_aktualnosci_main #sidebar {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

#box_aktualnosci_main #sidebar .widget {
  background: #ffffff !important;
  border: 1px solid #eef0f2 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
}

#box_aktualnosci_main #sidebar .widget .padding {
  padding: 20px !important;
}

#box_aktualnosci_main #sidebar .widget h2 {
  margin: 0 0 14px 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #1b1d23 !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #eef0f2 !important;
}

#aktualnosci_kategoria ul,
#aktualnosci_popularne ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#aktualnosci_kategoria li {
  margin-bottom: 10px !important;
}

#aktualnosci_kategoria li:last-child,
#aktualnosci_popularne li.last {
  margin-bottom: 0 !important;
}

#aktualnosci_kategoria a,
#aktualnosci_popularne a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 11px 14px !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
  border: 1px solid #eef0f2 !important;
  color: #334155 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

#aktualnosci_kategoria a:hover,
#aktualnosci_popularne a:hover {
  background: rgba(95, 190, 70, 0.08) !important;
  border-color: rgba(95, 190, 70, 0.18) !important;
  color: #1b1d23 !important;
  transform: translateX(2px) !important;
}

#aktualnosci_kategoria li.active a {
  background: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  border-color: var(--main-color, #5fbe46) !important;
  box-shadow: 0 4px 12px rgba(95, 190, 70, 0.18) !important;
}

#aktualnosci_popularne li {
  margin-bottom: 10px !important;
}

#aktualnosci_popularne li a {
  align-items: flex-start !important;
  line-height: 1.5 !important;
}

#aktualnosci_popularne li a::before {
  content: '›' !important;
  color: var(--main-color, #5fbe46) !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
}

/* Responsiveness for Homepage News Grid */
@media screen and (max-width: 991px) {
  .news_grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }

  ul.aktualnosci_lista {
    grid-template-columns: 1fr !important;
    padding: 20px !important;
  }

  ul.aktualnosci_lista > li img.thumb {
    height: 200px !important;
  }

  #box_news #box_news_title h1 {
    font-size: 28px !important;
  }

  #box_aktualnosci_main #sidebar {
    margin-top: 20px !important;
  }
}

@media screen and (max-width: 600px) {
  .news_grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  ul.aktualnosci_lista {
    gap: 16px !important;
    padding: 16px !important;
  }

  ul.aktualnosci_lista > li,
  #box_news,
  #box_aktualnosci_main .box2.rounded {
    border-radius: 14px !important;
  }

  ul.aktualnosci_lista > li img.thumb {
    height: 180px !important;
  }

  ul.aktualnosci_lista > li > div.padding {
    padding: 16px 16px 50px !important;
  }

  ul.aktualnosci_lista > li .kategoria {
    padding: 10px 16px !important;
  }

  #box_news .data_newsa {
    align-items: flex-start !important;
  }

  #box_news #box_news_title h1 {
    font-size: 24px !important;
  }

  #box_news #news_hero {
    margin: -16px -16px 16px !important;
    border-radius: 14px 14px 0 0 !important;
  }

  #box_news #news_hero .news_hero_img {
    height: 280px !important;
  }

  #box_news #news_hero .news_hero_overlay {
    padding: 16px !important;
  }

  #box_news #news_hero #box_news_title h1 {
    font-size: 24px !important;
  }

  #box_news #box_news_content img.news_img {
    float: none !important;
    margin: 0 0 16px 0 !important;
    max-width: 100% !important;
  }

  #box_news #news_platny .guzik_green {
    width: 100% !important;
    margin-right: 0 !important;
  }

  #box_aktualnosci_main #sidebar .widget .padding {
    padding: 16px !important;
  }

  #aktualnosci_kategoria a,
  #aktualnosci_popularne a {
    padding: 10px 12px !important;
  }
}

/* Modern styling and hover state for "Zajrzyj do branży" category button */
.single_kat_list p.zobacz_wiecej {
  border: 1px solid #eef0f2 !important;
  border-radius: 6px !important;
  background: transparent !important;
  transition: all 0.25s ease !important;
  overflow: hidden !important;
  text-align: center !important;
  margin-top: 15px !important;
}

.single_kat_list p.zobacz_wiecej a {
  display: block !important;
  width: 100% !important;
  padding: 10px 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--main-color, #5fbe46) !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  text-transform: none !important;
  justify-content: center !important;
}

.single_kat_list p.zobacz_wiecej:hover {
  border-color: var(--main-color, #5fbe46) !important;
  background-color: var(--main-color, #5fbe46) !important;
  box-shadow: 0 4px 12px rgba(95, 190, 70, 0.2) !important;
}

.single_kat_list p.zobacz_wiecej:hover a {
  color: #ffffff !important;
}

/* Modern Grid and Styles for Latest Companies Section */
#latest_list {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
  margin-top: 30px !important;
}

.latest_single div.column {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.latest_single img {
  border: none !important;
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  margin: auto !important;
  transition: transform 0.4s ease !important;
}

.latest_single .foto {
  width: 100% !important;
  height: 200px !important;
  overflow: hidden !important;
  border-bottom: 1px solid #eef0f2 !important;
  background-color: #ffffff !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.latest_single .foto .company_placeholder {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  color: #94a3b8 !important;
  gap: 12px !important;
  transition: background-color 0.3s ease !important;
}

.latest_single .foto img[src*="brak_zdjecia"],
.latest_single .foto img[data-src*="brak_zdjecia"] {
  max-width: 100% !important;
  max-height: 100% !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.latest_single .foto .company_placeholder svg {
  width: 48px !important;
  height: 48px !important;
  stroke: #94a3b8 !important;
  transition: stroke 0.3s ease !important;
}

.latest_single .foto .company_placeholder span {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #94a3b8 !important;
}

.latest_single:hover .foto img {
  transform: scale(1.04) !important;
}

.latest_single:hover .foto .company_placeholder {
  background: #ffffff !important;
}

.latest_single .padding {
  padding: 24px 24px 16px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
}

.latest_single h3 {
  margin: 0 0 10px 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.latest_single h3 a {
  color: #1b1d23 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.latest_single h3 a:hover {
  color: var(--main-color, #5fbe46) !important;
}

.latest_single div.adres {
  font-size: 13px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  color: #64748b !important;
  line-height: 1.5 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px !important;
}

.latest_single .miasto .tag-text {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 70px !important;
}

.latest_single .woj-link .tag-text {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 135px !important;
}

.latest_single .miasto {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: rgba(95, 190, 70, 0.08) !important;
  color: #4b9b35 !important;
  border: 1px solid rgba(95, 190, 70, 0.15) !important;
  border-radius: 4px !important;
  padding: 3px 6px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  gap: 4px !important;
  height: 22px !important;
  line-height: 1 !important;
}

.latest_single .miasto:hover {
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  border-color: var(--main-color, #5fbe46) !important;
}

.latest_single .miasto::before {
  display: none !important;
  content: none !important;
}

.latest_single .loc-pin-svg {
  width: 11px !important;
  height: 11px !important;
  stroke: currentColor !important;
  flex-shrink: 0 !important;
}

.latest_single .woj-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: rgba(14, 165, 233, 0.08) !important;
  color: #0284c7 !important;
  border: 1px solid rgba(14, 165, 233, 0.15) !important;
  border-radius: 4px !important;
  padding: 3px 6px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  height: 22px !important;
  line-height: 1 !important;
}

.latest_single .woj-link:hover {
  background-color: #0284c7 !important;
  color: #ffffff !important;
  border-color: #0284c7 !important;
}

.latest_single div.links {
  border-top: 1px solid #eef0f2 !important;
  padding: 12px 16px !important;
  margin-top: auto !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.latest_single div.links a {
  display: inline-block !important;
  text-align: center !important;
  line-height: 22px !important;
  width: max-content !important;
  min-width: 55px !important;
  max-width: 100px !important;
  height: 24px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  background-color: rgba(95, 190, 70, 0.08) !important;
  color: #4b9b35 !important;
  border: 1px solid rgba(95, 190, 70, 0.15) !important;
  border-radius: 4px !important;
  padding: 0 6px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.latest_single div.links a:hover {
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  border-color: var(--main-color, #5fbe46) !important;
}

/* News list: style categories as tags like on homepage 'Ostatnio dodane firmy' */
.aktualnosci_lista li .links {
  border-top: 1px solid #eef0f2;
  /* delikatny odstęp nad, pod i po osi X (padding L/R) */
  padding: 8px 12px 0;
  /* delikatny odstęp nad i pod (margin top/bottom) oraz lekki zew. odstęp po osi X */
  margin: 10px 6px 8px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 6px;
}

.aktualnosci_lista li .links a {
  display: inline-block;
  text-align: center;
  line-height: 22px;
  height: 24px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background-color: rgba(95, 190, 70, 0.08);
  color: #4b9b35;
  border: 1px solid rgba(95, 190, 70, 0.15);
  border-radius: 4px;
  padding: 0 6px;
  font-size: 11px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

.aktualnosci_lista li .links a:hover {
  background-color: var(--main-color, #5fbe46);
  color: #ffffff;
  border-color: var(--main-color, #5fbe46);
}

/* Responsiveness for Latest Companies Grid */
@media screen and (max-width: 1024px) {
  #latest_list {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media screen and (max-width: 768px) {
  #latest_list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
}

@media screen and (max-width: 480px) {
  #latest_list {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}


/* Modern Tag Cloud Pills */
.tags_list {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 35px !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.tag_pill {
  display: inline-flex !important;
  align-items: center !important;
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 30px !important;
  padding: 6px 14px !important;
  color: #475569 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.01) !important;
}

.tag_pill:hover {
  border-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  background-color: var(--main-color, #5fbe46) !important;
  transform: translateY(-1.5px) !important;
  box-shadow: 0 4px 10px rgba(95, 190, 70, 0.12) !important;
}

/* ==========================================================================
   MOBILE & TABLET RESOLUTION AND LAYOUT POLISHING
   ========================================================================== */
@media screen and (max-width: 991px) {

  /* Prevent horizontal overflow without breaking sticky header (#top_2) */
  html {
    overflow-x: clip;
    width: 100% !important;
  }

  body {
    width: 100% !important;
    position: relative !important;
  }

  #top_3,
  #content,
  #footer {
    overflow-x: clip;
    max-width: 100%;
  }

  #top_2 {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
  }

  /* Universal Box-Sizing for safe layout scaling */
  *,
  *::before,
  *::after {
    box-sizing: border-box !important;
  }

  /* Gutter/Padding for all main layout wrappers */
  .wrapper,
  div.wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
    float: none !important;
    margin: 0 auto !important;
  }

  /* Clean logo badge on dark footer background */
  #footer_logo img.footer_logo_default {
    background-color: #ffffff !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    display: inline-block !important;
    max-width: 180px !important;
    height: auto !important;
  }

  /* Custom transparent footer logo style */
  #footer_logo img.footer_logo_custom {
    display: inline-block !important;
    max-width: 180px !important;
    height: auto !important;
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
  }

  /* Centered and non-overlapping RSS icon */
  a.rss {
    position: relative !important;
    display: block !important;
    margin: 15px auto 0 !important;
    top: auto !important;
    right: auto !important;
    float: none !important;
  }

  /* Clean, stacked Search Bar container card */
  .search_bar_container {
    flex-direction: column !important;
    border-radius: 18px !important;
    padding: 20px !important;
    gap: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Spacing and border separations for search inputs */
  .search_bar_container .input_group {
    border-right: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    width: 100% !important;
    padding: 0 0 12px 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Remove border separator on the last input block before CTA */
  .search_bar_container .input_kat_group {
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }

  /* Clean up inputs and override legacy width/margin */
  #form_szukaj .search_bar_container input.field {
    width: 100% !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    box-sizing: border-box !important;
    height: auto !important;
    border: none !important;
    background: transparent !important;
  }

  /* Modern Target icon replacing double map pins for Zlokalizuj mnie */
  #okresl_miasto {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M22 12h-4M6 12H2M12 6V2M12 22v-4'/%3E%3C/svg%3E") !important;
    right: 12px !important;
  }

  #okresl_miasto:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235fbe46' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M22 12h-4M6 12H2M12 6V2M12 22v-4'/%3E%3C/svg%3E") !important;
  }

  /* Search button inside mobile card padding */
  .search_bar_container .cta_button {
    width: 100% !important;
    margin-top: 8px !important;
    border-radius: 30px !important;
    height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
  }

  /* Premium stacked newsletter style */
  #box_newsletter div.wrapper {
    background-image: none !important;
    /* Hide background mail icon on mobile */
    padding: 30px 20px !important;
  }

  #box_newsletter label {
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    display: block !important;
    margin-bottom: 15px !important;
    text-shadow: none !important;
    font-style: normal !important;
    text-align: center !important;
  }

  #newsletter_dolacz {
    display: flex !important;
    align-items: center !important;
    background-color: #ffffff !important;
    border-radius: 8px !important;
    padding: 4px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
    max-width: 500px !important;
    margin: 15px auto 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  #newsletter_dolacz input.text {
    flex: 1 !important;
    border: none !important;
    background: transparent !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    color: #333333 !important;
    outline: none !important;
    height: auto !important;
    width: auto !important;
    box-sizing: border-box !important;
  }

  #newsletter_dolacz input.submit {
    background-color: #1e293b !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 12px 24px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    height: auto !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  #newsletter_dolacz input.submit:hover {
    background-color: #0f172a !important;
  }

  #box_newsletter div.wrapper {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  #box_newsletter #newsletter {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #newsletter_dolacz {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #newsletter_dolacz input.text {
    flex: 1 1 240px !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
        border-radius: 30px !important;
        border: 1px solid #dbe4ee !important;
        padding: 12px 18px !important;
        height: auto !important;
        background-color: #ffffff !important;
        box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  }

  #newsletter_dolacz input.submit {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    margin-left: auto !important;
  }

  /* Force header layout inline without wrapping */
  #top_2 .wrapper .flex {
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    position: relative !important;
    gap: 12px !important;
  }

  #top_2 .wrapper {
    padding: 10px 20px !important;
  }

  /* Logo: smaller on mobile, allow shrink, clip with max-width */
  #logo {
    display: block !important;
    flex-shrink: 1 !important;
    /* allow it to give space to hamburger */
    overflow: hidden !important;
    min-width: 0 !important;
  }

  #logo img {
    height: 30px !important;
    /* reduced from 38px to fit hamburger */
    width: auto !important;
    max-width: 180px !important;
    display: block !important;
  }

  /* Hamburger: never shrink, always fixed size, always visible */
  #mobile_button {
    display: flex !important;
    /* belt-and-suspenders: ensure visible in 991px range too */
    flex-shrink: 0 !important;
    position: relative !important;
    z-index: 100001 !important;
  }
}

/* Modern Reviews Grid & Cards Internals */
.opinie-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  width: 100% !important;
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}

.opinia-card {
  padding: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  position: relative !important;
}

.opinia-card::before {
  content: '”' !important;
  position: absolute !important;
  top: 12px !important;
  right: 20px !important;
  font-size: 80px !important;
  line-height: 1 !important;
  color: rgba(95, 190, 70, 0.08) !important;
  font-family: Georgia, serif !important;
  font-weight: bold !important;
  pointer-events: none !important;
}

.opinia-card__header {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 18px !important;
}

.opinia-card__avatar-container {
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  border: 2px solid #f1f5f9 !important;
  flex-shrink: 0 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  display: block !important;
  float: none !important;
}

.opinia-card__avatar {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border: none !important;
  margin: 0 !important;
}

.opinia-card__meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-width: 0 !important;
}

.opinia-card__title {
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #1e293b !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.opinia-card__link {
  color: #1e293b !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.opinia-card__link:hover {
  color: var(--main-color, #5fbe46) !important;
}

.opinia-card__rating {
  display: flex !important;
  align-items: center !important;
}

.opinia-card__content {
  flex-grow: 1 !important;
  display: flex !important;
  align-items: center !important;
}

.opinia-card__text {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #475569 !important;
  font-style: italic !important;
  font-weight: 400 !important;
}

/* Responsiveness for Reviews Grid */
@media screen and (max-width: 991px) {
  .opinie-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
}

@media screen and (max-width: 600px) {
  .opinie-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* Premium Rating Stars */
.premium-stars {
  display: inline-flex !important;
  gap: 3px !important;
  align-items: center !important;
}

.premium-star {
  width: 16px !important;
  height: 16px !important;
  fill: #cbd5e1 !important;
  /* Muted slate gray for empty stars */
  transition: fill 0.2s ease, transform 0.2s ease !important;
}

.premium-star.active {
  fill: #f59e0b !important;
  /* Premium Amber/Gold for filled stars */
  filter: drop-shadow(0 1px 2px rgba(245, 158, 11, 0.15)) !important;
}

/* Subtle pulse or hover effect on card hover */
.opinia-card:hover .premium-star.active {
  transform: scale(1.08) !important;
}

/* Interactive Map Modernization - Brand Green Filter */
#map-poland .poland,
#map-poland .cssmap-cities,
#map-poland .poland-cities {
  filter: hue-rotate(259.7deg) saturate(95%) brightness(120%) !important;
}

/* New Map Section Redesign - Visual Inspiration with Dark Slate Footer Color */
#box_mapa {
  background-color: var(--footer-bg, rgb(32, 47, 54)) !important;
  background-image: none !important;
  padding: 60px 0 !important;
  color: rgba(255, 255, 255, 0.9) !important;
}

#box_mapa h2.map-section-title {
  color: #ffffff !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  margin-bottom: 40px !important;
  text-align: left !important;
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: -0.02em !important;
}

#box_mapa h2.map-section-title strong {
  font-weight: 700 !important;
  color: #ffffff !important;
}

.map-top-row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 50px !important;
}

.map-voivodeships-column,
.map-cities-column {
  flex: 1 1 50% !important;
  min-width: 320px !important;
}

.map-graphic-column {
  flex: 0 0 auto !important;
  width: 480px !important;
  max-width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

#map-poland {
  float: none !important;
  margin: 0 !important;
}

.map-bottom-row {
  width: 100% !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding-top: 40px !important;
  margin-top: 30px !important;
}

.map-sub-title {
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  margin: 0 0 16px 0 !important;
  font-family: 'Inter', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  opacity: 0.8 !important;
}

.map-voivodeships-list,
.map-cities-list {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px 20px !important;
  padding: 0 !important;
  margin: 0 0 24px 0 !important;
  list-style: none !important;
}

.map-voivodeships-list li,
.map-cities-list li {
  position: relative !important;
  padding-left: 15px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  display: block !important;
  width: auto !important;
  margin: 0 !important;
}

.map-voivodeships-list li::before,
.map-cities-list li::before {
  content: "•" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  color: var(--main-color) !important;
  font-size: 16px !important;
  line-height: 1.1 !important;
}

.map-voivodeships-list li a,
.map-cities-list li a {
  color: rgba(255, 255, 255, 0.8) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
}

.map-voivodeships-list li a:hover,
.map-cities-list li a:hover {
  color: var(--main-color) !important;
  padding-left: 2px !important;
}

.map-cities-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 12px !important;
  padding: 0 !important;
  margin: 0 0 35px 0 !important;
  list-style: none !important;
}

.map-cities-tags li {
  display: inline-block !important;
  margin: 0 !important;
}

.map-cities-tags li a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 6px 14px !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 20px !important;
  color: rgba(255, 255, 255, 0.85) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.map-cities-tags li a::before {
  content: "" !important;
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  margin-right: 6px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%235fbe46'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  transition: background-image 0.2s ease !important;
}

.map-cities-tags li a:hover {
  background-color: var(--main-color) !important;
  border-color: var(--main-color) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 10px rgba(95, 190, 70, 0.2) !important;
}

.map-cities-tags li a:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E") !important;
}

.all-cities-btn-wrapper {
  margin-top: 10px !important;
}

.btn-all-cities {
  display: inline-block !important;
  padding: 12px 28px !important;
  border: 2px solid var(--main-color) !important;
  color: var(--main-color) !important;
  border-radius: 8px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  background-color: transparent !important;
}

.btn-all-cities:hover {
  background-color: var(--main-color) !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(95, 190, 70, 0.3) !important;
}

@media (max-width: 992px) {
  .map-top-row {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .map-graphic-column {
    width: 100% !important;
    order: -1 !important;
    /* Show map first on mobile */
    margin-bottom: 30px !important;
  }

  .map-voivodeships-list,
  .map-cities-list {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 480px) {
  .map-voivodeships-list,
  .map-cities-list {
    grid-template-columns: 1fr !important;
  }

  #box_mapa h2.map-section-title {
    font-size: 24px !important;
    text-align: center !important;
  }

  .all-cities-btn-wrapper {
    text-align: center !important;
  }
}

/* Single Company Page Enhancements */
#box_firma {
  padding: 40px 0 !important;
}

.company_top_nav {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 20px !important;
  justify-content: flex-start !important;
}

.company_top_nav a#wroc,
.company_top_nav span#add-favourites {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 16px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.company_top_nav a#wroc {
  background-color: #ffffff !important;
  color: #475569 !important;
  border: 1px solid #cbd5e1 !important;
}

.company_top_nav a#wroc:hover {
  background-color: #f8fafc !important;
  color: #1e293b !important;
  border-color: #94a3b8 !important;
}

.company_top_nav span#add-favourites {
  background-color: #ffffff !important;
  color: #475569 !important;
  border: 1px solid #cbd5e1 !important;
}

.company_top_nav span#add-favourites:hover {
  background-color: #f8fafc !important;
  color: #1e293b !important;
  border-color: #94a3b8 !important;
}

.company_top_nav span#add-favourites.added {
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  border-color: var(--main-color, #5fbe46) !important;
}

.company_top_nav span#add-favourites.added svg path {
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

.company_social_links {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.company_social_links a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.company_social_links a:hover {
  background-color: #f8fafc !important;
  border-color: #cbd5e1 !important;
  transform: translateY(-2px) !important;
}

.company_social_links img {
  width: 18px !important;
  height: 18px !important;
  object-fit: contain !important;
}

.company_header_tags {
  margin-top: 18px !important;
  padding-top: 14px !important;
  border-top: 1px dashed #e2e8f0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
}

.company_header_tags .tags_label {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #64748b !important;
}

.company_header_tags .tag_list {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 0 !important;
}

.company_header_tags .tag_list a {
  display: inline-block !important;
  background-color: #f1f5f9 !important;
  color: #475569 !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  margin: 0 !important;
  border: 1px solid #e2e8f0 !important;
}

.company_header_tags .tag_list a:hover {
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  border-color: var(--main-color, #5fbe46) !important;
}

/* Company Hours Box */
.company_hours_box {
  flex-shrink: 0 !important;
  width: 280px !important;
  padding: 14px 18px !important;
  background-color: #f8fafc !important;
  border-radius: 8px !important;
  border: 1px solid #e2e8f0 !important;
  align-self: flex-start !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02) !important;
}

.company_hours_box h3 {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #475569 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding-bottom: 6px !important;
}

.company_hours_box table.godziny {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 12px !important;
  color: #334155 !important;
}

.company_hours_box table.godziny tr {
  border-bottom: 1px solid #f1f5f9 !important;
}

.company_hours_box table.godziny tr:last-child {
  border-bottom: none !important;
}

.company_hours_box table.godziny td {
  padding: 5px 0 !important;
  line-height: 1.4 !important;
}

.company_hours_box table.godziny td:first-child {
  font-weight: 500 !important;
}

.company_hours_box table.godziny td:last-child {
  text-align: right !important;
  font-weight: 600 !important;
  color: #1e293b !important;
}

@media screen and (max-width: 991px) {
  .company_hours_box {
    align-self: center !important;
    width: 100% !important;
    max-width: 350px !important;
    margin-top: 20px !important;
  }
}

/* Sharing widget in top nav */
.company_top_nav #polec_boks {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  display: inline-block !important;
}

.company_top_nav #polec_boks p {
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #475569 !important;
}

.company_top_nav #polec_boks span.icon {
  width: 26px !important;
  height: 26px !important;
  background-size: 78px 26px !important;
  margin-left: 6px !important;
  display: inline-block !important;
  vertical-align: middle !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.company_top_nav #polec_boks span.icon:hover {
  transform: scale(1.1) !important;
}

.company_top_nav #polec_google {
  background-position: -26px 0 !important;
}

.company_top_nav #polec_twitter {
  background-position: -52px 0 !important;
}

/* Inline Favorites Button */
.schowek_btn {
  border-radius: 30px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transition: all 0.2s ease !important;
  background-color: #ffffff !important;
  color: #475569 !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.schowek_btn:hover {
  background-color: #f8fafc !important;
  color: #1e293b !important;
  border-color: #94a3b8 !important;
}

.schowek_btn.added {
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  border-color: var(--main-color, #5fbe46) !important;
}

.schowek_btn.added svg path {
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

/* Owner Promotion Box Above Description */
.owner_promo_box {
  background-color: rgba(95, 190, 70, 0.05) !important;
  border: 1px dashed rgba(95, 190, 70, 0.25) !important;
  border-radius: 8px !important;
  padding: 14px 18px !important;
  margin-bottom: 0px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.owner_promo_box h3 {
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #2c4a22 !important;
}

.owner_promo_box p {
  margin: 0 !important;
  font-size: 13px !important;
  color: #4b6b3d !important;
  flex: 1 !important;
  min-width: 250px !important;
  line-height: 1.4 !important;
}

.owner_promo_box a.guzik_green {
  margin: 0 !important;
  white-space: nowrap !important;
  padding: 8px 16px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: all 0.2s ease !important;
}

/* Floated Map & Gallery Inside Description Box */
.company_desc_map {
  float: right !important;
  width: 380px !important;
  margin-left: 24px !important;
  margin-bottom: 20px !important;
  border-radius: 12px !important;
  border: 1px solid #e2e8f0 !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
  z-index: 10 !important;
  position: relative !important;
}
.company_desc_map #mapa_div {
  margin-bottom: 0 !important;
  padding: 0 !important;
}

.company_desc_map.standalone {
  float: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-bottom: 24px !important;
}

@media screen and (max-width: 768px) {
  .company_desc_map {
    float: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-bottom: 24px !important;
  }
}

#firma_info .company_gallery_card,
#produkt_info .company_gallery_card {
  border: none !important;
  padding: 24px 0 0 0 !important;
  margin: 24px 0 0 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-top: 1px solid #e2e8f0 !important;
  clear: both !important;
}

/* Breadcrumbs in company top nav */
.company_top_breadcrumbs {
  flex: 1 1 auto !important;
}

.company_top_breadcrumbs #polozenie {
  display: inline-block !important;
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #64748b !important;
  text-shadow: none !important;
}

.company_top_breadcrumbs #polozenie ul {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 4px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.company_top_breadcrumbs #polozenie li {
  font-size: 12px !important;
  color: #64748b !important;
  margin: 0 !important;
  padding: 0 !important;
}

.company_top_breadcrumbs #polozenie li a {
  color: #475569 !important;
  text-decoration: none !important;
  font-size: 12px !important;
  transition: color 0.15s ease !important;
}

.company_top_breadcrumbs #polozenie li a:hover {
  color: var(--main-color, #5fbe46) !important;
}

/* Push schowek button to far right in top nav */
.schowek_top {
  margin-left: auto !important;
  font-size: 12px !important;
  padding: 7px 14px !important;
}

/* =====================================================
   COMPANY DETAIL PAGE — Homepage Style Alignment
   ===================================================== */

/* --- Branch/category tags (like card_tag_link on homepage) --- */
#box_firma .branch_tag,
#box_produkt .branch_tag {
  display: inline-block !important;
  font-size: 11px !important;
  background-color: rgba(95, 190, 70, 0.08) !important;
  color: var(--main-color, #5fbe46) !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(95, 190, 70, 0.18) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  margin: 2px !important;
}

#box_firma .branch_tag:hover,
#box_produkt .branch_tag:hover {
  background-color: rgba(95, 190, 70, 0.15) !important;
  border-color: var(--main-color, #5fbe46) !important;
}

/* --- Company action buttons — Green primary, ghost secondary --- */
#box_firma .guzik_green,
#box_firma .guzik_green.phone_btn,
#box_firma .guzik_green.www_btn,
#box_firma .guzik_green.www_btn_active,
#box_produkt .guzik_green,
#box_produkt .guzik_green.kup_teraz,
#box_produkt .guzik_green.zamow,
#box_produkt .guzik_green.www_btn_active {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(95, 190, 70, 0.25) !important;
  white-space: nowrap !important;
}

#box_firma .guzik_green:hover,
#box_firma .guzik_green.phone_btn:hover,
#box_firma .guzik_green.www_btn:hover,
#box_firma .guzik_green.www_btn_active:hover,
#box_produkt .guzik_green:hover,
#box_produkt .guzik_green.kup_teraz:hover,
#box_produkt .guzik_green.zamow:hover,
#box_produkt .guzik_green.www_btn_active:hover {
  background-color: var(--main-color-hover, #6ad24a) !important;
  box-shadow: 0 4px 12px rgba(95, 190, 70, 0.35) !important;
  transform: translateY(-1px) !important;
}

#box_firma .guzik_lightgray,
#box_firma .contact_email_btn,
#box_produkt .guzik_lightgray,
#box_produkt .contact_email_btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background-color: #ffffff !important;
  color: #475569 !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 8px !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

#box_firma .guzik_lightgray:hover,
#box_firma .contact_email_btn:hover {
  background-color: #f8fafc !important;
  border-color: #94a3b8 !important;
  color: #1e293b !important;
}

/* --- Add to favorites button — Green outline --- */
#box_firma #add-favourites,
#box_firma span.schowek_btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background-color: transparent !important;
  color: var(--main-color, #5fbe46) !important;
  border: 2px solid var(--main-color, #5fbe46) !important;
  border-radius: 8px !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
}

#box_firma #add-favourites:hover,
#box_firma span.schowek_btn:hover {
  background-color: transparent !important;
  color: var(--main-color-hover, #6ad24a) !important;
  border-color: var(--main-color-hover, #6ad24a) !important;
  box-shadow: 0 4px 12px rgba(95, 190, 70, 0.12) !important;
  transform: translateY(-1px) !important;
}

#box_firma #add-favourites.added {
  background-color: transparent !important;
  color: var(--main-color, #5fbe46) !important;
}

#box_firma #add-favourites.added:hover {
  background-color: transparent !important;
}

#box_firma #add-favourites svg,
#box_firma span.schowek_btn svg {
  width: 16px !important;
  height: 16px !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 2 !important;
}

#box_firma #add-favourites .schowek_heart_icon,
#box_firma #add-favourites .schowek_heart_icon path {
  fill: currentColor !important;
  stroke: none !important;
}

/* --- Homepage newsletter button --- */
#box_newsletter #dodaj_newsletter {
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 9999px !important;
  padding: 12px 24px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 8px rgba(95, 190, 70, 0.25) !important;
  transition: all 0.2s ease !important;
}

#box_newsletter #dodaj_newsletter:hover {
  background-color: var(--main-color-hover, #6ad24a) !important;
  box-shadow: 0 4px 12px rgba(95, 190, 70, 0.35) !important;
  transform: translateY(-1px) !important;
}

#box_newsletter #newsletter_dolacz {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

/* --- SVG Star rating --- */
.firma_ocena_modern {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.ocena_stars {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
}

.ocena_value {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
}

.ocena_max {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #94a3b8 !important;
}

.ocena_link {
  font-size: 12px !important;
  color: var(--main-color, #5fbe46) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  border-bottom: 1px dashed rgba(95,190,70,0.4) !important;
  transition: border-color 0.2s !important;
}

.ocena_link:hover {
  border-color: var(--main-color, #5fbe46) !important;
}

/* --- Box section headings (like h2.naglowek in company page) --- */
#box_firma h2.naglowek {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  margin-bottom: 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #f1f5f9 !important;
  position: relative !important;
}

#box_firma h2.naglowek::after {
  content: '' !important;
  position: absolute !important;
  bottom: -2px !important;
  left: 0 !important;
  width: 40px !important;
  height: 2px !important;
  background-color: var(--main-color, #5fbe46) !important;
}

/* --- #firma_info box — clean card style --- */
#box_firma #firma_info {
  border-radius: 12px !important;
  border-color: #e8edf2 !important;
}

/* --- Opinions box --- */
#box_firma #box_opinie,
#box_produkt #box_opinie {
  border-radius: 12px !important;
  border-color: #e8edf2 !important;
}

/* --- keyword tags list --- */
#box_firma .company_header_tags {
  padding-top: 16px !important;
  border-top: 1px solid #f1f5f9 !important;
  margin-top: 16px !important;
}

#box_firma .company_header_tags .tag_list a {
  background-color: #f1f5f9 !important;
  color: #475569 !important;
  border-radius: 4px !important;
  padding: 4px 10px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  border: 1px solid #e2e8f0 !important;
}

#box_firma .company_header_tags .tag_list a:hover {
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  border-color: var(--main-color, #5fbe46) !important;
}

/* --- phone number reveal link in list --- */
#box_firma .firma_tel_button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(95, 190, 70, 0.25) !important;
}

/* --- tel links once revealed --- */
#box_firma .tel_link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #1e293b !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

#box_firma .tel_link:hover {
  color: var(--main-color, #5fbe46) !important;
}

/* --- company address strip --- */
#box_firma .company_addr {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
  color: #64748b !important;
}

#box_firma .company_addr a {
  color: #475569 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: color 0.15s !important;
}

#box_firma .company_addr a:hover {
  color: var(--main-color, #5fbe46) !important;
}

/* --- "Wróć do listy" green --- */
#box_firma .company_top_nav a#wroc {
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  border-color: var(--main-color, #5fbe46) !important;
  box-shadow: 0 2px 8px rgba(95, 190, 70, 0.25) !important;
}

#box_firma .company_top_nav a#wroc:hover {
  background-color: var(--main-color-hover, #6ad24a) !important;
  border-color: var(--main-color-hover, #6ad24a) !important;
  transform: translateY(-1px) !important;
}

/* --- "Dodaj do schowka" green --- */
#box_firma .schowek_top {
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  border-color: var(--main-color, #5fbe46) !important;
  box-shadow: 0 2px 8px rgba(95, 190, 70, 0.25) !important;
}

#box_firma .schowek_top:hover {
  background-color: var(--main-color-hover, #6ad24a) !important;
  border-color: var(--main-color-hover, #6ad24a) !important;
  transform: translateY(-1px) !important;
}

#box_firma .schowek_top svg path {
  stroke: #ffffff !important;
}

#box_firma .schowek_top.added {
  background-color: #1e293b !important;
  border-color: #1e293b !important;
  color: #ffffff !important;
}

/* --- "Aktualizuj dane" & "Zgłoś błąd" — subtle text links --- */
#box_firma #firma_opcje {
  border-top: none !important;
  padding-top: 0 !important;
}

#box_firma .linia {
  display: none !important;
}

#box_firma #firma_info > .linia {
  display: block !important;
  border-top: 1px solid #f1f5f9 !important;
  margin: 16px 0 0 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  clear: both !important;
}

#box_produkt #produkt_info > .linia {
  display: block !important;
  border-top: 1px solid #f1f5f9 !important;
  margin: 16px 0 0 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  clear: both !important;
}

/* Service page — action links (match company profile) */
#box_produkt #produkt_galeria {
  float: none !important;
  width: 100% !important;
  margin-right: 0 !important;
  clear: both !important;
}

#box_produkt #produkt_info .links {
  clear: both !important;
  width: 100% !important;
}

#box_produkt #produkt_opcje,
#box_firma #firma_opcje {
  list-style: none !important;
  margin: 8px 0 0 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 20px !important;
}

#box_produkt #produkt_opcje li,
#box_firma #firma_opcje li {
  margin: 0 !important;
  padding: 0 !important;
}

#box_produkt #produkt_opcje li a,
#box_firma #firma_opcje li a {
  font-size: 11px !important;
  color: #94a3b8 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: color 0.15s ease !important;
  letter-spacing: 0.2px !important;
}

#box_produkt #produkt_opcje li a:hover,
#box_firma #firma_opcje li a:hover {
  color: #475569 !important;
}

#opinie_pl .opinie_header #dodaj_opinie.guzik_green {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  position: static !important;
  margin: 0 !important;
  padding: 10px 18px !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(95, 190, 70, 0.25) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

#opinie_pl .opinie_header #dodaj_opinie.guzik_green:hover {
  text-decoration: none !important;
}

/* --- Hide top_3 breadcrumb bar on company & service detail pages --- */
body.body_firma #top_3,
body.body_produkt #top_3,
body.body_usluga #top_3 {
  display: none !important;
}

/* =====================================================
   MODERN OPINIONS CARDS
   ===================================================== */

#opinie_pl .opinie_header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-bottom: 24px !important;
}

#opinie_pl .opinie_header .naglowek {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

#opinie_pl .opinie_header .naglowek::after {
  display: none !important;
}

.opinie_count_badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: rgba(95, 190, 70, 0.1) !important;
  color: var(--main-color, #5fbe46) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 2px 8px !important;
  border-radius: 20px !important;
  margin-left: 8px !important;
  vertical-align: middle !important;
}

.opinie_empty,
.service_desc_empty {
  text-align: center !important;
  padding: 40px 20px !important;
  color: #94a3b8 !important;
}

.opinie_empty p,
.service_desc_empty p {
  margin-top: 12px !important;
  font-size: 14px !important;
}

/* Opinion card */
.opinia_card {
  background: #ffffff !important;
  border: 1px solid #e8edf2 !important;
  border-radius: 12px !important;
  padding: 20px !important;
  margin-bottom: 16px !important;
  transition: box-shadow 0.2s ease !important;
}

.opinia_card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06) !important;
}

.opinia_card_header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}

/* Avatar circle with initials */
.opinia_avatar {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, var(--main-color, #5fbe46), #4a9e36) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
}

.opinia_meta {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.opinia_autor_name {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
}

.opinia_date {
  font-size: 12px !important;
  color: #94a3b8 !important;
}

.opinia_stars_main {
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
}

.opinia_score {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #475569 !important;
  margin-left: 4px !important;
}

/* Opinion text */
.opinia_tekst {
  font-size: 14px !important;
  color: #475569 !important;
  line-height: 1.65 !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
}

/* Sub-category bars */
.opinia_subcategories {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding-top: 14px !important;
  border-top: 1px solid #f1f5f9 !important;
}

.opinia_subcat {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.opinia_subcat_label {
  font-size: 11px !important;
  color: #64748b !important;
  width: 100px !important;
  flex-shrink: 0 !important;
  font-weight: 500 !important;
}

.opinia_subcat_bar {
  flex: 1 !important;
  max-width: 120px !important;
  height: 6px !important;
  background-color: #f1f5f9 !important;
  border-radius: 3px !important;
  overflow: hidden !important;
}

.opinia_subcat_bar div {
  height: 100% !important;
  background-color: var(--main-color, #5fbe46) !important;
  border-radius: 3px !important;
  transition: width 0.4s ease !important;
}

.opinia_subcat_val {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #475569 !important;
  width: 20px !important;
  text-align: right !important;
}

/* "See all" button */
.opinie_see_more {
  text-align: center !important;
  margin-top: 8px !important;
}

/* --- "Dodaj do schowka" — green outline with heart --- */
.schowek_outline {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background-color: transparent !important;
  color: var(--main-color, #5fbe46) !important;
  border: 1.5px solid var(--main-color, #5fbe46) !important;
  border-radius: 8px !important;
  padding: 7px 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
}

.schowek_outline:hover {
  background-color: rgba(95, 190, 70, 0.07) !important;
  transform: translateY(-1px) !important;
}

.schowek_outline.added {
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
}

.schowek_outline.added .schowek_heart_icon path {
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

.schowek_heart_icon {
  vertical-align: middle !important;
  flex-shrink: 0 !important;
  transition: fill 0.2s ease !important;
}

/* When added, fill the heart */
.schowek_outline.added .schowek_heart_icon path {
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

/* --- Verified badge on logo corner --- */
.company_logo_box {
  position: relative !important;
}

.company_verified_badge {
  position: absolute !important;
  bottom: 8px !important;
  right: 8px !important;
  width: 26px !important;
  height: 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  border-radius: 50% !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
  cursor: default !important;
  z-index: 2 !important;
}

/* --- Branch tags — pill shaped (20px radius) --- */
#box_firma .branch_tag {
  border-radius: 20px !important;
  font-size: 12px !important;
}

/* --- Keyword tags — also pill shaped --- */
#box_firma .company_header_tags .tag_list a {
  border-radius: 20px !important;
}

/* Fix for selectify long category names: prevent dropdown from overflowing/search button overlap
   - allow option text to wrap instead of forcing a wider dropdown
   - ensure placeholder text truncates with ellipsis in single-line view
   - keep dropdown within the width of the select container
*/
.sl-container {
  box-sizing: border-box; /* ensure paddings don't grow the element */
  position: relative; /* required so .sl-options is positioned correctly */
  max-width: 100%;
}

.sl-container .sl-placeholder {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; /* keep selected value single-line */
}

/* Dropdown options: allow wrapping, but stay within container width */
ul.sl-options,
.sl-container .sl-options {
  width: 100% !important;
  max-width: 100% !important;
  left: 0 !important;
  right: auto !important;
  box-sizing: border-box !important;
}

/* Option links should wrap and break long words if needed */
ul.sl-options a,
.sl-options a {
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  display: block;
}

/* Add some right padding so the dropdown content doesn't touch the rounded search button */
/* This keeps visual gap when the dropdown sits next to the submit button */
.input_kat_group .sl-container,
#form_szukaj .input_kat_group .sl-container {
  padding-right: 8px;
}

/* ============================================================
   Modern /firmy/ and /produkty/ listing pages
   ============================================================ */

#box_firmy_main .content2, #box_produkty_main .content2 {
  padding-top: 24px;
  padding-bottom: 40px;
}

#box_lista_firm, #box_lista_produktow {
  padding: 24px !important;
}

#box_lista_firm .firmy_page_header, #box_lista_produktow .firmy_page_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px !important;
  padding-bottom: 16px;
  border-bottom: 1px solid #eef0f2;
}

#box_lista_firm .firmy_page_header h1,
#box_lista_produktow .firmy_page_header h1 {
  margin: 0 !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--header-color, #1b1d23) !important;
}

#box_lista_firm .view_toggle, #box_lista_produktow .view_toggle {
  float: none !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #eef0f2;
}

#box_lista_firm .view_toggle img,
#box_lista_produktow .view_toggle img {
  width: 28px;
  height: 28px;
  padding: 4px;
  border-radius: 8px;
  opacity: 0.55;
  transition: all 0.2s ease;
}

#box_lista_firm .view_toggle img:hover,
#box_lista_produktow .view_toggle img:hover {
  opacity: 1;
  background: rgba(95, 190, 70, 0.1);
}

#box_lista_firm .firmy_search_criteria, #box_lista_produktow .firmy_search_criteria {
  margin: 0 0 16px 0 !important;
  padding: 12px 16px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #eef0f2;
  color: #475569;
  font-size: 14px;
}

#box_lista_firm .firmy_search_criteria span,
#box_lista_produktow .firmy_search_criteria span {
  font-weight: 700;
  color: #1b1d23;
}

#box_lista_firm .firmy_intro, #box_lista_produktow .firmy_intro {
  text-align: left !important;
  max-width: none !important;
  margin: 0 0 20px 0 !important;
}

#box_lista_firm .firmy_cat_group, #box_lista_produktow .firmy_cat_group {
  grid-column: 1 / -1;
  margin: 8px 0 4px 0 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1b1d23 !important;
  padding-bottom: 8px;
  border-bottom: 1px solid #eef0f2;
}

#box_lista_firm .firmy_ad_slot, #box_lista_produktow .firmy_ad_slot {
  grid-column: 1 / -1;
}

#box_lista_firm .firmy_empty_state, #box_lista_produktow .firmy_empty_state {
  padding: 40px 20px;
  text-align: center;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px dashed #dbe3ea;
}

#box_lista_firm .firmy_empty_state p,
#box_lista_produktow .firmy_empty_state p {
  margin: 0;
  color: #64748b;
  font-size: 16px;
}

#box_lista_firm .firmy_list_grid, #box_lista_produktow .firmy_list_grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px;
  margin-top: 8px;
  width: 100% !important;
}

#box_lista_firm.firmy-view-grid .firmy_list_grid,
#box_lista_produktow.firmy-view-grid .firmy_list_grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

#box_lista_firm .firmy_list_grid > .firmy_card,
#box_lista_produktow .firmy_list_grid > .firmy_card {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border-radius: var(--border-radius, 18px) !important;
  border: 1px solid rgba(0, 0, 0, 0.04) !important;
  background-color: #ffffff !important;
  box-shadow: var(--box-shadow, 0 8px 30px rgba(0, 0, 0, 0.06)) !important;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  overflow: hidden;
}

#box_lista_firm .firmy_list_grid > .firmy_card:hover,
#box_lista_produktow .firmy_list_grid > .firmy_card:hover {
  transform: translateY(-4px);
  box-shadow: var(--box-shadow-hover, 0 12px 40px rgba(0, 0, 0, 0.12)) !important;
  border-color: rgba(95, 190, 70, 0.2) !important;
}

#box_lista_firm.firmy-view-grid .firmy_list_grid > .firmy_card,
#box_lista_produktow.firmy-view-grid .firmy_list_grid > .firmy_card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

#box_lista_firm .firmy_list_grid > .firmy_card .column,
#box_lista_produktow .firmy_list_grid > .firmy_card .column {
  display: flex !important;
  flex-direction: column !important;
  border: none !important;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
  flex: 1 1 auto;
  min-height: 0;
  background: transparent !important;
  box-shadow: none !important;
}

#box_lista_firm .firmy_list_grid > .firmy_card .foto,
#box_lista_produktow .firmy_list_grid > .firmy_card .foto {
  position: relative;
  width: 100% !important;
  height: 200px !important;
  overflow: hidden;
  border-bottom: 1px solid #eef0f2;
  background-color: #ffffff;
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

#box_lista_firm .firmy_list_grid > .firmy_card .foto > a,
#box_lista_produktow .firmy_list_grid > .firmy_card .foto > a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

#box_lista_firm .firmy_list_grid > .firmy_card .foto img,
#box_lista_produktow .firmy_list_grid > .firmy_card .foto img {
  display: block;
  height: 100% !important;
  width: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain;
  object-position: center;
  border: none !important;
  transition: transform 0.3s ease;
}

#box_lista_firm .firmy_list_grid > .firmy_card:hover .foto img,
#box_lista_produktow .firmy_list_grid > .firmy_card:hover .foto img {
  transform: scale(1.04);
}

#box_lista_firm .firmy_list_grid > .firmy_card .foto .company_placeholder,
#box_lista_produktow .firmy_list_grid > .firmy_card .foto .company_placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  gap: 12px;
}

#box_lista_firm .firmy_list_grid > .firmy_card .card_body,
#box_lista_produktow .firmy_list_grid > .firmy_card .card_body {
  padding: 20px !important;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

#box_lista_firm .firmy_list_grid > .firmy_card .card_body h3,
#box_lista_produktow .firmy_list_grid > .firmy_card .card_body h3 {
  margin: 0 0 10px 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

#box_lista_firm .firmy_list_grid > .firmy_card .card_body h3 a,
#box_lista_produktow .firmy_list_grid > .firmy_card .card_body h3 a {
  color: var(--header-color, #1b1d23) !important;
  text-decoration: none;
}

#box_lista_firm .firmy_list_grid > .firmy_card .card_body h3 a:hover,
#box_lista_produktow .firmy_list_grid > .firmy_card .card_body h3 a:hover {
  color: var(--main-color, #5fbe46) !important;
}

#box_lista_firm .firmy_list_grid > .firmy_card .card_footer,
#box_lista_produktow .firmy_list_grid > .firmy_card .card_footer {
  border-top: 1px solid #eef0f2;
  padding: 16px 20px !important;
  background-color: #fafafa;
  flex-shrink: 0;
}

#box_lista_firm.firmy-view-list .firmy_list_grid > .firmy_card .column,
#box_lista_produktow.firmy-view-list .firmy_list_grid > .firmy_card .column {
  flex-direction: row !important;
  align-items: stretch !important;
}

#box_lista_firm.firmy-view-list .firmy_list_grid > .firmy_card .foto,
#box_lista_produktow.firmy-view-list .firmy_list_grid > .firmy_card .foto {
  width: 220px !important;
  min-width: 220px !important;
  height: 100% !important;
  min-height: 180px !important;
  border-bottom: none !important;
  border-right: 1px solid #eef0f2 !important;
}

#box_lista_firm.firmy-view-list .firmy_list_grid > .firmy_card .card_footer,
#box_lista_produktow.firmy-view-list .firmy_list_grid > .firmy_card .card_footer {
  display: none !important;
}

#box_lista_firm.firmy-view-grid .firmy_list_grid > .firmy_card .card_footer,
#box_lista_produktow.firmy-view-grid .firmy_list_grid > .firmy_card .card_footer {
  display: flex !important;
  flex-direction: column;
  gap: 8px;
  align-items: stretch;
  margin-top: 0;
}

#box_lista_firm.firmy-view-grid .firmy_list_grid > .firmy_card .firmy_card_tags,
#box_lista_produktow.firmy-view-grid .firmy_list_grid > .firmy_card .firmy_card_tags {
  margin-top: auto;
}

#box_lista_firm .firmy_card_tags, #box_lista_produktow .firmy_card_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

#box_lista_firm .branch_tag, #box_lista_produktow .branch_tag {
  display: inline-block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  background-color: rgba(95, 190, 70, 0.08) !important;
  color: #4b9b35 !important;
  border: 1px solid rgba(95, 190, 70, 0.15) !important;
  border-radius: 20px !important;
  padding: 4px 12px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

#box_lista_firm .branch_tag:hover, #box_lista_produktow .branch_tag:hover {
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  border-color: var(--main-color, #5fbe46) !important;
}

#box_lista_firm .firmy_card .foto,
#box_lista_produktow .firmy_card .foto {
  position: relative;
}

#box_lista_firm .firmy_card_badge, #box_lista_produktow .firmy_card_badge {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  bottom: auto !important;
  z-index: 2;
  font-size: 10px !important;
  padding: 4px 10px !important;
  max-width: fit-content;
}

#box_lista_firm .firmy_card_verified, #box_lista_produktow .firmy_card_verified {
  bottom: 10px !important;
  right: 10px !important;
  top: auto !important;
  left: auto !important;
  width: 22px !important;
  height: 22px !important;
}

#box_lista_firm .firmy_card_excerpt, #box_lista_produktow .firmy_card_excerpt {
  margin: 0 0 12px 0 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: #64748b !important;
}

#box_lista_firm .firmy_card_meta, #box_lista_produktow .firmy_card_meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  margin-bottom: 12px;
}

#box_lista_firm .firmy_card_rating, #box_lista_produktow .firmy_card_rating {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #475569;
}

#box_lista_firm .firmy_status, #box_lista_produktow .firmy_status {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

#box_lista_firm .firmy_status_open, #box_lista_produktow .firmy_status_open {
  color: #16a34a;
}

#box_lista_firm .firmy_status_closed, #box_lista_produktow .firmy_status_closed {
  color: #dc2626;
}

#box_lista_firm .firmy_card_phone, #box_lista_produktow .firmy_card_phone {
  margin-bottom: 12px;
}

#box_lista_firm .firmy_card_phone .tel_link,
#box_lista_produktow .firmy_card_phone .tel_link {
  display: inline-block;
  margin-right: 8px;
  color: var(--main-color, #5fbe46);
  font-weight: 600;
  text-decoration: none;
}

#box_lista_firm .firmy_card_promo, #box_lista_produktow .firmy_card_promo {
  border-color: rgba(253, 207, 0, 0.55) !important;
  box-shadow: 0 8px 30px rgba(253, 207, 0, 0.12) !important;
}

/* div.promo w legacy CSS ma position:absolute — nie używać klasy promo na karcie */
#box_lista_firm .firmy_card,
#box_lista_produktow .firmy_card,
#box_lista_firm .firmy_card_promo,
#box_lista_produktow .firmy_card_promo,
#box_lista_firm .latest_single.firmy_card, #box_lista_produktow .latest_single.firmy_card {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  background-color: #ffffff !important;
  text-transform: none !important;
  padding: 0 !important;
  font-weight: inherit !important;
}

@media screen and (min-width: 1200px) {
  #box_lista_firm.firmy-view-grid .firmy_list_grid,
  #box_lista_produktow.firmy-view-grid .firmy_list_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

#box_firmy_main #strony, #box_produkty_main #strony {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid #eef0f2;
}

#box_firmy_main #sidebar, #box_produkty_main #sidebar {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

#box_firmy_main #sidebar .widget,
#box_firmy_main #sidebar .firmy_search_widget,
#box_produkty_main #sidebar .widget,
#box_produkty_main #sidebar .firmy_search_widget {
  background: #ffffff !important;
  border: 1px solid #eef0f2 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
}

#box_firmy_main #sidebar .widget .padding,
#box_firmy_main .firmy_search_widget .padding,
#box_produkty_main #sidebar .widget .padding,
#box_produkty_main .firmy_search_widget .padding {
  padding: 20px !important;
}

#box_firmy_main .firmy_search_widget h3,
#box_produkty_main .firmy_search_widget h3 {
  margin: 0 0 16px 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1b1d23 !important;
  padding-bottom: 12px;
  border-bottom: 1px solid #eef0f2;
}

#box_firmy_main .firmy_search_field,
#box_produkty_main .firmy_search_widget .firmy_search_field {
  position: relative;
  margin-bottom: 12px;
}

#box_firmy_main .firmy_search_icon,
#box_produkty_main .firmy_search_widget .firmy_search_icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  pointer-events: none;
}

#box_firmy_main .firmy_search_input,
#box_produkty_main .firmy_search_widget .firmy_search_input {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 12px 14px 12px 42px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  background: #f8fafc !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#box_firmy_main .firmy_search_input:focus,
#box_produkty_main .firmy_search_widget .firmy_search_input:focus {
  outline: none;
  border-color: rgba(95, 190, 70, 0.45) !important;
  box-shadow: 0 0 0 3px rgba(95, 190, 70, 0.12);
  background: #ffffff !important;
}

#box_firmy_main .firmy_search_checkbox,
#box_produkty_main .firmy_search_widget .firmy_search_checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
  font-size: 14px;
  color: #475569;
  cursor: pointer;
}

#box_firmy_main .firmy_search_checkbox input,
#box_produkty_main .firmy_search_widget .firmy_search_checkbox input {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
}

#box_firmy_main .firmy_search_submit,
#box_produkty_main .firmy_search_widget .firmy_search_submit {
  margin: 0 !important;
  padding: 0 20px 20px !important;
}

#box_firmy_main .firmy_search_submit .guzik_green,
#box_produkty_main .firmy_search_widget .firmy_search_submit .guzik_green {
  width: 100%;
  box-sizing: border-box;
}

@media screen and (max-width: 991px) {
  #box_lista_firm .firmy_page_header, #box_lista_produktow .firmy_page_header {
    flex-direction: column;
    align-items: flex-start;
  }

  #box_lista_firm.firmy-view-grid .firmy_list_grid,
  #box_lista_produktow.firmy-view-grid .firmy_list_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #box_lista_firm.firmy-view-list .firmy_list_grid > .firmy_card .column,
  #box_lista_produktow.firmy-view-list .firmy_list_grid > .firmy_card .column {
    flex-direction: column !important;
  }

  #box_lista_firm.firmy-view-list .firmy_list_grid > .firmy_card .foto,
  #box_lista_produktow.firmy-view-list .firmy_list_grid > .firmy_card .foto {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 180px !important;
    border-right: none !important;
    border-bottom: 1px solid #eef0f2 !important;
  }

  #box_lista_firm.firmy-view-list .firmy_list_grid > .firmy_card .card_footer,
  #box_lista_produktow.firmy-view-list .firmy_list_grid > .firmy_card .card_footer {
    display: block !important;
  }
}

@media screen and (max-width: 600px) {
  #box_lista_firm, #box_lista_produktow {
    padding: 16px !important;
  }

  #box_lista_firm .firmy_page_header h1,
  #box_lista_produktow .firmy_page_header h1 {
    font-size: 22px !important;
  }

  #box_lista_firm.firmy-view-grid .firmy_list_grid,
  #box_lista_produktow.firmy-view-grid .firmy_list_grid {
    grid-template-columns: 1fr !important;
  }
}

/* Blokada legacy float/width dla kart firm i produktów */
#box_lista_firm .firmy_list_grid .firmy_card,
#box_lista_produktow .firmy_list_grid .firmy_card {
  float: none !important;
  width: 100% !important;
  display: block !important;
}

/* /produkty/ — product card specifics */
#box_lista_produktow .firmy_page_header_actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

#box_lista_produktow .produkty_sort_wrap {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #eef0f2;
  font-size: 13px;
  color: #475569;
}

#box_lista_produktow .produkty_sort_wrap select {
  border: none;
  background: transparent;
  font-size: 13px;
  color: #1b1d23;
  cursor: pointer;
  outline: none;
}

#box_lista_produktow .produkt_card_meta {
  margin-bottom: 10px;
}

#box_lista_produktow .produkt_card_price {
  font-size: 16px;
  color: #1b1d23;
}

#box_lista_produktow .produkt_card_price strong {
  color: var(--main-color, #5fbe46);
}

#box_lista_produktow .produkt_card_availability {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

#box_lista_produktow .produkt_availability_0 {
  color: #16a34a;
}

#box_lista_produktow .produkt_availability_1 {
  color: #dc2626;
}

#box_lista_produktow .produkt_card_rating {
  margin-bottom: 10px;
}

#box_lista_produktow .produkt_card_company {
  margin: 0 0 12px 0;
  font-size: 13px;
  color: #64748b;
}

#box_lista_produktow .produkt_card_company a {
  color: #1b1d23;
  font-weight: 600;
  text-decoration: none;
}

#box_lista_produktow .produkt_card_company a:hover {
  color: var(--main-color, #5fbe46);
}

@media screen and (max-width: 991px) {
  #box_lista_produktow .firmy_page_header_actions {
    width: 100%;
    justify-content: space-between;
  }
}

/* ============================================================
   Static pages: /zaloguj/, /strona/*/, /lista-opinii/
   ============================================================ */

.static_page_card {
  overflow: hidden;
  background: #ffffff !important;
  border: 1px solid #eef0f2 !important;
  border-radius: 18px !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
}

.static_page_content_box {
  background: #ffffff;
  border: 1px solid #eef0f2;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.auth_form_box {
  background: #ffffff;
  border: 1px solid #eef0f2;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.auth_notice_box h2,
.auth_notice_box h2.italic {
  margin: 0 0 12px 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  text-transform: none !important;
  line-height: 1.35 !important;
  color: var(--header-color, #1b1d23) !important;
}

.auth_notice_box p {
  margin: 0 0 12px 0;
  font-size: 14px;
  line-height: 1.6;
  color: #64748b;
}

.auth_notice_box p:last-child {
  margin-bottom: 0;
}

.auth_form_box .info_err {
  margin-top: 0 !important;
}

.static_page_content_box .static_page_content > h1:first-child {
  margin-top: 0 !important;
  font-size: 22px !important;
  line-height: 1.35 !important;
  color: var(--header-color, #1b1d23) !important;
}

.static_page_header {
  padding: 24px 24px 0 !important;
  margin-bottom: 0 !important;
  border-bottom: 1px solid #eef0f2;
}

.static_page_header h1 {
  margin: 0 0 16px 0 !important;
  padding-bottom: 16px;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--header-color, #1b1d23) !important;
}

.static_page_body.padding {
  padding: 24px !important;
}

.static_page_intro {
  margin: 0 0 24px 0;
  font-size: 15px;
  line-height: 1.6;
  color: #64748b;
}

.static_page_sidebar .padding {
  padding: 24px !important;
}

.static_page_sidebar h2 {
  margin: 0 0 12px 0 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--header-color, #1b1d23) !important;
}

.static_page_sidebar p {
  margin: 0 0 12px 0;
  font-size: 14px;
  line-height: 1.6;
  color: #64748b;
}

.static_page_sidebar p:last-child {
  margin-bottom: 0;
}

/* CMS content typography */
#box_tekst .static_page_content,
#box_tekst .static_page_content p {
  font-size: 15px;
  line-height: 1.7;
  color: #475569;
}

#box_tekst .static_page_content h2,
#box_tekst .static_page_content h3 {
  color: var(--header-color, #1b1d23);
  margin: 24px 0 12px 0;
}

#box_tekst .static_page_content h2 {
  font-size: 22px;
  font-weight: 700;
}

#box_tekst .static_page_content h3 {
  font-size: 18px;
  font-weight: 700;
}

#box_tekst .static_page_content ul {
  margin: 0 0 16px 0;
  padding-left: 20px;
}

#box_tekst .static_page_content li {
  margin-bottom: 8px;
}

#box_tekst .static_page_content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  margin: 12px 0;
}

#box_tekst .static_page_content a {
  color: var(--main-color, #5fbe46);
  font-weight: 600;
  text-decoration: none;
}

#box_tekst .static_page_content a:hover {
  color: var(--main-color-hover, #6ad24a);
}

#box_tekst .static_page_content a.guzik_green,
#box_tekst .static_page_content a.card_cta_btn,
#box_tekst .static_page_content a.package_submit {
  color: #ffffff !important;
}

#box_tekst .static_page_content a.guzik_green:hover,
#box_tekst .static_page_content a.card_cta_btn:hover,
#box_tekst .static_page_content a.package_submit:hover {
  color: #ffffff !important;
}

/* Shared modern forms */
.static_form_field {
  margin-bottom: 16px;
}

.static_form_field label {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 600;
  color: #475569;
}

.static_form_input,
.static_form_textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  background-color: #f8fafc !important;
  border: 1px solid #dbe3ea !important;
  border-radius: 10px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  color: #1e293b !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.static_form_input {
  height: 48px !important;
  line-height: 48px !important;
  text-indent: 0 !important;
  padding: 0 14px !important;
  margin-bottom: 0 !important;
}

.static_form_textarea {
  min-height: 160px !important;
  height: auto !important;
  line-height: 1.6 !important;
  padding: 14px !important;
  text-indent: 0 !important;
  resize: vertical;
}

.static_form_input:focus,
.static_form_textarea:focus {
  outline: none !important;
  border-color: var(--main-color, #5fbe46) !important;
  box-shadow: 0 0 0 3px rgba(95, 190, 70, 0.12) !important;
}

.static_form_actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.static_form_actions_end {
  justify-content: flex-end;
}

.static_form_link {
  font-size: 13px;
  font-weight: 600;
  color: #64748b !important;
  text-decoration: none;
}

.static_form_link:hover {
  color: var(--main-color, #5fbe46) !important;
}

.static_form_submit {
  float: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 160px;
  padding: 12px 24px !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(95, 190, 70, 0.25) !important;
}

.static_form_footer {
  margin: 24px 0 0 0;
  padding-top: 20px;
  border-top: 1px solid #eef0f2;
  font-size: 14px;
  color: #64748b;
  text-align: center;
}

.static_form_register {
  color: var(--main-color, #5fbe46) !important;
  font-weight: 700;
  text-decoration: none;
}

.static_form_register:hover {
  color: var(--main-color-hover, #6ad24a) !important;
}

.required_mark {
  color: #dc2626;
}

.static_form_row {
  margin-bottom: 0;
}

.static_form_rodo {
  margin: 8px 0 20px 0;
  padding: 14px 16px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #eef0f2;
  font-size: 12px;
  line-height: 1.6;
  color: #64748b;
}

.static_form_rodo .button {
  color: var(--main-color, #5fbe46);
  font-weight: 700;
  cursor: pointer;
}

/* Alerts */
#box_logowanie .info_err,
#box_tekst .info_err,
.static_contact_form .info_err {
  background-color: #fef2f2 !important;
  color: #b91c1c !important;
  border: 1px solid #fecaca !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  margin-bottom: 16px !important;
  font-size: 14px;
  font-weight: 600;
}

#box_tekst .info_ok,
.static_contact_form .info_ok {
  background-color: #f0fdf4 !important;
  color: #15803d !important;
  border: 1px solid #bbf7d0 !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  margin-bottom: 16px !important;
  font-size: 14px;
  font-weight: 600;
}

/* /zaloguj/ */
#box_logowanie .content2,
#box_tekst .content2,
#box_opinie_wszystkie.content2 {
  padding-top: 24px !important;
  padding-bottom: 40px !important;
}

#box_logowanie_card,
#box_zarejestruj_card,
#box_logowanie #sidebar .static_page_sidebar,
#box_zarejestruj #sidebar .static_page_sidebar {
  margin: 0 !important;
}

#box_logowanie #sidebar .static_page_sidebar,
#box_zarejestruj #sidebar .static_page_sidebar {
  overflow: hidden;
}

.login_oauth_divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 24px 0 16px 0;
  color: #94a3b8;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.login_oauth_divider::before,
.login_oauth_divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #eef0f2;
}

.login_oauth_list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.login_oauth_btn,
#box_logowanie #fb_login,
#box_logowanie #google_login {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;
  padding: 12px 16px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

.login_oauth_btn img,
#box_logowanie #fb_login img,
#box_logowanie #google_login img {
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
}

.login_oauth_fb,
#box_logowanie #fb_login {
  background-color: #1877f2 !important;
  color: #ffffff !important;
}

.login_oauth_fb:hover,
#box_logowanie #fb_login:hover {
  background-color: #166fe5 !important;
  transform: translateY(-1px);
}

.login_oauth_google,
#box_logowanie #google_login {
  background-color: #ffffff !important;
  color: #1e293b !important;
  border: 1px solid #dbe3ea !important;
}

.login_oauth_google:hover,
#box_logowanie #google_login:hover {
  background-color: #f8fafc !important;
  border-color: #94a3b8 !important;
}

/* /strona/kontakt/ form */
.static_contact_form {
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid #eef0f2;
}

.static_contact_form_header {
  margin-bottom: 20px;
}

.static_contact_form_header h2 {
  margin: 0 0 8px 0 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--header-color, #1b1d23) !important;
}

.static_contact_form_header p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #64748b;
}

#box_kontakt_form div.col {
  padding: 0 10px;
}

/* /lista-opinii/ */
.opinie-grid_list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin-top: 0 !important;
}

.opinie-grid_list .opinia-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  padding: 20px !important;
}

.opinie-grid_list .opinia-card__content {
  flex: 1 1 auto;
  align-items: flex-start !important;
}

.opinie-grid_list .opinia-card__title {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
}

.opinie-grid_list .opinia-card__text {
  white-space: normal !important;
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.opinia-card__footer {
  margin-top: auto;
  padding-top: 16px;
}

.opinia-card__footer .card_cta_btn {
  font-size: 13px !important;
  padding: 10px 14px !important;
}

#box_opinie_wszystkie #strony,
#box_tekst #strony {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid #eef0f2;
}

@media screen and (min-width: 1200px) {
  #box_logowanie .row > .col:first-child {
    width: 58%;
  }

  #box_logowanie .row > .col:last-child {
    width: 42%;
  }
}

@media screen and (max-width: 991px) {
  .static_page_header h1 {
    font-size: 24px !important;
  }

  .static_page_body.padding,
  .static_page_header {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .static_page_content_box {
    padding: 16px;
  }

  .opinie-grid_list {
    grid-template-columns: 1fr !important;
  }

  #box_logowanie div.col,
  #box_logowanie .row > .col {
    width: 100% !important;
    float: none !important;
  }

  #box_logowanie #sidebar {
    margin-top: 20px;
  }

  .static_form_actions {
    flex-direction: column;
    align-items: stretch;
  }

  .static_form_submit {
    width: 100%;
  }

  .static_form_link {
    text-align: center;
  }
}

/* /zarejestruj/ */
#box_zarejestruj .content2 {
  padding-top: 24px !important;
  padding-bottom: 40px !important;
}

#box_zarejestruj .info_err,
#box_zarejestruj #alert2 {
  background-color: #fef2f2 !important;
  color: #b91c1c !important;
  border: 1px solid #fecaca !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  margin-bottom: 16px !important;
  font-size: 14px;
  font-weight: 600;
}

.register_success {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
}

.register_section_label {
  margin: 0 0 12px 0;
  font-size: 13px;
  font-weight: 600;
  color: #475569;
}

.register_account_type {
  margin-bottom: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.register_radio_card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border: 1.5px solid #dbe3ea;
  border-radius: 12px;
  background: #f8fafc;
  cursor: pointer;
  transition: all 0.2s ease;
}

.register_radio_card:hover {
  border-color: #94a3b8;
  background: #ffffff;
}

.register_radio_card input[type="radio"] {
  margin: 3px 0 0 0;
  flex-shrink: 0;
  accent-color: var(--main-color, #5fbe46);
}

.register_radio_card:has(input:checked) {
  border-color: var(--main-color, #5fbe46);
  background: rgba(95, 190, 70, 0.06);
  box-shadow: 0 0 0 3px rgba(95, 190, 70, 0.1);
}

.register_radio_text {
  font-size: 14px;
  line-height: 1.5;
  color: #334155;
}

.register_form_columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 8px;
}

.register_company_fields {
  padding-top: 0;
}

.register_checkboxes {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 20px 0;
}

.register_checkbox {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 13px;
  line-height: 1.6;
  color: #475569;
  cursor: pointer;
}

.register_checkbox input[type="checkbox"] {
  margin: 3px 0 0 0;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  accent-color: var(--main-color, #5fbe46);
}

.register_checkbox a {
  color: var(--main-color, #5fbe46);
  font-weight: 600;
  text-decoration: none;
}

.register_checkbox a:hover {
  color: var(--main-color-hover, #6ad24a);
}

#box_zarejestruj #fb_login,
#box_zarejestruj #google_login {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;
  padding: 12px 16px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  margin-right: 0 !important;
}

#box_zarejestruj #rejestruj-guziki {
  width: 100% !important;
  text-align: left;
}

#box_zarejestruj .register_form .static_form_input {
  max-width: 100%;
}

@media screen and (min-width: 1200px) {
  #box_zarejestruj .row > .col:first-child {
    width: 58%;
  }

  #box_zarejestruj .row > .col:last-child {
    width: 42%;
  }
}

@media screen and (max-width: 991px) {
  .register_form_columns {
    grid-template-columns: 1fr;
  }

  #box_zarejestruj div.col,
  #box_zarejestruj .row > .col {
    width: 100% !important;
    float: none !important;
  }

  #box_zarejestruj #sidebar {
    margin-top: 20px;
  }
}

/* ============================================================
   Account panel: /konto/
   ============================================================ */

#box_konto.content2 {
  padding-top: 24px !important;
  padding-bottom: 40px !important;
}

#box_konto_card {
  margin: 0 !important;
}

#box_konto .konto {
  display: none;
}

#box_konto .konto:target {
  display: block;
}

.konto_summary {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 24px;
  padding: 16px 20px;
  background: #f8fafc;
  border: 1px solid #eef0f2;
  border-radius: 12px;
}

.konto_summary_item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 180px;
}

.konto_summary_label {
  font-size: 13px;
  color: #64748b;
  font-weight: 600;
}

.konto_summary_item strong {
  font-size: 16px;
  color: var(--header-color, #1b1d23);
}

.konto_status_msg {
  margin: 0 0 16px 0;
  font-size: 14px;
  line-height: 1.6;
  color: #475569;
}

.konto_notify_box {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 24px;
  padding: 16px 20px;
  background: #ffffff;
  border: 1px solid #eef0f2;
  border-radius: 12px;
  font-size: 14px;
  color: #475569;
}

#box_konto .konto_tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 24px;
}

#box_konto .konto_tabs div {
  margin: 0 !important;
  background: #f8fafc !important;
  border: 1px solid #eef0f2;
  border-radius: 12px;
  transition: all 0.2s ease;
}

#box_konto .konto_tabs div:hover {
  border-color: #cbd5e1;
  background: #ffffff !important;
}

#box_konto .konto_tabs a {
  display: block;
  padding: 14px 16px !important;
  color: var(--header-color, #1b1d23) !important;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
}

#box_konto .konto_tabs svg {
  display: none;
}

.konto_section_title {
  margin: 0 0 20px 0 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--header-color, #1b1d23) !important;
}

.konto_delete_notice {
  margin-bottom: 16px;
}

.konto_delete_alert {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #b91c1c;
  font-weight: 600;
}

#box_konto .info_ok,
#box_konto .info_err {
  margin-bottom: 16px !important;
}

#box_konto .guzik_red.static_form_submit {
  background-color: #dc2626 !important;
  border-color: #dc2626 !important;
}

#box_konto .guzik_red.static_form_submit:hover {
  background-color: #b91c1c !important;
}

@media screen and (min-width: 768px) {
  #box_konto .konto_tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* ============================================================
   My entries: /moje-firmy/
   ============================================================ */

#box_wszystkie_firmy.content2 {
  padding-top: 24px !important;
  padding-bottom: 40px !important;
}

.my_entries_card {
  margin-bottom: 24px !important;
}

.my_entries_alert {
  margin-bottom: 16px !important;
}

.my_entries_empty {
  margin: 0;
  padding: 8px 0;
  font-size: 15px;
  line-height: 1.6;
  color: #64748b;
}

.my_entries_list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.my_entries_cat {
  list-style: none;
  margin: 8px 0 0 0;
}

.my_entries_cat h2 {
  margin: 0 0 8px 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--header-color, #1b1d23) !important;
}

.my_entry_item {
  list-style: none;
  margin: 0;
  padding: 0;
}

.my_entry_card {
  background: #ffffff;
  border: 1px solid #eef0f2;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.my_entry_main {
  display: flex;
  gap: 20px;
  padding: 20px;
}

.my_entry_foto {
  flex-shrink: 0;
  width: 120px;
}

.my_entry_foto img.thumb {
  width: 120px !important;
  height: 120px !important;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}

.my_entry_body {
  flex: 1;
  min-width: 0;
}

.my_entry_body h3 {
  margin: 0 0 8px 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.my_entry_body h3 a {
  color: var(--header-color, #1b1d23) !important;
  text-decoration: none !important;
}

.my_entry_body h3 a:hover {
  color: var(--main-color, #5fbe46) !important;
}

.my_entry_company {
  font-size: 14px;
  font-weight: 500;
  color: #64748b;
}

.my_entry_desc {
  margin: 0 0 12px 0;
  font-size: 14px;
  line-height: 1.6;
  color: #64748b;
}

.my_entry_visibility {
  margin: 0 0 8px 0;
  font-size: 13px;
  font-weight: 700;
}

.my_entry_visible {
  color: #15803d !important;
}

.my_entry_hidden {
  color: #b91c1c !important;
}

.my_entry_actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.my_entry_actions .card_btn_secondary,
.my_entry_actions .card_cta_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

.my_entry_actions .card_btn_secondary {
  background: #f1f5f9 !important;
  color: #334155 !important;
  border: 1px solid #e2e8f0 !important;
}

.my_entry_actions .card_btn_secondary:hover {
  background: #e2e8f0 !important;
}

.my_entry_actions .card_btn_danger {
  background: #fef2f2 !important;
  color: #b91c1c !important;
  border-color: #fecaca !important;
}

.my_entry_actions .card_cta_btn {
  background: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  border: none !important;
}

.my_entry_cta {
  display: inline-block;
  margin-top: 4px;
}

.my_entry_stats {
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.5;
  color: #94a3b8;
}

.my_entry_status {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid #eef0f2;
}

.my_status_box {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  padding: 14px 20px;
  font-size: 14px;
  line-height: 1.5;
}

.my_status_box + .my_status_box {
  border-top: 1px solid #eef0f2;
}

.my_status_title {
  font-weight: 700;
  color: var(--header-color, #1b1d23);
}

.my_status_desc {
  color: #64748b;
}

.my_status_btn {
  display: inline-flex;
  align-self: flex-start;
  margin-top: 4px;
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--main-color, #5fbe46);
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
}

.my_status_warning {
  background: #fff7ed;
}

.my_status_warning .my_status_title {
  color: #c2410c;
}

.my_status_pending {
  background: #fef2f2;
}

.my_status_pending .my_status_title {
  color: #b91c1c;
}

.my_status_ok {
  background: #f0fdf4;
}

.my_status_ok .my_status_title {
  color: #15803d;
}

.my_status_promo {
  background: #f8fafc;
}

@media screen and (max-width: 767px) {
  .my_entry_main {
    flex-direction: column;
  }

  .my_entry_foto {
    width: 100%;
  }

  .my_entry_foto img.thumb {
    width: 100% !important;
    height: 200px !important;
  }
}

/* ============================================================
   Add company form: /dodaj-firme/
   ============================================================ */

#box_dodaj_firme.content2 {
  padding-top: 24px !important;
  padding-bottom: 40px !important;
}

#box_dodaj_firme_card {
  margin: 0 !important;
}

#dodawanie_firmy .auth_form_box {
  margin-bottom: 0;
}

#dodawanie_firmy .register_section_label,
#dodawanie_firmy h2.naglowek2 {
  margin: 28px 0 16px 0 !important;
  padding-bottom: 10px;
  border-bottom: 1px solid #eef0f2;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--header-color, #1b1d23) !important;
}

#dodawanie_firmy h2.naglowek2:first-of-type,
#dodawanie_firmy .register_section_label:first-of-type {
  margin-top: 0 !important;
}

#dodawanie_firmy .alert-cloud {
  margin: 12px 0 16px 0;
  padding: 12px 14px;
  background: #f8fafc;
  border: 1px solid #eef0f2;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.5;
  color: #64748b;
}

#dodawanie_firmy .static_form_submit,
#dodawanie_firmy .guzik_dodaj {
  margin-top: 16px;
}

#dodawanie_firmy #map_canvas {
  margin: 12px 0;
  border-radius: 12px;
  overflow: hidden;
}

/* ============================================================
   Product page: /produkt/ (aligned with /firma/)
   ============================================================ */

#box_produkt {
  padding: 40px 0 !important;
}

#box_produkt .info_ok,
#box_produkt .info_err {
  margin-bottom: 16px !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
}

#box_produkt .company_top_nav span#add-favourites-item,
#box_produkt .company_top_nav span#remove-favourites-item,
#box_produkt .company_top_nav a.schowek_btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 8px 16px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
  background-color: #ffffff !important;
  color: #475569 !important;
  border: 1px solid #cbd5e1 !important;
}

#box_produkt .company_top_nav span#add-favourites-item:hover,
#box_produkt .company_top_nav span#remove-favourites-item:hover,
#box_produkt .company_top_nav a.schowek_btn:hover {
  background-color: #f8fafc !important;
  color: #1e293b !important;
  border-color: #94a3b8 !important;
}

#box_produkt .company_top_nav span#remove-favourites-item.added {
  background-color: var(--main-color, #5fbe46) !important;
  color: #ffffff !important;
  border-color: var(--main-color, #5fbe46) !important;
}

#box_produkt .product_price_meta {
  margin: 0;
  font-size: 15px;
  color: #475569;
}

#box_produkt .product_price_meta .cena {
  font-size: 22px;
  font-weight: 700;
  color: var(--header-color, #1b1d23);
}

#box_produkt .product_availability_meta {
  margin: 0;
  font-size: 14px;
  color: #64748b;
  font-weight: 600;
}

#produkt_info #produkt_col h1 {
  display: none;
}

#produkt_info #produkt_div {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

#box_produkt #produkt_info.static_page_card {
  margin-bottom: 16px !important;
}

#box_produkt #box_opinie {
  margin-bottom: 16px !important;
}

#box_produkt .company_header_card {
  padding: 24px !important;
}

#box_produkt .static_page_header .service_section_title {
  margin: 0 0 16px 0 !important;
  padding-bottom: 16px;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--header-color, #1b1d23) !important;
}

#box_produkt .static_page_header .service_section_title::after {
  display: none !important;
}

#box_produkt #produkt_info #produkt_opis {
  font-size: 15px;
  line-height: 1.7;
  color: #475569;
}

#box_produkt #produkt_info .service_desc_empty {
  margin-bottom: 0;
}

#box_firma #firma_opis .service_desc_empty {
  margin-bottom: 0;
}

#box_produkt #produkt_info .company_gallery_card {
  border: none !important;
  padding: 24px 0 0 0 !important;
  margin: 24px 0 0 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-top: 1px solid #e2e8f0 !important;
  clear: both !important;
  float: none !important;
  width: 100% !important;
}

#box_produkt #produkt_info #produkt_galeria #big_foto_wrapper {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

#box_produkt #produkt_info #produkt_galeria #big_foto img,
#box_produkt #produkt_info #produkt_galeria #big_foto #big_f {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 520px !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 0 !important;
}

#box_produkt .guzik_orange {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px !important;
  padding: 10px 18px !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

#box_produkt .zamow,
#box_produkt .kup_teraz {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.2 !important;
  padding: 10px 20px !important;
  width: auto !important;
  text-indent: 0 !important;
  background-image: none !important;
  text-align: center !important;
}

#box_produkt #produkt_ulubione {
  display: none !important;
}

@media screen and (max-width: 768px) {
  #box_produkt .company_header_flex {
    flex-direction: column;
  }

  #box_produkt .company_buttons_row {
    flex-direction: column;
    align-items: stretch;
  }

  #box_produkt .company_buttons_row .guzik_green,
  #box_produkt .company_buttons_row .guzik_lightgray,
  #box_produkt .company_buttons_row .guzik_orange {
    width: 100%;
    text-align: center;
  }
}

/* ============================================================
   Packages page: /wybierz-pakiet/
   ============================================================ */

#box_promo.content2 {
  padding-top: 24px !important;
  padding-bottom: 40px !important;
}

.packages_page_card {
  margin: 0 !important;
}

.packages_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.package_card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #eef0f2;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.package_card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

.package_card--featured {
  border-color: #f5d565;
  box-shadow: 0 4px 20px rgba(234, 179, 8, 0.15);
}

.package_card--featured:hover {
  box-shadow: 0 10px 28px rgba(234, 179, 8, 0.22);
}

.package_badge {
  position: absolute;
  top: 16px;
  right: 16px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #fef9c3;
  color: #854d0e;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.package_card_header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #eef0f2;
}

.package_icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: #f8fafc;
}

.package_card--wyswietlanie .package_icon {
  background: #eff6ff;
}

.package_card--brazowy .package_icon {
  background: #fff7ed;
}

.package_card--srebrny .package_icon {
  background: #f1f5f9;
}

.package_card--zloty .package_icon {
  background: #fefce8;
}

.package_icon img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.package_title {
  margin: 0 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--header-color, #1b1d23) !important;
}

.package_desc {
  flex: 1;
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.65;
  color: #64748b;
}

.package_desc p {
  margin: 0 0 10px 0;
}

.package_desc p:last-child {
  margin-bottom: 0;
}

.package_desc ul {
  margin: 0 0 10px 0;
  padding-left: 18px;
}

.package_desc li {
  margin-bottom: 6px;
}

.package_desc li:last-child {
  margin-bottom: 0;
}

.package_form {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid #eef0f2;
}

.package_form_row {
  margin-bottom: 14px;
}

.package_label {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #475569;
}

.package_select {
  width: 100%;
  box-sizing: border-box;
  height: 48px;
  padding: 0 14px;
  border: 1px solid #dbe3ea;
  border-radius: 10px;
  background-color: #f8fafc;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #1e293b;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.package_select:focus {
  outline: none;
  border-color: var(--main-color, #5fbe46);
  box-shadow: 0 0 0 3px rgba(95, 190, 70, 0.15);
}

.package_submit {
  width: 100%;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 12px 20px !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer;
  text-align: center;
}

@media screen and (max-width: 991px) {
  .packages_grid {
    grid-template-columns: 1fr;
  }

  .package_card--featured {
    order: -1;
  }
}

@media screen and (max-width: 767px) {
  .package_card {
    padding: 20px;
  }

  .package_badge {
    position: static;
    display: inline-block;
    margin-bottom: 12px;
  }

  .package_title {
    font-size: 18px !important;
  }
}

/* ============================================================
   Company contact modal: Wyślij zapytanie
   ============================================================ */

#layer_in .company_modal_form {
  padding-top: 4px;
}

#layer_in .company_modal_form_header {
  margin-bottom: 20px;
  padding-right: 36px;
}

#layer_in .company_modal_form_header h2 {
  margin: 0 0 8px 0 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--header-color, #1b1d23) !important;
}

#layer_in .company_modal_form_header p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #64748b;
}

#layer_in .company_contact_form {
  margin: 0;
}

#layer_in .company_contact_form .static_form_field {
  margin-bottom: 16px;
}

#layer_in .company_contact_form .static_form_field label {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 600;
  color: #475569;
}

#layer_in .company_contact_form .static_form_input,
#layer_in .company_contact_form .static_form_textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  background-color: #f8fafc !important;
  border: 1px solid #dbe3ea !important;
  border-radius: 10px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  color: #1e293b !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#layer_in .company_contact_form .static_form_input {
  height: 48px !important;
  line-height: 48px !important;
  padding: 0 14px !important;
  margin-bottom: 0 !important;
}

#layer_in .company_contact_form .static_form_textarea {
  min-height: 140px !important;
  line-height: 1.6 !important;
  padding: 14px !important;
  resize: vertical;
}

#layer_in .company_contact_form .static_form_input:focus,
#layer_in .company_contact_form .static_form_textarea:focus {
  outline: none !important;
  border-color: var(--main-color, #5fbe46) !important;
  box-shadow: 0 0 0 3px rgba(95, 190, 70, 0.12) !important;
}

#layer_in .company_modal_rodo {
  margin: 4px 0 20px 0;
  padding: 14px 16px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #eef0f2;
}

#layer_in .company_modal_rodo p {
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
  color: #64748b;
}

#layer_in .company_modal_rodo a {
  color: var(--main-color, #5fbe46);
  font-weight: 600;
  text-decoration: none;
}

#layer_in .company_modal_rodo a:hover {
  color: var(--main-color-hover, #6ad24a);
}

#layer_in .company_contact_form .static_form_submit {
  width: 100%;
  min-height: 48px;
}

#layer_in .company_contact_form label.error {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: #dc2626;
}

@media screen and (max-width: 767px) {
  #layer {
    padding: 12px;
  }

  #layer_in {
    padding: 22px 18px;
    max-height: calc(100vh - 24px);
  }

  #layer_in .company_modal_form_header h2 {
    font-size: 20px !important;
  }
}

/* ============================================================
   Company page alerts: success / error banners
   ============================================================ */

.company_page_alerts {
  margin-bottom: 20px;
}

.static_alert {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid transparent;
  font-size: 14px;
  line-height: 1.5;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}

.static_alert_icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
}

.static_alert_text {
  flex: 1;
  padding-top: 7px;
  font-weight: 600;
}

.static_alert--success {
  background: #f0fdf4;
  border-color: #bbf7d0;
  color: #166534;
}

.static_alert--success .static_alert_icon {
  background: rgba(95, 190, 70, 0.15);
  color: var(--main-color, #5fbe46);
}

.static_alert--error {
  background: #fef2f2;
  border-color: #fecaca;
  color: #991b1b;
}

.static_alert--error .static_alert_icon {
  background: rgba(220, 38, 38, 0.1);
  color: #dc2626;
}

#box_firma .company_page_alerts {
  margin-bottom: 24px;
}

/* ============================================================
   Cities map page: /mapa-miast/
   ============================================================ */

body.body_mapa_miast #top_3 {
  display: none !important;
}

#box_mapa_miast {
  padding-top: 32px !important;
  padding-bottom: 48px !important;
}

#box_mapa_miast .cities_page_top {
  margin-bottom: 16px !important;
}

#box_mapa_miast .cities_page_top a#wroc {
  flex-shrink: 0;
}

#box_mapa_miast .cities_page_breadcrumbs {
  margin-bottom: 0 !important;
}

#box_mapa_miast .cities_page_breadcrumbs #polozenie li:not([itemprop="itemListElement"]) {
  display: none !important;
}

#box_mapa_miast .cities_page_breadcrumbs #polozenie li[itemprop="itemListElement"]:not(:last-child)::after {
  content: "/";
  margin: 0 8px;
  color: #cbd5e1;
  font-weight: 400;
}

#box_mapa_miast .cities_page_breadcrumbs #polozenie .last,
#box_mapa_miast .cities_page_breadcrumbs #polozenie li span[itemprop="name"] {
  color: #64748b !important;
  font-weight: 500 !important;
}

#box_mapa_miast .cities_page_card,
#box_mapa_miast .cities_map_card {
  margin-bottom: 20px;
}

#box_mapa_miast .cities_map_card {
  margin-bottom: 24px;
}

.cities_page_toolbar {
  max-width: 480px;
}

.cities_search_label {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--header-color, #1b1d23);
}

.cities_search_input {
  width: 100%;
}

.cities_section_title {
  margin: 0 0 20px 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--header-color, #1b1d23);
}

.cities_map_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 0 4px;
  overflow: hidden;
}

#map-poland-cities {
  float: none !important;
  margin: 0 auto !important;
}

#map-poland-cities li {
  text-indent: -99999px;
}

#map-poland-cities .poland,
#map-poland-cities .cssmap-cities,
#map-poland-cities .poland-cities {
  filter: hue-rotate(259.7deg) saturate(95%) brightness(120%) !important;
}

.cities_voivodeships_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.cities_voiv_card {
  display: flex;
  flex-direction: column;
  padding: 0;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.cities_voiv_card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}

.cities_voiv_header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 20px 20px 12px;
  border-bottom: 1px solid #eef0f2;
}

.cities_voiv_title {
  margin: 0 0 4px 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}

.cities_voiv_title a {
  color: var(--header-color, #1b1d23) !important;
  text-decoration: none;
  transition: color 0.2s ease;
}

.cities_voiv_title a:hover {
  color: var(--main-color, #5fbe46) !important;
}

.cities_voiv_meta {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #64748b;
}

.cities_voiv_all {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  border-radius: 8px;
  border: 1.5px solid #cbd5e1;
  background: #ffffff;
  color: #475569 !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
  white-space: nowrap;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.cities_voiv_all:hover {
  border-color: #94a3b8;
  background: #f8fafc;
  color: #1e293b !important;
}

.cities_tag_list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  margin: 0;
  padding: 16px 20px 20px;
  list-style: none;
}

.cities_tag_list li {
  margin: 0;
  padding: 0;
  width: auto;
}

.cities_no_results {
  grid-column: 1 / -1;
  margin: 0;
  padding: 32px 16px;
  text-align: center;
  font-size: 15px;
  line-height: 1.6;
  color: #64748b;
  background: #ffffff;
  border: 1px solid #eef0f2;
  border-radius: 18px;
}

@media (max-width: 991px) {
  .cities_voivodeships_grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .cities_voiv_header {
    flex-direction: column;
    align-items: stretch;
  }

  .cities_voiv_all {
    align-self: flex-start;
  }

  .cities_map_wrap {
    margin: 0 -8px;
  }

  #map-poland-cities.cssmap-430 {
    transform: scale(0.82);
    transform-origin: center top;
  }
}

/* ============================================================
   Add opinion page (dodaj-opinie)
   ============================================================ */

.opinion_page_header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.opinion_page_header_text {
  flex: 1;
  min-width: 0;
}

.opinion_page_company {
  margin: 0 0 16px 0;
  font-size: 15px;
  line-height: 1.5;
  color: #64748b;
}

.opinion_page_company strong {
  color: var(--header-color, #1b1d23);
  font-weight: 700;
}

.opinion_back_link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-shrink: 0;
  padding: 10px 16px;
  border: 1px solid #dbe3ea;
  border-radius: 10px;
  background: #f8fafc;
  font-size: 13px;
  font-weight: 600;
  color: #475569 !important;
  text-decoration: none;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.opinion_back_link:hover {
  border-color: #94a3b8;
  background: #ffffff;
  color: var(--header-color, #1b1d23) !important;
}

.opinion_form_intro {
  margin-bottom: 20px;
}

#nowa_opinia .static_form_field label,
#nowa_opinia .opinion_rating_label {
  float: none;
  width: auto;
  margin-right: 0;
  padding-top: 0;
  text-align: left;
}

#nowa_opinia .static_form_input,
#nowa_opinia .static_form_textarea {
  width: 100% !important;
}

#box_nowa_opinia_card .static_alert {
  margin-bottom: 20px;
}

.opinion_form_layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 20px;
}

.opinion_panel {
  padding: 20px;
  border: 1px solid #eef0f2;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.03);
}

.opinion_panel_title {
  margin: 0 0 16px 0;
  padding-bottom: 12px;
  border-bottom: 1px solid #eef0f2;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--header-color, #1b1d23);
}

.opinion_ratings_list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.opinion_rating_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #eef0f2;
  border-radius: 12px;
  background: #f8fafc;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.opinion_rating_row:hover {
  border-color: #dbe3ea;
  background: #ffffff;
}

.opinion_rating_row--main {
  background: rgba(95, 190, 70, 0.06);
  border-color: rgba(95, 190, 70, 0.18);
}

.opinion_rating_row--main .opinion_rating_label {
  font-size: 14px;
  font-weight: 700;
  color: var(--header-color, #1b1d23);
}

.opinion_rating_label {
  flex: 1;
  min-width: 0;
  font-size: 13px;
  font-weight: 600;
  color: #475569;
}

.opinion_stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}

#box_nowa_opinia_card span.gwiazdka,
#box_nowa_opinia span.gwiazdka {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: 0;
  background: none;
  cursor: pointer;
  position: relative;
  transition: transform 0.15s ease;
}

#box_nowa_opinia_card span.gwiazdka::before,
#box_nowa_opinia span.gwiazdka::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background-color: #e2e8f0;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 22px 22px;
  mask-size: 22px 22px;
  transition: background-color 0.15s ease, transform 0.15s ease;
}

#box_nowa_opinia_card span.gwiazdka:hover,
#box_nowa_opinia span.gwiazdka:hover {
  transform: scale(1.06);
}

#box_nowa_opinia_card span.gwiazdka:hover::before,
#box_nowa_opinia span.gwiazdka:hover::before {
  background-color: #cbd5e1;
}

#box_nowa_opinia_card span.gwiazdka_on::before,
#box_nowa_opinia span.gwiazdka_on::before {
  background-color: var(--main-color, #5fbe46);
}

.opinion_recommend_block {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #eef0f2;
}

.opinion_recommend_question {
  margin: 0 0 12px 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  color: #475569;
}

.opinion_pill_group {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  border-radius: 999px;
  background: #f1f5f9;
  border: 1px solid #eef0f2;
}

.opinion_pill {
  display: inline-flex;
  align-items: center;
  margin: 0;
  cursor: pointer;
}

.opinion_pill input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.opinion_pill span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  color: #64748b;
  transition: all 0.2s ease;
}

.opinion_pill input:checked + span {
  background: var(--main-color, #5fbe46);
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(95, 190, 70, 0.25);
}

.opinion_pill:hover span {
  color: #334155;
}

.opinion_textarea {
  min-height: 180px !important;
}

.opinion_antyspam_box {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 4px;
  padding: 14px 16px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #eef0f2;
}

.opinion_antyspam_label {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #475569;
  white-space: nowrap;
}

.opinion_antyspam_box .static_form_input {
  flex: 1;
  min-width: 120px;
  max-width: 160px;
}

.opinion_form_footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #eef0f2;
}

.opinion_form_footer .static_form_submit {
  min-width: 200px;
}

#nowa_opinia label.error {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #dc2626;
}

#nowa_opinia .ocena_ogolem.error {
  border-color: #fecaca;
  background: #fef2f2;
}

#box_nowa_opinia_card .static_alert_text a {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
}

@media screen and (max-width: 900px) {
  .opinion_form_layout {
    grid-template-columns: 1fr;
  }

  .opinion_page_header {
    flex-direction: column;
    align-items: stretch;
  }

  .opinion_back_link {
    width: 100%;
    box-sizing: border-box;
  }

  .opinion_rating_row {
    flex-direction: column;
    align-items: flex-start;
  }

  .opinion_stars {
    width: 100%;
    justify-content: flex-start;
  }
}

@media screen and (max-width: 520px) {
  .opinion_panel {
    padding: 16px;
  }

  .opinion_pill_group {
    display: flex;
    width: 100%;
  }

  .opinion_pill {
    flex: 1;
  }

  .opinion_pill span {
    width: 100%;
    min-width: 0;
  }

  .opinion_antyspam_box {
    flex-direction: column;
    align-items: stretch;
  }

  .opinion_antyspam_box .static_form_input {
    max-width: none;
  }

  .opinion_form_footer {
    justify-content: stretch;
  }

  .opinion_form_footer .static_form_submit {
    width: 100%;
    min-width: 0;
  }
}

/* ============================================================
   All opinions list page (firma / usluga)
   ============================================================ */

#box_wszystkie_opinie {
  padding: 40px 0 !important;
}

#box_wszystkie_opinie .opinion_list_card {
  overflow: hidden;
}

#box_wszystkie_opinie .opinion_list_header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

#box_wszystkie_opinie .opinion_list_header_text {
  flex: 1;
  min-width: 0;
}

#box_wszystkie_opinie .opinion_list_header h1 {
  margin: 0;
  font-size: clamp(22px, 3vw, 28px);
  line-height: 1.3;
  color: var(--header-color, #1b1d23);
}

#box_wszystkie_opinie .opinion_list_subject {
  color: var(--header-color, #1b1d23) !important;
  text-decoration: none !important;
  font-weight: 700;
}

#box_wszystkie_opinie .opinion_list_subject:hover {
  color: var(--main-color, #5fbe46) !important;
}

#box_wszystkie_opinie .opinion_list_suffix {
  font-weight: 600;
  color: #64748b;
}

#box_wszystkie_opinie #opinie_pl_ajax {
  margin-top: 8px;
}

#box_wszystkie_opinie .opinion_list_footer {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid #eef0f2;
}

#box_wszystkie_opinie .opinion_list_cta {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 10px 18px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

#box_wszystkie_opinie #strony {
  margin-top: 24px;
}

@media (max-width: 767px) {
  #box_wszystkie_opinie {
    padding: 24px 0 !important;
  }

  #box_wszystkie_opinie .opinion_list_header {
    flex-direction: column;
  }

  #box_wszystkie_opinie .opinion_back_link,
  #box_wszystkie_opinie .opinion_list_cta {
    width: 100%;
    justify-content: center;
  }
}
