:root{--sat-blue:#0867c8;--sat-dark:#09243b;--sat-light:#f4f8fc}
html{scroll-behavior:smooth} body{font-family:Arial,Helvetica,sans-serif;color:#14202b;background:#fff}
.topbar{background:var(--sat-dark);color:#fff}.topbar a{color:#fff;text-decoration:none}
.navbar-brand strong{display:block;font-size:2rem;line-height:.85;color:#15263a}.navbar-brand small{display:block;font-size:.68rem;color:#52606d}
.brand-mark{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:var(--sat-blue);color:#fff;font-size:1.45rem}
.nav-link{font-weight:700;color:#182333!important}.btn-primary{background:var(--sat-blue);border-color:var(--sat-blue);font-weight:700}
.hero{position:relative;color:#fff;background:linear-gradient(115deg,#132b3d 0%,#31516a 52%,#b8cbd8 100%);overflow:hidden}

.hero-image{position:absolute;top:0;right:0;width:55%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#04101c 0%,rgba(4,16,28,.96) 35%,rgba(4,16,28,.78) 55%,rgba(4,16,28,.12) 80%,rgba(4,16,28,.05) 100%)}
.min-vh-hero{min-height:520px}.hero h1{font-size:clamp(2.8rem,5.3vw,5rem);font-weight:800;line-height:1.02;letter-spacing:-.04em}
.hero .lead{max-width:600px}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.2em}
.service-wrap{position:relative;margin-top:-50px;z-index:5}.service-card{background:#fff;border-radius:14px;padding:28px;box-shadow:0 10px 35px rgba(15,39,64,.12);display:flex;gap:22px;align-items:center}
.service-card h3{font-weight:800}.service-card p{color:#637080;margin-bottom:.4rem}.service-card a{font-weight:700;text-decoration:none}
.service-icon{min-width:74px;height:74px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:2rem}.blue{background:#0873da}.green{background:#19a95b}.orange{background:#e96523}
.benefits{background:linear-gradient(#fff,#f3f8fc)}.benefit-icon{font-size:2.8rem;color:var(--sat-blue)}.benefits h3{font-weight:800;margin-top:12px}.benefits p{color:#66727d}
.about h2,.availability h2{font-weight:800;font-size:clamp(2rem,3vw,3rem)}
.stats strong{display:block;color:var(--sat-blue);font-size:2rem}.stats span{display:block;color:#64717c}
.network-visual{min-height:360px;border-radius:18px;padding:45px;color:#fff;display:flex;flex-direction:column;justify-content:end;background:linear-gradient(135deg,#1475c9,#62a8df 55%,#0b4f83);box-shadow:0 18px 45px rgba(16,77,125,.18);position:relative;overflow:hidden}
.network-visual:after{content:"";position:absolute;right:-50px;top:-50px;width:260px;height:260px;border:3px solid rgba(255,255,255,.35);border-radius:50%;box-shadow:0 0 0 35px rgba(255,255,255,.08),0 0 0 70px rgba(255,255,255,.05)}
.network-visual>i{font-size:4rem}.network-visual h3{font-size:2.2rem;font-weight:800;position:relative;z-index:1}
.availability{background:#eef7fd}.map-icon{min-width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:#d8efff;color:var(--sat-blue);font-size:2.5rem}
.footer{background:#09243b;color:#c9d4de}.footer h2{color:#fff;font-weight:800}.footer a{display:block;color:#c9d4de;text-decoration:none;margin:.45rem 0}.footer a:hover{color:#fff}.footer-brand{font-size:2rem;color:#fff;font-weight:800}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);font-size:.85rem}
@media(max-width:991px){.service-wrap{margin-top:0;padding-top:20px}.min-vh-hero{min-height:480px}.navbar-nav{padding:1rem 0}}
@media(max-width:575px){.hero h1{font-size:2.65rem}.service-card{padding:20px}.service-icon{min-width:60px;height:60px}.topbar{font-size:.72rem}.stats strong{font-size:1.5rem}}

/* Navigation, content and keyboard accessibility. */
:root{--bs-primary-rgb:8,103,200;--bs-link-color:#0867c8;--bs-link-hover-color:#064f9a}
body{overflow-wrap:break-word}h2{font-weight:800}a{text-underline-offset:.2em}
[id]{scroll-margin-top:110px}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #0867c8;outline-offset:5px;box-shadow:0 0 0 7px #fff}
.skip-link{position:fixed;top:12px;left:12px;z-index:2000;padding:12px 20px;background:#fff;color:#09243b;transform:translateY(-180%);border:2px solid #0867c8;border-radius:6px}.skip-link:focus{transform:translateY(0)}
.hero>.container{z-index:1}.hero-overlay,.network-visual:after{pointer-events:none}.hero .row{padding-bottom:40px}
.hero{background:linear-gradient(115deg,#132b3d,#31516a)}
.network-visual{background:linear-gradient(135deg,#09599e,#226b9f 55%,#093f69)}.network-visual>*{position:relative;z-index:1}
.section-heading{max-width:760px;margin-bottom:2rem}.section-heading h2,.business h2{font-size:clamp(1.8rem,3vw,2.6rem)}
.detail-card{display:flex;flex-direction:column;gap:.75rem;padding:2rem;border:1px solid #dce6ef;border-radius:14px;background:#fff;box-shadow:0 8px 28px rgba(15,39,64,.05)}
.detail-card h3{font-size:1.4rem;font-weight:700}.detail-card p,.detail-card ul{color:#52606d}.detail-card li,.business-card li{margin-bottom:.65rem}.detail-card ul,.business-card ul{padding-left:1.25rem}
.business{background:#0b477d;color:#fff}.business-card{padding:2rem;border:1px solid #668baa;border-radius:14px;background:#123e66}
.availability-contact{padding:1.5rem;background:white;border-radius:14px}.service-card>div:last-child{min-width:0}
.topbar a,.footer a{display:inline-flex;align-items:center;min-height:32px}.footer a{display:flex;min-height:36px}.footer a:hover,.topbar a:hover{text-decoration:underline}
.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;white-space:normal}.nav-link{min-height:44px}
@media(min-width:992px) and (max-width:1199.98px){.navbar-brand strong{font-size:1.7rem}.navbar .nav-link{font-size:.875rem;padding-left:.4rem;padding-right:.4rem}.navbar .btn{font-size:.875rem}.service-card{padding:20px;gap:14px}.service-icon{min-width:56px;height:56px}}
@media(max-width:991.98px){[id]{scroll-margin-top:90px}.navbar-collapse{max-height:calc(100dvh - 100px);overflow-y:auto}.navbar-nav{align-items:stretch}.navbar-nav .btn{width:100%}.hero .row{padding-bottom:0}.service-card{align-items:flex-start}.navbar-toggler{min-width:48px;min-height:48px}}
@media(max-width:575.98px){.topbar .gap-4{gap:.5rem 1rem!important}.topbar .container{font-size:.8rem}.hero h1{font-size:clamp(2.2rem,10vw,2.65rem)}.hero .btn{width:100%}.hero .lead{font-size:1.1rem}.min-vh-hero{min-height:auto}.eyebrow{letter-spacing:.12em}.detail-card,.business-card{padding:1.25rem}.network-visual{padding:24px;min-height:280px}.network-visual h3{font-size:1.8rem}.map-icon{min-width:48px;height:48px;font-size:1.5rem}.availability .align-items-center{align-items:flex-start!important}.availability h2{font-size:1.75rem}.availability-contact .btn{width:100%}.stats span{font-size:.85rem}.benefits h3{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* On smaller screens the photograph fills the hero behind the text. */
@media(max-width:991.98px){.hero-image{width:100%}.hero-overlay{background:linear-gradient(90deg,rgba(4,16,28,.88),rgba(4,16,28,.72))}}

/* Desktop sizing; mobile layout and existing colors stay unchanged. */
@media (min-width: 992px) {
  .container { max-width: 1320px; }
  .navbar-brand strong { font-size: 2.4rem; }
  .navbar-brand small { font-size: .816rem; }
  .navbar .brand-mark { width: 52px; height: 52px; font-size: 1.74rem; }
  .hero .min-vh-hero { min-height: 560px; }
  .hero h1 { font-size: clamp(3.5rem, 5.7vw, 5.35rem); }
  .hero .lead { font-size: 1.375rem; }
  .service-wrap { margin-top: -55px; }
  .service-wrap .row { --bs-gutter-x: 1.5rem; }
  .service-card { min-height: 210px; padding: 32px; gap: 24px; }
  .service-card h3 { font-size: 1.95rem; }
  .service-card p, .service-card a { font-size: 1.125rem; }
  .service-icon { min-width: 84px; height: 84px; font-size: 2.25rem; }
  .benefits { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; }
  .benefit-icon { font-size: 3.15rem; }
  .benefits h3 { font-size: 1.375rem; margin-top: 14px; }
  .benefits p { font-size: 1.1rem; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .navbar-brand strong { font-size: 2.04rem; }
  .service-card { padding: 24px; gap: 16px; }
  .service-icon { min-width: 64px; height: 64px; }
}

/* Navigation logo: preserve the image aspect ratio. */
.navbar-logo { display: block; height: 50px; max-height: 50px; width: auto; object-fit: contain; }
@media (min-width: 992px) {
  .navbar-logo { height: 70px; max-height: 70px; }
}

/* Internet pricing only. Bootstrap handles accessible technology tabs. */
#programy .pricing-tabs { display: inline-flex; gap: .35rem; padding: .35rem; background: #eef7fd; border: 1px solid #dce6ef; border-radius: 14px; }
#programy .pricing-tabs .nav-link { padding: .75rem 1.25rem; border-radius: 10px; color: var(--sat-blue) !important; }
#programy .pricing-tabs .nav-link.active { background: var(--sat-blue); color: #fff !important; }
#programy .pricing-card { border: 1px solid #dce6ef; border-radius: 14px; transition: border-color .2s, box-shadow .2s; }
#programy .pricing-card:hover, #programy .pricing-card:focus-within { border-color: var(--sat-blue); box-shadow: 0 8px 24px rgba(8,103,200,.14); }
#programy .pricing-header { display: flex; align-items: center; justify-content: center; min-height: 82px; padding: 1rem; border: 0; border-radius: 13px 13px 0 0; background: var(--sat-blue); color: #fff; }
#programy .pricing-header h3 { margin: 0; font-size: 1.15rem; font-weight: 700; }
#programy .pricing-card .card-body { padding: 1.25rem; }
#programy .pricing-download, #programy .pricing-price { font-size: 2.5rem; font-weight: 800; line-height: 1.2; color: var(--sat-blue); }
#programy .pricing-download span { font-size: 1.1rem; font-weight: 600; }
#programy .pricing-card hr { margin: 1rem 0; border-color: #dce6ef; opacity: 1; }
@media (max-width: 575.98px) {
  #programy .pricing-tabs { display: flex; }
  #programy .pricing-tabs .nav-link { flex: 1; padding: .75rem .5rem; font-size: .9rem; }
}

/* Keep the spam trap out of visual layout and keyboard navigation. */
#interestForm .interest-trap { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Active navigation state limited to the television page. */
.tv-page .navbar .nav-link[aria-current="page"] { color: var(--sat-blue) !important; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .4em; }

/* TV hero artwork and framing. */
.tv-page .tv-hero {
  background-image: url('../img/hero-tv.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.tv-page .tv-hero .hero-overlay { display: none; }
@media (max-width: 991.98px) {
  .tv-page .tv-hero { background-position: 70% center; }
  .tv-page .tv-hero .hero-overlay {
    display: block;
    background: linear-gradient(90deg, rgba(4,16,28,.86), rgba(4,16,28,.68));
  }
}

/* Keep TV hero copy within the left portion of the artwork. */
.tv-page .tv-hero .tv-hero-content { max-width: 484px; }
.tv-page .tv-hero h1 { font-size: clamp(2.2rem, 4vw, 3.25rem); line-height: 1.05; }
.tv-page .tv-hero .lead { max-width: 460px; font-size: 1.125rem; }
.tv-page .tv-hero .tv-hero-actions { flex-wrap: nowrap !important; }
.tv-page .tv-hero .tv-hero-actions .btn { width: auto; font-size: 1rem; padding: .75rem 1rem; }
@media (min-width: 992px) {
  .tv-page .tv-hero { background-position: center center; }
}
@media (max-width: 575.98px) {
  .tv-page .tv-hero .tv-hero-content { max-width: 100%; }
  .tv-page .tv-hero .tv-hero-actions { gap: .5rem !important; }
  .tv-page .tv-hero .tv-hero-actions .btn { font-size: .875rem; padding: .65rem .7rem; }
  .tv-page .tv-hero .lead { font-size: 1rem; }
}

/* TV packages: three generous columns, with the last two centered. */
#tv-baliky .tv-package { border: 1px solid #dce6ef; border-radius: 14px; box-shadow: 0 6px 20px rgba(8,103,200,.06); transition: border-color .2s, box-shadow .2s; }
#tv-baliky .tv-package:hover, #tv-baliky .tv-package:focus-within { border-color: var(--sat-blue); box-shadow: 0 10px 28px rgba(8,103,200,.14); }
#tv-baliky .card-header { display: flex; align-items: center; justify-content: center; min-height: 80px; padding: 1rem; background: var(--sat-blue); color: #fff; border: 0; border-radius: 13px 13px 0 0; }
#tv-baliky .card-header h3 { margin: 0; font-size: 1.35rem; font-weight: 700; text-align: center; }
#tv-baliky .card-body { padding: 1.5rem; }
#tv-baliky .tv-channel-count, #tv-baliky .tv-package-price { font-size: 2.5rem; line-height: 1.2; font-weight: 800; color: var(--sat-blue); }
#tv-baliky .tv-package ul { padding-left: 1.25rem; }

/* Station logos, scoped to the channel modal. */
#tvStationsModal .tv-station-card { position: relative; padding: 1rem .65rem; background: #fff; border: 1px solid #dce6ef; border-radius: 12px; text-align: center; box-shadow: 0 3px 12px rgba(8,103,200,.04); }
#tvStationsModal .tv-station-logo { height: 80px; display: flex; align-items: center; justify-content: center; margin-bottom: .75rem; }
#tvStationsModal .tv-station-logo img { width: 100%; height: 100%; object-fit: contain; }
#tvStationsModal .tv-station-fallback { font-size: .9rem; font-weight: 700; color: var(--sat-blue); overflow-wrap: anywhere; }
#tvStationsModal .tv-station-name { display: block; font-size: .8rem; line-height: 1.35; overflow-wrap: anywhere; }
#tvStationsModal .tv-station-card .badge { margin-top: .5rem; background-color: var(--sat-blue) !important; }

/* Equal channel tile height, including stations without an HD badge. */
#tvStationsModal .tv-station-card { min-height: 190px; }
#tvStationsModal .tv-station-name { min-height: 2.7em; }

#tv-baliky .tv-customer-price { min-height: 48px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .35rem; }

/* Supported devices: styles scoped to the standalone TV section. */
.tv-supported-platforms{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
.tv-supported-platforms li{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:132px;padding:1.25rem .75rem;text-align:center;color:var(--sat-dark);background:var(--sat-light);border:1px solid #dce8f3;border-radius:12px;overflow-wrap:anywhere;transition:border-color .2s ease,box-shadow .2s ease}
.tv-supported-platforms h3{font-weight:700}
.tv-supported-platforms li:hover{border-color:var(--sat-blue);box-shadow:0 6px 18px rgb(9 36 59 / 8%)}
.tv-supported-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.tv-supported-types li{display:flex;align-items:flex-start;gap:.65rem;font-size:.95rem;overflow-wrap:anywhere}
.tv-supported-types i{color:var(--sat-blue);font-size:1.4rem;flex-shrink:0}
.tv-supported-visual{padding:clamp(1rem,3vw,2.5rem);border-radius:20px;background:var(--sat-light)}
.tv-supported-screen{aspect-ratio:16/9;border:8px solid var(--sat-dark);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;color:#fff;background:linear-gradient(135deg,var(--sat-dark),var(--sat-blue));box-shadow:0 12px 26px rgb(9 36 59 / 14%)}
.tv-supported-screen i{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1}
.tv-supported-screen span{font-size:clamp(1rem,2vw,1.4rem);font-weight:700}
.tv-supported-stand{height:22px;width:30%;margin:0 auto 1.5rem;border-bottom:6px solid var(--sat-dark);background:linear-gradient(to right,transparent 42%,var(--sat-dark) 42%,var(--sat-dark) 58%,transparent 58%);border-radius:0 0 5px 5px}
.tv-supported-connections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;text-align:center;color:var(--sat-dark);font-size:.8rem}
.tv-supported-connections span{display:flex;flex-direction:column;gap:.25rem;align-items:center;overflow-wrap:anywhere}
.tv-supported-connections i{color:var(--sat-blue);font-size:1.7rem}
@media(min-width:576px){.tv-supported-platforms{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1200px){.tv-supported-platforms{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Installation links in supported-platform cards. */
.tv-supported-platforms li{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.tv-supported-platforms li:hover,.tv-supported-platforms li:focus-within{border-color:var(--sat-blue);box-shadow:0 6px 18px rgb(9 36 59 / 8%);transform:translateY(-2px)}
.tv-supported-platforms .tv-device-link{color:var(--sat-blue);text-underline-offset:3px;padding:.35rem 0}
.tv-supported-platforms .tv-device-link:focus-visible{outline:2px solid var(--sat-blue);outline-offset:4px;border-radius:3px}
@media(prefers-reduced-motion:reduce){.tv-supported-platforms li:hover,.tv-supported-platforms li:focus-within{transform:none}}

/* Locally hosted platform logos; preserve original proportions and colors. */
.tv-supported-platforms .tv-device-logo{height:64px;width:100%;display:flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;margin-bottom:.75rem}
.tv-supported-platforms .tv-device-logo img{display:block;width:auto;height:auto;max-height:42px;max-width:min(150px,100%);object-fit:contain}
.tv-supported-platforms .tv-device-logo-pair img{max-width:calc((100% - 12px)/2);max-height:36px}

/* Official interface image inside the unchanged TV frame. */
.tv-supported-screen{position:relative;overflow:hidden;background:var(--sat-dark)}
.tv-supported-screen .tv-supported-interface{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}

/* Contact page only. */
.contact-page .contact-intro{background-color:var(--sat-light);background-image:url("../img/hero-contact.webp");background-size:cover;background-position:60% center;color:var(--sat-dark)}
.contact-intro-copy{max-width:720px}
.contact-page .contact-direct{display:inline-flex;align-items:center;min-height:48px;font-size:1.15rem;overflow-wrap:anywhere;max-width:100%}
.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-page .detail-card{min-width:0}
@media(max-width:575.98px){.contact-page #contactForm button[type=submit]{width:100%}}

/* Contact billing and people sections. */
.contact-page .contact-billing{background:var(--sat-light)}
.contact-page .contact-billing-card{display:flex;flex-direction:column;min-width:0;padding:clamp(1.25rem,3vw,2rem);background:#fff;border:1px solid #dce8f3;border-radius:14px;box-shadow:0 5px 18px rgb(9 36 59 / 5%)}
.contact-page .contact-billing-details{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.5rem}
.contact-page .contact-billing-details dd{margin:0;overflow-wrap:anywhere}
.contact-page .contact-iban{font-family:var(--bs-font-monospace);padding:.75rem;border-radius:8px;background:var(--sat-light);color:var(--sat-dark);overflow-wrap:anywhere}
.contact-page .contact-person-link{display:block;padding:.65rem 0;overflow-wrap:anywhere}

/* Contact hero uses the same height breakpoints as the TV hero. */
.contact-page .contact-hero-content{max-width:484px}
.contact-page .contact-intro h1{font-size:clamp(2.2rem,4vw,3.25rem);line-height:1.05}
.contact-page .contact-intro .lead{max-width:460px;font-size:1.125rem}
@media(max-width:991.98px){.contact-page .contact-intro{background-position:left center}.contact-page .contact-hero-content{max-width:460px}}
@media(max-width:575.98px){.contact-page .contact-intro{background-position:left center}.contact-page .contact-hero-content{max-width:100%}.contact-page .contact-intro .lead{font-size:1rem}}

/* Contact location map, scoped to its existing card. */
.contact-page .contact-location-card{padding:clamp(1rem,2vw,1.5rem)}
.contact-page .contact-map{width:100%;min-width:0;overflow:hidden;border-radius:12px;background:var(--sat-light)}
.contact-page .contact-map iframe{display:block;width:100%;max-width:100%;height:320px;border:0}
@media(max-width:575.98px){.contact-page .contact-map iframe{height:260px}}

/* Technical support page only; hero ready for a future background image. */
.support-page .support-intro{background-color:var(--sat-light);background-image:url("../img/hero-support.webp");background-size:cover;background-position:60% center;color:var(--sat-dark)}
.support-intro .lead{max-width:760px}
.support-report{background:var(--sat-light)}
.support-page .support-direct{display:inline-flex;align-items:center;min-height:48px;font-size:1.15rem;overflow-wrap:anywhere}
.support-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:575.98px){.support-page button[type=submit]{width:100%}}

/* Support hero follows the contact hero dimensions and breakpoints. */
.support-page .support-hero-content{max-width:484px}
.support-page .support-intro h1{font-size:clamp(2.2rem,4vw,3.25rem);line-height:1.05}
.support-page .support-intro .lead{max-width:460px;font-size:1.125rem}
@media(max-width:991.98px){.support-page .support-intro{background-position:left center}.support-page .support-hero-content{max-width:460px}}
@media(max-width:575.98px){.support-page .support-intro{background-position:left center}.support-page .support-hero-content{max-width:100%}.support-page .support-intro .lead{font-size:1rem}}

/* Support document inventory. */
.support-page .support-document-card{background:#fff;border:1px solid #dce8f3;border-radius:14px;overflow:hidden;box-shadow:0 5px 18px rgb(9 36 59 / 5%)}
.support-page .support-document-card h3{background:var(--sat-light);color:var(--sat-dark);font-weight:700;padding:.875rem 1rem!important}
.support-page .support-document-card>p{padding:.5rem 1rem!important;font-size:.8rem}
.support-page .support-document-row{display:flex;align-items:flex-start;gap:.65rem;padding:9px 1rem;border-top:1px solid #e6edf4}
.support-page .support-document-row>i{flex-shrink:0;font-size:1.0625rem}
.support-page .support-document-row>div{min-width:0}
.support-page .support-document-row small{margin-top:0!important;font-size:.7rem;line-height:1.2}
.support-page .support-document-name{font-size:.95rem;overflow-wrap:anywhere}

.support-page .support-document-download>div{flex:1}
.support-page .support-document-download>.btn{flex-shrink:0;white-space:nowrap;min-height:32px;padding:.25rem .55rem;font-size:.8125rem;display:inline-flex;align-items:center}
@media(max-width:575.98px){.support-page .support-document-download{flex-wrap:wrap}.support-page .support-document-download>div{flex-basis:calc(100% - 3rem)}.support-page .support-document-download>.btn{margin-left:1.75rem;min-height:44px;padding:.5rem .75rem;font-size:.875rem}}

/* Shared provider-switching information. */
.support-page .support-switch-panel{border:1px solid #dce8f3;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgb(9 36 59 / 5%)}
.support-page .support-switch-heading{display:flex;gap:1.25rem;padding:2rem;background:linear-gradient(120deg,var(--sat-light),#edf5ff)}
.support-page .support-switch-heading>i{color:var(--sat-blue);font-size:2.5rem;line-height:1.2}
.support-page .support-switch-heading h2{font-size:clamp(1.6rem,2.7vw,2.4rem);font-weight:800;color:var(--sat-dark);margin-bottom:.6rem}
.support-page .support-switch-heading p{color:#59677d;margin:0;max-width:1050px}
.support-page .support-switch-body{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;padding:1.25rem}
.support-page .support-switch-providers{border:1px solid #dce8f3;border-radius:12px;padding:1.25rem;min-width:0}
.support-page .support-switch-card-heading,.support-page .support-switch-info-card{display:flex;align-items:flex-start;gap:1.25rem}
.support-page .support-switch-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;flex-shrink:0;border-radius:50%;background:#e3efff;color:var(--sat-blue);font-size:1.8rem}
.support-page .support-switch-body h3{font-size:1.15rem;font-weight:700;color:var(--sat-dark);margin:0 0 .4rem}
.support-page .support-switch-body p{color:#59677d;margin:0 0 .25rem;line-height:1.5}
.support-page .support-switch-body p strong{color:var(--sat-dark)}
.support-page .support-switch-table{width:100%;margin-top:1.5rem;border-collapse:collapse;font-size:.95rem}
.support-page .support-switch-table th,.support-page .support-switch-table td{padding:.6rem;border-bottom:1px solid #e2eaf3}
.support-page .support-switch-table thead{background:#f0f3f7;color:#59677d}
.support-page .support-switch-table tbody th{font-weight:500;color:var(--sat-dark)}
.support-page .support-switch-table td,.support-page .support-switch-table thead th:last-child{text-align:center;width:30%}
.support-page .support-switch-table strong{display:block;padding:.55rem .4rem;border-radius:8px;background:#edf4ff;color:var(--sat-blue);font-size:1.1rem}
.support-page .support-switch-info{display:grid;gap:.75rem;min-width:0}
.support-page .support-switch-info-card{border:1px solid;border-radius:12px;padding:1.1rem 1.25rem}
.support-page .support-switch-info-card>div{min-width:0}
.support-page .support-switch-service{background:#f3f9f5;border-color:#dcece2}
.support-page .support-switch-service .support-switch-icon{background:#daeedf;color:#187438}
.support-page .support-switch-mail{background:#f7f5fd;border-color:#e7e0f7}
.support-page .support-switch-mail .support-switch-icon{background:#e6ddfa;color:#6034bd}
.support-page .support-switch-certificate{background:#fff9ec;border-color:#f5eacd}
.support-page .support-switch-certificate .support-switch-icon{background:#ffebaf;color:#a36f00}
.support-page .support-switch-email{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere;font-weight:600}
.support-page .support-switch-download{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
@media(max-width:991.98px){.support-page .support-switch-body{grid-template-columns:1fr}}
@media(max-width:575.98px){.support-page .support-switch-heading{padding:1.25rem;gap:.75rem}.support-page .support-switch-heading>i{font-size:1.7rem}.support-page .support-switch-body{padding:.75rem}.support-page .support-switch-providers,.support-page .support-switch-info-card{padding:1rem}.support-page .support-switch-icon{width:40px;height:40px;font-size:1.3rem}.support-page .support-switch-card-heading,.support-page .support-switch-info-card{gap:.75rem}.support-page .support-switch-table{font-size:.85rem}.support-page .support-switch-table th,.support-page .support-switch-table td{padding:.5rem .25rem}.support-page .support-switch-download{width:100%}}

/* Compact support form; keep other forms and sections unchanged. */
.support-page .support-report{padding-top:2rem!important;padding-bottom:2rem!important}
.support-page .support-report .section-heading{margin-bottom:1.25rem}
.support-page .support-report .section-heading h2{font-size:clamp(1.6rem,2.5vw,2rem)}
.support-page .support-report .section-heading p{margin-bottom:0}
.support-page .support-report .detail-card{padding:1.5rem}
.support-page .support-report .detail-card>.small{margin-bottom:.75rem}
.support-page #supportFields>.row{--bs-gutter-y:.65rem}
.support-page #supportForm .form-label{margin-bottom:.25rem}
.support-page #support-message{height:110px;min-height:110px;resize:vertical}
.support-page #supportForm .form-check{margin-top:1rem!important;margin-bottom:1rem!important}
.support-page #supportForm button[type=submit]{font-size:1rem;padding:.5rem 1rem;min-height:44px}
.support-page #supportResult:empty{margin-top:0!important}
@media(max-width:767.98px){
 .support-page .support-report .detail-card{padding:1.25rem}
 .support-page #supportForm .form-control,.support-page #supportForm .form-select{min-height:44px}
}

/* Compact contact cards without changing content, map or form behaviour. */
.contact-page main .detail-card{padding:1.25rem;gap:.5rem}
.contact-page main .detail-card>p{margin-bottom:.5rem}
.contact-page main .detail-card>.benefit-icon{font-size:2.2rem;line-height:1.2}
.contact-page main .detail-card>h2.mt-3{margin-top:.5rem!important}
.contact-page .contact-billing-card{padding:1.25rem}
.contact-page .contact-billing-card>h3{margin-bottom:.75rem!important}
.contact-page .contact-billing-card>address,.contact-page .contact-billing-card>p{margin-bottom:.75rem!important}
.contact-page .contact-billing-details{gap:.25rem 1.25rem;margin-bottom:.75rem}
.contact-page .contact-billing-card>.border-top{padding-top:.75rem!important}
.contact-page .contact-iban{padding:.5rem .75rem}
.contact-page .contact-person-link{padding:.4rem 0;min-height:44px}
.contact-page #contactFields>.row{--bs-gutter-y:.65rem}
.contact-page #contactForm .form-label{margin-bottom:.25rem}
.contact-page #contact-message{height:110px;min-height:110px;resize:vertical}
.contact-page #contactForm .form-check{margin-top:1rem!important;margin-bottom:1rem!important}
.contact-page #contactForm button[type=submit]{font-size:1rem;padding:.5rem 1rem;min-height:44px}
.contact-page #contactResult:empty{margin-top:0!important}
@media(max-width:767.98px){
 .contact-page #contactForm .form-control,.contact-page #contactForm .form-select{min-height:44px}
}

/* Phone hero: shared SatLan typography and buttons on the light artwork. */
.telefon-page .telefon-hero{
 color:var(--sat-dark);
 background-color:var(--sat-light);
 background-image:url("../img/hero-telefon.webp");
 background-size:cover;
 background-position:35% 25%;
 background-repeat:no-repeat;
}
.telefon-page .telefon-hero .row{padding-bottom:80px}
.telefon-page .telefon-hero .lead{max-width:480px}
@media(max-width:1199.98px){
 .telefon-page .telefon-hero h1{font-size:clamp(2.2rem,5.2vw,3.5rem)}
 .telefon-page .telefon-hero{background-position:left top}
}
/* Keep text readable on narrow screens without overlap from the portrait. */
@media(max-width:991.98px){
 .telefon-page .telefon-hero{
  background-image:url("../img/hero-telefon.webp");
 }
 .telefon-page .telefon-hero .row{min-height:auto;padding-bottom:32px}
 .telefon-page .telefon-hero-content{max-width:560px}
 .telefon-page .telefon-hero h1{font-size:clamp(2.2rem,6vw,3.25rem)}
}

/* One shared blue left edge and fade for every main page banner. */
:root{--sat-hero-tint:222,239,252}
.hero.service-hero-light{
 color:var(--sat-dark);
 background-color:rgb(var(--sat-hero-tint));
}
.hero.home-hero,.hero.internet-hero,.hero.firmy-hero{background-image:none}
.service-hero-light .eyebrow{color:var(--sat-blue)}
.hero.service-hero-light .hero-overlay{
 display:block;
 background:linear-gradient(90deg,rgb(var(--sat-hero-tint)) 0%,rgb(var(--sat-hero-tint)) 32%,rgba(var(--sat-hero-tint),.97) 38%,rgba(var(--sat-hero-tint),.78) 48%,rgba(var(--sat-hero-tint),.3) 61%,rgba(var(--sat-hero-tint),0) 76%);
}
.internet-hero .hero-image{width:65%}
.firmy-hero .hero-image{width:100%;object-position:60% center}
@media(max-width:991.98px){
 .internet-hero .hero-image{width:100%}
 .hero.service-hero-light .hero-overlay{
  background:linear-gradient(90deg,rgb(var(--sat-hero-tint)) 0%,rgb(var(--sat-hero-tint)) 32%,rgba(var(--sat-hero-tint),.94) 60%,rgba(var(--sat-hero-tint),.82) 100%);
 }
}

/* Homepage artwork has its own wide composition and left text space. */
.home-hero .hero-image{width:100%;object-position:60% center}

/* Decorative illustrations confined to the three homepage service cards. */
.home-service-art{
 --art-accent:8 103 200;--art-start:#d6efff;--art-end:#bbf3e6;--art-dot:#17b6a4;--art-dot-soft:#73d9c7;
 position:relative;isolation:isolate;display:grid;place-items:center;
 height:112px;flex-shrink:0;margin-bottom:.5rem;overflow:hidden;
 border-radius:10px;background:linear-gradient(125deg,var(--art-start),var(--art-end));
 color:rgb(var(--art-accent));pointer-events:none;
}
.home-service-art::before,.home-service-art::after{
 content:"";position:absolute;z-index:-1;border-radius:50%;
}
.home-service-art::before{
 width:150px;height:150px;right:-30px;top:-90px;border:1px solid rgb(var(--art-accent) / 12%);
 box-shadow:0 0 0 20px rgb(var(--art-accent) / 3%),0 0 0 40px rgb(var(--art-accent) / 3%);
}
.home-service-art::after{
 width:100px;height:100px;left:-35px;bottom:-70px;background:rgb(var(--art-accent) / 7%);
}
.home-service-art>i{
 display:grid;place-items:center;width:76px;height:76px;border-radius:22px;
 background:rgb(255 255 255 / 85%);border:1px solid rgb(255 255 255 / 95%);
 box-shadow:0 7px 18px rgb(var(--art-accent) / 9%);font-size:2.8rem;line-height:1;
}
.home-service-art-orbit{
 position:absolute;width:120px;height:90px;border:1px solid rgb(var(--art-accent) / 12%);
 border-radius:50%;transform:rotate(-20deg);z-index:-1;
}
.home-service-art-dot{
 position:absolute;width:8px;height:8px;border-radius:50%;
 background:var(--art-dot);left:calc(50% + 55px);top:28px;
 box-shadow:-122px 48px 0 -1px var(--art-dot-soft);
}

#televizia .home-service-art{
 --art-accent:119 58 184;--art-start:#e7d8ff;--art-end:#ffd8e9;
 --art-dot:#e663a1;--art-dot-soft:#b18bea;
}
#telefon .home-service-art{
 --art-accent:196 82 21;--art-start:#ffe9b8;--art-end:#ffd2bd;
 --art-dot:#ef8b35;--art-dot-soft:#f3b35f;
}

/* About-section banner: connected homes across the region. */
.network-visual.network-region{
 color:var(--sat-dark);background:linear-gradient(125deg,#e0f1ff 0%,#e5f7f3 65%,#fff1d8 100%);
 border:1px solid #d7eaf0;box-shadow:0 18px 45px rgb(16 77 125 / 10%);
}
.network-region::after{
 width:220px;height:220px;right:-100px;top:160px;
 border:1px solid rgb(23 155 173 / 13%);
 box-shadow:0 0 0 35px rgb(23 155 173 / 4%),0 0 0 70px rgb(23 155 173 / 3%);
}
.network-region .region-illustration{position:absolute;inset:15px 22px auto;height:160px;pointer-events:none}
.region-illustration .region-connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.region-connections path{fill:none;stroke:#8ac9d6;stroke-width:2;stroke-dasharray:5 7}
.region-connections .region-connection-glow{stroke:#36b8b4;stroke-dasharray:none;opacity:.5}
.region-node{
 position:absolute;display:grid;place-items:center;transform:translate(-50%,-50%);
 width:48px;height:48px;border-radius:15px;background:#fff;color:#1475c9;
 border:1px solid rgb(255 255 255 / 90%);box-shadow:0 7px 20px rgb(16 77 125 / 10%);font-size:1.5rem;
}
.region-home-one{left:14%;top:47%}
.region-home-two{left:31%;top:78%;color:#14978d;width:40px;height:40px;font-size:1.2rem}
.region-hub{left:50%;top:47%;width:76px;height:76px;font-size:2.6rem;color:#fff;background:linear-gradient(135deg,#0873da,#21b8b0);border-radius:24px;box-shadow:0 0 0 9px rgb(255 255 255 / 55%),0 10px 25px rgb(8 103 200 / 18%)}
.region-home-three{left:86%;top:41%;color:#9260ba}
.region-home-four{left:71%;top:81%;color:#d88a25;width:40px;height:40px;font-size:1.2rem}
.network-region p{color:#47677a}
@media(max-width:575.98px){
 .network-region .region-illustration{inset:8px 12px auto;height:125px}
 .region-node{width:36px;height:36px;border-radius:12px;font-size:1.2rem}
 .region-hub{width:58px;height:58px;border-radius:18px;font-size:2rem}
}

/* Consistent heading and row spacing across footer link columns. */
.footer-link-column{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.footer .footer-link-column h2{margin:0 0 4px;line-height:1.5}
.footer .footer-link-column>a,.footer .footer-link-column>p{
 display:flex;align-items:center;min-height:36px;line-height:1.5;margin:0;
}
.footer-link-column .bi{flex-shrink:0;width:1.1em;text-align:center}

/* Informational notice: no optional-cookie consent or visitor identifier. */
.cookie-notice{position:fixed;z-index:1040;bottom:16px;left:16px;right:16px;max-width:980px;margin:auto;display:flex;align-items:center;gap:24px;padding:20px 24px;background:#fff;border:1px solid #dce6ef;border-radius:14px;box-shadow:0 8px 35px rgb(9 36 59 / 20%);color:var(--sat-dark)}
.cookie-notice p{margin:6px 0 0;font-size:.95rem;line-height:1.5}
.cookie-notice .btn{flex-shrink:0;min-height:44px}
.footer .cookie-info-link{display:inline-flex;margin:0 0 0 12px;text-decoration:underline}
.map-privacy-placeholder{min-height:320px;padding:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:var(--sat-light);color:var(--sat-dark);border-radius:12px}
.map-privacy-placeholder>i{font-size:3rem;color:var(--sat-blue)}
.map-privacy-placeholder p{margin:12px 0}
@media(max-width:575.98px){.cookie-notice{bottom:8px;left:8px;right:8px;padding:16px;gap:12px;flex-direction:column;align-items:stretch;max-height:70dvh;overflow:auto}}
