/* matyas-hajek.cz — zakladni frontend styly */

/* ---- webfonty: Novela Poster (plugin) + Urban Grotesk (uploads/webfonts, jako wwworks.cz) ---- */
@font-face {
    font-family: 'Novela Poster';
    src: url('../fonts/novela/novela-poster-webfont.eot');
    src: url('../fonts/novela/novela-poster-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/novela/novela-poster-webfont.woff2') format('woff2'),
         url('../fonts/novela/novela-poster-webfont.woff') format('woff'),
         url('../fonts/novela/novela-poster-webfont.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Novela Poster';
    src: url('../fonts/novela/novela-posteritalic-webfont.eot');
    src: url('../fonts/novela/novela-posteritalic-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/novela/novela-posteritalic-webfont.woff2') format('woff2'),
         url('../fonts/novela/novela-posteritalic-webfont.woff') format('woff'),
         url('../fonts/novela/novela-posteritalic-webfont.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    /* pravy Regular (ReBo-Regular) — soubor 32E024_2_0 byl ve skutecnosti Light! */
    font-family: 'Urban Grotesk';
    src: url('/wp-content/uploads/webfonts/ug-rebo-regular.woff2') format('woff2'),
         url('/wp-content/uploads/webfonts/ug-rebo-regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Urban Grotesk';
    src: url('/wp-content/uploads/webfonts/ug-rebo-italic.woff2') format('woff2'),
         url('/wp-content/uploads/webfonts/ug-rebo-italic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Urban Grotesk';
    src: url('/wp-content/uploads/webfonts/ug-rebo-bolditalic.woff2') format('woff2'),
         url('/wp-content/uploads/webfonts/ug-rebo-bolditalic.woff') format('woff');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Urban Grotesk';
    src: url('/wp-content/uploads/webfonts/32E024_1_0.eot');
    src: url('/wp-content/uploads/webfonts/32E024_1_0.eot?#iefix') format('embedded-opentype'),
         url('/wp-content/uploads/webfonts/32E024_1_0.woff2') format('woff2'),
         url('/wp-content/uploads/webfonts/32E024_1_0.woff') format('woff'),
         url('/wp-content/uploads/webfonts/32E024_1_0.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Urban Grotesk';
    src: url('/wp-content/uploads/webfonts/32E024_3_0.eot');
    src: url('/wp-content/uploads/webfonts/32E024_3_0.eot?#iefix') format('embedded-opentype'),
         url('/wp-content/uploads/webfonts/32E024_3_0.woff2') format('woff2'),
         url('/wp-content/uploads/webfonts/32E024_3_0.woff') format('woff'),
         url('/wp-content/uploads/webfonts/32E024_3_0.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Urban Grotesk';
    src: url('/wp-content/uploads/webfonts/32E024_0_0.eot');
    src: url('/wp-content/uploads/webfonts/32E024_0_0.eot?#iefix') format('embedded-opentype'),
         url('/wp-content/uploads/webfonts/32E024_0_0.woff2') format('woff2'),
         url('/wp-content/uploads/webfonts/32E024_0_0.woff') format('woff'),
         url('/wp-content/uploads/webfonts/32E024_0_0.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

/* Fixni pattern tecek: okraje vlevo/vpravo bez tecek + horni pruh (menu) bez tecek */
body::before {
    content: '';
    position: fixed;
    top: 86px;
    /* tecky konci presne na linii obsahu (boxed 1440 + padding 40) */
    left: max(40px, calc((100vw - 1440px) / 2));
    right: max(40px, calc((100vw - 1440px) / 2));
    bottom: 0;
    z-index: -1;
    pointer-events: none;
    background-image: radial-gradient(circle at 1.4px 1.4px, rgba(17, 17, 17, .20) 1.4px, transparent 1.4px);
    background-size: 24px 24px;
}
body {
    background: #fff;
}

/* Plnobarevny blok pod texty — text nikdy primo na teckach */
.mh-block-bila,
.mh-bily-blok {
    background: #fff;
}

/* Bila plocha tesne pod kickery a nadpisy (obepina text jako v navrhu) */
.mh-bila-pod .elementor-heading-title,
.mh-bila-pod p {
    display: inline-block;
    background: #fff;
    padding: 2px 22px 2px 0;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
.mh-bila-pod-stred .elementor-heading-title,
.mh-bila-pod-stred p {
    display: inline-block;
    background: #fff;
    padding: 2px 18px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

/* Maly nadtitulek (kicker) */
.mh-kicker {
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: 13px;
}

/* Hlavicka: fixni pozici + bile pozadi po skrolu (.scrolled-wx) dodava site snippet
   v custom-css-js; horni pruh je bez tecek (tecky zacinaji az pod nim) */
.elementor-location-header {
    background: #fff;
    transition: background .25s ease, box-shadow .25s ease;
}
.elementor-location-header.scrolled-wx {
    box-shadow: 0 1px 0 rgba(0, 0, 0, .08);
}
/* Titulka: menu v hlavicce az po skrolu */
body.home .elementor-location-header:not(.scrolled-wx) .elementor-widget-nav-menu {
    opacity: 0 !important;
    pointer-events: none !important;
}
.elementor-location-header .elementor-widget-nav-menu {
    transition: opacity .25s ease;
}

/* Logo v hlavicce: "archiv" obrysem, objevi se az po skrolu */
.mh-logo-archiv {
    color: transparent;
    -webkit-text-stroke: 1.3px #c9c9c9;
    opacity: 0;
    transition: opacity .3s ease;
}
.scrolled-wx .mh-logo-archiv {
    opacity: 1;
}

/* Odkazy v patičce (cerny blok) — body zvysuje specificitu nad kit */
body .mh-footer a {
    color: #fff;
    text-decoration: underline;
}
body .mh-footer a:hover {
    color: #C83E4D;
}

/* Boxy Vikendovek: cely box je odkaz — kurzor + jemny hover */
.e-con[href], a.e-con {
    cursor: pointer;
}

/* Hlavicka: kratsi mezery mezi polozkami menu */
.elementor-location-header .elementor-nav-menu--layout-horizontal .elementor-item {
    padding-left: 7px !important;
    padding-right: 7px !important;
}

/* Citaty: mensi svisle mezery mezi kartami */
#citaty .mh-grid-3 {
    gap: 12px !important;
    margin-top: 12px !important;
}

/* Cely box klikaci pres roztazeny odkaz nadpisu */
.mh-klik-cely {
    position: relative;
}
.mh-klik-cely .elementor-widget-heading a::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
}

/* Fotomozaika Zdroju na titulce: 4 sloupce, dlazdice stejneho pomeru, beze spar */
.mh-mozaika-grid .elementor-widget-image {
    width: 25%;
    flex: 0 0 25%;
}
.mh-mozaika-grid .elementor-widget-image img {
    width: 100%;
    aspect-ratio: 298 / 211;
    object-fit: cover;
    display: block;
}
@media (max-width: 767px) {
    .mh-mozaika-grid .elementor-widget-image {
        width: 50%;
        flex: 0 0 50%;
    }
}

/* Levé fotokarty na podstránce Zdrojů */
.mh-karta-foto {
    min-height: 420px;
    position: relative;
}
.mh-karta-foto .elementor-heading-title {
    color: #fff;
}
@media (max-width: 1024px) {
    .mh-karta-foto { min-height: 320px; }
}

/* Radky s obrazky/kartami: na mobilu pod sebe */
@media (max-width: 767px) {
    .mh-radek-obrazku {
        flex-direction: column !important;
    }
    .mh-radek-obrazku > .e-con-inner {
        flex-direction: column;
    }
}

/* Biblicka kotva — kompaktni, na prvni pohled viditelna citace Pisma,
   ke ktere se autor infografiky sam vztahuje */
.mh-pismo {
    background: #fff;
    border-left: 3px solid #D9294C;
    padding: 10px 16px 11px;
    margin: 18px 0 0;
    font-family: 'Novela Poster', Georgia, serif;
    font-weight: 900;
    font-style: italic;
    font-size: 16.5px;
    line-height: 1.4;
    color: #D9294C;
}
.mh-pismo-ref {
    display: inline-block;
    margin-left: 10px;
    font-family: 'Urban Grotesk', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 11.5px;
    letter-spacing: .06em;
    color: #8a857c;
    white-space: nowrap;
}
html.mh-dark .mh-pismo { background: #131313; }

/* rada vice kotev vedle sebe (napr. rytmy modlitby v Pisme) */
.mh-pismo-rada { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px; }
.mh-pismo-rada .mh-pismo { margin: 0; font-size: 14.5px; }
.mh-pismo-rada .mh-pismo-ref { display: block; margin: 4px 0 0; white-space: normal; }

/* Drobnejsi sekce Zdroje na infografikach */
.mh-prameny-nadpis {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin: 0 0 8px;
}
.mh-prameny [style*="display: grid"], .mh-prameny [style*="display:grid"] { gap: 6px 20px !important; }
.mh-prameny [style*="margin-top: 22px"] { margin-top: 4px !important; }
.mh-zdroje-mrizka { gap: 6px 20px !important; }
.mh-prameny { font-size: 12px !important; }
/* Zdroje maji zustat drobne bez ohledu na inline velikost z exportu */
.mh-prameny [style*="font-size"] { font-size: 12px !important; line-height: 1.4 !important; }
.mh-prameny .elementor-widget-text-editor { font-size: 12px !important; }
.mh-prameny li { font-size: 12px !important; }
.mh-zdroje-mrizka { font-size: 12px !important; }

/* Zpetna vazba k infografikam (boxik pod Zdroji) */
.mh-zv { margin: 0 0 26px; }
/* button.mh-zv-uvod: nutna vyssi specificita nez globalni styl tlacitek kitu */
.mh-zv button.mh-zv-uvod {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    text-align: left;
    background: #fff;
    border: 1px solid #111;
    border-radius: 5px;
    padding: 13px 18px;
    cursor: pointer;
    font: inherit;
    font-size: 14.5px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: normal;
    text-transform: none;
    /* globalni styl tlacitek kitu ma white-space:nowrap — text by se nezalomil
       a na mobilu si vynutil sirku ~700px (cela stranka se pak zmensi) */
    white-space: normal;
    color: #111;
}
.mh-zv button.mh-zv-uvod:hover { border-color: #C83E4D; background: #fff; color: #111; }
.mh-zv.je-otevreny .mh-zv-uvod { border-radius: 5px 5px 0 0; }
.mh-zv-ikona {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #C83E4D;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.mh-zv-text { font-size: 14.5px; line-height: 1.4; white-space: normal; min-width: 0; }
.mh-zv-form {
    background: #fff;
    border: 1px solid #111;
    border-top: 0;
    border-radius: 0 0 5px 5px;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.mh-zv-form label {
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-size: 13px;
    font-weight: 700;
}
.mh-zv-form textarea,
.mh-zv-form input[type="email"],
.mh-zv-form input[type="text"]:not(.mh-zv-hp) {
    font: inherit;
    font-size: 14px;
    font-weight: 400;
    padding: 8px 10px;
    border: 1px solid #b3b3b3;
    border-radius: 3px;
    background: #fff;
    color: inherit;
}
.mh-zv-radek { display: flex; gap: 14px; flex-wrap: wrap; }
.mh-zv-radek label { flex: 1 1 220px; }
.mh-zv-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.mh-zv-form button[type="submit"] {
    align-self: flex-start;
    background: #C83E4D;
    color: #fff;
    border: 0;
    border-radius: 3px;
    padding: 9px 24px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.mh-zv-form button[type="submit"]:hover { background: #a8323f; }
.mh-zv-form button[type="submit"]:disabled { opacity: .6; cursor: default; }
.mh-zv-stav { font-size: 13px; color: #C83E4D; }
.mh-zv-dik { margin: 0; font-weight: 700; color: #0F7345; }
html.mh-dark .mh-zv-uvod,
html.mh-dark .mh-zv-form { background: #131313; border-color: #3a3a3a; color: #f2f2f2; }
html.mh-dark .mh-zv-form textarea,
html.mh-dark .mh-zv-form input[type="email"],
html.mh-dark .mh-zv-form input[type="text"]:not(.mh-zv-hp) { background: #1b1b1b; border-color: #3a3a3a; color: #f2f2f2; }

/* RSG citace: v tmavem rezimu svetly text (widget i inline zdroje maji #111111) */
html.mh-dark .mh-rsg-citace .elementor-widget-text-editor { color: #f2f2f2 !important; }
html.mh-dark .mh-rsg-citace [style*="color:#111111"] { color: #a5a19a !important; }

/* Modlitby: tucny jednoradkovy nazev tesne u textu modlitby */
.mh-modlitba-sloupec p:has(> strong:first-child) { margin-bottom: 2px; }

/* BK: prvni infografika (mapa) pres dva sloupce, text vlevo uzsi */
.mh-bk-mapa-radek > .e-con-inner > .e-con:first-child { flex: 0 0 32%; min-width: 0; }
.mh-bk-mapa-radek > .e-con-inner > .e-con:last-child { flex: 1 1 0; min-width: 0; }
@media (max-width: 767px) {
    .mh-bk-mapa-radek > .e-con-inner > .e-con { flex: 0 0 auto; }
}

/* Mensi tlacitka v sekci Hudba (tri vedle sebe se musi vejit) */
#hudba .elementor-button {
    font-size: 14px;
    padding: 6px 16px;
}


/* Mini paticka na podstrankach */
.mh-footer-mini {
    min-height: 40px;
}
body .mh-footer-mini a {
    color: #fff;
    text-decoration: none;
    font-family: 'Novela Poster', serif;
    font-size: 18px;
}
body .mh-footer-mini a:hover {
    color: #C83E4D;
}

/* Vnitrni odsazeni textu v kartach Hudby a Vikendovek (obrazek zustava na krev) */
#hudba .mh-bily-blok .elementor-widget-text-editor,
#vikendovky .mh-bily-blok .elementor-widget-text-editor,
#vikendovky .mh-bily-blok .elementor-widget-heading {
    padding-left: 18px;
    padding-right: 18px;
}

/* ---- kompaktnejsi tlacitka + responzivni radky tlacitek ---- */
/* plna tlacitka: neviditelny 1px ramecek, aby mela stejnou vysku jako obrysova */
body a.elementor-button {
    border: 1px solid transparent;
}
/* text pilulky se nelame — misto toho se zalamuji cela tlacitka v radku */
.elementor-button .elementor-button-text {
    white-space: nowrap;
}
.mh-radek-tlacitek {
    flex-wrap: wrap;
}
@media (max-width: 520px) {
    body .elementor-button {
        padding: 8px 20px;
        font-size: 15px;
    }
}

/* ---- responzivni mrizky (Elementor 4 negeneruje sirky child kontejneru;
        boxed kontejnery mají děti v .e-con-inner) ---- */
.mh-grid-3 > .e-con, .mh-grid-3 > .e-con-inner > .e-con,
.mh-grid-4 > .e-con, .mh-grid-4 > .e-con-inner > .e-con,
.mh-grid-5 > .e-con, .mh-grid-5 > .e-con-inner > .e-con,
.mh-grid-6 > .e-con, .mh-grid-6 > .e-con-inner > .e-con {
    flex: 1 1 0;
    min-width: 0;
}
@media (max-width: 1024px) {
    .mh-grid-3, .mh-grid-4, .mh-grid-5, .mh-grid-6,
    .mh-grid-3 > .e-con-inner, .mh-grid-4 > .e-con-inner, .mh-grid-5 > .e-con-inner, .mh-grid-6 > .e-con-inner { flex-wrap: wrap; }
    .mh-grid-3 > .e-con, .mh-grid-3 > .e-con-inner > .e-con,
    .mh-grid-4 > .e-con, .mh-grid-4 > .e-con-inner > .e-con,
    .mh-grid-5 > .e-con, .mh-grid-5 > .e-con-inner > .e-con { flex: 1 1 44%; min-width: 44%; }
    .mh-grid-6 > .e-con, .mh-grid-6 > .e-con-inner > .e-con { flex: 1 1 30%; min-width: 30%; }
}
@media (max-width: 640px) {
    .mh-grid-3 > .e-con, .mh-grid-3 > .e-con-inner > .e-con,
    .mh-grid-4 > .e-con, .mh-grid-4 > .e-con-inner > .e-con,
    .mh-grid-5 > .e-con, .mh-grid-5 > .e-con-inner > .e-con { flex-basis: 100%; min-width: 100%; }
    .mh-grid-6 > .e-con, .mh-grid-6 > .e-con-inner > .e-con { flex: 1 1 44%; min-width: 44%; }
}

/* Napad Zastaveni nad dopisem: odkazy ke stazeni PDF s ikonkou obalky */
.mh-nap-stazeni a {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 10px;
    font-weight: 700;
    text-decoration: none;
    color: inherit;
}
.mh-nap-stazeni a:hover { text-decoration: underline; }
.mh-nap-stazeni img { height: 30px; width: auto; display: block; }

/* Napad Web mladeze: radky s fotkou vlevo a textem vpravo (zrcadlo segmentu);
   radek bez fotky = text pres celou sirku */
.mh-nap-web-radek .mh-nap-seg-foto { flex: 0 0 46%; display: block; }
.mh-pop-popis .mh-nap-web-h2 {
    margin: 34px 0 4px;
    font-family: 'Novela Poster', Georgia, serif;
    font-weight: 900;
    font-size: 27px;
    line-height: 1.15;
}
.mh-pop-popis .mh-nap-web-h2:first-child { margin-top: 8px; }
.mh-nap-web-radek .mh-nap-seg-text { flex: 1 1 0; width: auto; min-width: 0; }
.mh-nap-web-ceka {
    display: inline-block;
    background: #b7b3ac;
    color: #fff;
    border-radius: 999px;
    padding: 8px 20px;
    font-size: 15px;
    font-weight: 700;
    cursor: default;
}
html.mh-dark .mh-nap-web-ceka { background: #3a3a3a; color: #8f8b84; }
@media (max-width: 700px) {
    /* na mobilu nadpis kroku nad fotku */
    .mh-nap-web-radek { flex-direction: column-reverse; }
}

/* Vikendovky: pas ikonek hodnoceni pod ctvercovou fotkou.
   SVG je navrzene bile (+modre akcenty) pro tmavy podklad — ve svetlem
   rezimu prebarvit na cerno (brightness(0) zachova tvary i alfu). */
.mh-vik-hodnoceni { display: block; width: 100%; height: auto; margin: 6px 0 2px; filter: brightness(0); }
html.mh-dark .mh-vik-hodnoceni { filter: none; }

/* =====================================================================
   TMAVY REZIM (html.mh-dark) — cilene overridy, obrazky zustavaji
   ===================================================================== */
html.mh-dark {
    background: #131313;
}
html.mh-dark body {
    background: transparent;
}
html.mh-dark body::before {
    background-image: radial-gradient(circle at 1.6px 1.6px, rgba(255, 255, 255, .55) 1.6px, transparent 1.6px);
    background-size: 26px 26px; /* tmavy rezim drzi puvodni mrizku (svetla ma od 17. 8. 24px) */
    opacity: .5;
}
html.mh-dark .elementor-heading-title,
html.mh-dark h1, html.mh-dark h2, html.mh-dark h3,
html.mh-dark h4, html.mh-dark h5, html.mh-dark h6 {
    color: #f2f2f2;
}
html.mh-dark .elementor-widget-text-editor,
html.mh-dark body {
    color: #d6d6d6;
}
html.mh-dark .mh-kicker {
    color: #d6d6d6;
}
html.mh-dark .mh-bila-pod p,
html.mh-dark .mh-bila-pod-stred p {
    color: #d6d6d6;
}
html.mh-dark .mh-bily-blok,
html.mh-dark .mh-block-bila {
    background: #131313 !important;
    border-color: #3a3a3a !important;
}
html.mh-dark .mh-bila-pod .elementor-heading-title,
html.mh-dark .mh-bila-pod p,
html.mh-dark .mh-bila-pod-stred .elementor-heading-title,
html.mh-dark .mh-bila-pod-stred p {
    background: #131313;
}
html.mh-dark .elementor-location-header {
    background: #131313;
}
html.mh-dark .elementor-location-header.scrolled-wx {
    background: #131313 !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .12);
}
html.mh-dark .elementor-location-header .elementor-heading-title,
html.mh-dark .elementor-location-header .elementor-item {
    color: #f2f2f2 !important;
}
html.mh-dark .elementor-button {
    background-color: #f2f2f2 !important;
    color: #131313 !important;
    border-color: #f2f2f2 !important;
}
html.mh-dark .elementor-button:hover {
    background-color: #C83E4D !important;
    color: #fff !important;
}
html.mh-dark a { color: inherit; }

/* hrad na tmave */
html.mh-dark .vh-wrap { background: #131313; }
html.mh-dark .vh-svg [fill="#111"] { fill: #e3e3e3; }
html.mh-dark .vh-icon svg circle { stroke: #e3e3e3; }
html.mh-dark .vh-icon svg path { fill: #e3e3e3; }
html.mh-dark .vh-badge circle { fill: #131313; }
html.mh-dark .vh-badge.vh-aktiv circle { fill: #f2f2f2; }
html.mh-dark .vh-badge.vh-aktiv text { fill: #131313; }
html.mh-dark .vh-specifika { color: #bdbdbd; }
html.mh-dark .vh-citaty blockquote { color: #b5b5b5; }

/* mobilni menu (custom-css-js dava bile pozadi) */
html.mh-dark .elementor-nav-menu--dropdown:not(.sub-menu),
html.mh-dark .menu-item {
    background: #131313 !important;
}

/* obsah zacina pod fixni hlavickou */
body {
    padding-top: 86px;
}

/* ---- prepinac rezimu (pilulka v hlavicce dle navrhu) ---- */
/* body + !important prebiji kit styly pro <button> */
body .mh-mode-prepinac {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: 56px;
    height: 28px;
    padding: 0 5px !important;
    border: 1.5px solid #111 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #111 !important;
    font-size: 14px;
    cursor: pointer;
    line-height: 1;
}
.mh-mode-prepinac .mh-mode-tecka {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #111;
    flex: 0 0 auto;
    transition: transform .25s ease, background .25s ease;
}
.mh-mode-prepinac .mh-mode-ikona,
.mh-mode-prepinac .mh-mode-mesic {
    font-size: 14px;
    color: #111;
    flex: 0 0 auto;
    transition: color .25s ease, transform .25s ease;
}
/* svetly rezim: mesicek; tmavy rezim: slunicko */
.mh-mode-prepinac .mh-mode-ikona::before,
.mh-mode-prepinac .mh-mode-mesic::before {
    content: '\263E'; /* ☾ */
}
html.mh-dark .mh-mode-prepinac .mh-mode-ikona::before,
html.mh-dark .mh-mode-prepinac .mh-mode-mesic::before {
    content: '\2600'; /* ☀ */
}
html.mh-dark body .mh-mode-prepinac {
    border-color: #f2f2f2 !important;
    background: transparent !important;
}
html.mh-dark .mh-mode-prepinac .mh-mode-tecka {
    background: #f2f2f2;
    transform: translateX(26px);
}
html.mh-dark .mh-mode-prepinac .mh-mode-ikona,
html.mh-dark .mh-mode-prepinac .mh-mode-mesic {
    color: #f2f2f2;
    transform: translateX(-21px);
}

/* ==== 3h punch list ==== */
/* hlavicka zarovnana s obsahem (logo vlevo, prepinac vpravo na linii obsahu) */
.mh-header {
    padding-left: max(40px, calc((100vw - 1440px) / 2)) !important;
    padding-right: max(40px, calc((100vw - 1440px) / 2)) !important;
}
/* logo SVG */
.mh-logo svg { height: 34px; width: auto; display: block; }
html.mh-dark .mh-logo svg path { fill: #f2f2f2; }
/* hrad: brana v tmavem */
html.mh-dark .vh-svg .vh-brana path[fill="white"] { fill: #131313; }
html.mh-dark .vh-svg .vh-brana path[fill="#7527C9"] { fill: #9b5de5; }
/* banner Zdroju: tlacitko H+V na stredu pres obrazek */
.mh-banner { position: relative; }
.mh-banner .elementor-widget-button {
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    width: 100% !important; height: 100% !important;
    z-index: 3;
    display: flex !important; align-items: center !important; justify-content: center !important;
    pointer-events: none;
    margin: 0 !important;
}
.mh-banner .elementor-widget-button .elementor-button { pointer-events: auto; }
/* tipy na kazani: vetsi nahled, mensi mezera */
.mh-tip { gap: 8px !important; }
.mh-tip > .e-con:first-child,
.mh-tip > .e-con-inner > .e-con:first-child { flex: 0 0 46%; min-width: 46%; }
/* reveal animace (BK infografiky) */
.mh-reveal img { clip-path: inset(0 100% 0 0); }
.mh-reveal.mh-visible img { animation: mh-odkryti 1.8s ease .1s forwards; }
@keyframes mh-odkryti { to { clip-path: inset(0 0 0 0); } }
/* hodiny (Hra s minutami): ciferník dle MinutesClock z design systemu */
.mh-hodiny svg { width: 100%; max-width: 610px; height: auto; display: block; margin: 0 auto; }
.mh-hodiny { flex: 1 1 auto; }
.mh-min-bok { flex: 0 1 320px; }
@media (max-width: 767px) {
    .mh-min-bok { flex: 1 1 auto; }
}
/* kdy hrat: mrizka 12 momentu dne s ikonami */
.mh-momenty {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 34px;
    font-size: 15px;
    line-height: 1.45;
}
.mh-momenty .mh-mom { display: flex; gap: 13px; align-items: flex-start; }
.mh-momenty .mh-mom svg { flex: 0 0 auto; margin-top: 1px; }
html.mh-dark .mh-momenty .mh-mom svg { stroke: #e3e3e3; }
html.mh-dark .mh-hodiny .mh-cif { fill: #e3e3e3; }
html.mh-dark .mh-hodiny .mh-ik { stroke: #e3e3e3; }
html.mh-dark .mh-hodiny .mh-ruc { fill: #e3e3e3; }
@media (max-width: 900px) {
    .mh-momenty { grid-template-columns: 1fr; }
}
/* kdy hrat: ciselne odznaky kroku (1-3 usili fialove, 4-7 dar cervene) */
.mh-krok {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: 1.7px solid;
    border-radius: 50%;
    font-weight: 700;
    font-size: 14px;
    margin-right: 10px;
    flex: 0 0 auto;
}
.mh-krok-u { color: #6C3BF4; border-color: #6C3BF4; }
.mh-krok-d { color: #D9294C; border-color: #D9294C; }
.mh-legenda p { margin: 6px 0; }
.mh-legenda .mh-zn { display: inline-block; width: 20px; }

/* banner: bez vnitrnich odsazeni, at je tlacitko presne na stredu obrazku */
.mh-banner, .mh-banner > .e-con-inner { padding: 0 !important; gap: 0 !important; }
.mh-banner .elementor-widget-image { margin: 0; }

/* hlavicka: logo | menu na stred | prepinac vpravo */
.mh-header .elementor-widget-nav-menu { flex: 1 1 auto; width: auto; }
.mh-header .elementor-widget-html { flex: 0 0 auto; width: auto; }
.mh-header .elementor-nav-menu--layout-horizontal .elementor-nav-menu { justify-content: center; }

/* SVG infografiky pres celou sirku bloku */
.mh-svg-siroke img, .mh-reveal img { width: 100%; height: auto; }
/* klikaci cely box: overlay pres jakykoli odkaz v boxu */
.mh-klik-cely a::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 5;
}
/* banner: vnitrni obal tlacitka se roztahuje na 100 % — centrovat i uvnitr */
.mh-banner .elementor-widget-button .elementor-widget-container {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
}

/* Stranka talku: uzsi centrovany sloupec textu pro citelnost */
.mh-talk-text {
    max-width: 860px;
    width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Dvousloupcovy radek (uvod talku): rovnomerne deleni, na mobilu pod sebe */
.mh-grid-2 > .e-con, .mh-grid-2 > .e-con-inner > .e-con {
    flex: 1 1 0;
    min-width: 0;
}
@media (max-width: 900px) {
    .mh-grid-2, .mh-grid-2 > .e-con-inner { flex-wrap: wrap; }
    .mh-grid-2 > .e-con, .mh-grid-2 > .e-con-inner > .e-con { flex-basis: 100%; min-width: 100%; }
}

/* Kontejnery renderovane jako odkaz (cele klikaci boxy) — bez podtrzeni, dedit barvy */
a.e-con, a.e-con:hover {
    text-decoration: none;
    color: inherit;
}

/* Mini paticka: bile logo misto textu MH */
.mh-footer-mini .mh-logo-mini { display: inline-flex; align-items: center; }
.mh-footer-mini .mh-logo-mini svg { height: 15px; width: auto; display: block; }

/* ---- Stranka talku (wireframe Zalm 1): levy text + pravy pruh slidu ---- */
.mh-talk-radek > .e-con:first-child,
.mh-talk-radek > .e-con-inner > .e-con:first-child {
    flex: 1 1 0;
    min-width: 0;
}
.mh-talk-radek > .e-con:last-child,
.mh-talk-radek > .e-con-inner > .e-con:last-child {
    flex: 0 0 380px;
    min-width: 0;
}
@media (max-width: 1024px) {
    .mh-talk-radek, .mh-talk-radek > .e-con-inner { flex-wrap: wrap; }
    .mh-talk-radek > .e-con:first-child, .mh-talk-radek > .e-con-inner > .e-con:first-child,
    .mh-talk-radek > .e-con:last-child, .mh-talk-radek > .e-con-inner > .e-con:last-child {
        flex-basis: 100%;
    }
}

/* Karta slidu v pravem pruhu (jako wireframe: bily ramecek, popisek SLIDE NN) */
.mh-slide-karta {
    border-radius: 10px;
}
.mh-slide-karta img {
    width: 100%;
    display: block;
    border-radius: 4px;
    cursor: zoom-in;
}
/* Mini nahledy: dve karty vedle sebe, kdyz je slidu k odstavci vic */
.mh-pp-mini, .mh-pp-mini > .e-con-inner { flex-wrap: wrap; }
.mh-pp-mini > .e-con, .mh-pp-mini > .e-con-inner > .e-con {
    flex: 0 0 calc(50% - 6px);
    min-width: calc(50% - 6px);
}

/* ---- Citace: 4 typy boxu s levym borderem a pastelovou vyplni ----
   bible #D9294C/#FFEEF1 · ostatni #1659D8/#F2F5FD ·
   modlitba #EAB43B/#FFFAEE · vlastni pribeh #0F7345/#F0FAF5
   (barvy nastavuje builder na kontejneru; tady typografie + odsazeni) */
.mh-cit-bible, .mh-cit-jina, .mh-cit-modlitba, .mh-cit-pribeh {
    border-radius: 0 10px 10px 0;
    /* odsazeni boxu od leve hrany sloupce */
    margin-left: 40px !important;
    width: calc(100% - 40px) !important;
}
@media (max-width: 767px) {
    .mh-cit-bible, .mh-cit-jina, .mh-cit-modlitba, .mh-cit-pribeh {
        margin-left: 18px !important;
        width: calc(100% - 18px) !important;
    }
}
.mh-cit-bible p, .mh-cit-jina p, .mh-cit-modlitba p, .mh-cit-pribeh p {
    font-style: italic;
}
.mh-cit-bible .mh-cit-odkaz p, .mh-cit-jina .mh-cit-odkaz p,
.mh-cit-modlitba .mh-cit-odkaz p, .mh-cit-pribeh .mh-cit-odkaz p {
    font-style: normal;
    font-family: 'Novela Poster', serif;
    font-weight: bold;
    font-size: 15px;
    margin-top: 8px;
}
.mh-cit-bible .mh-cit-odkaz p { color: #D9294C; }
.mh-cit-jina .mh-cit-odkaz p { color: #1659D8; }
.mh-cit-modlitba .mh-cit-odkaz p { color: #EAB43B; }
.mh-cit-pribeh .mh-cit-odkaz p { color: #0F7345; }

/* Dark rezim: pastelove vyplne ztmavit, bordery a barvy zdroju zustavaji */
html.mh-dark .mh-cit-bible, html.mh-dark .mh-cit-jina,
html.mh-dark .mh-cit-modlitba, html.mh-dark .mh-cit-pribeh {
    background: #1d1d1d !important;
}

/* Titulni blok talku na mobilu: sloupce pod sebe.
   Bez toho si tri sloupce vynuti minimalni sirku ~718px a prohlizec
   celou stranku zmensi (layoutovy viewport misto 390px vyskoci na 718px). */
@media (max-width: 767px) {
    .mh-ready-titul,
    .mh-ready-titul > .e-con-inner {
        flex-direction: column !important;
        flex-wrap: wrap !important;
    }
    .mh-ready-motyl, .mh-ready-nadpis, .mh-ready-obsah {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .mh-ready-motyl { max-width: 150px !important; }
    /* radky kapitol taky pod sebe */
    .mh-talk-radek,
    .mh-talk-radek > .e-con-inner { flex-direction: column !important; }
    .mh-talk-radek > .e-con-inner > .e-con { width: 100% !important; flex: 0 0 auto !important; }
}

/* =====================================================================
   Talk Steady: infografiky v textu — plna (neinteraktivni) a nahledovka
   ===================================================================== */
.mh-nahled-obr { display: block; cursor: zoom-in; line-height: 0; }
.mh-nahled-obr img { display: block; width: 100%; height: auto; }
.mh-info-plna .mh-nahled-obr img { border: 1px solid #e3e0da; }
.mh-info-nahled .mh-nahled-obr,
.mh-rail-nahled .mh-nahled-obr {
    border: 1px solid #ddd9d2;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.mh-info-nahled .mh-nahled-obr:hover,
.mh-rail-nahled .mh-nahled-obr:hover {
    border-color: #C83E4D;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .12);
}
/* nahledovka v levem sloupci je zamerne mensi nez plna infografika */
.mh-info-nahled .mh-nahled-obr { max-width: 620px; }
/* Na mobilu je siroky diagram v plne sirce necitelny. Vynucovat mu sirku ale nejde
   (SVG bez pevne vysky se sesype na 2px a rozsiri layoutovy viewport), takze
   zustava v sirce sloupce a ke cteni slouzi lightbox — s viditelnou vyzvou. */
@media (max-width: 767px) {
    .mh-info-plna .mh-nahled-obr { position: relative; }
    .mh-info-plna .mh-nahled-obr::after {
        content: 'Klepnutím zvětšíte';
        position: absolute;
        right: 6px;
        bottom: 6px;
        background: rgba(17, 17, 17, .82);
        color: #fff;
        border-radius: 999px;
        padding: 4px 10px;
        font-family: 'Urban Grotesk', sans-serif;
        font-size: 10.5px;
        font-weight: 700;
        pointer-events: none;
    }
    /* Text v CSS neprochazi prekladacem (neni v DOM), takze se preklada tady.
       Pozor: zadna kontrola stazeneho HTML ho nenajde — viz tools/audit-jazyku.py. */
    html[lang="en"] .mh-info-plna .mh-nahled-obr::after { content: 'Tap to enlarge'; }
    html[lang="de"] .mh-info-plna .mh-nahled-obr::after { content: 'Zum Vergrößern tippen'; }
}
html.mh-dark .mh-info-plna .mh-nahled-obr img,
html.mh-dark .mh-info-nahled .mh-nahled-obr,
html.mh-dark .mh-rail-nahled .mh-nahled-obr { border-color: #3a3a3a; background: #f7f5f1; }
@media (max-width: 767px) {
    .mh-info-nahled .mh-nahled-obr { max-width: none; }
}

/* =====================================================================
   Kratke shrnuti talku (AJAX pop-up) — text vlevo, miniatury vpravo
   ===================================================================== */
.mh-shrnuti-obal { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
body a.mh-pdf-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: #111;
    color: #fff;
    border: 1.5px solid #111;
    border-radius: 999px;
    padding: 9px 20px;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 14.5px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}
body a.mh-pdf-btn:hover { background: #C83E4D; border-color: #C83E4D; color: #fff; }
body a.mh-pdf-btn svg { width: 16px; height: 16px; flex: 0 0 auto; }
html.mh-dark body a.mh-pdf-btn { background: #f2f2f2; color: #131313; border-color: #f2f2f2; }
html.mh-dark body a.mh-pdf-btn:hover { background: #C83E4D; border-color: #C83E4D; color: #fff; }
body button.mh-shrnuti-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: #fff;
    color: #111;
    border: 1.5px solid #111;
    border-radius: 999px;
    padding: 9px 20px;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 14.5px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: background .18s ease, color .18s ease;
}
body button.mh-shrnuti-btn:hover { background: #C83E4D; border-color: #C83E4D; color: #fff; }
body button.mh-shrnuti-btn svg { width: 16px; height: 16px; flex: 0 0 auto; }
html.mh-dark body button.mh-shrnuti-btn { background: #131313; color: #f2f2f2; border-color: #f2f2f2; }
html.mh-dark body button.mh-shrnuti-btn:hover { background: #C83E4D; border-color: #C83E4D; color: #fff; }

.mh-pop-panel.mh-shr-panel { width: min(980px, 100%); padding: 44px 52px 38px; }
.mh-shr-hlava {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
body a.mh-shr-pdf {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    background: #111;
    color: #fff;
    border: 1px solid #111;
    border-radius: 999px;
    padding: 8px 18px;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease;
}
body a.mh-shr-pdf:hover { background: #C83E4D; border-color: #C83E4D; color: #fff; }
body a.mh-shr-pdf svg { width: 15px; height: 15px; flex: 0 0 auto; }
html.mh-dark body a.mh-shr-pdf { background: #f2f2f2; color: #131313; border-color: #f2f2f2; }
html.mh-dark body a.mh-shr-pdf:hover { background: #C83E4D; border-color: #C83E4D; color: #fff; }

.mh-shr-panel .mh-shr-titul {
    margin: 4px 0 6px;
    font-family: 'Novela Poster', Georgia, serif !important;
    font-weight: 900 !important;
    font-size: 40px !important;
    line-height: 1.05 !important;
}
.mh-shr-panel .mh-shr-uvod {
    margin: 0 0 22px;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 13.5px;
    font-style: italic;
    color: #6f6a61;
}
.mh-shr-blok {
    display: flex;
    gap: 26px;
    align-items: flex-start;
    padding: 15px 0 14px;
    border-top: 1px solid #e3e0da;
}
.mh-shr-text { flex: 1 1 0; min-width: 0; }
.mh-shr-obraz { flex: 0 0 148px; }
.mh-shr-panel .mh-shr h3 {
    display: flex;
    align-items: baseline;
    gap: 9px;
    margin: 0 0 7px;
    font-family: 'Novela Poster', Georgia, serif !important;
    font-weight: 900 !important;
    font-size: 19px !important;
    line-height: 1.15 !important;
}
.mh-shr-cislo {
    flex: 0 0 auto;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #D9294C;
}
.mh-shr-panel .mh-shr ul { margin: 0; padding-left: 17px; }
.mh-shr-panel .mh-shr li {
    margin: 0 0 5px;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 13.5px;
    line-height: 1.5;
}
.mh-shr li::marker { color: #b7b3ac; }
.mh-shr-zaver {
    padding: 15px 0 4px;
    border-top: 1px solid #e3e0da;
}
.mh-shr-panel .mh-shr-zaver p {
    margin: 0 0 6px;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 13.5px;
    line-height: 1.5;
}
.mh-shr-pata {
    margin: 16px 0 0;
    padding-top: 12px;
    border-top: 1px solid #e3e0da;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 12.5px;
    color: #6f6a61;
}
/* miniatura infografiky = odkaz na kapitolu v textu talku */
.mh-shr-nahled { display: block; text-decoration: none; color: inherit; }
.mh-shr-nahled-obr {
    display: block;
    background: #fff;
    border: 1px solid #ddd9d2;
    border-radius: 8px;
    padding: 6px;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.mh-shr-nahled img { display: block; width: 100%; height: 84px; object-fit: contain; }
.mh-shr-nahled-popis {
    display: block;
    margin-top: 5px;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 10.5px;
    line-height: 1.3;
    color: #6f6a61;
}
.mh-shr-nahled:hover .mh-shr-nahled-obr {
    border-color: #C83E4D;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .1);
    transform: translateY(-2px);
}
.mh-shr-nahled:hover .mh-shr-nahled-popis { color: #C83E4D; }
html.mh-dark .mh-shr-uvod, html.mh-dark .mh-shr-pata, html.mh-dark .mh-shr-nahled-popis { color: #a5a19a; }
html.mh-dark .mh-shr-blok, html.mh-dark .mh-shr-zaver, html.mh-dark .mh-shr-pata { border-color: #3a3a3a; }
html.mh-dark .mh-shr-nahled-obr { background: #f7f5f1; border-color: #3a3a3a; }
@media (max-width: 767px) {
    .mh-shr-panel { padding: 38px 22px 30px; }
    .mh-shr-blok { flex-direction: column; gap: 12px; }
    .mh-shr-obraz { flex: 0 0 auto; width: 148px; }
    .mh-shr-titul { font-size: 30px; }
}
/* Tisk otevreneho shrnuti: jen panel, vejde se na jednu A4 */
@media print {
    html.mh-pop-blok body > *:not(.mh-shr-pozadi) { display: none !important; }
    .mh-shr-pozadi { position: static !important; display: block !important; background: none !important; padding: 0 !important; }
    .mh-shr-panel {
        width: auto !important; max-height: none !important; overflow: visible !important;
        padding: 0 !important; box-shadow: none !important;
    }
    .mh-shr-pozadi .mh-pop-zavrit { display: none !important; }
    /* pri sirce A4 (703px) by se jinak zapnul mobilni breakpoint a miniatury
       by spadly pod text — v tisku drzime radkove rozlozeni */
    .mh-shr-blok { flex-direction: row !important; gap: 16px !important; }
    .mh-shr-obraz { flex: 0 0 104px !important; width: 104px !important; }
    .mh-shr-panel .mh-shr-titul { font-size: 32px !important; margin: 2px 0 4px !important; }
    .mh-shr .mh-pop-kicker { margin: 0 0 4px; }
    .mh-shr-panel .mh-shr h3 { font-size: 18px !important; margin-bottom: 4px; }
    .mh-shr-panel .mh-shr li,
    .mh-shr-panel .mh-shr-zaver p { font-size: 12.5px; line-height: 1.4; }
    .mh-shr-panel .mh-shr li { margin-bottom: 3px; }
    .mh-shr-panel .mh-shr-zaver p { margin-bottom: 5px; }
    .mh-shr-blok, .mh-shr-zaver { padding: 7px 0 6px; break-inside: avoid; }
    .mh-shr-obraz { flex: 0 0 122px !important; width: 122px !important; }
    .mh-shr-nahled img { height: 72px; }
    .mh-shr-nahled-popis { font-size: 10px; }
    .mh-shr-uvod, .mh-shr-pata, .mh-shr-pdf { display: none !important; }
    @page { size: A4 portrait; margin: 12mm; }
}

/* ---- Tisk / PDF verze stranky talku (Text s obrazky) ---- */
@media print {
    .elementor-location-header, .elementor-location-footer,
    .mh-mode-prepinac, .elementor-widget-button { display: none !important; }
    body::before { display: none !important; }
    body { padding-top: 0 !important; background: #fff !important;
        -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .mh-talk-radek, .mh-talk-radek > .e-con-inner { flex-wrap: nowrap !important; }
    .mh-talk-radek > .e-con:first-child, .mh-talk-radek > .e-con-inner > .e-con:first-child {
        flex: 1 1 0 !important; min-width: 0 !important; }
    .mh-talk-radek > .e-con:last-child, .mh-talk-radek > .e-con-inner > .e-con:last-child {
        flex: 0 0 200px !important; min-width: 0 !important; }
    .mh-bily-blok, .mh-slide-karta { break-inside: avoid; }
    a { color: inherit !important; text-decoration: none !important; }
    /* sablony pri tisku pripisuji za odkazy jejich URL — vypnout */
    a::after, a[href]::after { content: none !important; }
}

/* Scenky pro deti: nahled videa s ikonou prehravani (klik vede na video) */
.mh-scenka-nahled { position: relative; }
.mh-scenka-nahled .elementor-widget-container::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 62px;
    height: 62px;
    transform: translate(-50%, -50%);
    background: rgba(17, 17, 17, .72);
    border: 2px solid rgba(255, 255, 255, .9);
    border-radius: 50%;
    pointer-events: none;
    transition: background .2s ease;
}
.mh-scenka-nahled .elementor-widget-container::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-38%, -50%);
    border-style: solid;
    border-width: 12px 0 12px 20px;
    border-color: transparent transparent transparent #fff;
    z-index: 2;
    pointer-events: none;
}
.mh-scenka-nahled:hover .elementor-widget-container::after {
    background: rgba(200, 62, 77, .85);
}
.mh-scenka-nahled img { display: block; width: 100%; }

/* ---- Citaty: filtrovatelna mrizka + lightbox ----
   tecka = oblast: zachrana cervena, zivot zelena, bonus zluta, bolest fialova, revitalizace modra */
.mh-citat-filtry { display: flex; flex-direction: column; gap: 8px; margin: 14px 0 20px; }
.mh-citat-filtr { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.mh-citat-filtr-nazev {
    font-size: 11.5px;
    letter-spacing: .1em;
    color: #6E6E6E;
    background: #fff;
    padding: 2px 8px;
}
/* chipy prebijeji kit styly holych <button> (barvy, lowercase, vysku) */
button.mh-chip {
    font-family: inherit !important;
    font-size: 11.5px !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    padding: 3px 11px !important;
    min-height: 0 !important;
    height: auto !important;
    background: #fff !important;
    border: 1px solid #111 !important;
    border-radius: 999px !important;
    color: #111 !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}
button.mh-chip:hover { background: #f0f0f0 !important; }
button.mh-chip.je-aktivni { background: #111 !important; color: #fff !important; }
.mh-citat-mrizka {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
@media (max-width: 1024px) { .mh-citat-mrizka { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .mh-citat-mrizka { grid-template-columns: 1fr; } }
.mh-citat {
    background: #fff;
    border: 1px solid #DDD;
    padding: 14px 18px;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.mh-citat:hover, .mh-citat:focus-visible { border-color: #111; box-shadow: 0 2px 0 rgba(0,0,0,.06); outline: none; }
.mh-citat-hlava { margin: 0 0 6px; font-size: 14px; display: flex; align-items: baseline; gap: 8px; }
.mh-citat-stitky { margin-left: auto; display: flex; flex-wrap: wrap; gap: 4px; justify-content: flex-end; }
.mh-citat-stitek {
    font-size: 10px;
    line-height: 1;
    color: #6E6E6E;
    border: 1px solid #d9d9d9;
    border-radius: 999px;
    padding: 3px 8px;
    white-space: nowrap;
}
.mh-citat-tecka {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex: 0 0 auto;
    transform: translateY(.5px);
}
.mh-citat-nahled {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.55;
    color: #111111;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.mh-citat-pata {
    margin: 8px 0 0;
    font-size: 12px;
    color: #55524d;
    display: flex;
    justify-content: space-between;
    gap: 10px;
}
.mh-citat-vic { color: #C83E4D; white-space: nowrap; }
/* modal */
.mh-modal-prekryv {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(17, 17, 17, .55);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.mh-modal {
    background: #fff;
    max-width: 720px;
    width: 100%;
    max-height: 82vh;
    overflow: auto;
    padding: 28px 32px 22px;
    position: relative;
    border-radius: 4px;
}
.mh-modal-zavrit {
    position: absolute;
    top: 10px;
    right: 14px;
    border: 0;
    background: none;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    color: #111;
}
.mh-modal-hlava { margin: 0 0 12px; font-size: 15px; display: flex; align-items: baseline; gap: 8px; }
.mh-modal-text { font-size: 15px; line-height: 1.7; }
.mh-modal-text p { margin: 0 0 12px; }
.mh-modal-zdroj { margin: 14px 0 0; font-size: 13px; color: #6E6E6E; }
/* dark */
html.mh-dark .mh-citat, html.mh-dark .mh-modal { background: #131313; border-color: #3a3a3a; }
html.mh-dark .mh-citat-nahled { color: #c9c9c9; }
html.mh-dark button.mh-chip { background: #131313 !important; color: #e3e3e3 !important; border-color: #e3e3e3 !important; }
html.mh-dark button.mh-chip.je-aktivni { background: #e3e3e3 !important; color: #131313 !important; }
html.mh-dark .mh-citat-stitek { border-color: #3a3a3a; color: #9a9a9a; }
html.mh-dark .mh-citat-filtr-nazev { background: #131313; }
html.mh-dark .mh-modal-zavrit { color: #e3e3e3; }

/* ---- Tmavy rezim exportovanych infografickych sekci (.mh-mdis) ----
   Exporty maji bila pozadi a barvy inline; prepiname pres CSS promenne
   (nejblizsi definice vyhrava nad :root) + attribute selektory na inline styl. */
html.mh-dark .mh-mdis {
    color: #f2f2f2;
    --ink: #f2f2f2;
    --paper: #131313;
    --gray-1: #c9c5be;
    --gray-2: #a5a19a;
    --gray-3: #a5a19a;
    --gray-4: #a5a19a;
}
/* akcentni tokeny: na tmavem pozadi jsou puvodni odstiny necitelne (kontrast < 3)
   — svetlejsi varianta tehoz tonu; nastaveno i na html kvuli strankam bez .mh-mdis */
html.mh-dark,
html.mh-dark .mh-mdis {
    --info-blue: #7aa5ff;
    --info-purple: #b48aff;
    --info-green: #4fbf8b;
    --info-red: #ff6b83;
}
html.mh-dark .mh-mdis [style*="background: rgb(255, 255, 255)"] { background-color: #131313 !important; }
/* bily obal sekce Zdroje (prameny) — inline zapis #fff, obal je NAD .mh-mdis */
html.mh-dark [style*="background:#fff;padding:14px 20px 16px"],
html.mh-dark .mh-mdis [style*="background:#fff;padding:24px"] { background-color: #131313 !important; }
html.mh-dark .mh-mdis [style*="solid rgb(22, 21, 19)"] { border-color: #f2f2f2 !important; }
html.mh-dark .mh-mdis [style*="border: 1.2px solid rgb(227, 224, 218)"] { border-color: #3a3a3a !important; }
html.mh-dark .mh-mdis [style*="color: rgb(85, 82, 77)"] { color: #a5a19a !important; }

/* Citaty: jazykovy prepinac na urovni nadpisu Citaty (vpravo) */
#citaty { position: relative; }
#citaty button.mh-jazyk-prepinac { position: absolute; top: -72px; right: 0; margin: 0; }
@media (max-width: 767px) {
    #citaty button.mh-jazyk-prepinac { position: static; margin: 0; }
}

/* Citaty: jazykovy prepinac + limit 12 */
button.mh-jazyk-prepinac {
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    letter-spacing: .02em !important;
    padding: 6px 16px !important;
    min-height: 0 !important;
    height: auto !important;
    margin-left: auto !important;
    background: #111 !important;
    border: 1px solid #111 !important;
    border-radius: 999px !important;
    color: #fff !important;
    box-shadow: none !important;
    cursor: pointer;
}
button.mh-jazyk-prepinac.je-aktivni { background: #C83E4D !important; border-color: #C83E4D !important; }
button.mh-citat-jazyk {
    font-family: inherit !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: none !important;
    padding: 3px 7px !important;
    min-height: 0 !important;
    height: auto !important;
    background: #fff !important;
    border: 1px solid #bbb !important;
    border-radius: 999px !important;
    color: #6E6E6E !important;
    box-shadow: none !important;
    cursor: pointer;
    flex: 0 0 auto;
}
button.mh-citat-jazyk:hover { border-color: #111 !important; color: #111 !important; }
.mh-modal-jazyk { margin-left: auto; }
.mh-citat.je-skryty { display: none !important; }
.mh-citaty-dalsi-obal { text-align: center; margin: 22px 0 0; }
button.mh-citaty-dalsi {
    font-family: inherit !important;
    font-size: 14px !important;
    text-transform: none !important;
    padding: 9px 26px !important;
    background: #111 !important;
    border: 1px solid #111 !important;
    border-radius: 999px !important;
    color: #fff !important;
    cursor: pointer;
    transition: background .15s ease;
}
button.mh-citaty-dalsi:hover { background: #C83E4D !important; border-color: #C83E4D !important; }
html.mh-dark button.mh-citat-jazyk { background: #131313 !important; border-color: #555 !important; color: #9a9a9a !important; }
html.mh-dark button.mh-jazyk-prepinac { background: #e3e3e3 !important; border-color: #e3e3e3 !important; color: #131313 !important; }
html.mh-dark button.mh-jazyk-prepinac.je-aktivni { background: #C83E4D !important; border-color: #C83E4D !important; color: #fff !important; }

/* Hledani pokladu: chiasmus infografiky */
@keyframes mh-chfade { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.mh-ch-anim { position: relative; }
.mh-ch1-stred {
    position: absolute;
    left: 30.6%;
    top: 34.19%;
    width: 13.4%;
    height: 7.56%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    text-align: center;
}
.mh-ch-anim.je-videt .mh-ch1-stred { animation: mh-chfade .6s ease 3.15s both; }
/* Genesis 1: oriznuty prazdny diagram + popisky odkryvane tlacitkem */
.mh-gen1-ram { position: relative; overflow: hidden; width: 100%; aspect-ratio: 2.9204; background: #fff; }
.mh-gen1-ram > img { position: absolute; left: 0; top: -41.94%; width: 100%; max-width: none; }
.mh-gen1-popisky > div { position: absolute; opacity: 0; pointer-events: none; }
.mh-gen1.je-vyplnene .mh-gen1-popisky > div { animation: mh-chfade .4s ease both; }
.mh-gen1.je-vyplnene .mh-gen1-popisky > div:nth-child(1) { animation-delay: .05s; }
.mh-gen1.je-vyplnene .mh-gen1-popisky > div:nth-child(2) { animation-delay: .12s; }
.mh-gen1.je-vyplnene .mh-gen1-popisky > div:nth-child(3) { animation-delay: .19s; }
.mh-gen1.je-vyplnene .mh-gen1-popisky > div:nth-child(4) { animation-delay: .26s; }
.mh-gen1.je-vyplnene .mh-gen1-popisky > div:nth-child(5) { animation-delay: .33s; }
.mh-gen1.je-vyplnene .mh-gen1-popisky > div:nth-child(6) { animation-delay: .4s; }
.mh-gen1.je-vyplnene .mh-gen1-popisky > div:nth-child(7) { animation-delay: .5s; }
.mh-gen1.je-vyplnene .mh-gen1-popisky > div:nth-child(8) { animation-delay: .57s; }
.mh-gen1.je-vyplnene .mh-gen1-popisky > div:nth-child(9) { animation-delay: .64s; }
.mh-gen1.je-vyplnene .mh-gen1-popisky > div:nth-child(10) { animation-delay: .71s; }
.mh-gen1.je-vyplnene .mh-gen1-popisky > div:nth-child(11) { animation-delay: .78s; }
.mh-gen1.je-vyplnene .mh-gen1-popisky > div:nth-child(12) { animation-delay: .85s; }
.mh-gen1.je-vyplnene .mh-gen1-popisky > div:nth-child(13) { animation-delay: 1s; }
.mh-gen1:not(.je-vyplnene) .mh-gen1-extra { display: none !important; }
button.mh-gen1-tlacitko {
    cursor: pointer;
    border: none !important;
    border-radius: 999px !important;
    background: #D9294C !important;
    color: #fff !important;
    font-family: inherit !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: .01em !important;
    padding: 13px 28px !important;
    line-height: 1 !important;
    text-transform: none !important;
    box-shadow: none !important;
    transition: background .15s ease;
}
button.mh-gen1-tlacitko:hover { background: #BF2342 !important; }
.mh-gen1-napoveda { font-size: 14px; font-style: italic; color: #8a857c; }
/* ram diagramu Genesis 1 zustava i v tmavem rezimu SVETLY: vypln boxu v SVG
   je poloprusvitna a na tmavem podkladu zesedne, zatimco prekryvne popisky
   jsou vzdy tmave -> cely diagram byl necitelny */
html.mh-dark .mh-gen1-ram { background: #ffffff; }

/* Rozcestniky "Dalsi infografiky" / "Dalsi talky" na detailech */
.mh-rozc-nadpis {
    display: inline-block;
    background: #fff;
    padding: 4px 18px 4px 12px;
    margin: 0 0 14px;
    font-family: 'Novela Poster', Georgia, serif;
    font-size: 26px;
    line-height: 1.1;
    color: #111;
}
.mh-rozc-mrizka {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.mh-rozc-karta {
    background: #fff;
    padding: 12px 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-decoration: none;
    color: inherit;
}
.mh-rozc-karta img { width: 100%; height: auto; display: block; }
.mh-rozc-titul { font-weight: 700; font-size: 14.5px; line-height: 1.3; color: #111; }
.mh-rozc-autor, .mh-rozc-rok { font-size: 11.5px; color: #111111; letter-spacing: .04em; }
.mh-rozc-karta:hover .mh-rozc-titul, .mh-rozc-talk:hover .mh-rozc-titul { color: #C83E4D; }
.mh-rozc-talky {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}
.mh-rozc-talk {
    background: #fff;
    border: 1px solid #e3e3e3;
    border-radius: 5px;
    padding: 10px 12px 12px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    text-decoration: none;
    color: inherit;
}
.mh-rozc-talk .mh-rozc-titul { font-size: 13.5px; }
@media (max-width: 1024px) {
    .mh-rozc-talky { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .mh-rozc-mrizka { grid-template-columns: 1fr; }
    .mh-rozc-talky { grid-template-columns: 1fr; }
}
html.mh-dark .mh-rozc-nadpis, html.mh-dark .mh-rozc-karta, html.mh-dark .mh-rozc-talk { background: #131313; }
html.mh-dark .mh-rozc-nadpis, html.mh-dark .mh-rozc-titul { color: #f2f2f2; }
html.mh-dark .mh-rozc-talk { border-color: #3a3a3a; }
html.mh-dark .mh-ig-podle, html.mh-dark .mh-rozc-autor, html.mh-dark .mh-rozc-rok { color: #d6d6d6; }

/* Titulka: prekryvajici se kruhove portrety Zdroju (pozdejsi kruh lezi na predchozim) */
.mh-kruhy,
.mh-kruhy > .e-con-inner {
    width: 100%;
    flex-wrap: nowrap !important;
    gap: 0 !important;
}
.mh-kruhy .elementor-widget-image {
    flex: 0 0 14.95%;
    max-width: 14.95%;
    min-width: 0;
}
.mh-kruhy .elementor-widget-image + .elementor-widget-image {
    margin-left: -2.8%;
}
.mh-kruhy img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform .18s ease;
}
.mh-kruhy .elementor-widget-image:hover img {
    transform: scale(1.04);
}
/* Kotvy: cil skoku nesmi skoncit pod fixni hlavickou */
.e-con[id] {
    scroll-margin-top: 104px;
}

/* Hra s minutami: ZIVY cifernik — rotujici rucicka + moment dne ve stredu */
.mh-hodiny .mh-ik { stroke: #000; }
.mh-hodiny-zive {
    position: relative;
    max-width: 610px;
    margin: 0 auto;
}
.mh-hodiny-zive svg {
    width: 100%;
    height: auto;
    display: block;
}
.mh-hod-stred {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 57%;
    text-align: center;
    pointer-events: none;
}
.mh-hod-obsah {
    opacity: 1;
    transition: opacity .38s ease;
}
.mh-hod-obsah.mizi {
    opacity: 0;
}
.mh-hod-obsah > svg {
    width: 38px;
    height: 38px;
    margin: 0 auto 10px;
    display: block;
}
.mh-hod-nazev {
    font-family: 'Novela Poster', Georgia, serif;
    font-weight: 400;
    font-size: 27px;
    line-height: 1.08;
    color: #161513;
    margin: 0 0 8px;
}
.mh-hod-text {
    font-size: 15px;
    line-height: 1.5;
    color: #111111;
    margin: 0;
}
@media (max-width: 640px) {
    .mh-hod-nazev { font-size: 19px; }
    .mh-hod-text { font-size: 13px; }
    .mh-hod-obsah > svg { width: 26px; height: 26px; margin-bottom: 6px; }
}
html.mh-dark .mh-hod-nazev { color: #f2f2f2; }
html.mh-dark .mh-hod-text { color: #b9b9b9; }

/* Subtilni karty infografik (titulka i rozcestniky): nahled vlevo, titul + Podle vpravo */
/* nadpisy kategorii v rozcestniku infografik na titulce */
.mh-ig-kategorie {
    display: inline-block;
    background: #fff;
    padding: 3px 10px;
    margin: 26px 0 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #111;
}
.mh-rozc .mh-ig-kategorie:first-child { margin-top: 0; }
html.mh-dark .mh-ig-kategorie { background: #131313; color: #f2f2f2; }

.mh-ig-mrizka {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.mh-ig-karta {
    display: flex;
    align-items: stretch;
    background: #fff;
    border: 1px solid #111;
    border-radius: 5px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    height: 120px;
}
.mh-ig-obr {
    flex: 0 0 33%;
    max-width: 33%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mh-ig-obr img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* ikonove nahledy (pruhledne PNG): cely symbol viditelny, drobny vnitrni okraj */
.mh-ig-obr.mh-ig-ikona img {
    object-fit: contain;
    padding: 8px 6px;
    box-sizing: border-box;
}
.mh-ig-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    padding: 10px 14px;
    min-width: 0;
}
.mh-ig-titul {
    font-weight: 700;
    font-size: 15.5px;
    line-height: 1.25;
    color: #111;
}
.mh-ig-podle {
    font-weight: 400;
    font-size: 12px;
    color: #111111;
}
.mh-ig-karta:hover .mh-ig-titul { color: #C83E4D; }
@media (max-width: 1024px) {
    .mh-ig-mrizka { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .mh-ig-mrizka { grid-template-columns: 1fr; }
}
/* detailova sekce Dalsi infografiky — jeste kompaktnejsi karty */
.mh-rozc-dalsi { margin-top: 46px; }
.mh-rozc-dalsi .mh-ig-karta { height: 92px; }
.mh-rozc-dalsi .mh-ig-titul { font-size: 14px; }

html.mh-dark .mh-ig-karta { background: #131313; border-color: #3a3a3a; }
html.mh-dark .mh-ig-titul { color: #f2f2f2; }

/* Infograficke stranky BEMA: responsivni mrizky a tabulka */
.mh-ig-tabulka { -webkit-overflow-scrolling: touch; }
@media (max-width: 1024px) {
    .mh-ig-g3, .mh-ig-g4, .mh-ig-g5 { grid-template-columns: 1fr 1fr !important; }
    .mh-ig-g8 { grid-template-columns: repeat(4, 1fr) !important; row-gap: 22px !important; }
}
@media (max-width: 700px) {
    .mh-ig-radek { flex-direction: column !important; gap: 14px !important; }
    .mh-ig-radek > div { width: 100% !important; }
    .mh-ig-g2, .mh-ig-g3, .mh-ig-g4, .mh-ig-g5 { grid-template-columns: 1fr !important; }
    .mh-ig-g8 { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Ready/Steady/Go na titulce: vsechny nahledy stejne vysoke (vzor = prvni obrazek, pomer 730:670) */
.mh-revi-karta .elementor-widget-image img {
    width: 100%;
    aspect-ratio: 730 / 670;
    object-fit: contain;
    display: block;
}

/* Hudba: na desktopu max 4 pisne na radek (gap 26 → 3×26/4 = 19.5px na kartu) */
#hudba .mh-grid-4,
#hudba .mh-grid-4 > .e-con-inner {
    flex-wrap: wrap;
}
#hudba .mh-grid-4 > .e-con,
#hudba .mh-grid-4 > .e-con-inner > .e-con {
    flex: 0 0 calc(25% - 19.5px);
    max-width: calc(25% - 19.5px);
}
@media (max-width: 1024px) {
    #hudba .mh-grid-4 > .e-con,
    #hudba .mh-grid-4 > .e-con-inner > .e-con {
        flex: 1 1 44%;
        max-width: none;
    }
}
@media (max-width: 640px) {
    #hudba .mh-grid-4 > .e-con,
    #hudba .mh-grid-4 > .e-con-inner > .e-con {
        flex-basis: 100%;
    }
}

/* Debaty na titulce: plakat | popis | recnici s tlacitky
   Bily panel pres cely radek, presne ve vysce plakatu (dle navrhu — tecky jen okolo).
   Panel je ::before pres celou sirku viewportu; radek i sloupce bez paddingu,
   aby vyska radku = vyska plakatu. */
.e-con.mh-debata {
    position: relative;
    padding: 0 !important;
}
.mh-debata > .e-con,
.mh-debata > .elementor-element {
    padding-top: 0;
    padding-bottom: 0;
}
/* vyssi specificita nez elementorovske .e-con::before (overlay) — jinak content nevyhraje */
.e-con.mh-debata::before {
    content: '' !important;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    background: #fff;
    z-index: 0;
    pointer-events: none;
}
.mh-debata > * {
    position: relative;
    z-index: 1;
}
html.mh-dark .e-con.mh-debata::before {
    background: #131313;
}
.mh-debata-plakat { flex: 0 1 30%; max-width: 420px; padding: 0; }
.mh-debata-plakat img { width: 100%; height: auto; display: block; }
.mh-debata-popis { flex: 0 1 22%; }
.mh-debata-lide { flex: 1 1 auto; }
.mh-debata-recnici img {
    width: 132px;
    height: 132px;
    border-radius: 50%;
    object-fit: cover;
}
@media (max-width: 767px) {
    .mh-debata { padding-bottom: 18px !important; }
    .mh-debata-plakat, .mh-debata-popis, .mh-debata-lide { max-width: none; }
    .mh-debata-recnici { flex-wrap: wrap; }
    .mh-debata-recnici img { width: 96px; height: 96px; }
}

/* Cerne tlacitko (video/Spotify) v liste prehravace na detailu pisne */
body a.mh-pisen-btn {
    display: inline-block;
    background: #111111;
    color: #fff;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: 8px 20px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
body a.mh-pisen-btn:hover {
    background: #C83E4D;
    color: #fff;
}
html.mh-dark body a.mh-pisen-btn {
    background: #f2f2f2;
    color: #131313;
}
html.mh-dark body a.mh-pisen-btn:hover {
    background: #C83E4D;
    color: #fff;
}

/* ---- Mali proroci: mapa "Dvanact obrazu" (interaktivni prehled) ---- */
.mp-mapa { padding: 6px 4px 2px; }
.mp-hlava { margin-bottom: 22px; }
.mp-sub { font-size: 16px; color: #111; margin-top: 6px; }
.mp-grid {
    display: grid;
    grid-template-columns: 1fr 1fr .62fr;
    grid-template-areas:
        'preda babyl legenda'
        'osa   osa   osa'
        'asyr  poex  legenda2';
    column-gap: 26px;
    align-items: end;
}
.mp-era {
    border: 1px solid #e3e0da;
    padding: 22px 26px 24px;
    background: #fff;
    transition: opacity .55s ease, transform .55s ease, border-color .25s ease;
}
.mp-era.mp-dole { align-self: start; }
.mp-era-nazev {
    font-family: 'Novela Poster', Georgia, serif;
    font-weight: 900;
    font-size: 30px;
    line-height: 1.05;
    margin: 0;
}
.mp-era-sub { font-size: 14.5px; color: #111; margin: 5px 0 4px; }
.mp-prorok {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-top: 17px;
    transition: opacity .45s ease, transform .3s ease, filter .45s ease;
}
.mp-prorok[data-komu='izrael'] { --mpb: #1D6FE0; }
.mp-prorok[data-komu='juda'] { --mpb: #7527C9; }
.mp-prorok[data-komu='narody'] { --mpb: #DFA320; }
.mp-prorok[data-komu='navratilci'] { --mpb: #1D7A4A; }
.mp-ik { flex: 0 0 46px; }
.mp-ik svg {
    width: 46px;
    height: 46px;
    fill: none;
    stroke: var(--mpb, #161513);
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .3s ease;
}
.mp-prorok:hover { transform: translateY(-2px); }
.mp-prorok:hover .mp-ik svg { transform: scale(1.14) rotate(-3deg); }
.mp-info { display: flex; flex-direction: column; gap: 1px; }
.mp-jmeno { font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 21px; line-height: 1.15; }
.mp-obraz { font-weight: 700; font-size: 15px; }
.mp-kara { color: #D9294C; font-size: 12px; vertical-align: 1px; }
.mp-komu { font-size: 14px; color: var(--mpb, #111); font-style: italic; }
.mp-komu i { color: #8a857c; font-style: normal; font-size: 12.5px; }
.mp-legenda { padding: 0 0 8px 6px; font-size: 14.5px; align-self: center; }
.mp-leg-nadpis { color: #111; margin-bottom: 10px; }
.mp-leg-hint { display: block; font-size: 12px; color: #8a857c; }
.mp-legenda button {
    display: flex;
    align-items: center;
    gap: 9px;
    background: none !important;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: 4px 12px 4px 8px !important;
    margin: 2px 0;
    font-family: 'Urban Grotesk', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #111 !important;
    cursor: pointer;
    transition: border-color .2s ease, transform .2s ease;
}
.mp-legenda button:hover { transform: translateX(2px); border-color: #d8d4cc; }
.mp-legenda button.je-aktivni { border-color: #111; }
.mp-tecka { width: 11px; height: 11px; border-radius: 50%; flex: none; }
.mp-leg-obraz { margin-top: 10px; color: #111; font-size: 13.5px; }
.mp-osa { margin: 2px 0 6px; }
.mp-osa svg { width: 100%; height: auto; display: block; }
.mp-spoj { stroke: #161513; stroke-width: 1.4; }
.mp-osa-cara, .mp-osa-tecky { stroke: #D9294C; stroke-width: 3.4; stroke-linecap: round; fill: none; }
.mp-sipka { fill: #D9294C; }
.mp-span { fill: #D9294C; opacity: 0; transition: opacity .35s ease; }
.mp-rok { font: 700 17px 'Urban Grotesk', sans-serif; fill: #D9294C; }
.mp-rok-zeleny { fill: #1D7A4A; }
.mp-pop { font: 400 13px 'Urban Grotesk', sans-serif; fill: #161513; }
.mp-ticho { font: italic 400 14px 'Urban Grotesk', sans-serif; fill: #8a857c; }
.mp-osa-mobil { display: none; }
/* zvyrazneni obdobi na ose pri najeti na dejstvi */
.mp-mapa[data-era='preda'] .mp-span-preda,
.mp-mapa[data-era='babyl'] .mp-span-babyl,
.mp-mapa[data-era='asyr'] .mp-span-asyr,
.mp-mapa[data-era='poex'] .mp-span-poex { opacity: .16; }
.mp-mapa[data-era] .mp-era:not([data-era]) { border-color: #e3e0da; }
.mp-era:hover { border-color: #b9b4aa; }
/* filtr publika z legendy */
.mp-mapa[data-filtr='izrael'] .mp-prorok:not([data-komu='izrael']),
.mp-mapa[data-filtr='juda'] .mp-prorok:not([data-komu='juda']),
.mp-mapa[data-filtr='narody'] .mp-prorok:not([data-komu='narody']),
.mp-mapa[data-filtr='navratilci'] .mp-prorok:not([data-komu='navratilci']) {
    opacity: .22;
    filter: grayscale(1);
}
/* animace pri nacteni (spousti trida je-videt) */
.mp-mapa:not(.je-videt) .mp-era,
.mp-mapa:not(.je-videt) .mp-legenda { opacity: 0; transform: translateY(16px); }
.mp-mapa:not(.je-videt) .mp-prorok { opacity: 0; transform: translateX(-10px); }
.mp-mapa:not(.je-videt) .mp-udalost { opacity: 0; }
.mp-mapa:not(.je-videt) .mp-sipka, .mp-mapa:not(.je-videt) .mp-osa-tecky, .mp-mapa:not(.je-videt) .mp-ticho, .mp-mapa:not(.je-videt) .mp-spoj { opacity: 0; }
.mp-legenda { transition: opacity .55s ease .35s, transform .55s ease .35s; }
.mp-grid > [data-era='preda'] { transition-delay: .05s; }
.mp-grid > [data-era='babyl'] { transition-delay: .17s; }
.mp-grid > [data-era='asyr'] { transition-delay: .5s; }
.mp-grid > [data-era='poex'] { transition-delay: .62s; }
.je-videt .mp-prorok { transition-delay: inherit; }
.mp-era .mp-prorok:nth-of-type(1) { transition-delay: .25s; }
.mp-era .mp-prorok:nth-of-type(2) { transition-delay: .35s; }
.mp-era .mp-prorok:nth-of-type(3) { transition-delay: .45s; }
.mp-era.mp-dole .mp-prorok:nth-of-type(1) { transition-delay: .7s; }
.mp-era.mp-dole .mp-prorok:nth-of-type(2) { transition-delay: .8s; }
.mp-era.mp-dole .mp-prorok:nth-of-type(3) { transition-delay: .9s; }
.mp-osa-cara { stroke-dasharray: 1040; stroke-dashoffset: 1040; transition: stroke-dashoffset 1.15s ease .3s; }
.je-videt .mp-osa-cara { stroke-dashoffset: 0; }
.mp-udalost { transition: opacity .5s ease; }
.je-videt .mp-udalost { opacity: 1; }
.je-videt .mp-udalost:nth-of-type(1) { transition-delay: .55s; }
.je-videt .mp-udalost:nth-of-type(2) { transition-delay: .75s; }
.je-videt .mp-udalost:nth-of-type(3) { transition-delay: .95s; }
.je-videt .mp-udalost:nth-of-type(4) { transition-delay: 1.15s; }
.je-videt .mp-udalost:nth-of-type(5) { transition-delay: 1.3s; }
.mp-sipka, .mp-osa-tecky, .mp-ticho, .mp-spoj { transition: opacity .5s ease 1.35s; }
.je-videt .mp-sipka, .je-videt .mp-osa-tecky, .je-videt .mp-ticho, .je-videt .mp-spoj { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
    .mp-mapa .mp-era, .mp-mapa .mp-prorok, .mp-mapa .mp-legenda, .mp-mapa .mp-udalost,
    .mp-mapa .mp-sipka, .mp-mapa .mp-osa-tecky, .mp-mapa .mp-ticho, .mp-mapa .mp-spoj { opacity: 1 !important; transform: none !important; transition: none !important; }
    .mp-mapa .mp-osa-cara { stroke-dashoffset: 0 !important; transition: none !important; }
}
@media (max-width: 980px) {
    .mp-hlava > div { font-size: 31px !important; }
    .mp-era-nazev { font-size: 26px; }
    .mp-grid { display: flex; flex-direction: column; gap: 16px; align-items: stretch; }
    .mp-era[data-era='preda'] { order: 1; }
    .mp-era[data-era='asyr'] { order: 2; }
    .mp-era[data-era='babyl'] { order: 3; }
    .mp-era[data-era='poex'] { order: 4; }
    .mp-osa { display: none; }
    .mp-osa-mobil { display: block; order: 5; border: 1px solid #e3e0da; padding: 14px 18px; font-size: 14.5px; }
    .mp-osa-mobil > div { padding: 3px 0; }
    .mp-osa-mobil b { color: #D9294C; margin-right: 8px; }
    .mp-om-zeleny b { color: #1D7A4A; }
    .mp-legenda { order: 0; padding: 0; }
    .mp-era .mp-prorok, .mp-era.mp-dole .mp-prorok { transition-delay: .15s; }
}
/* dark rezim */
html.mh-dark .mp-era, html.mh-dark .mp-osa-mobil { background: #131313; border-color: #3a3a3a; }
html.mh-dark .mp-sub, html.mh-dark .mp-era-sub, html.mh-dark .mp-leg-nadpis, html.mh-dark .mp-leg-obraz { color: #d6d6d6; }
html.mh-dark .mp-jmeno, html.mh-dark .mp-obraz, html.mh-dark .mp-era-nazev { color: #f2f2f2; }
html.mh-dark .mp-legenda button { color: #f2f2f2 !important; }
html.mh-dark .mp-legenda button.je-aktivni { border-color: #f2f2f2; }
html.mh-dark .mp-pop { fill: #d6d6d6; }
html.mh-dark .mp-spoj { stroke: #d6d6d6; }
html.mh-dark .mp-prorok .mp-ik svg { stroke: var(--mpb, #e3e3e3); }

/* Video na strance talku: omezena sirka, vycentrovane */
.e-con .mh-talk-video.elementor-widget,
.e-con-inner > .mh-talk-video.elementor-widget {
    max-width: 920px !important;
    width: 100% !important;
    margin: 0 auto !important;
}

/* ---- Drobne napady: mrizka nazvu + AJAX pop-up ---- */
.mh-napady-mrizka {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    /* svisla mezera 30px — mezi radami prosvita rada tecek (rastr 26px) */
    gap: 30px 12px;
    margin-top: 8px;
}
button.mh-nap-b, a.mh-nap-b {
    background: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    color: #111 !important;
    font-family: 'Urban Grotesk', sans-serif !important;
    font-size: 16.5px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1.35;
    min-height: 96px;
    padding: 16px 20px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
    transition: transform .22s ease, color .22s ease, box-shadow .22s ease;
}
button.mh-nap-b:hover, a.mh-nap-b:hover {
    color: #C83E4D !important;
    transform: translateY(-2px);
    box-shadow: 0 3px 0 rgba(17, 17, 17, .12);
}
@media (max-width: 1024px) {
    .mh-napady-mrizka { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
    .mh-napady-mrizka { grid-template-columns: repeat(2, 1fr); gap: 22px 8px; }
    button.mh-nap-b, a.mh-nap-b { min-height: 74px; font-size: 15px !important; }
}
/* pop-up */
html.mh-pop-blok, html.mh-pop-blok body { overflow: hidden; }
.mh-pop-pozadi {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
    background: rgba(17, 17, 17, .58);
    padding: 34px 26px;
}
.mh-pop-pozadi.je-otevreny { display: flex; }
.mh-pop-panel {
    position: relative;
    background: #fff;
    width: min(1180px, 100%);
    max-height: calc(100vh - 68px);
    margin: auto;
    overflow-y: auto;
    padding: 48px 56px 44px;
    transition: opacity .2s ease;
}
/* behem nacitani je v obsahu loader — nestmivat ho */
.mh-pop-nacita .mh-pop-obsah { opacity: 1; }
.mh-pop-obsah { transition: opacity .2s ease; }
.mh-pop-zavrit,
.mh-pop-sipka {
    background: #fff !important;
    border: 1px solid #111 !important;
    border-radius: 50% !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    flex: 0 0 46px;
    aspect-ratio: 1;
    padding: 0 !important;
    color: #111 !important;
    font-family: 'Urban Grotesk', sans-serif !important;
    font-size: 21px !important;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, opacity .2s ease;
}
.mh-pop-zavrit:hover,
.mh-pop-sipka:not(:disabled):hover { background: #111 !important; color: #fff !important; }
.mh-pop-sipka:disabled { opacity: .25; cursor: default; }
.mh-pop-zavrit {
    position: absolute;
    top: 20px;
    right: 22px;
    font-size: 26px !important;
    line-height: 1 !important;
    padding-top: 4px !important; /* glyf x sedi v UG vysoko — dorovnani na opticky stred */
}
.mh-pop-listovani {
    position: absolute;
    top: 74px;
    right: 56px;
    display: flex;
    gap: 12px;
}
.mh-pop-kicker {
    letter-spacing: .14em;
    font-size: 14px;
    color: #8a857c;
    margin: 0 0 6px;
}
.mh-pop-titul {
    font-family: 'Novela Poster', Georgia, serif;
    font-weight: 900;
    font-size: 46px;
    line-height: 1.02;
    margin: 0 0 26px;
    padding-right: 130px;
}
.mh-pop-telo { display: flex; gap: 36px; align-items: flex-start; }
.mh-pop-obr { flex: 0 0 33%; max-width: 380px; }
.mh-pop-obr img { width: 100%; height: auto; display: block; }
.mh-pop-popis { flex: 1; font-size: 15.5px; line-height: 1.7; }
.mh-pop-popis p { margin: 0 0 14px; }
.mh-pop-prilohy { margin-top: 34px; }
.mh-pop-pril-hlava {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.mh-pop-pril-nadpis {
    font-family: 'Novela Poster', Georgia, serif;
    font-weight: 900;
    font-size: 30px;
    line-height: 1.05;
}
.mh-pop-slidy {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
.mh-pop-slide img { width: 100%; height: auto; display: block; }
.mh-pop-chyba { color: #C83E4D; }
@media (max-width: 860px) {
    .mh-pop-pozadi { padding: 14px 10px; }
    .mh-pop-panel { padding: 60px 22px 28px; max-height: calc(100vh - 28px); }
    .mh-pop-titul { font-size: 32px; padding-right: 0; }
    .mh-pop-listovani { top: 16px; right: 76px; }
    .mh-pop-zavrit { top: 16px; right: 20px; }
    .mh-pop-telo { flex-direction: column; }
    .mh-pop-obr { max-width: 300px; }
    .mh-pop-slidy { grid-template-columns: repeat(2, 1fr); }
}
/* dark rezim */
html.mh-dark button.mh-nap-b, html.mh-dark a.mh-nap-b { background: #131313 !important; color: #f2f2f2 !important; }
html.mh-dark button.mh-nap-b:hover, html.mh-dark a.mh-nap-b:hover { color: #C83E4D !important; }
html.mh-dark .mh-pop-panel { background: #131313; color: #d6d6d6; }
html.mh-dark .mh-pop-titul, html.mh-dark .mh-pop-pril-nadpis { color: #f2f2f2; }
html.mh-dark .mh-pop-zavrit,
html.mh-dark .mh-pop-sipka { background: #131313 !important; border-color: #f2f2f2 !important; color: #f2f2f2 !important; }
html.mh-dark .mh-pop-zavrit:hover,
html.mh-dark .mh-pop-sipka:not(:disabled):hover { background: #f2f2f2 !important; color: #131313 !important; }

/* ---- Hlavicka: menu smi pretect na dva centrovane radky, prepinac vpravo ---- */
.mh-header .elementor-widget-nav-menu { flex: 1 1 auto; min-width: 0; }
.mh-header .elementor-widget-html:last-child { flex: 0 0 auto; margin-left: auto; }
.mh-header .elementor-nav-menu--layout-horizontal .elementor-nav-menu {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 0;
}

/* ---- Hero "OBCERSTVENI": menu s ikonami nad textem, min. dva radky ---- */
.mh-obc-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    max-width: 1010px;
    margin: 14px auto 0;
}
a.mh-obc-pol {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    background: #fff;
    color: #111;
    text-decoration: none;
    padding: 14px 18px 12px;
    min-width: 128px;
    font-size: 15px;
    line-height: 1.25;
    text-align: center;
    transition: transform .22s ease, color .22s ease, box-shadow .22s ease;
}
a.mh-obc-pol svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
/* hover jen na zarizenich s mysi — na dotyku prvni tap jen "hoveroval"
   a odkaz se neproklikl; a zadny posun boxu, jen barva a stin */
@media (hover: hover) {
    a.mh-obc-pol:hover {
        color: #C83E4D;
        box-shadow: 0 3px 0 rgba(17, 17, 17, .12);
    }
}
@media (max-width: 640px) {
    .mh-obc-menu { gap: 8px; }
    a.mh-obc-pol { min-width: calc(33.4% - 8px); padding: 11px 8px 9px; font-size: 13.5px; }
}
html.mh-dark a.mh-obc-pol { background: #131313; color: #f2f2f2; }
@media (hover: hover) {
    html.mh-dark a.mh-obc-pol:hover { color: #C83E4D; }
}

/* Mapa disciplin: interaktivni pilulky */
.mh-mdis .mh-md-pill { transition: transform .18s ease, box-shadow .18s ease; }
.mh-mdis .mh-md-pill:hover { transform: translateY(-1px); box-shadow: 0 2px 0 rgba(22, 21, 19, .18); }
.mh-mdis .mh-md-pill.je-aktivni { box-shadow: 0 0 0 2px #d9294c; }

/* Napady: lightbox zvetsenych nahledu (vrstva nad popupem) */
.mh-pop-slide { cursor: zoom-in; }
.mh-lb {
    position: fixed;
    inset: 0;
    z-index: 100010;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(10, 10, 10, .82);
    padding: 30px;
}
.mh-lb.je-otevreny { display: flex; }
.mh-lb img {
    max-width: min(1400px, 94vw);
    max-height: 88vh;
    width: auto;
    height: auto;
    display: block;
    box-shadow: 0 10px 60px rgba(0, 0, 0, .5);
}
.mh-lb .mh-pop-zavrit { top: 18px; right: 20px; position: absolute; }
.mh-lb .mh-lb-prev, .mh-lb .mh-lb-next { position: absolute; top: 50%; transform: translateY(-50%); }
.mh-lb .mh-lb-prev { left: 20px; }
.mh-lb .mh-lb-next { right: 20px; }
.mh-lb-pocet {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    font-size: 14px;
    font-family: 'Urban Grotesk', sans-serif;
    letter-spacing: .06em;
}
@media (max-width: 640px) {
    .mh-lb { padding: 10px; }
    .mh-lb .mh-lb-prev { left: 8px; }
    .mh-lb .mh-lb-next { right: 8px; }
}

/* Napady: dvojice tlacitek ke stazeni v hlavicce priloh */
.mh-pop-pril-btns { display: inline-flex; gap: 10px; flex-wrap: wrap; }

/* Modlitby: vzduch mezi jednotlivymi modlitbami ve sloupcich */
.mh-modlitba-sloupec p { margin-bottom: 18px; }
.mh-modlitba-sloupec p:last-child { margin-bottom: 0; }

/* Rozcestnik infografik: odsazeni deterministicky (Elementor container padding se u techto stranek neaplikuje) */
.mh-rozc-sekce > .e-con-inner { padding: 10px 40px 70px !important; }

/* Navod na cloveka: bily podklad bunek paralely Jozue <-> Zalm */
.mh-mdis .mh-md-par > div { background: #fff; }

/* Napady — segmentovy layout (Segmenty a prezentace): text vlevo, lightbox fotky vpravo */
.mh-nap-seg { display: flex; gap: 24px; align-items: flex-start; margin: 26px 0 0; }
.mh-nap-seg-text { width: 230px; flex: 0 0 auto; }
.mh-pop-popis .mh-nap-seg-text h4 { margin: 0 0 6px; font-family: 'Urban Grotesk', sans-serif; font-size: 15px; font-weight: 700; line-height: 1.3; }
.mh-pop-popis .mh-nap-seg-text p { margin: 0; font-size: 13.5px; line-height: 1.55; color: #55524d; }
.mh-nap-seg-foto { flex: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; align-content: start; }
.mh-nap-seg-foto .mh-pop-slide img { border: 1px solid #e3e0da; }
.mh-nap-seg-konec { justify-content: center; }
.mh-nap-seg-konec .mh-nap-seg-foto { flex: 0 0 auto; display: block; width: 232px; }
html.mh-dark .mh-nap-seg-text p { color: #a5a19a; }
html.mh-dark .mh-nap-seg-foto .mh-pop-slide img { border-color: #2c2c2c; }
@media (max-width: 700px) {
    .mh-nap-seg { flex-direction: column; gap: 12px; }
    .mh-nap-seg-text { width: auto; }
    .mh-nap-seg-foto { width: 100%; grid-template-columns: repeat(2, 1fr); }
}

/* Hlavicka: VZDY pres celou sirku obsahoveho bloku — pojistka proti smrsknuti
   na fit-content (pozorovano v nekterych prohlizecich; kontejner jinak spoleha
   na Elementor promenne --width/--container-max-width, ktere nemusi byt vsude aplikovane) */
/* fixed prvek se bez left/right insetu necentruje — na oknech sirsich nez 1920px
   (snippetovy max-width) by hlavicka ujizdela doleva vuci obsahu */
.elementor-location-header { width: 100% !important; left: 0 !important; right: 0 !important; margin: 0 auto !important; }
/* Kompletni explicitni layout hlavicky — NEZAVISLE na Elementor promennych
   (--width/--container-max-width/calc padding), ktere nektera prostredi
   nevyhodnoti a kontejner se smrskne na fit-content. Sirka = obsahovy blok
   (1440 + 2x40 padding), logo vlevo, menu na stred, prepinac vpravo. */
.elementor-location-header .e-con.mh-header {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 1520px !important;
    margin: 0 auto !important;
    padding: 14px 40px !important;
    box-sizing: border-box !important;
}
.elementor-location-header .e-con.mh-header > .elementor-widget-html {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
}
.elementor-location-header .e-con.mh-header > .elementor-widget-nav-menu {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
}
.elementor-location-header .e-con.mh-header .elementor-nav-menu--main .elementor-nav-menu {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center !important;
}
/* mezi 1025 a 1200px se menu nevejde na radek — mensi pismo misto zalomu na 2 radky */
@media (max-width: 1200px) and (min-width: 1025px) {
    .elementor-location-header .elementor-nav-menu .elementor-item { font-size: 13px !important; }
}

/* Zdroje: velke bannery klikatelne do lightboxu */
.mh-zb-foto img { cursor: zoom-in; }

/* priznaky obsahu na kartach talku (video/audio/prezentace) */
.mh-talk-karta { position: relative; height: 120px; overflow: hidden; border-radius: 5px; }
.mh-talk-karta .elementor-heading-title { font-size: 18px; line-height: 1.15; }
.mh-talk-karta p { font-size: 12px; line-height: 1.3; }
/* widget obal musi byt staticky, jinak se absolutni span vaze k nemu (Elementor widgety maji position:relative) */
.mh-talk-karta .elementor-widget-html { position: static !important; width: 0 !important; height: 0 !important; overflow: visible; }
.mh-talk-priznaky { position: absolute; top: 10px; right: 12px; display: flex; gap: 6px; z-index: 2; }
.mh-talk-priznaky .mh-talk-pz {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

/* priznak interaktivni infografiky na karte rozcestniku */
.mh-ig-karta { position: relative; }
.mh-ig-inter {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: #C83E4D;
    color: #fff;
    border-radius: 999px;
    padding: 4px 7px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}
.mh-ig-inter b { font-weight: 700; }

/* vyrazny stitek "Interaktivni" primo u interaktivni infografiky na detailu */
.mh-inter-stitek {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #C83E4D;
    color: #fff !important;
    border-radius: 999px;
    padding: 6px 13px;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    pointer-events: none;
}
.mh-inter-obal { position: relative; }

/* Paticka titulky: citat uprostred, menu odsunute vpravo */
.mh-foot-cit {
    margin: 0;
    padding: 0 0 0 16px;
    border-left: 2px solid #C83E4D;
    color: #CFCFCF;
}
.mh-foot-cit p {
    margin: 0;
    font-family: 'Urban Grotesk', sans-serif;
    font-style: italic;
    font-size: 13.5px;
    line-height: 1.6;
}
.mh-foot-cit cite {
    display: block;
    margin-top: 10px;
    font-style: normal;
    font-size: 11.5px;
    letter-spacing: .04em;
    color: #8a8a8a;
}
.mh-footer-menu { text-align: right; }
.mh-footer-menu .elementor-widget-container > p { text-align: right; }
.mh-footer-menu .e-con-inner, .mh-footer-menu > .e-con { justify-content: flex-end; }
@media (max-width: 1024px) {
    .mh-footer-radek, .mh-footer-radek > .e-con-inner { flex-wrap: wrap; }
    .mh-footer-info, .mh-footer-citat, .mh-footer-menu { width: 100% !important; }
    .mh-footer-menu, .mh-footer-menu .elementor-widget-container > p { text-align: left; }
}

/* Sekce citaci na exportovanych strankach nema vlastni podklad — texty by
   lezely primo na teckach */
.mh-mdis .mh-md-ohlasy {
    background: #fff !important;
    padding: 32px 30px 30px !important;
}
html.mh-dark .mh-mdis .mh-md-ohlasy { background: #131313 !important; }
/* blok Zdroje: nadpis a prvni pramen k sobe (export nese margin-top: 64px) */
.mh-prameny > div,
.mh-prameny [data-screen-label="prameny"] { margin-top: 0 !important; }

/* Sekce citaci na infografikach: modry prouzek + podbarveni, atribuce hned
   pod citatem (bez volneho radku), komentar tesne pod boxem */
.mh-md-ohlasy > div > p[style*="font-style: italic"] {
    background: #F2F5FD;
    border-left: 4px solid #1659D8;
    padding: 14px 18px 8px !important;
    margin: 0 !important;
}
.mh-md-ohlasy > div > div[style*="margin-top: 18px"] {
    background: #F2F5FD;
    border-left: 4px solid #1659D8;
    padding: 2px 18px 14px !important;
    margin-top: 0 !important;
    font-size: 14px !important;
    color: #55524d;
}
.mh-md-ohlasy > div > p[style*="margin: 22px 0px 0px"] {
    margin-top: 14px !important;
}
html.mh-dark .mh-md-ohlasy > div > p[style*="font-style: italic"],
html.mh-dark .mh-md-ohlasy > div > div[style*="margin-top: 18px"] {
    background: #16213a !important;
}
html.mh-dark .mh-md-ohlasy > div > div[style*="margin-top: 18px"] { color: #a5a19a !important; }


/* ---- Willard: Obnova srdce ---- */
.mh-wil-dim { cursor: pointer; transition: background .15s ease; border-radius: 4px; }
.mh-wil-dim:hover { background: rgba(200, 62, 77, .07); }
.mh-wil-dim.je-aktivni { background: rgba(200, 62, 77, .13); }
.mh-wil-panel {
    flex: 0 0 300px;
    align-self: stretch;
    border-left: 3px solid #C83E4D;
    padding: 2px 0 0 20px;
    font-family: 'Urban Grotesk', sans-serif;
}
.mh-wil-panel-vyzva { margin: 0; font-size: 14px; line-height: 1.55; color: #8a857c; font-style: italic; }
.mh-wil-panel-hlava {
    font-family: 'Novela Poster', Georgia, serif;
    font-weight: 900;
    font-size: 25px;
    line-height: 1.05;
    color: #C83E4D;
    margin-bottom: 12px;
}
.mh-wil-panel-hlava span {
    display: block;
    margin-top: 4px;
    font-family: 'Urban Grotesk', sans-serif;
    font-weight: 400;
    font-style: italic;
    font-size: 13px;
    color: #8a857c;
}
.mh-wil-panel p { margin: 0 0 11px; font-size: 14.5px; line-height: 1.6; }
.mh-wil-panel p:last-child { margin-bottom: 0; }
html.mh-dark .mh-wil-panel p { color: #d6d6d6; }
/* Talk: obtekane infografiky (polovina sirky, vpravo) + platna na plnou sirku */
.mh-talk-float {
    float: right;
    width: 50%;
    height: auto;
    margin: 4px 0 14px 22px;
}
@media (max-width: 780px) {
    .mh-talk-float { float: none; width: 100%; margin: 10px 0; }
}
.mh-talk-plna { overflow: hidden; }
.mh-talk-plna .sc-host-x { display: block !important; width: 100% !important; }
.mh-talk-plna .mh-md-pill { cursor: default; }

/* Revitalizace: aktivni panel Ready (cely klikaci, hover, badge) */
.mh-revi-karta { position: relative; transition: transform .18s ease, box-shadow .18s ease; }
.mh-revi-karta.je-aktivni { cursor: pointer; }
.mh-revi-karta.je-aktivni:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .14);
}
.mh-revi-badge-widget { position: static !important; }
/* neaktivni karty (Steady, Go): sede texty, at je videt, ze zatim nikam nevedou */
.mh-revi-karta:not(.je-aktivni) h1,
.mh-revi-karta:not(.je-aktivni) h2,
.mh-revi-karta:not(.je-aktivni) h3,
.mh-revi-karta:not(.je-aktivni) p { color: #9a958d !important; }
html.mh-dark .mh-revi-karta:not(.je-aktivni) h1,
html.mh-dark .mh-revi-karta:not(.je-aktivni) h2,
html.mh-dark .mh-revi-karta:not(.je-aktivni) h3,
html.mh-dark .mh-revi-karta:not(.je-aktivni) p { color: #6f6b65 !important; }
/* prekryvny odkaz pres celou aktivni kartu; tlacitko a odznak zustavaji nad nim */
.mh-revi-odkaz-widget { position: static !important; }
.mh-revi-plocha { position: absolute; inset: 0; z-index: 2; display: block; }
.mh-revi-karta .elementor-widget-button { position: relative; z-index: 3; }
.mh-revi-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #C83E4D;
    color: #fff;
    border-radius: 999px;
    padding: 5px 11px;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
}
.mh-revi-badge::before { content: '★'; font-size: 10px; }

/* Talk Ready: titulni blok s motylem + obsah + rail karty */
.mh-ready-motyl { flex: 0 0 190px !important; }
.mh-ready-nadpis { flex: 1 1 0% !important; }
.mh-ready-obsah { flex: 0 0 380px !important; }
.mh-talk-obsah {
    background: #fff;
    padding: 14px 16px 15px;
    font-family: 'Urban Grotesk', sans-serif;
}
.mh-talk-obsah ol { list-style: none; margin: 0; padding: 0; }
.mh-talk-obsah li { margin: 0 0 4px; }
.mh-talk-obsah a {
    display: flex;
    flex-wrap: wrap;      /* podnadpis se zalomi POD nazev, ne vedle nej */
    gap: 9px;
    align-items: baseline;
    font-size: 13.5px;
    line-height: 1.3;
    color: #161513;
    text-decoration: none;
    padding: 1px 0;
    transform-origin: left center;
    transition: color .15s ease, transform .15s ease;
}
.mh-talk-obsah a:hover {
    color: #C83E4D;
    font-size: 13.5px !important;
    transform: scale(1.07);
}
.mh-talk-obsah a > span { flex: 0 0 auto; font-weight: 700; color: #D9294C; }
/* podtituly v obsahu talku se uz nepouzivaji (protahovaly sloupec) */
.mh-talk-obsah i { display: none; }
html.mh-dark .mh-talk-obsah { background: #131313; }
html.mh-dark .mh-talk-obsah a { color: #e8e8e8; }
/* Pravy pruh talku: prvni slajd velky, dalsi pulene (dva vedle sebe) */
.mh-slide-mrizka > .e-con-inner,
.mh-slide-mrizka { align-items: flex-start !important; }
.mh-slide-pul { flex: 0 0 calc(50% - 5px) !important; width: calc(50% - 5px) !important; max-width: calc(50% - 5px) !important; }
@media (max-width: 767px) {
    .mh-slide-pul { flex-basis: calc(50% - 5px) !important; }
}
/* Popisky ve vyplnenem chiasmu: kratke radkovani, at text nepreteka bubliny */
.mh-gen1-popisky div, .mh-gen1-popisky span { line-height: 1.2 !important; }

/* Rail: banner zdroje (Bema ap.) a karta s odkazy na dalsi talky */
.mh-rail-bannerobr { display: block; line-height: 0; }
.mh-rail-bannerobr img { width: 100%; height: auto; display: block; }
.mh-rail-talky-sez { list-style: none; margin: 8px 0 0; padding: 0; }
.mh-rail-talky-sez li { margin: 0 0 10px; }
.mh-rail-talky-sez a {
    display: block;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.3;
    color: #161513;
    text-decoration: none;
}
.mh-rail-talky-sez a:hover { color: #C83E4D; }
.mh-rail-talky-sez span {
    display: block;
    margin-top: 2px;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 11.5px;
    color: #8a857c;
}
html.mh-dark .mh-rail-talky-sez a { color: #e8e8e8; }

.mh-rail-obalka { display: block; width: 128px; line-height: 0; }
.mh-rail-obalka img { width: 100%; height: auto; display: block; box-shadow: 0 3px 14px rgba(0,0,0,.22); }
@media (max-width: 1024px) {
    .mh-ready-motyl { flex-basis: 140px !important; }
    .mh-ready-obsah { flex-basis: 100% !important; }
}

/* Zamek: stranka jen pro prihlasene */
.mh-zamek {
    max-width: 640px;
    margin: 60px auto 90px;
    padding: 30px 34px 34px;
    background: #fff;
    border-left: 4px solid #C83E4D;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 15px;
    line-height: 1.6;
}
.mh-zamek-nadpis {
    font-family: 'Novela Poster', Georgia, serif;
    font-weight: 900;
    font-size: 30px;
    line-height: 1.1;
    margin: 0 0 12px;
}
.mh-zamek-btn {
    display: inline-block;
    margin-top: 8px;
    background: #C83E4D;
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 999px;
    padding: 9px 20px;
    font-weight: 700;
}
.mh-zamek-btn:hover { background: #a92f3d; }
html.mh-dark .mh-zamek { background: #131313; }

/* Debaty: prehratko na plakatu + popup s videem */
.mh-debata-plakat.je-video { position: relative; }
.mh-debata-play-widget { position: static !important; }
.mh-video-play {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    height: 100%;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    cursor: pointer;
}
.mh-video-play svg { transition: transform .15s ease, opacity .15s ease; opacity: .92; }
.mh-video-play:hover svg { transform: scale(1.08); opacity: 1; }
.mh-video-prekryv {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0, 0, 0, .82);
}
.mh-video-panel { position: relative; width: min(1100px, 100%); }
.mh-video-ramec {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
    box-shadow: 0 10px 50px rgba(0, 0, 0, .5);
}
.mh-video-ramec iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mh-video-zavrit {
    position: absolute;
    top: -46px;
    right: 0;
    width: 38px;
    height: 38px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: #fff !important;
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
}
@media (max-width: 640px) {
    .mh-video-zavrit { top: -40px; font-size: 30px; }
}

/* Zdroje: cervena tlacitka na infografiky */
.mh-zb-obraz { position: relative; }
/* Elementor dava widgetum position:relative — prekryv se pak kotvi k widgetu, ne k banneru */
.mh-zb-ig-widget { position: static !important; }
.mh-zb-ig-obal {
    position: absolute;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
    max-width: 46%;
}
.mh-zb-ig-obal.je-vpravo-nahore { top: 20px; right: 20px; align-items: flex-end; }
.mh-zb-ig-obal.je-vlevo-nahore  { top: 20px; left: 20px; }
.mh-zb-ig-obal.je-vpravo-dole   { right: 20px; bottom: 20px; align-items: flex-end; }
.mh-zb-ig-obal.je-vlevo-dole    { left: 20px; bottom: 20px; }
.mh-zb-ig {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #C83E4D;
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 999px;
    padding: 9px 17px;
    font-family: 'Urban Grotesk', sans-serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.15;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .35);
    transition: background .15s ease, transform .15s ease;
}
.mh-zb-ig:hover { background: #a92f3d; transform: translateY(-1px); }
/* tlacitko pod konkretni knihou */
.mh-kniha-ig {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: #C83E4D;
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 5px;
    padding: 7px 10px;
    font-family: 'Urban Grotesk', sans-serif;
    font-weight: 700;
    font-size: 12.5px;
    line-height: 1.2;
    text-align: center;
    transition: background .15s ease;
}
.mh-kniha-ig:hover { background: #a92f3d; }
@media (max-width: 780px) {
    .mh-zb-ig-obal { max-width: 62%; gap: 5px; }
    .mh-zb-ig { padding: 6px 11px; font-size: 12px; }
}

/* Levy sloupec infografik: menu kapitol s kotvami */
/* bily podklad — menu nesmi lezet primo na teckovanem pozadi */
.mh-ig-menu {
    font-family: 'Urban Grotesk', sans-serif;
    background: #fff;
    padding: 12px 16px 13px;
    display: inline-block;
}
.mh-ig-menu:empty { display: none; }
html.mh-dark .mh-ig-menu { background: #131313; }
.mh-ig-menu-nadpis {
    font-weight: 700;
    font-size: 11px;
    letter-spacing: .14em;
    color: #8a857c;
    margin-bottom: 10px;
}
.mh-ig-menu-seznam { list-style: none; margin: 0; padding: 0; }
.mh-ig-menu-seznam li { margin: 0 0 5px; }
.mh-ig-menu-seznam a {
    display: flex;
    gap: 9px;
    align-items: baseline;
    font-size: 14px;
    line-height: 1.25;
    color: #161513;
    text-decoration: none;
    padding: 2px 4px 2px 0;
    border-radius: 4px;
    transform-origin: left center;
    transition: color .15s ease, transform .15s ease;
}
/* hover zvetsuje pismo (globalni styl odkazu), coz menilo vysku menu a posouvalo
   obsah pod nim — velikost proto drzime a zvetseni delame transformem (mimo layout) */
.mh-ig-menu-seznam a:hover {
    color: #C83E4D;
    font-size: 14px !important;
    transform: scale(1.07);
}
.mh-ig-menu-seznam a.je-ctena { color: #C83E4D; font-weight: 700; }
.mh-ig-menu-cislo { flex: 0 0 auto; font-weight: 700; color: #D9294C; }
.mh-ig-menu-seznam i { display: block; font-size: 12px; color: #8a857c; font-style: italic; }
.mh-ig-menu-seznam a.je-ctena i { color: #C83E4D; }
html.mh-dark .mh-ig-menu-seznam a { color: #e8e8e8; }
html.mh-dark .mh-ig-menu-nadpis, html.mh-dark .mh-ig-menu-seznam i { color: #a5a19a; }
/* drobne "KAPITOLA NN" nad nadpisem kapitoly (stejne jako v exportu) */
.mh-ig-kap {
    font-family: 'Urban Grotesk', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: .14em;
    line-height: 1.2;
    color: #8a857c;
    margin-bottom: 8px;
}
html.mh-dark .mh-ig-kap { color: #a5a19a; }

/* obalka knihy vpravo nahore u infografik k jedne knize */
/* Fotka zdroje (napr. Bema podcast) vpravo v titulnim bloku infografiky */
.mh-ig-foto {
    display: block;
    margin: 0 0 12px auto;
    width: 210px;
    max-width: 100%;
    text-decoration: none;
    color: inherit;
    transition: transform .15s ease;
}
.mh-ig-foto:hover { transform: translateY(-2px); }
.mh-ig-foto img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 4px;
    box-shadow: 0 3px 14px rgba(0, 0, 0, .18);
}
.mh-ig-foto span {
    /* popisek nesmi lezet primo na teckovanem pozadi — vlastni bily podklad */
    display: inline-block;
    background: #fff;
    padding: 2px 8px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    float: right;
    clear: both;
    margin-top: 7px;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 11.5px;
    line-height: 1.35;
    text-align: right;
    color: #6f6a61;
}
html.mh-dark .mh-ig-foto span { color: #a5a19a; background: #131313; }
@media (max-width: 767px) {
    .mh-ig-foto { width: 100%; margin-left: 0; }
    .mh-ig-foto span { text-align: left; float: none; }
}

.mh-ig-kniha {
    display: block;
    margin: 0 0 14px auto;
    width: 132px;
    max-width: 100%;
    line-height: 0;
    transition: transform .15s ease;
}
.mh-ig-kniha:hover { transform: translateY(-2px); }
.mh-ig-kniha img {
    display: block;
    width: 100%;
    height: auto;
    box-shadow: 0 3px 14px rgba(0, 0, 0, .22);
}
@media (max-width: 900px) {
    .mh-ig-kniha { width: 96px; margin-bottom: 10px; }
}

/* Slyset Boha: schody sesti zpusobu */
.mh-slb-schod { transition: background .15s ease, box-shadow .15s ease; }
.mh-slb-schod:hover { background: #fbf0f2 !important; }
.mh-slb-schod.je-aktivni { background: #f6e0e4 !important; box-shadow: 0 0 0 2px #C83E4D; }
.mh-slb-stitek { top: 20px; left: 880px; right: auto; }
@media (max-width: 900px) {
    .mh-slb-stitek { left: auto; right: 10px; }
}

/* sest dimenzi: klikaci jsou i prstence a napisy uvnitr kruhu */
.mh-wil-dimenze svg .mh-wil-dim { cursor: pointer; }
.mh-wil-dimenze svg circle.mh-wil-dim.je-aktivni { stroke: rgba(200, 62, 77, .35); }
.mh-wil-dimenze div.mh-wil-dim { border-radius: 6px; }
/* stitek interaktivity vpravo nahore od kruhu (souradnice platna 1080x740) */
.mh-wil-stitek { top: 4px; left: 556px; right: auto; }
@media (max-width: 900px) {
    .mh-wil-stitek { left: auto; right: 10px; }
}

/* radek s diagramem sesti dimenzi: panel vedle platna, dokud je vpravo misto */
.mh-wil-radek { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 22px; }
.mh-wil-radek > .sc-host-x > span { flex: 0 0 auto; }
.mh-wil-radek .mh-wil-panel {
    flex: 1 1 210px;
    min-width: 200px;
    align-self: flex-start;
    position: sticky;
    top: 24px;
    margin-top: 44px;
}
@media (max-width: 1420px) {
    .mh-wil-radek .mh-wil-panel { flex-basis: 100%; border-left: 0; border-top: 3px solid #C83E4D;
        padding: 14px 0 0; margin-top: 10px; position: static; }
}
@media (max-width: 1024px) {
    .mh-wil-panel { flex: 1 1 100%; border-left: 0; border-top: 3px solid #C83E4D; padding: 14px 0 0; margin-top: 18px; }
}

/* ==== Davka 2026-08-11: mobil + Go popup + novinky ========================= */

/* Mrizka Napadu se musi umet smrsknout: 1fr = minmax(auto,1fr) drzi min-content
   polozek a NAFUKUJE LAYOUT VIEWPORT (stranka pak jde na mobilu scrollovat
   do stran a fixni hlavicka "ujizdi"). minmax(0,1fr) nechava text zalamovat. */
.mh-napady-mrizka { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1024px) {
    .mh-napady-mrizka { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .mh-napady-mrizka { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Hamburger: bez sedeho podbarveni, vetsi */
@media (max-width: 1024px) {
    .elementor-menu-toggle { background: none !important; font-size: 30px; width: 46px; height: 46px; }
}

@media (max-width: 767px) {
    /* jednoslovny H1 nesmi vynutit sirku vetsi nez displej (drzel 403px) */
    #archiv h1.elementor-heading-title { font-size: min(44px, 10.4vw) !important; }
    /* mensi odskok mezi titulem a podtitulem */
    #archiv.e-con { gap: 8px !important; }
    #archiv > .e-con-inner { gap: 8px !important; }

    /* Ready/Steady/Go kompaktne jako miniatury infografik: obrazek vlevo, text vedle.
       POZOR: boxed kontejner ma deti v .e-con-inner — grid patri na nej, ne na kartu */
    .mh-revi-karta { padding: 14px 16px 14px 14px !important; }
    .mh-revi-karta > .e-con-inner {
        display: grid !important;
        grid-template-columns: 96px minmax(0, 1fr);
        column-gap: 16px !important;
        row-gap: 2px !important;
        align-items: center;
        justify-items: start;
    }
    .mh-revi-karta > .e-con-inner > .elementor-widget-image { grid-column: 1; grid-row: 1 / span 2; width: 96px !important; max-width: 96px; }
    /* obrazek vlevo pres 2 auto radky; vpravo rada / nazev kolem stredu
       (kicker WORKSHOP... byl z boxu odebran 15. 8.) */
    .mh-revi-karta > .e-con-inner > .elementor-widget-image { grid-row: 1 / span 2 !important; }
    .mh-revi-karta > .e-con-inner > .mh-revi-rada { grid-column: 2; grid-row: 1; width: auto !important; align-self: end; }
    .mh-revi-karta > .e-con-inner > .mh-revi-rada .elementor-heading-title { text-align: left !important; font-size: 13px !important; margin: 0 !important; }
    .mh-revi-karta > .e-con-inner > .elementor-widget-heading:not(.mh-revi-rada) { grid-column: 2; grid-row: 2; width: auto !important; align-self: start; }
    .mh-revi-karta .elementor-widget-heading:not(.mh-revi-rada) .elementor-heading-title { text-align: left !important; font-size: 19px !important; margin: 0 !important; }
    .mh-revi-karta .elementor-widget-button,
    .mh-revi-karta .mh-revi-badge { display: none !important; }
    .mh-revi-karta > .e-con-inner > .mh-revi-badge-widget,
    .mh-revi-karta > .e-con-inner > .mh-revi-odkaz-widget { grid-column: 1; grid-row: 1; width: 0; height: 0; }
}

/* Novinky ("Co pribylo") — uzky sloupecek vpravo v hero, jen desktop */
#archiv.e-con { position: relative; }
.mh-novinky {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 200px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 7px;
    text-align: right;
    z-index: 5;
}
.mh-novinky-nadpis {
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #6f6a61;
    background: #fff;
    padding: 3px 8px;
}
a.mh-novinky-pol {
    background: #fff;
    padding: 4px 8px;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 12.5px;
    line-height: 1.35;
    color: #111;
    text-decoration: none;
}
a.mh-novinky-pol:hover { color: #C83E4D; }
a.mh-novinky-pol .mh-novinky-datum { color: #C83E4D; font-weight: 700; margin-right: 6px; }
@media (max-width: 1024px) { .mh-novinky { display: none; } }
html.mh-dark .mh-novinky-nadpis, html.mh-dark a.mh-novinky-pol { background: #131313; }
html.mh-dark a.mh-novinky-pol { color: #d6d6d6; }

/* Go: popup "Kreativa ve sluzbe" */
.mh-go-obsah { display: none; }
.mh-go-pozadi .mh-pop-panel.mh-go-panel { width: min(880px, 100%); }
.mh-go-panel .mh-go-velky p { font-size: 18.5px; line-height: 1.65; margin: 0 0 14px; }
.mh-go-panel ul.mh-go-seznam { margin: 0 0 16px; padding-left: 22px; }
.mh-go-panel ul.mh-go-seznam li { font-size: 16px; line-height: 1.55; margin-bottom: 7px; }
.mh-go-panel .mh-go-mensi p { font-size: 16px; margin: 0 0 10px; }
.mh-go-panel h4 {
    font-family: 'Novela Poster', Georgia, serif !important;
    font-weight: 900 !important;
    font-size: 24px !important;
    margin: 26px 0 10px;
}
.mh-go-panel a { color: inherit; text-decoration: underline; }
.mh-go-panel a:hover { color: #C83E4D; }
.mh-go-cit { border-left: 3px solid #1659D8; background: #F2F5FD; padding: 14px 18px 12px 20px; margin: 0 0 12px; }
.mh-go-cit p { font-style: italic; font-size: 15px; line-height: 1.55; margin: 0 0 8px; }
.mh-go-cit .mh-go-zdroj { font-style: normal; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; color: #1659D8; font-size: 14px; }
.mh-go-pozn { border-left: 3px solid #0F7345; background: #F0FAF5; padding: 12px 18px; margin: 0 0 12px; }
.mh-go-pozn p { font-size: 15px; line-height: 1.55; margin: 0; }
html.mh-dark .mh-go-cit { background: #17202e; }
html.mh-dark .mh-go-pozn { background: #14211a; }

/* Paticka: sloupec NA WEBU zarovnany k pravemu okraji */
.mh-footer-menu { align-items: flex-end; }
.mh-footer-menu p { text-align: right; }

/* dodelavky: vetsi ikona hamburgeru (widgetove CSS ji drzelo na 22px)
   + kotva novinek: wrapper widgetu ma position:relative -> absolutni .mh-novinky
   se lepila k nemu; wrapper zneutralizovat, at se kotvi k sekci #archiv */
@media (max-width: 1024px) {
    .elementor-menu-toggle i { font-size: 30px !important; }
}
.mh-novinky-widget { position: static !important; width: 0 !important; height: 0 !important; margin: 0 !important; }

/* ==== Scenka Surfar: fotka bez ikony prehravani + genericky sablonovy popup ==== */
.mh-scenka-foto .elementor-widget-container::before,
.mh-scenka-foto .elementor-widget-container::after { display: none !important; }
[class*="mh-otvirak-"] { cursor: pointer; }
[class*="mh-sablona-"] { display: none; }
.mh-pop-panel.mh-sab-panel { width: min(880px, 100%); }
.mh-sab-panel h4 {
    font-family: 'Novela Poster', Georgia, serif !important;
    font-weight: 900 !important;
    font-size: 23px !important;
    margin: 24px 0 8px;
}
.mh-sab-panel p { font-size: 15.5px; line-height: 1.62; margin: 0 0 12px; }
.mh-sab-panel ul { margin: 0 0 14px; padding-left: 20px; }
.mh-sab-panel li { font-size: 15.5px; line-height: 1.55; margin-bottom: 5px; }
.mh-sab-panel a { color: inherit; text-decoration: underline; }
.mh-sab-panel a:hover { color: #C83E4D; }
.mh-surf-bible { border-left: 3px solid #D9294C; background: #FFEEF1; padding: 12px 16px; margin: 0 0 12px; }
.mh-surf-bible p { font-style: italic; margin: 0 0 6px; }
.mh-surf-bible .mh-surf-ref { font-style: normal; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; color: #D9294C; font-size: 13.5px; }
.mh-surf-scena { border-left: 3px solid #0F7345; background: #F0FAF5; padding: 12px 16px; margin: 0 0 12px; }
.mh-surf-scena p { margin: 0 0 6px; }
.mh-surf-predel { text-align: center; font-style: italic; color: #6f6a61; margin: 20px 0 !important; }
html.mh-dark .mh-surf-bible { background: #2a151a; }
html.mh-dark .mh-surf-scena { background: #14211a; }

/* ==== Hudba: kompaktni radky 5.-10. pisne (jako miniatury infografik) ====== */
.mh-hudba-mini-mrizka > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px !important;
}
@media (max-width: 1024px) {
    .mh-hudba-mini-mrizka > .e-con-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .mh-hudba-mini-mrizka > .e-con-inner { grid-template-columns: 1fr; }
}
/* Elementor na mobilu preklapi row -> column; kompaktni karta ma zustat radkem */
.mh-hudba-mini > .e-con-inner { align-items: center; flex-direction: row !important; flex-wrap: nowrap !important; }
.mh-hudba-mini .mh-hudba-mini-obr { flex: 0 0 104px; width: 104px !important; max-width: 104px; }
.mh-hudba-mini .mh-hudba-mini-obr img { width: 104px; height: 104px; object-fit: cover; display: block; }
.mh-hudba-mini-titul {
    font-family: 'Novela Poster', Georgia, serif;
    font-weight: 900;
    font-size: 18px;
    line-height: 1.15;
    margin: 0 0 4px !important;
}
.mh-hudba-mini-ukazka {
    font-size: 12.5px;
    line-height: 1.4;
    color: #111;
    margin: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
/* tlacitka v kompaktnich kartach nizsi */
.mh-hudba-mini .elementor-button { padding: 3px 12px !important; font-size: 11.5px !important; }
/* text musi zacinat na stejne svislici jako tlacitka (widget nese padding 18px) */
.mh-hudba-mini .elementor-widget-text-editor { padding-left: 0 !important; padding-right: 0 !important; }
/* tesneji k textu: pryc vnitrni paddingy radku tlacitek + mensi gap sloupce */
.mh-hudba-mini .mh-radek-tlacitek,
.mh-hudba-mini .mh-radek-tlacitek > .e-con-inner { padding: 0 !important; }
/* vic nez dve tlacitka se musi zalomit, jinak pretekaji z karty */
.mh-hudba-mini .mh-radek-tlacitek > .e-con-inner { flex-wrap: wrap !important; row-gap: 6px !important; }
.mh-hudba-mini > .e-con-inner > .e-con > .e-con-inner { row-gap: 4px !important; }
html.mh-dark .mh-hudba-mini-ukazka { color: #d6d6d6; }

/* Lewisuv citat v sekci Modlitby: v tmavem rezimu bile pismo (widget ma #555,
   zdrojovy radek inline #111 -> nutne !important) */
html.mh-dark .mh-modl-lewis,
html.mh-dark .mh-modl-lewis p,
html.mh-dark .mh-modl-lewis em,
html.mh-dark .mh-modl-lewis span { color: #ffffff !important; }

/* ==== Tmavy rezim: citelnost textu (audit kontrastu 2026-08-11) ============
   Pravidlo: sede a tmave texty musi byt v tmavem rezimu svetle.
   Inline barvy z exportovanych infografik chytame pres [style*=...] s priznakem
   "i" (zdroje michaji #hex i rgb() zapis a ruzna velikost pismen). */

/* 1) drobne citace pod texty (hrad — builder trida) + autor u karet citatu */
html.mh-dark .mh-drobna-citace,
html.mh-dark .mh-drobna-citace p,
html.mh-dark .mh-drobna-citace em,
html.mh-dark .mh-drobna-citace strong,
html.mh-dark .mh-citat-autor { color: #ffffff !important; }

/* 2) sede a inkoustove inline barvy v infografikach -> svetle */
html.mh-dark [style*="color:#55524d" i],
html.mh-dark [style*="color: #55524d" i],
html.mh-dark [style*="color: rgb(85, 82, 77)" i],
html.mh-dark [style*="color:#8a857c" i],
html.mh-dark [style*="color: #8a857c" i],
html.mh-dark [style*="color: rgb(138, 133, 124)" i],
html.mh-dark [style*="color:#161513" i],
html.mh-dark [style*="color: #161513" i],
html.mh-dark [style*="color: rgb(22, 21, 19)" i],
html.mh-dark [style*="color:#33312d" i] { color: #f2f2f2 !important; }

/* 3) bile boxy v BEMA infografikach (nemaji .mh-mdis scope) -> tmave,
      jinak v nich svetly dedeny text zustane na bilem pozadi */
html.mh-dark .mh-ig-sekce [style*="background:#fff" i],
html.mh-dark .mh-ig-sekce [style*="background: #fff" i],
html.mh-dark .mh-ig-sekce [style*="background:white" i] { background-color: #131313 !important; }

/* 4) barevne akcenty: v tmavem rezimu svetlejsi odstin tehoz tonu */
html.mh-dark .mh-cit-jina .mh-cit-odkaz p,
html.mh-dark [style*="color:#1659d8" i],
html.mh-dark [style*="color: #1659d8" i],
html.mh-dark [style*="color: rgb(22, 89, 216)" i] { color: #7aa5ff !important; }
html.mh-dark .mh-cit-pribeh .mh-cit-odkaz p,
html.mh-dark [style*="color:#0f7345" i],
html.mh-dark [style*="color: #0f7345" i],
html.mh-dark [style*="color: rgb(15, 115, 69)" i] { color: #4fbf8b !important; }
html.mh-dark [style*="color:#7527c9" i],
html.mh-dark [style*="color: #7527c9" i],
html.mh-dark [style*="color: rgb(117, 39, 201)" i],
html.mh-dark [style*="color:#7231c9" i] { color: #b48aff !important; }

/* 5) kolecka a stitky diagramu, ktere si PONECHAVAJI bily podklad — uvnitr nich
      musi zustat tmavy inkoust. Zamerne UZKE: siroke pravidlo na kazdy
      [style*=background:#fff] shodilo i boxy, ktere se na tmave prevadeji. */
html.mh-dark [style*="border-radius:50%" i][style*="background:#fff" i],
html.mh-dark .mh-ch-platno [style*="background:#fff" i],
html.mh-dark .mh-ch-platno [style*="background: #fff" i] {
    color: #161513;
    --ink: #161513;
    --gray-1: #33312d;
    --gray-2: #55524d;
    --info-blue: #1659d8;
    --info-purple: #7527c9;
    --info-green: #0f7345;
    --info-red: #d9294c;
}
html.mh-dark [style*="border-radius:50%" i][style*="background:#fff" i] *,
html.mh-dark .mh-ch-platno [style*="background:#fff" i] * { color: inherit !important; }

/* 6) drobne popisky s vlastni tridou */
html.mh-dark .kf-pozn,
html.mh-dark .mh-text-cerny,
html.mh-dark .mh-text-cerny p,
html.mh-dark .mh-text-cerny em,
html.mh-dark .mh-text-cerny strong { color: #f2f2f2 !important; }

/* 7) posledni zbytky z auditu: barvy nastavene tridou, ne inline */
html.mh-dark .mp-komu { color: #b48aff; }
html.mh-dark .mp-komu i { color: #a5a19a; }
html.mh-dark .mh-tl2-predel-nazev.je-pred { color: #b48aff; }
html.mh-dark .vh-citaty cite { color: #a5a19a; }

/* 8) plochy, ktere v tmavem rezimu ZUSTAVAJI bile (kolecka a stitky diagramu):
      uvnitr nich se vraci puvodni tmavy/barevny inkoust, jinak by svitil svetly
      text na bilem. Pravidla 2 a 4 vyse maji nizsi specificitu. */
html.mh-dark [style*="background:#fff" i][style*="color:#161513" i],
html.mh-dark [style*="background:#fff" i] [style*="color:#161513" i] { color: #161513 !important; }
html.mh-dark [style*="background:#fff" i][style*="color:#55524d" i],
html.mh-dark [style*="background:#fff" i] [style*="color:#55524d" i] { color: #55524d !important; }
html.mh-dark [style*="background:#fff" i][style*="color:#8a857c" i],
html.mh-dark [style*="background:#fff" i] [style*="color:#8a857c" i] { color: #8a857c !important; }
html.mh-dark [style*="background:#fff" i][style*="color:#1659d8" i],
html.mh-dark [style*="background:#fff" i] [style*="color:#1659d8" i] { color: #1659d8 !important; }
html.mh-dark [style*="background:#fff" i][style*="color:#7527c9" i],
html.mh-dark [style*="background:#fff" i] [style*="color:#7527c9" i] { color: #7527c9 !important; }
html.mh-dark [style*="background:#fff" i][style*="color:#0f7345" i],
html.mh-dark [style*="background:#fff" i] [style*="color:#0f7345" i] { color: #0f7345 !important; }
html.mh-dark [style*="background:#fff" i][style*="color:#d9294c" i],
html.mh-dark [style*="background:#fff" i] [style*="color:#d9294c" i] { color: #d9294c !important; }

/* vyjimka: v BEMA sekcich se bily box PREVADI na tmavy -> text zustava svetly */
html.mh-dark .mh-ig-sekce [style*="background:#fff" i] [style*="color:#161513" i],
html.mh-dark .mh-ig-sekce [style*="background:#fff" i] [style*="color:#55524d" i],
html.mh-dark .mh-ig-sekce [style*="background:#fff" i] [style*="color:#8a857c" i] { color: #f2f2f2 !important; }

/* 9) blok Zdroje: vnitrni radky nesmi drzet bily podklad (obal uz je tmavy) */
html.mh-dark .mh-prameny,
html.mh-dark .mh-prameny * { background-color: transparent !important; }
html.mh-dark [style*="background:#fff;padding:14px 20px 16px"] { background-color: #131313 !important; }

/* 10) popisky pod grafy na hradu */
html.mh-dark .vh-autori-pozn,
html.mh-dark .vh-graf-pozn { color: #a5a19a !important; }

/* 8c) akcenty uvnitr BEMA boxu, ktere se prevadeji na tmave — svetlejsi ton
       (pravidlo 8 je jinak vratilo na puvodni tmavy odstin) */
html.mh-dark .mh-ig-sekce [style*="background:#fff" i] [style*="color:#1659d8" i] { color: #7aa5ff !important; }
html.mh-dark .mh-ig-sekce [style*="background:#fff" i] [style*="color:#7527c9" i] { color: #b48aff !important; }
html.mh-dark .mh-ig-sekce [style*="background:#fff" i] [style*="color:#0f7345" i] { color: #4fbf8b !important; }
html.mh-dark .mh-ig-sekce [style*="background:#fff" i] [style*="color:#d9294c" i] { color: #ff6b83 !important; }

/* 11) SVG popisek duse na hradu (fill atribut) — na tmavem pozadi kontrast 2.9 */
html.mh-dark .vh-duse-popisek { fill: #7aa5ff; }

/* 12) prekryvne popisky nad SVG/obrazkovymi diagramy: bila plocha je soucasti
       OBRAZKU (ne CSS pozadi), takze mereni kontrastu ji nevidi a pravidla vyse
       by na ni rozsvitila text. Uvnitr techto obalu drzime puvodni inkousty. */
html.mh-dark .mh-ch1-stred,
html.mh-dark .mh-gen1-ram,
html.mh-dark .mh-gen1-popisky { color: #161513; }
html.mh-dark .mh-ch1-stred [style*="color:#161513" i],
html.mh-dark .mh-gen1-popisky [style*="color:#161513" i] { color: #161513 !important; }
html.mh-dark .mh-ch1-stred [style*="color:#d9294c" i],
html.mh-dark .mh-gen1-popisky [style*="color:#d9294c" i] { color: #d9294c !important; }
html.mh-dark .mh-ch1-stred [style*="color:#1659d8" i],
html.mh-dark .mh-gen1-popisky [style*="color:#1659d8" i] { color: #1659d8 !important; }
html.mh-dark .mh-ch1-stred [style*="color:#7527c9" i],
html.mh-dark .mh-gen1-popisky [style*="color:#7527c9" i] { color: #7527c9 !important; }
html.mh-dark .mh-ch1-stred [style*="color:#0f7345" i],
html.mh-dark .mh-gen1-popisky [style*="color:#0f7345" i] { color: #0f7345 !important; }
html.mh-dark .mh-ch1-stred [style*="color:#55524d" i],
html.mh-dark .mh-gen1-popisky [style*="color:#55524d" i] { color: #55524d !important; }

/* Mobil: svisle odsazeni sekci bylo 70+70 px = 140 px mezi sekcemi — na telefonu
   zbytecne velka prazdna plocha (a Elementor padding sedi na .e-con-inner) */
@media (max-width: 767px) {
    /* JEN sekce nejvyssi urovne (.e-parent) — siroke pravidlo na kazdy .e-con-inner
       nafouklo i karty uvnitr sekci */
    .e-con.e-parent > .e-con-inner { padding-top: 40px !important; padding-bottom: 40px !important; }
    #archiv > .e-con-inner { padding-top: 34px !important; padding-bottom: 20px !important; }
}

/* ==== Tmavy rezim: popup se musi oddelit od pozadi =======================
   tmavy panel na tmavem poloprusvitnem prekryti splyval */
html.mh-dark .mh-pop-pozadi { background: rgba(0, 0, 0, .94); }
/* prekryti je temer cerne -> panel (#131313) se od nej odlisi sam, bily ramecek
   uz neni potreba; jen stin pro hloubku */
html.mh-dark .mh-pop-panel { box-shadow: 0 18px 60px rgba(0, 0, 0, .75); }

/* Napady: dalsi fotky pod nahledovkou v levem sloupci (klik = lightbox) */
.mh-pop-obr-fotky {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 8px;
}
.mh-pop-obr-fotky .mh-pop-slide img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; }
@media (max-width: 860px) {
    .mh-pop-obr-fotky { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ==== Stranka za heslem (model ZamekHeslem) =============================== */
a.mh-nap-b { text-decoration: none !important; }
.mh-zamek-brana {
    max-width: 620px;
    margin: 0 auto;
    background: #fff;
    padding: 34px 34px 30px;
}
html.mh-dark .mh-zamek-brana { background: #131313; }
.mh-zamek-brana .mh-zamek-uvod { font-size: 17px; line-height: 1.6; margin: 0 0 14px; }
.mh-zamek-brana .mh-zamek-vyzva { font-size: 15.5px; margin: 0 0 4px; }
.mh-zamek-chyba {
    margin: 10px 0 0;
    font-size: 14px;
    font-weight: 700;
    color: #C83E4D;
}
.mh-zamek-form {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    margin: 16px 0 0;
}
.mh-zamek-popisek {
    display: block;
    width: 100%;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #6f6a61;
    margin-bottom: 4px;
}
input.mh-zamek-pole {
    flex: 1 1 240px;
    min-width: 0;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 15px;
    padding: 9px 12px;
    border: 1px solid #111;
    border-radius: 0;
    background: #fff;
    color: #111;
}
html.mh-dark input.mh-zamek-pole { background: #1d1d1d; color: #f2f2f2; border-color: #f2f2f2; }
body button.mh-zamek-odeslat {
    flex: 0 0 auto;
    background: #111;
    color: #fff;
    border: 1px solid #111;
    border-radius: 999px;
    padding: 10px 24px;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease;
}
body button.mh-zamek-odeslat:hover { background: #C83E4D; border-color: #C83E4D; }
html.mh-dark body button.mh-zamek-odeslat { background: #f2f2f2; color: #131313; border-color: #f2f2f2; }
html.mh-dark body button.mh-zamek-odeslat:hover { background: #C83E4D; border-color: #C83E4D; color: #fff; }
.mh-zamek-pozn { margin: 18px 0 0; font-size: 13.5px; line-height: 1.5; color: #6f6a61; }
.mh-zamek-pozn a { color: inherit; text-decoration: underline; }
.mh-zamek-pozn a:hover { color: #C83E4D; }
html.mh-dark .mh-zamek-pozn { color: #a5a19a; }
.mh-zamek-obsah { background: #fff; padding: 30px 34px; }
html.mh-dark .mh-zamek-obsah { background: #131313; }
@media (max-width: 640px) {
    .mh-zamek-brana { padding: 24px 20px 22px; }
    .mh-zamek-obsah { padding: 22px 18px; }
}

/* Patička na dně okna i u kratkych stranek (napr. /web-mladeze/ pred zadanim
   hesla) — jinak koncil dokument uprostred obrazovky a pod nim bylo bilo.
   Hlavicka je position:fixed, takze neni flex polozkou; tecky (body::before)
   taky ne — layout se tim nemeni. */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
body > .elementor-location-footer { margin-top: auto; }

/* /web-mladeze/: robot vlevo, brana s heslem vpravo */
.mh-zamek-obrazek { flex: 0 0 300px !important; width: 300px !important; max-width: 300px !important; }
.mh-zamek-obrazek img { width: 100%; height: auto; display: block; }
.mh-zamek-sloupec { flex: 1 1 0 !important; min-width: 0; }
.mh-zamek-sloupec .mh-zamek-brana { margin: 0; }
@media (max-width: 767px) {
    /* Elementor sam nezalomi radek, kteremu je smer nastaveny natvrdo */
    .mh-zamek-radek, .mh-zamek-radek > .e-con-inner { flex-direction: column !important; }
    .mh-zamek-obrazek { flex: 0 0 auto !important; width: 190px !important; max-width: 190px !important; margin: 0 auto; }
    .mh-zamek-sloupec { flex: 1 1 auto !important; width: 100% !important; max-width: none !important; }
}

/* ==== Loader pop-upu: dve vodovkove kanky pres sebe ======================= */
.mh-loader {
    position: relative;
    width: 82px;
    height: 82px;
    margin: 60px auto;
}
.mh-loader-k {
    position: absolute;
    inset: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    transform-origin: 50% 50%;
    opacity: 0;
}
/* spodni kanka: pomalejsi otaceni, nastupuje hned */
.mh-loader-k2 {
    background-image: url('../img/mh-loader2.png');
    animation: mh-loader-toc 3.2s linear infinite, mh-loader-nastup .7s ease-out .05s forwards;
}
/* vrchni kanka: stejny smer, rychleji, nastupuje az po ni */
.mh-loader-k1 {
    background-image: url('../img/mh-loader1.png');
    animation: mh-loader-toc 1.9s linear infinite, mh-loader-nastup .8s ease-out .55s forwards;
}
@keyframes mh-loader-toc {
    from { rotate: 0deg; }
    to { rotate: 360deg; }
}
@keyframes mh-loader-nastup {
    from { opacity: 0; }
    to { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .mh-loader-k { animation: mh-loader-nastup .4s ease-out both; }
}

/* Hudba: tlacitko videoklipu u velkych karet — cervene */
.mh-btn-klip .elementor-button {
    background-color: #C83E4D !important;
    border-color: #C83E4D !important;
    color: #fff !important;
}
.mh-btn-klip .elementor-button:hover {
    background-color: #111111 !important;
    border-color: #111111 !important;
    color: #fff !important;
}

/* ==== Slouceni Revitalizace pod Talky (2026-08-12) ======================== */
/* kotva pro stare odkazy /#revitalizace */
.mh-kotva { display: block; height: 0; scroll-margin-top: 104px; }
/* drobny nadpis workshopu v boxech Ready/Steady/Go */
.mh-revi-kicker {
    text-align: center;
    font-family: 'Urban Grotesk', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .09em;
    color: #6f6a61;
    margin: 0 0 2px !important;
}
html.mh-dark .mh-revi-kicker { color: #a5a19a; }
/* poznamka u rozdeleneho citatu (Merton: Ready <-> Go) */
.mh-cit-pozn {
    font-style: normal;
    font-size: 12px;
    color: #6f6a61;
}
html.mh-dark .mh-cit-pozn { color: #a5a19a; }

/* text pisne v popupu (sablonovy popup z velkych karet Hudby) */
.mh-sab-panel .mh-pisen-text { columns: 2 320px; column-gap: 44px; margin-top: 6px; }
.mh-sab-panel .mh-pisen-text p { font-size: 15px; line-height: 1.55; margin: 0 0 14px; break-inside: avoid; }

/* rada (I/ Ready...) nad obrazkem v boxech */
.mh-revi-rada .elementor-heading-title {
    font-family: 'Novela Poster', Georgia, serif;
    font-weight: 900;
    font-size: 24px;
    line-height: 1.1;
    margin: 0;
}

/* ------------------------------------------------ Go popup: casova osa obsahu -- */
.mh-go-osa { position: relative; margin: 20px 0 24px; padding-left: 30px; }
.mh-go-osa::before { content: ''; position: absolute; left: 8px; top: 14px; bottom: 14px; width: 2px; background: #D9294C; }
.mh-go-panel a.mh-go-osa-bod { position: relative; display: flex; gap: 20px; align-items: center; padding: 9px 0; text-decoration: none; color: inherit; }
.mh-go-panel a.mh-go-osa-bod:hover { color: inherit; }
.mh-go-osa-bod::before { content: ''; position: absolute; left: -28px; top: 50%; transform: translateY(-50%); width: 13px; height: 13px; border-radius: 50%; background: #fff; border: 3px solid #D9294C; box-sizing: border-box; }
.mh-go-osa-text { flex: 1 1 auto; min-width: 0; }
.mh-go-osa-titul { display: block; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 19px; line-height: 1.15; color: #111111; }
.mh-go-osa-popis { display: block; margin-top: 4px; font-size: 13.5px; line-height: 1.45; color: #55524d; }
.mh-go-osa-nahled { flex: 0 0 auto; width: 200px; aspect-ratio: 3 / 2; border: 1px solid #111111; border-radius: 5px; overflow: hidden; background: #fff; }
.mh-go-osa-nahled img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
@media (hover: hover) {
    .mh-go-osa-bod:hover .mh-go-osa-titul { color: #D9294C; }
    .mh-go-osa-bod:hover .mh-go-osa-nahled { border-color: #D9294C; }
}
@media (max-width: 640px) {
    .mh-go-osa-bod { flex-wrap: wrap; row-gap: 10px; }
    .mh-go-osa-nahled { width: 100%; }
}
html.mh-dark .mh-go-osa-titul { color: #ffffff; }
html.mh-dark .mh-go-osa-popis { color: #a5a19a; }
html.mh-dark .mh-go-osa-bod::before { background: #131313; }
html.mh-dark .mh-go-osa-nahled { border-color: #3a3a3a; background: #131313; }

/* ------------------------------------------------ Go popup: kroky 1-2-3 ----- */
.mh-go-kroky { margin: 4px 0 20px; }
.mh-go-krok { display: flex; gap: 18px; align-items: flex-start; padding: 9px 0; }
.mh-go-krok-cislo { flex: 0 0 auto; width: 46px; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 46px; line-height: 0.95; color: #D9294C; text-align: center; }
.mh-go-krok-titul { display: block; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 19px; line-height: 1.15; color: #111111; }
.mh-go-krok-text { display: block; margin-top: 4px; font-size: 14.5px; line-height: 1.5; color: #55524d; }
html.mh-dark .mh-go-krok-titul { color: #ffffff; }
html.mh-dark .mh-go-krok-text { color: #a5a19a; }

/* ------------------------------------------------ Modlitebni kalkulacka ---- */
.mh-kalk-vstup { display: flex; gap: 18px; align-items: center; background: #fff; border: 1px solid #111; border-radius: 6px; padding: 18px 22px; text-decoration: none; color: inherit; }
.mh-kalk-vstup-ikona { flex: 0 0 auto; width: 44px; height: 44px; color: #D9294C; }
.mh-kalk-vstup-ikona svg { width: 100%; height: 100%; }
.mh-kalk-vstup-obrazek { flex: 0 0 auto; width: 62px; margin: -9px 2px -7px 0; }
.mh-kalk-vstup-obrazek img { display: block; width: 100%; height: auto; }
@media (hover: hover) { .mh-kalk-vstup:hover .mh-kalk-vstup-obrazek { transform: scale(1.06); } .mh-kalk-vstup-obrazek { transition: transform .25s; } }
.mh-kalk-vstup-titul { display: block; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 22px; line-height: 1.1; color: #111; }
.mh-kalk-vstup-popis { display: block; margin-top: 4px; font-size: 14px; line-height: 1.45; color: #55524d; }
.mh-kalk-vstup-sipka { flex: 0 0 auto; margin-left: auto; font-size: 26px; color: #111; }
@media (hover: hover) { .mh-kalk-vstup:hover { border-color: #D9294C; } .mh-kalk-vstup:hover .mh-kalk-vstup-titul, .mh-kalk-vstup:hover .mh-kalk-vstup-sipka { color: #D9294C; } }

.mh-kalk { max-width: 760px; margin: 0 auto; }
.mh-kalk-hlava { display: flex; align-items: center; gap: 16px; margin: 0 0 12px; }
.mh-kalk-progres { display: flex; gap: 4px; align-items: center; flex: 1 1 auto; }
.mh-kalk-dilek { height: 6px; flex: 1 1 auto; border-radius: 3px; background: #e3ded6; }
.mh-kalk-dilek.je-hotovy { background: #D9294C; }
.mh-kalk-dilek-mezera { width: 6px; flex: 0 0 auto; }
.mh-kalk-mini { border: 0; background: none; padding: 4px 6px; font-family: 'Urban Grotesk', sans-serif; font-size: 12px; color: #55524d; text-decoration: underline; cursor: pointer; }
.mh-kalk-mini:hover { color: #D9294C; }

.mh-kalk-karta { background: #fff; border: 1px solid #111; border-radius: 8px; padding: 30px 34px 28px; }
.mh-kalk-kicker { margin: 0 0 10px; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 0.12em; color: #8a857c; }
.mh-kalk-karta h3 { font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 27px; line-height: 1.15; margin: 0 0 12px; color: #111; }
.mh-kalk-uvod { font-size: 14.5px; line-height: 1.55; color: #55524d; margin: 0 0 18px; padding-bottom: 14px; border-bottom: 1px solid #eee7dd; }
.mh-kalk-otazka { margin-top: 4px; }
.mh-kalk-pozn { font-size: 13px; font-style: italic; color: #8a857c; margin: -4px 0 12px; }
.mh-kalk-karta p { font-size: 15px; line-height: 1.6; color: #33312d; }

.mh-kalk-skala, .mh-kalk-moznosti { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }
button.mh-kalk-volba { display: flex; align-items: center; gap: 14px; width: 100%; text-align: left; background: #fff !important; border: 1px solid #c9c2b6 !important; border-radius: 6px; padding: 12px 16px !important; font-family: 'Urban Grotesk', sans-serif !important; font-size: 15px !important; line-height: 1.4; color: #111 !important; text-transform: none !important; cursor: pointer; }
button.mh-kalk-volba:hover { border-color: #D9294C !important; color: #D9294C !important; }
.mh-kalk-volba-tecka { flex: 0 0 auto; width: 14px; height: 14px; border-radius: 50%; border: 2px solid #c9c2b6; }
button.mh-kalk-volba:hover .mh-kalk-volba-tecka { border-color: #D9294C; }
.mh-kalk-volba-pismeno { flex: 0 0 auto; width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 1.5px solid #111; font-weight: 700; font-size: 14px; }
button.mh-kalk-volba:hover .mh-kalk-volba-pismeno { border-color: #D9294C; }

.mh-kalk-tlacitka { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
a.mh-kalk-btn, button.mh-kalk-btn { display: inline-flex; align-items: center; background: #111 !important; color: #fff !important; border: 1px solid #111 !important; border-radius: 999px; padding: 10px 22px !important; font-family: 'Urban Grotesk', sans-serif !important; font-size: 14px !important; font-weight: 700; text-decoration: none; cursor: pointer; text-transform: none !important; }
a.mh-kalk-btn:hover, button.mh-kalk-btn:hover { background: #D9294C !important; border-color: #D9294C !important; color: #fff !important; }
a.mh-kalk-btn.je-obrys, button.mh-kalk-btn.je-obrys { background: #fff !important; color: #111 !important; }
a.mh-kalk-btn.je-obrys:hover, button.mh-kalk-btn.je-obrys:hover { background: #fff !important; color: #D9294C !important; border-color: #D9294C !important; }

.mh-kalk-perlicka { border-left: 4px solid #EAB43B; }
.mh-kalk-perlicka-text { font-size: 16px !important; line-height: 1.6; }
.mh-kalk-checkpoint { border-left: 4px solid #0F7345; }

.mh-kalk-vysledek { padding: 18px 0 26px; border-bottom: 1px solid #eee7dd; }
.mh-kalk-vysledek:last-of-type { border-bottom: 0; }
.mh-kalk-vysledek-obr { display: block; border: 1px solid #111; border-radius: 6px; overflow: hidden; margin: 6px 0 16px; }
.mh-kalk-vysledek-obr img { display: block; width: 100%; height: auto; }
.mh-kalk-osa { position: relative; height: 46px; margin: 10px 0 6px; }
.mh-kalk-osa-pruh { position: absolute; left: 0; right: 0; top: 12px; height: 8px; border-radius: 4px; background: linear-gradient(90deg, #D9294C, #7527C9); }
.mh-kalk-osa-marker { position: absolute; top: 2px; width: 0; }
.mh-kalk-osa-marker span { position: absolute; left: -14px; top: 0; width: 28px; height: 28px; border-radius: 50%; background: #fff; border: 4px solid #111; box-sizing: border-box; }
.mh-kalk-osa-pop { position: absolute; top: 32px; font-size: 10.5px; font-weight: 700; letter-spacing: 0.1em; color: #8a857c; }
.mh-kalk-osa-pop.levy { left: 0; } .mh-kalk-osa-pop.pravy { right: 0; }
.mh-kalk-komnaty { display: flex; gap: 8px; margin: 12px 0 8px; }
.mh-kalk-komnata { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 1.5px solid #c9c2b6; color: #8a857c; font-weight: 700; font-size: 14px; }
.mh-kalk-komnata.je-tvoje { border-color: #D9294C; background: #FFEEF1; color: #D9294C; }
.mh-kalk-dal-obal { justify-content: center; border-top: 1px solid #eee7dd; padding-top: 18px; }
.mh-kalk-vysledek.je-neuplny p { color: #8a857c; }

@media (max-width: 640px) {
    .mh-kalk-karta { padding: 22px 18px 20px; }
    .mh-kalk-komnata { width: 30px; height: 30px; font-size: 12.5px; }
    .mh-kalk-vstup { flex-wrap: wrap; }
    .mh-kalk-vstup-sipka { display: none; }
}

html.mh-dark .mh-kalk-karta, html.mh-dark .mh-kalk-vstup { background: #131313; border-color: #3a3a3a; }
html.mh-dark .mh-kalk-karta h3, html.mh-dark .mh-kalk-vstup-titul, html.mh-dark .mh-kalk-vstup-sipka { color: #fff; }
html.mh-dark .mh-kalk-karta p, html.mh-dark .mh-kalk-vstup-popis { color: #cfcbc4; }
html.mh-dark .mh-kalk-dilek { background: #2c2c2c; }
html.mh-dark .mh-kalk-dilek.je-hotovy { background: #D9294C; }
html.mh-dark button.mh-kalk-volba { background: #131313 !important; color: #fff !important; border-color: #3a3a3a !important; }
html.mh-dark button.mh-kalk-volba:hover { color: #ff8fa3 !important; border-color: #D9294C !important; }
html.mh-dark .mh-kalk-volba-pismeno { border-color: #cfcbc4; }
html.mh-dark a.mh-kalk-btn.je-obrys, html.mh-dark button.mh-kalk-btn.je-obrys { background: #131313 !important; color: #fff !important; border-color: #cfcbc4 !important; }
html.mh-dark .mh-kalk-vysledek, html.mh-dark .mh-kalk-dal-obal, html.mh-dark .mh-kalk-uvod { border-color: #2c2c2c; }
html.mh-dark .mh-kalk-osa-marker span { background: #131313; border-color: #fff; }
html.mh-dark .mh-kalk-komnata.je-tvoje { background: #2a1418; }
html.mh-dark .mh-kalk-vysledek-obr { border-color: #3a3a3a; background: #fff; }

/* ------------------------------------------- Koncepty (sloupek vlevo, jen admin) -- */
.mh-koncepty-widget { position: static !important; width: 0 !important; height: 0 !important; margin: 0 !important; }
.mh-koncepty { position: absolute; top: 14px; left: 14px; width: 200px; display: flex; flex-direction: column; align-items: flex-start; gap: 7px; text-align: left; z-index: 5; }
.mh-koncepty-nadpis { font-family: 'Urban Grotesk', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #6f6a61; background: #fff; padding: 3px 8px; }
a.mh-koncepty-pol { background: #fff; padding: 4px 8px; font-family: 'Urban Grotesk', sans-serif; font-size: 12.5px; line-height: 1.35; color: #111; text-decoration: none; }
a.mh-koncepty-pol:hover { color: #C83E4D; }
.mh-koncepty-cislo { color: #C83E4D; font-weight: 700; margin-right: 6px; }
.mh-koncepty-datum { display: block; font-size: 10.5px; color: #8a857c; }
@media (max-width: 1024px) { .mh-koncepty { display: none; } }
html.mh-dark .mh-koncepty-nadpis, html.mh-dark a.mh-koncepty-pol { background: #131313; }
html.mh-dark a.mh-koncepty-pol { color: #d6d6d6; }

/* ------------------------------------------------------- Mystika (koncept) ------- */
.mh-mys-banner { background: #fff; border: 1px solid #111; border-top: 5px solid #0F7345; border-radius: 6px; padding: 22px 24px 18px; height: 100%; box-sizing: border-box; }
.mh-mys-banner.je-modry { border-top-color: #1659D8; }
.mh-mys-banner.je-zluty { border-top-color: #EAB43B; }
.mh-mys-banner-kicker { margin: 0 0 10px; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: .12em; color: #8a857c; }
.mh-mys-banner-text { margin: 0; font-size: 15.5px; line-height: 1.6; font-style: italic; color: #33312d; }
.mh-mys-banner-zdroj { display: block; margin-top: 12px; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 13.5px; color: #0F7345; }
.je-modry .mh-mys-banner-zdroj { color: #1659D8; }
.je-zluty .mh-mys-banner-zdroj { color: #B8860B; }

.mh-mys-osa { position: relative; padding-left: 34px; }
.mh-mys-osa::before { content: ''; position: absolute; left: 10px; top: 16px; bottom: 16px; width: 2px; background: #D9294C; }
.mh-mys-krok { position: relative; background: #fff; border: 1px solid #111; border-radius: 6px; padding: 20px 24px 18px; margin-bottom: 16px; }
.mh-mys-krok::before { content: attr(data-cislo); position: absolute; left: -34px; top: 18px; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #D9294C; color: #fff; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 12.5px; }
.mh-mys-krok h3 { margin: 0 0 8px; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 23px; line-height: 1.1; color: #111; }
.mh-mys-krok p { margin: 0; font-size: 15px; line-height: 1.6; color: #33312d; }
.mh-mys-zdroj { display: inline-block; margin-top: 10px; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: .1em; color: #D9294C; }
.mh-mys-poznamky { background: #FFFAEE; border-left: 4px solid #EAB43B; border-radius: 0 6px 6px 0; padding: 18px 24px; }
.mh-mys-poznamky h3 { margin: 0 0 10px; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 19px; color: #111; }
.mh-mys-poznamky li { font-size: 14px; line-height: 1.55; color: #55524d; margin-bottom: 6px; }

html.mh-dark .mh-mys-banner, html.mh-dark .mh-mys-krok { background: #131313; border-color: #3a3a3a; }
html.mh-dark .mh-mys-banner-text, html.mh-dark .mh-mys-krok p { color: #cfcbc4; }
html.mh-dark .mh-mys-krok h3 { color: #fff; }
html.mh-dark .mh-mys-poznamky { background: #241d0d; }
html.mh-dark .mh-mys-poznamky h3 { color: #fff; }
html.mh-dark .mh-mys-poznamky li { color: #cfcbc4; }
.mh-mys-bannery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
@media (max-width: 900px) { .mh-mys-bannery { grid-template-columns: 1fr; } }
a.mh-mys-banner:hover .mh-mys-banner-zdroj { text-decoration: underline; }

/* ------------------------------------------- Mystika v2: stredova cesta ---- */
.mh-mys-banner { border-top-color: #111111; }
a.mh-mys-banner { text-decoration: none; }
.mh-mys-banner.je-svedectvi { background: #FFFAEE; border-color: #EAB43B; }
.mh-mys-banner.je-svedectvi .mh-mys-banner-kicker { color: #B8860B; }
.mh-mys-banner.je-svedectvi .mh-mys-banner-zdroj { color: #B8860B; }

.mh-mys-cesta { max-width: 1060px; margin: 8px auto 0; }
.mh-mys-radek { display: grid; grid-template-columns: 1fr 110px 1fr; }
.mh-mys-stred { position: relative; background: linear-gradient(#161513, #161513) center/4px 100% no-repeat; }
.mh-mys-stred.bez-cesty { background: none; }
.mh-mys-stred.je-cil { background: linear-gradient(#161513, #161513) center top/4px 52% no-repeat; }
.mh-mys-stred svg { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 110px; height: 150px; }
.mh-mys-radek.je-soutok .mh-mys-stred svg { position: static; transform: none; height: 120px; display: block; }
.mh-mys-radek.je-soutok .mh-mys-strana { min-height: 0; padding: 0 0 0 26px; align-items: flex-end; }
.mh-mys-soutok-pop { margin: 0 0 8px; font-size: 13px; color: #55524d; background: #fff; padding: 4px 10px; display: inline-block; }

.mh-mys-strana { padding: 16px 0; min-height: 158px; display: flex; align-items: center; }
.mh-mys-strana.je-leva { justify-content: flex-end; padding-right: 28px; }
.mh-mys-strana.je-prava { padding-left: 28px; }
.mh-mys-box { max-width: 440px; width: 100%; border-radius: 8px; padding: 22px 26px 18px; box-sizing: border-box; }
.mh-mys-box.je-negativni { background: #F2F5FD; border: 1px solid #1659D8; border-left-width: 4px; }
.mh-mys-box.je-pozitivni { background: #FFEEF1; border: 1px solid #D9294C; border-left-width: 4px; }
.mh-mys-box-kicker { margin: 0 0 6px; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: .12em; }
.je-negativni .mh-mys-box-kicker { color: #1659D8; }
.je-pozitivni .mh-mys-box-kicker { color: #D9294C; }
.mh-mys-box h3 { margin: 0 0 8px; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 24px; line-height: 1.1; color: #111; }
.mh-mys-box-text { margin: 0; font-size: 14.5px; line-height: 1.6; color: #33312d; }
.mh-mys-cit { margin: 14px 0 0; padding: 10px 14px; background: rgba(255, 255, 255, .8); border-radius: 6px; }
.mh-mys-cit p { margin: 0; font-style: italic; font-size: 14.5px; line-height: 1.55; color: #33312d; }
.mh-mys-cit cite { display: block; margin-top: 6px; font-style: normal; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: .08em; }
.je-negativni .mh-mys-cit cite { color: #1659D8; }
.je-pozitivni .mh-mys-cit cite { color: #D9294C; }
.mh-mys-zaver { text-align: center; margin: 4px 0 0; }
.mh-mys-zaver span { background: #fff; padding: 6px 12px; font-size: 15px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }

@media (max-width: 900px) {
    .mh-mys-radek { grid-template-columns: 1fr; }
    .mh-mys-stred { display: none; }
    .mh-mys-strana { min-height: 0; padding: 9px 0 !important; justify-content: stretch; }
    .mh-mys-strana:empty { display: none; }
    .mh-mys-box { max-width: none; }
    .mh-mys-radek.je-soutok { display: none; }
}

html.mh-dark .mh-mys-banner.je-svedectvi { background: #241d0d; }
html.mh-dark .mh-mys-stred { background-image: linear-gradient(#8a857c, #8a857c); }
html.mh-dark .mh-mys-box.je-negativni { background: #101828; }
html.mh-dark .mh-mys-box.je-pozitivni { background: #2a1418; }
html.mh-dark .mh-mys-box h3 { color: #fff; }
html.mh-dark .mh-mys-box-text, html.mh-dark .mh-mys-cit p { color: #cfcbc4; }
html.mh-dark .mh-mys-cit { background: rgba(0, 0, 0, .3); }
html.mh-dark .mh-mys-soutok-pop, html.mh-dark .mh-mys-zaver span { background: #131313; color: #d6d6d6; }

/* --------------------------------- Revitalizace: podlouhly banner + detail -- */
.mh-revi-pruh-widget { margin-top: 18px; }
.mh-revi-pruh { display: flex; align-items: center; gap: 22px; background: #fff; border: 1px solid #111; border-radius: 6px; padding: 16px 22px; }
.mh-revi-pruh-obrazky { flex: 0 0 auto; display: flex; align-items: center; }
.mh-revi-pruh-obrazky img { width: 76px; height: 70px; object-fit: contain; display: block; }
.mh-revi-pruh-obrazky img + img { margin-left: -18px; }
.mh-revi-pruh-text { flex: 1 1 auto; min-width: 0; }
.mh-revi-pruh-kicker { display: block; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 10.5px; letter-spacing: .12em; color: #6f6a61; }
.mh-revi-pruh-titul { display: block; margin-top: 2px; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 26px; line-height: 1.05; color: #111; }
.mh-revi-pruh-perex { display: block; margin-top: 6px; font-size: 13px; line-height: 1.5; color: #55524d; max-width: 760px; }
button.mh-revi-pruh-btn { flex: 0 0 auto; background: #C83E4D !important; color: #ffffff !important; border: 1px solid #C83E4D !important; border-radius: 999px; padding: 9px 26px !important; font-family: 'Urban Grotesk', sans-serif !important; font-size: 14px !important; font-weight: 700; cursor: pointer; }
button.mh-revi-pruh-btn:hover { background: #111111 !important; border-color: #111111 !important; }
@media (max-width: 860px) {
    .mh-revi-pruh { flex-wrap: wrap; gap: 14px; }
    .mh-revi-pruh-text { flex: 1 1 calc(100% - 200px); min-width: 220px; }
    button.mh-revi-pruh-btn { margin-left: auto; }
}

.mh-revi-mini-rada { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.mh-sab-panel a.mh-revi-mini { display: flex; gap: 12px; align-items: center; background: #fff; border: 1px solid #111; border-radius: 6px; padding: 10px 14px; text-decoration: none; color: inherit; }
.mh-revi-mini img { width: 54px; height: 50px; object-fit: contain; flex: 0 0 auto; }
.mh-revi-mini b { display: block; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 15px; line-height: 1.15; color: #111; }
.mh-revi-mini small { display: block; margin-top: 3px; font-size: 11.5px; line-height: 1.3; color: #6f6a61; }
@media (hover: hover) {
    .mh-sab-panel a.mh-revi-mini:hover { border-color: #D9294C; color: inherit; }
    .mh-sab-panel a.mh-revi-mini:hover b { color: #D9294C; }
}
@media (max-width: 760px) { .mh-revi-mini-rada { grid-template-columns: 1fr; } }

html.mh-dark .mh-revi-pruh, html.mh-dark .mh-sab-panel a.mh-revi-mini { background: #131313; border-color: #3a3a3a; }
html.mh-dark .mh-revi-pruh-titul, html.mh-dark .mh-revi-mini b { color: #ffffff; }
html.mh-dark .mh-revi-pruh-perex, html.mh-dark .mh-revi-mini small { color: #a5a19a; }

/* ---------------------------------------- Vrstvy hradu (koncept, plakaty) -- */
.mh-vh-sekce { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr) minmax(0, 1fr); gap: 26px; max-width: 1560px; margin: 0 auto; min-height: calc(100vh - 130px); align-items: start; padding: 24px 0 30px; }
.mh-vh-sloupec { min-width: 0; }
.mh-vh-sloupec.je-levy, .mh-vh-sloupec.je-pravy { align-self: center; }
.mh-vh-stred { text-align: center; }
.mh-vh-kicker { display: inline-block; margin: 0; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: .12em; color: #6f6a61; background: #fff; padding: 3px 10px; }
.mh-vh-titul { display: inline-block; margin: 8px auto 10px; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 46px; line-height: 1.05; color: #111; background: #fff; padding: 2px 16px 6px; }
.mh-vh-perex { max-width: 600px; margin: 0 auto; font-size: 14.5px; line-height: 1.6; color: #33312d; background: #fff; padding: 10px 16px; }
.mh-vh-postava { display: block; margin: 10px auto 0; width: min(400px, 92%); height: auto; }
.mh-vh-vzhled { background: #fff; border: 1px solid #111; border-radius: 8px; text-align: left; padding: 18px 22px 14px; margin-top: 14px; }
.mh-vh-vzhled-nadpis { margin: 0 0 10px; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: .12em; color: #D9294C; }
.mh-vh-vzhled ul { margin: 0; padding-left: 18px; }
.mh-vh-vzhled li { font-size: 13.5px; line-height: 1.55; color: #33312d; margin-bottom: 6px; }
.mh-vh-cit { margin-top: 14px; background: #FFEEF1; border-left: 4px solid #D9294C; border-radius: 0 6px 6px 0; padding: 12px 16px; text-align: left; }
.mh-vh-cit p { margin: 0; font-style: italic; font-size: 14.5px; line-height: 1.55; color: #33312d; }
.mh-vh-cit cite { display: block; margin-top: 6px; font-style: normal; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: .08em; color: #D9294C; }

.mh-vh-blok { background: #fff; border: 1px solid #111; border-radius: 8px; padding: 20px 22px; }
.mh-vh-blok-nadpis { margin: 18px 0 10px; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: .12em; color: #D9294C; }
.mh-vh-blok-nadpis:first-child { margin-top: 0; }
.mh-vh-jmeno { margin: 0; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 23px; line-height: 1.1; color: #111; }
.mh-vh-rasa { margin: 3px 0 6px; font-size: 12px; font-style: italic; color: #6f6a61; }
.mh-vh-stat { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 6px 0; border-bottom: 1px dotted #d8d2c8; font-size: 13.5px; }
.mh-vh-stat b { font-family: 'Urban Grotesk', sans-serif; font-weight: 700; color: #111; flex: 0 0 auto; }
.mh-vh-stat span { text-align: right; color: #55524d; }
.mh-vh-inventar, .mh-vh-zapasy { margin: 0; padding-left: 18px; }
.mh-vh-inventar li, .mh-vh-zapasy li { font-size: 13.5px; line-height: 1.5; color: #33312d; margin-bottom: 5px; }
.mh-vh-situace { padding: 9px 0; border-bottom: 1px dotted #d8d2c8; }
.mh-vh-situace:last-of-type { border-bottom: 0; }
.mh-vh-kdyz { margin: 0; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 13.5px; color: #111; }
.mh-vh-udela { margin: 3px 0 0; font-size: 13.5px; line-height: 1.45; color: #33312d; }
.mh-vh-proc { margin: 3px 0 0; font-size: 12.5px; font-style: italic; line-height: 1.45; color: #8a857c; }
.mh-vh-dal { margin-top: 16px; background: #F0FAF5; border-left: 4px solid #0F7345; border-radius: 0 6px 6px 0; padding: 12px 14px; }
.mh-vh-dal p { margin: 0; font-size: 13.5px; line-height: 1.5; color: #33312d; }
.mh-vh-dal-odkazy { margin-top: 6px !important; }
.mh-vh-dal-odkazy a { font-family: 'Urban Grotesk', sans-serif; font-weight: 700; color: #0F7345; text-decoration: none; margin-right: 12px; }
.mh-vh-dal-odkazy a:hover { text-decoration: underline; }

@media (max-width: 1100px) {
    .mh-vh-sekce { grid-template-columns: 1fr; min-height: 0; }
    .mh-vh-sloupec.je-stredni { order: -1; }
}

html.mh-dark .mh-vh-kicker, html.mh-dark .mh-vh-titul, html.mh-dark .mh-vh-perex { background: #131313; }
html.mh-dark .mh-vh-titul, html.mh-dark .mh-vh-jmeno, html.mh-dark .mh-vh-kdyz, html.mh-dark .mh-vh-stat b { color: #fff; }
html.mh-dark .mh-vh-perex, html.mh-dark .mh-vh-vzhled li, html.mh-dark .mh-vh-cit p, html.mh-dark .mh-vh-inventar li, html.mh-dark .mh-vh-zapasy li, html.mh-dark .mh-vh-udela, html.mh-dark .mh-vh-stat span, html.mh-dark .mh-vh-dal p { color: #cfcbc4; }
html.mh-dark .mh-vh-vzhled, html.mh-dark .mh-vh-blok { background: #131313; border-color: #3a3a3a; }
html.mh-dark .mh-vh-cit { background: #2a1418; }
html.mh-dark .mh-vh-dal { background: #14211a; }
html.mh-dark .mh-vh-stat, html.mh-dark .mh-vh-situace { border-color: #3a3a3a; }

/* ------------------------------- Vrstvy hradu v2: barevny rezim + hotspoty -- */
/* stranka ignoruje prepinac svetla/tmy — plati v obou rezimech */
/* pozadi ridi JS dle aktivni sekce (--mh-hp-pozadi na body); nahore bila */
body.page-id-2770 { background: var(--mh-hp-pozadi, #1659D8) !important; transition: background .8s ease; }
html.mh-dark body.page-id-2770 { background: var(--mh-hp-pozadi, #1659D8) !important; }
body.page-id-2770 .mh-mode-prepinac { display: none !important; }
.page-id-2770 .mh-hp-bily-text, .page-id-2770 .mh-hp-bily-text p { color: #ffffff !important; }
.page-id-2770 .mh-hp-bily-text .elementor-heading-title { color: #ffffff !important; }
.page-id-2770 .mh-hp-bily-text .mh-kicker { color: rgba(255, 255, 255, .85) !important; }

.mh-hp-sekce { position: relative; max-width: 1560px; margin: 0 auto; padding: 10px 0 26px; }
.mh-hp-hlava { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; border-bottom: 2px solid rgba(255, 255, 255, .9); padding: 6px 2px 8px; margin-bottom: 20px; }
.mh-hp-hlava span { font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 11.5px; letter-spacing: .14em; color: #ffffff; }
.mh-hp-hlava a { font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-style: italic; font-size: 12.5px; color: #ffffff; text-decoration: underline; }
.mh-hp-hlava a:hover { color: #FFD9A0; }

.mh-hp-mrizka { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.22fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.mh-hp-sloupec { min-width: 0; align-self: center; }

.mh-hp-stred { text-align: center; }
.mh-hp-kicker { display: inline-block; margin: 0; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 11.5px; letter-spacing: .2em; color: rgba(255, 255, 255, .9); }
.mh-hp-titul { display: block; margin: -34px 0 0; position: relative; z-index: 3; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 56px; line-height: 1; color: #111111 !important; background: transparent; padding: 0; text-align: center; }
.mh-hp-perex { max-width: 620px; margin: 14px auto 0; font-size: 15px; line-height: 1.62; color: rgba(255, 255, 255, .95); background: var(--hp-bg, #1659D8); padding: 12px 18px; border-radius: 8px; }

.mh-hp-obraz { position: relative; width: min(430px, 94%); margin: 14px auto 0; background: #ffffff; border-radius: 12px; padding: 12px 12px 26px; box-sizing: border-box; }
.mh-hp-obraz > img { display: block; width: 100%; height: auto; }
.mh-hp-hot { position: absolute; transform: translate(-50%, -50%); z-index: 2; }
.mh-hp-hot.je-otevreny { z-index: 6; }
button.mh-hp-hot-tecka { width: 27px; height: 27px; border-radius: 50%; background: rgba(255, 255, 255, .55) !important; border: 0 !important; padding: 0 !important; cursor: pointer; position: relative; display: block; box-shadow: 0 2px 10px rgba(0, 0, 0, .4); }
button.mh-hp-hot-tecka span::before, button.mh-hp-hot-tecka span::after { content: ''; position: absolute; left: 50%; top: 50%; background: #ffffff; transform: translate(-50%, -50%); transition: transform .18s; }
button.mh-hp-hot-tecka span::before { width: 11px; height: 2.4px; }
button.mh-hp-hot-tecka span::after { width: 2.4px; height: 11px; }
.mh-hp-hot.je-otevreny button.mh-hp-hot-tecka span::after { transform: translate(-50%, -50%) rotate(90deg); }
.mh-hp-hot.je-otevreny button.mh-hp-hot-tecka { background: rgba(255, 255, 255, .65) !important; }
.mh-hp-bublina { display: none; position: absolute; top: 50%; transform: translateY(-50%); width: 250px; background: #ffffff; border: 1px solid #111; border-radius: 8px; padding: 12px 15px; text-align: left; box-shadow: 0 6px 22px rgba(0, 0, 0, .3); }
.mh-hp-hot.je-prave .mh-hp-bublina { left: 34px; }
.mh-hp-hot.je-leve .mh-hp-bublina { right: 34px; }
.mh-hp-hot.je-otevreny .mh-hp-bublina { display: block; }
.mh-hp-bublina b { display: block; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 15.5px; color: #111; margin-bottom: 4px; }
.mh-hp-bublina p { margin: 0; font-size: 12.5px; line-height: 1.5; color: #33312d; }

.mh-hp-karta { background: #ffffff; border: 1px solid #111; border-radius: 8px; padding: 20px 22px; }
.mh-hp-profil { display: flex; gap: 14px; align-items: center; margin-bottom: 14px; }
.mh-hp-diagram { flex: 0 0 auto; width: 84px; height: 84px; }
.mh-hp-oznaceni { margin: 16px 0 8px; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 10.5px; letter-spacing: .14em; color: #8a857c; border-top: 1px solid #e6e0d6; padding-top: 12px; }
.mh-hp-profil .mh-hp-oznaceni, .mh-hp-karta > .mh-hp-oznaceni:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.mh-hp-jmeno { margin: 2px 0 0; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 21px; line-height: 1.05; color: #111; }
.mh-hp-pozice { margin: 3px 0 0; font-size: 12px; font-style: italic; color: #D9294C; }
.mh-hp-stat { display: flex; align-items: center; gap: 10px; padding: 4px 0; font-size: 13px; }
.mh-hp-stat-nazev { flex: 0 0 118px; color: #111; }
.mh-hp-bar { flex: 1 1 auto; height: 9px; border: 1px solid #111; background: #fff; }
.mh-hp-bar i { display: block; height: 100%; background: #1659D8; }
.mh-hp-bar i.je-cervena { background: #D9294C; }
.mh-hp-stat b { flex: 0 0 auto; font-family: 'Novela Poster', Georgia, serif; font-size: 13px; }
.mh-hp-vec { margin-bottom: 9px; }
.mh-hp-vec b { display: block; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 13.5px; color: #111; }
.mh-hp-vec span { display: block; font-size: 12.5px; line-height: 1.45; color: #55524d; }
.mh-hp-rozhodi { margin: 0; padding-left: 4px; list-style: none; }
.mh-hp-rozhodi li { position: relative; padding-left: 16px; font-size: 13px; line-height: 1.45; color: #33312d; margin-bottom: 6px; }
.mh-hp-rozhodi li::before { content: ''; position: absolute; left: 0; top: 6px; width: 7px; height: 7px; border-radius: 50%; background: #D9294C; }
.mh-hp-situace { margin-bottom: 10px; }
.mh-hp-situace p { margin: 0; font-size: 13.5px; line-height: 1.5; color: #33312d; }
.mh-hp-situace b { font-family: 'Urban Grotesk', sans-serif; font-weight: 700; color: #111; }
.mh-hp-sipka { color: #D9294C; font-weight: 700; }
.mh-hp-pozn { font-size: 12px !important; font-style: italic; color: #8a857c !important; margin-top: 1px !important; }
.mh-hp-duch { margin: 0; font-size: 14.5px; font-style: italic; line-height: 1.55; color: #33312d; }
.mh-hp-milniky { display: flex; flex-wrap: wrap; gap: 8px; }
.mh-hp-milnik { display: inline-block; padding: 5px 14px; border-radius: 999px; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 12.5px; }
.mh-hp-milnik.je-hotovy { background: #111; color: #fff; }
.mh-hp-milnik.je-ceka { border: 1.6px dashed #8a857c; color: #55524d; }
.mh-hp-legenda { margin: 8px 0 0; font-size: 11px; font-style: italic; color: #8a857c; }
.mh-hp-krok { margin-top: 16px; border: 1.6px dashed #D9294C; border-radius: 8px; padding: 14px 16px; }
.mh-hp-krok p { margin: 0 0 6px; font-size: 13.5px; line-height: 1.5; color: #33312d; }
.mh-hp-krok-nadpis { font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 10.5px !important; letter-spacing: .14em; color: #D9294C !important; }
.mh-hp-krok-zisk { font-size: 11.5px !important; color: #8a857c !important; margin-bottom: 0 !important; }

@media (max-width: 1100px) {
    .mh-hp-mrizka { grid-template-columns: 1fr; }
    .mh-hp-stred { order: -1; }
    .mh-hp-bublina { width: min(250px, 72vw); }
}

/* Vrstvy hradu v2.1: tmave karty bez borderu, svetly text, sloupce od stejne vysky */
.mh-hp-sloupec { align-self: start; }
/* plna (nepruhledna) tmavsi barva sekce — tecky pod textem nesmi prosvitat */
.mh-hp-karta { background: var(--hp-karta, #0F3A8C); border: 0; }
.mh-hp-oznaceni { color: rgba(255, 255, 255, .62); border-top-color: rgba(255, 255, 255, .18); }
.mh-hp-jmeno, .mh-hp-stat-nazev, .mh-hp-vec b, .mh-hp-situace b { color: #ffffff; }
.mh-hp-stat b { color: #ffffff; }
.mh-hp-pozice { color: #FF8FA3; }
.mh-hp-vec span, .mh-hp-situace p, .mh-hp-duch, .mh-hp-rozhodi li, .mh-hp-krok p { color: rgba(255, 255, 255, .85); }
.mh-hp-pozn { color: rgba(255, 255, 255, .55) !important; }
.mh-hp-sipka { color: #FF8FA3; }
.mh-hp-bar { border-color: rgba(255, 255, 255, .45); background: rgba(255, 255, 255, .1); }
.mh-hp-bar i { background: #86ABFF; }
.mh-hp-bar i.je-cervena { background: #D9294C; }
.mh-hp-rozhodi li::before { background: #FF8FA3; }
.mh-hp-milnik.je-hotovy { background: #ffffff; color: #111111; }
.mh-hp-milnik.je-ceka { border-color: rgba(255, 255, 255, .55); color: rgba(255, 255, 255, .8); }
.mh-hp-legenda { color: rgba(255, 255, 255, .55); }
.mh-hp-krok { border-color: #FF8FA3; }
.mh-hp-krok-nadpis { color: #FF8FA3 !important; }
.mh-hp-krok-zisk { color: rgba(255, 255, 255, .55) !important; }
.mh-hp-diagram circle:not([fill]) { stroke: rgba(255, 255, 255, .85); }
.mh-hp-profil.je-jen-diagram { justify-content: center; margin-bottom: 4px; }
.mh-hp-profil + .mh-hp-oznaceni { border-top: 0; padding-top: 0; margin-top: 8px; }

/* Vrstvy hradu v2.2: karta s cislem 0/7, stin, prekryv bocnich sloupcu */
.mh-hp-obraz { width: calc(100% + 64px); margin: 14px -32px 0; box-shadow: 0 18px 55px rgba(0, 0, 0, .38); z-index: 2; }
.mh-hp-cislo { position: absolute; top: 12px; right: 22px; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 56px; line-height: .9; color: #111111; z-index: 2; }
.mh-hp-stred { position: relative; z-index: 2; }
.mh-hp-sloupec { position: relative; z-index: 1; }
.mh-hp-mrizka > .mh-hp-sloupec:first-child .mh-hp-karta { padding-right: 58px; }
.mh-hp-mrizka > .mh-hp-sloupec:last-child .mh-hp-karta { padding-left: 58px; }
@media (max-width: 1100px) {
    .mh-hp-obraz { width: 100%; margin: 14px 0 0; }
    .mh-hp-cislo { font-size: 38px; }
    .mh-hp-titul { font-size: 38px; margin-top: -20px; }
    .mh-hp-mrizka > .mh-hp-sloupec:first-child .mh-hp-karta, .mh-hp-mrizka > .mh-hp-sloupec:last-child .mh-hp-karta { padding-right: 22px; padding-left: 22px; }
}

/* Vrstvy hradu v2.3: bocni sloupce zacinaji niz nez bila karta */
@media (min-width: 1101px) {
    .mh-hp-mrizka > .mh-hp-sloupec:first-child, .mh-hp-mrizka > .mh-hp-sloupec:last-child { margin-top: 52px; }
}

/* Vrstvy hradu v3: cela cesta (8 sekci), viewport-fit obrazku, uvod s ikonou */
.mh-hp-sekce { scroll-margin-top: 92px; padding: 18px 0 34px; }
.mh-hp-bar i.je-cervena { background: #FF8FA3; }
/* scena = obrazek + hotspoty; smrsti se na sirku obrazku, hotspoty drzi procenta */
.mh-hp-scena { position: relative; width: fit-content; margin: 0 auto; }
.mh-hp-scena > img { display: block; width: auto; height: auto; max-width: 100%; max-height: max(430px, calc(100vh - 420px)); }
.mh-hp-podtitul { margin: 4px 0 0; position: relative; z-index: 3; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; color: #8a857c; text-align: center; }
/* uvod pod nadpisem: bily textovy blok + karta s ikonou infografiky */
.mh-hp-uvod { display: flex; gap: 20px; align-items: stretch; max-width: 980px; margin: 20px auto 6px; }
.mh-hp-uvod-text { flex: 1 1 auto; background: #ffffff; border-radius: 12px; padding: 20px 26px; }
.mh-hp-uvod-text p { margin: 0 0 12px; font-size: 15.5px; line-height: 1.65; color: #33312d; }
.mh-hp-uvod-text p:last-child { margin-bottom: 0; }
.mh-hp-uvod-text a { color: #1659D8; font-weight: 700; }
.mh-hp-uvod-ikona { flex: 0 0 190px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; background: #ffffff; border-radius: 12px; padding: 18px 14px; text-decoration: none !important; text-align: center; transition: transform .18s, box-shadow .18s; }
.mh-hp-uvod-ikona img { display: block; width: 108px; height: auto; }
.mh-hp-uvod-ikona span { font-size: 12.5px; line-height: 1.45; color: #55524d; }
.mh-hp-uvod-ikona span b { font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 15px; color: #111111; }
.mh-hp-uvod-ikona:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(0, 0, 0, .3); }
@media (max-width: 760px) {
    .mh-hp-uvod { flex-direction: column; }
    .mh-hp-uvod-ikona { flex-basis: auto; flex-direction: row; justify-content: flex-start; text-align: left; padding: 14px 18px; }
    .mh-hp-uvod-ikona img { width: 64px; }
    .mh-hp-scena > img { max-height: 72vh; }
}

/* Vrstvy hradu v3.1: na mobilu jde bila karta pred bocni sloupce */
@media (max-width: 1100px) {
    .mh-hp-sloupec.je-stredni { order: -1; }
}

/* Vrstvy hradu v4: hotspoty jen pri zajmu — desktop hover na kartu, mobil plne zobrazena karta */
.mh-hp-hot { opacity: 0; pointer-events: none; transition: opacity .3s ease; }
.mh-hp-hot.je-otevreny { opacity: 1; pointer-events: auto; }
@media (hover: hover) and (pointer: fine) {
    .mh-hp-obraz:hover .mh-hp-hot { opacity: 1; pointer-events: auto; }
}
.mh-hp-obraz.je-hotspoty .mh-hp-hot { opacity: 1; pointer-events: auto; }

/* ---- modry banner "Cesta vnitrnim hradem" pod nadpisem Infografiky ---------
   postava (transparentni PNG) stoji vlevo, je VETSI nez pruh a presahuje ho
   nahoru, dolu i doleva; horni presah zije v mezere pod nadpisem sekce */
.mh-hrad-pruh { position: relative; display: flex; align-items: center; gap: 22px; background: #1659D8; border-radius: 6px; padding: 24px 26px; padding-left: 170px; margin-top: 86px; }
.mh-hrad-pruh-postava { position: absolute; left: -78px; bottom: -40px; width: 224px; height: auto; pointer-events: none; }
.mh-hrad-pruh-text { flex: 1 1 auto; min-width: 0; }
.mh-hrad-pruh-kicker { display: block; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 10.5px; letter-spacing: .12em; color: rgba(255, 255, 255, .75); }
.mh-hrad-pruh-titul { display: block; margin-top: 2px; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 26px; line-height: 1.05; color: #ffffff; }
.mh-hrad-pruh-perex { display: block; margin-top: 6px; font-size: 13px; line-height: 1.5; color: rgba(255, 255, 255, .88); max-width: 700px; }
a.mh-hrad-pruh-btn { flex: 0 0 auto; display: inline-block; background: #ffffff !important; color: #1659D8 !important; border: 1px solid #ffffff !important; border-radius: 999px; padding: 9px 26px !important; font-family: 'Urban Grotesk', sans-serif !important; font-size: 14px !important; font-weight: 700; text-decoration: none !important; cursor: pointer; }
a.mh-hrad-pruh-btn:hover { background: #111111 !important; border-color: #111111 !important; color: #ffffff !important; }
@media (max-width: 860px) {
    .mh-hrad-pruh { flex-wrap: wrap; gap: 14px; }
    a.mh-hrad-pruh-btn { margin-left: auto; }
}
@media (max-width: 760px) {
    .mh-hrad-pruh { padding-left: 26px; margin-top: 18px; }
    .mh-hrad-pruh-postava { display: none; }
}

/* ---- Kalkulacka v2: plnobarevne boxy --------------------------------------
   Systém: BARVA = infografika (sada otazek), ODSTIN = role boxu.
   Otazky/checkpoint/vysledek nesou plnou barvu sady (--ka), perlicka (tip)
   vzdy tmavsi odstin teze barvy (--ka2). Zluta sada ma tmavy text (.je-svetla),
   jeji perlicka na tmave jantarove zustava bila. Uvodni karta zustava bila. */
.mh-kalk-karta.je-barevna, html.mh-dark .mh-kalk-karta.je-barevna { background: var(--ka); border-color: var(--ka); }
.je-barevna .mh-kalk-kicker { color: rgba(255, 255, 255, .72); }
.mh-kalk-karta.je-barevna h3, html.mh-dark .mh-kalk-karta.je-barevna h3 { color: #ffffff; }
.mh-kalk-karta.je-barevna p, html.mh-dark .mh-kalk-karta.je-barevna p { color: rgba(255, 255, 255, .92); }
.je-barevna .mh-kalk-uvod { color: rgba(255, 255, 255, .85) !important; border-bottom-color: rgba(255, 255, 255, .28); }
.je-barevna .mh-kalk-pozn { color: rgba(255, 255, 255, .7) !important; }
.je-barevna button.mh-kalk-volba, html.mh-dark .je-barevna button.mh-kalk-volba { background: #ffffff !important; border-color: #ffffff !important; color: #111111 !important; }
.je-barevna button.mh-kalk-volba:hover, html.mh-dark .je-barevna button.mh-kalk-volba:hover { border-color: #161513 !important; color: #D9294C !important; }
.je-barevna .mh-kalk-volba-tecka, html.mh-dark .je-barevna .mh-kalk-volba-tecka { border-color: #c9c2b6; }
.je-barevna button.mh-kalk-volba:hover .mh-kalk-volba-tecka { border-color: #D9294C; }
.je-barevna .mh-kalk-volba-pismeno, html.mh-dark .je-barevna .mh-kalk-volba-pismeno { border-color: #111111; color: #111111; }
.je-barevna a.mh-kalk-btn.je-obrys, .je-barevna button.mh-kalk-btn.je-obrys,
html.mh-dark .je-barevna a.mh-kalk-btn.je-obrys, html.mh-dark .je-barevna button.mh-kalk-btn.je-obrys { background: #ffffff !important; color: #111111 !important; border-color: #ffffff !important; }
.je-barevna a.mh-kalk-btn.je-obrys:hover, .je-barevna button.mh-kalk-btn.je-obrys:hover { color: #D9294C !important; }

/* checkpoint: plna barva sady, jemny prouzek v tmavsim odstinu */
.mh-kalk-checkpoint.je-barevna { border-left: 4px solid var(--ka2); }

/* vysledkova karta sady: plny barevny blok uvnitr bile obalky */
.mh-kalk-vysledek.je-barevna { background: var(--ka); border-radius: 8px; padding: 22px 26px 24px; border-bottom: 0; margin-bottom: 16px; }
.mh-kalk-vysledek.je-barevna h3 { color: #ffffff; }
.mh-kalk-vysledek.je-barevna p { color: rgba(255, 255, 255, .92); }
.mh-kalk-vysledek.je-barevna .mh-kalk-osa-pop { color: rgba(255, 255, 255, .75); }
.mh-kalk-vysledek.je-barevna .mh-kalk-osa-marker span, html.mh-dark .mh-kalk-vysledek.je-barevna .mh-kalk-osa-marker span { background: var(--ka); border-color: #ffffff; }
.mh-kalk-vysledek.je-barevna .mh-kalk-komnata { border-color: rgba(255, 255, 255, .55); color: rgba(255, 255, 255, .8); }
.mh-kalk-vysledek.je-barevna .mh-kalk-komnata.je-tvoje, html.mh-dark .mh-kalk-vysledek.je-barevna .mh-kalk-komnata.je-tvoje { background: #ffffff; border-color: #ffffff; color: var(--ka); }
.mh-kalk-vysledek.je-barevna .mh-kalk-vysledek-obr, html.mh-dark .mh-kalk-vysledek.je-barevna .mh-kalk-vysledek-obr { background: #ffffff; border-color: #ffffff; }

/* zluta sada: tmavy text na plne barve */
.mh-kalk-karta.je-barevna.je-svetla h3, html.mh-dark .mh-kalk-karta.je-barevna.je-svetla h3,
.mh-kalk-vysledek.je-barevna.je-svetla h3 { color: #161513; }
.mh-kalk-karta.je-barevna.je-svetla p, html.mh-dark .mh-kalk-karta.je-barevna.je-svetla p,
.mh-kalk-vysledek.je-barevna.je-svetla p { color: rgba(22, 21, 19, .88); }
.je-barevna.je-svetla .mh-kalk-kicker { color: rgba(22, 21, 19, .6); }
.je-barevna.je-svetla .mh-kalk-uvod { color: rgba(22, 21, 19, .8) !important; border-bottom-color: rgba(22, 21, 19, .25); }
.je-barevna.je-svetla .mh-kalk-pozn { color: rgba(22, 21, 19, .65) !important; }
.mh-kalk-vysledek.je-barevna.je-svetla .mh-kalk-osa-pop { color: rgba(22, 21, 19, .7); }
.mh-kalk-vysledek.je-barevna.je-svetla .mh-kalk-komnata { border-color: rgba(22, 21, 19, .45); color: rgba(22, 21, 19, .7); }
.mh-kalk-vysledek.je-barevna.je-svetla .mh-kalk-komnata.je-tvoje, html.mh-dark .mh-kalk-vysledek.je-barevna.je-svetla .mh-kalk-komnata.je-tvoje { background: #161513; border-color: #161513; color: #EAB43B; }
.je-barevna.je-svetla a.mh-kalk-btn.je-obrys, .je-barevna.je-svetla button.mh-kalk-btn.je-obrys { background: #ffffff !important; color: #111111 !important; }

/* perlicka (tip): VZDY tmavsi odstin sady s bilym textem — i u zlute sady;
   musi byt az za pravidly .je-svetla, aby je prebila */
.mh-kalk-karta.mh-kalk-perlicka.je-barevna, html.mh-dark .mh-kalk-karta.mh-kalk-perlicka.je-barevna { background: var(--ka2); border-left: 4px solid var(--ka); }
.mh-kalk-karta.mh-kalk-perlicka.je-barevna .mh-kalk-perlicka-text, html.mh-dark .mh-kalk-karta.mh-kalk-perlicka.je-barevna .mh-kalk-perlicka-text { color: #ffffff !important; }
.mh-kalk-karta.mh-kalk-perlicka.je-barevna .mh-kalk-kicker { color: rgba(255, 255, 255, .72) !important; }
.mh-kalk-karta.mh-kalk-perlicka.je-barevna p { color: rgba(255, 255, 255, .92); }

/* mini akce v hlave kalkulacky: kit je stylovala jako cerne pilulky — vratit
   nenapadnou bilou pilulku (sedi i na teckovanem pozadi) */
button.mh-kalk-mini { background: #ffffff !important; border: 1px solid #c9c2b6 !important; border-radius: 999px; padding: 5px 14px !important; font-family: 'Urban Grotesk', sans-serif !important; font-size: 12px !important; font-weight: 700; color: #55524d !important; text-decoration: none !important; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; }
button.mh-kalk-mini:hover { color: #D9294C !important; border-color: #D9294C !important; background: #ffffff !important; }
html.mh-dark button.mh-kalk-mini { background: #131313 !important; border-color: #3a3a3a !important; color: #cfcbc4 !important; }
html.mh-dark button.mh-kalk-mini:hover { color: #ff8fa3 !important; border-color: #D9294C !important; }

/* ---- Kalkulacka v3: vizualni skala, bublina tipu pri vyberu, vetsi vysledky */
/* bipolarni skala: linka + 5 teck (krajni vetsi), popisky pod krajema a stredem */
.mh-kalk-skala2 { margin-top: 26px; }
.mh-kalk-skala2-rada { display: flex; align-items: center; justify-content: space-between; position: relative; padding: 0 4px; min-height: 40px; }
.mh-kalk-skala2-rada::before { content: ''; position: absolute; left: 14px; right: 14px; top: 50%; height: 2px; background: rgba(255, 255, 255, .38); }
button.mh-kalk-skala2-bod { position: relative; z-index: 1; flex: 0 0 auto; width: var(--vel, 28px); height: var(--vel, 28px); border-radius: 50% !important; border: 2.5px solid #ffffff !important; background: var(--ka, #1659D8) !important; padding: 0 !important; cursor: pointer; transition: transform .15s ease, background .15s ease; }
button.mh-kalk-skala2-bod:hover { transform: scale(1.18); background: #ffffff !important; }
button.mh-kalk-skala2-bod.je-vybrany { background: #ffffff !important; }
button.mh-kalk-skala2-bod.je-vybrany span::after { content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 42%; height: 42%; border-radius: 50%; background: var(--ka, #1659D8); }
.mh-kalk-skala2-popisky { display: flex; justify-content: space-between; margin-top: 10px; font-family: 'Urban Grotesk', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .04em; color: rgba(255, 255, 255, .82); }
.mh-kalk-skala2-aktualni { margin: 14px 0 0; text-align: center; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 15px; color: #ffffff !important; }
.je-svetla .mh-kalk-skala2-rada::before { background: rgba(22, 21, 19, .35); }
.je-svetla button.mh-kalk-skala2-bod { border-color: #161513 !important; }
.je-svetla button.mh-kalk-skala2-bod:hover, .je-svetla button.mh-kalk-skala2-bod.je-vybrany { background: #161513 !important; }
.je-svetla button.mh-kalk-skala2-bod.je-vybrany span::after { background: var(--ka, #EAB43B); }
.je-svetla .mh-kalk-skala2-popisky { color: rgba(22, 21, 19, .75); }
.je-svetla .mh-kalk-skala2-aktualni { color: #161513 !important; }
/* vybrana volba (A/B/C...) */
.je-barevna button.mh-kalk-volba.je-vybrany, html.mh-dark .je-barevna button.mh-kalk-volba.je-vybrany { box-shadow: inset 0 0 0 2.5px #161513; }
.je-barevna button.mh-kalk-volba.je-vybrany .mh-kalk-volba-pismeno { background: #161513; border-color: #161513 !important; color: #ffffff !important; }
/* bublina s tipem hned pod volbami: tmavsi odstin sady (role tipu), bily text */
.mh-kalk-bublina { margin-top: 20px; background: var(--ka2, #0E3786); border-left: 4px solid rgba(255, 255, 255, .55); border-radius: 8px; padding: 16px 20px 17px; animation: mhKalkBublina .28s ease; }
@keyframes mhKalkBublina { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.mh-kalk-bublina-kicker { margin: 0 0 6px; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 10.5px; letter-spacing: .12em; color: rgba(255, 255, 255, .72) !important; }
.mh-kalk-karta .mh-kalk-bublina-text, .mh-kalk-karta.je-svetla .mh-kalk-bublina-text, html.mh-dark .mh-kalk-karta .mh-kalk-bublina-text { margin: 0; font-size: 15.5px; line-height: 1.6; color: #ffffff !important; }
.mh-kalk-bublina .mh-kalk-tlacitka { margin-top: 12px; }
/* vysledky pres celou obrazovku: sirsi kontejner + vetsi titulky */
.mh-kalk.je-siroky { max-width: 1040px; }
.mh-kalk.je-siroky .mh-kalk-vysledek.je-barevna { padding: 28px 34px 30px; }
.mh-kalk.je-siroky .mh-kalk-vysledek h3 { font-size: 34px; }
.mh-kalk.je-siroky .mh-kalk-vysledek p { font-size: 16px; }
@media (max-width: 640px) {
    .mh-kalk-skala2-popisky .je-stred { display: none; }
}

/* ---- RSG boxy na titulce: nizsi, at se s uvodnim bannerem vejdou do viewportu */
@media (min-width: 861px) {
    .mh-revi-karta { padding-top: 12px !important; padding-bottom: 16px !important; }
    .mh-revi-karta .elementor-widget-image { max-width: 190px !important; margin-left: auto; margin-right: auto; }
    .mh-revi-karta h3 { font-size: 20px; }
    .mh-revi-karta .elementor-widget-heading { margin-bottom: 2px; }
}

/* ---- sekce Zrcadlo na titulce: boxy ve stylu RSG, fotka presahuje horni hranu */
.mh-zrc-rada { display: flex; flex-wrap: wrap; justify-content: center; gap: 26px; margin-top: 96px; }
.mh-zrc-box { position: relative; flex: 0 1 340px; background: #ffffff; border: 1px solid #111111; border-radius: 6px; padding: 104px 24px 24px; text-align: center; transition: transform .18s ease, box-shadow .18s ease; }
.mh-zrc-box:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0, 0, 0, .14); }
.mh-zrc-box img.mh-zrc-obr { position: absolute; top: -146px; left: 50%; transform: translateX(-50%); height: 248px !important; width: auto; max-width: 320px; object-fit: contain; pointer-events: none; }
.mh-zrc-plocha { position: absolute; inset: 0; z-index: 1; }
.mh-zrc-titul { margin: 0 0 8px; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 23px; line-height: 1.1; color: #111111; }
.mh-zrc-popis { margin: 0 0 16px; font-size: 13.5px; line-height: 1.5; color: #55524d; }
a.mh-zrc-btn { position: relative; z-index: 2; display: inline-block; background: #C83E4D !important; color: #ffffff !important; border: 1px solid #C83E4D !important; border-radius: 999px; padding: 8px 24px !important; font-family: 'Urban Grotesk', sans-serif !important; font-size: 13.5px !important; font-weight: 700; text-decoration: none !important; cursor: pointer; }
a.mh-zrc-btn:hover { background: #111111 !important; border-color: #111111 !important; }
html.mh-dark .mh-zrc-box { background: #131313; border-color: #3a3a3a; }
html.mh-dark .mh-zrc-titul { color: #ffffff; }
html.mh-dark .mh-zrc-popis { color: #a5a19a; }
@media (max-width: 860px) {
    .mh-zrc-rada { margin-top: 88px; row-gap: 100px; }
    .mh-zrc-box { flex-basis: min(340px, 100%); }
}

/* ---- fulltextove hledani v citatech (vlevo od "Vse v cestine") ---- */
.mh-citat-hledani { position: relative; display: inline-flex; align-items: center; margin-left: auto; }
.mh-citat-hledani svg { position: absolute; left: 12px; color: #8a857c; pointer-events: none; }
input.mh-citat-hledat { width: 200px; border: 1px solid #c9c2b6; border-radius: 999px; background: #ffffff; padding: 6px 14px 6px 32px; font-family: 'Urban Grotesk', sans-serif; font-size: 13px; color: #111111; outline: none; }
input.mh-citat-hledat:focus { border-color: #D9294C; }
input.mh-citat-hledat::placeholder { color: #9a958d; }
html.mh-dark input.mh-citat-hledat { background: #131313; border-color: #3a3a3a; color: #ffffff; }
html.mh-dark input.mh-citat-hledat:focus { border-color: #D9294C; }
@media (max-width: 640px) {
    .mh-citat-hledani { margin-left: 0; width: 100%; }
    input.mh-citat-hledat { width: 100%; }
}

/* box Osm portretu v Zrcadle: plna modra bez ramecku, vyrazne vetsi postava */
.mh-zrc-rada { margin-top: 150px; }
.mh-zrc-box.je-modry, html.mh-dark .mh-zrc-box.je-modry { background: #1659D8; border: 0; }
.mh-zrc-box.je-modry img.mh-zrc-obr { height: 265px !important; top: -138px; max-width: 320px; }
.mh-zrc-box.je-modry .mh-zrc-titul, html.mh-dark .mh-zrc-box.je-modry .mh-zrc-titul { color: #ffffff; }
.mh-zrc-box.je-modry .mh-zrc-popis, html.mh-dark .mh-zrc-box.je-modry .mh-zrc-popis { color: rgba(255, 255, 255, .88); }
.mh-zrc-box.je-modry a.mh-zrc-btn { background: #ffffff !important; color: #1659D8 !important; border-color: #ffffff !important; }
.mh-zrc-box.je-modry a.mh-zrc-btn:hover { background: #111111 !important; border-color: #111111 !important; color: #ffffff !important; }
@media (max-width: 860px) {
    .mh-zrc-rada { margin-top: 142px; row-gap: 148px; }
}

/* ---- Kalkulacka v4: dvousloupcova otazka v popupu, barevny cely panel ------ */
/* zadna linka mezi uvodnim textem sady a otazkou */
.mh-kalk-uvod { border-bottom: 0 !important; padding-bottom: 0 !important; }
/* mrizka otazky: na strance a mobilu sloupec (tip az pod volbami), v popupu na
   desktopu vlevo ilustrace/tip, vpravo otazka */
.mh-kalk-otazka-mrizka { display: flex; flex-direction: column; }
.mh-kalk-otazka-mrizka .mh-kalk-levy { order: 2; }
.mh-kalk-ilustrace { display: none; }
.mh-kalk-levy .mh-kalk-bublina { margin-top: 20px; }
@media (min-width: 900px) {
    .mh-kalk-pop .mh-kalk { max-width: 1000px; }
    .mh-kalk-pop .mh-kalk-otazka-mrizka { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 36px; align-items: stretch; }
    .mh-kalk-pop .mh-kalk-otazka-mrizka .mh-kalk-levy { order: 0; display: flex; align-items: center; justify-content: center; min-height: 320px; }
    .mh-kalk-pop .mh-kalk-ilustrace { display: block; width: 100%; max-width: 280px; height: auto; }
    .mh-kalk-pop .mh-kalk-levy .mh-kalk-bublina { margin: 0; width: 100%; align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
}
/* Pokracovat: vetsi, vpravo, bile pozadi + cerny text + sipka */
.mh-kalk-dalsi-radek { display: flex; justify-content: flex-end; margin-top: 22px; }
button.mh-kalk-btn.je-dalsi, html.mh-dark button.mh-kalk-btn.je-dalsi { background: #ffffff !important; color: #111111 !important; border-color: #ffffff !important; font-size: 15.5px !important; padding: 13px 30px !important; }
button.mh-kalk-btn.je-dalsi span { margin-left: 8px; transition: transform .15s ease; display: inline-block; }
button.mh-kalk-btn.je-dalsi:hover { background: #ffffff !important; color: #111111 !important; }
button.mh-kalk-btn.je-dalsi:hover span { transform: translateX(4px); }
/* tlacitka v tipu: jen obrysova a nizsi */
.mh-kalk-bublina a.mh-kalk-btn, .mh-kalk-bublina a.mh-kalk-btn.je-obrys,
html.mh-dark .mh-kalk-bublina a.mh-kalk-btn.je-obrys { background: transparent !important; border: 1.5px solid rgba(255, 255, 255, .65) !important; color: #ffffff !important; padding: 5px 16px !important; font-size: 12.5px !important; }
.mh-kalk-bublina a.mh-kalk-btn:hover { border-color: #ffffff !important; background: rgba(255, 255, 255, .12) !important; }
/* barevny cely panel popupu (initKalk nastavi bg dle kalkulacky) */
.mh-pop-panel.je-kalk-barevny { transition: background .3s ease; }
.mh-pop-panel.je-kalk-barevny .mh-pop-zavrit { color: #ffffff; }
.mh-pop-panel.je-kalk-barevny.je-svetly .mh-pop-zavrit { color: #161513; }
/* karta na barevnem panelu splyva — zadny dvojity ram */
.je-kalk-barevny .mh-kalk-karta.je-barevna { padding-left: 0; padding-right: 0; }


/* ---- Osm portretu: stranka zacina rovnou modre, hlavicka i plochy pod texty modre --
   plochy pod texty (kvuli citelnosti nad teckami) nesou modrou prvniho pruhu,
   texty na nich jsou bile; horni menu ma na teto strance modre pozadi a bily obsah */
.page-id-2770 .mh-bila-pod-stred .elementor-heading-title,
.page-id-2770 .mh-bila-pod-stred p { background: #1659D8; color: #ffffff !important; }
.page-id-2770 .mh-bila-pod-stred .mh-kicker { color: rgba(255, 255, 255, .85) !important; }
.mh-hp-uvod-text { background: #1659D8; }
.mh-hp-uvod-text p { color: rgba(255, 255, 255, .94); }
.mh-hp-uvod-text a { color: #ffffff; }
.mh-hp-uvod-ikona { background: #1659D8; }
.mh-hp-uvod-ikona img { background: #ffffff; border-radius: 10px; padding: 8px; box-sizing: border-box; }
.mh-hp-uvod-ikona span { color: rgba(255, 255, 255, .85); }
.mh-hp-uvod-ikona span b { color: #ffffff; }
.mh-hp-uvod-ikona:hover { box-shadow: 0 12px 30px rgba(0, 0, 0, .35); }
/* hlavicka: modra vzdy (i po skrolu pres .scrolled-wx), obsah bily */
.page-id-2770 .mh-header,
.page-id-2770 .mh-header.scrolled-wx,
body.page-id-2770.scrolled-wx .mh-header,
html.mh-dark body.page-id-2770 .mh-header { background: #1659D8 !important; }
.page-id-2770 .mh-header .mh-logo svg path { fill: #ffffff !important; }
.page-id-2770 .mh-header .elementor-nav-menu a,
.page-id-2770 .mh-header .elementor-nav-menu a:hover,
.page-id-2770 .mh-header .elementor-nav-menu a:focus,
.page-id-2770 .mh-header .elementor-item-active { color: #ffffff !important; }
.page-id-2770 .mh-header .elementor-item:after,
.page-id-2770 .mh-header .elementor-item:before { background-color: #ffffff !important; }
.page-id-2770 .mh-header .elementor-menu-toggle,
.page-id-2770 .mh-header .elementor-menu-toggle svg { color: #ffffff !important; fill: #ffffff !important; }

/* ---- "Co je nového": polozka menu jen na mobilu + popup se seznamem novinek --- */
.mh-header .menu-item.mh-otvirak-novinky { display: none; }
@media (max-width: 1024px) {
    .mh-header .menu-item.mh-otvirak-novinky { display: block; }
    .mh-header .menu-item.mh-otvirak-novinky > a { cursor: pointer; }
}
.mh-nov-titul { margin: 4px 0 18px; font-family: 'Novela Poster', Georgia, serif; font-weight: 900; font-size: 34px; line-height: 1.05; color: #111111; }
.mh-nov-seznam { display: flex; flex-direction: column; }
.mh-sab-panel a.mh-nov-pol { display: flex; gap: 12px; align-items: baseline; padding: 11px 2px; border-top: 1px solid #eee7dd; text-decoration: none !important; color: inherit; }
.mh-sab-panel a.mh-nov-pol:first-child { border-top: 0; }
.mh-nov-datum { flex: 0 0 52px; font-family: 'Urban Grotesk', sans-serif; font-weight: 700; font-size: 13px; color: #C83E4D; }
.mh-nov-popis { flex: 1 1 auto; font-size: 15px; line-height: 1.45; color: #33312d; }
@media (hover: hover) { .mh-sab-panel a.mh-nov-pol:hover .mh-nov-popis { color: #C83E4D; } }
html.mh-dark .mh-nov-titul { color: #ffffff; }
html.mh-dark .mh-sab-panel a.mh-nov-pol { border-top-color: #2c2c2c; }
html.mh-dark .mh-nov-popis { color: #cfcbc4; }

/* ---- plaketka "Vše volně k užití" v pravém horním rohu H1 na titulce ------- */
.mh-h1-vku .elementor-heading-title { position: relative; }
.mh-vku { position: absolute; top: -42px; right: -98px; line-height: 0; pointer-events: none; }
.mh-vku img, .mh-vku svg { display: block; width: 128px; height: 128px; transform: rotate(8deg); }
@media (max-width: 1024px) {
    .mh-vku { top: -32px; right: -72px; }
    .mh-vku img, .mh-vku svg { width: 96px; height: 96px; }
}
/* na mobilu musi plaketka zustat V zabranem prostoru — jinak roztahne layout
   viewport (390 -> 413) a prohlizec zmensi celou stranku */
@media (max-width: 767px) {
    .mh-vku { top: -30px; right: -6px; }
    .mh-vku img, .mh-vku svg { width: 58px; height: 58px; }
}

/* ==== Prepinac jazyku (EN / DE) v hlavicce, vedle prepinace rezimu ==== */
.elementor-location-header .e-con.mh-header > .elementor-widget-shortcode {
    width: auto !important; max-width: none !important; flex: 0 0 auto !important; margin-left: auto;
}
.mh-header .elementor-widget-shortcode .elementor-shortcode { display: flex; align-items: center; gap: 22px; }
.mh-jazyky {
    display: flex; gap: 14px;
    font-family: var(--font-text, 'Urban Grotesk', sans-serif);
    font-size: 13px; font-weight: 700; letter-spacing: .08em; line-height: 1;
}
.mh-jazyky a { color: #111; text-decoration: none; opacity: .72; transition: opacity .2s, color .2s; }
.mh-jazyky a:hover, .mh-jazyky a:focus { opacity: 1; color: #C83E4D; }
html.mh-dark .mh-jazyky a { color: #f2f2f2; }
.page-id-2770 .mh-jazyky a { color: #ffffff !important; }
@media (max-width: 1024px) {
    .mh-header .elementor-widget-shortcode .elementor-shortcode { gap: 12px; }
    .mh-jazyky { gap: 10px; font-size: 12px; }
}

/* Plaketka na titulce: anglicky/nemecky nadpis je sirsi a konci sirokym pismenem — plaketku posunout vic ven */
/* desktop: sirsi slovo (REFRESHMENTS / ERFRISCHUNGEN) zmensit tak, aby koncilo jako OBCERSTVENI a plaketka nevjela do sloupku novinek */
@media (min-width: 1025px) {
    .mh-lang-en .mh-h1-vku .elementor-heading-title { font-size: 92px !important; }
    .mh-lang-de .mh-h1-vku .elementor-heading-title { font-size: 86px !important; }
}
@media (max-width: 1024px) {
    .mh-lang-en .mh-vku, .mh-lang-de .mh-vku { right: -88px; }
}
@media (max-width: 767px) {
    .mh-lang-en .mh-vku, .mh-lang-de .mh-vku { right: -6px; }
}
