:root{
  --hero-glass-bg: rgba(11,18,32,.78);
  --hero-glass-blur: 8px;
  --hero-glass-br: 16px;
  --hero-glass-pad: clamp(16px,2vw,28px);
  --au-nav-z: 2147482000;
}

/* HERO „sklo“ len pre panel s textom */
.hero-plate{
  position: relative; z-index: 0;
  padding: var(--hero-glass-pad);
  border-radius: var(--hero-glass-br);
}
.hero-plate::before{
  content:""; position:absolute; inset:0;
  background: var(--hero-glass-bg);
  backdrop-filter: blur(var(--hero-glass-blur));
  -webkit-backdrop-filter: blur(var(--hero-glass-blur));
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--hero-glass-br);
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
  z-index:-1;
}
.hero-plate .btn,
.hero-plate a.btn,
.hero-plate button{
  background: linear-gradient(135deg,#F37103,#FF9950) !important;
  color:#fff !important; border:0 !important;
  box-shadow: 0 8px 20px rgba(243,113,3,.28) !important;
}
.hero-plate .btn-outline{
  background: linear-gradient(#0b1220,#0b1220) padding-box,
              linear-gradient(135deg, rgba(243,113,3,.85), rgba(255,255,255,.25)) border-box !important;
  border: 1px solid transparent !important;
  color:#e6e8ee !important; box-shadow:none !important;
}
.hero-plate h1, .hero-plate h2 { margin: 0 0 .3em 0; line-height: 1.05 }
.hero-plate p { margin: .3em 0 1em 0 }

/* NAV: pevny hore + automaticky offset tela */
.au-fixnav{
  position: fixed !important;
  top:0 !important; left:0 !important; right:0 !important;
  width:100% !important; z-index: var(--au-nav-z) !important;
}
body.au-has-fixnav{
  padding-top: var(--au-nav-h, 64px) !important;
}
/* === AUREUS · MOBILE MENU POLISH ============================== */
@media(max-width: 768px){
  /* backdrop za menu (viditelny len ked je otvorene) */
  body[data-menu-open="1"]::before{
    content:""; position:fixed; inset:0;
    background: rgba(5,10,20,.55);
    backdrop-filter: blur(2px);
    z-index: 2147480500;
  }

  /* samotny panel menu – pouzij existujucu .nav .menu */
  .nav .menu{
    position: fixed;
    inset: calc(var(--nav-h,64px) + 8px) 12px 16px 12px; /* top, right, bottom, left */
    background: rgba(11,18,32,.86);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 16px;
    padding: 18px;
    z-index: 2147481000;
    box-shadow: 0 20px 60px rgba(0,0,0,.35);
    backdrop-filter: saturate(120%) blur(8px);
    display: none;                   /* nezapiname sami */
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* kedy sa ma zobrazit: ak ma triedu .open / aria-expanded=true / alebo nas toggler */
  .nav .menu.open,
  .nav .menu[aria-expanded="true"],
  body[data-menu_open_css="1"] .nav .menu,
  body[data-menu-open="1"] .nav .menu{
    display: flex !important;
  }

  /* poladene polozky */
  .nav .menu a,
  .nav .menu button{
    display:block;
    text-align:center;
    padding:14px 16px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.14);
    background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
    font-weight:700;
    letter-spacing:.2px;
  }
  .nav .menu a:hover{ transform: translateY(-1px); box-shadow: 0 8px 18px rgba(0,0,0,.25) }

  /* CTA vo vnutri menu – oranzovy gradient */
  .nav .menu .btn,
  .nav .menu a.btn{
    background: linear-gradient(135deg,#F37103,#FF9950) !important;
    color:#fff !important; border:0 !important;
    box-shadow: 0 12px 26px rgba(243,113,3,.30) !important;
  }

  /* jemne okraje pre pretrcajuce elementy */
  .nav .menu .btn-outline{
    background: linear-gradient(#0b1220,#0b1220) padding-box,
                linear-gradient(135deg, rgba(243,113,3,.85), rgba(255,255,255,.25)) border-box !important;
    border:1px solid transparent !important;
    color:#e6e8ee !important;
  }
}
/* === MOBILE MENU OVERLAY (body-level) ====================== */
@media(max-width: 768px){
  /* prebij stare: povodnu .nav .menu uz NEZOBRAZUJ pri open */
  body[data-menu-open="1"] .nav .menu{ display:none !important; }

  /* overlay kontajner */
  #au-mm-overlay{
    display:none; position:fixed; inset:0;
    background: rgba(5,10,20,.55);
    backdrop-filter: blur(2px);
    z-index: 2147482001;
  }
  #au-mm-overlay.show{ display:block; }

  /* panel s polozkami */
  #au-mm-panel{
    position:fixed;
    top: calc(var(--nav-h,64px) + 8px);
    left:12px; right:12px; bottom:16px;
    background: rgba(11,18,32,.86);
    border:1px solid rgba(255,255,255,.10);
    border-radius:16px; padding:18px;
    box-shadow:0 20px 60px rgba(0,0,0,.35);
    backdrop-filter: saturate(120%) blur(8px);
    display:flex; flex-direction:column; gap:12px;
    overflow:auto; -webkit-overflow-scrolling:touch;
  }

  /* universalne tlacidla/polozky */
  #au-mm-panel a, #au-mm-panel button{
    display:block; text-align:center;
    padding:14px 16px; border-radius:14px;
    border:1px solid rgba(255,255,255,.14);
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
    font-weight:700; letter-spacing:.2px;
  }
  #au-mm-panel a:hover{ transform:translateY(-1px); box-shadow:0 8px 18px rgba(0,0,0,.25) }

  /* CTA v menu */
  #au-mm-panel .btn, #au-mm-panel a.btn{
    background:linear-gradient(135deg,#F37103,#FF9950)!important;
    color:#fff!important; border:0!important;
    box-shadow:0 12px 26px rgba(243,113,3,.30)!important;
  }
  #au-mm-panel .btn-outline{
    background:linear-gradient(#0b1220,#0b1220) padding-box,
               linear-gradient(135deg, rgba(243,113,3,.85), rgba(255,255,255,.25)) border-box!important;
    border:1px solid transparent!important; color:#e6e8ee!important;
  }
}
/* === AUREUS: horizontalny scroll len pre porovnavajuce tabulky ========== */
:root{ --table-min: 760px; }

.au-scroll-x{
  position: relative;
  overflow-x: auto; overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  overscroll-behavior-x: contain;
  padding-bottom: 8px;      /* miesto na scrollbar na androide */
  margin: 0 -8px;           /* mikro "edge-to-edge" pocit na mobile */
  padding-left: 8px; padding-right: 8px;
}
.au-scroll-x .table{ min-width: var(--table-min); }

/* vizualne hinty (tiey na okrajoch len ked je obsah sirsi) */
.au-scroll-x.is-overflowing::after{
  content:""; position:absolute; right:0; top:0; bottom:0; width:28px;
  pointer-events:none; background:linear-gradient(to right, transparent, rgba(11,18,32,.92));
}
.au-scroll-x.is-left::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:28px;
  pointer-events:none; background:linear-gradient(to left, transparent, rgba(11,18,32,.92));
}

/* jemny smooth scroll pre anchor linky, nav offset mas uz cez scroll-margin-top */
html{ scroll-behavior:smooth; }
/* === TABLE H-SCROLL · FORCE WIDTH + NOWRAP (scoped) ============== */
:root{ --table-min: 900px; } /* mozes zvysit na 1000-1100 ak treba viac stlpcov */

.au-scroll-x{
  position: relative;
  overflow-x: auto; overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  overscroll-behavior-x: contain;
  padding-bottom: 8px;
  margin: 0 -8px; padding: 0 8px 8px;
}

/* toto je kluc: tabulka musi byt sirsi ako viewport */
.au-scroll-x .table{
  width: auto !important;
  min-width: var(--table-min) !important;
  table-layout: auto;
}

/* zabran zlamovaniu textu, inak sa tabulka stiahne */
.au-scroll-x .table th,
.au-scroll-x .table td{
  white-space: nowrap !important;
}

/* tienove hinty len ked je overflow */
.au-scroll-x.is-overflowing::after{
  content:""; position:absolute; right:0; top:0; bottom:0; width:28px;
  pointer-events:none; background:linear-gradient(to right, transparent, rgba(11,18,32,.92));
}
.au-scroll-x.is-left::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:28px;
  pointer-events:none; background:linear-gradient(to left, transparent, rgba(11,18,32,.92));
}
/* === TABLE H-SCROLL · FORCE + DRAG UI (scoped) ================= */
:root{ --table-min: 1000px; }     /* ak treba, zvys na 1100–1200 */

.au-scroll-x{
  position: relative;
  overflow-x: auto !important;    /* vynutime */
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x !important;
  overscroll-behavior-x: contain;
  padding: 0 8px 10px;
  margin: 0 -8px;
  cursor: grab;
}
.au-scroll-x.dragging{ cursor: grabbing; user-select: none; }

.au-scroll-x .table{
  width: auto !important;
  min-width: var(--table-min) !important;
  table-layout: auto;
}
.au-scroll-x .table th,
.au-scroll-x .table td{ white-space: nowrap !important; }

/* tienove hinty iba ked je overflow */
.au-scroll-x.is-overflowing::after{
  content:""; position:absolute; right:0; top:0; bottom:0; width:28px;
  pointer-events:none; background:linear-gradient(to right, transparent, rgba(11,18,32,.92));
}
.au-scroll-x.is-left::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:28px;
  pointer-events:none; background:linear-gradient(to left, transparent, rgba(11,18,32,.92));
}
/* === COMPARE TABLE: horizontalny scroll len tu ================== */
#au-compare-wrap{
  position:relative;
  overflow-x:auto !important;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x !important;
  overscroll-behavior-x:contain;
  padding:0 8px 10px;
  margin:0 -8px;            /* edge-to-edge pocit na mobile */
  cursor:grab;
}
#au-compare-wrap.drag{ cursor:grabbing; user-select:none; }

/* sirka vynutena: ak je to <table> alebo <div class="table"> */
#au-compare-wrap > table,
#au-compare-wrap > .table{
  display:inline-block !important;
  width:max-content !important;   /* nech je sirka podla obsahu */
  min-width:1024px !important;    /* poistka, ak by obsah bol kratky */
  table-layout:auto !important;
}

/* zabran zalamovaniu, inak nevznikne overflow */
#au-compare-wrap th,
#au-compare-wrap td,
#au-compare-wrap .cell{ white-space:nowrap !important; }

/* jemne tiene len ked je overflow */
#au-compare-wrap.shadow-r::after{
  content:""; position:absolute; right:0; top:0; bottom:0; width:28px;
  pointer-events:none; background:linear-gradient(to right, transparent, rgba(11,18,32,.92));
}
#au-compare-wrap.shadow-l::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:28px;
  pointer-events:none; background:linear-gradient(to left, transparent, rgba(11,18,32,.92));
}
/* === COMPARE TABLE · horizontal scroll (scoped) =============== */
#au-compare-wrap{
  position:relative;
  overflow-x:auto !important;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x !important;
  overscroll-behavior-x:contain;
  padding:0 8px 10px;
  margin:0 -8px; /* edge-to-edge pocit na mobile */
  cursor:grab;
}
#au-compare-wrap.drag{ cursor:grabbing; user-select:none }

/* vnutro: nech sa riadi obsahom, nie viewportom */
#au-compare-wrap > table,
#au-compare-wrap > .table{
  display:inline-block !important;
  width:max-content !important;
  min-width:1024px !important;   /* mozes zvysit na 1100–1200 ak chces */
  table-layout:auto !important;
}

/* bez zalamovania, inak overflow nevznikne */
#au-compare-wrap th,
#au-compare-wrap td{ white-space:nowrap !important }

/* jemne tiene len ked je co posuvat */
#au-compare-wrap.shadow-r::after{
  content:""; position:absolute; right:0; top:0; bottom:0; width:28px;
  pointer-events:none; background:linear-gradient(to right, transparent, rgba(11,18,32,.92));
}
#au-compare-wrap.shadow-l::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:28px;
  pointer-events:none; background:linear-gradient(to left, transparent, rgba(11,18,32,.92));
}
/* === COMPARE TABLE · MOBILE STACKED CARDS ========================= */
@media (max-width: 820px){
  /* ciel: iba tato tabulka */
  table[aria-label="Comparison table"]{
    display:block; width:100%; border-collapse:separate; border-spacing:0;
  }
  table[aria-label="Comparison table"] thead{ display:none; }   /* skry hlavicku */
  table[aria-label="Comparison table"] tbody{ display:block; }

  table[aria-label="Comparison table"] tr{
    display:block;
    margin:12px 0;
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02)) padding-box,
                linear-gradient(135deg, rgba(255,255,255,.10), rgba(243,113,3,.20)) border-box;
    border:1px solid transparent; border-radius:12px;
    box-shadow: 0 10px 22px rgba(0,0,0,.25);
    overflow:hidden;
  }
  table[aria-label="Comparison table"] td{
    display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
    padding:12px 14px; border-bottom:1px solid rgba(255,255,255,.06);
    white-space:normal !important;  /* nech sa texty pekne zalamu */
  }
  table[aria-label="Comparison table"] td:last-child{ border-bottom:0; }

  /* labely (nahradzaju hlavicku) – nastavene podla stlpca */
  table[aria-label="Comparison table"] td::before{
    content:""; font-weight:800; color:var(--muted); opacity:.95;
    flex:0 0 48%; max-width:48%; text-align:left;
  }
  table[aria-label="Comparison table"] td:nth-child(1)::before{ content:"Schopnost"; }
  table[aria-label="Comparison table"] td:nth-child(2)::before{ content:"Bezny retail bot"; }
  table[aria-label="Comparison table"] td:nth-child(3)::before{ content:"Aureus"; color:var(--fg); }

  /* hodnoty vpravo */
  table[aria-label="Comparison table"] td > *{ flex:1 1 auto; text-align:right; }
}
/* === REVERT: COMPARE TABLE mobile-cards ===================== */
@media (max-width: 820px){
  table[aria-label="Comparison table"]{
    display: table !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }
  table[aria-label="Comparison table"] thead{ display: table-header-group !important; }
  table[aria-label="Comparison table"] tbody{ display: table-row-group !important; }
  table[aria-label="Comparison table"] tr{
    display: table-row !important;
    background: none !important; box-shadow: none !important;
    border: 0 !important; margin: 0 !important; overflow: visible !important;
  }
  table[aria-label="Comparison table"] td{
    display: table-cell !important;
    padding: 14px 16px !important;
    text-align: left !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
  }
  table[aria-label="Comparison table"] td::before{ content: none !important; }
}
/* === REVERT: ensure page scroll is enabled =================== */
html, body{ overflow-y: auto !important; }
/* === COMPARE TABLE · horizontalny scroll (scoped) =============== */
#au-compare-wrap{
  position:relative;
  overflow-x:auto !important; overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x !important;
  overscroll-behavior-x:contain;
  padding:0 8px 10px; margin:0 -8px; /* edge-to-edge pocit na mobile */
}

/* tabulka sa ridi obsahom a NIE sirku viewportu */
#au-compare-wrap > table.table{
  width:max-content !important;
  min-width:1024px !important;     /* zvys na 1200 ak treba */
  overflow:visible !important;      /* nech sticky thead funguje */
  table-layout:auto !important;
}

/* zabran zalamovaniu, aby vznikol realny overflow len tu */
#au-compare-wrap th, #au-compare-wrap td{
  white-space:nowrap !important;
}
