@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

:root{
  --blue:#075bb7;
  --blue-dark:#061b43;
  --red:#ed1c24;
  --ink:#101828;
  --muted:#667085;
  --bg:#f5f7fb;
  --white:#fff;
  --purple:#17104a;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.topbar{height:34px;background:#050505;color:#fff;font-size:11px}
.topbar-inner,.top-links,.top-right{display:flex;align-items:center;height:100%}
.topbar-inner{justify-content:space-between}
.top-links{gap:26px}
.top-right{gap:25px}
.topbar a:hover{color:#6eb3ff}
.header{height:84px;background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:20}
.nav{height:100%;display:flex;align-items:center;gap:38px}
.brand{width:190px;display:flex;align-items:center}
.brand img{width:170px;max-height:67px;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:27px;flex:1}
.main-nav a{font-size:14px;font-weight:600;white-space:nowrap}
.main-nav a:hover{color:var(--blue)}
.nav-actions{display:flex;gap:17px}
.nav-actions button,.nav-actions a{background:none;border:0;font-size:25px;cursor:pointer}
.menu-toggle{display:none;background:none;border:0;font-size:28px}
.hero{min-height:545px;position:relative;overflow:hidden;background:linear-gradient(115deg,#06183d 0%,#084f9e 52%,#0b77d2 100%);color:#fff}
.hero:after{content:"";position:absolute;inset:auto -10% -45% 40%;height:500px;background:radial-gradient(circle,#5cc6ff55,transparent 62%);pointer-events:none}
.hero-glow{position:absolute;border-radius:50%;filter:blur(2px);opacity:.35}
.glow-one{width:480px;height:480px;background:#ed1c24;right:-160px;top:-180px}
.glow-two{width:400px;height:400px;background:#7a4dff;left:-180px;bottom:-250px}
.hero-content{min-height:545px;display:flex;align-items:center;justify-content:space-between;gap:50px;position:relative;z-index:2}
.hero-copy{max-width:650px}
.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;opacity:.9}
.hero h1{font:800 clamp(46px,6vw,78px)/.94 'Manrope',sans-serif;margin:18px 0 22px;letter-spacing:-3px}
.hero h1 strong{color:#fff}
.hero-copy p{font-size:19px;line-height:1.55;max-width:590px;color:#e5efff}
.hero-buttons{display:flex;gap:13px;margin-top:30px}
.btn{display:inline-flex;padding:15px 23px;border-radius:10px;font-weight:800;transition:.2s}
.btn-primary{background:var(--red);color:#fff;box-shadow:0 10px 30px #0003}
.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.07)}
.btn-light{background:#fff;color:var(--blue-dark)}
.hero-card{width:350px;background:#fff;color:var(--ink);border-radius:20px;padding:28px;box-shadow:0 25px 70px #00112e66;transform:rotate(1.2deg)}
.hero-card-top{display:inline-block;background:#ffe9ea;color:var(--red);font-size:10px;font-weight:800;border-radius:30px;padding:7px 12px}
.speed{font:800 60px/1 'Manrope';margin-top:25px;color:var(--blue-dark)}
.speed small{font:700 20px 'DM Sans'}
.speed-label{font-size:10px;font-weight:800;color:var(--muted);letter-spacing:1px;margin-top:5px}
.speed-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ddd;margin-top:23px;padding-top:18px;gap:18px}
.speed-row div+div{border-left:1px solid #ddd;padding-left:18px}
.speed-row b,.speed-row span{display:block}
.speed-row b{font-size:20px}
.speed-row span{font-size:10px;color:var(--muted);font-weight:700;margin-top:4px}
.hero-price{display:flex;align-items:end;gap:7px;margin:27px 0 17px}
.hero-price strong{font:800 38px 'Manrope'}
.hero-price span{font-size:12px;color:var(--muted);margin-bottom:6px}
.card-btn{display:block;text-align:center;background:var(--red);color:#fff;padding:14px;border-radius:9px;font-weight:800;transition:.2s}
.card-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.packages{background:var(--purple);color:#fff;padding:0 0 85px;position:relative}
.package-switch{width:max-content;margin:-26px auto 55px;background:#fff;padding:6px;border-radius:50px;position:relative;z-index:4;box-shadow:0 10px 30px #0003}
.package-switch button{border:0;background:transparent;border-radius:30px;padding:13px 27px;font-size:14px;cursor:pointer;color:#555;font-weight:700}
.package-switch button.active{background:var(--red);color:#fff}
.section-heading{text-align:center;margin-bottom:40px}
.section-heading h2{font:800 42px 'Manrope';margin:11px 0 8px;letter-spacing:-1px}
.section-heading p{margin:0;color:#c8c5dd}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.package-grid.hidden{display:none}
.package-card{background:linear-gradient(155deg,#4c2c88,#74285c);border:1px solid #ffffff20;border-radius:17px;padding:27px 23px 22px;position:relative;overflow:hidden;min-height:490px;display:flex;flex-direction:column}
.package-card:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;background:#ed1c2430;right:-120px;bottom:-100px}
.package-card.featured{transform:translateY(-10px);border:2px solid #ffffff35;box-shadow:0 25px 55px #0004}
.popular{position:absolute;right:18px;top:18px;font-size:9px;font-weight:800;background:#fff;color:#35165d;padding:7px 9px;border-radius:20px}
.package-tag{font-size:10px;letter-spacing:1.5px;font-weight:800;color:#ffd5d8}
.package-card h3{font:800 29px 'Manrope';margin:11px 0}
.line{height:1px;background:#ffffff35}
.speeds{display:grid;grid-template-columns:1fr 1fr;padding:22px 0;border-bottom:1px solid #ffffff35}
.speeds div+div{border-left:1px solid #ffffff55;padding-left:15px}
.speeds strong{font:700 30px 'Manrope';display:block}
.speeds span{font-size:10px;color:#ddd;font-weight:700}
.package-card ul{list-style:none;padding:18px 0;margin:0;flex:1}
.package-card li{font-size:13px;padding:8px 0;color:#eee}
.package-card li:before{content:"✓";color:#ffb6bb;font-weight:800;margin-right:9px}
.price{margin:8px 0 17px}
.price strong{font:800 43px 'Manrope'}
.price span{font-size:11px;color:#ddd}
.features{background:#090d19;color:#fff;padding:85px 0}
.section-heading.light p{color:#aab1c5}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.feature{border:1px solid #ffffff16;background:#111827;padding:28px 23px;border-radius:15px}
.icon{font-size:28px;color:#ff4a50}
.feature h3{font:700 19px 'Manrope';margin:17px 0 8px}
.feature p{font-size:13px;color:#aab1c5;line-height:1.6;margin:0}
.network{background:#f6f8fc;padding:90px 0}
.network-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}
.network h2{font:800 46px/1.05 'Manrope';margin:15px 0}
.network p{color:var(--muted);line-height:1.7;max-width:520px;margin-bottom:28px}
.network-art{height:500px;position:relative;display:flex;align-items:center;justify-content:center;overflow:visible}
.orbit{position:absolute;border:1px solid #0a67c733;border-radius:50%;width:350px;height:350px}
.orbit-2{width:250px;height:250px;border-color:#ed1c2440}
.network-center{position:absolute;z-index:3;width:125px;height:125px;border-radius:50%;background:#fff;box-shadow:0 20px 50px #174b9220;display:flex;align-items:center;justify-content:center;text-align:center;font:800 20px/1.05 'Manrope';color:var(--blue)}
.network-center b{color:var(--red)}
.node{position:absolute;z-index:4;background:#fff;padding:10px 13px;border-radius:9px;box-shadow:0 8px 25px #0c2c5a18;font-size:10px;font-weight:800;white-space:nowrap}

/* Gračanica stays in the center. Other locations form a clean ring. */
.n1{top:50%;left:50%;transform:translate(-50%,-50%);display:none}
.n2{top:4%;left:50%;transform:translateX(-50%)}
.n3{top:9%;right:13%}
.n4{top:25%;right:2%}
.n5{top:48%;right:0}
.n6{bottom:18%;right:6%}
.n7{bottom:5%;right:23%}
.n8{bottom:1%;left:50%;transform:translateX(-50%)}
.n9{bottom:5%;left:23%}
.n10{bottom:18%;left:6%}
.n11{top:48%;left:0}
.n12{top:25%;left:2%}
.n13{top:9%;left:13%}
.n14{top:1%;left:27%}
@media(max-width:900px){
  .top-links{gap:12px}.top-links a:nth-child(n+3){display:none}
  .header{height:72px}.nav{gap:12px}.brand{flex:1}
  .main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;align-items:flex-start;box-shadow:0 15px 25px #0002}
  .main-nav.open{display:flex}
  .menu-toggle{display:block}.nav-actions{display:none}
  .hero-content{padding:55px 0;flex-direction:column;align-items:flex-start}
  .hero-card{width:min(100%,390px);align-self:center}
  .package-grid{grid-template-columns:1fr}
  .package-card.featured{transform:none}
  .feature-grid{grid-template-columns:1fr 1fr}
  .network-inner,.contact-inner{grid-template-columns:1fr}
}
@media(max-width:560px){
  .container{width:min(100% - 28px,1180px)}
  .topbar{font-size:9px}.top-right span{display:none}
  .brand{width:145px}.brand img{width:145px}
  .hero h1{font-size:48px;letter-spacing:-2px}
  .hero-copy p{font-size:16px}
  .hero-buttons{flex-direction:column;align-items:stretch}
  .btn{text-align:center;justify-content:center}
  .hero-card{padding:22px}.speed{font-size:52px}
  .package-switch{width:100%;display:flex}.package-switch button{flex:1;padding:12px 8px}
  .section-heading h2,.network h2,.contact h2{font-size:32px}
  .feature-grid{grid-template-columns:1fr}
  .network-art{height:430px}.orbit{width:290px;height:290px}.orbit-2{width:205px;height:205px}
  .footer-inner{flex-direction:column;align-items:flex-start}
}

/* NET PLUS COVERAGE MAP - fixed */
.coverage-map{width:620px!important;max-width:100%;height:620px!important;margin:0 auto;position:relative!important;display:block!important;overflow:visible!important;transform:none!important}
.coverage-map .coverage-ring{position:absolute;width:390px;height:390px;left:50%;top:50%;transform:translate(-50%,-50%);border:2px solid rgba(28,132,235,.22);border-radius:50%}
.coverage-map .coverage-ring.inner{width:280px;height:280px;border-color:rgba(237,28,36,.20)}
.coverage-center{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;height:190px;border-radius:50%;background:#fff;box-shadow:0 18px 55px rgba(23,75,146,.18);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}
.coverage-center img{width:140px;max-height:78px;object-fit:contain;margin-bottom:8px}
.coverage-center strong{font:800 20px 'Manrope',sans-serif;color:#102d68}
.coverage-place{position:absolute;z-index:6;transform:translate(-50%,-50%);min-width:92px;max-width:150px;padding:10px 13px;background:#fff;border-radius:11px;box-shadow:0 8px 24px rgba(12,44,90,.11);color:#102d68;text-align:center;font-size:10px;line-height:1.25;font-weight:800;white-space:nowrap}
.coverage-place:after{content:"";position:absolute;width:8px;height:8px;background:#1685ef;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(22,133,239,.35)}
.p1{left:50%;top:4%}.p1:after{left:50%;bottom:-19px;transform:translateX(-50%)}
.p2{left:72%;top:9%}.p2:after{left:22%;bottom:-18px}
.p3{left:89%;top:23%}.p3:after{left:-18px;top:50%;transform:translateY(-50%)}
.p4{left:97%;top:43%}.p4:after{left:-18px;top:50%;transform:translateY(-50%)}
.p5{left:92%;top:65%}.p5:after{left:-18px;top:50%;transform:translateY(-50%)}
.p6{left:77%;top:83%}.p6:after{left:20%;top:-18px}
.p7{left:55%;top:96%}.p7:after{left:50%;top:-18px;transform:translateX(-50%)}
.p8{left:32%;top:91%}.p8:after{right:20%;top:-18px}
.p9{left:12%;top:78%}.p9:after{right:-18px;top:50%;transform:translateY(-50%)}
.p10{left:3%;top:57%}.p10:after{right:-18px;top:50%;transform:translateY(-50%)}
.p11{left:6%;top:35%}.p11:after{right:-18px;top:50%;transform:translateY(-50%)}
.p12{left:19%;top:16%}.p12:after{right:15%;bottom:-18px}
.p13{left:34%;top:5%}.p13:after{left:50%;bottom:-19px;transform:translateX(-50%)}
@media(max-width:600px){
 .coverage-map{height:500px!important}
 .coverage-map .coverage-ring{width:270px;height:270px}
 .coverage-map .coverage-ring.inner{width:195px;height:195px}
 .coverage-center{width:145px;height:145px;padding:14px}
 .coverage-center img{width:108px;max-height:60px}.coverage-center strong{font-size:15px}
 .coverage-place{font-size:8px;min-width:70px;padding:8px 9px}
 .p3,.p4,.p5{left:91%}.p9,.p10,.p11{left:9%}
}


/* ===== CONTACT SECTION V6 ===== */
.contact{
  background:#fff;
  padding:82px 0 88px;
}
.contact-head{
  text-align:center;
  max-width:680px;
  margin:0 auto 36px;
}
.contact-head h2{
  font:800 42px 'Manrope',sans-serif;
  margin:10px 0 10px;
  color:#101828;
}
.contact-head p{
  margin:0;
  color:#667085;
  line-height:1.65;
  font-size:15px;
}
.contact-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  max-width:1050px;
  margin:0 auto;
}
.contact-card{
  min-height:118px;
  display:flex;
  align-items:center;
  gap:15px;
  padding:21px;
  border:1px solid #e8edf5;
  border-radius:16px;
  background:#f9fbff;
  box-shadow:0 8px 28px rgba(22,58,110,.07);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
a.contact-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(22,58,110,.12);
  border-color:#bdd9f8;
}
.contact-icon{
  flex:0 0 48px;
  width:48px;
  height:48px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#0b63c7;
  color:#fff;
  font-size:23px;
  font-weight:800;
}
.contact-icon.fb{
  background:#1877f2;
  font-family:Arial,sans-serif;
}
.contact-icon.ig{
  background:linear-gradient(135deg,#6a37d4,#e1306c,#f6a03a);
}
.contact-card small{
  display:block;
  color:#7c8799;
  font-size:9px;
  letter-spacing:1.2px;
  font-weight:800;
  margin-bottom:4px;
}
.contact-card strong{
  display:block;
  color:#0f2f63;
  font:800 16px 'Manrope',sans-serif;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.contact-card span{
  display:block;
  margin-top:5px;
  color:#7b8493;
  font-size:11px;
}
.action-card{
  background:linear-gradient(135deg,#0b63c7,#06478f);
}
.action-card small,
.action-card strong,
.action-card span{
  color:#fff;
}
.action-card span{
  opacity:.82;
}
.action-card .contact-icon{
  background:rgba(255,255,255,.14);
}
@media(max-width:900px){
  .contact-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .contact{padding:62px 0}
  .contact-head h2{font-size:32px}
  .contact-grid{grid-template-columns:1fr}
  .contact-card{min-height:100px}
}

/* ===== V7 header portal + phone fixes ===== */
.my-netplus-btn{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  background:#075bb7!important;
  color:#fff!important;
  border-radius:10px;
  padding:11px 17px!important;
  font-size:12px!important;
  font-weight:800;
  white-space:nowrap;
  transition:.2s;
}
.my-netplus-btn:hover{
  background:#ed1c24!important;
  transform:translateY(-1px);
}
.phone-card strong + strong{margin-top:5px}
.phone-card strong a{color:#0f2f63}
.phone-card strong a:hover{color:#ed1c24}
@media(max-width:900px){
  .nav-actions{display:flex!important}
  .my-netplus-btn{padding:9px 11px!important;font-size:10px!important}
}
@media(max-width:560px){
  .brand{flex:1}
  .my-netplus-btn{padding:8px 9px!important}
}

/* ===== V8 contact refinements ===== */
footer .footer-inner img{display:none!important}
.contact-grid{grid-template-columns:repeat(3,1fr)!important}
.phone-card{cursor:pointer}
@media(max-width:900px){
  .contact-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:600px){
  .contact-grid{grid-template-columns:1fr!important}
}


/* ===== V10 footer clean ===== */
.footer-clean{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.footer-brandline{
  font-weight:700;
  letter-spacing:.1px;
}
.footer-brandline span{
  color:#2f8ee5;
  margin:0 7px;
}
.footer-copy{
  opacity:.72;
  font-size:12px;
}
@media(max-width:700px){
  .footer-clean{
    justify-content:center;
    text-align:center;
  }
  .footer-brandline,
  .footer-copy{
    width:100%;
  }
}

/* V12 - badges only; package cards retain original Net Plus design */
.package-card{position:relative}
.package-badge{
  position:absolute;
  top:-12px;
  left:50%;
  transform:translateX(-50%);
  background:#ed1c24;
  color:#fff;
  padding:7px 14px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.7px;
  white-space:nowrap;
  box-shadow:0 8px 20px rgba(237,28,36,.2);
}


/* ===== V13 package polish ===== */
.package-card{
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.package-card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 46px rgba(12,55,105,.14);
}
.package-card .btn{
  width:100%;
  justify-content:center;
  min-height:46px;
  border-radius:11px;
  font-weight:800;
  letter-spacing:.1px;
}
.package-card.featured{
  box-shadow:0 20px 50px rgba(9,79,155,.16);
}


/* ===== V16 - clean premium package cards ===== */

/* Calm down the old badge rules and make the card content breathe */
.package-card{
  position:relative;
  overflow:hidden;
  padding:30px 30px 28px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:22px !important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.package-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 55px rgba(4,12,32,.24) !important;
}
.package-card.featured{
  transform:none !important;
  border:1px solid rgba(255,255,255,.42) !important;
  box-shadow:0 24px 60px rgba(5,15,42,.24) !important;
}

/* Small editorial label, not a button/pill */
.package-kicker{
  display:flex !important;
  align-items:center;
  gap:9px;
  padding:0 !important;
  margin:0 0 22px !important;
  border:0 !important;
  background:none !important;
  border-radius:0 !important;
  color:rgba(255,255,255,.72) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.8px !important;
  text-transform:uppercase;
}
.package-kicker span{
  display:block;
  width:22px;
  height:2px;
  border-radius:2px;
  background:#ff4b42;
  flex:0 0 auto;
}

/* Package name is the visual anchor */
.package-card h3{
  margin:0 0 16px !important;
  color:#fff;
  font-size:38px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:-1.25px !important;
}

/* Speed is secondary, cleaner than before */
.package-speed{
  display:flex !important;
  align-items:baseline;
  gap:4px;
  margin:0 0 29px !important;
}
.package-speed strong{
  font-size:19px !important;
  line-height:1 !important;
  font-weight:800 !important;
}
.package-speed span{
  font-size:12px !important;
  font-weight:600 !important;
  opacity:.7;
}

/* Features */
.package-card ul{
  margin-top:0 !important;
}
.package-card li{
  line-height:1.45;
}

/* Price/button area */
.package-card .price{
  margin-top:34px !important;
}
.package-card .btn{
  width:100%;
  min-height:50px !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  margin-top:20px;
  border-radius:13px !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  text-decoration:none;
}
.package-card:not(.featured) .btn{
  border:1px solid rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.06) !important;
  color:#fff !important;
}
.package-card:not(.featured) .btn:hover{
  background:rgba(255,255,255,.12) !important;
  border-color:rgba(255,255,255,.48) !important;
}

/* Featured label lives INSIDE the card so it can never be clipped */
.package-badge{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  left:auto !important;
  transform:none !important;
  padding:10px 15px 10px 17px !important;
  border-radius:0 21px 0 16px !important;
  border:0 !important;
  background:#ff4338 !important;
  color:#fff !important;
  box-shadow:none !important;
  font-size:9px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.45px !important;
  text-transform:uppercase;
  white-space:nowrap;
  z-index:2;
}
.package-card.featured .package-kicker{
  padding-right:115px !important;
}

/* Keep three cards visually aligned */
.package-grid{
  align-items:stretch !important;
}
.package-card{
  display:flex !important;
  flex-direction:column;
}
.package-card .price{
  margin-top:auto !important;
  padding-top:30px;
}

@media(max-width:900px){
  .package-card h3{font-size:34px !important}
}
@media(max-width:700px){
  .package-card{padding:27px 24px 24px !important}
  .package-card.featured .package-kicker{padding-right:105px !important}
  .package-badge{font-size:8px !important;padding:9px 12px !important}
}


/* V17 - hero offer type */
.hero-offer-type{
  display:inline-flex;
  align-items:center;
  padding:7px 11px;
  margin-bottom:13px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:1.1px;
}


/* ===== V21 language switcher ===== */
.nav-actions{
  align-items:center;
}
.language-switch{
  position:relative;
  flex:0 0 auto;
}
.language-switch summary{
  list-style:none;
  width:43px;
  height:43px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  border:1px solid #dce5f0;
  border-radius:10px;
  background:#fff;
  color:#17365f;
  cursor:pointer;
  user-select:none;
  transition:.18s ease;
}
.language-switch summary::-webkit-details-marker{display:none}
.language-switch summary:hover{
  border-color:#0b63c7;
  color:#0b63c7;
  background:#f7fbff;
}
.language-switch summary span{
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.25px;
}
.language-icon{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.language-menu{
  position:absolute;
  top:calc(100% + 9px);
  right:0;
  min-width:74px;
  padding:6px;
  background:#fff;
  border:1px solid #e1e8f0;
  border-radius:11px;
  box-shadow:0 15px 38px rgba(19,45,78,.16);
  z-index:100;
}
.language-menu a{
  display:block;
  padding:9px 12px!important;
  border-radius:7px;
  color:#243b5c!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:800!important;
  text-align:center;
  text-decoration:none;
}
.language-menu a:hover,
.language-menu a.active{
  background:#eef6ff!important;
  color:#0b63c7!important;
}
@media(max-width:900px){
  .nav-actions{gap:8px!important}
  .language-switch summary{width:38px;height:38px}
  .language-icon{width:16px;height:16px}
}
@media(max-width:560px){
  .language-switch summary{width:36px;height:36px;border-radius:9px}
  .language-switch summary span{display:none}
}

/* V23 Assistant */
.npa{position:fixed;right:22px;bottom:22px;z-index:10000;font-family:Manrope,Arial,sans-serif}.npa-launcher{height:54px;padding:0 17px;border:0;border-radius:17px;background:#075bb7;color:white;display:flex;align-items:center;gap:9px;box-shadow:0 16px 38px #075bb74d;cursor:pointer;font-weight:800}.npa-launcher i{width:9px;height:9px;border-radius:50%;background:#39d17c;border:2px solid white}.npa-panel{display:none;position:absolute;right:0;bottom:66px;width:min(390px,calc(100vw - 28px));height:min(610px,calc(100vh - 110px));background:white;border:1px solid #e2e8f0;border-radius:22px;overflow:hidden;box-shadow:0 24px 70px #0c224440}.npa-panel.open{display:flex;flex-direction:column}.npa-head{height:70px;background:linear-gradient(120deg,#075bb7,#0b76d1);color:white;display:flex;align-items:center;padding:0 15px;gap:10px}.npa-head>b{width:39px;height:39px;border-radius:12px;background:white;color:#075bb7;display:grid;place-items:center}.npa-head>div{display:flex;flex-direction:column;flex:1}.npa-head small{opacity:.8;margin-top:3px}.npa-head button{width:31px;height:31px;border:0;border-radius:9px;background:#ffffff20;color:white;font-size:18px;cursor:pointer}.npa-messages{flex:1;overflow:auto;padding:18px 15px;background:#f7f9fc;display:flex;flex-direction:column;gap:10px}.npa-msg{max-width:84%;padding:11px 13px;border-radius:15px;font-size:12px;line-height:1.48;white-space:pre-line}.npa-msg.bot{align-self:flex-start;background:white;color:#263b58;border:1px solid #e5ebf2}.npa-msg.user{align-self:flex-end;background:#075bb7;color:white}.npa-actions{padding:10px 12px 4px;display:flex;gap:7px;flex-wrap:wrap;max-height:160px;overflow:auto}.npa-actions:empty{display:none}.npa-choice{border:1px solid #cfdced;background:white;color:#075bb7;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:800;cursor:pointer}.npa-choice.primary{background:#075bb7;color:white}.npa-form{height:62px;padding:10px 11px;display:flex;gap:8px;border-top:1px solid #edf1f5}.npa-form input{flex:1;min-width:0;border:1px solid #dce4ed;border-radius:12px;padding:0 13px;outline:none}.npa-form button{width:42px;border:0;border-radius:12px;background:#075bb7;color:white}@media(max-width:560px){.npa{right:12px;bottom:12px}.npa-panel{position:fixed;left:10px;right:10px;bottom:72px;width:auto;height:calc(100vh - 95px)}}/* ===== V24 Assistant readability ===== */
.npa-actions{background:#fff;padding:12px!important}.npa-choice{font-family:Arial,sans-serif!important;font-size:12px!important;line-height:1.25!important;color:#064f9f!important;background:#fff!important;border:1px solid #b8cbe1!important}.npa-choice.primary{background:#075bb7!important;color:#fff!important;border-color:#075bb7!important}.npa-package{width:100%;border:1px solid #d9e3ef;background:#fff;border-radius:14px;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;color:#172d49;font-family:Arial,sans-serif;box-shadow:0 3px 10px rgba(20,55,90,.05)}.npa-package:hover{border-color:#76a9db;background:#f8fbff}.npa-package span{display:flex;flex-direction:column;gap:5px}.npa-package strong{font-size:14px;line-height:1.1;color:#123d6b}.npa-package small{font-size:11px;line-height:1.3;color:#52677f;font-weight:600}.npa-package em{font-style:normal;font-size:14px;font-weight:900;color:#075bb7;white-space:nowrap}.npa-msg{font-family:Arial,sans-serif!important;font-size:13px!important;color:#243a55!important}.npa-msg.user{color:#fff!important}


/* ===== V28 MOBILE FIX ONLY ===== */
@media (max-width: 700px) {
  html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
  }

  /* Network / locations section must stay inside phone viewport */
  .network-section,
  .network-wrap,
  .network-grid,
  .coverage-section,
  .coverage-wrap,
  .coverage-grid,
  .map-section,
  .map-wrap,
  .map-card,
  .network-visual,
  .coverage-visual {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  /* The circular location graphic is scaled as one unit so no town is cut off */
  .network-orbit,
  .coverage-orbit,
  .places-orbit,
  .map-orbit,
  .network-map,
  .coverage-map {
    width: min(92vw, 430px) !important;
    max-width: 92vw !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform-origin: center center !important;
  }

  /* Generic protection for absolutely-positioned town labels */
  .network-visual *,
  .coverage-visual *,
  .network-map *,
  .coverage-map * {
    box-sizing: border-box;
  }

  /* Assistant launcher */
  .npa {
    position: fixed !important;
    right: 10px !important;
    left: auto !important;
    bottom: 10px !important;
    max-width: calc(100vw - 20px) !important;
    transform: none !important;
  }

  .npa-launcher {
    max-width: calc(100vw - 20px) !important;
    white-space: nowrap !important;
  }

  /* Assistant opened panel: always fully visible, no sideways dragging */
  .npa-panel {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: 72px !important;
    width: auto !important;
    max-width: none !important;
    height: min(610px, calc(100dvh - 92px)) !important;
    max-height: calc(100dvh - 92px) !important;
    margin: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  .npa-messages,
  .npa-actions,
  .npa-form {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .npa-msg {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .npa-choice {
    max-width: 100% !important;
    white-space: normal !important;
    text-align: left !important;
    line-height: 1.35 !important;
  }

  .npa-form input {
    min-width: 0 !important;
    width: 100% !important;
  }
}

@media (max-width:700px) {
.coverage-center,
.coverage-map,
.coverage-place,
.coverage-ring,
.network-art,
.network-inner {
  max-width: 100% !important;
  box-sizing: border-box !important;
}
}
