/* mobile-fallback.css — MOBILE/TABLET ≤1024px (statický burger, full-screen panel, odsazení odkazů 50px) */

@media (max-width: 1024px) {
  :root{
    --mm-header-bg:#2a2a47; /* barva jako header */
    --mm-primary:#c5a665;   /* primární barva odkazů i čárek burgeru */
  }

  /* Základní mobilní fixy */
  html,body,
  html.has-scroll-smooth,
  .has-scroll-smooth body{overflow-y:auto!important;overflow-x:hidden!important}
  .page-transition,.search-box{pointer-events:none}
  .page-transition.active,.search-box.active{pointer-events:auto}

  .recent-news figure img,
  .image-content-box figure img,
  .collection-box figure img,
  .blog-post figure img,
  .image-box img,
  .image-icon-box .content-image img,
  .exhibition-box .img,
  .side-image img,
  .side-arts img{opacity:1!important;transform:none!important;filter:none!important}

  .slider .slider-images .swiper-slide{background-image:none!important}
  .slider .slider-images .swiper-slide .mobile-slide{display:block!important;background-size:cover!important;background-position:center!important}
  .slider{min-height:100dvh;position:relative;z-index:1}

  /* Transparentní header nad hero */
  .navbar,header,.header,.site-header,.navbar .container,.navbar .wrapper,.navbar .inner{
    position:fixed;top:0;left:0;right:0;background:transparent!important;box-shadow:none!important;border:0!important;z-index:3000
  }
  .navbar .site-menu{display:none!important}
  .navbar{padding:14px 16px!important}
  .navbar::before,.navbar::after,.site-header::before,.site-header::after{content:none!important}

  /* === CSS-only burger + drawer === */
  #mm-root{position:relative;z-index:3500}

  /* BURGER: 3× větší + (52px od topu = +20 navíc), vpravo +20 */
  #mm-root .mm-btn{
    position:fixed;
    top:calc(52px + env(safe-area-inset-top));
    right:calc(32px + env(safe-area-inset-right));
    width:132px;height:132px;display:flex;align-items:center;justify-content:center;
    background:rgba(42,42,71,0.95);border:0;border-radius:999px;
    box-shadow:0 2px 10px rgba(0,0,0,.25);z-index:4000;cursor:pointer
  }
  #mm-root .mm-btn svg{display:block;width:84px;height:84px}
  #mm-root .mm-btn svg path{stroke:var(--mm-primary)!important;transition:none}

  /* Drawer/overlay */
  #mm-root .mm-drawer{position:fixed;inset:0;z-index:3500;pointer-events:none}
  #mm-root .mm-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity .2s ease;pointer-events:none}

  /* PANEL: full-screen od vršku (žádné odsazení nahoře) */
  #mm-root .sheet{
    position:absolute;top:0;right:0;bottom:0;left:0;
    width:100vw;background:var(--mm-header-bg);color:#fff;
    transform:translateX(100%);transition:transform .25s ease;will-change:transform;
    display:flex;flex-direction:column;padding:180px 70px
  }

  /* Schovej header v šuplíku úplně (logo/křížek nepoužíváme) */
  #mm-root .sheet-header{display:none!important}
  #mm-root .mm-logo{display:none!important}
  #mm-root .mm-close{display:none!important}

  /* ODKAZY – primární barva + větší řádkování
     Aplikuj odsazení 50px jen na seznam odkazů */
  #mm-root .mm-list{list-style:none;margin:0;padding:calc(50px + env(safe-area-inset-top)) 0 0 0}
  #mm-root .mm-list li{margin:0;padding:0}
  #mm-root .mm-list a{
    display:block;padding:18px 8px;
    color:var(--mm-primary);text-decoration:none;
    font-size:36px;line-height:1.75
  }
  #mm-root .mm-list a:hover{text-decoration:none;filter:brightness(1.08)}

  /* OTEVŘENÝ STAV: povol kliky + zvětši odkazy na 72px (2×) */
  #mm-root #mm-toggle:checked ~ .mm-drawer{pointer-events:auto!important}
  #mm-root #mm-toggle:checked ~ .mm-drawer .mm-overlay{opacity:1!important;pointer-events:auto!important}
  #mm-root #mm-toggle:checked ~ .mm-drawer .sheet{transform:translateX(0)!important}
  #mm-root #mm-toggle:checked ~ .mm-drawer .mm-list a{
    font-size:72px!important;              /* 2× větší po vyjetí */
    padding:28px 10px!important;
    line-height:1.75!important
  }

  html,body{overflow-x:hidden!important}
}

/* ===============================
   Horizontal section → vertical stack (≤1024px)
   Specificky jen pro .horizontal-scroll
   =============================== */
@media (max-width: 1024px) {
  :root { --hs-gap: 70px; } /* mezera mezi kartami */

  /* Odstav horizontální režim a pinování */
  .horizontal-scroll {
    position: static !important;
    overflow: visible !important;
    height: auto !important;
  }

  .horizontal-scroll .scroll-inner {
    display: block !important;
    width: auto !important;
    white-space: normal !important;
    transform: none !important;
  }

  .horizontal-scroll .scroll-wrapper {
    display: block !important;
    width: auto !important;
    transform: none !important;
    margin: 0 0 var(--hs-gap) 0 !important; /* mezera mezi „řádky“ */
  }

  /* Bootstrap grid uvnitř slož vertikálně */
  .horizontal-scroll .container-fluid {
    font-size: 40px;
    line-height: 12px;
    padding-left: 70px !important;
    padding-right: 0 !important;
  }
  .horizontal-scroll .row {
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important; /* jeden sloupec */
    gap: var(--hs-gap) !important;
  }
  .horizontal-scroll .col-md-4 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
  }

  /* Karty/obsah na plnou šířku */
  .horizontal-scroll figure.image-box {
    width: 100% !important;
    margin: 0 !important;
  }
  .horizontal-scroll .text-slide {
    /* nechávám neutrální typografii – uprav si dle brandu */
    line-height: 1.6;
  }

  /* Zruš veškeré posuny/parallax jen uvnitř této sekce */
  .horizontal-scroll [data-scroll],
  .horizontal-scroll [data-scroll-speed],
  .horizontal-scroll [data-scroll-direction],
  .horizontal-scroll [style*="transform"] {
    transform: none !important;
  }

  /* Pokud knihovny vložily spacery/piny */
  .horizontal-scroll .pin-spacer,
  .horizontal-scroll .spacer {
    height: auto !important;
    width: auto !important;
  }
}

/* ============================================
   Investment approach → full-bleed text (≤1024px)
   Text na 0px od levého okraje + žádné vnitřní odsazení
   ============================================ */
@media (max-width: 1024px) {
  /* Cílíme na sekci buď přes speciální třídu,
     nebo automaticky přes :has(.side-arts .titles) */
  .content-section.investment-approach .container,
  section.content-section:has(.side-arts .titles) .container {
    /* full-bleed trik (přes okraje containeru) */
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .content-section.investment-approach .row.g-0,
  section.content-section:has(.side-arts .titles) .row.g-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .content-section.investment-approach .col-lg-6,
  section.content-section:has(.side-arts .titles) .col-lg-6 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Obrázek bez mezer, na plnou šířku */
  .content-section.investment-approach .side-image,
  section.content-section:has(.side-arts .titles) .side-image {
    margin: 0 !important;
    padding: 0 !important;
  }
  .content-section.investment-approach .side-image img,
  section.content-section:has(.side-arts .titles) .side-image img {
    display: block;
    width: 100%;
    height: auto;
  }

  /* >>> TADY ZAJIŠŤUJEME 0 PX OD LEVÉHO OKRAJE <<< */
  .content-section.investment-approach .side-arts,
  .content-section.investment-approach .titles,
  section.content-section:has(.side-arts .titles) .side-arts,
  section.content-section:has(.side-arts .titles) .titles {
    
    margin: 0 !important;
    padding: 0 !important;           /* žádný vnitřní padding */
  }

  .content-section.investment-approach .titles p,
  section.content-section:has(.side-arts .titles) .titles p {
    font-size: 40px;
    margin-left: 0 !important;
    padding-top: 100px !important;
    padding-left: 70px !important;      /* 0 px od levého okraje textu */
    margin-right: 0 !important;
  }

  /* kdyby uvnitř byly další obálky (např. .text, .content, .copy) */
  .content-section.investment-approach .titles > *,
  section.content-section:has(.side-arts .titles) .titles > * {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  /* Bez mezer kolem figure/image-box (kdyby se použilo) */
  .content-section.investment-approach figure.image-box,
  section.content-section:has(.side-arts .titles) figure.image-box {
  
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }
}

/* ===============================
   FOOTER mobile fallback (≤1024px) — FULL-BLEED LEFT (0 px)
   - Sloupce pod sebe
   - Vlevo zarovnané
   - 2× velikost (škáluj přes --ft-scale)
   - Kontejnery přes celou šířku viewportu (0 px zleva i zprava)
   =============================== */
@media (max-width: 1024px) {
  :root {
    --ft-gap: 24px;
    --ft-row-gap: 10px;
    --ft-scale: 2; /* 2× větší text */
  }

  .footer {
    font-size: calc(1rem * var(--ft-scale));
    line-height: 1.6;
    text-align: left !important;
  }

  /* FULL-BLEED: patičkové kontejnery přes celý viewport bez paddingu */
  .footer .container,
  .footer .footer-bottom .container {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Sloupce → pod sebe, roztáhnout na šířku */
  .footer .row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: var(--ft-gap) !important;
    margin: 0 !important;
    justify-items: stretch !important;
  }

  /* Zrušit boční paddingy sloupců */
  .footer [class*="col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 70px !important;
    padding-right: 0 !important;
    text-align: left !important;
  }

  .footer .widget-title {
    margin: 0 0 8px 0 !important;
    font-weight: 700;
    padding-left: 0 !important;
  }

  /* Menu – žádné vnitřní odsazení, odkazy blokově na plnou šířku */
  .footer .footer-menu {
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;            /* <<< 0 px od levého okraje */
    text-align: left !important;
  }
  .footer .footer-menu li {
    margin: var(--ft-row-gap) 0 0 0 !important;
    padding: 0 !important;
  }
  .footer .footer-menu li:first-child { margin-top: 0 !important; }
  .footer .footer-menu a {
    display: block !important;
    width: 100% !important;
    padding: 6px 8px 6px 0 !important; /* žádné levé odsazení */
    text-align: left !important;
    text-decoration: none;
    font-size: 50px !important;
  }

  /* Adresa – také bez levých odsazení */
  .footer address.address {
    display: block;
    margin: 0 !important;
    padding-left: 0 !important;       /* <<< 0 px od levého okraje */
    font-style: normal;
    line-height: 1.6;
    text-align: left !important;
  }
  .footer address.address strong { display: block; margin-top: 4px; }
  .footer address.address i { margin: 0 6px 0 8px; }

  /* Spodní lišta – full-bleed už výše, jen vlevo zarovnat */
  .footer .footer-bottom .container {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;  /* doleva */
    gap: 8px !important;
    text-align: left !important;
    padding-top: 16px;
    padding-bottom: 16px;
  }
}

/* Newsletter section (≤1024px) — full-bleed, 0 px okraje L/R */
@media (max-width: 1024px) {
  /* Cílíme bezpečně jen na tuhle sekci s newsletterem */
  section.content-section.no-spacing:has(.newsletter-box) .container {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;  /* vytáhne na okraj vlevo */
    margin-right: calc(50% - 50vw) !important; /* a vpravo */
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Zruš standardní gridové okraje uvnitř */
  section.content-section.no-spacing:has(.newsletter-box) .row {
    margin-left: 70px !important;
    margin-right: 70px !important;
  }
  section.content-section.no-spacing:has(.newsletter-box) [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Obrázek v patičce boxu ať nepřetéká */
  section.content-section.no-spacing:has(.newsletter-box) .newsletter-image img {
    display: block;
    max-width: 100%;
    height: auto;
  }
}

/* Schovat konkrétní recent-news (REO + SMT) na ≤1024 px */
@media (max-width: 1024px) {
  /* schovej samotný box */
  .container .row .col-12 > .recent-news:has(figure img[src*="recent-reo.png"]),
  .container .row .col-12 > .recent-news:has(figure img[src*="recent-smt.png"]) {
    display: none !important;
  }

  /* a schovej i wrapper .col-12, ať tam není prázdné místo */
  .container .row .col-12:has(> .recent-news:has(figure img[src*="recent-reo.png"])),
  .container .row .col-12:has(> .recent-news:has(figure img[src*="recent-smt.png"])) {
    display: none !important;
  }
}

/* =====================================
   PAGE HEADER (≤1024px) – layout & typografie
   ===================================== */
@media (max-width: 1024px) {
  :root{
    --ph-top: 160px;   /* horní odsazení headeru (kvůli velkému burgeru) */
    --ph-side: 70px;   /* postranní vnitřní odsazení textu */
  }

  /* Kontejner na celou šířku, ale s příjemným vnitřním paddingem */
  header.page-header {
    position: relative;
    min-height: 60vh;
    display: flex;
    align-items: flex-start;
    background-color: #2a2a47;     /* fallback barva, když se nestihne background */
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    padding: var(--ph-top) var(--ph-side) 28px var(--ph-side) !important;
    color: #fff;
    isolation: isolate;            /* pro overlay */
  }



  header.page-header > .container {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 100%;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Headline – větší, bez ručních <br> na mobilu */
  header.page-header h1 {
    margin: 0 0 14px 0 !important;
    font-size: 58px !important;
    line-height: 1.45 !important;
    letter-spacing: .2px;
    margin-top: 180px !important;
  }
  header.page-header h1 br { display: none; }  /* skrýt ruční <br> na mobilu */

  /* Perex / text pod nadpisem */
  header.page-header .p-header {
    max-width: 70ch;
    font-size: 34px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
  }
}

/* ==== MOBILE BRAND OVERLAY (logo vlevo nahoře, jen ≤1024 px) ==== */
@media (max-width: 1024px) {
  /* vždy viditelné logo nad obsahem, pod burgerem */
  #mobile-brand{
    position: fixed;
    top: calc(16px + env(safe-area-inset-top));
    left: -70px !important;
    z-index: 3950;                 /* burger má 4000 → logo je pod ním, ale nad vším ostatním */
    display: inline-block;
    line-height: 0;
    pointer-events: auto;
    -webkit-tap-highlight-color: transparent;
  }
  #mobile-brand img{
    display: block;
    height: 220px;                  /* uprav dle potřeby (třeba 48px) */
    width: auto;
    max-height: 220px;
    filter: none !important;
    mix-blend-mode: normal !important;
  }

  /* přestaň schovávat logo přes obecné selektory tématu */
  .navbar .logo, .site-header .logo, .header .logo, .navbar .brand { visibility: visible !important; opacity: 1 !important; }
}
/* nad 1024 px mobilní overlay vůbec neukazuj */
@media (min-width: 1025px) {
  #mobile-brand { display: none !important; }
}

/* Content section (≤1024px): image 0px, text 70px + nastavitelné fonty/řádkování */
@media (max-width: 1024px) {
  /* --- Proměnné pro rychlé ladění --- */
  section.content-section:has(.side-image.left-half) {
  
    --cs-font-size: 40px;    /* velikost odstavců/listů */
    --cs-line-height: 1.6;   /* řádkování odstavců/listů */
    --cs-h3-size: 60px;      /* velikost <h3> */
    --cs-h3-lh: 1.25;        /* řádkování <h3> */
  }

  /* full-bleed container */
  section.content-section:has(.side-image.left-half) > .container {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* zruš mezery gridu */
  section.content-section:has(.side-image.left-half) .row { margin: 0 !important; }
  section.content-section:has(.side-image.left-half) [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* obrázek přesně na hranu (0 px) */
  section.content-section:has(.side-image.left-half) .side-image { margin: 0 !important; padding: 0 !important; }
  section.content-section:has(.side-image.left-half) .side-image img {
    display: block;
    width: 100% !important;
    height: auto;
    margin: 0 !important;
  }

  /* textové bloky – odsazení zleva 70 px (proměnná) */
  section.content-section:has(.side-image.left-half) .side-arts,
  section.content-section:has(.side-image.left-half) .titles {
    margin: 0 !important;
    padding: 0 !important;
    padding-left: 35px !important;
    padding-right: 35px !important;
  }

  /* typografie – nastavitelné velikosti a řádkování */
  section.content-section:has(.side-image.left-half) .titles p,
  section.content-section:has(.side-image.left-half) .titles li {
    font-size: var(--cs-font-size) !important;
    line-height: var(--cs-line-height) !important;
    margin: 0 0 1em 0 !important;
  }

  section.content-section:has(.side-image.left-half) .titles h3 {
    font-size: var(--cs-h3-size) !important;
    line-height: var(--cs-h3-lh) !important;
    margin: 0 0 14px 0 !important;
  }

  /* pro jistotu sjednoť prvky uvnitř h3 */
  section.content-section:has(.side-image.left-half) .titles h3 a,
  section.content-section:has(.side-image.left-half) .titles h3 b,
  section.content-section:has(.side-image.left-half) .titles h3 strong {
    font-size: inherit !important;
    line-height: inherit !important;
  }
}

/* Key People (≤1024px): full-bleed + 3 v jedné linii, 0 px okraje, bez „cik-cak“ */
@media (max-width: 1024px) {
  /* full-bleed container pro sekci s kartami lidí */
  section.content-section:has(.row.justify-content-center.text-center) > .container {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
   
  }

  /* grid: přesně 3 sloupce, bez mezer */
  section.content-section .row.justify-content-center.text-center {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;                 /* 0 px mezi kartami */
    margin: 10px !important;
    justify-items: stretch !important; /* každá karta vyplní buňku */
  }

  /* zruš bootstrap okraje/paddingy na sloupcích */
  section.content-section .row.justify-content-center.text-center > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* karta: bez okrajů, výška podle obsahu; vypnout posuny/parallax uvnitř */
  section.content-section .row.justify-content-center.text-center .image-content-box {
    margin: 0 !important;
    padding: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
    transform: none !important;
  }
  section.content-section .row.justify-content-center.text-center .image-content-box [data-scroll],
  section.content-section .row.justify-content-center.text-center .image-content-box [data-scroll-speed],
  section.content-section .row.justify-content-center.text-center .image-content-box[style*="transform"],
  section.content-section .row.justify-content-center.text-center .image-content-box *[style*="transform"] {
    transform: none !important;
  }

  /* figure & img bez mezer a přes celou buňku na šířku */
  section.content-section .row.justify-content-center.text-center .image-content-box figure {
    margin: 0 !important;
    padding: 0 !important;
  }
  section.content-section .row.justify-content-center.text-center .image-content-box figure img {
    display: block;
    width: 100%;
    height: auto;
  }

  /* obsah karty bez dodatečných okrajů */
  section.content-section .row.justify-content-center.text-center .image-content-box .content-box {
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Hide footer-bottom on mobile/tablet (≤1024px) */
@media (max-width: 1024px) {
  footer .footer-bottom,
  .footer .footer-bottom,
  .footer-bottom {
    display: none !important;
  }
}

/* =====================================
   PAGE HEADER (≤445px) – layout & typografie
   ===================================== */
@media (max-width: 445px) {
  :root{
    --ph-top: 0px;   /* horní odsazení headeru (kvůli velkému burgeru) */
    --ph-side: 0px;   /* postranní vnitřní odsazení textu */
  }

  /* Kontejner na celou šířku, ale s příjemným vnitřním paddingem */
  header.page-header {
    position: relative;
    min-height: 60vh;
    display: flex;
    align-items: flex-start;
    background-color: #2a2a47;     /* fallback barva, když se nestihne background */
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    padding-top: 130px !important;
   
    color: #fff;
    isolation: isolate;            /* pro overlay */
  }



  header.page-header > .container {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 100%;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Headline – větší, bez ručních <br> na mobilu */
  header.page-header h1 {
    margin: 0 0 10px 0 !important;
    font-size: 28px !important;
    line-height: 1.45 !important;
    margin-top: 180px !important;
    margin-left: 46px !important;
    margin-right: 10px !important;
  }
  header.page-header h1 br { display: none; }  /* skrýt ruční <br> na mobilu */

  /* Perex / text pod nadpisem */
  header.page-header .p-header {
    max-width: 70ch;
    font-size: 18px !important;
    line-height: 1.6 !important;
    margin: 46px !important;
  }
}

 /* === CSS-only burger + drawer === */
  #mm-root{position:relative;z-index:3500}

  /* BURGER: 3× větší + (52px od topu = +20 navíc), vpravo +20 */
  #mm-root .mm-btn{
    position:fixed;
    top:calc(52px + env(safe-area-inset-top));
    right:calc(32px + env(safe-area-inset-right));
    width:32px;height:32px;display:flex;align-items:center;justify-content:center;
    background:rgba(42,42,71,0.95);border:0;border-radius:999px;
    box-shadow:0 2px 10px rgba(0,0,0,.25);z-index:4000;cursor:pointer
  }
  #mm-root .mm-btn svg{display:block;width:84px;height:84px}
  #mm-root .mm-btn svg path{stroke:var(--mm-primary)!important;transition:none}

  /* Drawer/overlay */
  #mm-root .mm-drawer{position:fixed;inset:0;z-index:3500;pointer-events:none}
  #mm-root .mm-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity .2s ease;pointer-events:none}

  /* PANEL: full-screen od vršku (žádné odsazení nahoře) */
  #mm-root .sheet{
    position:absolute;top:0;right:0;bottom:0;left:0;
    width:100vw;background:var(--mm-header-bg);color:#fff;
    transform:translateX(100%);transition:transform .25s ease;will-change:transform;
    display:flex;flex-direction:column;padding:180px 70px
  }

  /* Schovej header v šuplíku úplně (logo/křížek nepoužíváme) */
  #mm-root .sheet-header{display:none!important}
  #mm-root .mm-logo{display:none!important}
  #mm-root .mm-close{display:none!important}

  /* ODKAZY – primární barva + větší řádkování
     Aplikuj odsazení 50px jen na seznam odkazů */
  #mm-root .mm-list{list-style:none;margin:0;padding:calc(50px + env(safe-area-inset-top)) 0 0 0}
  #mm-root .mm-list li{margin:0;padding:0}
  #mm-root .mm-list a{
    display:block;padding:18px 8px;
    color:var(--mm-primary);text-decoration:none;
    font-size:36px;line-height:1.5
  }
  #mm-root .mm-list a:hover{text-decoration:none;filter:brightness(1.08)}

  /* OTEVŘENÝ STAV: povol kliky  */
  #mm-root #mm-toggle:checked ~ .mm-drawer{pointer-events:auto!important}
  #mm-root #mm-toggle:checked ~ .mm-drawer .mm-overlay{opacity:1!important;pointer-events:auto!important}
  #mm-root #mm-toggle:checked ~ .mm-drawer .sheet{transform:translateX(0)!important}
  #mm-root #mm-toggle:checked ~ .mm-drawer .mm-list a{
    font-size:20px!important;              /* 2× větší po vyjetí */
    padding:0px 0px!important;
    line-height:1.5!important
  }
  
/* ===============================
   Horizontal section → vertical stack (≤445px)
   Specificky jen pro .horizontal-scroll
   =============================== */
@media (max-width: 445px) {
  :root { --hs-gap: 30px; } /* mezera mezi kartami */

  /* Odstav horizontální režim a pinování */
  .horizontal-scroll {
    position: static !important;
    overflow: visible !important;
    height: auto !important;
  }

  .horizontal-scroll .scroll-inner {
    display: block !important;
    width: auto !important;
    white-space: normal !important;
    transform: none !important;
  }

  .horizontal-scroll .scroll-wrapper {
    display: block !important;
    width: auto !important;
    transform: none !important;
    margin: 0 0 var(--hs-gap) 0 !important; /* mezera mezi „řádky“ */
  }

  /* Bootstrap grid uvnitř slož vertikálně */
  .horizontal-scroll .container-fluid {
    font-size: 18px;
    padding-left: 46px !important;
  }
  .horizontal-scroll .row {
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important; /* jeden sloupec */
    gap: var(--hs-gap) !important;
  }
  .horizontal-scroll .col-md-4 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
  }

  /* Karty/obsah na plnou šířku */
  .horizontal-scroll figure.image-box {
    width: 100% !important;
    margin: 0 !important;
  }
  .horizontal-scroll .text-slide {
    /* nechávám neutrální typografii – uprav si dle brandu */
    line-height: 1.6;
  }

  /* Zruš veškeré posuny/parallax jen uvnitř této sekce */
  .horizontal-scroll [data-scroll],
  .horizontal-scroll [data-scroll-speed],
  .horizontal-scroll [data-scroll-direction],
  .horizontal-scroll [style*="transform"] {
    transform: none !important;
  }

  /* Pokud knihovny vložily spacery/piny */
  .horizontal-scroll .pin-spacer,
  .horizontal-scroll .spacer {
    height: auto !important;
    width: auto !important;
  }
}

  
/* === HACK: vždy ukaž logo nad page-header obrazem (subpages) === */

/* 1) Navigaci (a logo) dej nad všechno */
body:not(.home) .navbar,
body:not(.home) .site-header,
body:not(.home) .header.site-header {
  position: fixed;        /* nebo relative, ale fixed spolehlivě sedí na vršku */
  top: 0; left: 0; right: 0;
  z-index: 10050 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* 2) Samotné logo ještě o kousek výš pro jistotu */
body:not(.home) .navbar .logo,
body:not(.home) .site-header .logo,
body:not(.home) .navbar .brand {
  position: relative;
  z-index: 10060 !important;
  visibility: visible !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

/* 3) Page header drž ve vrstvě pod navigací */
body:not(.home) header.page-header {
  position: relative;
  z-index: 1 !important;       /* pod navem */
}
body:not(.home) header.page-header::before {
  /* pokud máš tmavý overlay přes obrázek, nenech ho chytat kliky */
  pointer-events: none !important;
  z-index: 0 !important;
}

/* (volitelné) stejné i pro mobilní šířky, kdybys chtěl cílit jen ≤1024
@media (max-width:1024px){
  .navbar, .site-header, .header.site-header{ z-index:10050 !important; position:fixed; }
  header.page-header{ z-index:1 !important; position:relative; }
  header.page-header::before{ pointer-events:none !important; z-index:0 !important; }
}
*/

/* =========================================
   HOMEPAGE SLIDER — TYPO OVERRIDES
   (funguje i když se liší názvy tříd)
   ========================================= */

/* ≤1024 px — základ pro mobily/tablety */
@media (max-width: 1024px) {
  :root{
    --sl-h1: clamp(36px, 6vw, 56px);
    --sl-h2: clamp(28px, 4.5vw, 40px);
    --sl-body: clamp(18px, 2.6vw, 22px);
    --sl-btn: 18px;
    --sl-lh-head: 1.2;
    --sl-lh-body: 1.55;
    --sl-sidepad: 20px;     /* bezpečné vnitřní odsazení textu po stranách */
  }

  /* Cílíme široce na textové elementy uvnitř slideru */
  .slider .swiper-slide h1,
  .slider .swiper-slide .h1,
  .slider .slide-title,
  .slider .titles h1,
  .slider .section-title h1 {
    font-size: var(--sl-h1) !important;
    line-height: var(--sl-lh-head) !important;
    margin-left: 30px !important;
  }

  .slider .swiper-slide h2,
  .slider .swiper-slide .h2,
  .slider .titles h2,
  .slider .section-title h2,
  .slider .subtitle,
  .slider .caption-title {
    font-size: var(--sl-h2) !important;
    line-height: var(--sl-lh-head) !important;
    margin: 0 0 .4em 0 !important;
  }

  .slider .swiper-slide p,
  .slider .lead,
  .slider .caption,
  .slider .slide-text,
  .slider .section-title p {
    font-size: var(--sl-body) !important;
    line-height: var(--sl-lh-body) !important;
    margin-left: 30px !important;
  }

  /* Tlačítka v rámci slideru */
  .slider .custom-button,
  .slider a.btn,
  .slider .btn {
    font-size: var(--sl-btn) !important;
    line-height: 1.2 !important;
    padding: 12px 18px !important;
  }

  /* Bezpečné postranní odsazení pro textové kontejnery slideru */
  .slider .swiper-slide .container,
  .slider .swiper-slide .content,
  .slider .slide-content,
  .slider .titles,
  .slider .section-title {
    padding-left: var(--sl-sidepad) !important;
    padding-right: var(--sl-sidepad) !important;
  }
}

/* ≤600 px — menší telefony */
@media (max-width: 600px) {
  :root{
    --sl-h1: clamp(28px, 7vw, 40px);
    --sl-h2: clamp(22px, 5.5vw, 30px);
    --sl-body: clamp(16px, 3.2vw, 18px);
    --sl-btn: 16px;
    --sl-sidepad: 16px;
  }
}

/* ≤360 px — ultra small */
@media (max-width: 445px) {
  :root{
    --sl-h1: 24px;
    --sl-h2: 10px;
    --sl-body: 16px;
    --sl-btn: 15px;
    --sl-sidepad: 0px;
  }
}

/* ============================================
   Investment approach → full-bleed text (≤445px)
   Text na 0px od levého okraje + žádné vnitřní odsazení
   ============================================ */
@media (max-width: 445px) {
  /* Cílíme na sekci buď přes speciální třídu,
     nebo automaticky přes :has(.side-arts .titles) */
  .content-section.investment-approach .container,
  section.content-section:has(.side-arts .titles) .container {
    /* full-bleed trik (přes okraje containeru) */
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0px !important;
    padding-right: 0 !important;
  }

  .content-section.investment-approach .row.g-0,
  section.content-section:has(.side-arts .titles) .row.g-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .content-section.investment-approach .col-lg-6,
  section.content-section:has(.side-arts .titles) .col-lg-6 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Obrázek bez mezer, na plnou šířku */
  .content-section.investment-approach .side-image,
  section.content-section:has(.side-arts .titles) .side-image {
    margin: 0 !important;
    padding: 0 !important;
  }
  .content-section.investment-approach .side-image img,
  section.content-section:has(.side-arts .titles) .side-image img {
    display: block;
    width: 100%;
    height: auto;
  }

  /* >>> TADY ZAJIŠŤUJEME 0 PX OD LEVÉHO OKRAJE <<< */
  .content-section.investment-approach .side-arts,
  .content-section.investment-approach .titles,
  section.content-section:has(.side-arts .titles) .side-arts,
  section.content-section:has(.side-arts .titles) .titles {
    
    margin-left: 20px !important;
    padding-left: 0px !important; 
    margin-right: 10px !important;           /* žádný vnitřní padding */
  }

  .content-section.investment-approach .titles p,
  section.content-section:has(.side-arts .titles) .titles p {
    font-size: 18px !important;
    margin-left: 46px !important;
    padding-top: 100px !important;
    padding-left: 0px !important;      /* 0 px od levého okraje textu */
    margin-right: 15px !important;
  }

  /* kdyby uvnitř byly další obálky (např. .text, .content, .copy) */
  .content-section.investment-approach .titles > *,
  section.content-section:has(.side-arts .titles) .titles > * {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  /* Bez mezer kolem figure/image-box (kdyby se použilo) */
  .content-section.investment-approach figure.image-box,
  section.content-section:has(.side-arts .titles) figure.image-box {
  
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }
}

/* Content section (≤445px): image 0px, text 20px + nastavitelné fonty/řádkování */
@media (max-width: 445px) {
  /* --- Proměnné pro rychlé ladění --- */
  section.content-section:has(.side-image.left-half) {
  
    --cs-font-size: 20px;    /* velikost odstavců/listů */
    --cs-line-height: 1.6;   /* řádkování odstavců/listů */
    --cs-h3-size: 20px;      /* velikost <h3> */
    --cs-h3-lh: 1.25;        /* řádkování <h3> */
  }

/* ===============================
   FOOTER mobile fallback (≤445px) — FULL-BLEED LEFT (0 px)
   - Sloupce pod sebe
   - Vlevo zarovnané
   - 2× velikost (škáluj přes --ft-scale)
   - Kontejnery přes celou šířku viewportu (0 px zleva i zprava)
   =============================== */
@media (max-width: 445px) {
  :root {
    --ft-gap: 24px;
    --ft-row-gap: 10px;
    --ft-scale: 2; /* 2× větší text */
  }

  .footer {
    font-size: 20px !important;
    line-height: 1.6;
    text-align: left !important;
  }

  /* FULL-BLEED: patičkové kontejnery přes celý viewport bez paddingu */
  .footer .container,
  .footer .footer-bottom .container {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Sloupce → pod sebe, roztáhnout na šířku */
  .footer .row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: var(--ft-gap) !important;
    margin: 0 !important;
    justify-items: stretch !important;
  }

  /* Zrušit boční paddingy sloupců */
  .footer [class*="col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 46px !important;
    padding-right: 0 !important;
    text-align: left !important;
  }

  .footer .widget-title {
    margin: 0 0 8px 0 !important;
    font-weight: 700;
    padding-left: 0 !important;
    font-size: 20px !important;
  }

  /* Menu – žádné vnitřní odsazení, odkazy blokově na plnou šířku */
  .footer .footer-menu {
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;            /* <<< 0 px od levého okraje */
    text-align: left !important;
  }
  .footer .footer-menu li {
    margin: var(--ft-row-gap) 0 0 0 !important;
    padding: 0 !important;
    
    
  }
  .footer .footer-menu li:first-child { margin-top: 0 !important; }
  .footer .footer-menu a {
    display: block !important;
    width: 100% !important;
    padding: 6px 8px 6px 0 !important; /* žádné levé odsazení */
    text-align: left !important;
    text-decoration: none;
    font-size: 28px !important;
  }

  /* Adresa – také bez levých odsazení */
  .footer address.address {
    display: block;
    margin: 0 !important;
    padding-left: 0 !important;       /* <<< 0 px od levého okraje */
    font-style: normal;
    line-height: 1.6;
    text-align: left !important;
  }
  .footer address.address strong { display: block; margin-top: 4px; }
  .footer address.address i { margin: 0 6px 0 8px; }

  /* Spodní lišta – full-bleed už výše, jen vlevo zarovnat */
  .footer .footer-bottom .container {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;  /* doleva */
    gap: 8px !important;
    text-align: left !important;
    padding-top: 16px;
    padding-bottom: 16px;
  }
}

/* Key People (≤445px): full-bleed + 3 v jedné linii, 0 px okraje, bez „cik-cak“ */
@media (max-width: 445px) {
  /* full-bleed container pro sekci s kartami lidí */
  section.content-section:has(.row.justify-content-center.text-center) > .container {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    font-size: 10px !important;   
  }
  
  .image-content-box .content-box h3 {
  width: 100%;
  display: block;
  font-size: 14px;
  font-family: 'Inter', sans;
  margin-bottom: 10px;
  margin-top: 10px !important;
}

.image-content-box .content-box p {
  width: 100%;
  display: block;
  margin: 0;
  opacity: 1;
  color: #858585;
  line-height: 170%;
  font-size: 10px;
}

  /* grid: přesně 3 sloupce, bez mezer */
  section.content-section .row.justify-content-center.text-center {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0px !important;                 /* 0 px mezi kartami */
    margin: 0px !important;
    justify-items: stretch !important; /* každá karta vyplní buňku */
  }

  /* zruš bootstrap okraje/paddingy na sloupcích */
  section.content-section .row.justify-content-center.text-center > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* karta: bez okrajů, výška podle obsahu; vypnout posuny/parallax uvnitř */
  section.content-section .row.justify-content-center.text-center .image-content-box {
    margin: 0 !important;
    padding: 5px !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
    transform: none !important;
    
  }
  section.content-section .row.justify-content-center.text-center .image-content-box [data-scroll],
  section.content-section .row.justify-content-center.text-center .image-content-box [data-scroll-speed],
  section.content-section .row.justify-content-center.text-center .image-content-box[style*="transform"],
  section.content-section .row.justify-content-center.text-center .image-content-box *[style*="transform"] {
    transform: none !important;
  }

  /* figure & img bez mezer a přes celou buňku na šířku */
  section.content-section .row.justify-content-center.text-center .image-content-box figure {
    margin: 0 !important;
    padding: 0 !important;
  }
  section.content-section .row.justify-content-center.text-center .image-content-box figure img {
    display: block;
    width: 100%;
    height: auto;
  }

  /* obsah karty bez dodatečných okrajů */
  section.content-section .row.justify-content-center.text-center .image-content-box .content-box {
    margin: 0 !important;
    padding: 0 !important;
  }
}




