
/* v51o – oprava mobilního menu a hero karty podle screenshotu.
   Nemění obsah, data ani funkce webu. */

/* DESKTOP: karta opravdu víc vlevo, ne ve středu */
@media (min-width: 921px){
  html body .hero-grid,
  html body .hero-grid--single{
    justify-items:start!important;
    align-items:center!important;
  }

  html body .hero-copy,
  html body .hero-card,
  html body .hero__card,
  html body .hero-content,
  html body .hero-panel{
    margin-left:clamp(18px, 6vw, 110px)!important;
    margin-right:auto!important;
    max-width:720px!important;
    width:min(720px, calc(100vw - 80px))!important;
  }
}

/* TELEFON: hero karta nesmí být obří, tlačítka nesmí lézt pod spodní lištu */
@media (max-width: 760px){
  html body .hero,
  html body .hero--home,
  html body .hero.hero--home{
    min-height:auto!important;
    padding-top:92px!important;
    padding-bottom:42px!important;
  }

  html body .hero-grid,
  html body .hero-grid--single{
    display:block!important;
    width:100%!important;
  }

  html body .hero-copy,
  html body .hero-card,
  html body .hero__card,
  html body .hero-content,
  html body .hero-panel{
    margin:0 auto!important;
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    padding:24px 18px!important;
    border-radius:26px!important;
    background:rgba(255,250,236,.56)!important;
    backdrop-filter:blur(14px) saturate(1.05)!important;
    -webkit-backdrop-filter:blur(14px) saturate(1.05)!important;
  }

  html body .hero h1,
  html body .hero-copy h1,
  html body .hero-card h1,
  html body .hero__card h1,
  html body .hero-content h1,
  html body .hero-panel h1{
    font-size:clamp(34px, 10vw, 48px)!important;
    line-height:.96!important;
    letter-spacing:-.055em!important;
    margin-bottom:16px!important;
  }

  html body .hero p,
  html body .hero-copy p,
  html body .hero-card p,
  html body .hero__card p,
  html body .hero-content p,
  html body .hero-panel p,
  html body .hero .lead,
  html body .hero-copy .lead{
    font-size:18px!important;
    line-height:1.45!important;
    font-weight:700!important;
    margin-bottom:18px!important;
  }

  html body .hero-actions,
  html body .hero .actions,
  html body .hero .btn-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:100%!important;
  }

  html body .hero .btn,
  html body .hero .btn-primary,
  html body .hero .btn-soft,
  html body .hero .btn-ghost{
    width:100%!important;
    min-height:54px!important;
    padding:0 18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:17px!important;
    border-radius:999px!important;
  }

  html body .hero-trust{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    justify-content:center!important;
    margin-top:16px!important;
  }

  html body .hero-trust span{
    font-size:13px!important;
    padding:8px 10px!important;
    max-width:100%!important;
  }
}

/* MOBILNÍ HLAVIČKA: logo + hamburger + tlačítko bez rozbití */
@media (max-width: 920px){
  html body .site-header .nav-wrap,
  html body .site-header .nav-wrap--portal{
    height:76px!important;
    min-height:76px!important;
    padding-left:12px!important;
    padding-right:12px!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    overflow:visible!important;
  }

  html body .site-header .brand{
    height:76px!important;
    min-width:0!important;
    width:auto!important;
    flex:1 1 auto!important;
    max-width:190px!important;
  }

  html body .site-header .brand img{
    height:54px!important;
    max-height:54px!important;
    max-width:188px!important;
    width:auto!important;
    object-fit:contain!important;
  }

  html body .site-header .nav-toggle{
    display:flex!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    border-radius:999px!important;
    align-items:center!important;
    justify-content:center!important;
    background:rgba(255,255,255,.52)!important;
    border:1px solid rgba(40,45,35,.14)!important;
    box-shadow:0 10px 20px rgba(40,45,35,.08)!important;
    z-index:6001!important;
  }

  html body .site-header .nav-toggle span{
    width:22px!important;
    height:3px!important;
    border-radius:999px!important;
    background:#1d221c!important;
  }

  html body .site-header .header-phone{
    display:none!important;
  }

  html body .site-header .nav-cta,
  html body .site-header .main-nav > .nav-cta{
    min-width:0!important;
    width:auto!important;
    max-width:190px!important;
    height:48px!important;
    min-height:48px!important;
    padding:0 16px!important;
    border-radius:999px!important;
    font-size:16px!important;
    line-height:1!important;
    white-space:nowrap!important;
    flex:0 0 auto!important;
  }
}

/* MOBILNÍ MENU: po otevření čistý panel, ne rozházené položky přes hero */
@media (max-width: 920px){
  html body .site-header .main-nav,
  html body .site-header .main-nav--portal{
    position:absolute!important;
    top:calc(100% + 10px)!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:calc(100vh - 115px)!important;
    overflow:auto!important;

    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:4px!important;

    padding:16px!important;
    border-radius:26px!important;
    background:rgba(255,253,246,.96)!important;
    border:1px solid rgba(45,50,40,.14)!important;
    box-shadow:0 26px 70px rgba(30,32,24,.22)!important;
    z-index:6000!important;
  }

  /* Podpora pro běžné třídy otevřeného menu */
  html body .site-header .main-nav.is-open,
  html body .site-header .main-nav.open,
  html body .site-header .main-nav.active,
  html body .site-header.nav-open .main-nav,
  html body body.nav-open .site-header .main-nav,
  html body .site-header.menu-open .main-nav,
  html body .nav-wrap.is-open .main-nav,
  html body .nav-wrap.menu-open .main-nav{
    display:flex!important;
  }

  html body .site-header .main-nav > a,
  html body .site-header .nav-dropdown > a{
    width:100%!important;
    height:46px!important;
    min-height:46px!important;
    padding:0 14px!important;
    border-radius:16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:16px!important;
    line-height:1!important;
    white-space:nowrap!important;
    color:#1d221c!important;
    background:transparent!important;
  }

  html body .site-header .main-nav > a:hover,
  html body .site-header .nav-dropdown > a:hover,
  html body .site-header .main-nav .is-active{
    background:#e3ead8!important;
  }

  html body .site-header .main-nav > .nav-cta,
  html body .site-header .nav-cta{
    width:100%!important;
    max-width:none!important;
    margin-top:6px!important;
    height:52px!important;
    min-height:52px!important;
  }

  /* Dropdowny v mobilním menu nesmí absolutně vyjíždět přes stránku */
  html body .site-header .nav-dropdown{
    width:100%!important;
  }

  html body .site-header .mega-menu{
    position:static!important;
    transform:none!important;
    width:100%!important;
    max-width:100%!important;
    max-height:none!important;
    overflow:visible!important;
    display:none!important;
    grid-template-columns:1fr!important;
    padding:8px!important;
    margin-top:4px!important;
    border-radius:18px!important;
    box-shadow:none!important;
    background:#fff8e8!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  html body .site-header .nav-dropdown:hover .mega-menu,
  html body .site-header .nav-dropdown:focus-within .mega-menu{
    display:grid!important;
    transform:none!important;
  }
}

/* Hodně úzké telefony – schovat CTA z horního řádku do menu, jinak tlačí na hamburger */
@media (max-width: 420px){
  html body .site-header .nav-wrap > .nav-cta,
  html body .site-header .nav-wrap--portal > .nav-cta{
    display:none!important;
  }

  html body .site-header .brand{
    max-width:210px!important;
  }

  html body .site-header .brand img{
    max-width:205px!important;
  }
}

/* Plovoucí telefon nepřekrývat text hero karty tak brutálně */
@media (max-width: 760px){
  html body .float-call{
    width:54px!important;
    height:54px!important;
    right:16px!important;
    bottom:74px!important;
    font-size:25px!important;
    z-index:5500!important;
  }
}
