/*
Theme Name: Astra Child
Template: astra
Text Domain: astra-child
Version: 1.0.0
*/

/* =====================================
   GLOBAL – poistka proti horizontálnemu presahu
===================================== */

html, body{
  overflow-x: clip;
}

img, video, iframe{
  max-width: 100%;
  height: auto;
}

/* =====================================
   PREMENNÉ
===================================== */

:root{
  --fixedHeaderH: 70px;
  --fixedHeaderH_mobile: 70px;

  /* výška sticky footeru na mobile – uprav podľa reality */
  --nvFooterH_mobile: 84px;

  color-scheme: light;
}

/* =====================================
   FIXED HEADER
===================================== */

.fixed-header{
  position: fixed !important;
  top: 0 !important;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 999999;
  background-color: #000 !important;
}

.admin-bar .fixed-header{
  top: 32px !important;
}

@media (max-width: 782px){
  .admin-bar .fixed-header{
    top: 46px !important;
  }
}

/* =====================================
   ODSADENIE OBSAHU
===================================== */

.site-content{
  padding-top: var(--fixedHeaderH) !important;
}

@media (max-width: 768px){
  .site-content{
    padding-top: var(--fixedHeaderH_mobile) !important;
  }
}

/* =====================================
   SCROLL PANEL
===================================== */

.scroll-panel{
  height: 615px !important;
  min-height: 615px !important;
  max-height: 615px !important;
  box-sizing: border-box;
  overflow-y: auto;
  overflow-x: clip;
  -webkit-overflow-scrolling: touch;
  padding-top: 40px !important;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  width: 100%;
  max-width: 100%;
  background-repeat: no-repeat !important;
  background-size: auto 615px !important;
  background-attachment: scroll !important;
  display: flow-root;
}

@supports not (overflow: clip){
  .scroll-panel{
    overflow-x: hidden;
  }
}

.scroll-panel .alignfull,
.scroll-panel .alignwide{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.scroll-panel > .wp-block-group__inner-container{
  padding: 0 !important;
  margin: 0 !important;
}

.scroll-panel > .wp-block-group__inner-container > *:first-child{
  margin-top: 0 !important;
}

/* =====================================
   BACKGROUND POZÍCIE
===================================== */

.bck-left{
  background-position: top left !important;
}

.bck-right{
  background-position: top right !important;
}

/* =====================================
   CTA WRAPPER
===================================== */

.cta-grad-wrap{
  background: linear-gradient(to bottom, #72b9d2 0%, #013346 100%) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  --wp--style--block-gap: 0px;
  overflow: hidden;
}

.cta-grad-wrap > .wp-block-group__inner-container{
  padding: 0 !important;
  margin: 0 !important;
}

.cta-grad-wrap *:first-child{
  margin-top: 0 !important;
}

.cta-grad-wrap *:last-child{
  margin-bottom: 0 !important;
}

#content .entry-content > .cta-grad-wrap{
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#content .entry-content > .cta-grad-wrap > .scroll-panel{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* =====================================
   KADENCE ACCORDION – základ
===================================== */

/* vždy transparentné pozadie */
.wp-block-kadence-accordion .kt-accordion-panel-inner{
  background: transparent !important;
}

/* bez interného scrollu */
.wp-block-kadence-accordion .kt-accordion-panel,
.wp-block-kadence-accordion .kt-accordion-panel-wrap,
.wp-block-kadence-accordion .kt-accordion-panel-inner,
.wp-block-kadence-accordion .kt-accordion-panel-content{
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
}

/* =====================================
   KADENCE ACCORDION – SECTION DARK
===================================== */

.section-dark .wp-block-kadence-accordion .kt-accordion-panel-inner,
.section-dark .wp-block-kadence-accordion .kt-accordion-panel-content,
.section-dark .wp-block-kadence-accordion .kt-accordion-panel-inner *:not(svg):not(svg *),
.section-dark .wp-block-kadence-accordion .kt-accordion-panel-content *:not(svg):not(svg *){
  color: #b1d3df !important;
  -webkit-text-fill-color: #b1d3df !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* =====================================
   KADENCE ACCORDION – SECTION LIGHT
===================================== */

.section-light .wp-block-kadence-accordion .kt-accordion-panel-inner,
.section-light .wp-block-kadence-accordion .kt-accordion-panel-content,
.section-light .wp-block-kadence-accordion .kt-accordion-panel-inner *:not(svg):not(svg *),
.section-light .wp-block-kadence-accordion .kt-accordion-panel-content *:not(svg):not(svg *){
  color: #013c50 !important;
  -webkit-text-fill-color: #013c50 !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* =====================================
   UPRAVA VYSKY BLOKU – STLPCE V PATIČKE
===================================== */

.moje-stlpce{
  margin: 0 auto;
}

.moje-stlpce .wp-block-column{
  padding: 15px 15px;
}

.custom-page-footer--bottom{
  width: 100%;
}

/* =====================================
   CUSTOM PAGE FOOTER – MOBILE STICKY + 4 TLAČIDLÁ V RIADKU
===================================== */

/* základné – aby footer "nepadal" pod ostatné veci */
.custom-page-footer.custom-page-footer--bottom{
  width: 100%;
}

/* MOBILE: sticky footer bar */
@media (max-width: 768px){

  .custom-page-footer.custom-page-footer--bottom{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999998; /* pod headerom (999999) */
  }

  /* Keďže používaš interný scroll v .scroll-panel, odsadenie treba tam */
  .scroll-panel{
    padding-bottom: var(--nvFooterH_mobile) !important;
  }

  /* Ak by niekde mimo scroll-panelu dochádzalo k prekrývaniu, nechaj aj toto */
  body{
    padding-bottom: var(--nvFooterH_mobile);
  }

  /* Stĺpce v pätičke prehoď na 4 prvky vedľa seba */
  .custom-page-footer .moje-stlpce{
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    margin: 0 !important;
    width: 100%;
  }

  .custom-page-footer .moje-stlpce .wp-block-column{
    flex: 1 1 25%;
    padding: 8px 6px !important;
    margin: 0 !important;
  }

  /* Linky (shortcode <a class="custom-footer-btn">) ako “taby” */
  .custom-page-footer a.custom-footer-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 44px;
    width: 100%;
    padding: 10px 8px;
    border-radius: 10px;
    text-decoration: none;
    line-height: 1.15;
  }

  /* aby sa text nezväčšoval na 2–3 riadky príliš */
  .custom-page-footer a.custom-footer-btn{
    font-size: 13px;
  }
}

/* =====================================
   CUSTOM PAGE FOOTER – MOBILE STICKY (Kadence Header vnútri)
===================================== */

:root{
  --nvFooterH_mobile: 84px; /* uprav podľa reálnej výšky */
}

@media (max-width: 768px){

  /* sticky wrapper, ktorý generuje PHP */
  .custom-page-footer.custom-page-footer--bottom{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999998; /* pod headerom */
    width: 100%;
  }

  /* v tvojej komunite sa scrolluje .scroll-panel -> padding dávaj tam */
  .scroll-panel{
    padding-bottom: var(--nvFooterH_mobile) !important;
  }

  /* fallback pre stránky bez scroll-panel */
  body{
    padding-bottom: var(--nvFooterH_mobile);
  }

  /* odstráň zbytočné marginy z Gutenberg footer groupu, aby nezavadzali */
  .custom-page-footer footer.wp-block-group.alignfull{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* aby klikateľné prvky mali “tap” veľkosť */
  .custom-page-footer a{
    min-height: 44px;
  }
}

/* =====================================
   NV FOOTER (Kadence header) – MOBILE STICKY + 4 tlačidlá v riadku
===================================== */

:root{
  --nvFooterH_mobile: 84px; /* uprav podľa reálnej výšky pätičky */
}

@media (max-width: 768px){

  /* Sticky footer group (podľa toho, čo vidím v DOM: nv-footer-inner) */
  footer.nv-footer-inner{
    position: fixed !important;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999998; /* pod headerom (999999) */
    width: 100%;
    margin: 0 !important;
  }

  /* odstráň Gutenberg marginy, ktoré si mala v bloku */
  footer.nv-footer-inner.wp-block-group.alignfull{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Keďže komunita používa interný scroll (.scroll-panel), odsadenie pridaj tam */
  .scroll-panel{
    padding-bottom: var(--nvFooterH_mobile) !important;
  }

  /* fallback pre stránky bez scroll-panelu */
  body{
    padding-bottom: var(--nvFooterH_mobile);
  }

  /* Kadence row nech je 1 riadok, bez zalamovania */
  footer.nv-footer-inner .kadence-header-row-inner{
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 8px;
    padding: 8px 10px;
  }

  /* 4 linky vedľa seba */
  footer.nv-footer-inner a.custom-footer-btn{
    flex: 1 1 25%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 44px;
    padding: 10px 8px;
    border-radius: 10px;
    text-decoration: none;
    line-height: 1.15;
    font-size: 13px;
    white-space: nowrap;
  }
}

/* =====================================
   NV FOOTER (test page: /komunita/)
   - link styles inherit, color #013c50
   - footer pushed to bottom if page is short
===================================== */

/* 1) Link/button styling inside the footer block */
.nv-footer-inner a,
.nv-footer-inner a:visited,
.custom-page-footer .nv-footer-inner a,
.custom-page-footer .nv-footer-inner a:visited{
  color: #013c50;
  font: inherit;
  text-decoration: none;
}

.nv-footer-inner a:hover,
.nv-footer-inner a:focus,
.custom-page-footer .nv-footer-inner a:hover,
.custom-page-footer .nv-footer-inner a:focus{
  color: #013c50;
  text-decoration: none;
}

/* Shortcode links (if used) */
.custom-page-footer .custom-footer-btn,
.custom-page-footer .custom-footer-btn:visited{
  color: #013c50;
  font: inherit;
  text-decoration: none;
}

/* 2) Push injected footer to the bottom when content is shorter than viewport */
body.page-komunita{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body.page-komunita #page{
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

body.page-komunita #content,
body.page-komunita .site-content{
  flex: 1 0 auto;
}

body.page-komunita .custom-page-footer--bottom{
  margin-top: auto;
}

/* Keep footer spacing reasonable */
body.page-komunita .custom-page-footer--bottom{
  padding-top: 16px;
}
