.language-popup {width:100%;height:100%;display:none;position:fixed;top:0;left:0;background:rgba(0,0,0,0.75);z-index:9999;}
.language-popup.is-open {display:block;}

/* blokada przewijania tła gdy popup otwarty */
html.nc-lp-open,
body.nc-lp-open { overflow:hidden; }

/* === MODAL === */
.popup-inner{
  max-width:800px;
  width:90%;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  box-shadow:0 2px 6px rgba(0,0,0,1);
  border-radius:3px;
  background:#fff;

  /* kluczowe: wysokość i overflow */
  height: calc(100dvh - 40px);   /* stabilniej na mobile niż 100vh */
  max-height: 800px;             /* na desktop nie rośnie w nieskończoność */
  overflow: visible;             /* close może wystawać */
  display:flex;
  flex-direction:column;
}

/* scroll tylko tutaj */
.popup-scroll{
  flex: 1 1 auto;
  min-height: 0;                 /* KLUCZ: bez tego na mobile potrafi "wypychać" */
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding:25px;
  overscroll-behavior: contain;
}

/* Twoje układy wewnętrzne */
.popup-inner-right {width:100%;}
.popup-inner-left {width:100%;}

@media (min-width:1420px){.popup-inner{max-width:900px;}}
@media (min-width:1720px){.popup-inner{max-width:1000px;}}

.popup-inner h4 {font-size:32px;text-align:center;}
.popup-inner p {text-align:center;}
.popup-inner img {margin:0 auto;}

.popup-close{
  width:30px;height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;

  position:absolute;
  top:0;
  right:0;

  transition:ease .25s all;
  transform:translate(50%,-50%);
  border-radius:1000px;
  background:rgba(0,0,0,.8);
  font-family:Arial,Sans-Serif;
  font-size:20px;
  line-height:1;
  color:#fff;
  z-index:10;
}
.popup-close:hover{
  transform:translate(50%,-50%) rotate(180deg);
  background:rgba(0,0,0,1);
  text-decoration:none;
}

/* desktop: Twoje floaty zostają */
@media (min-width:760px){
  .popup-scroll{padding:40px;}
  .popup-inner-right{width:34%;float:right;padding-left:30px;}
  .popup-inner-left{width:66%;float:left;border-right:1px solid #ccc;}
}

.popup-inner-right h5,.popup-inner-left h5{font-size:18px;text-align:center;padding-bottom:10px;}
.popup-inner-left h5{padding-bottom:5px;}
.popup-inner-left p{margin-bottom:15px;}

.popup-inner-languages{border:1px solid #ccc;margin-bottom:10px;}
.popup-inner-languages li{padding-left:20px;line-height:30px;display:inline-block;width:49%;}
.popup-inner-country li{padding-left:0;line-height:40px;display:inline-block;}

span.flag-name{display:none;}
.popup-inner-languages ul{padding:0;margin-top:10px;}

@media (min-width:382px){
  .popup-inner-country li{width:unset;padding-left:5px;}
}
@media (min-width:760px){
  .popup-inner-country li{width:45%;}
  span.flag-name{display:contents;padding-left:10px;font-size:14px;}
  .popup-inner-languages ul{padding:10px;}
  .popup-inner-languages li{display:block;width:100%;}
}
@media (min-width:1410px){
  .popup-inner-country li{width:30%;padding-left:20px;}
}

/* mini języki */
.popup-inner-languages-2 span{cursor:pointer}
.popup-inner-languages-2{clear:both;text-align:center;margin-bottom:30px}
.popup-inner-languages-2 li{margin:2px 6px;display:inline}
.popup-inner-languages-2 .bg-flag-2{transform:scale(.6)}

/* sprite flags */
.bg-flag{
  width:52px;height:36px;display:inline-block;
  transform:scale(.46);
  margin:-9.72px -4px -10.72px -14px;
}
.bg-pl{background:url(/img/country.png) -226px -290px;}
.bg-it{background:url(/img/country.png) -10px -234px}
.bg-gb{background:url(/img/country.png) -442px -10px}
.bg-de{background:url(/img/country.png) -290px -344px}
.bg-cz{background:url(/img/country.png) -10px -122px}
.bg-ee{background:url(/img/country.png) -154px -122px}
.bg-fi{background:url(/img/country.png) -226px -10px}
.bg-gr{background:url(/img/country.png) -442px -64px}
.bg-nl{background:url(/img/country.png) -10px -290px}
.bg-ie{background:url(/img/country.png) -154px -177px}
.bg-lt{background:url(/img/country.png) -442px -226px}
.bg-lu{background:url(/img/country.png) -298px -66px}
.bg-pt{background:url(/img/country.png) -220px -400px}
.bg-ru{background:url(/img/country.png) -290px -400px}
.bg-se{background:url(/img/country.png) -430px -400px}
.bg-sk{background:url(/img/country.png) -370px -234px}
.bg-hu{background:url(/img/country.png) -10px -178px}
.bg-lv{background:url(/img/country.png) -298px -122px}
.bg-be{background:url(/img/country.png) -80px -345px}
.bg-at{background:url(/img/country.png) -10px -10px}
.bg-dk{background:url(/img/country.png) -82px -122px}
.bg-hr{background:url(/img/country.png) -226px -122px}
.bg-es{background:url(/img/country.png) -360px -346px}
.bg-si{background:url(/img/country.png) -370px -178px}
.bg-fr{background:url(/img/country.png) -226px -66px}

/* trigger */
.popup-show{
  cursor:pointer;
  display:inline-block;
  height:48px;
  line-height:48px;
}
.popup-show:hover{opacity:.8;}
