/* ==========================================================================
   Lamelové prestrešenie — hlavný štýl
   Dizajn systém prevzatý 1:1 z pôvodného webu (Elementor globals)
   ========================================================================== */

/* ---------- Tokeny ---------- */
:root{
  /* System colors */
  --c-primary:#000000;        /* Primary / Headings */
  --c-text:#505260;           /* Text / Paragraphs */
  --c-accent:#E11D19;         /* Accent / Btn BG / Links */
  --c-secondary:#505260;      /* Secondary / Subheadings */

  /* Custom colors */
  --c-dark:#000103;           /* Dark BG */
  --c-soft:#F8F8F8;           /* Soft BG */
  --c-site:#FFFFFF;           /* Site BG */
  --c-form:#FFFFFF;           /* Form BG */
  --c-border:#DEDFE0;         /* Border */
  --c-btn-text:#FFFFFF;
  --c-btn-bg:#E81616;
  --c-btn-bg-2:#D12911;
  --c-btn-border:#DEDFE0;
  --c-btn-text-hover:#FFFFFF;
  --c-btn-bg-hover:#021452;
  --c-h-on-dark:#FFFFFF;
  --c-p-on-dark:#D4D4D4;
  --c-on-image:#FFFFFF;
  --c-subtitle:#1687F3;
  --c-1:#1687F3;
  --c-2:#021452;
  --c-3:#F40260;
  --c-4:#8E02F4;

  /* Layout */
  --container:1350px;
  --gutter:20px;

  /* Fonts */
  --f-head:"Yantramanav", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-body:"Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;

  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:20px;}
body{
  margin:0;
  font-family:var(--f-body);
  font-size:16px;
  font-weight:500;
  line-height:1.5;
  color:var(--c-text);
  background:var(--c-site);
  overflow-x:hidden;
}
img,video,svg{max-width:100%;display:block;}
a{color:var(--c-text);text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
button,input,select,textarea{font:inherit;color:inherit;}

h1,h2,h3,h4,h5,h6{
  font-family:var(--f-head);
  color:var(--c-primary);
  margin:0;
  font-weight:700;
}
h1{font-size:3em;line-height:1.1;}
h2{font-size:2.5em;line-height:1.1;}
h3{font-size:2em;line-height:1.2;}
h4{font-size:1.5em;line-height:1.2;}
h5{font-size:1em;line-height:1.2;letter-spacing:-.1px;}
h6{font-size:.9em;line-height:1.2;}
p{margin:0 0 1em;}
p:last-child{margin-bottom:0;}

@media (max-width:1024px){
  h1{font-size:2.5em;line-height:1;}
  h2{font-size:2.3em;line-height:1;}
  h3{font-size:1.8em;line-height:1;}
}
@media (max-width:767px){
  h1{font-size:2.3em;}
  h2{font-size:2em;}
  h3{font-size:1.8em;}
}

/* ---------- Pomocné triedy ---------- */
.container{width:100%;max-width:var(--container);margin-inline:auto;}
/* Pozor: "overflow:hidden" tu robí zo sekcie posuvný kontajner a tým zabije
   position:sticky vnútri (lepiaci stĺpec v Produktoch, nadpis v Galérii).
   "overflow:clip" oreže presne tak isto, ale posuvný kontajner nevytvára.
   Prvý riadok je záloha pre staré prehliadače, ktoré clip nepoznajú. */
.section{position:relative;overflow:hidden;overflow:clip;}
.section-pad{padding:120px var(--gutter);}
.deco{
  position:absolute;inset:0;pointer-events:none;
  background-repeat:no-repeat;opacity:.1;z-index:0;
}
.subtitle{
  font-family:var(--f-head);font-size:16px;font-weight:700;
  text-transform:uppercase;line-height:1.5;color:var(--c-subtitle);
}
.big-title{
  font-family:var(--f-head);font-size:5.5em;font-weight:800;
  text-transform:uppercase;line-height:1;color:var(--c-primary);
}
@media (max-width:1024px){.big-title{font-size:3em;}}
@media (max-width:767px){.big-title{font-size:2em;}}
.lead{font-family:var(--f-head);font-size:1.3em;font-weight:500;line-height:1.5;letter-spacing:-.7px;color:var(--c-primary);}
.p16{font-family:var(--f-head);font-size:16px;font-weight:500;line-height:1.5;color:var(--c-text);}

/* Veľký obrysový text v pozadí sekcií */
.bg-text{
  position:absolute;left:0;right:0;z-index:0;pointer-events:none;
  font-family:var(--f-head);font-size:13em;font-weight:800;
  text-transform:uppercase;line-height:.9;
  color:transparent;
  -webkit-text-stroke:1px var(--c-border);
  white-space:nowrap;user-select:none;
}
@media (max-width:1024px){.bg-text{font-size:4em;}}

/* Tlačidlá */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--f-head);font-size:16px;font-weight:500;letter-spacing:1px;
  line-height:1;padding:15px 30px;border-radius:4px;border:0;cursor:pointer;
  background:var(--c-btn-bg);color:var(--c-btn-text);
  transition:transform .25s var(--ease),background-color .25s var(--ease),color .25s var(--ease);
  text-align:center;
}
.btn:hover{background:var(--c-btn-bg-hover);color:var(--c-btn-text-hover);transform:scale(.96);}
.btn--dark{background:var(--c-dark);color:var(--c-on-image);}
.btn--dark:hover{background:var(--c-accent);}
.btn--accent{background:var(--c-accent);color:#fff;}
.btn--accent:hover{background:var(--c-primary);color:var(--c-form);}

/* Masky (Elementor mask shapes) */
.mask-1{-webkit-mask-image:url("../media/mask-01-min.png");mask-image:url("../media/mask-01-min.png");}
.mask-2{-webkit-mask-image:url("../media/mask-02-min.png");mask-image:url("../media/mask-02-min.png");}
.mask-3{-webkit-mask-image:url("../media/mask-03-min.png");mask-image:url("../media/mask-03-min.png");}
.mask-4{-webkit-mask-image:url("../media/mask-04-min.png");mask-image:url("../media/mask-04-min.png");}
.mask-video{-webkit-mask-image:url("../media/mask-video.png");mask-image:url("../media/mask-video.png");}
[class*="mask-"]{
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:cover;mask-size:cover;
  -webkit-mask-position:center;mask-position:center;
}

/* Šikmý predel (Elementor "tilt") */
.tilt{
  position:absolute;left:0;width:100%;line-height:0;direction:ltr;z-index:1;pointer-events:none;
}
.tilt svg{display:block;width:calc(100% + 1.3px);position:relative;left:50%;transform:translateX(-50%);}
.tilt--bottom{bottom:-1px;transform:rotate(180deg);}
.tilt--top{top:-1px;}
.tilt svg{height:500px;}
@media (max-width:1024px){.tilt svg{height:200px;}}

/* Animácie pri scrollovaní */
.reveal{opacity:0;transform:translateY(0);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal--up{transform:translateY(40px);}
.reveal.is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* ==========================================================================
   HLAVIČKA
   ========================================================================== */
.topbar{background:var(--c-dark);color:var(--c-on-image);font-family:var(--f-head);font-size:.9em;}
.topbar__inner{display:flex;}
.topbar__left{width:70%;padding:10px 20px;}
.topbar__right{width:30%;padding:10px 20px;background:var(--c-accent);}
.dotlist{display:flex;flex-wrap:wrap;gap:20px;align-items:center;}
.dotlist li{display:flex;align-items:center;gap:8px;color:var(--c-on-image);}
.dotlist li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--c-btn-bg);flex:none;}
.topbar__right .dotlist{justify-content:flex-end;}
.topbar__right .dotlist li::before{background:#fff;}
.topbar__right a{color:#fff;}
.topbar__right a:hover{opacity:.75;}
@media (max-width:767px){.topbar{display:none;}}

.nav{
  display:flex;align-items:center;background:var(--c-site);
  border-bottom:1px solid var(--c-border);position:relative;z-index:999;
}
.nav__brand{
  width:20%;padding:25px 20px;background:var(--c-primary);
  display:flex;align-items:center;overflow:hidden;
}
.nav__brand img{width:100%;height:auto;}
.nav__menu{width:60%;padding:20px;display:flex;justify-content:center;}
.nav__menu ul{display:flex;align-items:center;}
.nav__menu a{
  font-family:var(--f-body);font-size:18px;font-weight:500;line-height:1.5;
  color:#000;padding:0 20px;display:block;transition:color .2s var(--ease);
}
.nav__menu a:hover{color:var(--c-subtitle);}
.nav__menu a.is-active{color:var(--c-accent);}
.nav__tel{
  width:20%;padding:0 20px;display:flex;justify-content:flex-end;align-items:center;
  border-left:1px solid var(--c-border);
}
.nav__tel a{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--f-body);font-size:19px;font-weight:500;color:#000;white-space:nowrap;
}
.nav__tel svg{width:1.5rem;height:1.5rem;fill:var(--c-accent);flex:none;}
.nav__toggle{
  display:none;margin-left:auto;margin-right:20px;
  background:var(--c-btn-bg);color:#fff;border:0;border-radius:4px;
  width:46px;height:46px;cursor:pointer;align-items:center;justify-content:center;
}
.nav__toggle:hover{background:var(--c-btn-bg-hover);}
.nav__toggle svg{width:22px;height:22px;fill:currentColor;}

@media (max-width:1024px){
  .nav__brand{width:35%;}
  .nav__menu{width:auto;flex:1;}
  .nav__menu a{padding:0 10px;font-size:16px;}
  .nav__tel{width:auto;border:0;}
  .nav__tel a span{display:none;}
}
@media (max-width:900px){
  .nav__toggle{display:inline-flex;}
  .nav__brand{width:55%;padding:15px 20px;}
  .nav__menu{
    position:absolute;top:100%;left:0;right:0;width:100%;
    background:var(--c-dark);padding:0;display:none;
  }
  .nav__menu.is-open{display:block;}
  .nav__menu ul{flex-direction:column;align-items:stretch;}
  .nav__menu a{color:#fff;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.1);}
  .nav__menu a:hover{background:var(--c-btn-bg);color:#fff;}
  .nav__tel{padding-right:10px;}
}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;overflow:hidden;background:var(--c-site);}
.hero__deco{background-image:url("../media/clear-02.png");background-position:center left;background-size:434px auto;}
.hero__deco2{background-image:url("../media/clear-03.png");background-position:bottom left;background-size:250px auto;}
.hero__band{
  position:absolute;left:0;right:0;top:429px;height:265px;background:var(--c-soft);z-index:0;
}
.hero__media{
  position:absolute;right:0;top:0;width:60%;height:80vh;z-index:1;
  background:url("../media/hero-22.jpg") center/cover no-repeat;
  -webkit-mask-image:url("../media/mask-02-min.png");mask-image:url("../media/mask-02-min.png");
  -webkit-mask-size:cover;mask-size:cover;
  -webkit-mask-position:bottom left;mask-position:bottom left;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
.hero__inner{
  position:relative;min-height:100vh;width:100%;max-width:var(--container);
  margin-inline:auto;padding:0 20px;
}
.hero__text{position:absolute;top:120px;left:20px;width:70%;max-width:calc(var(--container) * .7);}
.hero__heading{position:relative;}
.hero__title{
  font-family:var(--f-head);font-size:13em;font-weight:800;text-transform:uppercase;
  line-height:.9;margin:0;color:var(--c-dark);
}
/* Obrysová kópia nadpisu, ktorá prekrýva fotku.
   Je to samostatný prvok (nie pseudo-element), aby sa mohla vykresliť nad
   fotkou, kým plný čierny nadpis zostáva pod ňou – rovnako ako na pôvodnom webe. */
.hero__title--stroke{
  position:absolute;top:0;left:0;width:100%;z-index:9;display:block;
  color:transparent;-webkit-text-stroke:1px #fff;pointer-events:none;
}
.hero__copy{width:55%;display:flex;flex-direction:column;gap:40px;margin-top:10px;}
.hero__copy p{margin:0;}
.hero__copy .btn{align-self:flex-start;}

@media (max-width:1400px){.hero__title{font-size:9em;}}
@media (max-width:1024px){
  /* Na mobile a tablete: fotka hore, text pod ňou – aby bol čitateľný */
  .hero{display:flex;flex-direction:column;}
  .hero__media{position:relative;order:-1;width:100%;height:46vh;min-height:280px;}
  .hero__inner{position:relative;min-height:auto;padding:48px 20px 64px;}
  .hero__text{position:static;width:100%;max-width:none;}
  .hero__title{font-size:3.2em;color:var(--c-primary);}
  .hero__title--stroke{display:none;}
  .hero__copy{width:100%;gap:24px;margin-top:24px;}
  .hero__band,.hero__deco2{display:none;}
}
@media (max-width:767px){.hero__title{font-size:2.5em;}.hero__media{height:38vh;min-height:230px;}}

/* ==========================================================================
   O NÁS
   ========================================================================== */
.about{background:var(--c-site);}
.about__deco{background-image:url("../media/clear-06.png");background-position:center left;background-size:500px auto;}
.about__inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:60px;}
.about__head{width:66%;text-align:center;display:flex;flex-direction:column;gap:20px;}
.about__grid{
  display:flex;align-items:center;gap:60px;width:100%;
}
.about__grid > *{flex:1 1 0;min-width:0;}
.about__img-main{height:500px;width:100%;object-fit:cover;}
.about__body{display:flex;flex-direction:column;gap:20px;}
.about__body .divider{height:1px;background:var(--c-border);border:0;margin:0;}
.about__benefit{
  font-family:var(--f-head);font-size:1.3em;font-weight:800;line-height:1.5;color:var(--c-accent);
}
.about__cols{display:flex;gap:20px;align-items:center;}
.about__cols > div{flex:1 1 0;}
.about__cols p{font-size:16px;line-height:1.5;margin:0 0 .5em;}
.about__side{display:flex;flex-direction:column;gap:80px;}
.about__side img{height:auto;}
.about__side img:first-child{width:294px;max-width:100%;margin-left:auto;}
.about__side img:last-child{width:70%;margin-inline:auto;}
@media (max-width:1024px){
  .about__head{width:100%;}
  .about__grid{flex-direction:column;gap:40px;}
  .about__side{flex-direction:row;gap:20px;}
  .about__side img:first-child,.about__side img:last-child{width:50%;margin:0;}
  .about__img-main{height:340px;}
}
@media (max-width:767px){
  .about__cols{flex-direction:column;align-items:stretch;gap:0;}
  .about__side{flex-direction:column;}
  .about__side img:first-child,.about__side img:last-child{width:100%;}
}

/* ==========================================================================
   VIDEO
   ========================================================================== */
.vid{background:var(--c-site);padding:0 var(--gutter) 120px;}
.vid__deco{background-image:url("../media/clear-02.png");background-position:center right;background-size:500px auto;}
.vid__inner{position:relative;z-index:2;padding-top:80px;}
.vid__top{display:flex;gap:40px;align-items:center;}
.vid__left{width:60%;min-width:0;display:flex;flex-direction:column;gap:20px;}
.vid__right{width:40%;min-width:0;display:flex;flex-direction:column;gap:20px;}
/* Na pôvodnom webe má tento nadpis 48px (Elementor počíta em voči rodičovi) */
.vid__right h3{font-size:3em;line-height:1.2;}
@media (max-width:1024px){.vid__right h3{font-size:2.2em;}}
.vid__badge{display:flex;align-items:center;gap:40px;flex-wrap:wrap;}
.vid__badge img{width:118px;height:auto;object-fit:contain;}
.vid__word{
  font-family:var(--f-head);font-size:7em;font-weight:800;line-height:1;margin:0;
  position:relative;z-index:9;color:var(--c-primary);
}
.vid__word--accent{color:var(--c-accent);}
.vid__arrow{width:20px;height:auto;}
.vid__player{margin-top:40px;position:relative;}
.vid__player video{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
@media (max-width:1024px){
  .vid__inner{padding-top:120px;}
  .vid__top{flex-direction:column;align-items:stretch;}
  .vid__left,.vid__right{width:100%;}
  .vid__word{font-size:3em;}
}
@media (max-width:767px){.vid__word{font-size:2.5em;}.vid__badge{gap:20px;}}

/* ==========================================================================
   PRODUKTY
   ========================================================================== */
.products{background:var(--c-soft);}
.products__deco{background-image:url("../media/clear-03.png");background-position:bottom right;background-size:340px auto;opacity:.05;}
.products__inner{position:relative;z-index:9;display:flex;gap:80px;align-items:stretch;}
.products__left,.products__right{flex:1 1 0;min-width:0;}
.products__sticky{position:sticky;top:120px;display:flex;flex-direction:column;gap:20px;}
.products__intro{display:flex;flex-direction:column;gap:20px;}
.products__right{display:flex;flex-direction:column;gap:35px;}

/* Akordeón */
.acc{display:flex;flex-direction:column;gap:8px;}
.acc__item{border:1px solid var(--c-border);background:transparent;}
.acc__btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:none;border:0;padding:8px;cursor:pointer;text-align:left;
  font-family:var(--f-head);font-size:18px;font-weight:700;line-height:1.5;color:var(--c-dark);
  transition:color .2s var(--ease);
}
.acc__btn:hover,.acc__item.is-open .acc__btn{color:var(--c-accent);}
.acc__btn::after{
  content:"";width:10px;height:10px;flex:none;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);transition:transform .25s var(--ease);margin-right:6px;
}
.acc__item.is-open .acc__btn::after{transform:rotate(-135deg);}
.acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--ease);}
.acc__item.is-open .acc__panel{grid-template-rows:1fr;}
.acc__panel > div{overflow:hidden;}
.acc__inner{padding:8px 8px 20px;font-size:16px;line-height:1.6;}
.acc__inner ul,.acc__inner ol{padding-left:1.2em;list-style:disc;margin:0 0 1em;}
.acc__inner ol{list-style:decimal;}
.acc__inner img{display:inline-block;vertical-align:middle;margin:6px 8px 6px 0;}

/* Produktové karty */
.pcard{
  display:flex;flex-direction:row;gap:30px;padding:40px;align-items:center;
  transition:transform .3s var(--ease);
}
.pcard:hover{transform:scale(1.03);}
.pcard__thumb{width:45%;flex:none;min-height:135px;background-size:contain;background-repeat:no-repeat;background-position:center;}
.pcard__title{font-family:var(--f-head);font-size:2em;font-weight:700;line-height:1.2;margin:0;white-space:pre-line;flex:1 1 auto;min-width:0;}
.pcard--grey{background:var(--c-secondary);}
.pcard--grey .pcard__title{color:var(--c-on-image);}
.pcard--border{background:var(--c-border);}
.pcard--border .pcard__title{color:var(--c-primary);}
.pcard--accent{background:var(--c-accent);}
.pcard--accent .pcard__title{color:var(--c-form);}
@media (max-width:767px){.pcard{padding:20px;flex-direction:column;}.pcard__thumb{width:100%;}}

/* Farebné prevedenie – akordeón na karte */
.colors{margin-top:-30px;}
.colors .acc__item{border:0;}
.colors .acc__btn{
  padding:14px 20px;font-family:var(--f-head);font-size:16px;font-weight:500;
}
.colors .acc__inner{padding:0 20px 24px;}
.colors--grey .acc__item,.colors--grey .acc__panel>div{background:var(--c-secondary);}
.colors--grey .acc__btn{color:var(--c-site);}
.colors--grey .acc__btn:hover{color:var(--c-accent);}
.colors--border .acc__item,.colors--border .acc__panel>div{background:var(--c-border);}
.colors--border .acc__btn{color:var(--c-dark);}
.colors--border .acc__btn:hover{color:var(--c-accent);}
.colors--accent .acc__item,.colors--accent .acc__panel>div{background:var(--c-accent);}
.colors--accent .acc__btn{color:var(--c-dark);}
.colors--accent .acc__btn:hover{color:var(--c-form);}
.swatches{display:flex;flex-wrap:wrap;}
.swatch{width:33.3333%;padding:8px;text-align:center;}
.swatch img{width:100%;border-radius:6px;}
.swatch span{display:block;margin-top:8px;font-size:16px;line-height:1.5;}
.colors--grey .swatch span,.colors--accent .swatch span{color:#fff;}
.colors--border .swatch span{color:var(--c-dark);}
@media (max-width:767px){.swatch{width:50%;}}

/* Popisové bloky */
.pdesc{display:flex;flex-direction:column;gap:40px;padding:40px;transition:transform .3s var(--ease);}
.pdesc:hover{transform:scale(1.03);}
.pdesc h3{font-family:var(--f-head);font-size:20px;font-weight:800;line-height:1.5;color:#fff;margin:0;}
.pdesc,.pdesc li,.pdesc p{color:#fff;font-size:16px;line-height:1.5;}
.pdesc ul{list-style:disc;padding-left:1.2em;display:flex;flex-direction:column;gap:6px;}
.pdesc--black{background:var(--c-primary);}
.pdesc--red{background:var(--c-accent);}
.pdesc--grey{background:var(--c-secondary);}
@media (max-width:767px){.pdesc{padding:24px;gap:20px;}}

@media (max-width:1024px){
  .products__inner{flex-direction:column;gap:40px;}
  .products__sticky{position:static;}
}

/* ==========================================================================
   GALÉRIA
   ========================================================================== */
.gallery{background:var(--c-soft);padding:0 var(--gutter);overflow:hidden;overflow:clip;}
/* Tmavé pozadie sa pri scrollovaní postupne objaví (pôvodne Elementor Motion
   Effects: priehľadnosť 0 → 1 medzi 29 % a 35 % posunu stránky, len na
   počítači). Preto je na začiatku sekcie ešte svetlé a nadpis je vidieť.
   Bez JavaScriptu a na mobile ostáva tmavé, presne ako na pôvodnom webe. */
.gallery__bg{position:absolute;inset:0;background:var(--c-dark);z-index:0;}
.gallery__inner{position:relative;z-index:2;padding:60px 0 220px;}
.gallery__title{
  position:sticky;top:220px;text-align:center;z-index:0;
  font-family:var(--f-head);font-size:9em;font-weight:800;line-height:1.5;
  color:var(--c-form);-webkit-text-stroke:2px var(--c-primary);
  margin:0 0 -1.5em;pointer-events:none;
}
/* 60 px odsadenie nadpisu + 280 px = 340 px nad prvým radom, ako v origináli. */
.gallery__rows{position:relative;z-index:99;margin-top:280px;display:flex;flex-direction:column;gap:20px;}
.gallery__row{display:flex;flex-direction:row;gap:60px;}
.gallery__col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:60px;}
.gallery__item{width:100%;height:auto;display:block;background:#111;}
video.gallery__item{aspect-ratio:16/9;object-fit:cover;}
.gallery__item{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-position:center;mask-position:center;}
@media (max-width:1024px){
  /* Na tablete a mobile bol nadpis na pôvodnom webe skrytý. */
  .gallery__inner{padding:120px 0;}
  .gallery__title{display:none;}
  .gallery__rows{margin-top:0;}
  .gallery__row{gap:24px;}
  .gallery__col{gap:24px;}
}

/* ==========================================================================
   CENOVÁ PONUKA / KONFIGURÁTOR
   ========================================================================== */
.quote{background:var(--c-site);}
.quote__deco{background-image:url("../media/clear-02.png");background-position:bottom right;background-size:400px auto;}
.quote__inner{position:relative;z-index:9;display:flex;flex-direction:column;gap:60px;}
.quote__head{display:flex;gap:40px;align-items:flex-end;}
.quote__head-l{width:43%;display:flex;flex-direction:column;gap:20px;}
.quote__head-r{width:54%;}
.quote__main{display:flex;gap:80px;}
.quote__visual{
  width:40%;position:relative;overflow:hidden;min-height:420px;
  background:url("../media/pool-cover-slats-silver-830-PCTR.jpg") center/cover no-repeat;
  display:flex;align-items:center;justify-content:flex-end;
}
.quote__visual-label{
  position:absolute;top:82px;left:0;right:0;text-align:center;margin:0;
  font-family:var(--f-head);font-size:3em;font-weight:400;line-height:1;
  color:transparent;-webkit-text-stroke:1px #fff;
}
.quote__form-wrap{width:60%;display:flex;flex-direction:column;}
.quote__formhead{
  display:flex;flex-direction:row;align-items:center;gap:40px;
  border-top:1px solid var(--c-border);padding:40px 0;
}
.quote__formhead img{width:40px;height:auto;}
@media (max-width:1024px){
  .quote__head{flex-direction:column;align-items:stretch;gap:20px;}
  .quote__head-l,.quote__head-r{width:100%;}
  .quote__main{flex-direction:column;gap:40px;}
  .quote__visual{width:100%;min-height:260px;}
  .quote__form-wrap{width:100%;}
}

/* Formulár */
.form{display:flex;flex-direction:column;gap:24px;}
.form__step-head{display:flex;align-items:center;gap:12px;}
.form__step-head h3{font-family:var(--f-head);font-size:1.25em;font-weight:700;margin:0;}
.form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.form__field--full{grid-column:1 / -1;}
.form__label{
  display:block;margin-bottom:6px;font-family:var(--f-body);font-size:15px;
  font-weight:500;color:var(--c-primary);
}
.form__label .req{color:var(--c-accent);}
.form__control{
  width:100%;background:var(--c-form);color:var(--c-text);
  border:1px solid var(--c-border);border-radius:4px;padding:12px 14px;
  font-family:var(--f-body);font-size:16px;line-height:1.4;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.form__control:focus{
  outline:none;border-color:var(--c-primary);color:var(--c-primary);
  box-shadow:0 0 0 3px rgba(22,135,243,.12);
}
select.form__control{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23505260'><path d='M7 10l5 5 5-5z'/></svg>");background-repeat:no-repeat;background-position:right 10px center;background-size:22px;padding-right:38px;}
textarea.form__control{min-height:110px;resize:vertical;}
.form__check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;}
.form__check input{margin-top:3px;width:18px;height:18px;accent-color:var(--c-accent);flex:none;}
.form__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.form__note{font-size:13px;color:var(--c-text);}
.form__msg{border-radius:4px;padding:14px 16px;font-size:15px;display:none;}
.form__msg.is-ok{display:block;background:#E8F5EC;color:#14622F;border:1px solid #9BD3AE;}
.form__msg.is-err{display:block;background:#FDECEC;color:#8C1512;border:1px solid #F0A9A7;}
.form__control.is-invalid{border-color:var(--c-accent);}
.form__error{display:block;margin-top:4px;font-size:13px;color:var(--c-accent);}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.form__section[hidden],.form__field[hidden]{display:none;}
@media (max-width:640px){.form__grid{grid-template-columns:1fr;}}

/* Výber s obrázkami (tvar bazéna, farba lamiel) */
.choice{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;}
.choice__item{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;
  border:1px solid var(--c-border);border-radius:6px;padding:10px 8px;cursor:pointer;
  background:var(--c-form);text-align:center;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease);
}
.choice__item:hover{border-color:var(--c-accent);transform:translateY(-2px);}
.choice__item input{position:absolute;opacity:0;width:0;height:0;}
.choice__item img{width:100%;aspect-ratio:4/3;object-fit:contain;border-radius:4px;}
.choice__item span{font-size:13px;line-height:1.3;color:var(--c-text);}
.choice__item:has(input:checked){
  border-color:var(--c-accent);box-shadow:0 0 0 2px var(--c-accent) inset;
}
.choice__item:has(input:checked) span{color:var(--c-primary);font-weight:700;}
.choice__item:has(input:focus-visible){outline:2px solid var(--c-subtitle);outline-offset:2px;}
.radios{display:flex;flex-wrap:wrap;gap:14px;}
.radios input{width:18px;height:18px;accent-color:var(--c-accent);}

/* Lišta so súhlasom s cookies.
   Odmietnutie aj prijatie majú rovnakú veľkosť aj váhu – vyžaduje to
   usmernenie EDPB k platnému súhlasu. */
.cookiebar{
  position:fixed;left:0;right:0;bottom:0;z-index:900;background:var(--c-dark);color:#fff;
  padding:20px;display:flex;gap:24px;align-items:center;justify-content:center;flex-wrap:wrap;
  box-shadow:0 -6px 24px rgba(0,0,0,.25);
}
.cookiebar__text{max-width:760px;font-size:14px;line-height:1.5;}
.cookiebar__text strong{display:block;font-family:var(--f-head);font-size:16px;margin-bottom:4px;}
.cookiebar__text p{margin:0;color:var(--c-p-on-dark);}
.cookiebar a{color:#fff;text-decoration:underline;}
.cookiebar__acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.cookiebar__btn{
  min-width:160px;padding:13px 20px;font-size:15px;font-weight:500;letter-spacing:0;
  background:var(--c-accent);color:#fff;
}
.cookiebar__btn:hover{background:#B81714;color:#fff;transform:none;}
.cookiebar__btn--ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);}
.cookiebar__btn--ghost:hover{background:rgba(255,255,255,.14);}
.cookiebar__btn[hidden]{display:none;}
.cookiebar__opts{display:flex;flex-direction:column;gap:10px;margin-top:14px;}
.cookiebar__opts[hidden]{display:none;}
.cookiebar__opt{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--c-p-on-dark);}
.cookiebar__opt input{width:18px;height:18px;margin-top:1px;accent-color:var(--c-accent);flex:none;}
.cookiebar__opt input:disabled{opacity:.6;}
.cookiebar__opt strong{display:inline;font-family:var(--f-body);font-size:13px;color:#fff;margin:0;}
@media (max-width:900px){
  .cookiebar{padding:16px;gap:14px;}
  .cookiebar__acts{width:100%;}
  .cookiebar__btn{flex:1 1 140px;min-width:0;}
}

/* ==========================================================================
   INŠTALÁCIE
   ========================================================================== */
.inst{background:linear-gradient(180deg,var(--c-site) 40%,var(--c-soft) 100%);padding:0 var(--gutter);overflow:hidden;}
.inst__hero{
  position:relative;padding-top:320px;display:flex;align-items:flex-end;justify-content:flex-end;
  background:url("../media/image22.jpeg") top center/cover no-repeat;overflow:hidden;min-height:520px;
}
.inst__curtain{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(180deg,var(--c-site) 61.6%,var(--c-soft) 100%);}
.inst__curtain--l{left:-50%;}
.inst__curtain--r{right:-50%;}
.inst__box{
  position:relative;z-index:2;width:300px;height:300px;margin-inline:auto;
  background:url("../media/100-BG.png") center/contain no-repeat;
}
.inst__body{display:flex;gap:80px;align-items:center;padding:60px 0 120px;}
.inst__body > *{flex:1 1 0;min-width:0;}
.inst__logos{display:flex;gap:30px;align-items:center;}
.inst__logos img{width:calc(50% - 15px);object-fit:contain;}
@media (max-width:1024px){
  .inst__hero{padding-top:160px;min-height:320px;}
  .inst__body{flex-direction:column;gap:30px;padding:40px 0 80px;}
  .inst__box{width:200px;height:200px;}
}

/* ==========================================================================
   ČASTÉ OTÁZKY
   ========================================================================== */
.faq{background:var(--c-soft);}
.faq__inner{position:relative;z-index:9;display:flex;flex-direction:column;align-items:center;gap:50px;}
.faq__head{width:66%;text-align:center;display:flex;flex-direction:column;gap:20px;}
.faq__acc{width:100%;max-width:900px;}
.faq__acc .acc__btn{font-size:17px;}
@media (max-width:1024px){.faq__head{width:100%;}}

/* ==========================================================================
   CTA pásy (marquee)
   ========================================================================== */
.strip{
  position:relative;z-index:9;overflow:hidden;overflow:clip;
  margin:60px 0 0;
}
/* Druhý pás nadväzuje priamo na prvý, bez medzery. */
.strip--2{margin:0 0 60px;}
.strip--accent li{text-transform:uppercase;}
.strip__track{padding:20px 0;display:flex;width:max-content;animation:marquee 26s linear infinite;}
.strip--dark .strip__track{background:transparent;}
.strip--dark{background:var(--c-dark);}
.strip--accent{background:var(--c-accent);}
.strip ul{display:flex;align-items:center;gap:50px;padding-right:50px;}
.strip li{
  display:flex;align-items:center;gap:16px;color:#fff;
  font-family:var(--f-head);font-size:2rem;font-weight:500;line-height:1.5;white-space:nowrap;
}
.strip li::before{content:"";width:10px;height:10px;border-radius:50%;background:#fff;flex:none;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.strip__track{animation:none;}}
@media (max-width:767px){.strip li{font-size:1.25rem;}.strip ul{gap:26px;padding-right:26px;}}

/* ==========================================================================
   KONTAKT
   ========================================================================== */
.contact{background:var(--c-site);}
.contact__deco{background-image:url("../media/clear-03.png");background-position:center left;background-size:350px auto;}
.contact__inner{position:relative;z-index:9;display:flex;flex-direction:column;align-items:center;gap:0;}
.contact__head{width:50%;display:flex;flex-direction:column;gap:20px;text-align:center;}
.contact__head p{font-family:var(--f-head);font-size:18px;font-weight:500;line-height:1.5;margin:0;}
.contact__cards{display:flex;gap:30px;margin-top:60px;width:100%;}
.contact__card{
  flex:1 1 0;background:var(--c-soft);border:1px solid var(--c-border);border-radius:6px;
  padding:34px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;
  transition:transform .3s var(--ease),border-color .3s var(--ease);
}
.contact__card:hover{transform:translateY(-4px);border-color:var(--c-accent);}
.contact__card h3{font-family:var(--f-head);font-size:1.25em;margin:0;}
.contact__card svg{width:32px;height:32px;fill:var(--c-accent);}
.contact__list{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:40px;width:70%;}
.contact__list li{display:flex;align-items:center;gap:10px;font-family:var(--f-head);font-size:18px;font-weight:500;}
.contact__list svg{width:18px;height:18px;fill:var(--c-accent);flex:none;}
@media (max-width:1024px){
  .contact__head{width:100%;}
  .contact__cards{flex-direction:column;}
  .contact__list{width:100%;}
}

/* ==========================================================================
   PÄTIČKA
   ========================================================================== */
.footer{background:var(--c-dark);}
.footer__top{display:flex;}
.footer__brand{
  width:30%;background:var(--c-accent);padding:80px 60px;position:relative;overflow:hidden;
  display:flex;flex-direction:column;gap:20px;align-items:center;text-align:center;
}
.footer__brand::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.2;
  background:url("../media/clear-06.png") bottom center/286px auto no-repeat;
}
.footer__brand > *{position:relative;z-index:1;}
.footer__brand img{width:160px;}
.footer__brand p{font-family:var(--f-body);font-size:1rem;font-weight:500;line-height:1.5;color:#fff;margin:0;}
.footer__social{display:flex;gap:16px;justify-content:center;}
.footer__social a{display:inline-flex;}
.footer__social svg{width:20px;height:20px;fill:#fff;transition:opacity .2s var(--ease);}
.footer__social a:hover svg{opacity:.7;}
.footer__cols{width:70%;padding:120px 60px;display:flex;gap:40px;}
.footer__col{flex:1 1 0;display:flex;flex-direction:column;gap:20px;}
.footer__col h3{font-family:var(--f-body);font-size:2rem;font-weight:700;line-height:1.5;color:#fff;margin:0;}
.footer__col li{color:#fff;font-size:16px;line-height:1.5;margin-bottom:15px;}
.footer__col li:last-child{margin-bottom:0;}
.footer__col a{color:#fff;}
.footer__col a:hover{color:var(--c-border);}
.footer__bar{background:var(--c-1);padding:20px;}
.footer__bar ul{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;}
.footer__bar li{display:flex;align-items:center;gap:8px;color:#fff;font-size:16px;line-height:1.5;}
.footer__bar li + li::before{content:"";width:5px;height:5px;border-radius:50%;background:#fff;flex:none;}
.footer__bar a{color:#fff;text-decoration:underline;}
@media (max-width:1024px){
  .footer__top{flex-direction:column;}
  .footer__brand,.footer__cols{width:100%;padding:80px 20px;}
  .footer__cols{flex-direction:column;text-align:center;}
  .footer__col li{justify-content:center;}
}

/* ==========================================================================
   Jednoduché podstránky
   ========================================================================== */
.page{padding:80px var(--gutter) 120px;}
.page__inner{max-width:900px;margin-inline:auto;}
.page h1{margin-bottom:32px;}
.page h2{font-size:1.75em;margin:40px 0 16px;}
.page h3{font-size:1.35em;margin:28px 0 12px;}
.page p,.page li{font-size:16px;line-height:1.7;}
.page ul{list-style:disc;padding-left:1.2em;margin:0 0 1em;}
.page a{color:var(--c-accent);text-decoration:underline;}
.page .muted{color:var(--c-text);opacity:.75;}
.page .small{font-size:13px;}
.tbl-cookies{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:14px;}
.tbl-cookies th,.tbl-cookies td{
  border:1px solid var(--c-border);padding:9px 12px;text-align:left;vertical-align:top;line-height:1.45;
}
.tbl-cookies th{background:var(--c-soft);font-family:var(--f-head);font-weight:700;}
.tbl-cookies code{background:var(--c-soft);padding:1px 5px;border-radius:4px;font-size:.92em;}
@media (max-width:640px){
  .tbl-cookies,.tbl-cookies tbody,.tbl-cookies tr,.tbl-cookies td{display:block;width:100%;}
  .tbl-cookies thead{display:none;}
  .tbl-cookies tr{margin-bottom:12px;border:1px solid var(--c-border);}
  .tbl-cookies td{border:0;border-bottom:1px solid var(--c-border);}
  .tbl-cookies td:last-child{border-bottom:0;}
}

/* Späť hore */
.totop{
  position:fixed;right:20px;bottom:20px;z-index:500;width:46px;height:46px;border-radius:50%;
  background:var(--c-accent);color:#fff;border:0;cursor:pointer;display:grid;place-items:center;
  opacity:0;pointer-events:none;transition:opacity .3s var(--ease),transform .3s var(--ease);
}
.totop.is-show{opacity:1;pointer-events:auto;}
.totop:hover{transform:translateY(-3px);}
.totop svg{width:20px;height:20px;fill:currentColor;}

/* Lightbox galérie */
.lb{
  position:fixed;inset:0;z-index:1000;background:rgba(0,1,3,.92);
  display:none;align-items:center;justify-content:center;padding:40px 20px;
}
.lb.is-open{display:flex;}
.lb__media{max-width:min(1100px,92vw);max-height:86vh;}
.lb__media img,.lb__media video{max-width:100%;max-height:86vh;width:auto;height:auto;margin-inline:auto;}
.lb__btn{
  position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;cursor:pointer;
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
}
.lb__btn:hover{background:var(--c-accent);}
.lb__btn svg{width:22px;height:22px;fill:currentColor;}
.lb__close{top:20px;right:20px;}
.lb__prev{left:20px;top:50%;transform:translateY(-50%);}
.lb__next{right:20px;top:50%;transform:translateY(-50%);}
