/* ===== BEGIN assets/style_v32_add.css ===== */

/* V3.2 */
.external{padding:28px 0;background:#080b0e;border-top:1px solid #222b31}
.external .kicker{color:#8d9aa3}
.partner-row{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:14px;min-height:38px}
.partner-img{display:flex;align-items:center;justify-content:center;width:auto;height:32px;opacity:.58;filter:grayscale(1);transition:opacity .18s ease,transform .18s ease,border-color .18s ease}
.partner-img img{display:block;max-height:32px;width:auto}
.partner-img:hover{opacity:.9;transform:translateY(-2px)}
.siepomaga-img img{max-height:32px}
.legal-line{border-top:1px solid #1c252b;padding:11px 0;text-align:center;color:#717c84;font-size:10px}
.legal-line a{display:inline-block;color:#8c969d;text-decoration:none;margin-left:10px}
.legal-line a:hover{color:#c4cbd0;text-decoration:none}
.location-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.location-item{display:grid;grid-template-columns:72px 1fr;column-gap:10px;align-items:baseline;color:#89949c;font-size:11px}
.location-item strong{color:#aeb7bd;font-size:12px;letter-spacing:.2px}
@media(max-width:520px){.partner-row{gap:8px}.partner-img{height:30px}.partner-img img{max-height:30px}.location-item{grid-template-columns:68px 1fr}}

/* ===== END assets/style_v32_add.css ===== */


/* ===== BEGIN assets/style_v33_add.css ===== */

/* V3.3 – typografia, mobile, favicon, SEO */
.hero-grid{min-height:390px}
.hero-photo{min-height:390px}
.hero h1{font-size:clamp(36px,4.1vw,52px);line-height:1.04}
.lead{font-size:17px}
.section{padding:54px 0}
.section h2{font-size:clamp(28px,3.1vw,40px)}
.page-hero{padding:52px 0 42px}
.page-hero h1{font-size:clamp(34px,4.3vw,50px)}
.page-hero p{font-size:16px}
.services-grid{margin-top:20px}
.service-card{min-height:155px;padding:22px}
.service-card strong{font-size:16px;margin:13px 0 6px}
.external-link,.partner-img{min-height:44px}
.partner-img{height:44px;padding:6px 10px}
.partner-img img{max-height:30px}
.siepomaga-img img{max-height:30px}
.site-nav a{min-height:44px;display:flex;align-items:center}
.footer-bottom{align-items:center;gap:14px}
@media(max-width:800px){.hero-grid{min-height:0}.hero-photo{min-height:270px}.hero-copy{padding:42px 0 26px}.section{padding:46px 0}.site-nav a{min-height:44px}.partner-row{gap:8px}.partner-img{min-width:44px;padding:6px 9px}}
@media(max-width:520px){.hero h1{font-size:35px}.hero-photo{min-height:235px}.section{padding:42px 0}.page-hero{padding:44px 0 36px}.footer-bottom{justify-content:center;flex-wrap:wrap;text-align:center}}

.footer-bottom a{display:inline;color:#8c969d;text-decoration:none}.footer-bottom a:hover{color:#c4cbd0;text-decoration:none}

/* ===== END assets/style_v33_add.css ===== */


/* ===== BEGIN assets/style_v34_add.css ===== */

/* V3.4 */
.service-card, .certificate-card { padding-block: 1rem !important; min-height:0 !important; }
.service-card .number, .service-card .card-number, .certificate-card .number, .certificate-card .card-number { display:none !important; }
.siepomaga img, .social-badge.siepomaga img { display:block; margin:auto; object-fit:contain; object-position:center; }
.location-code { font:inherit !important; font-weight:inherit !important; color:inherit !important; opacity:inherit !important; }
.contact-map { width:100%; min-height:420px; border:0; border-radius:18px; filter:grayscale(1); display:block; }
.footer-bottom { display:flex !important; align-items:center !important; justify-content:center !important; flex-wrap:nowrap !important; gap:.8rem !important; white-space:nowrap !important; }
@media(max-width:700px){.service-card,.certificate-card{padding-block:.85rem!important}.contact-map{min-height:300px;border-radius:14px}}
@media(max-width:640px){.footer-bottom{white-space:normal!important;flex-wrap:wrap!important;text-align:center}}

/* ===== END assets/style_v34_add.css ===== */


/* ===== BEGIN assets/style_v35_add.css ===== */

/* V3.5 — targeted fixes */
/* Siepomaga: exact centered graphic, no text/SVG fallback */
.partner-row .partner-img.siepomaga-img{width:118px;height:30px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.partner-row .partner-img.siepomaga-img img{display:block;width:100px;height:30px;max-height:none;object-fit:contain;object-position:center center;margin:0;transform:none;}
/* Postal codes: identical weight and tone to the address text */
.footer .location-item .postal-code{display:inline;color:#89949c;font-family:inherit;font-size:11px;font-weight:400;letter-spacing:0;line-height:inherit;opacity:1;margin:0;}
.footer .location-item span:not(.postal-code){font-weight:400;}

/* ===== END assets/style_v35_add.css ===== */


/* ===== BEGIN assets/style_v39_add.css ===== */


/* V3.9: Siepomaga uses the same outer button as every neighboring partner link.
   Only the inner artwork is normalized. */
.partner-row a.partner-link img[src*="siepomaga"]{
  display:block;
  width:auto;
  max-width:82%;
  height:22px;
  max-height:70%;
  margin:auto;
  object-fit:contain;
  object-position:center;
}

/* ===== END assets/style_v39_add.css ===== */


/* ===== BEGIN assets/style_v392_add.css ===== */


.location-item{display:flex!important;align-items:baseline!important;column-gap:4px!important;row-gap:0!important;}
.location-item .postal-code{display:inline-block!important;flex:0 0 auto!important;margin:0!important;padding:0!important;}
.location-item .postal-code + *{display:inline-block!important;margin:0!important;padding:0!important;}

/* ===== END assets/style_v392_add.css ===== */


/* ===== BEGIN assets/style_v400_add.css ===== */

/* ELTELSAT INSTALACJE — V4.0: SEO + mobile polish */
.seo-local-text{max-width:860px;margin:0 0 24px;color:#5f6b73;font-size:15px;line-height:1.7}
@media(max-width:800px){
  .seo-local-text{font-size:15px;line-height:1.65;margin-bottom:20px}
  .actions .btn{min-height:46px;display:flex;align-items:center;justify-content:center}
  .site-nav a{min-height:46px;display:flex;align-items:center}
}
@media(max-width:520px){
  .seo-local-text{font-size:15px;line-height:1.65}
  .hero h1{font-size:35px}
}

/* V4.6 — Shelly links: typography/layout match, no permanent underline */
.shelly-link{
  display:inline;
  color:#66747d !important;
  font-family:Roboto,Arial,sans-serif !important;
  font-size:inherit !important;
  font-weight:500 !important;
  line-height:inherit !important;
  text-decoration:none !important;
  border:0 !important;
  background:none !important;
  margin:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  transition:color .2s ease;
}
.shelly-link:hover,
.shelly-link:focus{
  color:#7da9d2 !important;
  text-decoration:none !important;
  border:0 !important;
}

/* V4.73 — QR kontakt: jeden spójny, jasny wiersz bez osobnego tła QR */
.contact-grid{
  grid-template-columns:minmax(0,1fr) minmax(280px,.95fr) 160px;
  gap:38px;
  align-items:center;
}
.contact-qr-wrap{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  margin:0;
}
.contact-qr-card{
  display:flex;
  align-items:center;
  justify-content:center;
  width:146px;
  height:146px;
  padding:4px;
  background:transparent;
  border:1px solid #d9dfe2;
  border-radius:6px;
  box-sizing:border-box;
  text-decoration:none;
  box-shadow:none;
}
.contact-qr-card img{
  display:block;
  width:136px;
  height:136px;
  margin:0;
  background:#fff;
  border-radius:2px;
}
@media(max-width:900px){
  .contact-grid{grid-template-columns:1fr 1fr;gap:28px}
  .contact-qr-wrap{grid-column:1 / -1;justify-content:flex-start;margin-top:4px}
}
@media(max-width:800px){
  .contact-grid{grid-template-columns:1fr}
  .contact-qr-wrap{grid-column:auto;justify-content:flex-start;margin-top:4px}
  .contact-qr-card{width:146px;height:146px}
}

/* V4.74 — kontakt: ujednolicenie całego wiersza kontaktowego */
.contact-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) 180px;
  gap:48px;
  align-items:center;
}
.contact-grid > div{min-width:0}
.address{
  background:transparent;
  color:#10161b;
  border:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.address strong{margin-top:10px;color:#10161b;font-size:15px;font-weight:700}
.address strong:first-child{margin-top:0}
.address span{color:#657079;font-size:14px}
.contact-qr-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
}
.contact-qr-card{
  display:flex;
  align-items:center;
  justify-content:center;
  width:166px;
  height:166px;
  padding:3px;
  background:transparent;
  border:1px solid #bfc8ce;
  border-radius:5px;
  box-sizing:border-box;
  text-decoration:none;
  box-shadow:none;
}
.contact-qr-card img{
  display:block;
  width:158px;
  height:158px;
  margin:0;
  background:#fff;
  border-radius:1px;
}
.contact-number{font-size:clamp(34px,4vw,46px)}
/* Tablet portrait: keep the three-part contact row when it still fits. */
@media (min-width:701px) and (max-width:980px){
  .contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 136px;gap:16px}
  .contact-number{font-size:clamp(30px,5vw,40px)}
  .contact-qr-card{width:136px;height:136px;padding:3px}
  .contact-qr-card img{width:128px;height:128px}
}
@media(max-width:700px){
  .contact-grid{grid-template-columns:1fr;gap:28px}
  .contact-qr-wrap{grid-column:auto;justify-content:flex-start;margin-top:0}
}

/* V4.76 — iPad portrait: keep the three-part contact row from 701px upward. */
@media (min-width:701px){
  .contact-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 136px;
    gap:16px;
  }
  .contact-qr-wrap{
    grid-column:auto;
    justify-content:center;
    margin-top:0;
  }
}
@media (min-width:981px){
  .contact-grid{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) 180px;
    gap:48px;
  }
  .contact-qr-card{width:166px;height:166px;padding:3px}
  .contact-qr-card img{width:158px;height:158px}
}
/* V4.78 — buttons on light sections: dark text in normal state and on hover */
.btn{
  transition:background-color .2s ease,border-color .2s ease,color .2s ease;
}
.section-light .btn-outline{
  background:transparent;
  border-color:#65747d;
  color:#10161b !important;
}
.section-light .btn-outline:hover,
.section-light .btn-outline:focus-visible{
  background:#dfe4e7;
  border-color:#9aa7af;
  color:#10161b !important;
}

/* V4.793 — header spacing correction
   Restore the established desktop menu proportions. The language switch remains
   in the upper-right corner, but is kept safely inside the content area.
*/
@media (min-width:1051px){
  .header-inner{gap:28px;align-items:center}
  .brand{min-width:250px}
  .site-nav{justify-content:center;gap:24px}
  .header-contact{
    min-width:200px;
    display:flex;
    flex-direction:column;
    gap:3px;
    align-items:initial;
    text-align:initial;
    padding-top:0;
    align-self:center;
  }
  .header-contact a:first-child{
    font-size:14px;
    font-weight:600;
    color:#d9dfe3;
    line-height:1.55;
  }
  .header-contact a:last-child{
    font-size:12px;
    color:#d9dfe3;
    line-height:1.55;
  }
  .lang-switch{
    position:absolute;
    right:12px;
    top:5px;
    z-index:3;
    display:flex;
    align-items:center;
    gap:6px;
  }
}
/* Intermediate desktop/tablet: keep the contact block independent of the language switch. */
@media (min-width:901px) and (max-width:1050px){
  .header-inner{gap:18px}
  .brand{min-width:230px}
  .site-nav{justify-content:flex-start;gap:15px}
  .header-contact{display:flex;min-width:185px;padding-top:0;align-self:center;align-items:flex-end;text-align:right}
  .header-contact a:first-child{font-size:14px;font-weight:700;color:#f1f4f6}
  .header-contact a:last-child{font-size:11px;color:#b9c2c8}
  .lang-switch{position:absolute;right:12px;top:5px;z-index:3}
}
/* Compact/tablet and mobile header. */
.header-inner{position:relative}
.lang-switch{
  font-family:Roboto,Arial,sans-serif;
  font-size:10px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.5px;
}
.lang-switch a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  min-height:22px;
  padding:4px 5px;
  color:#7f8a92;
  text-decoration:none;
  border:0;
  background:transparent;
  border-radius:2px;
}
.lang-switch a:hover,
.lang-switch a:focus-visible{color:#d7dde1;background:rgba(255,255,255,.04);outline:none}
.lang-switch a.active{color:#eef1f3;font-weight:700}
.lang-switch .sep{color:#3e4850;user-select:none}
@media(max-width:900px){
  .header-contact{display:none}
  .lang-switch{position:absolute;right:52px;top:50%;transform:translateY(-50%);z-index:3;display:flex;align-items:center;gap:6px}
  .lang-switch a{min-width:30px;min-height:26px;padding:5px}
}
@media(max-width:520px){
  .lang-switch{right:50px}
}
/* V4.794 — Shelly badge unified with the other partner buttons. */
.partner-row .shelly-partner{
  width:100px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:.58;
  filter:grayscale(1);
  overflow:hidden;
}
.partner-row .shelly-partner img{
  display:block;
  width:100px;
  height:32px;
  max-width:none;
  max-height:none;
  object-fit:contain;
  transform:none;
}
.partner-row .shelly-partner:hover{opacity:.82}
/* Give Samsung Internet an explicit supported scheme so its newer force-dark integration can defer to site styles. */
html{color-scheme:dark light}
/* Keep the partner row usable on narrow screens; badges move to the next line instead of being squeezed. */
@media(max-width:800px){
  .partner-row{flex-wrap:wrap;row-gap:12px}
}

/* V4.795 — desktop header: clearer separation of language switch from contact block.
   Keep the V4.793 menu/brand proportions unchanged. Make PL | ENG compact and
   anchor it safely to the right edge of the content wrapper. */
@media (min-width:1051px){
  .header-contact{
    align-self:center;
    padding-top:4px;
  }
  .lang-switch{
    right:0;
    top:5px;
    gap:2px;
    font-size:10px;
    letter-spacing:.35px;
  }
  .lang-switch a{
    min-width:0;
    min-height:0;
    padding:2px 1px;
  }
  .lang-switch .sep{
    margin:0 1px;
  }
}

/* V4.795 — intermediate desktop/tablet: compact language switch without
   changing the established menu/contact proportions. */
@media (min-width:901px) and (max-width:1050px){
  .lang-switch{
    right:0;
    top:5px;
    gap:2px;
    font-size:10px;
    letter-spacing:.35px;
  }
  .lang-switch a{
    min-width:0;
    min-height:0;
    padding:2px 1px;
  }
  .lang-switch .sep{margin:0 1px}
}

/* V4.796 — technical SEO audit: no visual/layout changes. Header and partner bars remain unchanged. */

/* V4.797 — performance audit: intrinsic image dimensions and loading hints are handled in HTML; no visual/layout rules changed. */

/* V4.799 — GEO/AI visibility content update. No visual/layout rules changed. Top bar V4.795 and partner bar remain unchanged. */


/* V4.8 — production version marker: visible only on standard large desktop/laptop widths.
   No footer layout changes on smaller screens; top bar V4.795 and partner bar remain unchanged. */
.footer-bottom{position:relative}
.site-version{display:none!important}
@media (min-width:1200px){
  .footer-bottom .site-version{
    display:block!important;
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    margin:0!important;
    padding:0!important;
    color:#56616a!important;
    font-family:Roboto,Arial,sans-serif!important;
    font-size:9px!important;
    line-height:1!important;
    font-weight:400!important;
    letter-spacing:.15px!important;
    text-decoration:none!important;
    white-space:nowrap;
  }
}

@media (max-width:1199px){
  .footer-bottom .site-version{
    display:block!important;
    position:static!important;
    transform:none!important;
    margin:5px 0!important;
    padding:0!important;
    color:#56616a!important;
    font-family:Roboto,Arial,sans-serif!important;
    font-size:9px!important;
    line-height:1.2!important;
    font-weight:400!important;
    letter-spacing:.15px!important;
    white-space:nowrap;
  }
}

/* V4.9 — technical cleanup based on Morningscore crawl. No visual/layout rules changed. Header V4.795 and partner bar remain unchanged. */


/* V4.99 — Shelly installer-directory evidence image; responsive, grayscale, contained within the existing certificate tile. */
/* V4.100 — show the site version below 1200px as well; keep the existing desktop placement. */
.shelly-map-figure{margin:14px 0 0;max-width:100%;}
.shelly-installer-map{display:block;width:100%;max-width:100%;height:170px;object-fit:contain;object-position:left center;filter:grayscale(1);border:1px solid #d9dfe2;border-radius:2px;}
.shelly-map-figure figcaption{margin-top:5px;color:#7b858b;font-size:10px;line-height:1.45;}





/* V4.121 — production version marker: only large desktop screens. */
.site-version{display:none!important}
@media (min-width:1200px){
  .footer-bottom .site-version{
    display:block!important;position:absolute;right:0;top:50%;transform:translateY(-50%);
    margin:0!important;padding:0!important;color:#56616a!important;
    font-family:Roboto,Arial,sans-serif!important;font-size:9px!important;
    line-height:1!important;font-weight:400!important;letter-spacing:.15px!important;
    text-decoration:none!important;white-space:nowrap;
  }
}

/* V4.132 — documentation tile: keep the original three-column grid and match the Shelly map dimensions. */
.documentation-figure{margin:14px 0 0;max-width:100%;width:100%;}
.documentation-image{display:block;width:100%;max-width:100%;height:170px;object-fit:contain;object-position:left center;filter:grayscale(1);border:1px solid #d9dfe2;border-radius:2px;box-sizing:border-box;}
.documentation-figure figcaption{margin-top:5px;color:#7b858b;font-size:10px;line-height:1.45;}
.documentation-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:12px;max-width:100%;}
.documentation-links a{display:block;max-width:100%;line-height:1.5;}



/* V4.147 — unified text-link treatment across Polish and English pages.
   Text links use typography and a restrained color shift instead of browser-default underlines.
   Navigation, buttons, image/logo links and card links retain their dedicated treatments. */
a {
  text-decoration: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
}
main a:not(.btn):not(.service-card):not(.contact-qr-card):not(.gallery-card):not(.cert-card):not(.external-link):not(.partner-link):not(.partner-img):not(.social-badge):not(.shelly-partner),
.footer a:not(.footer-brand):not(.partner-link):not(.partner-img):not(.social-badge),
.legal-line a,
.footer-bottom a,
.documentation-links a {
  text-decoration: none !important;
  transition: color .18s ease, font-weight .18s ease;
}
main a:not(.btn):not(.service-card):not(.contact-qr-card):not(.gallery-card):not(.cert-card):not(.external-link):not(.partner-link):not(.partner-img):not(.social-badge):not(.shelly-partner):hover,
main a:not(.btn):not(.service-card):not(.contact-qr-card):not(.gallery-card):not(.cert-card):not(.external-link):not(.partner-link):not(.partner-img):not(.social-badge):not(.shelly-partner):focus-visible,
.footer a:not(.footer-brand):not(.partner-link):not(.partner-img):not(.social-badge):hover,
.footer a:not(.footer-brand):not(.partner-link):not(.partner-img):not(.social-badge):focus-visible,
.legal-line a:hover,
.legal-line a:focus-visible,
.footer-bottom a:hover,
.footer-bottom a:focus-visible,
.documentation-links a:hover,
.documentation-links a:focus-visible {
  color: var(--accent, #7da9d2);
  text-decoration: none !important;
  font-weight: 600;
}
main a:not(.btn):not(.service-card):not(.contact-qr-card):not(.gallery-card):not(.cert-card):not(.external-link):not(.partner-link):not(.partner-img):not(.social-badge):not(.shelly-partner):focus-visible,
.footer a:not(.partner-link):not(.partner-img):not(.social-badge):focus-visible,
.legal-line a:focus-visible,
.footer-bottom a:focus-visible,
.documentation-links a:focus-visible {
  outline: 1px solid var(--accent, #7da9d2);
  outline-offset: 3px;
  border-radius: 1px;
}

/* ===== END assets/style_v400_add.css ===== */



/* V4.147 — consistent editorial links on the Polish and English homepages.
   Keep navigation, buttons, cards and image links on their dedicated styles. */
main .hero-copy a:not(.btn),
main .two-col a:not(.btn),
main .seo-local-text a,
main .section-light a:not(.btn):not(.service-card):not(.partner-img),
main .section-dark a:not(.btn):not(.service-card):not(.partner-img) {
  text-decoration: none;
  text-underline-offset: .18em;
  transition: color .18s ease, font-weight .18s ease;
}
main .hero-copy a:not(.btn):hover,
main .two-col a:not(.btn):hover,
main .seo-local-text a:hover,
main .section-light a:not(.btn):not(.service-card):not(.partner-img):hover,
main .section-dark a:not(.btn):not(.service-card):not(.partner-img):hover,
main .hero-copy a:not(.btn):focus-visible,
main .two-col a:not(.btn):focus-visible,
main .seo-local-text a:focus-visible,
main .section-light a:not(.btn):not(.service-card):not(.partner-img):focus-visible,
main .section-dark a:not(.btn):not(.service-card):not(.partner-img):focus-visible {
  color: var(--accent, #7da9d2);
  text-decoration: none;
  font-weight: 600;
}

/* V4.147 — the producer panel sits at the bottom of the middle certificate card. */
.cert-grid { align-items: stretch; }
.cert-grid .cert-card { display: flex; flex-direction: column; min-width: 0; }
.producer-logos-figure { width: 100%; margin: auto 0 0; padding-top: 26px; }
.producer-logos-image { display: block; width: 100%; max-width: 100%; height: auto; max-height: 170px; object-fit: contain; object-position: center bottom; }

/* V4.147 — readable, responsive editorial text on both About pages. */
.about-copy { min-width: 0; }
.about-copy p { line-height: 1.78; margin-top: 0; margin-bottom: 1.05em; overflow-wrap: break-word; }
@media (min-width: 801px) {
  .about-copy p { text-align: justify; text-justify: inter-word; hyphens: auto; }
}
@media (max-width: 800px) {
  .about-copy p { text-align: left; line-height: 1.7; }
  .producer-logos-figure { padding-top: 22px; }
  .producer-logos-image { max-height: 145px; }
}
@media (max-width: 520px) {
  .producer-logos-image { max-height: 115px; }
}


/* V4.147 — keep the homepage warranty text link typographically stable on hover.
   The shared hover rule changes font-weight and can make this long inline link reflow. */
main .stable-text-link,
main .stable-text-link:hover,
main .stable-text-link:focus-visible {
  display: inline;
  font-weight: inherit !important;
  text-decoration: none !important;
  transition: color .18s ease;
}
main .stable-text-link:hover,
main .stable-text-link:focus-visible {
  color: var(--accent, #7da9d2);
}


/* V4.150 — stable hover typography for warranty/certificate links; avoid text reflow. */
main .stable-text-link,
main .stable-text-link:hover,
main .stable-text-link:focus-visible,
main .about-cert-link,
main .about-cert-link:hover,
main .about-cert-link:focus-visible { font-weight:inherit !important; display:inline; text-decoration:none !important; transition:color .18s ease; }
main .about-cert-link:hover, main .about-cert-link:focus-visible { color:var(--accent,#7da9d2); }
