/* 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}
}
