:root {
  /* Farebnosť podľa dodaného vizuálu: modrá, červená, žltá, biela */
  --mh-primary: #004C97;
  --mh-primary-dark: #003A78;
  --mh-primary-soft: #EAF3FF;

  --mh-accent: #E30613;
  --mh-accent-dark: #B8000A;
  --mh-accent-soft: #FFE9EA;

  --mh-yellow: #F2C300;
  --mh-yellow-dark: #D5A900;
  --mh-yellow-soft: #FFF7CC;

  --mh-text: #10365F;
  --mh-text-muted: #4C6682;
  --mh-text-light: #FFFFFF;

  --mh-bg: #F8FBFF;
  --mh-bg-white: #FFFFFF;
  --mh-bg-soft: #EEF5FF;
  --mh-border: #D8E5F5;
  --mh-border-soft: rgba(216, 229, 245, 0.85);
  --mh-header-bg: rgba(255, 255, 255, 0.92);
  --mh-footer-bg: #003A78;
  --mh-footer-text: #EAF3FF;
  --mh-container: 1180px;
  --mh-radius-sm: 10px;
  --mh-radius-md: 18px;
  --mh-radius-lg: 28px;
  --mh-radius-xl: 36px;
  --mh-shadow-soft: 0 14px 38px rgba(0, 76, 151, 0.10);
  --mh-shadow-card: 0 18px 45px rgba(0, 76, 151, 0.13);
  --mh-shadow-strong: 0 26px 70px rgba(0, 76, 151, 0.18);
  --mh-transition: all 0.25s ease;
  --mh-font-main: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mh-font-heading: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--mh-font-main);
  background: var(--mh-bg);
  color: var(--mh-text);
  line-height: 1.6;
}
body.mh-menu-open { overflow: hidden; }
a { color: var(--mh-primary); }
a:hover { color: var(--mh-accent-dark); }
img { max-width: 100%; height: auto; }

.mh-container { width: min(var(--mh-container), calc(100% - 40px)); margin: 0 auto; }
.mh-skip-link { position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden; }
.mh-skip-link:focus { left:16px; top:16px; width:auto; height:auto; z-index:999999; background:#fff; padding:10px 14px; border-radius:8px; }

.mh-eyebrow { display:inline-flex; align-items:center; gap:9px; padding:8px 13px; border-radius:999px; background:var(--mh-primary-soft); color:var(--mh-primary); font-size:13px; font-weight:800; letter-spacing:.02em; }
.mh-eyebrow::before { content:''; width:7px; height:7px; border-radius:999px; background:var(--mh-accent); }
.mh-section-title { margin:14px 0; font-family:var(--mh-font-heading); font-size:clamp(34px,4vw,56px); line-height:1.05; color:var(--mh-primary-dark); letter-spacing:-.035em; }
.mh-section-lead { max-width:720px; margin:0; font-size:18px; line-height:1.75; color:var(--mh-text-muted); }
.mh-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:13px 20px; border-radius:999px; text-decoration:none !important; font-weight:800; font-size:15px; line-height:1; transition:var(--mh-transition); border:1px solid transparent; cursor:pointer; }
.mh-btn-primary { background:var(--mh-accent); color:var(--mh-text-light) !important; box-shadow:0 12px 28px rgba(15,36,56,.18); }
.mh-btn-primary:hover { transform:translateY(-2px); background:var(--mh-yellow); color:var(--mh-primary-dark) !important; box-shadow:0 18px 38px rgba(15,36,56,.2); }
.mh-btn-secondary { background:var(--mh-bg-white); color:var(--mh-primary) !important; border-color:var(--mh-border); }
.mh-btn-secondary:hover { transform:translateY(-2px); border-color:var(--mh-accent); color:var(--mh-primary-dark) !important; box-shadow:var(--mh-shadow-soft); }

/* Header */
.mh-site-header { position:fixed; top:18px; left:0; right:0; z-index:99999; transition:transform .32s ease, opacity .32s ease; pointer-events:none; }
.admin-bar .mh-site-header { top:50px; }
.mh-site-header.mh-header-hidden { transform:translateY(-130%); opacity:0; }
.mh-header-inner { width:min(var(--mh-container), calc(100% - 32px)); margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:22px; min-height:74px; padding:12px 14px 12px 22px; background:var(--mh-header-bg); border:1px solid var(--mh-border-soft); border-radius:999px; box-shadow:var(--mh-shadow-soft); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); pointer-events:auto; }
.mh-brand { display:flex; align-items:center; gap:13px; text-decoration:none !important; min-width:max-content; }
.mh-brand-mark { width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,var(--mh-primary),var(--mh-accent)); color:var(--mh-text-light); display:grid; place-items:center; font-family:var(--mh-font-heading); font-size:20px; font-weight:800; box-shadow:0 12px 26px rgba(15,36,56,.18); }
.mh-brand-text strong { display:block; color:var(--mh-primary-dark); font-size:18px; line-height:1.05; letter-spacing:-.02em; }
.mh-brand-text span { display:block; margin-top:3px; color:var(--mh-text-muted); font-size:12px; font-weight:700; }
.mh-main-nav ul { list-style:none; margin:0; padding:0; display:flex; align-items:center; justify-content:center; gap:4px; }
.mh-main-nav a { position:relative; display:block; padding:11px 13px; color:var(--mh-text); text-decoration:none !important; font-weight:800; font-size:14px; transition:var(--mh-transition); }
.mh-main-nav a::after { content:''; position:absolute; left:50%; bottom:5px; width:0; height:2px; border-radius:999px; background:var(--mh-accent); transform:translateX(-50%); transition:width .24s ease; }
.mh-main-nav a:hover, .mh-main-nav .current-menu-item > a, .mh-main-nav .current_page_item > a { color:var(--mh-primary); }
.mh-main-nav a:hover::after, .mh-main-nav .current-menu-item > a::after, .mh-main-nav .current_page_item > a::after { width:calc(100% - 26px); }
.mh-header-actions { display:flex; align-items:center; gap:10px; min-width:max-content; }
.mh-social-mini { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:999px; color:var(--mh-primary) !important; background:var(--mh-primary-soft); text-decoration:none !important; font-weight:900; transition:var(--mh-transition); }
.mh-social-mini:hover { background:var(--mh-yellow); color:var(--mh-primary-dark) !important; transform:translateY(-2px); }
.mh-menu-toggle { display:none; width:46px; height:46px; border:0; border-radius:50%; background:var(--mh-accent); cursor:pointer; position:relative; }
.mh-menu-toggle span { display:block; width:19px; height:2px; border-radius:999px; background:#fff; margin:4px auto; transition:var(--mh-transition); }

/* Hero */
.mh-hero { position:relative; overflow:hidden; padding:150px 0 84px; background:radial-gradient(circle at 12% 20%, var(--mh-primary-soft) 0, transparent 28%), radial-gradient(circle at 88% 10%, var(--mh-accent-soft) 0, transparent 24%), linear-gradient(180deg,#fff 0%, var(--mh-bg) 100%); }
.mh-hero::before { content:''; position:absolute; inset:auto -120px -180px auto; width:420px; height:420px; border-radius:50%; background:rgba(242,195,0,.24); filter:blur(6px); }
.mh-hero-grid { position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:58px; align-items:center; }
.mh-hero h1 { margin:18px 0; font-family:var(--mh-font-heading); font-size:clamp(44px,6vw,82px); line-height:.98; letter-spacing:-.055em; color:var(--mh-primary-dark); }
.mh-hero h1 span { color:var(--mh-primary); }
.mh-hero-text { max-width:650px; margin:0 0 26px; font-size:clamp(18px,2vw,22px); line-height:1.72; color:var(--mh-text-muted); }
.mh-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.mh-hero-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:34px; }
.mh-hero-point { padding:16px; border-radius:var(--mh-radius-md); background:rgba(255,255,255,.74); border:1px solid var(--mh-border-soft); box-shadow:0 10px 28px rgba(15,36,56,.06); }
.mh-hero-point strong { display:block; color:var(--mh-primary-dark); font-size:15px; }
.mh-hero-point span { display:block; margin-top:5px; color:var(--mh-text-muted); font-size:13px; line-height:1.45; }
.mh-portrait-card { position:relative; border-radius:var(--mh-radius-xl); padding:16px; background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(234,242,248,.86)); border:1px solid var(--mh-border-soft); box-shadow:var(--mh-shadow-strong); }
.mh-portrait-card::before { content:''; position:absolute; inset:28px -18px -18px 28px; border-radius:var(--mh-radius-xl); background:var(--mh-yellow); opacity:.22; z-index:0; }
.mh-portrait-placeholder { position:relative; z-index:1; min-height:520px; border-radius:calc(var(--mh-radius-xl) - 10px); overflow:hidden; background:linear-gradient(135deg, rgba(23,50,77,.08), rgba(242,195,0,.16)), url('../img/hero-placeholder.svg') center/cover no-repeat; }
.mh-portrait-badge { position:absolute; z-index:2; left:28px; bottom:28px; max-width:310px; padding:18px 20px; border-radius:22px; background:rgba(255,255,255,.92); border:1px solid var(--mh-border-soft); box-shadow:var(--mh-shadow-soft); backdrop-filter:blur(12px); }
.mh-portrait-badge strong { display:block; color:var(--mh-primary-dark); font-size:18px; }
.mh-portrait-badge span { display:block; margin-top:6px; color:var(--mh-text-muted); line-height:1.5; font-size:14px; }

/* Sections */
.mh-section { padding:88px 0; background:var(--mh-bg); }
.mh-section-white { background:var(--mh-bg-white); }
.mh-two-col { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:54px; align-items:center; }
.mh-content-card { padding:36px; border-radius:var(--mh-radius-lg); background:var(--mh-bg-white); border:1px solid var(--mh-border); box-shadow:var(--mh-shadow-card); }
.mh-content-card p { margin:0 0 18px; color:var(--mh-text-muted); font-size:17px; line-height:1.8; }
.mh-content-card p:last-child { margin-bottom:0; }
.mh-values-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:30px; }
.mh-card, .mh-value-card, .mh-program-card, .mh-news-card { position:relative; overflow:hidden; border-radius:var(--mh-radius-lg); background:var(--mh-bg-white); border:1px solid var(--mh-border); box-shadow:0 12px 32px rgba(15,36,56,.07); transition:var(--mh-transition); }
.mh-value-card:hover, .mh-program-card:hover, .mh-news-card:hover { transform:translateY(-5px); box-shadow:var(--mh-shadow-card); border-color:rgba(217,164,65,.55); }
.mh-value-card { padding:28px; }
.mh-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:16px; background:var(--mh-primary-soft); color:var(--mh-primary); font-weight:900; margin-bottom:20px; }
.mh-value-card h3, .mh-program-card h3, .mh-news-card h3 { margin:0 0 10px; color:var(--mh-primary-dark); font-size:21px; letter-spacing:-.02em; }
.mh-value-card p, .mh-program-card p, .mh-news-card p { margin:0; color:var(--mh-text-muted); line-height:1.7; font-size:15px; }
.mh-section-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:34px; }
.mh-program-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.mh-program-card { padding:26px; }
.mh-program-card::before { content:''; position:absolute; top:0; left:0; width:100%; height:4px; background:linear-gradient(90deg,var(--mh-primary),var(--mh-accent)); }
.mh-program-card ul { margin:16px 0 0; padding:0; list-style:none; }
.mh-program-card li { position:relative; padding-left:22px; margin:10px 0; color:var(--mh-text-muted); font-size:14px; line-height:1.5; }
.mh-program-card li::before { content:''; position:absolute; left:0; top:8px; width:8px; height:8px; border-radius:50%; background:var(--mh-accent); }

.mh-quote-band { padding:82px 0; background:linear-gradient(135deg,var(--mh-primary-dark),var(--mh-primary)); color:var(--mh-text-light); overflow:hidden; }
.mh-quote-inner { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:36px; align-items:center; }
.mh-quote-inner::before { content:'“'; position:absolute; left:-20px; top:-70px; font-family:Georgia,serif; font-size:220px; color:rgba(255,255,255,.08); line-height:1; }
.mh-quote-band h2 { position:relative; margin:0; max-width:850px; font-family:var(--mh-font-heading); font-size:clamp(32px,4vw,58px); line-height:1.12; letter-spacing:-.04em; }
.mh-quote-band p { margin:18px 0 0; color:rgba(255,255,255,.78); font-size:18px; line-height:1.65; }

.mh-news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.mh-news-image { aspect-ratio:16/10; background:linear-gradient(135deg,var(--mh-primary-soft),var(--mh-accent-soft)); overflow:hidden; }
.mh-news-image img { width:100%; height:100%; object-fit:cover; display:block; }
.mh-news-body { padding:24px; }
.mh-news-date { display:inline-flex; margin-bottom:12px; color:var(--mh-primary); font-size:13px; font-weight:900; }
.mh-news-card a.mh-read-more { display:inline-flex; margin-top:18px; color:var(--mh-primary); font-weight:900; text-decoration:none !important; }
.mh-news-card a.mh-read-more:hover { color:var(--mh-accent-dark); }

.mh-contact-box { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.8fr); gap:28px; padding:36px; border-radius:var(--mh-radius-xl); background:var(--mh-bg-white); border:1px solid var(--mh-border); box-shadow:var(--mh-shadow-card); }
.mh-contact-list { display:grid; gap:13px; margin-top:24px; }
.mh-contact-list a { display:flex; align-items:center; gap:12px; color:var(--mh-primary); font-weight:900; text-decoration:none !important; }
.mh-contact-list a:hover { color:var(--mh-accent-dark); }
.mh-form-placeholder { min-height:260px; border-radius:var(--mh-radius-lg); border:1px dashed rgba(23,50,77,.28); background:var(--mh-bg-soft); display:grid; place-items:center; padding:24px; text-align:center; color:var(--mh-text-muted); line-height:1.6; }

/* Pages and content */
.mh-page-header { padding:150px 0 60px; background:linear-gradient(180deg,#fff 0%, var(--mh-bg) 100%); }
.mh-page-header h1 { margin:14px 0 0; font-family:var(--mh-font-heading); font-size:clamp(42px,6vw,72px); line-height:1; color:var(--mh-primary-dark); letter-spacing:-.05em; }
.mh-content-wrap { padding:70px 0 90px; }
.mh-wp-content { max-width:860px; margin:0 auto; padding:40px; border-radius:var(--mh-radius-lg); background:#fff; border:1px solid var(--mh-border); box-shadow:var(--mh-shadow-soft); }
.mh-wp-content h2, .mh-wp-content h3 { color:var(--mh-primary-dark); letter-spacing:-.02em; }
.mh-wp-content p, .mh-wp-content li { color:var(--mh-text-muted); font-size:17px; line-height:1.8; }
.mh-wp-content a { font-weight:800; }
.mh-post-meta { color:var(--mh-text-muted); font-weight:700; margin-top:10px; }
.mh-post-nav { display:flex; justify-content:space-between; gap:16px; margin-top:36px; }
.mh-pagination { margin-top:38px; text-align:center; }
.mh-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 12px; margin:4px; border-radius:999px; background:#fff; border:1px solid var(--mh-border); text-decoration:none; font-weight:800; }
.mh-pagination .current { background:var(--mh-primary); color:#fff; border-color:var(--mh-primary); }

/* Footer */
.mh-footer { background:var(--mh-footer-bg); color:var(--mh-footer-text); padding:58px 0 24px; }
.mh-footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr 1fr; gap:34px; }
.mh-footer h3, .mh-footer h4 { margin:0 0 16px; color:#fff; }
.mh-footer h3 { font-family:var(--mh-font-heading); font-size:30px; letter-spacing:-.03em; }
.mh-footer p { margin:0; color:rgba(221,231,240,.78); line-height:1.7; }
.mh-footer ul { list-style:none; margin:0; padding:0; }
.mh-footer li { margin-bottom:10px; }
.mh-footer a { color:rgba(221,231,240,.82) !important; text-decoration:none !important; transition:var(--mh-transition); }
.mh-footer a:hover { color:var(--mh-accent) !important; }
.mh-footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:42px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); color:rgba(221,231,240,.7); font-size:14px; }
.mh-footer-bottom-links { display:flex; gap:16px; }

@media (max-width:1080px) { .mh-main-nav a { padding-inline:9px; } .mh-program-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:920px) {
  .mh-site-header { top:10px; }
  .admin-bar .mh-site-header { top:56px; }
  .mh-header-inner { border-radius:26px; }
  .mh-menu-toggle { display:block; }
  .mh-main-nav { position:fixed; left:16px; right:16px; top:92px; display:block; padding:18px; border-radius:24px; background:rgba(255,255,255,.96); border:1px solid var(--mh-border); box-shadow:var(--mh-shadow-card); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); opacity:0; visibility:hidden; transform:translateY(-12px); transition:var(--mh-transition); }
  .admin-bar .mh-main-nav { top:132px; }
  .mh-main-nav.mh-nav-open { opacity:1; visibility:visible; transform:translateY(0); }
  .mh-main-nav ul { display:grid; gap:6px; }
  .mh-main-nav a { padding:14px 12px; border-radius:14px; }
  .mh-main-nav a:hover { background:var(--mh-primary-soft); }
  .mh-main-nav a::after { display:none; }
  .mh-header-actions .mh-btn { display:none; }
  .mh-hero { padding-top:126px; }
  .mh-hero-grid, .mh-two-col, .mh-contact-box, .mh-quote-inner { grid-template-columns:1fr; }
  .mh-hero-points, .mh-values-grid, .mh-news-grid, .mh-footer-grid { grid-template-columns:1fr; }
  .mh-portrait-placeholder { min-height:420px; }
  .mh-section-head { display:block; }
  .mh-section-head .mh-btn { margin-top:22px; }
}
@media (max-width:560px) {
  .mh-container { width:min(100% - 28px,var(--mh-container)); }
  .mh-header-inner { width:calc(100% - 20px); min-height:66px; padding:9px 10px 9px 13px; }
  .mh-brand-logo img { max-height:46px; max-width:170px; }
  .mh-brand-mark { width:42px; height:42px; font-size:18px; }
  .mh-brand-text strong { font-size:15px; }
  .mh-brand-text, .mh-social-mini { display:none; }
  .mh-hero { padding-top:112px; padding-bottom:58px; }
  .mh-page-header { padding-top:116px; }
  .mh-hero h1 { font-size:clamp(42px,14vw,58px); }
  .mh-hero-actions { display:grid; }
  .mh-btn { width:100%; }
  .mh-portrait-placeholder { min-height:360px; }
  .mh-portrait-badge { left:18px; right:18px; bottom:18px; }
  .mh-section { padding:62px 0; }
  .mh-content-card, .mh-contact-box, .mh-wp-content { padding:24px; }
  .mh-program-grid { grid-template-columns:1fr; }
  .mh-footer-bottom { display:grid; }
}


/* Campaign color helpers */
.mh-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--mh-primary);
  color: #fff;
  margin-bottom: 20px;
  box-shadow: 0 12px 24px rgba(0, 76, 151, 0.14);
}
.mh-icon svg { width: 31px; height: 31px; display: block; }
.mh-icon img { width: 100%; height: 100%; object-fit: contain; display: block; border-radius: inherit; }
.mh-icon-blue { background: var(--mh-primary); }
.mh-icon-red { background: var(--mh-accent); }
.mh-icon-yellow { background: var(--mh-yellow); color: #fff; }
.mh-icon-outline { background: #fff; color: var(--mh-primary); border: 2px solid currentColor; }
.mh-hero-point { position: relative; padding-left: 76px; min-height: 74px; }
.mh-hero-point .mh-small-icon {
  position: absolute;
  left: 15px;
  top: 16px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: var(--mh-primary);
}
.mh-hero-point .mh-small-icon svg { width: 24px; height: 24px; }
.mh-hero-point:nth-child(2) .mh-small-icon { background: var(--mh-yellow); }
.mh-hero-point:nth-child(3) .mh-small-icon { background: var(--mh-accent); }
.mh-value-card:nth-child(2n) .mh-icon { background: var(--mh-yellow); }
.mh-value-card:nth-child(3n) .mh-icon { background: var(--mh-accent); }
.mh-program-card:nth-child(4n+1)::before { background: var(--mh-primary); }
.mh-program-card:nth-child(4n+2)::before { background: var(--mh-accent); }
.mh-program-card:nth-child(4n+3)::before { background: var(--mh-yellow); }
.mh-program-card:nth-child(4n+4)::before { background: linear-gradient(90deg, var(--mh-primary), var(--mh-accent)); }
.mh-hero::after {
  content: '';
  position: absolute;
  left: -5%;
  right: -5%;
  bottom: 22px;
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent 0%, var(--mh-primary) 16%, var(--mh-yellow) 50%, var(--mh-accent) 84%, transparent 100%);
  opacity: 0.16;
  transform: rotate(-1.4deg);
}
.mh-footer-bottom { border-top-color: rgba(242, 195, 0, 0.28); }


/* Doplnky: GDPR, program, QR */
.mh-gdpr-link { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:8px 13px; border-radius:999px; background:var(--mh-primary-soft); color:var(--mh-primary) !important; font-size:13px; font-weight:900; text-decoration:none !important; border:1px solid var(--mh-border); transition:var(--mh-transition); }
.mh-gdpr-link:hover { background:var(--mh-yellow); color:var(--mh-primary-dark) !important; transform:translateY(-2px); }
.mh-donate-btn { border-color:rgba(227,6,19,.25); }
.mh-program-grid-12 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mh-program-number { display:inline-flex; margin:0 0 10px; color:var(--mh-accent); font-weight:900; letter-spacing:.04em; }
.mh-two-col-top { align-items:start; }
.mh-check-list { list-style:none; margin:18px 0 0; padding:0; }
.mh-check-list li { position:relative; margin:0 0 12px; padding-left:30px; color:var(--mh-text-muted); line-height:1.65; }
.mh-check-list li::before { content:'✓'; position:absolute; left:0; top:0; width:20px; height:20px; border-radius:999px; background:var(--mh-yellow); color:var(--mh-primary-dark); display:grid; place-items:center; font-weight:900; font-size:13px; }
.mh-form-gdpr-note { margin-top:18px; padding:14px 16px; border-radius:14px; background:var(--mh-primary-soft); color:var(--mh-text-muted); font-size:14px; line-height:1.6; }
.mh-donation-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(320px,1fr); gap:28px; align-items:start; }
.mh-qr-card { overflow:hidden; min-height:620px; border-radius:var(--mh-radius-lg); border:1px solid var(--mh-border); background:#fff; box-shadow:var(--mh-shadow-card); }
.mh-qr-card iframe { width:100%; height:620px; border:0; display:block; }
@media (max-width:1080px){ .mh-program-grid-12 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:920px){ .mh-donation-layout { grid-template-columns:1fr; } .mh-header-actions .mh-gdpr-link, .mh-header-actions .mh-donate-btn { display:none; } }
@media (max-width:560px){ .mh-program-grid-12 { grid-template-columns:1fr; } .mh-qr-card, .mh-qr-card iframe { min-height:520px; height:520px; } }


/* Úprava headera: logo bez vedľajšieho textu + kompaktnejšie menu */
.mh-brand-text { display: none !important; }
.mh-brand { flex: 0 0 auto; }
.mh-brand-logo img { max-height: 58px; max-width: 185px; }
.mh-header-inner { gap: 14px; padding-left: 16px; }
.mh-main-nav { flex: 1 1 auto; min-width: 0; }
.mh-main-nav ul { gap: 0; flex-wrap: nowrap; }
.mh-main-nav a { padding: 10px 9px; font-size: 13px; white-space: nowrap; }
.mh-header-actions { gap: 7px; }
.mh-gdpr-link { white-space: nowrap; }
.mh-donate-btn { padding-inline: 15px; min-height: 42px; }

@media (max-width: 1220px) {
  .mh-donate-btn { display: none; }
  .mh-main-nav a { padding-inline: 8px; font-size: 13px; }
}

@media (max-width: 1080px) {
  .mh-gdpr-link { display: none; }
}

@media (max-width: 920px) {
  .mh-main-nav a { font-size: 15px; padding: 14px 12px; }
  .mh-brand-logo img { max-height: 50px; max-width: 165px; }
}


/* =========================
   Header - GDPR tlačidlo aj na mobile
========================= */

@media (max-width: 920px) {
  .mh-header-actions .mh-gdpr-link {
    display: inline-flex !important;
    min-height: 40px !important;
    padding: 8px 11px !important;
    border-radius: 13px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    background: var(--mh-primary-soft) !important;
    color: var(--mh-primary-dark) !important;
    border: 1px solid var(--mh-border) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  .mh-header-actions .mh-gdpr-link:hover {
    background: var(--mh-primary) !important;
    color: #fff !important;
  }

  .mh-header-actions .mh-donate-btn {
    display: none !important;
  }

  .mh-header-actions {
    gap: 8px !important;
  }
}

@media (max-width: 420px) {
  .mh-header-actions .mh-gdpr-link {
    padding: 7px 9px !important;
    font-size: 11px !important;
  }

  .mh-brand-logo img {
    max-width: 220px !important;
  }
}

/* =========================================================
   V2 úpravy: nový štýl označení, farebnejšie hero podstránok, QR ako obrázok
========================================================= */
.mh-eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 0 0 18px;
  border-radius: 0;
  background: transparent;
  color: var(--mh-accent);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.mh-eyebrow::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 5px;
  height: 28px;
  border-radius: 999px;
  background: var(--mh-primary);
  transform: translateY(-50%);
}
.mh-eyebrow::after {
  content: '';
  width: 42px;
  height: 3px;
  border-radius: 999px;
  background: var(--mh-yellow);
  transform: translateY(1px);
}

.mh-page-header {
  position: relative;
  overflow: hidden;
  padding: 165px 0 84px;
  color: #fff;
  background:
    radial-gradient(circle at 82% 12%, rgba(242, 195, 0, .42) 0 0, transparent 32%),
    radial-gradient(circle at 8% 90%, rgba(227, 6, 19, .23) 0 0, transparent 28%),
    linear-gradient(135deg, var(--mh-primary-dark) 0%, var(--mh-primary) 58%, #0b5aa8 100%);
}
.mh-page-header::before,
.mh-page-header::after {
  content: '';
  position: absolute;
  pointer-events: none;
}
.mh-page-header::before {
  right: -130px;
  top: 58px;
  width: 420px;
  height: 420px;
  border: 34px solid rgba(255, 255, 255, .12);
  border-radius: 50%;
}
.mh-page-header::after {
  left: -7%;
  right: -7%;
  bottom: 28px;
  height: 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent 0%, var(--mh-yellow) 18%, var(--mh-accent) 52%, var(--mh-yellow) 78%, transparent 100%);
  opacity: .95;
  transform: rotate(-2deg);
}
.mh-page-header .mh-container {
  position: relative;
  z-index: 1;
}
.mh-page-header .mh-eyebrow {
  color: #fff;
}
.mh-page-header .mh-eyebrow::before {
  background: var(--mh-yellow);
}
.mh-page-header .mh-eyebrow::after {
  background: var(--mh-accent);
}
.mh-page-header h1 {
  max-width: 900px;
  color: #fff;
  text-shadow: 0 14px 35px rgba(0, 0, 0, .18);
}
.mh-page-header p {
  max-width: 760px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .88);
  font-size: 19px;
  line-height: 1.75;
}

/* Silnejší a menej generický kontakt blok */
.mh-contact-box {
  position: relative;
  overflow: hidden;
  border: 0;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, var(--mh-primary), var(--mh-yellow), var(--mh-accent)) border-box;
  border: 2px solid transparent;
}
.mh-contact-box::before {
  content: '';
  position: absolute;
  right: -80px;
  top: -90px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(242, 195, 0, .24);
}
.mh-contact-box > * {
  position: relative;
  z-index: 1;
}

/* QR stránka - namiesto iframe PDF sa používa čistý obrázok */
.mh-qr-card {
  position: relative;
  padding: 22px;
  min-height: 0;
  border-radius: 32px;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, var(--mh-primary), var(--mh-yellow), var(--mh-accent)) border-box;
  border: 2px solid transparent;
}
.mh-qr-card img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(0, 76, 151, .12);
}
.mh-qr-card iframe { display: none; }

/* Homepage hero doplnenie kampanových vĺn a tvarov */
.mh-hero {
  background:
    radial-gradient(circle at 12% 18%, rgba(0, 76, 151, .13) 0, transparent 30%),
    radial-gradient(circle at 85% 13%, rgba(242, 195, 0, .22) 0, transparent 28%),
    radial-gradient(circle at 72% 76%, rgba(227, 6, 19, .11) 0, transparent 27%),
    linear-gradient(180deg, #fff 0%, var(--mh-bg) 100%);
}
.mh-hero::after {
  height: 18px;
  opacity: .58;
  bottom: 30px;
}

@media (max-width: 920px) {
  .mh-page-header { padding: 130px 0 66px; }
  .mh-page-header::before { width: 280px; height: 280px; right: -130px; top: 70px; }
}
@media (max-width: 560px) {
  .mh-page-header { padding: 116px 0 56px; }
  .mh-page-header h1 { font-size: clamp(38px, 13vw, 56px); }
  .mh-eyebrow { font-size: 11px; letter-spacing: .1em; }
  .mh-eyebrow::after { width: 28px; }
  .mh-qr-card { padding: 12px; border-radius: 24px; }
  .mh-qr-card img { border-radius: 16px; }
}

.mh-home-pillars {
  width: 100%;
  padding: 24px 20px;
  background: #ffffff;
}

.mh-home-pillars__inner {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  align-items: center;
}

.mh-pillar-item {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #102a43;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 800;
}

.mh-pillar-icon {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
}

.mh-pillar-icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.mh-pillar-icon.mh-blue {
  color: #003a8f;
  border: 2px solid #003a8f;
}

.mh-pillar-icon.mh-red {
  color: #c51f2c;
  border: 2px solid #c51f2c;
}

.mh-pillar-last {
  padding-left: 24px;
}

@media (max-width: 980px) {
  .mh-home-pillars__inner {
    grid-template-columns: repeat(2, 1fr);
  }

  .mh-pillar-last {
    border-left: 0;
    padding-left: 0;
  }
}

@media (max-width: 640px) {
  .mh-home-pillars {
    padding: 18px 14px;
  }

  .mh-home-pillars__inner {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .mh-pillar-item {
    background: #ffffff;
    border: 1px solid rgba(16, 42, 67, 0.08);
    border-radius: 18px;
    padding: 14px 16px;
    box-shadow: 0 10px 24px rgba(16, 42, 67, 0.07);
    justify-content: flex-start;
    align-items: center;
    font-size: 16px;
    line-height: 1.25;
  }

  .mh-pillar-last {
    border-left: 0;
    padding-left: 16px;
  }

  .mh-pillar-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
  }

  .mh-pillar-icon svg {
    width: 25px;
    height: 25px;
  }
}


/* =========================================================
   V3 Stripe hero v kampanových farbách
   Použité pre úvodný hero aj všetky podstránky
========================================================= */
.mh-hero-striped,
.mh-page-header-striped {
  isolation: isolate;
}

.mh-stripes {
  position: absolute;
  inset: -170px 0 auto 0;
  width: 100%;
  height: 520px;
  overflow: hidden;
  transform-origin: 0 0;
  transform: skewY(-12deg);
  background:
    linear-gradient(150deg,
      var(--mh-primary-dark) 0%,
      var(--mh-primary) 38%,
      var(--mh-accent) 72%,
      var(--mh-yellow) 100%);
  z-index: -2;
  opacity: .96;
}

.mh-stripes,
.mh-stripes span {
  pointer-events: none;
}

.mh-stripes span {
  position: absolute;
  height: 40px;
  border-radius: 999px 0 0 999px;
  box-shadow: 0 24px 80px rgba(0, 76, 151, .16);
}

.mh-stripes span:nth-child(1) {
  width: 50%;
  left: 50%;
  top: 40px;
  background: var(--mh-primary);
}

.mh-stripes span:nth-child(2) {
  width: 18%;
  right: 0;
  bottom: 40px;
  background: var(--mh-yellow);
}

.mh-stripes span:nth-child(3) {
  width: 28%;
  bottom: 0;
  right: 0;
  background: var(--mh-accent);
}

.mh-stripes span:nth-child(4),
.mh-stripes span:nth-child(5) {
  display: none;
}

.mh-hero-striped {
  background: #fff;
  min-height: 760px;
}

.mh-hero-striped::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 82% 20%, rgba(242, 195, 0, .20) 0, transparent 25%),
    radial-gradient(circle at 16% 78%, rgba(227, 6, 19, .08) 0, transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,.76) 0%, #fff 52%, var(--mh-bg) 100%);
}

.mh-hero-striped .mh-container,
.mh-page-header-striped .mh-container {
  position: relative;
  z-index: 2;
}

.mh-hero-striped .mh-eyebrow {
  color: var(--mh-primary-dark);
}

.mh-hero-striped h1,
.mh-hero-striped .mh-hero-text {
  text-shadow: 0 12px 34px rgba(255,255,255,.46);
}

.mh-page-header-striped {
  background: var(--mh-primary-dark);
  padding: 168px 0 92px;
}

.mh-page-header-striped::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(7, 26, 51, .18) 0%, rgba(7, 26, 51, .62) 88%),
    radial-gradient(circle at 84% 26%, rgba(242, 195, 0, .18) 0, transparent 28%),
    radial-gradient(circle at 8% 86%, rgba(227, 6, 19, .18) 0, transparent 30%);
}

.mh-page-header-striped::after {
  content: '';
  position: absolute;
  left: -10%;
  right: -10%;
  bottom: 26px;
  height: 20px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent 0%, var(--mh-yellow) 18%, #fff 36%, var(--mh-accent) 57%, var(--mh-primary) 82%, transparent 100%);
  opacity: .88;
  transform: rotate(-2deg);
  z-index: 1;
}

.mh-page-header-striped .mh-stripes {
  inset: -150px 0 auto 0;
  height: 500px;
  opacity: 1;
}

@media (min-width: 670px) {
  .mh-stripes { height: 600px; }
  .mh-stripes span { height: 150px; border-radius: 0; }
  .mh-stripes span:nth-child(1) { top: 0; }
  .mh-stripes span:nth-child(2) {
    width: 16.66667%;
    top: 300px;
    bottom: auto;
    background: var(--mh-yellow);
  }
  .mh-stripes span:nth-child(3) {
    width: 33.33333%;
    right: auto;
    background: var(--mh-accent);
  }
}

@media (min-width: 880px) {
  .mh-stripes { height: 640px; }
  .mh-stripes span { height: 190px; }
  .mh-stripes span:nth-child(1) {
    width: 33.33333%;
    left: -16.66666%;
    background: var(--mh-primary-dark);
  }
  .mh-stripes span:nth-child(2) {
    width: 33.33333%;
    top: 0;
    left: 16.66666%;
    right: auto;
    background: var(--mh-primary);
  }
  .mh-stripes span:nth-child(3) {
    width: 33.33333%;
    left: 49.99999%;
    bottom: auto;
    background: #1264b0;
  }
  .mh-stripes span:nth-child(4) {
    display: block;
    width: 33.33333%;
    top: 380px;
    right: -16.66666%;
    background: var(--mh-yellow);
  }
  .mh-stripes span:nth-child(5) {
    display: block;
    width: 33.33333%;
    bottom: 0;
    left: 0;
    background: var(--mh-accent);
  }
}

@media (max-width: 920px) {
  .mh-hero-striped { min-height: 0; }
  .mh-stripes { inset: -120px 0 auto 0; height: 430px; }
  .mh-page-header-striped { padding: 132px 0 72px; }
}

@media (max-width: 560px) {
  .mh-stripes { inset: -90px 0 auto 0; height: 340px; }
  .mh-page-header-striped { padding: 118px 0 60px; }
}

/* =========================================================
   V4 Stripe hero - presnejšie podľa dodaného vzoru
   Kampanové farby: modrá / červená / žltá
========================================================= */
.mh-hero-striped,
.mh-page-header-striped {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: #fff !important;
}

.mh-hero-striped {
  min-height: 760px;
}

.mh-page-header-striped {
  padding: 168px 0 96px;
  min-height: 380px;
}

.mh-stripes {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
  transform-origin: 0 0;
  transform: skewY(-12deg);
  background: linear-gradient(
    150deg,
    var(--mh-primary-dark) 0%,
    var(--mh-primary) 44%,
    var(--mh-accent) 73%,
    var(--mh-yellow) 94%
  ) !important;
  z-index: 0 !important;
  opacity: 1 !important;
  pointer-events: none;
}

.mh-stripes,
.mh-stripes span {
  position: absolute;
}

.mh-stripes span {
  height: 40px;
  border-radius: 0 !important;
  box-shadow: none !important;
  opacity: .96;
}

.mh-stripes span:nth-child(1) {
  width: 50%;
  left: 50%;
  top: 40px;
  background: var(--mh-primary-dark) !important;
}

.mh-stripes span:nth-child(2) {
  width: 14%;
  right: 0;
  bottom: 40px;
  left: auto;
  top: auto;
  background: var(--mh-yellow) !important;
}

.mh-stripes span:nth-child(3) {
  width: 25%;
  bottom: 0;
  right: 0;
  left: auto;
  top: auto;
  background: var(--mh-accent) !important;
}

.mh-stripes span:nth-child(4),
.mh-stripes span:nth-child(5) {
  display: none;
}

.mh-hero-striped::before,
.mh-page-header-striped::before,
.mh-page-header-striped::after {
  display: none !important;
}

.mh-hero-striped .mh-container,
.mh-page-header-striped .mh-container {
  position: relative;
  z-index: 2;
}

/* Aby bol text dobre čitateľný na farebnom stripe hero */
.mh-page-header-striped .mh-eyebrow {
  color: #fff !important;
}

.mh-hero-striped h1,
.mh-hero-striped h1 span,
.mh-hero-striped .mh-hero-text,
.mh-page-header-striped h1,
.mh-page-header-striped p {
  color: #fff !important;
  text-shadow: 0 16px 36px rgba(0, 32, 75, .26);
}

.mh-hero-striped .mh-btn-secondary {
  background: rgba(255,255,255,.94);
  color: var(--mh-primary-dark) !important;
  border-color: rgba(255,255,255,.74);
}

@media (min-width: 670px) {
  .mh-stripes span {
    height: 150px;
  }

  .mh-stripes span:nth-child(1) {
    top: 0;
  }

  .mh-stripes span:nth-child(2) {
    width: 16.66667%;
    top: 300px;
    bottom: auto;
    right: 0;
    background: var(--mh-yellow) !important;
  }

  .mh-stripes span:nth-child(3) {
    width: 33.33333%;
    right: auto;
    left: 0;
    background: var(--mh-accent) !important;
  }
}

@media (min-width: 880px) {
  .mh-stripes span {
    height: 190px;
  }

  .mh-stripes span:nth-child(1) {
    width: 33.33333%;
    left: -16.66666%;
    top: 0;
    background: var(--mh-primary-dark) !important;
  }

  .mh-stripes span:nth-child(2) {
    width: 33.33333%;
    top: 0;
    left: 16.66666%;
    right: auto;
    background: var(--mh-primary) !important;
  }

  .mh-stripes span:nth-child(3) {
    width: 33.33333%;
    left: 49.99999%;
    right: auto;
    bottom: auto;
    top: 0;
    background: #0e5ead !important;
  }

  .mh-stripes span:nth-child(4) {
    display: block;
    width: 33.33333%;
    top: 380px;
    right: -16.66666%;
    background: var(--mh-yellow) !important;
  }

  .mh-stripes span:nth-child(5) {
    display: block;
    width: 33.33333%;
    bottom: 0;
    left: 0;
    background: var(--mh-accent) !important;
  }
}

@media (max-width: 920px) {
  .mh-hero-striped {
    min-height: 0;
  }

  .mh-page-header-striped {
    min-height: 320px;
    padding: 132px 0 72px;
  }
}

@media (max-width: 560px) {
  .mh-page-header-striped {
    min-height: 280px;
    padding: 118px 0 60px;
  }
}

/* =========================================================
   V5 Stripe hero - väčší a jemnejší
   Úprava: aby text ostával v plnej farebnej časti a farby nepôsobili tvrdo
========================================================= */
.mh-hero-striped,
.mh-page-header-striped {
  background: #fff !important;
}

.mh-hero-striped {
  min-height: 880px;
  padding-top: 170px;
  padding-bottom: 120px;
}

.mh-page-header-striped {
  min-height: 520px;
  padding: 190px 0 150px;
}

.mh-stripes {
  top: -95px !important;
  height: 118% !important;
  background: linear-gradient(
    150deg,
    #123f79 0%,
    #1f66ad 42%,
    #c94f55 72%,
    #f1c84a 96%
  ) !important;
  opacity: .94 !important;
}

.mh-stripes span {
  opacity: .74 !important;
}

.mh-stripes span:nth-child(1) {
  background: #0f376b !important;
}

.mh-stripes span:nth-child(2) {
  background: #f1c84a !important;
}

.mh-stripes span:nth-child(3) {
  background: #d86463 !important;
}

@media (min-width: 670px) {
  .mh-stripes {
    height: 122% !important;
  }

  .mh-stripes span:nth-child(2) {
    background: #ecc247 !important;
  }

  .mh-stripes span:nth-child(3) {
    background: #d86463 !important;
  }
}

@media (min-width: 880px) {
  .mh-stripes {
    top: -120px !important;
    height: 126% !important;
  }

  .mh-stripes span {
    height: 220px !important;
  }

  .mh-stripes span:nth-child(1) {
    background: #123f79 !important;
  }

  .mh-stripes span:nth-child(2) {
    background: #2f73b8 !important;
  }

  .mh-stripes span:nth-child(3) {
    background: #467fc0 !important;
  }

  .mh-stripes span:nth-child(4) {
    top: 430px !important;
    background: #ecc247 !important;
  }

  .mh-stripes span:nth-child(5) {
    background: #c94f55 !important;
  }
}

@media (max-width: 920px) {
  .mh-hero-striped {
    padding-top: 142px;
    padding-bottom: 82px;
  }

  .mh-page-header-striped {
    min-height: 430px;
    padding: 150px 0 115px;
  }

  .mh-stripes {
    top: -80px !important;
    height: 124% !important;
  }
}

@media (max-width: 560px) {
  .mh-hero-striped {
    padding-top: 124px;
    padding-bottom: 66px;
  }

  .mh-page-header-striped {
    min-height: 380px;
    padding: 132px 0 96px;
  }

  .mh-stripes {
    top: -60px !important;
    height: 128% !important;
  }
}


/* =========================================================
   V7 Stripe hero - korekcia výšky bez prehnaného rozšírenia
   - sklon podľa požiadavky: -11deg
   - bez tmavej clony ::after
   - primeraná výška podľa zariadenia, aby sa pruhy neorezávali
========================================================= */
.mh-stripes {
  transform: skewY(-11deg) !important;
  height: 122% !important;
}

.mh-hero-striped::after,
.mh-page-header-striped::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

.mh-hero-striped .mh-container,
.mh-page-header-striped .mh-container {
  z-index: 2 !important;
}

@media (min-width: 670px) {
  .mh-stripes {
    height: 123% !important;
  }
}

@media (min-width: 880px) {
  .mh-stripes {
    top: -110px !important;
    height: 122% !important;
  }
}

@media (max-width: 920px) {
  .mh-stripes {
    top: -78px !important;
    height: 124% !important;
  }
}

@media (max-width: 560px) {
  .mh-stripes {
    top: -58px !important;
    height: 126% !important;
  }
}

/* =========================================================
   V8: vlastné jednoduché ikonky, O mne layout, biely header
========================================================= */
body:not(.home) .mh-header-inner,
body:not(.front-page) .mh-header-inner {
  background: #ffffff !important;
  border-color: rgba(226, 232, 240, 0.96) !important;
  box-shadow: 0 14px 36px rgba(9, 36, 75, 0.12) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.mh-svg-icon svg {
  width: 34px;
  height: 34px;
  display: block;
}

.mh-small-icon .mh-svg-icon svg {
  width: 24px;
  height: 24px;
}

.mh-program-card .mh-icon {
  color: #fff;
}

.mh-program-card .mh-icon .mh-campaign-icon,
.mh-value-card .mh-icon .mh-campaign-icon {
  display: grid;
  place-items: center;
}

.mh-program-grid-12 .mh-program-card {
  min-height: 255px;
}

.mh-program-number {
  position: absolute;
  right: 22px;
  top: 22px;
  color: rgba(9, 36, 75, 0.12);
  font-size: 42px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.05em;
}

.mh-about-intro-section {
  position: relative;
}

.mh-about-quote-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--mh-radius-xl);
  padding: clamp(28px, 4vw, 48px);
  background: linear-gradient(135deg, var(--mh-primary), var(--mh-primary-dark));
  color: #fff;
  box-shadow: var(--mh-shadow-strong);
}

.mh-about-quote-card::before {
  content: '';
  position: absolute;
  width: 190px;
  height: 190px;
  right: -64px;
  top: -64px;
  border-radius: 50%;
  background: var(--mh-yellow);
  opacity: .28;
}

.mh-about-quote-card::after {
  content: '';
  position: absolute;
  width: 110px;
  height: 8px;
  left: 32px;
  bottom: 20px;
  background: var(--mh-accent);
  transform: skewX(-18deg);
  opacity: .80;
  z-index: 1;
}

@media (max-width: 767px) {
  .mh-about-quote-card::after {
    width: 78px;
    height: 5px;
    left: 24px;
    bottom: 16px;
    opacity: .45;
  }
}

.mh-about-quote-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  font-family: var(--mh-font-heading);
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.15;
  letter-spacing: -0.035em;
}

.mh-about-quote-card span {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 22px;
  font-weight: 900;
  color: rgba(255,255,255,.82);
}

.mh-about-story-section {
  background:
    radial-gradient(circle at 10% 20%, rgba(242, 195, 0, .16), transparent 28%),
    radial-gradient(circle at 90% 30%, rgba(209, 31, 47, .10), transparent 28%),
    var(--mh-bg);
}

.mh-about-story-grid {
  display: grid;
  grid-template-columns: 1.35fr .8fr .8fr;
  gap: 20px;
}

.mh-story-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--mh-radius-lg);
  padding: 30px;
  background: #fff;
  border: 1px solid var(--mh-border);
  box-shadow: var(--mh-shadow-soft);
}

.mh-story-card-featured {
  background: #fff;
  border-top: 6px solid var(--mh-accent);
}

.mh-story-card h2,
.mh-story-card h3 {
  margin: 0 0 14px;
  color: var(--mh-primary-dark);
  letter-spacing: -0.03em;
}

.mh-story-card h2 {
  font-family: var(--mh-font-heading);
  font-size: clamp(30px, 3.2vw, 46px);
  line-height: 1.08;
}

.mh-story-card p {
  color: var(--mh-text-muted);
  font-size: 16px;
  line-height: 1.75;
}

.mh-about-timeline {
  display: grid;
  gap: 18px;
  position: relative;
}

.mh-about-timeline article {
  position: relative;
  padding: 28px 28px 28px 34px;
  border-radius: var(--mh-radius-lg);
  background: #fff;
  border: 1px solid var(--mh-border);
  box-shadow: 0 12px 28px rgba(9, 36, 75, .06);
}

.mh-about-timeline article::before {
  content: '';
  position: absolute;
  left: 0;
  top: 24px;
  bottom: 24px;
  width: 6px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--mh-primary), var(--mh-accent), var(--mh-yellow));
}

.mh-about-timeline span {
  display: inline-flex;
  margin-bottom: 8px;
  color: var(--mh-accent);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 12px;
}

.mh-about-timeline h3 {
  margin: 0 0 8px;
  color: var(--mh-primary-dark);
  font-size: 22px;
}

.mh-about-timeline p {
  margin: 0;
  color: var(--mh-text-muted);
  line-height: 1.75;
}

.mh-about-actions-section {
  background: linear-gradient(180deg, #ffffff 0%, var(--mh-bg) 100%);
}

.mh-about-actions-card {
  border-top: 6px solid var(--mh-yellow);
}

.mh-home-about-snapshot .mh-home-about-card {
  border-top: 6px solid var(--mh-accent);
}

.mh-two-col-top {
  align-items: start;
}

@media (max-width: 1080px) {
  .mh-about-story-grid {
    grid-template-columns: 1fr 1fr;
  }

  .mh-story-card-featured {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .mh-about-story-grid {
    grid-template-columns: 1fr;
  }

  .mh-about-timeline article {
    padding: 24px 22px 24px 28px;
  }

  .mh-program-grid-12 .mh-program-card {
    min-height: auto;
  }
}

/* =========================================================
   V6 Mobile/tablet stripe hero fix
   - samostatné rozloženie pre mobil a tablet
   - menšie texty a medzery
   - Stripe-like pruhy bez odrezania spodku
========================================================= */
.mh-hero-striped,
.mh-page-header-striped {
  overflow: hidden !important;
}

.mh-stripes {
  transform-origin: 0 0 !important;
  transform: skewY(-11deg) !important;
  height: 122% !important;
}

@media (max-width: 1080px) {
  .mh-hero-striped {
    padding-top: 132px !important;
    padding-bottom: 74px !important;
  }

  .mh-page-header-striped {
    padding-top: 128px !important;
    padding-bottom: 68px !important;
  }

  .mh-stripes {
    top: -118px !important;
    height: 118% !important;
  }

  .mh-stripes span {
    height: 135px !important;
  }

  .mh-stripes span:nth-child(1) {
    width: 46% !important;
    left: -14% !important;
    top: 0 !important;
  }

  .mh-stripes span:nth-child(2) {
    width: 42% !important;
    left: 24% !important;
    top: 0 !important;
    right: auto !important;
  }

  .mh-stripes span:nth-child(3) {
    width: 44% !important;
    left: 58% !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
  }

  .mh-stripes span:nth-child(4) {
    width: 40% !important;
    right: -18% !important;
    top: 268px !important;
  }

  .mh-stripes span:nth-child(5) {
    width: 42% !important;
    left: 0 !important;
    bottom: 0 !important;
  }

  .mh-hero h1,
  .mh-page-header-striped h1 {
    font-size: clamp(40px, 8vw, 64px) !important;
  }

  .mh-hero-text,
  .mh-page-header-striped p {
    font-size: 17px !important;
    line-height: 1.62 !important;
  }
}

@media (max-width: 760px) {
  .mh-hero-striped {
    padding-top: 118px !important;
    padding-bottom: 62px !important;
  }

  .mh-page-header-striped {
    padding-top: 114px !important;
    padding-bottom: 54px !important;
  }

  .mh-stripes {
    top: -82px !important;
    height: 112% !important;
  }

  .mh-stripes span {
    height: 96px !important;
  }

  .mh-stripes span:nth-child(1) {
    width: 64% !important;
    left: 48% !important;
    top: 34px !important;
  }

  .mh-stripes span:nth-child(2) {
    width: 26% !important;
    left: auto !important;
    right: 0 !important;
    top: auto !important;
    bottom: 72px !important;
  }

  .mh-stripes span:nth-child(3) {
    width: 42% !important;
    left: auto !important;
    right: 0 !important;
    top: auto !important;
    bottom: 0 !important;
  }

  .mh-stripes span:nth-child(4),
  .mh-stripes span:nth-child(5) {
    display: none !important;
  }

  .mh-hero h1,
  .mh-page-header-striped h1 {
    font-size: clamp(34px, 11vw, 50px) !important;
    line-height: 1.03 !important;
  }

  .mh-hero-text,
  .mh-page-header-striped p {
    font-size: 16px !important;
    line-height: 1.58 !important;
  }

  .mh-eyebrow {
    font-size: 12px !important;
  }
}

@media (max-width: 520px) {
  .mh-hero-striped {
    padding-top: 106px !important;
    padding-bottom: 54px !important;
  }

  .mh-page-header-striped {
    padding-top: 104px !important;
    padding-bottom: 48px !important;
  }

  .mh-stripes {
    top: -70px !important;
    height: 108% !important;
  }

  .mh-stripes span {
    height: 76px !important;
  }

  .mh-stripes span:nth-child(1) {
    width: 58% !important;
    left: 52% !important;
    top: 28px !important;
  }

  .mh-stripes span:nth-child(2) {
    width: 34% !important;
    right: 0 !important;
    bottom: 54px !important;
  }

  .mh-stripes span:nth-child(3) {
    width: 50% !important;
    right: 0 !important;
    bottom: 0 !important;
  }

  .mh-hero-actions {
    gap: 10px !important;
  }

  .mh-hero h1,
  .mh-page-header-striped h1 {
    font-size: clamp(32px, 12vw, 44px) !important;
  }
}

/* Homepage foto kandidátky */
.mh-portrait-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--mh-radius-xl);
  background: #fff;
  box-shadow: var(--mh-shadow-strong);
}

.mh-portrait-img {
  display: block;
  width: 100%;
  height: 560px;
  object-fit: cover;
  object-position: center top;
  border-radius: 25px !important;
}

.mh-portrait-card {
  border-radius: 25px !important;
  overflow: hidden !important;
}

.mh-portrait-badge {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 28px;
  z-index: 2;
}

@media (max-width: 920px) {
  .mh-portrait-img {
    height: 440px;
  }
}

@media (max-width: 560px) {
  .mh-portrait-img {
    height: 360px;
  }

  .mh-portrait-badge {
    left: 18px;
    right: 18px;
    bottom: 18px;
  }
}

/* o mne foto kandidátky */

.mh-about-intro-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 42px;
  align-items: center;
}

.mh-about-photo-wrap {
  position: relative;
}

.mh-about-photo-card {
  position: relative;
  max-width: 420px;
  margin-left: auto;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 20px 45px rgba(0,0,0,0.12);
  background: #fff;
}

.mh-about-photo-card::before {
  content: "";
  position: absolute;
  inset: 16px;
  border: 1px solid rgba(255,255,255,0.45);
  border-radius: 24px;
  z-index: 2;
  pointer-events: none;
}

.mh-about-photo-card img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.mh-about-photo-wrap::after {
  content: "";
  position: absolute;
  right: -18px;
  bottom: -18px;
  width: 180px;
  height: 180px;
  border-radius: 34px;
  background: linear-gradient(135deg, rgba(242,169,0,0.22), rgba(0,58,143,0.12));
  z-index: -1;
}

.mh-about-intro-text .mh-about-quote-card {
  margin-top: 26px;
}

@media (max-width: 980px) {
  .mh-about-intro-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .mh-about-photo-card {
    margin: 0 auto;
    max-width: 360px;
  }
}

@media (max-width: 640px) {
  .mh-about-photo-card {
    border-radius: 24px;
  }

  .mh-about-photo-wrap::after {
    width: 130px;
    height: 130px;
    right: 0;
  }
}


/* ------ fulet form ------- */

.mh-form-placeholder {
  background: #fff;
  border: 1px solid rgba(16,42,67,.08);
  border-radius: 24px;
  padding: 28px;
  box-shadow: 0 16px 36px rgba(16,42,67,.08);
}

.mh-form-placeholder .ff-el-group {
  margin-bottom: 16px;
}

.mh-form-placeholder .ff-el-input--label label {
  display: block;
  margin-bottom: 7px;
  font-size: 14px;
  font-weight: 700;
  color: #102a43;
}

.mh-form-placeholder .ff-t-container {
  display: flex;
  gap: 14px;
}

.mh-form-placeholder .ff-t-cell {
  flex: 1;
}

.mh-form-placeholder .ff-el-form-control {
  width: 100% !important;
  border: 1px solid rgba(16,42,67,.14) !important;
  border-radius: 14px !important;
  background: #f7f9fc !important;
  color: #102a43 !important;
  padding: 13px 15px !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  box-shadow: none !important;
  outline: none !important;
}

.mh-form-placeholder .ff-el-form-control:focus {
  background: #fff !important;
  border-color: #c51f2c !important;
  box-shadow: 0 0 0 3px rgba(197,31,44,.12) !important;
}

.mh-form-placeholder textarea.ff-el-form-control {
  min-height: 145px;
  resize: vertical;
}

.mh-form-placeholder .ff-el-form-check-label {
  display: flex !important;
  gap: 10px;
  align-items: flex-start;
  font-size: 14px;
  line-height: 1.5;
  color: #415063;
}

.mh-form-placeholder .ff-el-form-check-input {
  margin-top: 3px !important;
  width: 17px !important;
  height: 17px !important;
  accent-color: #c51f2c;
}

.mh-form-placeholder .ff_submit_btn_wrapper {
  margin-top: 8px;
  text-align: left !important;
}

.mh-form-placeholder .ff-btn-submit {
  border: none !important;
  border-radius: 999px !important;
  background: #c51f2c !important;
  color: #fff !important;
  padding: 13px 26px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(197,31,44,.22);
}

.mh-form-placeholder .ff-btn-submit:hover {
  background: #102a43 !important;
  color: #fff !important;
}

@media (max-width: 767px) {
  .mh-form-placeholder {
    padding: 22px;
    border-radius: 20px;
  }

  .mh-form-placeholder .ff-t-container {
    flex-direction: column;
    gap: 0;
  }

  .mh-form-placeholder .ff-btn-submit {
    width: 100% !important;
  }
}


/* =========================
   O mne - celý text v hravejšom layoute
========================= */

.mh-about-fulltext-section {
  position: relative;
  overflow: hidden;
}

.mh-about-fulltext-section::before {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  right: -140px;
  top: 80px;
  border-radius: 999px;
  background: rgba(241, 200, 74, 0.18);
  pointer-events: none;
}

.mh-about-fulltext-layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(260px, 0.34fr) minmax(0, 0.66fr);
  gap: 34px;
  align-items: start;
}

.mh-about-fulltext-side {
  position: sticky;
  top: 120px;
}

.mh-about-sticky-card {
  padding: 30px;
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(31, 102, 173, 0.10), rgba(241, 200, 74, 0.16)),
    #fff;
  border: 1px solid var(--mh-border);
  box-shadow: var(--mh-shadow-soft);
}

.mh-about-sticky-card h2 {
  margin: 16px 0 12px;
  font-family: var(--mh-font-heading);
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.12;
  color: var(--mh-primary-dark);
}

.mh-about-sticky-card p {
  margin: 0;
  color: var(--mh-text-muted);
  font-size: 16px;
  line-height: 1.7;
}

.mh-about-mini-points {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.mh-about-mini-points div {
  padding: 16px;
  border-radius: 18px;
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(226,232,240,0.9);
}

.mh-about-mini-points strong {
  display: block;
  color: var(--mh-primary-dark);
  font-size: 15px;
}

.mh-about-mini-points span {
  display: block;
  margin-top: 4px;
  color: var(--mh-text-muted);
  font-size: 13px;
}

.mh-about-letter-card {
  position: relative;
  padding: clamp(28px, 4vw, 52px);
  border-radius: 34px;
  background: #fff;
  border: 1px solid var(--mh-border);
  box-shadow: var(--mh-shadow-card);
}

.mh-about-letter-card::before {
  content: "“";
  position: absolute;
  top: -22px;
  right: 30px;
  font-family: Georgia, serif;
  font-size: 120px;
  line-height: 1;
  color: rgba(31, 102, 173, 0.08);
}

.mh-about-letter-card p {
  margin: 0 0 20px;
  color: var(--mh-text);
  font-size: 17px;
  line-height: 1.86;
}

.mh-about-letter-card p:first-child {
  font-size: 20px;
  font-weight: 800;
  color: var(--mh-primary-dark);
}

.mh-about-letter-card p:last-child {
  margin-top: 34px;
  padding: 22px 24px;
  border-radius: 22px;
  background: linear-gradient(135deg, var(--mh-primary), var(--mh-primary-dark));
  color: #fff;
  font-weight: 800;
  line-height: 1.6;
}

.mh-about-photo-card {
  border-radius: 30px;
  overflow: hidden;
  box-shadow: var(--mh-shadow-card);
}

.mh-about-photo-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center top;
}

@media (max-width: 980px) {
  .mh-about-fulltext-layout {
    grid-template-columns: 1fr;
  }

  .mh-about-fulltext-side {
    position: static;
  }

  .mh-about-photo-card img {
    aspect-ratio: 16 / 11;
  }
}

@media (max-width: 560px) {
  .mh-about-sticky-card,
  .mh-about-letter-card {
    padding: 24px;
    border-radius: 24px;
  }

  .mh-about-letter-card p {
    font-size: 16px;
    line-height: 1.78;
  }

  .mh-about-letter-card p:first-child {
    font-size: 18px;
  }

  .mh-about-photo-card {
    border-radius: 24px;
  }
}


/* =========================
   Volebný program - klikateľné body
========================= */

.mh-program-index-section {
  position: relative;
}

.mh-program-point-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.mh-program-point-card {
  display: block;
  position: relative;
  padding: 24px;
  min-height: 260px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid var(--mh-border);
  box-shadow: var(--mh-shadow-soft);
  text-decoration: none !important;
  color: inherit;
  overflow: hidden;
  transition: var(--mh-transition);
}

.mh-program-point-card::before {
  content: "";
  position: absolute;
  right: -55px;
  top: -55px;
  width: 135px;
  height: 135px;
  border-radius: 999px;
  background: rgba(241, 200, 74, 0.20);
  transition: var(--mh-transition);
}

.mh-program-point-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--mh-shadow-card);
  border-color: rgba(201, 79, 85, 0.35);
}

.mh-program-point-card:hover::before {
  transform: scale(1.18);
  background: rgba(201, 79, 85, 0.13);
}

.mh-program-point-top {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
  z-index: 1;
}

.mh-program-point-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--mh-primary);
  color: #fff;
  font-weight: 900;
  font-size: 14px;
}

.mh-program-point-status {
  display: inline-flex;
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--mh-primary-soft);
  color: var(--mh-primary-dark);
  font-size: 12px;
  font-weight: 900;
}

.mh-program-point-icon {
  position: relative;
  z-index: 1;
  margin-bottom: 18px;
}

.mh-program-point-card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 10px;
  color: var(--mh-primary-dark);
  font-size: 20px;
  line-height: 1.25;
}

.mh-program-point-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--mh-text-muted);
  font-size: 15px;
  line-height: 1.65;
}

/* Detail bodu programu */

.mh-program-detail-section {
  position: relative;
  overflow: hidden;
  background: var(--mh-bg);
}

.mh-program-detail-section::before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  left: -170px;
  top: 90px;
  border-radius: 999px;
  background: rgba(31, 102, 173, 0.10);
  pointer-events: none;
}

.mh-program-detail-layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(260px, 0.32fr) minmax(0, 0.68fr);
  gap: 34px;
  align-items: start;
}

.mh-program-detail-side {
  position: sticky;
  top: 120px;
}

.mh-program-detail-sticky {
  padding: 30px;
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(31, 102, 173, 0.10), rgba(241, 200, 74, 0.16)),
    #fff;
  border: 1px solid var(--mh-border);
  box-shadow: var(--mh-shadow-soft);
}

.mh-program-detail-sticky h2 {
  margin: 18px 0 12px;
  font-family: var(--mh-font-heading);
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.12;
  color: var(--mh-primary-dark);
}

.mh-program-detail-sticky p {
  margin: 0 0 22px;
  color: var(--mh-text-muted);
  line-height: 1.7;
}

.mh-program-letter-card {
  padding: clamp(28px, 4vw, 52px);
  border-radius: 34px;
  background: #fff;
  border: 1px solid var(--mh-border);
  box-shadow: var(--mh-shadow-card);
}

.mh-program-letter-card p {
  margin: 0 0 18px;
  color: var(--mh-text);
  font-size: 17px;
  line-height: 1.84;
}

.mh-program-letter-card p:first-child {
  font-size: 20px;
  font-weight: 900;
  color: var(--mh-primary-dark);
}

.mh-program-letter-card p:nth-child(2) {
  font-size: 28px;
  font-family: var(--mh-font-heading);
  color: var(--mh-primary);
  font-weight: 900;
}

/* Ostatné body */

.mh-program-coming-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.mh-program-coming-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: start;
  padding: 24px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid var(--mh-border);
  box-shadow: var(--mh-shadow-soft);
}

.mh-program-coming-card span {
  display: inline-flex;
  margin-bottom: 6px;
  color: var(--mh-accent-dark);
  font-weight: 900;
  font-size: 13px;
}

.mh-program-coming-card h3 {
  margin: 0 0 8px;
  color: var(--mh-primary-dark);
  font-size: 20px;
}

.mh-program-coming-card p {
  margin: 0;
  color: var(--mh-text-muted);
  line-height: 1.6;
}

@media (max-width: 1100px) {
  .mh-program-point-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 880px) {
  .mh-program-point-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mh-program-detail-layout {
    grid-template-columns: 1fr;
  }

  .mh-program-detail-side {
    position: static;
  }
}

@media (max-width: 620px) {
  .mh-program-point-grid,
  .mh-program-coming-list {
    grid-template-columns: 1fr;
  }

  .mh-program-point-card {
    min-height: auto;
  }

  .mh-program-letter-card,
  .mh-program-detail-sticky {
    padding: 24px;
    border-radius: 24px;
  }

  .mh-program-letter-card p {
    font-size: 16px;
    line-height: 1.78;
  }

  .mh-program-coming-card {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   FINÁLNE ÚPRAVY 06/2026: Bootstrap ikonky + čitateľný header
   Texty a šablóny stránok ostávajú nezmenené.
========================================================= */

/* Bootstrap Icons vo všetkých existujúcich blokoch */
.mh-icon,
.mh-small-icon,
.mh-pillar-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.mh-icon .bi,
.mh-small-icon .bi,
.mh-pillar-icon .bi {
  display: block !important;
  line-height: 1 !important;
  color: currentColor !important;
}

.mh-icon .bi {
  font-size: 30px !important;
}

.mh-small-icon .bi {
  font-size: 22px !important;
}

.mh-pillar-icon .bi {
  font-size: 28px !important;
}

.mh-program-point-icon .bi {
  font-size: 34px !important;
}

.mh-program-coming-card .mh-icon .bi {
  font-size: 30px !important;
}

/* Moderný, čitateľnejší header */
.mh-site-header {
  position: fixed !important;
  top: 14px !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99999 !important;
  pointer-events: none !important;
  transition: transform .28s ease, opacity .28s ease !important;
}

.admin-bar .mh-site-header {
  top: 46px !important;
}

.mh-site-header.mh-header-hidden {
  transform: translateY(-120%) !important;
  opacity: 0 !important;
}

.mh-header-inner {
  width: min(1240px, calc(100% - 32px)) !important;
  min-height: 72px !important;
  margin: 0 auto !important;
  padding: 10px 14px 10px 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  background: rgba(255, 255, 255, 0.98) !important;
  border: 1px solid rgba(216, 229, 245, 0.95) !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 40px rgba(0, 76, 151, 0.13) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  pointer-events: auto !important;
}

.mh-brand {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
  min-width: 0 !important;
}

.mh-brand-logo img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-height: 56px !important;
  max-width: 178px !important;
  object-fit: contain !important;
}

.mh-brand-text {
  display: none !important;
}

.mh-main-nav {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  justify-content: center !important;
}

.mh-main-nav ul {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.mh-main-nav a {
  display: flex !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  color: var(--mh-primary-dark) !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: all .22s ease !important;
}

.mh-main-nav a::after {
  display: none !important;
}

.mh-main-nav a:hover,
.mh-main-nav .current-menu-item > a,
.mh-main-nav .current_page_item > a {
  background: var(--mh-primary-soft) !important;
  color: var(--mh-primary) !important;
}

.mh-header-actions {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}

.mh-gdpr-link {
  min-height: 40px !important;
  padding: 9px 13px !important;
  border-radius: 14px !important;
  background: transparent !important;
  border: 1px solid var(--mh-border) !important;
  color: var(--mh-primary-dark) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.mh-gdpr-link:hover {
  background: var(--mh-primary-soft) !important;
  color: var(--mh-primary) !important;
  transform: none !important;
}

.mh-donate-btn {
  min-height: 42px !important;
  padding: 10px 16px !important;
  border-radius: 14px !important;
  background: var(--mh-accent) !important;
  border-color: var(--mh-accent) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

.mh-donate-btn:hover {
  background: var(--mh-primary) !important;
  border-color: var(--mh-primary) !important;
  color: #fff !important;
  transform: none !important;
}

.mh-menu-toggle {
  position: relative !important;
  display: none !important;
  width: 44px !important;
  height: 44px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: var(--mh-primary) !important;
  cursor: pointer !important;
}

/* =========================
   Hamburger menu - animácia na krížik
========================= */

/* PC: hamburger skrytý */
.mh-menu-toggle {
  display: none !important;
}

/* Mobil/tablet: hamburger viditeľný */
@media (max-width: 920px) {
  .mh-menu-toggle {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  .mh-menu-toggle span {
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: #fff !important;
    transform-origin: center !important;
    transition:
      transform .25s ease,
      opacity .18s ease,
      margin .25s ease !important;
  }

  /* otvorené menu = krížik */
  .mh-menu-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(8px) rotate(45deg) !important;
  }

  .mh-menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0 !important;
  }

  .mh-menu-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg) !important;
  }

  .mh-menu-toggle[aria-expanded="true"] {
    background: var(--mh-accent) !important;
  }
}

@media (max-width: 1180px) {
  .mh-main-nav a {
    padding-inline: 9px !important;
    font-size: 13px !important;
  }

  .mh-donate-btn {
    padding-inline: 13px !important;
  }
}

@media (max-width: 1080px) {
  .mh-gdpr-link {
    display: none !important;
  }
}

@media (max-width: 980px) {
  .mh-donate-btn {
    display: none !important;
  }
}

@media (max-width: 920px) {
  .mh-site-header {
    top: 10px !important;
  }

  .admin-bar .mh-site-header {
    top: 56px !important;
  }

  .mh-header-inner {
    width: calc(100% - 20px) !important;
    min-height: 66px !important;
    padding: 9px 10px 9px 13px !important;
    border-radius: 20px !important;
  }

  .mh-brand-logo img {
    max-height: 48px !important;
    max-width: 160px !important;
  }

  .mh-menu-toggle {
    display: block !important;
  }

  .mh-main-nav {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: 84px !important;
    display: block !important;
    padding: 12px !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid var(--mh-border) !important;
    box-shadow: 0 18px 45px rgba(0, 76, 151, 0.16) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-10px) !important;
    transition: all .24s ease !important;
  }

  .admin-bar .mh-main-nav {
    top: 130px !important;
  }

  .mh-main-nav.mh-nav-open {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
  }

  .mh-main-nav ul {
    display: grid !important;
    gap: 6px !important;
  }

  .mh-main-nav a {
    justify-content: flex-start !important;
    min-height: 46px !important;
    padding: 14px 14px !important;
    border-radius: 14px !important;
    font-size: 15px !important;
  }

  .mh-header-actions {
    margin-left: auto !important;
  }
}

@media (max-width: 560px) {
  .mh-brand-logo img {
    max-height: 44px !important;
    max-width: 145px !important;
  }

  .mh-header-inner {
    border-radius: 18px !important;
  }
}

/* =========================================================
   FINAL UX FIX: header underline + readable modern hero
   2026-06-01
========================================================= */

/* Header: ponechaný čistý header, ale vrátený hover efekt podčiarknutia zo stredu */
@media (min-width: 921px) {
  .mh-main-nav a {
    position: relative !important;
    background: transparent !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }

  .mh-main-nav a::after {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 4px !important;
    width: 0 !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, var(--mh-yellow), var(--mh-accent)) !important;
    transform: translateX(-50%) !important;
    transition: width .24s ease !important;
  }

  .mh-main-nav a:hover,
  .mh-main-nav .current-menu-item > a,
  .mh-main-nav .current_page_item > a {
    background: transparent !important;
    color: var(--mh-primary) !important;
  }

  .mh-main-nav a:hover::after,
  .mh-main-nav .current-menu-item > a::after,
  .mh-main-nav .current_page_item > a::after {
    width: calc(100% - 24px) !important;
  }
}

/* Hero podstránok: text už nebude prechádzať do svetlej časti, má vlastný čitateľný panel */
.mh-page-header-striped {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  min-height: 430px !important;
  display: flex !important;
  align-items: center !important;
  padding: 150px 0 92px !important;
  background:
    radial-gradient(circle at 86% 18%, rgba(242, 195, 0, .26) 0 0, transparent 34%),
    linear-gradient(135deg, var(--mh-primary-dark) 0%, var(--mh-primary) 58%, #0b5aa8 100%) !important;
}

.mh-page-header-striped .mh-stripes {
  z-index: 0 !important;
  opacity: .82 !important;
}

/* jemné stmavenie iba nad pruhmi, nie cez obsah */
.mh-page-header-striped::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, rgba(0, 46, 96, .46) 0%, rgba(0, 76, 151, .24) 45%, rgba(0, 76, 151, .06) 100%),
    radial-gradient(circle at 12% 76%, rgba(227, 6, 19, .18) 0 0, transparent 28%) !important;
}

/* zruší starý spodný pás, ktorý vedel prechádzať cez text alebo robiť nečitateľné hrany */
.mh-page-header-striped::after {
  content: '' !important;
  position: absolute !important;
  left: -8% !important;
  right: -8% !important;
  bottom: -30px !important;
  height: 90px !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: #fff !important;
  transform: skewY(-3deg) !important;
  transform-origin: left top !important;
  opacity: 1 !important;
  border-radius: 0 !important;
}

.mh-page-header-striped .mh-container {
  position: relative !important;
  z-index: 3 !important;
  max-width: 1180px !important;
}

/* Textová karta v hero - moderná, čitateľná, stále necháva vidieť farebné pruhy */
.mh-page-header-striped .mh-container > .mh-eyebrow,
.mh-page-header-striped .mh-container > h1,
.mh-page-header-striped .mh-container > p {
  position: relative !important;
  z-index: 2 !important;
}

.mh-page-header-striped .mh-container::before {
  content: '' !important;
  position: absolute !important;
  z-index: 1 !important;
  left: -28px !important;
  top: -28px !important;
  width: min(820px, calc(100% + 56px)) !important;
  height: calc(100% + 56px) !important;
  border-radius: 34px !important;
  background:
    linear-gradient(135deg, rgba(0, 58, 120, .94), rgba(0, 76, 151, .78)) !important;
  border: 1px solid rgba(255, 255, 255, .24) !important;
  box-shadow: 0 26px 70px rgba(0, 36, 82, .26) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

.mh-page-header-striped .mh-eyebrow {
  color: #fff !important;
  text-shadow: none !important;
}

.mh-page-header-striped .mh-eyebrow::before {
  background: var(--mh-yellow) !important;
}

.mh-page-header-striped .mh-eyebrow::after {
  background: var(--mh-accent) !important;
}

.mh-page-header-striped h1 {
  max-width: 820px !important;
  color: #fff !important;
  margin-top: 18px !important;
  text-shadow: none !important;
}

.mh-page-header-striped p {
  max-width: 760px !important;
  color: rgba(255, 255, 255, .94) !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}

/* Homepage striped hero: lepšia čitateľnosť ľavého textu bez zakrytia fotky */
.mh-hero-striped .mh-hero-grid > div:first-child {
  position: relative !important;
  z-index: 3 !important;
  padding: clamp(24px, 4vw, 42px) !important;
  border-radius: 34px !important;
  background: rgba(255, 255, 255, .88) !important;
  border: 1px solid rgba(216, 229, 245, .9) !important;
  box-shadow: 0 20px 58px rgba(0, 76, 151, .12) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

.mh-hero-striped .mh-portrait-card {
  z-index: 3 !important;
}

@media (max-width: 920px) {
  .mh-page-header-striped {
    min-height: 360px !important;
    padding: 122px 0 74px !important;
  }

  .mh-page-header-striped .mh-container::before {
    left: -16px !important;
    top: -18px !important;
    width: calc(100% + 32px) !important;
    height: calc(100% + 36px) !important;
    border-radius: 26px !important;
  }

  .mh-page-header-striped h1 {
    font-size: clamp(38px, 9vw, 58px) !important;
  }

  .mh-page-header-striped p {
    font-size: 17px !important;
    line-height: 1.65 !important;
  }
}

@media (max-width: 560px) {
  .mh-page-header-striped {
    min-height: 330px !important;
    padding: 112px 0 64px !important;
  }

  .mh-page-header-striped .mh-container::before {
    left: -12px !important;
    top: -16px !important;
    width: calc(100% + 24px) !important;
    height: calc(100% + 32px) !important;
    border-radius: 22px !important;
  }

  .mh-page-header-striped h1 {
    font-size: clamp(34px, 12vw, 48px) !important;
    letter-spacing: -.04em !important;
  }

  .mh-page-header-striped p {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  .mh-hero-striped .mh-hero-grid > div:first-child {
    padding: 22px !important;
    border-radius: 24px !important;
  }
}

/* =========================================================
   FINAL: čitateľné hero, červené podčiarknutie menu, online ikonky
   ========================================================= */

/* Header hover - späť podčiarknutie zo stredu, jednofarebné červené */
.mh-main-nav a {
  position: relative !important;
}

.mh-main-nav a::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 4px !important;
  width: 0 !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: var(--mh-accent) !important;
  transform: translateX(-50%) !important;
  transition: width .24s ease !important;
}

.mh-main-nav a:hover::after,
.mh-main-nav .current-menu-item > a::after,
.mh-main-nav .current_page_item > a::after {
  width: calc(100% - 24px) !important;
}

.mh-main-nav a:hover,
.mh-main-nav .current-menu-item > a,
.mh-main-nav .current_page_item > a {
  background: transparent !important;
  color: var(--mh-primary) !important;
}

@media (max-width: 920px) {
  .mh-main-nav a::after {
    display: none !important;
  }

  .mh-main-nav a:hover,
  .mh-main-nav .current-menu-item > a,
  .mh-main-nav .current_page_item > a {
    background: var(--mh-primary-soft) !important;
  }
}

/* Podstránkové hero - biele/transparentné pozadie + čitateľná modrá karta textu */
.mh-page-header-striped {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  min-height: 430px !important;
  display: flex !important;
  align-items: center !important;
  padding: 150px 0 92px !important;
  background:
    radial-gradient(circle at 86% 18%, rgba(242, 195, 0, .16) 0 0, transparent 34%),
    linear-gradient(180deg, #ffffff 0%, var(--mh-bg) 100%) !important;
}

.mh-page-header-striped .mh-stripes {
  opacity: .48 !important;
}

.mh-page-header-striped::after {
  display: none !important;
}

.mh-page-header-striped .mh-container {
  position: relative !important;
  z-index: 3 !important;
  max-width: var(--mh-container) !important;
}

.mh-page-header-striped .mh-container::before {
  content: '' !important;
  position: absolute !important;
  z-index: 1 !important;
  left: -28px !important;
  top: -28px !important;
  width: min(820px, calc(100% + 56px)) !important;
  height: calc(100% + 56px) !important;
  border-radius: 34px !important;
  background: linear-gradient(135deg, rgba(0, 58, 120, .94), rgba(0, 76, 151, .78)) !important;
  border: 1px solid rgba(255, 255, 255, .24) !important;
  box-shadow: 0 26px 70px rgba(0, 36, 82, .26) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

.mh-page-header-striped .mh-container > * {
  position: relative !important;
  z-index: 2 !important;
}

.mh-page-header-striped .mh-eyebrow,
.mh-page-header-striped h1,
.mh-page-header-striped p {
  color: #fff !important;
}

.mh-page-header-striped .mh-eyebrow::before {
  background: var(--mh-yellow) !important;
}

.mh-page-header-striped .mh-eyebrow::after {
  background: var(--mh-accent) !important;
}

.mh-page-header-striped h1 {
  max-width: 820px !important;
  text-shadow: none !important;
}

.mh-page-header-striped p {
  max-width: 760px !important;
  color: rgba(255,255,255,.9) !important;
}

/* Homepage hero - nové čitateľné rozloženie */
.mh-home-hero-redesign {
  position: relative !important;
  min-height: 760px !important;
  display: flex !important;
  align-items: center !important;
  padding: 150px 0 95px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 12% 16%, rgba(0, 76, 151, .12) 0, transparent 30%),
    radial-gradient(circle at 85% 18%, rgba(242, 195, 0, .18) 0, transparent 30%),
    linear-gradient(180deg, #fff 0%, var(--mh-bg) 100%) !important;
}

.mh-home-hero-redesign .mh-stripes {
  opacity: .56 !important;
}

.mh-home-hero-shell {
  position: relative !important;
  z-index: 3 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 470px) !important;
  gap: 46px !important;
  align-items: center !important;
}

.mh-home-hero-content {
  position: relative !important;
  padding: clamp(28px, 4vw, 52px) !important;
  border-radius: 36px !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(216, 229, 245, .95) !important;
  box-shadow: 0 30px 80px rgba(0, 76, 151, .16) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

.mh-home-hero-content::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 34px !important;
  bottom: 34px !important;
  width: 7px !important;
  border-radius: 0 999px 999px 0 !important;
  background: var(--mh-accent) !important;
}

.mh-home-hero-content h1 {
  margin: 18px 0 18px !important;
  color: var(--mh-primary-dark) !important;
  text-shadow: none !important;
}

.mh-home-hero-content h1 span {
  color: var(--mh-accent) !important;
}

.mh-home-hero-content .mh-hero-text {
  max-width: 650px !important;
  color: var(--mh-text) !important;
  font-weight: 600 !important;
}

.mh-home-hero-points-redesign {
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  margin-top: 30px !important;
}

.mh-home-hero-points-redesign .mh-hero-point {
  min-height: auto !important;
  padding: 16px 18px 16px 72px !important;
  border-radius: 20px !important;
  background: rgba(248,251,255,.94) !important;
  border: 1px solid var(--mh-border) !important;
  box-shadow: none !important;
}

.mh-home-hero-points-redesign .mh-hero-point .mh-small-icon {
  left: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: var(--mh-primary) !important;
}

.mh-home-hero-points-redesign .mh-hero-point:nth-child(2) .mh-small-icon {
  background: var(--mh-accent) !important;
}

.mh-home-hero-points-redesign .mh-hero-point:nth-child(3) .mh-small-icon {
  background: var(--mh-yellow) !important;
  color: var(--mh-primary-dark) !important;
}

.mh-home-hero-photo-panel {
  position: relative !important;
}

.mh-home-hero-photo-panel::before {
  content: '' !important;
  position: absolute !important;
  inset: 28px -18px -18px 28px !important;
  border-radius: 36px !important;
  background: rgba(227, 6, 19, .12) !important;
  z-index: 0 !important;
}

.mh-home-hero-photo-panel .mh-portrait-card {
  position: relative !important;
  z-index: 1 !important;
  padding: 0 !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(255,255,255,.7) !important;
  box-shadow: 0 30px 80px rgba(0, 76, 151, .2) !important;
}

.mh-home-hero-photo-panel .mh-portrait-card::before {
  display: none !important;
}

.mh-home-hero-photo-panel .mh-portrait-img {
  display: block !important;
  width: 100% !important;
  height: 600px !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: 0 !important;
}

.mh-home-hero-photo-panel .mh-portrait-badge {
  left: 22px !important;
  right: 22px !important;
  bottom: 22px !important;
  max-width: none !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.94) !important;
}

/* Homepage pillars - Bootstrap ikonky namiesto ručných SVG */
.mh-pillar-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.mh-pillar-icon .bi {
  font-size: 27px !important;
  line-height: 1 !important;
  color: currentColor !important;
}

.mh-pillar-icon svg {
  display: none !important;
}

/* všeobecné Bootstrap ikonky */
.mh-icon .bi,
.mh-small-icon .bi {
  display: block !important;
  line-height: 1 !important;
  color: currentColor !important;
}

.mh-icon .bi {
  font-size: 30px !important;
}

.mh-small-icon .bi {
  font-size: 22px !important;
}

@media (max-width: 980px) {
  .mh-home-hero-redesign {
    min-height: auto !important;
    padding: 130px 0 72px !important;
  }

  .mh-home-hero-shell {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  .mh-home-hero-photo-panel .mh-portrait-img {
    height: 500px !important;
  }

  .mh-page-header-striped {
    min-height: 360px !important;
    padding: 132px 0 72px !important;
  }
}

@media (max-width: 560px) {
  .mh-home-hero-redesign {
    padding: 115px 0 58px !important;
  }

  .mh-home-hero-content {
    padding: 26px 22px !important;
    border-radius: 26px !important;
  }

  .mh-home-hero-content::before {
    top: 24px !important;
    bottom: 24px !important;
    width: 5px !important;
  }

  .mh-home-hero-content h1 {
    font-size: clamp(40px, 13vw, 58px) !important;
  }

  .mh-home-hero-photo-panel .mh-portrait-card {
    border-radius: 26px !important;
  }

  .mh-home-hero-photo-panel .mh-portrait-img {
    height: 410px !important;
  }

  .mh-home-hero-photo-panel .mh-portrait-badge {
    left: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
  }

  .mh-page-header-striped {
    min-height: 330px !important;
    padding: 118px 0 60px !important;
  }

  .mh-page-header-striped .mh-container::before {
    left: -16px !important;
    top: -20px !important;
    width: calc(100% + 32px) !important;
    height: calc(100% + 40px) !important;
    border-radius: 26px !important;
  }
}

/* =========================================================
   VÍZIA - finálne zjednotené CSS
========================================================= */

/* Svetlé a čitateľné hero iba pre stránku Vízia */
.mh-vision-page-header {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  min-height: 430px !important;
  display: flex !important;
  align-items: center !important;
  padding: 150px 0 92px !important;
  background:
    radial-gradient(circle at 86% 18%, rgba(242, 195, 0, .18) 0 0, transparent 34%),
    radial-gradient(circle at 12% 82%, rgba(227, 6, 19, .08) 0 0, transparent 30%),
    linear-gradient(135deg, #f8fbff 0%, #eef5fb 58%, #e7f0f8 100%) !important;
}

/* Vypnutie tmavého panelu z univerzálneho page-headeru iba na Vízii */
.mh-vision-page-header .mh-container::before {
  display: none !important;
  content: none !important;
}

.mh-vision-page-header .mh-container {
  position: relative !important;
  z-index: 2 !important;
}

/* Dekoratívna linka dole v hero */
.mh-vision-page-header::after {
  content: "" !important;
  position: absolute !important;
  left: -7% !important;
  right: -7% !important;
  bottom: 30px !important;
  height: 14px !important;
  border-radius: 999px !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--mh-primary) 18%,
    var(--mh-yellow) 45%,
    var(--mh-accent) 72%,
    transparent 100%
  ) !important;
  opacity: .35 !important;
  transform: rotate(-2deg) !important;
}

/* Karta v hero */
.mh-vision-hero-card {
  position: relative !important;
  z-index: 2 !important;
  max-width: 960px !important;
  padding: clamp(26px, 4vw, 46px) !important;
  border-radius: 34px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  border: 1px solid rgba(216, 229, 245, 0.95) !important;
  box-shadow: 0 26px 70px rgba(0, 36, 82, 0.16) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

/* Nadpis vo farbách LC */
.mh-vision-title {
  margin: 16px 0 18px !important;
  font-family: var(--mh-font-heading) !important;
  font-size: clamp(38px, 6vw, 76px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.035em !important;
  font-weight: 950 !important;
  color: var(--mh-primary-dark) !important;
}

.mh-vision-line {
  display: block !important;
}

.mh-vision-blue {
  color: var(--mh-primary-dark) !important;
}

.mh-vision-red {
  color: var(--mh-accent) !important;
}

.mh-vision-yellow {
  color: var(--mh-yellow) !important;
}

/* Text pod nadpisom */
.mh-vision-lead {
  margin: 0 !important;
  max-width: 720px !important;
  color: var(--mh-text) !important;
  font-size: 18px !important;
  line-height: 1.72 !important;
}

/* Sekcia sloganov */
.mh-vision-pillars-section {
  position: relative !important;
  overflow: hidden !important;
}

.mh-vision-pillars-section::before {
  content: "" !important;
  position: absolute !important;
  width: 360px !important;
  height: 360px !important;
  right: -150px !important;
  top: 80px !important;
  border-radius: 999px !important;
  background: rgba(242, 195, 0, .16) !important;
  pointer-events: none !important;
}

.mh-vision-pillars-grid {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

/* Karty sloganov */
.mh-vision-pillar-card {
  position: relative !important;
  padding: 28px 22px !important;
  border-radius: 28px !important;
  background: #fff !important;
  border: 1px solid var(--mh-border) !important;
  box-shadow: var(--mh-shadow-soft) !important;
  text-align: center !important;
  transition: var(--mh-transition) !important;
  overflow: hidden !important;
}

.mh-vision-pillar-card::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 5px !important;
  background: var(--mh-primary) !important;
}

.mh-vision-pillar-card:nth-child(2)::before {
  background: var(--mh-accent) !important;
}

.mh-vision-pillar-card:nth-child(3)::before {
  background: var(--mh-yellow) !important;
}

.mh-vision-pillar-card:nth-child(4)::before {
  background: var(--mh-primary) !important;
}

.mh-vision-pillar-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--mh-shadow-card) !important;
}

/* Ikony v sloganoch */
.mh-vision-pillar-card .mh-icon {
  width: 74px !important;
  height: 74px !important;
  margin: 0 auto 18px !important;
  border-radius: 999px !important;
  font-size: 34px !important;
}

.mh-vision-pillar-card .mh-icon .bi {
  font-size: 34px !important;
  line-height: 1 !important;
}

.mh-vision-pillar-card h3 {
  margin: 0 0 10px !important;
  font-size: 24px !important;
  line-height: 1.22 !important;
  color: var(--mh-primary-dark) !important;
}

.mh-vision-pillar-card p {
  margin: 0 !important;
  color: var(--mh-text-muted) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.mh-vision-values-section {
  padding-top: 0 !important;
}

/* Tablet */
@media (max-width: 1100px) {
  .mh-vision-pillars-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Menší tablet / mobil */
@media (max-width: 760px) {
  .mh-vision-page-header {
    min-height: auto !important;
    padding: 126px 0 70px !important;
  }

  .mh-vision-hero-card {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  .mh-vision-title {
    font-size: clamp(32px, 9vw, 52px) !important;
    line-height: 1.06 !important;
  }

  .mh-vision-lead {
    font-size: 16px !important;
    line-height: 1.68 !important;
  }
}

/* Mobil */
@media (max-width: 560px) {
  .mh-vision-pillars-grid {
    grid-template-columns: 1fr !important;
  }

  .mh-vision-pillar-card {
    padding: 24px 18px !important;
    border-radius: 22px !important;
  }

  .mh-vision-pillar-card h3 {
    font-size: 22px !important;
  }
}

/* =========================
   Príspevok na kampaň
========================= */

.mh-donation-info-card {
  position: relative;
  overflow: hidden;
}

.mh-donation-info-card::before {
  content: "";
  position: absolute;
  right: -90px;
  top: -90px;
  width: 250px;
  height: 250px;
  border-radius: 999px;
  background: rgba(242, 195, 0, 0.20);
  pointer-events: none;
}

.mh-donation-info-card > * {
  position: relative;
  z-index: 1;
}

.mh-donation-info-card h2 {
  margin: 16px 0 14px;
  font-family: var(--mh-font-heading);
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.1;
  color: var(--mh-primary-dark);
}

.mh-account-box {
  display: grid;
  gap: 14px;
  margin: 26px 0;
}

.mh-account-box div {
  padding: 18px 20px;
  border-radius: 20px;
  background: var(--mh-primary-soft);
  border: 1px solid var(--mh-border);
}

.mh-account-box span {
  display: block;
  margin-bottom: 6px;
  color: var(--mh-text-muted);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.mh-account-box strong {
  display: block;
  color: var(--mh-primary-dark);
  font-size: 18px;
  line-height: 1.45;
  word-break: break-word;
}

.mh-donation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 26px 0 18px;
}

.mh-transparent-note {
  margin-top: 18px !important;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(0, 76, 151, 0.06);
  color: var(--mh-text-muted) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.mh-donation-qr-card {
  align-self: start;
}

.mh-donation-qr-card img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 760px) {
  .mh-donation-actions {
    display: grid;
  }

  .mh-donation-actions .mh-btn {
    width: 100%;
  }

  .mh-account-box strong {
    font-size: 16px;
  }
}


/* =========================================================
   Videá - karty, výpis, detail
========================================================= */

.mh-home-videos-section,
.mh-aktuality-videos-section {
  position: relative;
}

.mh-video-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.mh-video-card {
  overflow: hidden;
  border-radius: 28px;
  background: #fff;
  border: 1px solid var(--mh-border);
  box-shadow: var(--mh-shadow-soft);
  transition: var(--mh-transition);
}

.mh-video-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--mh-shadow-card);
}

.mh-video-thumb {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--mh-primary-soft);
  text-decoration: none !important;
}

.mh-video-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.mh-video-card:hover .mh-video-thumb img {
  transform: scale(1.04);
}

.mh-video-placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: var(--mh-primary);
  font-size: 54px;
}

.mh-video-play {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 66px;
  height: 66px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: var(--mh-accent);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 34px;
  box-shadow: 0 18px 40px rgba(227, 6, 19, .28);
}

.mh-video-card-content {
  padding: 22px;
}

.mh-video-card-content h3 {
  margin: 0 0 10px;
  font-size: 22px;
  line-height: 1.25;
  color: var(--mh-primary-dark);
}

.mh-video-card-content h3 a {
  color: inherit;
  text-decoration: none !important;
}

.mh-video-card-content h3 a:hover {
  color: var(--mh-accent);
}

.mh-video-card-content p {
  margin: 0;
  color: var(--mh-text-muted);
  font-size: 15px;
  line-height: 1.65;
}

.mh-section-actions {
  margin-top: 32px;
  text-align: center;
}

.mh-video-single {
  max-width: 920px;
  margin: 0 auto;
}

.mh-video-single video,
.mh-video-single iframe,
.mh-entry-content video,
.mh-entry-content iframe {
  width: 100%;
  max-width: 100%;
  border-radius: 24px;
}

.mh-video-single video,
.mh-entry-content video {
  height: auto;
  display: block;
  background: #000;
}

.mh-home-videos-section .mh-section-actions,
.mh-aktuality-videos-section .mh-section-actions {
  margin-top: 30px !important;
}

@media (max-width: 980px) {
  .mh-video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .mh-video-grid {
    grid-template-columns: 1fr;
  }

  .mh-video-card {
    border-radius: 22px;
  }

  .mh-video-card-content {
    padding: 18px;
  }

  .mh-video-card-content h3 {
    font-size: 20px;
  }

  .mh-video-play {
    width: 58px;
    height: 58px;
    font-size: 30px;
  }
}


/* =========================================================
   Detail videa - finálna veľkosť prehrávača
========================================================= */

.single-mh_video .mh-content-card,
.single-mh_video .mh-video-single {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* celý obsah detailu videa */
.single-mh_video .mh-entry-content {
  max-width: 620px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* WordPress video blok */
.single-mh_video .wp-block-video {
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 auto 28px !important;
}

/* samotné video */
.single-mh_video .wp-block-video video,
.single-mh_video video {
  display: block !important;
  width: 100% !important;
  max-width: 420px !important;
  height: auto !important;
  max-height: 70vh !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 22px !important;
  background: #000 !important;
  object-fit: contain !important;
}

/* =========================================================
   Aktuality - Otvorené noviny / DearFlip thumbnail popup
========================================================= */

.mh-aktuality-flipbook-section {
  position: relative !important;
}

.mh-flipbook-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 26px !important;
  align-items: stretch !important;
  max-width: 980px !important;
  margin: 0 auto !important;
}

.mh-flipbook-card {
  position: relative !important;
  padding: 22px !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  text-align: center !important;
  background: #fff !important;
  border: 1px solid var(--mh-border) !important;
  box-shadow: var(--mh-shadow-soft) !important;
  transition: var(--mh-transition) !important;
}

.mh-flipbook-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--mh-shadow-card) !important;
}

/* DearFlip thumb wrapper */
.mh-flipbook-card .df-element,
.mh-flipbook-card .df-book-thumb,
.mh-flipbook-card .df-book-title,
.mh-flipbook-card .df-posts,
.mh-flipbook-card .df-popup-thumb,
.mh-flipbook-card .df-thumb,
.mh-flipbook-card .df-ui-thumb {
  max-width: 100% !important;
}

/* Náhľad obrázka */
.mh-flipbook-card img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 18px !important;
}

/* Aby clickable oblasť nepôsobila ako rozbitý inline prvok */
.mh-flipbook-card a,
.mh-flipbook-card .df-popup-thumb,
.mh-flipbook-card .df-book-thumb {
  display: inline-block !important;
  max-width: 100% !important;
  text-decoration: none !important;
}

/* Ak plugin vypisuje názov knihy */
.mh-flipbook-card .df-book-title,
.mh-flipbook-card .df-title {
  margin-top: 14px !important;
  color: var(--mh-primary-dark) !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

/* Ak plugin pridá tlačidlo / text */
.mh-flipbook-card .df-button,
.mh-flipbook-card button {
  margin-top: 14px !important;
}

/* Tablet */
@media (max-width: 900px) {
  .mh-flipbook-grid {
    gap: 22px !important;
    max-width: 760px !important;
  }

  .mh-flipbook-card {
    padding: 18px !important;
    border-radius: 24px !important;
  }
}

/* Mobil */
@media (max-width: 640px) {
  .mh-flipbook-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    max-width: 420px !important;
  }

  .mh-flipbook-card {
    padding: 16px !important;
    border-radius: 22px !important;
  }

  .mh-flipbook-card img {
    border-radius: 16px !important;
  }
}


/* =========================================================
   Videá - opravený stabilný lightbox
========================================================= */

.mh-video-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
}

.mh-video-lightbox.mh-video-lightbox-open {
  display: flex !important;
}

.mh-video-lightbox-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0, 18, 43, 0.84) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

.mh-video-lightbox-dialog {
  position: relative !important;
  z-index: 2 !important;
  width: min(560px, calc(100vw - 48px)) !important;
  max-height: calc(100vh - 48px) !important;
  padding: 20px !important;
  border-radius: 28px !important;
  background: #fff !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.38) !important;
  overflow: visible !important;
}

.mh-video-lightbox-content {
  position: relative !important;
  display: block !important;
}

.mh-video-lightbox-title {
  margin: 0 56px 16px 0 !important;
  color: var(--mh-primary-dark) !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}

.mh-video-lightbox-player {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  max-height: 68vh !important;
  height: auto !important;
  border-radius: 22px !important;
  background: #000 !important;
  object-fit: contain !important;
}

.mh-video-lightbox-close {
  position: absolute !important;
  right: 16px !important;
  top: 16px !important;
  z-index: 10 !important;
  width: 42px !important;
  height: 42px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--mh-accent) !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: 0 14px 32px rgba(227, 6, 19, .34) !important;
}

.mh-video-lightbox-close .bi {
  font-size: 19px !important;
  line-height: 1 !important;
}

.mh-video-lightbox-nav {
  position: absolute !important;
  top: 50% !important;
  z-index: 8 !important;
  width: 46px !important;
  height: 46px !important;
  transform: translateY(-50%) !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  color: var(--mh-primary-dark) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.24) !important;
}

.mh-video-lightbox-nav .bi {
  font-size: 24px !important;
  line-height: 1 !important;
}

.mh-video-lightbox-prev {
  left: -64px !important;
}

.mh-video-lightbox-next {
  right: -64px !important;
}

.mh-video-lightbox-counter {
  margin-top: 12px !important;
  text-align: center !important;
  color: var(--mh-text-muted) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  min-height: 18px !important;
}

body.mh-video-lightbox-active {
  overflow: hidden !important;
}

/* Tablet */
@media (max-width: 900px) {
  .mh-video-lightbox-dialog {
    width: min(560px, calc(100vw - 36px)) !important;
  }

  .mh-video-lightbox-prev {
    left: -18px !important;
  }

  .mh-video-lightbox-next {
    right: -18px !important;
  }
}

/* Mobil */
@media (max-width: 640px) {
  .mh-video-lightbox {
    padding: 14px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .mh-video-lightbox-dialog {
    width: calc(100vw - 28px) !important;
    max-height: calc(100vh - 28px) !important;
    padding: 14px !important;
    border-radius: 22px !important;
    overflow: visible !important;
  }

  .mh-video-lightbox-title {
    margin: 0 48px 12px 0 !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
  }

  .mh-video-lightbox-close {
    right: 12px !important;
    top: 12px !important;
    width: 38px !important;
    height: 38px !important;
  }

  .mh-video-lightbox-player {
    max-height: 62vh !important;
    border-radius: 18px !important;
  }

  .mh-video-lightbox-nav {
    top: auto !important;
    bottom: 14px !important;
    transform: none !important;
    width: 44px !important;
    height: 44px !important;
  }

  .mh-video-lightbox-prev {
    left: calc(50% - 58px) !important;
    right: auto !important;
  }

  .mh-video-lightbox-next {
    right: calc(50% - 58px) !important;
    left: auto !important;
  }

  .mh-video-lightbox-counter {
    margin-top: 10px !important;
    padding-bottom: 52px !important;
  }
}

.mh-program-letter-card p {
  color: var(--mh-text-muted) !important;
  font-size: 17px !important;
  line-height: 1.8 !important;
  font-weight: 400 !important;
}


/* =========================================================
   Program - obrázkové ikonky pri podnadpisoch
========================================================= */

.mh-program-subtitle-with-img {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-top: 34px !important;
  margin-bottom: 16px !important;
  color: var(--mh-primary-dark) !important;
  font-size: 1.5em !important;
  line-height: 1.25 !important;
}

.mh-program-subtitle-with-img img {
  flex: 0 0 auto !important;
  width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
  display: block !important;
}

.mh-program-subtitle-with-img span {
  display: block !important;
}

@media (max-width: 640px) {
  .mh-program-subtitle-with-img {
    gap: 12px !important;
    font-size: 1.2em !important;
    align-items: flex-start !important;
  }

  .mh-program-subtitle-with-img img {
    width: 36px !important;
    height: 36px !important;
    margin-top: 1px !important;
  }
}