/* ===========================================================
   SwedenSlovakia.sk – HTML/CSS/PHP template (pixel layout based on screenshot)
   Notes:
   - Minimal JS (only mobile menu toggle).
   - Slider is styled like screenshot (dots), kept simple with 1 visible slide.
   - Works inside a subfolder thanks to config.php url_path().
=========================================================== */

:root{
  --blue:#1969A6;          /* topbar + main brand */
  --blue-dark:#003253;     /* buttons */
  --text:#1b1f23;
  --muted:#6b7280;
  --line:#e6e7ea;
  --soft:#f1f2f4;
  --bg:#ffffff;
  --container:1320px;
  --radius:14px;
  --shadow:0 10px 30px rgba(0,0,0,.08);
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"Sora","Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }

.container{
  width:min(var(--container), calc(100% - 48px));
  margin:0 auto;
}

/* Topbar */
.topbar{
    background: #003253;
  color:#fff;
  font-family:"Montserrat",sans-serif;
  font-size:13px;
}
.topbar__inner{
height: 49px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.topbar__right{
  display:flex;
  gap:18px;
  align-items:center;
}
.topbar__link{ opacity:.95;     font-size: 1.5em;font-weight: 700;}
.topbar__link:hover{ opacity:1; text-decoration:underline; }
.ico{     font-size: 27px;}

/* Responsive */
@media (max-width: 980px){
  .topbar__link{
        font-size: 1.1em !important;
  }
}

/* Header */
.header{
  background:#fff;
  border-bottom:1px solid var(--line);
}
.header__inner{
    height: 126px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}

.header__right {
    border: 2px solid #55555561;
    border-radius: 40px;
    padding: 20px;
}

/* Responsive */
@media (max-width: 980px){
  .header__right{
    border: none!important;
  }
}


.brand img{     height: 95px; width:auto; }

/* Desktop nav */
.nav__list{
  display:flex;
  align-items:center;
  gap:26px;
  list-style:none;
  margin:0;
  padding:0;
  font-family:"Sora",sans-serif;
    font-size: 18px;
    font-weight: 700;
}
.nav__list a{
  padding:10px 4px;
  color:#25323b;
}
.nav__list a:hover{ color:var(--blue); }
.nav__list a.is-active,
.nav__dropdown > a.is-active{
  color:var(--blue);
  font-weight:600;
}

/* Dropdown (open on hover like screenshot) */
.nav__dropdown{ position:relative; }
.dropdown{
  position:absolute;
top: 31px;
  left:0;
  width:260px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  border-radius:10px;
  padding:8px 0;
  opacity:0;
  pointer-events:none;
  transform:translateY(8px);
  transition:.18s ease;
  z-index:20;
}
.nav__dropdown:hover .dropdown,
.nav__dropdown:focus-within .dropdown{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.dropdown a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 16px;
  color:#25323b;
}
.dropdown a + a{ border-top:1px solid #f0f1f3; }
.dropdown a:hover{ background:#f7f8fa; }
.dropdown .arrow{ opacity:.6; }

/* Right side */
.header__right{
  display:flex;
  align-items:center;
  gap:16px;
}
.lang{
  font-family:"Montserrat",sans-serif;
  font-size:14px;
  color:#25323b;
}
.lang a{ font-weight:700; }
.lang a.is-muted{ font-weight:600; opacity:.55; }
.lang__sep{ opacity:.35; padding:0 6px; }

/* SCHOVAŤ language switcher na mobile */
@media (max-width: 1130px) {
  .header__right {
    display: none !important;
  }
}


/* Burger */
.burger{
    display: none;
    width: 63px;
    height: 67px;
    border: none;
    border-radius: 10px;
background: #003253;
    cursor: pointer;
    padding: 0;
}
.burger span{
    display: block;
    width: 29px;
    height: 5px;
    margin: 5px auto;
    background: #ffffff;
    border-radius: 2px;
}
/* Mobile fullscreen menu */
.mnav{
  position:fixed;
  inset:0;
background: #003253;
  display:none;
  z-index:50;
}
.mnav.is-open{ display:flex; }
.mnav__inner{
  margin:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
  font-family:"Montserrat",sans-serif;
  font-size:26px;
  color: white;
}
.mnav__inner a:hover{ color:rgb(113, 168, 240); }
/* Mobile menu language switch – WHITE like main */
.mnav__lang{
  opacity: 1 !important;            /* zruší tvoje .75 */
  display: inline-flex;
  align-items: center;
  gap: 10px;
margin-top: 42px;
  padding: 10px 18px;
  border: 2px solid #fff;
  border-radius: 999px;

  color: #fff;                      /* pre istotu */
}

.mnav__lang a{
  color: #fff !important;
  font-weight: 800;
  text-decoration: none;
}

.mnav__lang span{
  color: #fff;
  opacity: .9;                      /* jemne, ale stále biele */
}


/* HERO */
.hero{
  position:relative;
  overflow:hidden;
}
.hero__slide{ position:relative; }
.hero__media img{
  width:100%;
height: 765px;
  object-fit:cover;
}
.hero__content{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
}
.hero__text{
  max-width:520px;
  padding-left:22px;
}
.hero__title{
    font-size: 143px;
    letter-spacing: -8.5px;
    line-height: 1;
    font-weight: bold;
    color: #003253;
    margin-bottom: 10px;
}
.hero__subtitle{
    font-family: "Sora", sans-serif;
    font-size: 34px;
    line-height: 1.25;
    color: #003253;
    margin-bottom: 18px;
    font-weight: bold;
}
.btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 58px;
    padding: 0px 50px;
    border-radius: 999px;
    background: var(--blue-dark);
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 700;
    border: 0;
}
.btn:hover{ filter:brightness(.95); }
.btn--wide{ width:220px; }

.hero__dots{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  display:flex;
  gap:10px;
}
.dot{
  width:10px;height:10px;border-radius:50%;
  background:#d7dbe0;
}
.dot.is-active{ background:var(--blue-dark); }

/* Cards */
.cards{ padding:18px 0 8px; }
.cards__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}
.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  display:grid;
  grid-template-columns: 1.2fr 1fr auto;
  align-items:center;
  min-height:138px;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}
.card img{
  height:138px;
  width:100%;
  object-fit:cover;
}
.card__meta{
  padding:0 16px;
}
.card__name{
  font-size:26px;
  font-weight:800;
  color:var(--blue-dark);
  line-height:1.05;
}
.card__cat{
  font-family:"Montserrat",sans-serif;
  font-size:13px;
  color:#6b7280;
  margin-top:4px;
}
.pill{
  margin-right:18px;
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:34px;
  padding:0 18px;
  border:1px solid #b8c7d2;
  border-radius:999px;
  font-family:"Montserrat",sans-serif;
  font-size:13px;
  font-weight:700;
  color:#2a3b46;
  background:#f5f7f9;
}

/* About / video */
.about{ padding:34px 0; }
.about__grid{
  display:grid;
  grid-template-columns: 1.1fr 1fr;
  gap:34px;
  align-items:center;
}
.video{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--shadow);
  border:1px solid var(--line);
}
.video img{ width:100%; height:auto; }
.video__play{
  position:absolute;
  left:50%; top:50%;
  width:84px;height:84px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:rgba(255,255,255,.85);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.video__play:before{
  content:"";
  position:absolute;
  left:34px; top:27px;
  width:0;height:0;
  border-left:22px solid var(--blue-dark);
  border-top:14px solid transparent;
  border-bottom:14px solid transparent;
}
.about__logo{
  font-family:"Montserrat",sans-serif;
  font-weight:700;
  letter-spacing:.6px;
  color:#7b8790;
  text-transform:lowercase;
  margin-bottom:12px;
}
.about__text p{
  font-family:"Montserrat",sans-serif;
  color:#4b5563;
  line-height:1.55;
  margin:0 0 12px;
}

/* Divisions */
.divisions{
padding: 135px 0 136px;
  border-top:1px solid var(--line);
}
.section-title{
  text-align:center;
    font-size: 39px;
    padding-bottom: 43px;
  margin:0 0 18px;
  color:var(--blue-dark);
}
.divisions__grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
  text-align:center;
  font-family:"Montserrat",sans-serif;
  color:#4b5563;
  font-size: 24px;
}
.divisions__item{
  display: flex;                 /* 👈 toto je kľúč */
  align-items: center;           /* 👈 vertikálne na stred */
  justify-content: center;       /* horizontálne na stred */
  text-align: center;
  padding: 0 22px;               /* boky, aby sa to pekne lámalo */
  font-family: "Montserrat", sans-serif;
  color: #4b5563;
  line-height: 1.35;
}
.divisions__item + .divisions__item{
  border-left:1px solid var(--line);
}

/* === FULL WIDTH CTA BACKGROUND === */
.cta{
  margin: 40px 0;
}

.cta__bg{
  width: 100%;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  background: #f2f2f3;
  border-radius: 18px;
      padding: 109px 0px;
}

.btncta{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 58px;
    padding: 0px 50px;
    border-radius: 999px;
    background: var(--blue-dark);
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 700;
    border: 0;
}

/* vnútorný layout */
.cta__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
min-height: 316px;
}

.cta__title {
  font-family: "Sora", "Montserrat", sans-serif;
  font-size: 36px;
  font-weight: 800;
    margin-bottom: 28px;
  color: #003253;}

/* boxy */
.cta__box{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 32px 48px;
}

/* STREDOVÁ DELIACA ČIARA */
.cta__box--right{
    border-left: 4px solid #ffffff;
}

/* ZAROVNANIE PRESNE AKO V DIZAJNE */
.cta__box--left{
  align-items: flex-end;     /* obsah ide k stredu */
  text-align: right;
}

.cta__box--right{
  align-items: flex-start;   /* obsah ide k stredu */
  text-align: left;
}

/* formulár */
.cta__form{
  display: flex;
  gap: 12px;
  margin-top: 14px;
}

.cta__form input{
    height: 61px;
  width: 280px;
  border-radius: 999px;
  border: 1px solid #d1d5db;
  padding: 0 18px;
}

@media (max-width: 768px){
  .cta__bg{
    border-radius: 14px;
  }

  .cta__grid{
    grid-template-columns: 1fr;
  }

  .cta__box--right{
    border-left: none;
    border-top: 1px solid #e0e0e0;
  }

  .cta__box{
    align-items: center;
    text-align: center;
  }

  .cta__form{
    flex-direction: column;
    width: 100%;
  }

  .cta__form input{
    width: 100%;
  }
}

/* CTA – force bottom align (works with your current HTML: 2x .cta__box) */
.cta__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;          /* oba boxy rovnaká výška */
  min-height: 160px;
}

.cta__box{
  display: flex;
  flex-direction: column;
  justify-content: flex-start !important;  /* zruší center */
  height: 100%;
  padding: 32px 48px;
}

/* posuň CTA prvky na spodok v oboch boxoch */
.cta__box .cta__form{ 
  margin-top: auto; 
}

.cta__grid > .cta__box:nth-child(2) .btn{
  margin-top: auto; 
}

/* voliteľné: nech majú rovnakú výšku aj vizuálne */
.cta__grid > .cta__box:nth-child(2) .btn{
  height: 44px;
  padding: 0 22px;
  font-size: 16px;
}



/* ===== FOOTER 1:1 ===== */
.footer{
  background:#fff;
  padding: 77px 0px 77px 0px;
}

/* veľký vzduch hore ako na dizajne */
.footer__grid{
    padding: 7px 0 46px;
  display:grid;
  grid-template-columns: 360px 1fr 1fr; /* ľavý pevný, stred/pravý pružné */
  column-gap: 80px;
  align-items:start;
}

/* logo + text vľavo */
.footer__logo{
    height: 127px;
  width:auto;
  margin-bottom: 18px;
}

.footer__text{
  font-family:"Montserrat",sans-serif;
  font-size:19px;
  line-height:1.55;
  color:#8b95a1;
}

.footer__text strong{
  color:#55606b;
  font-weight:700;
}

/* stred a pravá časť opticky v strede */
.footer__col--center,
.footer__col--right{
  justify-self:center;
  text-align:left;
}

/* nadpisy Sitemap / Informácie */
.footer__title{
  font-family:"Montserrat",sans-serif;
  font-size:28px;
  font-weight:700;
  color:#6b7280;
  margin-bottom: 20px;
}

/* linky */
.footer__col a{
  display:block;
  font-family:"Montserrat",sans-serif;
  font-size:19px;
  color:#9aa3ad;
  margin:10px 0;
}


/* dlhá deliaca čiara v strede */
.footer__divider{
  height:1px;
  width: 78%;
  margin: 36px auto 0;
  background:#d9dde2;
}

/* spodný pás */
.footer__bottom{
  padding: 26px 0 34px;
  font-family:"Montserrat",sans-serif;
  font-size:14px;
    color: #7d7d7d;
}

.footer__bottomInner{
  display:flex;
  justify-content:space-between;
  gap:20px;
}

/* mobile */
@media (max-width: 980px){
  .footer__grid{
    grid-template-columns: 1fr;
    row-gap: 38px;
    padding: 0px 0 28px;
  }

  .footer__col--center,
  .footer__col--right{
    justify-self:start;
  }
  .footer{
    padding: 40px 0px 0px 0px;
  }

  .footer__divider{
    width: 100%;
    margin: 18px 0 0;
  }

  .footer__bottomInner{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width: 980px){

  /* GRID musí mať 1 stĺpec bez dedičstva */
  .footer__grid{
    grid-template-columns: 1fr;
    justify-items: center;
  }

  /* KAŽDÝ stĺpec musí mať auto šírku */
  .footer__col{
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .footer__col a{
  margin:3px 0;
}

  /* zruš desktopové zarovnania */
  .footer__col--center,
  .footer__col--right{
    justify-self: center;
  }

  /* logo fix */
  .footer__logo{
    margin: 0 auto 20px;
  }

  /* bottom text */
  .footer__bottomInner{
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}




/* Simple page */
.page{ padding:34px 0 44px; }
.page__title{
  font-size:34px;
  color:var(--blue-dark);
  margin:0 0 14px;
}
.page__content{
  font-family:"Montserrat",sans-serif;
  color:#4b5563;
  line-height:1.6;
}

/* Responsive */
@media (max-width: 980px){
  .nav{ display:none; }
  .burger{ display:inline-block; }

  .hero__media img{ height:620px; }
  .hero__title{ letter-spacing: -3.8px; }

  .cards__grid{ grid-template-columns:1fr; }
  .card{ grid-template-columns: 1.1fr 1fr auto; }
  .divisions {padding: 70px 0 70px;}
  .about__grid{ grid-template-columns:1fr; }
  .divisions__grid{ grid-template-columns:1fr 1fr;     font-size: 18px;}
  .divisions__item + .divisions__item{ border-left:none;    padding: 24px; }
  .divisions__item:nth-child(2n){ border-left:1px solid var(--line); }
  .divisions__item:nth-child(n+3){ border-top:1px solid var(--line); }

  .cta__grid{ grid-template-columns:1fr; }
  .cta__box + .cta__box{ border-left:none;         border-top: 2px solid #ffffff;}
  .footer__grid{ grid-template-columns:1fr; }
  .footer__bottomInner{ flex-direction:column; align-items:center; text-align:center; }
}

@media (max-width: 768px){
  .hero__media img{
    height: 55vh;       /* 50–60vh je ideál */
    min-height: 320px;
    max-height: 520px;
  }
}

@media (max-width: 520px){
  .container{ width:calc(100% - 28px); }
  .topbar__right{ gap:10px; font-size:12px; }
  .hero__media img{ height:720px; }
  .cta__form{ flex-direction:column; }
  .cta__form button{ width:100%; }
}

@media (max-width: 1000px){
  .hero__title{ font-size:52px; }
  .hero__subtitle{ font-size:18px; }
}

/* === Product cards (1:1 like screenshot) === */
.prod-cards{
    padding: 40px 0 40px;
}

.prod-cards__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.prod-card{
  position: relative;
  height: 315px;                 /* výška ako na screenshote */
  border-radius: 18px;
  overflow: hidden;
  background: #eee;
  border: 1px solid #e6e7ea;
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  display: block;
}

.prod-card__bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.95);
  transform: scale(1.02);
}

/* jemná “hmla” dole aby text sedel ako na screenshote */

.prod-card__content{
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 16px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  z-index: 2;
}

.prod-card__title{
  font-family: "Sora", "Montserrat", sans-serif;
  font-weight: 800;
  font-size: 44px;               /* veľký nápis */
  line-height: .92;
  color: #003253;             /* tmavomodrá ako v dizajne */
  letter-spacing: .2px;
}

.prod-card__title--two{
  font-size: 40px;               /* Premium One má o kúsok menšie */
}

.prod-card__sub{
margin-top: 6px;
    font-family: "Montserrat", sans-serif;
    font-size: 17px;
    color: #003253;
}

.prod-card__btn{
    flex: 0 0 auto;
    height: 51px;
    min-width: 129px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgb(255 255 255 / 0%);
    border: 2px solid rgb(0 50 83);
    color: #003253;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 17px;
    backdrop-filter: blur(3px);
}

/* Hover jemný, nič “nové” */
.prod-card:hover .prod-card__btn{
  background: rgba(255,255,255,.70);
}

/* Responsive */
@media (max-width: 980px){
  .prod-cards__grid{
    grid-template-columns: 1fr;
  }
  .prod-card{
    height: 235px;
  }
  .prod-card__title{
    font-size: 46px;
  }
}

.topbar__item{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  text-decoration:none;
  font-weight:700;
}

.topbar__circle{
  width:30px;
  height:30px;
  border:2px solid #fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.topbar__circle i{
  font-size:14px;
  line-height:1;
}

/* ABOUT SECTION */
.about{
  padding: 140px 0;
  background-color: #f0f0f0;
}

.about__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

/* VIDEO BLOCK */
.about__video{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 20px;
  background: #000;
}

.about__video-el{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* TEXT */
.about__logo{
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 20px;
  letter-spacing: .08em;
}

.about__text p{
  margin-bottom: 18px;
  line-height: 1.6;
}

/* RESPONSIVE */
@media (max-width: 980px){
  .about__grid{
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .about{
    padding: 60px 0;
  }
}

/* === TOPBAR – mobile center === */
@media (max-width: 768px){
  .topbar__inner{
    justify-content: center;     /* celý obsah na stred */
  }

  .topbar__right{
    display: flex;
    justify-content: center;     /* položky na stred */
    align-items: center;
    gap: 16px;
  }

  .topbar__item{
    justify-content: center;     /* ikona + text v strede */
  }
}

/* =========================
   ABOUT US (ONAS) SECTION
   ========================= */

.aboutUs{
  background:#fff;
  padding:60px 0 80px;
  color:#2b2b2b;
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      border-bottom: 2px solid #e9e9e9;
}

.aboutUs__container{
  width:min(1100px, 92vw);
  margin:0 auto;
}

/* MISSION header with lines */
.aboutUs__mission{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  margin-bottom:14px;
}

.aboutUs__missionLine{
  height:1px;
  background:#cfcfcf;
  flex:1;
  max-width:420px;
}

.aboutUs__missionTitle{
  margin:0;
  font-size:20px;
  letter-spacing:2px;
  font-weight:600;
  color:#bdbdbd;
}

.aboutUs__missionText{
  margin:0 auto;
  max-width:980px;
  text-align:center;
  font-style:italic;
  line-height:1.55;
  color:#6f6f6f;
  font-size:17px;
}

.aboutUs__divider{
  height:1px;
  background:#d7d7d7;
  margin:22px 0 26px;
}

/* Main grid: image left, text right */
.aboutUs__grid{
  display:grid;
  grid-template-columns: 1.7fr 1fr;
  gap:34px;
  align-items:start;
}

.aboutUs__imageWrap{
  background:#f6f6f6;
  overflow:hidden;
  border-radius: 32px;
}

.aboutUs__image{
  width:100%;
  height:100%;
  display:block;
  aspect-ratio: 16 / 9;
  object-fit:cover;
}

.aboutUs__textBlock{
  padding-top:6px;
}

.aboutUs__headline{
  margin:0 0 10px;
  font-size:14px;
  letter-spacing:1px;
  color:#4f4f4f;
  font-weight:700;
}

.aboutUs__textBlock p{
  margin:0 0 12px;
  line-height:1.6;
  font-size:17px;
  color:#5f5f5f;
}

/* Bottom centered paragraph */
.aboutUs__bottomText{
margin: 47px auto 0;
  max-width:980px;
  text-align:center;
  line-height:1.6;
  color:#6b6b6b;
  font-size:17px;
}

/* Photogallery */
.aboutUs__galleryTitle{
  margin:46px 0 18px;
    text-align: center;
    font-size: 39px;
    color: var(--blue-dark);
}

.aboutUs__galleryRow{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap:22px;
  align-items:center;
}

.aboutUs__thumb{
  background:#f6f6f6;
  overflow:hidden;
      border-radius: 32px;
}

.aboutUs__thumb img{
  width:100%;
  display:block;
  aspect-ratio: 4 / 3;
  object-fit:cover;

}

/* Arrow on the right */
.aboutUs__arrow{
  border:0;
  background:transparent;
  cursor:pointer;
  padding:8px 6px;
  line-height:1;
}

.aboutUs__arrowIcon{
  display:inline-block;
  font-size:44px;
  color:#3b3b3b;
  transform: translateY(2px);
}

/* Responsive */
@media (max-width: 900px){
  .aboutUs__grid{
    grid-template-columns: 1fr;
  }

  .aboutUs__galleryRow{
    grid-template-columns: 1fr 1fr;
    gap:16px;
  }

  .aboutUs__arrow{
    grid-column: 1 / -1;
    justify-self:end;
  }

  .aboutUs__galleryTitle{
    font-size:28px;
  }
}

@media (max-width: 520px){
  .aboutUs{
    padding:44px 0 60px;
  }

  .aboutUs__missionTitle{
    font-size:18px;
  }

  .aboutUs__missionText{
    font-size:16px;
  }

  .aboutUs__galleryRow{
    grid-template-columns: 1fr;
  }

  .aboutUs__arrow{
    justify-self:end;
  }
}

@media (max-width: 768px) {

  /* všetok text na stred */
  .aboutUs__missionText,
  .aboutUs__textBlock,
  .aboutUs__textBlock p,
  .aboutUs__bottomText {
    text-align:center;
  }

  /* menšie písmo o 2px */
  .aboutUs__missionText,
  .aboutUs__textBlock p,
  .aboutUs__bottomText {
    font-size:15px;
  }

  /* jemne stiahnuť riadkovanie, nech to je elegantné */
  .aboutUs__missionText,
  .aboutUs__textBlock p,
  .aboutUs__bottomText {
    line-height:1.55;
  }

}

.cards2 {
  padding: 40px 0 169px;
}

/* ================
   Loader overlay
   ================ */
.page-loader{
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: #fff;
  display: grid;
  place-items: center;
  opacity: 1;
  visibility: visible;
  transition: opacity .25s ease, visibility .25s ease;
}

.page-loader.is-hidden{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.page-loader__inner{
  display: grid;
  place-items: center;
  gap: 14px;
  transform: translateY(6px);
  animation: loaderFloat .7s ease-in-out infinite alternate;
}

@keyframes loaderFloat{
  from { transform: translateY(6px); }
  to   { transform: translateY(0px); }
}

/* ================
   Tooth SVG
   ================ */
.tooth{
  width: min(140px, 38vw);
  height: auto;
  display: block;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.08));
  animation: toothBreath 1.15s ease-in-out infinite;
}

@keyframes toothBreath{
  0%   { transform: scale(1); }
  50%  { transform: scale(1.03); }
  100% { transform: scale(1); }
}

.tooth__fill{
  fill: #fbfbfb;               /* skoro biela, nech je to “čisté” */
}

.tooth__stroke{
  fill: none;
  stroke: #cfcfcf;             /* jemná sivá */
  stroke-width: 6;
  stroke-linecap: round;
  stroke-linejoin: round;

  /* kreslenie obrysu */
  stroke-dasharray: 900;
  stroke-dashoffset: 900;
  animation: toothDraw 1.2s ease-in-out infinite;
}

@keyframes toothDraw{
  0%   { stroke-dashoffset: 900; opacity: .55; }
  45%  { stroke-dashoffset: 0;   opacity: .9; }
  100% { stroke-dashoffset: -900; opacity: .55; }
}

.tooth__shine{
  fill: none;
  stroke: #dedede;
  stroke-width: 6;
  stroke-linecap: round;
  opacity: .65;
  stroke-dasharray: 140;
  stroke-dashoffset: 140;
  animation: shine 1.2s ease-in-out infinite;
}

@keyframes shine{
  0%   { stroke-dashoffset: 140; opacity: .35; }
  55%  { stroke-dashoffset: 0;   opacity: .75; }
  100% { stroke-dashoffset: -140; opacity: .35; }
}

/* text */
.loader-text{
  font-family: "Sora", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  letter-spacing: .01em;
  font-size: 14px;
  color: #9a9a9a;
}



.demoLite{
  --blue: var(--blue, #17479e);
  --bg: white;
  --card: #ffffff;
  --text: #0b0f19;
  --muted: rgba(11,15,25,.72);
  --border: rgba(15, 23, 42, .12);
  --field: #f3f4f6;
  --fieldBorder: rgba(15, 23, 42, .16);
  --shadow: 0 18px 44px rgba(15, 23, 42, .10);
  border-bottom: 2px solid #e9e9e9;
  background: var(--bg);
  padding: 80px 0;
  color: var(--text);
}

.demoLite__wrap{
  width: min(1220px, 92vw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 56px;
  align-items: start;
}

.demoLite__h{
  font-family: "Sora", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.02;
  margin: 0 0 18px 0;
  font-size: 78px;
    color: var(--blue-dark);
}

.demoLite__p{
  margin: 0 0 34px 0;
  max-width: 52ch;
  font-size: 18px;
  line-height: 1.6;
  color: var(--muted);
}

.demoLite__contact{ display: grid; gap: 14px; }

.demoLite__phone,
.demoLite__mail{
  font-family: "Sora", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  text-decoration: none;
    color: var(--blue-dark);
  width: fit-content;
}

.demoLite__phone{
  font-weight: 900;
  letter-spacing: -0.03em;
  font-size: 44px;
}

.demoLite__mail{
  font-weight: 900;
  letter-spacing: -0.02em;
  font-size: 26px;
  opacity: .92;
}

.demoLite__right{ display: flex; justify-content: flex-end; }

/* CARD */
.demoLite__card{
  width: min(620px, 100%);
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 24px 26px;
}

/* GRID */
.demoLite__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 32px;
  row-gap: 29px;
}

.f.full{ grid-column: 1 / -1; }

/* LABELS */
.l{
  display: block;
  margin: 0 0 8px 2px;
  font-size: 13px;
  font-weight: 700;
  color: rgba(15, 23, 42, .92);
}
.l span{ color: rgba(15, 23, 42, .55); }

/* INPUTS */
.i{
  width: 100%;
  height: 62px;
  border-radius: 10px;
  border: 1px solid var(--fieldBorder);
  background: var(--field);
  padding: 0 14px;
  font-size: 14.5px;
  color: rgba(15, 23, 42, .92);
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.i::placeholder{ color: rgba(15, 23, 42, .42); }

.i:focus{
  background: #fff;
  border-color: color-mix(in srgb, var(--blue) 55%, var(--fieldBorder));
}

/* SELECT arrow (if you ever use class="i sel" again) */
.sel{
  appearance: none;
  padding-right: 44px;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(15, 23, 42, .55) 50%),
    linear-gradient(135deg, rgba(15, 23, 42, .55) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 29px,
    calc(100% - 12px) 29px;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

/* ===== FIX: cleanSelect select (this is what broke) ===== */
.cleanSelect{
  position: relative;
}

.cleanSelect select{
  width: 100%;
  height: 62px;
  border-radius: 10px;
  border: 1px solid var(--fieldBorder);
  background: var(--field);
  padding: 0 44px 0 14px;
  font-size: 14.5px;
  color: rgba(15, 23, 42, .92);
  outline: none;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;

  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  background-image:
    linear-gradient(45deg, transparent 50%, rgba(15, 23, 42, .55) 50%),
    linear-gradient(135deg, rgba(15, 23, 42, .55) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 29px,
    calc(100% - 12px) 29px;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

.cleanSelect select:focus{
  background: #fff;
  border-color: color-mix(in srgb, var(--blue) 55%, var(--fieldBorder));
}

/* FOOTER TEXTS */
.fine{
  margin: 18px 2px 0 2px;
  font-size: 12.5px;
  line-height: 1.55;
  color: rgba(15, 23, 42, .62);
}
.fine a{
  color: rgba(15, 23, 42, .80);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.help{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(15, 23, 42, .10);
  font-size: 12.8px;
  color: rgba(15, 23, 42, .62);
}
.help a{
  color: rgba(15, 23, 42, .86);
  font-weight: 700;
  text-decoration: none;
}
.help a:hover{
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* RESPONSIVE */
@media (max-width: 1020px){
  .demoLite__wrap{ grid-template-columns: 1fr;         gap: 111px; }
  .demoLite__right{ justify-content: flex-start; }
  .demoLite__h{ font-size: clamp(44px, 9vw, 68px); }
  .demoLite{ padding: 56px 0; }
}

@media (max-width: 560px){
  .demoLite__grid{ grid-template-columns: 1fr; row-gap: 14px; }
  .demoLite__card{ padding: 18px 16px; border-radius: 16px; }
  .demoLite__phone{ font-size: 34px; }
  .demoLite__mail{ font-size: 20px; }
}

/* ===== SUBMIT BUTTON ===== */
.actions{
  margin-top: 20px;
}

.submitBtn{
  height: 44px;
  padding: 0 51px;
  border: none;
  border-radius: 10px;
  background: #003253;
  color: #ffffff;
  font-family: "Sora", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 14.5px;
  font-weight: 800;
  cursor: pointer;
  transition: filter .15s ease, box-shadow .15s ease, transform .08s ease;
}

/* mobile = full width */
@media (max-width: 560px){
  .submitBtn{
    width: 100%;
  }
}

/* ===== PATCH: mapa pod kontaktom vľavo, lepšie spacing ===== */
.demoLite__left .contactMap{
    margin-top: 75px;
  height: 420px;
}

@media (max-width: 1020px){
  .demoLite__left .contactMap{
    height: 320px;
  }
}

@media (max-width: 560px){
  .demoLite__left .contactMap{
    height: 280px;
  }
}

/* ===== CONTACT MAP ===== */
.contactMap{
  width: 100%;
  height: 100%;
  min-height: 360px;
  border-radius: 18px;
  overflow: hidden;
  background: #f3f4f6;
}

.contactMap iframe{
  width: 100%;
  height: 100%;
  border: 0;
  filter: grayscale(100%) contrast(1.05) brightness(0.98);
}

/* mobile map radius */
@media (max-width: 768px){
  .contactMap{
    min-height: 280px;
    border-radius: 16px;
  }
}

/* ===== MOBILE: centrovanie textu v kontaktnej sekcii ===== */
@media (max-width: 768px){
  .demoLite__left{
    text-align: center;
  }

  .demoLite__p{
    margin-left: auto;
    margin-right: auto;
  }

  .demoLite__contact{
    align-items: center;
  }

  .demoLite__phone,
  .demoLite__mail{
    margin-left: auto;
    margin-right: auto;
  }
}
/* ===== MOBILE: poradie bez rozbitia textu (grid areas) ===== */
@media (max-width: 768px){

  /* prepneme layout na 1 stĺpec, ale s jasným poradím */
  .demoLite__wrap{
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
    grid-template-areas:
      "left"
      "right"
      "map";
  }

  .demoLite__left{ grid-area: left; }
  .demoLite__right{ grid-area: right; }

  /* mapa je v .demoLite__left => spravíme jej "map area" cez wrapper hack:
     dáme jej full-width a posunieme ju na koniec pomocou order v rámci left */
  .demoLite__left{
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  /* poradie v ľavom stĺpci: nadpis, text, kontakt, mapa */
  .demoLite__h{ order: 1; }
  .demoLite__p{ order: 2; }
  .demoLite__contact{ order: 3; }
  .demoLite__left .contactMap{ order: 4; }

  /* a teraz kľúč: mapu vizuálne presunieme pod form cez margin trick */
  .demoLite__left .contactMap{
    margin-top: 0;
  }

  /* aby form bol hneď po texte (mapa až pod ním) */
  .demoLite__right{
    margin-top: 6px;
  }
}
/* ===== DESIGN PATCH: viac vzduchu + ikonky ===== */

/* viac priestoru v sekcii */
.demoLite{
  padding: 110px 0;              /* bolo 80 */
}

/* väčší odstup medzi left/right */
.demoLite__wrap{
  gap: 72px;                      /* bolo 56 */
}

/* text blok: nech je čistejší */
.demoLite__p{
  margin-bottom: 38px;            /* jemne viac */
}

/* kontakt blok s ikonami */
.demoLite__contact--icons{
  gap: 18px;
  margin-top: 6px;
}

.contactLine{
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  color: var(--blue-dark);
  padding: 10px 12px;
  border-radius: 14px;
  transition: background .15s ease, transform .08s ease;
}

.contactLine:hover{
  background: rgba(15, 23, 42, .04);
}

.contactLine:active{
  transform: translateY(1px);
}

.contactIcon{
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: #f3f4f6;
  border: 1px solid rgba(15,23,42,.10);
  flex: 0 0 46px;
  color: var(--blue-dark);
}

.contactIcon svg{
  width: 22px;
  height: 22px;
}

.contactText{
  display: grid;
  gap: 3px;
}

.contactLabel{
  font-size: 12.5px;
  font-weight: 700;
  opacity: .75;
  letter-spacing: .01em;
}

.contactValue{
  font-family: "Sora", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

/* nech telefon/email už nie sú "obrie linky" bez štruktúry */
.demoLite__phone,
.demoLite__mail{
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
}

/* karta formu – viac paddingu aby to dýchalo */
.demoLite__card{
  padding: 34px 32px;            /* bolo 24px 26px */
  box-shadow: var(--shadow);
}

/* mapa – jemne viac priestoru, aby nepôsobila nalepená */
.demoLite__left .contactMap{
  margin-top: 40px;               /* bolo 75, na mobile sa aj tak ruší */
}

/* mobile: nech kontakt linky sú pekne centrované */
@media (max-width: 768px){
  .demoLite{
    padding: 70px 0;
  }

  .demoLite__wrap{
    gap: 34px;
  }

  .demoLite__contact--icons{
    align-items: center;
  }

  .contactLine{
    width: 100%;
    justify-content: center;
    text-align: left;
  }

  .contactText{
    text-align: left;
  }
}

/* ===== MOBILE: kontakty zarovnať doľava ===== */
@media (max-width: 768px){

  /* celý blok nech je stále v strede stránky */
  .demoLite__left{
    text-align: center;
  }

  /* ale samotné kontakt riadky nech sú left-aligned */
  .demoLite__contact--icons{
    align-items: flex-start;
  }

  .contactLine{
    justify-content: flex-start;
    text-align: left;
  }

  .contactText{
    text-align: left;
  }
}

/* =========================
   CSR PAGE — CLEAN UI
   (no shadows, thin lines)
   ========================= */

.csrPage{
  --csrText: #0b0f19;
  --csrMuted: rgba(11,15,25,.70);
  --csrLine: rgba(15, 23, 42, .14);
  --csrLine2: rgba(15, 23, 42, .10);
  --csrBg: #ffffff;
  --csrSoft: #f6f7f9;
  --csrBlue: #17479e;
  --csrRadius: 14px;

  background: var(--csrBg);
  color: var(--csrText);
  padding: 72px 0;
  font-family: Sora, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.csrPage__wrap{
  width: min(1180px, 92vw);
  margin: 0 auto;
}

/* --- Header --- */
.csrHero{
  display: grid;
  gap: 14px;
  padding-bottom: 18px;
}

.csrKicker{
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: 12px;
  color: var(--csrMuted);
  margin: 0;
}

.csrTitle{
  margin: 0;
    font-size: 39px;
    color: var(--blue-dark);
}

.csrLead{
  margin: 0;
    max-width: 100ch;
  color: var(--csrMuted);
font-size: 17.5px;
  line-height: 1.65;
}

.csrHero__badgeRow{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding-top: 6px;
}

.csrChip{
  border: 1px solid var(--csrLine);
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 13px;
  color: rgba(11,15,25,.78);
  background: #fff;
}

.csrDot{
  width: 4px;
  height: 4px;
  border-radius: 99px;
  background: var(--csrLine);
}

/* --- Dividers --- */
.csrDivider{
  height: 1px;
  background: var(--csrLine2);
  margin: 26px 0;
}

/* --- Blocks --- */
.csrBlock{
  display: grid;
  gap: 16px;
}

.csrBlock__head{
  display: grid;
  gap: 6px;
  
}

.csrH2{
    margin: 0;
    font-size: 25px;
    font-weight: 650;
    letter-spacing: .01em;
    color: #003253;
}

.csrMuted{
  margin: 0;
  color: var(--csrMuted);
  font-size: 14px;
  line-height: 1.6;
}

.csrH3{
margin: 0;
    font-size: 32px;
    font-weight: 650;
    color: #003253;
}

.csrText{
  margin: 0;
  color: rgba(11,15,25,.82);
font-size: 17px;
  line-height: 1.65;
}

/* --- Figures / framed images --- */
.csrGallery{
  display: grid;
grid-template-columns: 1.6fr 0fr;
  gap: 14px;
  align-items: start;
}

.csrTwoCol{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 14px;
  align-items: start;
}

.csrMicroGrid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.csrConn{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.csrKits{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.csrFigure{
  margin: 0;
  border: 1px solid var(--csrLine);
  border-radius: var(--csrRadius);
  overflow: hidden;
  background: #fff;
}

.csrFigure__img{
  display: block;
  width: 100%;
  height: auto;
  background: var(--csrSoft);
}

.csrFigure__cap{
  padding: 10px 12px;
  border-top: 1px solid var(--csrLine2);
  color: var(--csrMuted);
  font-size: 12.5px;
  line-height: 1.4;
}

.csrFigure--small .csrFigure__img{
  aspect-ratio: 4 / 3;
  object-fit: contain;
  padding: 10px;
}

.csrFigure--micro .csrFigure__img{
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.csrFigure--kit .csrFigure__img{
  aspect-ratio: 16 / 9;
  object-fit: contain;
  padding: 12px;
}

/* --- Cards --- */
.csrCards{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.csrCard{
  border: 1px solid var(--csrLine);
  border-radius: var(--csrRadius);
  background: #fff;
  padding: 16px;
  display: grid;
  gap: 12px;
}

.csrCard__top{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.csrTag{
    font-size: 11px;
    color: rgba(11, 15, 25, .75);
    border: 1px solid var(--csrLine2);
    padding: 6px 10px;
    border-radius: 999px;
    white-space: nowrap;
    font-weight: bold;
}

.csrList{
margin: 0;
    padding: 0 0 0 16px;
    color: rgb(135 135 135 / 80%);
    font-size: 15.5px;
    line-height: 1.6;
}

.csrCard__media{
  border-top: 1px solid var(--csrLine2);
  padding-top: 12px;
}

.csrCard__media img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  aspect-ratio: 4 / 3;
  border-radius: 10px;
}

/* --- Note box (info) --- */
.csrNote{
  border: 1px dashed var(--csrLine);
  border-radius: var(--csrRadius);
  background: #fff;
  padding: 14px;
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 12px;
  align-items: start;
}

.csrNote__icon{
  width: 26px;
  height: 26px;
  border-radius: 999px;
  border: 1px solid var(--csrLine);
  display: grid;
  place-items: center;
  font-weight: 700;
  color: rgba(11,15,25,.75);
  font-size: 13px;
}

.csrNote__text{
  margin: 0;
  color: var(--csrMuted);
  font-size: 14px;
  line-height: 1.6;
}

/* --- Downloads --- */
.csrDownloads{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.csrDl{
  border: 1px solid var(--csrLine);
  border-radius: var(--csrRadius);
  background: #fff;
  padding: 14px 14px;
  display: grid;
  grid-template-columns: 40px 1fr auto;
  gap: 12px;
  align-items: center;
  text-decoration: none;
  color: inherit;
  transition: border-color .15s ease, transform .15s ease;
}

.csrDl:hover{
  border-color: #003253;
  transform: translateY(-1px);
}

.csrDl__icon{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 1px solid var(--csrLine2);
  display: grid;
  place-items: center;
  color: rgba(11,15,25,.72);
  background: #fff;
}

.csrDl__meta{
  display: grid;
  gap: 3px;
}

.csrDl__title{
font-size: 17.5px;
    font-weight: bold;
    line-height: 1.2;
    color: #003253;
}

.csrDl__sub{
  font-size: 12.5px;
  color: var(--csrMuted);
}

.csrDl__cta{
  font-size: 13px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--csrLine2);
  color: rgba(11,15,25,.80);
  background: #fff;
  white-space: nowrap;
}

/* --- Responsive --- */
@media (max-width: 980px){
  .csrGallery{ grid-template-columns: 1fr; }
  .csrTwoCol{ grid-template-columns: 1fr; }
  .csrConn{ grid-template-columns: 1fr; }
  .csrKits{ grid-template-columns: 1fr; }
  .csrCards{ grid-template-columns: 1fr; }
  .csrDownloads{ grid-template-columns: 1fr; }

  .csrPage{ padding: 56px 0; }
}

@media (max-width: 520px){
  .csrLead{ font-size: 17.5px; }
  .csrDl{ grid-template-columns: 40px 1fr; }
  .csrDl__cta{ grid-column: 1 / -1; justify-self: start; }
}

/* =========================
   PREMIUM ONE PAGE — CLEAN UI
   (no shadows, thin lines)
   ========================= */

.premiumonePage{
  --premiumoneText: #0b0f19;
  --premiumoneMuted: rgba(11,15,25,.70);
  --premiumoneLine: rgba(15, 23, 42, .14);
  --premiumoneLine2: rgba(15, 23, 42, .10);
  --premiumoneBg: #ffffff;
  --premiumoneSoft: #f6f7f9;
  --premiumoneBlue: #17479e;
  --premiumoneRadius: 14px;

  background: var(--premiumoneBg);
  color: var(--premiumoneText);
  padding: 72px 0;
  font-family: Sora, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.premiumonePage__wrap{
  width: min(1180px, 92vw);
  margin: 0 auto;
}

/* --- Header --- */
.premiumoneHero{
  display: grid;
  gap: 14px;
  padding-bottom: 18px;
}

.premiumoneKicker{
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: 12px;
  color: var(--premiumoneMuted);
  margin: 0;
}

.premiumoneTitle{
  margin: 0;
  font-size: 39px;
  color: var(--blue-dark);
}

.premiumoneLead{
  margin: 0;
  max-width: 100ch;
  color: var(--premiumoneMuted);
  font-size: 17.5px;
  line-height: 1.65;
}

.premiumoneHero__badgeRow{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding-top: 6px;
}

.premiumoneChip{
  border: 1px solid var(--premiumoneLine);
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 13px;
  color: rgba(11,15,25,.78);
  background: #fff;
}

.premiumoneDot{
  width: 4px;
  height: 4px;
  border-radius: 99px;
  background: var(--premiumoneLine);
}

/* --- Dividers --- */
.premiumoneDivider{
  height: 1px;
  background: var(--premiumoneLine2);
  margin: 26px 0;
}

/* --- Blocks --- */
.premiumoneBlock{
  display: grid;
  gap: 16px;
}

.premiumoneBlock__head{
  display: grid;
  gap: 6px;
}

.premiumoneH2{
  margin: 0;
  font-size: 25px;
  font-weight: 650;
  letter-spacing: .01em;
  color: #003253;
}

.premiumoneMuted{
  margin: 0;
  color: var(--premiumoneMuted);
  font-size: 14px;
  line-height: 1.6;
}

.premiumoneH3{
  margin: 0;
  font-size: 32px;
  font-weight: 650;
  color: #003253;
}

.premiumoneText{
  margin: 0;
  color: rgba(11,15,25,.82);
  font-size: 17px;
  line-height: 1.65;
}

/* --- Figures / framed images --- */
.premiumoneGallery{
  display: grid;
  grid-template-columns: 1.6fr 0fr;
  gap: 14px;
  align-items: start;
}

.premiumoneTwoCol{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 14px;
  align-items: start;
}

.premiumoneMicroGrid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.premiumoneConn{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.premiumoneKits{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.premiumoneFigure{
  margin: 0;
  border: 1px solid var(--premiumoneLine);
  border-radius: var(--premiumoneRadius);
  overflow: hidden;
  background: #fff;
}

.premiumoneFigure__img{
  display: block;
  width: 100%;
  height: auto;

}

.premiumoneFigure__cap{
  padding: 10px 12px;
  border-top: 1px solid var(--premiumoneLine2);
  color: var(--premiumoneMuted);
  font-size: 12.5px;
  line-height: 1.4;
}

.premiumoneFigure--small .premiumoneFigure__img{
  aspect-ratio: 4 / 3;
  object-fit: contain;
  padding: 10px;
}

.premiumoneFigure--micro .premiumoneFigure__img{
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.premiumoneFigure--kit .premiumoneFigure__img{
  aspect-ratio: 16 / 9;
  object-fit: contain;
  padding: 12px;
}

/* --- Cards --- */
.premiumoneCards{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.premiumoneCard{
  border: 1px solid var(--premiumoneLine);
  border-radius: var(--premiumoneRadius);
  background: #fff;
  padding: 16px;
  display: grid;
  gap: 12px;
}

.premiumoneCard__top{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.premiumoneTag{
  font-size: 11px;
  color: rgba(11, 15, 25, .75);
  border: 1px solid var(--premiumoneLine2);
  padding: 6px 10px;
  border-radius: 999px;
  white-space: nowrap;
  font-weight: bold;
}

.premiumoneList{
  margin: 0;
  padding: 0 0 0 16px;
  color: rgb(135 135 135 / 80%);
  font-size: 15.5px;
  line-height: 1.6;
}

.premiumoneCard__media{
  border-top: 1px solid var(--premiumoneLine2);
  padding-top: 12px;
}

.premiumoneCard__media img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  aspect-ratio: 4 / 3;
  border-radius: 10px;
}

/* --- Note box (info) --- */
.premiumoneNote{
  border: 1px dashed var(--premiumoneLine);
  border-radius: var(--premiumoneRadius);
  background: #fff;
  padding: 14px;
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 12px;
  align-items: start;
}

.premiumoneNote__icon{
  width: 26px;
  height: 26px;
  border-radius: 999px;
  border: 1px solid var(--premiumoneLine);
  display: grid;
  place-items: center;
  font-weight: 700;
  color: rgba(11,15,25,.75);
  font-size: 13px;
}

.premiumoneNote__text{
  margin: 0;
  color: var(--premiumoneMuted);
  font-size: 14px;
  line-height: 1.6;
}

/* --- Downloads --- */
.premiumoneDownloads{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.premiumoneDl{
  border: 1px solid var(--premiumoneLine);
  border-radius: var(--premiumoneRadius);
  background: #fff;
  padding: 14px 14px;
  display: grid;
  grid-template-columns: 40px 1fr auto;
  gap: 12px;
  align-items: center;
  text-decoration: none;
  color: inherit;
  transition: border-color .15s ease, transform .15s ease;
}

.premiumoneDl:hover{
  border-color: rgba(23,71,158,.35);
  transform: translateY(-1px);
}

.premiumoneDl__icon{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 1px solid var(--premiumoneLine2);
  display: grid;
  place-items: center;
  color: rgba(11,15,25,.72);
  background: #fff;
}

.premiumoneDl__meta{
  display: grid;
  gap: 3px;
}

.premiumoneDl__title{
  font-size: 17.5px;
  font-weight: bold;
  line-height: 1.2;
  color: #003253;
}

.premiumoneDl__sub{
  font-size: 12.5px;
  color: var(--premiumoneMuted);
}

.premiumoneDl__cta{
  font-size: 13px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--premiumoneLine2);
  color: rgba(11,15,25,.80);
  background: #fff;
  white-space: nowrap;
}

/* --- Responsive --- */
@media (max-width: 980px){
  .premiumoneGallery{ grid-template-columns: 1fr; }
  .premiumoneTwoCol{ grid-template-columns: 1fr; }
  .premiumoneConn{ grid-template-columns: 1fr; }
  .premiumoneKits{ grid-template-columns: 1fr; }
  .premiumoneCards{ grid-template-columns: 1fr; }
  .premiumoneDownloads{ grid-template-columns: 1fr; }

  .premiumonePage{ padding: 56px 0; }
}

@media (max-width: 520px){
  .premiumoneLead{ font-size: 17.5px; }
  .premiumoneDl{ grid-template-columns: 40px 1fr; }
  .premiumoneDl__cta{ grid-column: 1 / -1; justify-self: start; }
}

/* --- Side section (image left / text right) --- */
.premiumoneSide{
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 24px;
  align-items: center;
  padding: 50px 0px
}

/* Image */
.premiumoneSide__media{
  border-radius: var(--premiumoneRadius);
  background: #fff;
  padding: 14px;
}

.premiumoneSide__media img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
  background: var(--premiumoneSoft);
}

/* Text */
.premiumoneSide__content{
  display: grid;
  gap: 12px;
}

/* --- Responsive --- */
@media (max-width: 980px){
  .premiumoneSide{
    grid-template-columns: 1fr;
  }

  .premiumoneSide__content{
    text-align: left;
  }
}

.prama {
  background: #ffffff;
  padding: 90px 0;
}

.prama__wrap {
  width: min(1240px, 92vw);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
    gap: 54px;
}

.pramaRow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 80px;
}

.pramaRow--reverse {
  direction: rtl;
}

.pramaRow--reverse > * {
  direction: ltr;
}

.pramaRow__image img {
  width: 100%;
  height: auto;
    border-radius: 40px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.08);
}

.pramaRow__content {
  max-width: 520px;
}

.pramaH2 {
  font-size: 32px;
  line-height: 1.25;
  margin-bottom: 18px;
  color: #0b0f19;
}

.pramaRow__content p {
  font-size: 17px;
  line-height: 1.7;
  color: rgba(11,15,25,.78);
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .prama__wrap {
    gap: 80px;
  }

  .pramaRow {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .pramaRow--reverse {
    direction: ltr;
  }

  .pramaRow__content {
    max-width: 100%;
  }

  .pramaH2 {
    font-size: 26px;
  }

  .pramaRow__content p {
    font-size: 16px;
  }
}

/* =========================
NOXI HERO (What is NOXI)
========================= */

.noxiHero{
  --bg:#050507;
  --text:#f4f4f6;
  --muted:rgba(244,244,246,.72);
  --soft:rgba(244,244,246,.12);

  position: relative;
  background: radial-gradient(1200px 700px at 18% 55%, rgba(255,255,255,.06), transparent 55%),
              radial-gradient(900px 520px at 75% 20%, rgba(255,255,255,.05), transparent 60%),
              var(--bg);
  color: var(--text);
  overflow: hidden;
    padding: 168px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.noxiHero__wrap{
  width: min(1200px, 92vw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: center;
  gap: clamp(28px, 5vw, 64px);
  position: relative;
  z-index: 2;
}

.noxiHero__content{ max-width: 560px; }

.noxiHero__title{
  margin: 0 0 22px 0;
  line-height: 1.02;
  letter-spacing: -0.02em;
  font-weight: 800;
  text-transform: none;
}

.noxiHero__titleTop{
  display:block;
  font-size: clamp(34px, 3.4vw, 54px);
  opacity: .98;
}

.noxiHero__titleBottom{
  display:block;
  font-size: clamp(44px, 4.2vw, 70px);
  letter-spacing: 0.02em;
}

.noxiHero__text{
    font-size: 17px;
    line-height: 2.1;
    color: var(--muted);
}

.noxiHero__text p{
  margin: 0 0 16px 0;
}

.noxiHero__media{
  position: relative;
  min-height: 420px;
  display: grid;
  align-items: center;
  justify-items: end;
}

.noxiHero__img{
  width: min(640px, 44vw);
  max-width: 720px;
  height: auto;
  display: block;
  filter: drop-shadow(0 40px 80px rgba(0,0,0,.55));
  transform: rotate(6deg) translateY(6px);
  transform-origin: center;
  opacity: .98;
}

/* Stars layer */
.noxiHero__stars{
  position:absolute;
  inset: -20%;
  z-index: 1;
  pointer-events:none;
  opacity: .95;

  /* “hviezdy” bez obrázka */
  background:
    radial-gradient(circle, rgba(255,255,255,.95) 1px, transparent 2px) 10px 20px / 140px 140px,
    radial-gradient(circle, rgba(255,255,255,.85) 1px, transparent 2px) 40px 90px / 220px 220px,
    radial-gradient(circle, rgba(255,255,255,.70) 1px, transparent 2px) 70px 40px / 180px 180px,
    radial-gradient(circle, rgba(255,255,255,.55) 1px, transparent 2px) 120px 80px / 260px 260px;
  filter: blur(.1px);
}

/* jemné “shooting lines” */
.noxiHero::before,
.noxiHero::after{
  content:"";
  position:absolute;
  width: 260px;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(212,175,55,.6), transparent);
  opacity: .65;
  z-index: 1;
  transform: rotate(-18deg);
}

.noxiHero::before{ top: 22%; left: 46%; }
.noxiHero::after{ top: 48%; left: 58%; width: 200px; opacity: .45; }

/* Responsive */
@media (max-width: 920px){
  .noxiHero{ padding: 78px 0; }
  .noxiHero__wrap{
    grid-template-columns: 1fr;
    text-align: left;
  }
  .noxiHero__media{
    justify-items: center;
    min-height: unset;
    margin-top: 10px;
  }
  .noxiHero__img{
    width: min(620px, 92vw);
    transform: rotate(0deg);
  }
}

/* =========================
NOXI USE (when to use it)
========================= */

.noxiUse{
  --bg:#050507;
  --gold:#d6b36a;
  --text:#f4f4f6;
  --muted:rgba(244,244,246,.72);
  --soft:rgba(255,255,255,.10);

      background: black;
  color: var(--text);
    padding: 154px 0;
}

.noxiUse__wrap{
  width: min(1100px, 92vw);
  margin: 0 auto;
}

.noxiUse__head{
    text-align: left;
  margin-bottom: clamp(26px, 4vw, 46px);
}

.noxiUse__title{
  margin: 0;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gold);
  font-size: clamp(34px, 3.4vw, 52px);
}

.noxiUse__subtitle{
    margin: -12px 0 0 0;
  font-weight: 800;
  font-size: clamp(28px, 3vw, 46px);
  letter-spacing: -0.02em;
  display: inline-block;
  position: relative;
}

.noxiUse__grid{
  margin-top: 34px;
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: clamp(22px, 4vw, 56px);
  align-items: center;
}

.noxiUse__videoCard{
  margin: 0;
  text-align: center;
}

.noxiUse__videoFrame{
  background: rgba(255,255,255,.03);

  overflow: hidden;
  box-shadow: 0 24px 70px rgba(0,0,0,.55);
}

.noxiUse__video{
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16/10;
  object-fit: cover;
}

.noxiUse__label{
  margin-top: 14px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 18px;
  opacity: .95;
}

.noxiUse__content{
  max-width: 560px;
}

.noxiUse__lead{
  margin: 0 0 14px 0;
  color: var(--muted);
  line-height: 1.7;
    font-size: 17px;
}

.noxiUse__list{
  margin: 0 0 18px 0;
  padding-left: 18px;
  color: var(--text);
  line-height: 1.75;
    font-size: 17px;
}

.noxiUse__list li{
  margin: 6px 0;
  color: rgba(244,244,246,.92);
}

.noxiUse__note{
  margin: 0;
  color: var(--muted);
  line-height: 1.75;
    font-size: 17px;
}

/* Responsive */
@media (max-width: 980px){
  .noxiUse{ padding: 78px 0; }
  .noxiUse__grid{
    grid-template-columns: 1fr;
  }
  .noxiUse__content{
    max-width: 100%;
  }
}

/* =========================
F22 SECTIONS
========================= */

.f22Section{
  --bg:#eaf7fb;
  --white:#ffffff;
  --blue:#0aa1c6;
  --text:#0b0f19;
  --muted:rgba(11,15,25,.72);

  padding: 96px 0;
}

.f22Section--light{ background: var(--bg); }
.f22Section--lightAlt{ background: #edf9fc; }
.f22Section--white{ background: var(--white); }

.f22Section__wrap{
  width: min(1200px, 92vw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: clamp(28px, 5vw, 64px);
}

.f22Section__wrap--reverse{
  grid-template-columns: 1fr 1fr;
}

.f22Section__content{
  max-width: 520px;
}

.f22Title{
  margin: 0;
  font-size: clamp(42px, 4vw, 64px);
  color: var(--blue);
  font-weight: 800;
}

.f22Subtitle{
  margin: 6px 0 0 0;
  font-size: clamp(32px, 3vw, 52px);
    color: #1c5d6d;
  font-weight: 700;
}

.f22Subtitle--big{
  margin-bottom: 16px;
}

.f22Section__content p{
  margin: 0 0 14px 0;
  color: var(--muted);
  line-height: 1.7;
    font-size: 17px;
}

/* Media */
.f22Section__media{
  display: flex;
  justify-content: center;
}

.f22Media{
  width: min(420px, 90vw);
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: 999px;
  background: #cfeef6;
  box-shadow: 0 24px 70px rgba(0,0,0,.18);
}

/* Responsive */
@media (max-width: 980px){
  .f22Section{ padding: 72px 0; }

  .f22Section__wrap{
    grid-template-columns: 1fr;
    text-align: center;
  }

  .f22Section__content{
    max-width: 100%;
  }
}


/* --- Form toast (success/error) --- */
.formToast{
  position: fixed;
  top: 50%;
  left: 50%;
  max-width: min(520px, calc(100vw - 36px));
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, .14);
  border-radius: 14px;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .18);
  padding: 18px 54px 18px 18px;
  z-index: 9999;
  font-size: 16px;
  line-height: 1.35;
  color: #0b0f19;
  opacity: 0;
  transform: translate(-50%, -55%);
  animation: formToastIn .18s ease-out forwards;
}

.formToast strong{ font-weight: 800; }

.formToast--ok{ border-left: 6px solid rgba(34, 197, 94, .85); }
.formToast--err{ border-left: 6px solid rgba(239, 68, 68, .85); }

.formToast__close{
  position: absolute;
  top: 8px;
  right: 10px;
  width: 28px;
  height: 28px;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, .12);
  background: #fff;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  display: grid;
  place-items: center;
}

.formToast__close:hover{ background: rgba(15, 23, 42, .04); }

.formToast--hide{
  opacity: 0;
  transform: translate(-50%, -55%);
  transition: opacity .18s ease, transform .18s ease;
}

@keyframes formToastIn{
  to { opacity: 1; transform: translate(-50%, -50%); }
}

@media (max-width: 520px){
  .formToast{ left: 50%; right: auto; max-width: min(520px, calc(100vw - 20px)); }
}
