/* One page-sized gold edge light. The overlay belongs to the scrolling page,
   so it never stays fixed in the viewport or breaks at section boundaries. */
body.wrapper::after { content: none !important; display: none !important; }
body.wrapper main#panel {
  position: relative !important;
  isolation: isolate;
  background-color: #080808;
}
body.wrapper main#panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 20;
  pointer-events: none;
  background: linear-gradient(90deg,
    rgba(197,167,107,.31) 0%, rgba(197,167,107,.24) 4%,
    rgba(197,167,107,.16) 10%, rgba(197,167,107,.075) 18%,
    rgba(197,167,107,.025) 27%, transparent 35%, transparent 65%,
    rgba(197,167,107,.025) 73%, rgba(197,167,107,.075) 82%,
    rgba(197,167,107,.16) 90%, rgba(197,167,107,.24) 96%,
    rgba(197,167,107,.31) 100%);
}

/* The empty CMS base filename also produces `page-` on /firma, so detect the
   homepage by its actual hero instead of that shared body class. */
body.wrapper main#panel:has(.home-showcase)::after { display: none !important; }
.home-showcase { position: relative; }
.home-showcase::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg,
    rgba(197,167,107,.31) 0%, rgba(197,167,107,.24) 4%,
    rgba(197,167,107,.16) 10%, rgba(197,167,107,.075) 18%,
    rgba(197,167,107,.025) 27%, transparent 35%, transparent 65%,
    rgba(197,167,107,.025) 73%, rgba(197,167,107,.075) 82%,
    rgba(197,167,107,.16) 90%, rgba(197,167,107,.24) 96%,
    rgba(197,167,107,.31) 100%);
}

/* Keep the header and its drawer above the page canvas. */
body.wrapper nav.navbar.navbar-default { z-index: 1200 !important; }
body.wrapper #menu.slideout-menu,
body.wrapper #menu.menu { z-index: 1250 !important; }

/* Spread desktop navigation items across the available menu width. */
@media (min-width: 768px) {
  body.wrapper nav.navbar.navbar-default .navbar-collapse { padding-right: clamp(10px, 2vw, 34px) !important; padding-left: clamp(10px, 2vw, 34px) !important; }
  body.wrapper nav.navbar.navbar-default .navbar-collapse > .navbar-nav,
  body.wrapper nav.navbar.navbar-default .navbar-collapse > .navbar-nav.navbar-right {
    display: flex !important; width: 100% !important; max-width: none !important;
    flex-wrap: nowrap !important; justify-content: space-between !important;
    margin-right: 0 !important; margin-left: 0 !important;
  }
  body.wrapper nav.navbar.navbar-default .navbar-collapse > .navbar-nav > li { flex: 0 1 auto; }
}
@media (min-width: 768px) and (max-width: 1050px) {
  body.wrapper nav.navbar.navbar-default .navbar-collapse > .navbar-nav > li > a { padding-right: 8px !important; padding-left: 8px !important; font-size: 13px !important; letter-spacing: .055em !important; }
}

/* Remove separate heading slabs: page sections share the same continuous canvas. */
main#panel .our-story-heading,
main#panel .our-story-content,
main#panel .news-heading:not(.news-article-heading),
main#panel .category-heading,
main#panel .manufacturers-heading,
main#panel .realizations-heading,
main#panel .av-contact-details {
  background-color: transparent !important;
  background-image: none !important;
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}

/* Commercial solutions: retain image/copy columns, lose the stacked opaque slabs. */
body.page-rozwiazania .manufacturers,
body.page-rozwiazania .manufacturers-heading,
body.page-rozwiazania .manufacturer-nav,
body.page-rozwiazania .manufacturers-container,
body.page-rozwiazania .manufacturers-container-black,
body.page-rozwiazania .solution-category-copy {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.page-rozwiazania .manufacturers-container,
body.page-rozwiazania .manufacturers-container-black { border-color: transparent !important; }
body.page-rozwiazania .solution-category-copy { border-color: transparent !important; }
body.page-rozwiazania .manufacturers-container .row,
body.page-rozwiazania .manufacturers-container-black .row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: stretch !important;
  width: min(1100px, 90vw) !important;
  margin: 0 auto !important;
  row-gap: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(197,167,107,.28);
  background: rgba(8,8,8,.24);
}
body.page-rozwiazania .manufacturers-container .row > div,
body.page-rozwiazania .manufacturers-container-black .row > div { grid-column: auto !important; grid-row: 1 !important; min-width: 0 !important; }
body.page-rozwiazania .manufacturers-container .row > div:first-child,
body.page-rozwiazania .manufacturers-container-black .row > div:first-child { grid-column: 1 !important; }
body.page-rozwiazania .manufacturers-container .solution-category-copy,
body.page-rozwiazania .manufacturers-container-black .solution-category-copy {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  padding: clamp(24px, 3.2vw, 48px) !important;
  border: 0 !important;
  background: transparent !important;
}
body.page-rozwiazania .manufacturers-container a > img.img-responsive,
body.page-rozwiazania .manufacturers-container-black a > img.img-responsive {
  display: block !important;
  width: 100% !important;
  height: clamp(260px, 30vw, 380px) !important;
  min-height: 0 !important;
  object-fit: cover !important;
}
body.page-rozwiazania .solution-category-link {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: fit-content !important;
  height: auto !important;
  min-height: 0 !important;
}

/* Two equally sized, wide category controls above the commercial solutions. */
body[class*="page-rozwiazania"] .big-breadcrumbs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(12px, 2vw, 24px) !important;
  width: min(100%, 1000px) !important;
  margin: 0 auto !important;
}
body[class*="page-rozwiazania"] .big-breadcrumbs li { min-width: 0 !important; width: 100% !important; }
body[class*="page-rozwiazania"] .big-breadcrumbs a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 68px !important;
  padding: 14px clamp(12px, 2vw, 28px) !important;
  box-sizing: border-box !important;
  text-align: center !important;
  line-height: 1.35 !important;
}

@media (max-width: 767px) {
  body.wrapper main#panel::after,
  .home-showcase::before {
    background: linear-gradient(90deg,
      rgba(197,167,107,.27) 0%, rgba(197,167,107,.21) 5%,
      rgba(197,167,107,.13) 12%, rgba(197,167,107,.055) 22%,
      transparent 35%, transparent 65%, rgba(197,167,107,.055) 78%,
      rgba(197,167,107,.13) 88%, rgba(197,167,107,.21) 95%,
      rgba(197,167,107,.27) 100%);
  }
  body.page-rozwiazania .manufacturers-container .row,
  body.page-rozwiazania .manufacturers-container-black .row { grid-template-columns: minmax(0, 1fr) !important; width: 100% !important; }
  body.page-rozwiazania .manufacturers-container .row > div:first-child,
  body.page-rozwiazania .manufacturers-container-black .row > div:first-child { grid-column: 1 !important; grid-row: 1 !important; }
  body.page-rozwiazania .manufacturers-container .solution-category-copy,
  body.page-rozwiazania .manufacturers-container-black .solution-category-copy { grid-column: 1 !important; grid-row: 2 !important; align-items: center !important; padding: 24px !important; text-align: center !important; }
  body.page-rozwiazania .manufacturers-container a > img.img-responsive,
  body.page-rozwiazania .manufacturers-container-black a > img.img-responsive { height: clamp(220px, 58vw, 320px) !important; }
}
@media (max-width: 560px) {
  body[class*="page-rozwiazania"] .big-breadcrumbs { grid-template-columns: minmax(0, 1fr) !important; }
}

/* Keep the firm's awards section visually attached to the shared page glow. */
body.wrapper main#panel .commercial-experience2 {
  background-color: transparent !important;
  background-image: linear-gradient(90deg,
    rgba(197,167,107,.09), rgba(197,167,107,.035) 16%,
    transparent 34%, transparent 66%, rgba(197,167,107,.035) 84%,
    rgba(197,167,107,.09)) !important;
}

/* The archive photos fill their entire flexible card column. */
body.page-realizacje .manufacturer-item {
  grid-template-rows: minmax(0, auto) minmax(0, auto) minmax(0, 1fr) !important;
  align-items: stretch !important;
}
body.page-realizacje .manufacturer-item > .manufacturer-item-img {
  grid-row: 1 / -1 !important;
  align-self: stretch !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
}
/* Preserve a true viewport-filling gallery image below the fixed masthead. */
body.page-realizacja .realization-showcase { height: calc(100dvh - var(--av-fixed-header-height, 136px)) !important; }
body.page-realizacja .realization-slides,
body.page-realizacja .realization-slide,
body.page-realizacja .realization-slide-image { height: 100% !important; }

/* Tighten the individual smart-home panel without changing its icon-title-controls order. */
body.page-rozwiazania-indywidualne .manufacturer-item {
  width: min(1080px, 92vw) !important;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
  grid-template-rows: auto auto !important;
  gap: 12px !important;
  margin: 22px auto 38px !important;
  padding: 12px !important;
}
body.page-rozwiazania-indywidualne .manufacturer-item-white,
body.page-rozwiazania-indywidualne .manufacturer-item-black {
  min-height: 0 !important;
  padding: 22px !important;
}
body.page-rozwiazania-indywidualne .manufacturer-item-white-text > img {
  width: 42px !important;
  height: 42px !important;
  margin-bottom: 12px !important;
}
body.page-rozwiazania-indywidualne .manufacturer-item-text-box-title {
  margin-bottom: 12px !important;
  font-size: clamp(26px, 2.7vw, 34px) !important;
}
body.page-rozwiazania-indywidualne .manufacturer-item-black p {
  font-size: 14px !important;
  line-height: 1.65 !important;
}
body.page-rozwiazania-indywidualne .manufacturer-item .manufacturer-item-img:not(.txt) {
  grid-row: 2 !important;
  height: clamp(220px, 25vw, 320px) !important;
  min-height: 0 !important;
}
body.page-rozwiazania-indywidualne .menu_rozwiazania { gap: 6px !important; margin-top: 12px !important; }
body.page-rozwiazania-indywidualne .menu_rozwiazania li a {
  min-height: 40px !important;
  padding: 7px 6px !important;
  font-size: 9px !important;
}

/* Give pagination a soft continuation of the gold canvas instead of a detached strip. */
body.page-realizacje ul.pagination {
  position: relative;
  z-index: 1;
  margin: 12px auto 42px !important;
  padding: 18px 12px !important;
  background: linear-gradient(90deg,
    rgba(197,167,107,.10), rgba(197,167,107,.035) 18%,
    transparent 36%, transparent 64%, rgba(197,167,107,.035) 82%,
    rgba(197,167,107,.10));
}

/* Match the individual-solution panels to the realization card width and footprint. */
body.page-rozwiazania-indywidualne .manufacturer-item {
  width: min(1320px, 92vw) !important;
  min-height: 430px !important;
  box-sizing: border-box !important;
  margin: 28px auto 54px !important;
  padding: 0 !important;
  gap: 0 !important;
}
body.page-realizacje .manufacturers { padding-bottom: 18px !important; }

/* Finish the contact details with a deliberate full-width legal information tile. */
.av-contact-page .av-contact-legal {
  width: 100%;
  min-height: 58px;
  margin: 18px 0 0;
  padding: 16px 22px;
  align-items: center;
  background: linear-gradient(90deg,
    rgba(197,167,107,.11), rgba(16,16,15,.52) 20%,
    rgba(16,16,15,.52) 80%, rgba(197,167,107,.11));
  border: 1px solid rgba(197,167,107,.23);
  box-sizing: border-box;
  line-height: 1.6;
  text-align: center;
}
@media (max-width: 767px) {
  body.page-rozwiazania-indywidualne .manufacturer-item { grid-template-columns: minmax(0, 1fr) !important; gap: 8px !important; }
  body.page-rozwiazania-indywidualne .manufacturer-item-white,
  body.page-rozwiazania-indywidualne .manufacturer-item-black { padding: 20px !important; }
  body.page-rozwiazania-indywidualne .manufacturer-item .manufacturer-item-img:not(.txt) { grid-row: auto !important; height: clamp(190px, 55vw, 260px) !important; }
  .av-contact-page .av-contact-legal { justify-content: center; padding: 14px 16px; }
}

/* One uninterrupted page glow through the story and awards; remove the
   separate radial panels that made Firma look like two different sections. */
body.wrapper main#panel .our-story,
body.wrapper main#panel .our-story-heading,
body.wrapper main#panel .our-story-content,
body.wrapper main#panel .commercial-experience2 {
  background-color: transparent !important;
  background-image: none !important;
}

/* Commercial card photos stretch to the full height set by their copy column. */
body.page-rozwiazania .manufacturers-container .row,
body.page-rozwiazania .manufacturers-container-black .row {
  grid-template-rows: minmax(340px, max-content) !important;
}
body.page-rozwiazania .manufacturers-container .row > div:first-child,
body.page-rozwiazania .manufacturers-container-black .row > div:first-child {
  align-self: stretch !important;
  min-height: 0 !important;
}
body.page-rozwiazania .manufacturers-container .row > div:first-child > a,
body.page-rozwiazania .manufacturers-container-black .row > div:first-child > a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
}
body.page-rozwiazania .manufacturers-container a > img.img-responsive,
body.page-rozwiazania .manufacturers-container-black a > img.img-responsive {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
}

/* Center the two page-switcher buttons; Bootstrap's float was pinning them left. */
body[class*="page-rozwiazania"] .manufacturers-heading .big-breadcrumbs {
  position: static !important;
  float: none !important;
  left: auto !important;
  right: auto !important;
  width: min(1000px, 92vw) !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  justify-self: center !important;
  transform: none !important;
}

/* Individual category header: icon and title share one row, controls sit below. */
body.page-rozwiazania-indywidualne .manufacturer-item {
  width: min(980px, 92vw) !important;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
  grid-template-rows: auto auto !important;
  gap: 10px !important;
  margin: 18px auto 30px !important;
  padding: 10px !important;
}
body.page-rozwiazania-indywidualne .manufacturer-item-white,
body.page-rozwiazania-indywidualne .manufacturer-item-black {
  min-height: 0 !important;
  padding: 18px !important;
}
body.page-rozwiazania-indywidualne .manufacturer-item-white-text {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  column-gap: 12px !important;
  row-gap: 10px !important;
}
body.page-rozwiazania-indywidualne .manufacturer-item-white-text > img {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
}
body.page-rozwiazania-indywidualne .manufacturer-item-text-box-title {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  margin: 0 !important;
  font-size: clamp(24px, 2.3vw, 30px) !important;
  line-height: 1.1 !important;
}
body.page-rozwiazania-indywidualne .manufacturer-item-text-box-right {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  margin: 0 !important;
}
body.page-rozwiazania-indywidualne .menu_rozwiazania { margin-top: 0 !important; gap: 5px !important; }
body.page-rozwiazania-indywidualne .menu_rozwiazania li a {
  min-height: 36px !important;
  padding: 6px 5px !important;
  font-size: 9px !important;
}
body.page-rozwiazania-indywidualne .manufacturer-item-black p { font-size: 13px !important; line-height: 1.55 !important; }
body.page-rozwiazania-indywidualne .manufacturer-item .manufacturer-item-img:not(.txt) {
  grid-row: 2 !important;
  height: clamp(190px, 22vw, 270px) !important;
  min-height: 0 !important;
}

/* Remove the section-end gray band; pagination remains on the same main canvas. */
body.page-realizacje .manufacturers {
  padding-bottom: 0 !important;
  background-color: transparent !important;
  background-image: none !important;
}
body.page-realizacje ul.pagination {
  margin: 0 auto 34px !important;
  padding: 8px 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Make the bottom contact information row legible and visually balanced. */
.av-contact-page .av-contact-legal {
  min-height: 52px;
  margin: 14px 0 0;
  padding: 14px 20px;
  color: #c7c2b8;
  font-size: 12px;
  letter-spacing: .025em;
  background: linear-gradient(90deg,
    rgba(197,167,107,.08), rgba(16,16,15,.64) 18%,
    rgba(16,16,15,.64) 82%, rgba(197,167,107,.08));
}

@media (max-width: 767px) {
  body.page-rozwiazania .manufacturers-container .row,
  body.page-rozwiazania .manufacturers-container-black .row {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
  }
  body.page-rozwiazania .manufacturers-container .row > div:first-child,
  body.page-rozwiazania .manufacturers-container-black .row > div:first-child { grid-row: 1 !important; }
  body.page-rozwiazania .manufacturers-container .row > div:first-child > a,
  body.page-rozwiazania .manufacturers-container-black .row > div:first-child > a { height: clamp(220px, 58vw, 320px) !important; }
  body.page-rozwiazania .manufacturers-container a > img.img-responsive,
  body.page-rozwiazania .manufacturers-container-black a > img.img-responsive { height: 100% !important; min-height: 0 !important; }
  body.page-rozwiazania-indywidualne .manufacturer-item { width: 92vw !important; grid-template-columns: minmax(0, 1fr) !important; gap: 8px !important; }
  body.page-rozwiazania-indywidualne .manufacturer-item .manufacturer-item-img:not(.txt) { grid-row: auto !important; height: clamp(180px, 52vw, 240px) !important; }
}

/* Match individual-solution cards to the realization card width and spacing. */
body.page-rozwiazania-indywidualne .manufacturer-item {
  width: min(1320px, 92vw) !important;
  min-height: 430px !important;
  box-sizing: border-box !important;
  margin: 28px auto 54px !important;
  padding: 0 !important;
  gap: 0 !important;
}
@media (max-width: 767px) {
  body.page-rozwiazania-indywidualne .manufacturer-item {
    width: 92vw !important;
    min-height: 0 !important;
    margin: 24px auto 44px !important;
    padding: 12px !important;
    gap: 8px !important;
  }
}
