/* Source: update89.css */
.form-status89{grid-column:1/-1;padding:16px 18px;border:1px solid var(--line,#bdcbd0);border-radius:12px;color:var(--ink,#142c35);background:var(--surface,#fff);font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.form-status89[hidden]{display:none}
.form-status89:focus{outline:2px solid #167f98;outline-offset:3px}
.contact-form[aria-busy="true"] button{opacity:.7;cursor:wait}
.form-trap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.case-study--banska .realization-photos{grid-template-columns:1fr 1fr;align-items:start}
.case-study--banska .realization-photos figure:first-child{grid-column:1/-1}
.case-study--banska .realization-photos img{height:auto;max-height:none;width:100%;object-fit:contain}
.case-study--banska .realization-photos a{display:block}
.case-study--banska .realization-copy{max-width:850px}
.local-links89{padding:55px max(7vw,24px);border-top:1px solid var(--line,#dce5e8)}
.local-links89 h2{font-size:clamp(26px,3.2vw,42px);line-height:1.2;margin:0 0 26px;letter-spacing:-.03em}
.local-links89>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.local-links89 a{padding:18px;border:1px solid var(--line,#dce5e8);border-radius:14px;color:var(--ink,#142c35);background:var(--surface,#fff);font-weight:600;line-height:1.5;text-decoration:none}
.local-links89 a:hover{border-color:#1688a0}
.site .hero-title{font-size:clamp(35px,4.7vw,76px);line-height:1.07;letter-spacing:-.045em;max-width:1050px}
.site .hero-title span{color:var(--blue-dark,#087ca7)}
.footer-identity89{display:block;font-size:13px;color:var(--muted,#60747c);margin-top:8px}
.local-article89{max-width:1000px;margin:auto;padding:clamp(32px,5vw,72px) 24px;font-size:17px;line-height:1.85;color:var(--muted,#60747c)}
.local-article89 h2{font-size:clamp(26px,3.2vw,40px);line-height:1.2;margin:38px 0 18px;color:var(--ink,#142c35);letter-spacing:-.025em}
.local-article89 h3{font-size:22px;line-height:1.35;color:var(--ink,#142c35)}
.local-article89 a{color:var(--blue-dark,#087ca7);text-decoration:underline;text-underline-offset:4px}
.local-article89 details{border-top:1px solid var(--line,#dce5e8);padding:18px 0}
.local-article89 summary{font-weight:650;color:var(--ink,#142c35);cursor:pointer;line-height:1.6}
@media(max-width:760px){.local-links89>div{grid-template-columns:1fr}.case-study--banska .realization-photos{grid-template-columns:1fr}.case-study--banska .realization-photos figure:first-child{grid-column:auto}.site .hero-title{font-size:clamp(33px,8vw,52px)}}

/* Source: update90.css */
.site .home-hero .hero-motto90{margin:22px 0 12px;font-size:clamp(22px,3vw,37px);font-weight:650;line-height:1.25;letter-spacing:-.025em;color:var(--blue-dark,#087ca7)}
html[data-theme="dark"] .site .home-hero .hero-motto90{color:#8ed8f2}
.site .contact-email-link81,.site a[href^="mailto:"]{overflow-wrap:anywhere;max-width:100%}
@media(max-width:760px){.site .home-hero .hero-motto90{margin-top:18px;font-size:clamp(22px,6vw,30px)}}

/* FINAL94: direct phone and e-mail contact, with no web form. */
.site .direct-contact94{align-self:start;min-width:0;padding:clamp(28px,4vw,46px);border:1px solid var(--line);border-radius:20px;background:var(--bg);box-shadow:0 18px 55px rgba(16,37,46,.08)}
.site .direct-contact94 h3{margin:0;font-size:clamp(28px,3vw,42px);line-height:1.12;letter-spacing:-.035em}
.site .direct-contact94>p:not(.eyebrow){margin:20px 0 0;color:var(--muted);font-size:17px;line-height:1.75}
.site .direct-contact-details94{display:flex;align-items:center;gap:7px 11px;flex-wrap:wrap}
.site .direct-contact-details94 a{max-width:100%;color:var(--accent);font-weight:650;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
.site .direct-contact-actions94{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:30px}
.site .direct-contact-actions94 .button{margin:0;white-space:normal;text-align:center}
.site .direct-contact-actions94 .button.secondary{box-shadow:inset 0 0 0 1px var(--line)}
html[data-theme="dark"] .site .direct-contact94{box-shadow:none}
@media(max-width:760px){.site .direct-contact94{padding:27px 22px;border-radius:16px}.site .direct-contact-actions94{display:grid;grid-template-columns:1fr}.site .direct-contact-actions94 .button{width:100%}.site .direct-contact-details94{align-items:flex-start;flex-direction:column}.site .direct-contact-details94 span{display:none}}

/* Source: formularz-integracja95.css */
/* PAN PV FINAL95 — formularz e-mail w sekcji kontaktowej. */
html body #kontakt.shared-contact .panpv-form95{
  min-width:0;align-self:start;padding:clamp(20px,2.8vw,34px);
  border:1px solid var(--contact-line83,#d2e1ea);border-radius:24px;
  background:var(--contact-form83,#fff);box-shadow:0 16px 42px rgba(16,37,46,.09);
}
html body #kontakt.shared-contact .panpv-form95 iframe{
  display:block;width:100%;height:790px;max-width:100%;margin:0;padding:0;
  border:0;background:transparent;overflow:hidden;
}
html body #kontakt.shared-contact .panpv-form95 p.panpv-form95-fallback{margin:12px 0 0;font-size:13px;color:var(--contact-muted83,#536574)}
html body #kontakt.shared-contact .panpv-form95 p.panpv-form95-fallback a{color:var(--contact-blue83,#006baa);text-decoration:underline}
html[data-theme="dark"] body #kontakt.shared-contact .panpv-form95{box-shadow:none}
@media(max-width:760px){
 html body #kontakt.shared-contact .panpv-form95{padding:19px 15px;border-radius:18px}
 html body #kontakt.shared-contact .panpv-form95 iframe{height:1080px}
}

/* FINAL97: dwie oddzielne linie kontaktu; numer telefonu bez łamania. */
html body #kontakt.shared-contact .grant-call-prompt .grant-call-line{
  display:block;
  margin-top:7px;
  line-height:1.55;
}
html body #kontakt.shared-contact .grant-call-prompt .grant-phone-number{
  white-space:nowrap;
}

/* Source: footer-nav98.css */
/* PAN PV FINAL101 — uporządkowane górne menu i stopka. */
/* Desktop: większe odstępy, bardziej czytelne etykiety, dłuższe nazwy mogą łamać się do dwóch linii. */
@media (min-width:1181px) {
  html body.site .site-header #main-menu {
    align-items: center;
    align-content: center;
    justify-content: center;
    gap: 0 clamp(6px,.55vw,12px);
    font-size: clamp(11px,.72vw,13px);
  }
  html body.site .site-header #main-menu > a {
    display: inline-flex;
    flex: 0 1 auto;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 62px;
    padding: 0 8px;
    line-height: 1.16;
    text-align: center;
    vertical-align: middle;
    white-space: normal;
  }
  html body.site .site-header #main-menu > a[data-nav="magazyny"],
  html body.site .site-header #main-menu > a[data-nav="dlaczego"],
  html body.site .site-header #main-menu > a[data-nav="certyfikaty"] {
    max-width: 116px;
  }
  html body.site .site-header #main-menu > a.nav-agregaty {
    max-width: 136px;
  }
  html body.site .site-header #main-menu > a.nav-off-grid {
    max-width: 146px;
  }
  html body.site .site-header #main-menu > a.nav-announcement83 {
    position: relative;
    min-height: 62px;
    padding: 16px 8px 4px;
  }
  html body.site .site-header #main-menu > a.nav-announcement83 > span {
    display: block;
    position: static;
    min-width: 0;
    padding: 0;
    line-height: 1.14;
    text-align: center;
  }
  html body.site .site-header #main-menu > a.nav-announcement83 .nav-new76 {
    position: absolute;
    top: 1px;
    left: 50%;
    bottom: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 15px;
    min-height: 15px;
    width: max-content;
    padding: 1px 6px 0;
    border-radius: 5px;
    background: #e9b846;
    color: #322000;
    font-size: 8px;
    line-height: 1;
    letter-spacing: .06em;
    font-weight: 800;
    transform: translateX(-50%);
    animation: none;
    box-shadow: none;
    white-space: nowrap;
    pointer-events: none;
  }
  html body.site .site-header #main-menu a.nav-off-grid .nav-off-grid-label84 {
    display: block;
    margin-top: 3px;
    font-size: .82em;
    line-height: 1.03;
    letter-spacing: .02em;
  }
  html body.site .site-header #main-menu > a[aria-current="page"] {
    border-radius: 10px;
  }
}
@media (min-width:1181px) and (max-width:1500px) {
  html body.site .site-header #main-menu {
    gap: 0 clamp(4px,.42vw,8px);
    font-size: clamp(10px,.78vw,12px);
  }
  html body.site .site-header #main-menu > a,
  html body.site .site-header #main-menu > a.nav-announcement83 {
    padding-left: 5px;
    padding-right: 5px;
  }
}
/* Menu rozwijane na telefonach i mniejszych ekranach: NOWOŚĆ w jednym wierszu z pozycją. */
@media (max-width:1180px) {
  html body.site .site-header #main-menu > a.nav-announcement83 {
    min-height: 52px;
    height: auto;
    padding-top: 12px;
    padding-bottom: 12px;
  }
  html body.site .site-header #main-menu > a.nav-announcement83 > span {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    gap: 4px 10px;
    padding: 0;
    width: 100%;
    text-align: left;
  }
  html body.site .site-header #main-menu > a.nav-announcement83 .nav-new76 {
    position: static;
    display: inline-flex;
    align-items: center;
    width: max-content;
    height: 17px;
    margin: 0;
    padding: 2px 7px;
    border-radius: 5px;
    font-size: 9px;
    line-height: 1;
    letter-spacing: .06em;
    background: #e9b846;
    color: #322000;
    transform: none;
    animation: none;
    box-shadow: none;
  }
  html body.site .site-header #main-menu a.nav-off-grid .nav-off-grid-label84 {
    display: inline;
    margin: 0;
    font-size: .87em;
    line-height: inherit;
  }
}

/* Stopka — cztery przewidywalne kolumny zamiast automatycznego zawijania napisów. */
html body.site footer {
  align-items: start;
  column-gap: clamp(22px,3vw,50px);
  row-gap: 26px;
}
html body.site footer .footer-main {min-width: 0;align-self: center;}
html body.site footer .footer-contact {
  display: grid;
  grid-template-columns: minmax(188px,1.25fr) minmax(105px,.76fr) minmax(227px,1.43fr) minmax(126px,.9fr);
  grid-template-rows: auto auto auto;
  align-items: start;
  justify-content: stretch;
  gap: 4px clamp(18px,2.1vw,38px);
  width: 100%;
  font-size: 13px;
  line-height: 1.55;
}
html body.site footer .footer-contact > strong {
  grid-column: 1;
  grid-row: 1;
  display: block;
  font-size: 14px;
  line-height: 1.4;
  color: var(--ink);
  font-weight: 650;
}
html body.site footer .footer-contact > .footer-identity89 {
  grid-column: 1;
  grid-row: 2;
  display: block;
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
}
html body.site footer .footer-contact > .footer-area98 {
  grid-column: 1;
  grid-row: 3;
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
html body.site footer .footer-contact > .footer-phone98,
html body.site footer .footer-contact > .footer-email98,
html body.site footer .footer-contact > .footer-hours98 {
  display: block;
  width: max-content;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  align-self: start;
  color: var(--ink);
  font-weight: 520;
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
html body.site footer .footer-contact > .footer-phone98 {grid-column: 2;grid-row: 1 / 4;}
html body.site footer .footer-contact > .footer-email98 {grid-column: 3;grid-row: 1 / 4;}
html body.site footer .footer-contact > .footer-hours98 {grid-column: 4;grid-row: 1 / 4;}
html body.site footer .footer-contact > .footer-phone98::before,
html body.site footer .footer-contact > .footer-email98::before,
html body.site footer .footer-contact > .footer-hours98::before {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 750;
}
html body.site footer .footer-contact > .footer-phone98::before {content: 'TELEFON';}
html body.site footer .footer-contact > .footer-email98::before {content: 'E-MAIL';}
html body.site footer .footer-contact > .footer-hours98::before {content: 'GODZINY KONTAKTU';}
html body.site footer .footer-contact > .footer-phone98,
html body.site footer .footer-contact > .footer-email98 {text-decoration: none;}
html body.site footer .footer-contact > .footer-phone98:hover,
html body.site footer .footer-contact > .footer-email98:hover {text-decoration: underline;text-underline-offset:4px;}
html body.site footer .footer-bottom {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px clamp(16px,2.3vw,36px);
  flex-wrap: wrap;
  padding-top: 24px;
  font-size: 12px;
  line-height: 1.5;
}
html body.site footer .footer-bottom > :first-child {margin: 0 auto 0 0;}
html body.site footer .footer-bottom > a {white-space: nowrap;}
/* Starsze podstrony zawierają tylko mail — zachowaj czytelność. */
html body.site footer .footer-contact:not(:has(> strong)) {grid-template-columns: 1fr;}
html body.site footer .footer-contact:not(:has(> strong)) > .footer-email98 {grid-column: 1;grid-row: 1;}

@media (max-width:1250px) {
  html body.site footer .footer-contact {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 10px 26px;
  }
  html body.site footer .footer-contact > strong {grid-column:1;grid-row:1;}
  html body.site footer .footer-contact > .footer-identity89 {grid-column:1;grid-row:2;}
  html body.site footer .footer-contact > .footer-area98 {grid-column:1;grid-row:3;}
  html body.site footer .footer-contact > .footer-phone98 {grid-column:2;grid-row:1 / 4;}
  html body.site footer .footer-contact > .footer-email98 {grid-column:1;grid-row:4;}
  html body.site footer .footer-contact > .footer-hours98 {grid-column:2;grid-row:4;}
}
@media (max-width:760px) {
  html body.site footer {padding: 36px 24px 28px;grid-template-columns: minmax(0,1fr);gap:22px;}
  html body.site footer .footer-main {grid-column:1;}
  html body.site footer .footer-contact {grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap:8px 16px;}
  html body.site footer .footer-bottom {gap: 14px 20px;padding-top: 20px;}
  html body.site footer .footer-bottom > :first-child {flex: 0 0 100%;margin:0;}
}
@media (max-width:510px) {
  html body.site footer .footer-contact {grid-template-columns: 1fr;row-gap:6px;}
  html body.site footer .footer-contact > strong {grid-column:1;grid-row:1;}
  html body.site footer .footer-contact > .footer-identity89 {grid-column:1;grid-row:2;}
  html body.site footer .footer-contact > .footer-area98 {grid-column:1;grid-row:3;margin-bottom:12px;}
  html body.site footer .footer-contact > .footer-phone98 {grid-column:1;grid-row:4;margin-bottom:10px;}
  html body.site footer .footer-contact > .footer-email98 {grid-column:1;grid-row:5;margin-bottom:10px;}
  html body.site footer .footer-contact > .footer-hours98 {grid-column:1;grid-row:6;}
  html body.site footer .footer-bottom > a {white-space:normal;}
}



/* FINAL100 — WYŁĄCZNIE czytelność stopki i telefonu w sekcji kontaktowej. */
html body.site footer .footer-contact {
  font-size:16px;
  line-height:1.6;
  row-gap:6px;
}
@media (min-width:1251px) {
  html body.site footer .footer-contact {
    grid-template-columns:minmax(195px,1.1fr) minmax(135px,.7fr) minmax(275px,1.5fr) minmax(160px,.9fr);
    column-gap:clamp(14px,1.6vw,28px);
  }
}
html body.site footer .footer-contact > strong {
  font-size:17px;
  line-height:1.5;
  font-weight:700;
}
html body.site footer .footer-contact > .footer-identity89,
html body.site footer .footer-contact > .footer-area98 {
  font-size:15px;
  line-height:1.65;
  color:var(--muted);
}
html body.site footer .footer-contact > .footer-phone98,
html body.site footer .footer-contact > .footer-email98,
html body.site footer .footer-contact > .footer-hours98 {
  font-size:16px;
  font-weight:650;
  line-height:1.6;
  color:var(--ink);
  overflow-wrap:anywhere;
}
html body.site footer .footer-contact > .footer-phone98::before,
html body.site footer .footer-contact > .footer-email98::before,
html body.site footer .footer-contact > .footer-hours98::before {
  font-size:12px;
  letter-spacing:.065em;
  line-height:1.4;
  margin-bottom:7px;
  color:var(--muted);
}
html body.site footer .footer-bottom {
  font-size:14px;
  line-height:1.7;
  row-gap:12px;
}
html body.site footer .footer-bottom p,
html body.site footer .footer-bottom a {font-size:14px;line-height:1.7;}
html body.site #kontakt.shared-contact .grant-call-prompt {
  margin-top:26px;
  padding:15px 19px;
  border-left:3px solid var(--accent);
  border-radius:12px;
  background:color-mix(in srgb,var(--accent) 7%,var(--panel));
  color:var(--ink);
  font-size:18px;
  font-weight:650;
  line-height:1.55;
}
html body.site #kontakt.shared-contact .grant-call-prompt .grant-call-line {
  display:block;
  margin-top:10px;
  font-size:18px;
  line-height:1.55;
  font-weight:650;
}
html body.site #kontakt.shared-contact .grant-call-prompt .grant-phone-link {
  color:var(--accent);
  text-decoration:none;
  font-size:18px;
  font-weight:750;
  text-underline-offset:4px;
}
html body.site #kontakt.shared-contact .grant-call-prompt .grant-phone-link:hover {
  text-decoration:underline;
}
html body.site #kontakt.shared-contact .grant-call-prompt .grant-phone-number {
  display:inline-block;
  white-space:nowrap;
  font-size:clamp(21px,1.8vw,24px);
  line-height:1.35;
  font-weight:800;
  letter-spacing:.01em;
}
@media (max-width:760px) {
  html body.site footer .footer-contact > strong {font-size:17px;}
  html body.site footer .footer-contact > .footer-phone98,
  html body.site footer .footer-contact > .footer-email98,
  html body.site footer .footer-contact > .footer-hours98 {font-size:16px;}
  html body.site footer .footer-bottom,
  html body.site footer .footer-bottom a,
  html body.site footer .footer-bottom p {font-size:14px;}
  html body.site #kontakt.shared-contact .grant-call-prompt {padding:14px 16px;font-size:17px;}
  html body.site #kontakt.shared-contact .grant-call-prompt .grant-phone-link {font-size:17px;}
  html body.site #kontakt.shared-contact .grant-call-prompt .grant-phone-number {font-size:22px;}
}


/* PAN PV FINAL103 — szersze, czytelniejsze menu na dużym ekranie.
   Nie zmienia kolorów, hover, aktywnego zaznaczenia ani podstron. */
@media (min-width:1181px) {
  html body.site .site-header .header-inner {
    max-width: none;
    width: 100%;
    padding-left: clamp(12px,1.5vw,28px);
    padding-right: clamp(12px,1.5vw,28px);
    gap: clamp(10px,1.1vw,20px);
  }
  html body.site .site-header .brand {
    flex: 0 0 96px;
    width: 96px;
  }
  html body.site .site-header #main-menu {
    flex: 1 1 auto;
    min-width: 0;
    justify-content: space-evenly;
    gap: clamp(7px,.65vw,13px);
    font-size: clamp(11px,.78vw,13px);
  }
  html body.site .site-header #main-menu > a,
  html body.site .site-header #main-menu > a.nav-announcement83 {
    flex-shrink: 1;
    min-width: 0;
    padding-left: clamp(5px,.45vw,9px);
    padding-right: clamp(5px,.45vw,9px);
    line-height: 1.3;
  }
  html body.site .site-header .header-tools {flex: 0 0 auto;}
}
