/* White on #943b35 = 7.15:1. Explicitly cover Elementor's higher-specificity rules. */
body .elementor .elementor-element .elementor-button,
body .elementor .elementor-element .elementor-button:visited {
  color: #fff !important;
  background: #943b35 !important;
  border-color: #943b35 !important;
}
body .elementor .elementor-element .elementor-button:hover,
body .elementor .elementor-element .elementor-button:focus-visible {
  color: #fff !important;
  background: #762e29 !important;
}
body .elementor-button:focus-visible, .wp-mirror-video-preview:focus-visible {
  outline: 3px solid #222; outline-offset: 3px;
}
.wp-mirror-video, .wp-mirror-video-preview {
  display: block; width: 100%; height: 100%; border: 0; aspect-ratio: 16/9;
}
/* Fasáda videa (vlna 2 WP): vlastní náhled + velké ▶, iframe až po kliknutí. */
body .wp-mirror-video-preview { position: relative; padding: 0; overflow: hidden; cursor: pointer; background: #152730 !important; border: 0 !important; border-radius: 6px; color: #fff !important; }
.wp-mirror-video-preview picture, .wp-mirror-video-preview img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wp-mirror-video-play { position: absolute; left: 50%; top: 50%; width: 88px; height: 88px; margin: -44px 0 0 -44px; border-radius: 50%; background: #943b35; box-shadow: 0 6px 24px #0006; transition: transform .15s; }
.wp-mirror-video-play::after { content: ""; position: absolute; left: 35px; top: 26px; border-style: solid; border-width: 18px 0 18px 30px; border-color: transparent transparent transparent #fff; }
.wp-mirror-video-preview:hover .wp-mirror-video-play, .wp-mirror-video-preview:focus-visible .wp-mirror-video-play { transform: scale(1.08); }
.wp-mirror-video-caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px 16px 12px; background: linear-gradient(transparent, #000c); color: #fff; font-weight: 600; font-size: 17px; text-align: left; }
/* Náhled a přehrávač mají PŘESNĚ stejný rámeček (16:9, max 760 px, na střed), aby se po kliku nic neposunulo. */
body .wp-mirror-video-preview, body .wp-mirror-video, body .wp-mirror-video iframe {
  display: block !important; width: 100% !important; max-width: 760px !important; height: auto !important;
  aspect-ratio: 16 / 9 !important; margin-left: auto !important; margin-right: auto !important; padding: 0 !important; border: 0 !important;
}
body .wp-mirror-video { position: relative; background: #000; border-radius: 6px; overflow: hidden; }
body .wp-mirror-video iframe { position: absolute; inset: 0; height: 100% !important; max-width: none !important; }
iframe.wp-mirror-video { position: static; }
.wp-mirror-video-note { margin: 4px 0 0; font-size: 13px; color: #54595f; text-align: center; }
/* Úrok 14 % = nejvýraznější prvek první obrazovky. #943b35 na bílé 7,15:1, #1f2a30 > 13:1. */
.wp-mirror-rate { width: 100%; margin: 0 0 10px; text-align: center; font-family: "Poppins", sans-serif; }
.wp-mirror-rate__num { font-size: clamp(72px, 20vw, 132px); line-height: 1; font-weight: 800; color: #943b35; letter-spacing: -.02em; }
.wp-mirror-rate__sub { margin-top: 4px; font-size: clamp(17px, 4.6vw, 22px); font-weight: 600; color: #1f2a30; }
.wp-mirror-rate__ex { margin-top: 2px; font-size: clamp(15px, 4vw, 18px); color: #1f2a30; }
.wp-mirror-vyroba { padding: 40px 16px; background: #fff; font-family: "Poppins", sans-serif; color: #1f2a30; }
.wp-mirror-vyroba h2 { margin: 0 0 6px; text-align: center; font-size: clamp(24px, 6vw, 34px); color: #1f2a30; }
.wp-mirror-vyroba > p { margin: 0 auto 20px; max-width: 640px; text-align: center; color: #3c4750; }
.wp-mirror-vyroba__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: 1140px; margin: 0 auto; }
@media (min-width: 900px) { .wp-mirror-vyroba__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
.wp-mirror-vyroba figure { margin: 0; }
.wp-mirror-vyroba img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border-radius: 6px; }
.wp-mirror-vyroba figcaption { margin-top: 6px; font-size: 14px; line-height: 1.35; color: #3c4750; }
.wp-mirror-owner { display: flex; align-items: center; gap: 14px; width: 100%; margin: 0 0 14px; color: #fff; font-family: "Poppins", sans-serif; }
.wp-mirror-owner img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex: none; border: 2px solid #fff; }
.wp-mirror-owner p { margin: 0; font-size: 15px; line-height: 1.4; color: #FFFFFFE6; }
@media (max-width: 1024px) {
  /* CLS: lišta je pevně dole a nic neposouvá (dřív v toku nahoře → CLS 0,18). Max 25 % výšky,
     hlavička a tlačítko v hero zůstávají volné. Mobilní lišta Zavolat/Chci podklady se mezitím skryje. */
  body .cky-consent-container {
    position: fixed !important; inset: auto 0 0 0 !important; top: auto !important; transform: none !important;
    width: 100% !important; max-width: none !important; margin: 0 !important;
    max-height: 25vh !important; max-height: 25dvh !important; overflow-y: auto !important;
    box-sizing: border-box !important; box-shadow: 0 -6px 20px #0003 !important; z-index: 99999 !important;
  }
  body .cky-consent-container .cky-consent-bar { padding: 8px 12px !important; border-radius: 0 !important; }
  body .cky-consent-container .cky-title { font-size: 14px !important; margin: 0 0 4px !important; }
  body .cky-consent-container .cky-notice-des,
  body .cky-consent-container .cky-notice-des * { font-size: 12px !important; line-height: 1.3 !important; }
  body .cky-consent-container .cky-notice-btn-wrapper {
    display: flex !important; flex-direction: row !important; gap: 6px !important;
    margin-top: 6px !important; position: sticky; bottom: 0; background: #fff;
  }
  body .cky-consent-container .cky-btn {
    flex: 1 !important; min-height: 36px; padding: 6px !important; margin: 0 !important;
    font-size: 12px !important; line-height: 1.2 !important;
  }
  /* The initial notice is non-modal. The preference dialog keeps its overlay. */
  body:has(.cky-consent-container:not(.cky-hide)):not(:has(.cky-modal-open)) .cky-overlay {
    display: none !important;
  }
}

.wp-mirror-narovinu { padding: 40px 16px; background: #f5f6f7; font-family: "Poppins", sans-serif; color: #1f2a30; }
.wp-mirror-narovinu h2 { margin: 0 0 18px; text-align: center; font-size: clamp(24px, 6vw, 34px); color: #1f2a30; }
.wp-mirror-narovinu__grid { display: grid; gap: 14px; max-width: 1140px; margin: 0 auto; }
@media (min-width: 900px) { .wp-mirror-narovinu__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; } }
.wp-mirror-narovinu article { padding: 18px; background: #fff; border-left: 4px solid #943b35; border-radius: 6px; }
.wp-mirror-narovinu h3 { margin: 0 0 8px; font-size: 18px; line-height: 1.3; color: #1f2a30; }
.wp-mirror-narovinu p { margin: 0; font-size: 15px; line-height: 1.55; color: #2f3a42; }
.wp-mirror-narovinu a { color: #943b35; text-decoration: underline; }

.wp-mirror-kroky { padding: 40px 16px; background: #fff; font-family: "Poppins", sans-serif; color: #1f2a30; }
.wp-mirror-kroky h2 { margin: 0 0 20px; text-align: center; font-size: clamp(24px, 6vw, 34px); color: #1f2a30; }
.wp-mirror-kroky ol { list-style: none; counter-reset: krok; display: grid; gap: 12px; max-width: 760px; margin: 0 auto; padding: 0; }
.wp-mirror-kroky li { counter-increment: krok; position: relative; min-height: 44px; padding: 10px 14px 10px 62px; background: #f5f6f7; border-radius: 6px; font-size: 17px; line-height: 1.45; font-weight: 500; display: flex; align-items: center; }
.wp-mirror-kroky li::before { content: counter(krok); position: absolute; left: 12px; top: 50%; width: 36px; height: 36px; margin-top: -18px; border-radius: 50%; background: #943b35; color: #fff; font-weight: 700; font-size: 17px; display: grid; place-items: center; }
.wp-mirror-next { width: 100%; margin-top: 12px; font-family: "Poppins", sans-serif; font-size: 14px; line-height: 1.5; color: #FFFFFFE6; }
.wp-mirror-next strong { color: #fff; }
.wp-mirror-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }
/* Obal videa z WP má inline aspect-ratio přes celou šířku sloupce → pod 760px náhledem zůstávala prázdná mezera. */
body .elementor-element-8822004 .elementor-widget-container > div { aspect-ratio: auto !important; height: auto !important; }
/* Poppins hostovaný lokálně (OFL, fontsource) — Google Fonts čekají na cookie souhlas, bez něj padal nadpis i „14 %“ na systémový font. */
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/poppins-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/poppins-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/poppins-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/poppins-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/poppins-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Hlavičkové CTA na mobilu 16 px (audit 16. 10.: bylo 12 px). */
@media (max-width: 767px) { body [data-elementor-type="header"] .elementor-button { font-size: 16px !important; padding: 10px 14px !important; } }
