/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: May 24 2026 | 07:14:16 */
/* ==========================================================
   FYZIOFT.SK — Globálne CSS pre články o diagnózach
   Verzia: 3.2 (FINAL pre Gutenberg + Custom HTML blok)
   
   KDE VLOŽIŤ:
   WordPress → Vzhľad → Prispôsobiť → Dodatočné CSS
   
   ⚠️ Nahradí staré CSS. Zmaž predchádzajúcu verziu a vlož túto.
   ========================================================== */

/* ---------- PREMENNÉ ---------- */
:root {
  --ft-blue: #01578C;
  --ft-blue-dark: #013f66;
  --ft-teal: #1ab8a0;
  --ft-teal-dark: #0e8f7a;
  --ft-bg-light-blue: #e6f0f7;
  --ft-bg-very-light: #f0f7fc;
  --ft-bg-teal: #e6faf7;
  --ft-text-dark: #1a2530;
  --ft-text-mid: #3d4e5a;
  --ft-text-light: #7a8e9a;
  --ft-bg-gray: #f7fafb;
  --ft-gradient: linear-gradient(110deg, #01578C 0%, #017a8c 42%, #1ab8a0 100%);
  --ft-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ---------- Globálny font fix pre naše wrappery ---------- */
.ft-hero-wrap,
.ft-hero-wrap *,
.ft-article,
.ft-article * {
  font-family: var(--ft-font) !important;
  box-sizing: border-box;
}

/* ==========================================================
   HERO — FULL WIDTH BREAKOUT
   Funguje v boxed layoute (1140px) aj full-width.
   Používa calc() trik pre spoľahlivé roztiahnutie.
   ========================================================== */
.ft-hero-wrap {
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  left: calc(50% - 50vw) !important;
  right: calc(50% - 50vw) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background: var(--ft-gradient) !important;
  overflow: hidden !important;
  padding: 60px 0 50px !important;
  margin-bottom: 40px !important;
  margin-top: 0 !important;
  box-sizing: border-box !important;
}
.ft-hero-wrap::after {
  content: "" !important;
  position: absolute !important;
  right: -80px !important;
  top: -80px !important;
  width: 320px !important;
  height: 320px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.06) !important;
  pointer-events: none !important;
}
.ft-hero-wrap::before {
  content: "" !important;
  position: absolute !important;
  left: -100px !important;
  bottom: -150px !important;
  width: 360px !important;
  height: 360px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.04) !important;
  pointer-events: none !important;
}
.ft-hero-wrap .ft-hero-inner {
  max-width: 1140px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  position: relative !important;
  z-index: 2 !important;
}
.ft-hero-wrap .ft-hero-bc {
  font-size: 13px !important;
  color: rgba(255,255,255,0.78) !important;
  margin: 0 0 16px 0 !important;
  line-height: 1.4 !important;
}
.ft-hero-wrap .ft-hero-bc a {
  color: rgba(255,255,255,0.78) !important;
  text-decoration: none !important;
  border: none !important;
}
.ft-hero-wrap .ft-hero-bc strong {
  color: #fff !important;
  font-weight: 500 !important;
}
.ft-hero-wrap .ft-hero-bc .sep {
  margin: 0 8px !important;
  opacity: 0.5 !important;
}
.ft-hero-wrap .ft-hero-category {
  display: inline-block !important;
  background: rgba(255,255,255,0.2) !important;
  color: #fff !important;
  font-size: 12px !important;
  padding: 6px 14px !important;
  border-radius: 6px !important;
  margin: 0 0 16px 0 !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
}

/* H1 — najvyššia špecifickosť, prebije akúkoľvek tému */
.ft-hero-wrap h1.ft-hero-h1,
.ft-hero-wrap .ft-hero-h1 {
  font-size: 42px !important;
  font-weight: 500 !important;
  color: #fff !important;
  line-height: 1.2 !important;
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
  max-width: 850px !important;
  letter-spacing: -0.015em !important;
  text-transform: none !important;
  text-align: left !important;
  border: none !important;
  background: none !important;
}

.ft-hero-wrap p.ft-hero-lead,
.ft-hero-wrap .ft-hero-lead {
  font-size: 18px !important;
  color: rgba(255,255,255,0.92) !important;
  line-height: 1.65 !important;
  max-width: 720px !important;
  margin: 0 0 28px 0 !important;
  padding: 0 !important;
  font-weight: 400 !important;
}
.ft-hero-wrap .ft-hero-lead strong {
  color: #fff !important;
  font-weight: 500 !important;
}

.ft-hero-wrap .ft-hero-btns {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin: 0 0 28px 0 !important;
}
.ft-hero-wrap .ft-hero-btn {
  background: #fff !important;
  color: var(--ft-blue) !important;
  padding: 14px 26px !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  display: inline-block !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
  border: none !important;
}
.ft-hero-wrap .ft-hero-btn:hover {
  color: var(--ft-blue) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
  text-decoration: none !important;
}
.ft-hero-wrap .ft-hero-btn.ghost {
  background: transparent !important;
  border: 1.5px solid rgba(255,255,255,0.6) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.ft-hero-wrap .ft-hero-btn.ghost:hover {
  background: rgba(255,255,255,0.1) !important;
  color: #fff !important;
}

.ft-hero-wrap .ft-hero-author {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(255,255,255,0.2) !important;
  flex-wrap: wrap !important;
}
.ft-hero-wrap .ft-hero-avatar {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: var(--ft-blue) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.ft-hero-wrap .ft-hero-author-info {
  min-width: 200px !important;
}
.ft-hero-wrap .ft-hero-author-name {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #fff !important;
  margin: 0 0 2px 0 !important;
  line-height: 1.3 !important;
}
.ft-hero-wrap .ft-hero-author-role {
  font-size: 12.5px !important;
  color: rgba(255,255,255,0.75) !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}
.ft-hero-wrap .ft-hero-pills {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-left: auto !important;
}
.ft-hero-wrap .ft-hero-pill {
  font-size: 12px !important;
  color: #fff !important;
  background: rgba(255,255,255,0.15) !important;
  padding: 6px 12px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
  font-weight: 500 !important;
}

/* ==========================================================
   TELO ČLÁNKU
   ========================================================== */
.ft-article {
  color: var(--ft-text-mid) !important;
  line-height: 1.7 !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

/* Úvod s drop cap */
.ft-article p.ft-intro-drop,
.ft-article .ft-intro-drop {
  font-size: 18px !important;
  color: var(--ft-text-dark) !important;
  line-height: 1.75 !important;
  margin: 0 0 28px 0 !important;
  padding: 0 !important;
  font-weight: 400 !important;
}
.ft-article .ft-intro-drop::first-letter {
  font-size: 56px !important;
  font-weight: 500 !important;
  color: var(--ft-blue) !important;
  float: left !important;
  line-height: 1 !important;
  padding: 6px 12px 0 0 !important;
  font-family: Georgia, serif !important;
}

/* H2 — prebije štýly témy */
.ft-article h2.ft-h2,
.ft-article .ft-h2 {
  font-size: 26px !important;
  font-weight: 500 !important;
  color: var(--ft-text-dark) !important;
  margin: 36px 0 18px 0 !important;
  line-height: 1.3 !important;
  position: relative !important;
  padding: 0 0 12px 0 !important;
  text-transform: none !important;
  text-align: left !important;
  border: none !important;
  background: none !important;
}
.ft-article .ft-h2::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 48px !important;
  height: 3px !important;
  background: var(--ft-gradient) !important;
  border-radius: 2px !important;
}

/* H3 */
.ft-article h3.ft-h3,
.ft-article .ft-h3 {
  font-size: 19px !important;
  font-weight: 500 !important;
  color: var(--ft-blue) !important;
  margin: 24px 0 10px 0 !important;
  line-height: 1.35 !important;
  padding: 0 !important;
  text-transform: none !important;
  border: none !important;
}

/* Odsek */
.ft-article p.ft-p,
.ft-article .ft-p {
  font-size: 16.5px !important;
  color: var(--ft-text-mid) !important;
  line-height: 1.75 !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  font-weight: 400 !important;
}
.ft-article .ft-p strong {
  color: var(--ft-text-dark) !important;
  font-weight: 500 !important;
}

/* Zoznam s fajočkami */
.ft-article ul.ft-checklist,
.ft-article .ft-checklist {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px 0 !important;
}
.ft-article .ft-checklist li {
  font-size: 16px !important;
  color: var(--ft-text-mid) !important;
  line-height: 1.7 !important;
  padding: 0 0 0 34px !important;
  position: relative !important;
  margin: 0 0 10px 0 !important;
  list-style: none !important;
}
.ft-article .ft-checklist li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 6px !important;
  width: 20px !important;
  height: 20px !important;
  background: var(--ft-bg-teal) !important;
  border-radius: 50% !important;
}
.ft-article .ft-checklist li::after {
  content: "" !important;
  position: absolute !important;
  left: 6px !important;
  top: 11px !important;
  width: 8px !important;
  height: 4px !important;
  border: 2px solid var(--ft-teal-dark) !important;
  border-right: 0 !important;
  border-top: 0 !important;
  transform: rotate(-45deg) !important;
}

/* Callout box */
.ft-article .ft-callout {
  display: grid !important;
  grid-template-columns: 52px 1fr !important;
  gap: 18px !important;
  background: var(--ft-bg-very-light) !important;
  border-radius: 14px !important;
  padding: 22px 26px !important;
  margin: 24px 0 !important;
  align-items: start !important;
  border: none !important;
}
.ft-article .ft-callout-ico {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: var(--ft-blue) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  flex-shrink: 0 !important;
}
.ft-article .ft-callout-title {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--ft-blue) !important;
  margin: 0 0 8px 0 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  line-height: 1.3 !important;
}
.ft-article .ft-callout-desc {
  font-size: 16px !important;
  color: var(--ft-text-mid) !important;
  line-height: 1.7 !important;
}
.ft-article .ft-callout-desc strong {
  color: var(--ft-text-dark) !important;
  font-weight: 500 !important;
}
.ft-article .ft-callout.ft-teal { background: var(--ft-bg-teal) !important; }
.ft-article .ft-callout.ft-teal .ft-callout-ico { background: var(--ft-teal) !important; }
.ft-article .ft-callout.ft-teal .ft-callout-title { color: var(--ft-teal-dark) !important; }

/* ==========================================================
   FÁZY REHABILITÁCIE
   ========================================================== */
.ft-article .ft-phase-detail {
  background: #fff !important;
  border: 1px solid var(--ft-bg-light-blue) !important;
  border-radius: 14px !important;
  padding: 24px 28px !important;
  margin: 20px 0 !important;
}
.ft-article .ft-phase-detail-header {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 12px !important;
}
.ft-article .ft-phase-big-num {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: var(--ft-bg-light-blue) !important;
  color: var(--ft-blue) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  flex-shrink: 0 !important;
}
.ft-article .ft-phase-detail.ft-phase-2 .ft-phase-big-num {
  background: var(--ft-bg-teal) !important;
  color: var(--ft-teal-dark) !important;
}
.ft-article .ft-phase-detail.ft-phase-3 .ft-phase-big-num {
  background: var(--ft-gradient) !important;
  color: #fff !important;
}
.ft-article .ft-phase-detail-title {
  font-size: 20px !important;
  font-weight: 500 !important;
  color: var(--ft-text-dark) !important;
  line-height: 1.3 !important;
  margin: 0 0 2px 0 !important;
}
.ft-article .ft-phase-detail-week {
  font-size: 13px !important;
  color: var(--ft-teal) !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}
.ft-article .ft-phase-goal {
  background: var(--ft-bg-gray) !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  margin-bottom: 14px !important;
  font-size: 14.5px !important;
  color: var(--ft-text-dark) !important;
  line-height: 1.5 !important;
}
.ft-article .ft-phase-goal strong {
  color: var(--ft-blue) !important;
  font-weight: 500 !important;
}
.ft-article ul.ft-phase-list,
.ft-article .ft-phase-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 14px 0 !important;
}
.ft-article .ft-phase-list li {
  font-size: 15px !important;
  color: var(--ft-text-mid) !important;
  line-height: 1.65 !important;
  padding: 0 0 0 20px !important;
  position: relative !important;
  margin: 0 0 8px 0 !important;
  list-style: none !important;
}
.ft-article .ft-phase-list li::before {
  content: "" !important;
  position: absolute !important;
  left: 4px !important;
  top: 9px !important;
  width: 6px !important;
  height: 6px !important;
  background: var(--ft-teal) !important;
  border-radius: 50% !important;
}
.ft-article .ft-phase-list li strong {
  color: var(--ft-text-dark) !important;
  font-weight: 500 !important;
}
.ft-article .ft-home-therapy {
  background: linear-gradient(110deg, var(--ft-bg-very-light) 0%, var(--ft-bg-teal) 100%) !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  font-size: 14.5px !important;
  color: var(--ft-text-mid) !important;
  line-height: 1.6 !important;
}
.ft-article .ft-home-therapy strong {
  color: var(--ft-blue) !important;
  font-weight: 500 !important;
  display: block !important;
  margin-bottom: 4px !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

/* ==========================================================
   PRIEBEH NÁVŠTEVY
   ========================================================== */
.ft-article .ft-visit-card {
  background: #fff !important;
  border: 1px solid var(--ft-bg-light-blue) !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
  margin: 16px 0 !important;
  display: grid !important;
  grid-template-columns: 52px 1fr auto !important;
  gap: 18px !important;
  align-items: start !important;
}
.ft-article .ft-visit-ico {
  width: 44px !important;
  height: 44px !important;
  border-radius: 12px !important;
  background: var(--ft-bg-very-light) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  flex-shrink: 0 !important;
}
.ft-article .ft-visit-title {
  font-size: 17px !important;
  font-weight: 500 !important;
  color: var(--ft-text-dark) !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.3 !important;
}
.ft-article .ft-visit-desc {
  font-size: 14.5px !important;
  color: var(--ft-text-mid) !important;
  line-height: 1.65 !important;
}
.ft-article .ft-visit-desc strong {
  color: var(--ft-text-dark) !important;
  font-weight: 500 !important;
}
.ft-article .ft-visit-time {
  font-size: 12px !important;
  color: var(--ft-teal) !important;
  background: var(--ft-bg-teal) !important;
  padding: 5px 10px !important;
  border-radius: 6px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

/* ==========================================================
   PRE KOHO — grid
   ========================================================== */
.ft-article .ft-patient-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 12px !important;
  margin: 20px 0 !important;
}
.ft-article .ft-patient-card {
  background: #fff !important;
  border: 1px solid var(--ft-bg-light-blue) !important;
  border-radius: 12px !important;
  padding: 18px 20px !important;
  text-align: center !important;
}
.ft-article .ft-patient-ico {
  font-size: 28px !important;
  margin-bottom: 10px !important;
  line-height: 1 !important;
}
.ft-article .ft-patient-title {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--ft-blue) !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.3 !important;
}
.ft-article .ft-patient-desc {
  font-size: 13.5px !important;
  color: var(--ft-text-mid) !important;
  line-height: 1.5 !important;
}

/* ==========================================================
   VÝSLEDKY — tabuľka
   ========================================================== */
.ft-article table.ft-results-table,
.ft-article .ft-results-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 20px 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid var(--ft-bg-light-blue) !important;
}
.ft-article .ft-results-table th {
  background: var(--ft-bg-very-light) !important;
  color: var(--ft-blue) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  padding: 14px 18px !important;
  text-align: left !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  border: none !important;
}
.ft-article .ft-results-table td {
  padding: 14px 18px !important;
  border: none !important;
  border-top: 1px solid var(--ft-bg-light-blue) !important;
  font-size: 15px !important;
  color: var(--ft-text-mid) !important;
  line-height: 1.55 !important;
  background: #fff !important;
}
.ft-article .ft-results-table td:first-child {
  font-weight: 500 !important;
  color: var(--ft-text-dark) !important;
  white-space: nowrap !important;
  background: var(--ft-bg-gray) !important;
}

/* ==========================================================
   CITÁT
   ========================================================== */
.ft-article .ft-quote {
  background: linear-gradient(110deg, var(--ft-bg-very-light) 0%, var(--ft-bg-teal) 100%) !important;
  border-radius: 16px !important;
  padding: 28px 32px !important;
  margin: 28px 0 !important;
  position: relative !important;
  border: none !important;
}
.ft-article .ft-quote-mark {
  position: absolute !important;
  top: 14px !important;
  left: 22px !important;
  font-size: 54px !important;
  line-height: 1 !important;
  color: var(--ft-teal) !important;
  font-family: Georgia, serif !important;
  opacity: 0.5 !important;
}
.ft-article .ft-quote-text {
  font-size: 18px !important;
  color: var(--ft-text-dark) !important;
  line-height: 1.6 !important;
  font-family: Georgia, serif !important;
  font-style: italic !important;
  padding-left: 40px !important;
}

/* ==========================================================
   FAQ
   ========================================================== */
.ft-article .ft-faq {
  background: #fff !important;
  border: 1px solid var(--ft-bg-light-blue) !important;
  border-radius: 14px !important;
  padding: 10px 24px !important;
  margin: 24px 0 !important;
}
.ft-article .ft-faq details {
  padding: 16px 0 !important;
  border-bottom: 1px solid var(--ft-bg-light-blue) !important;
}
.ft-article .ft-faq details:last-child { border-bottom: none !important; }
.ft-article .ft-faq summary {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--ft-text-dark) !important;
  line-height: 1.4 !important;
  cursor: pointer !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 14px !important;
  list-style: none !important;
}
.ft-article .ft-faq summary::-webkit-details-marker { display: none !important; }
.ft-article .ft-faq summary::marker { display: none !important; }
.ft-article .ft-faq summary::after {
  content: "+" !important;
  flex-shrink: 0 !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: var(--ft-bg-teal) !important;
  color: var(--ft-teal-dark) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  font-weight: 500 !important;
}
.ft-article .ft-faq details[open] summary::after {
  content: "−" !important;
  background: var(--ft-blue) !important;
  color: #fff !important;
}
.ft-article .ft-faq-answer {
  font-size: 15.5px !important;
  color: var(--ft-text-mid) !important;
  line-height: 1.72 !important;
  padding-top: 12px !important;
}
.ft-article .ft-faq-answer a { color: var(--ft-blue) !important; }

/* ==========================================================
   KONCOVÉ CTA
   ========================================================== */
.ft-article .ft-endcta {
  background: var(--ft-gradient) !important;
  border-radius: 18px !important;
  padding: 44px 36px !important;
  margin-top: 36px !important;
  color: #fff !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
}
.ft-article .ft-endcta::before {
  content: "" !important;
  position: absolute !important;
  top: -70px !important;
  right: -70px !important;
  width: 260px !important;
  height: 260px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.06) !important;
}
.ft-article .ft-endcta-h {
  font-size: 28px !important;
  font-weight: 500 !important;
  margin: 0 0 12px 0 !important;
  position: relative !important;
  z-index: 1 !important;
  line-height: 1.3 !important;
  color: #fff !important;
}
.ft-article .ft-endcta-p {
  font-size: 16px !important;
  opacity: 0.92 !important;
  margin: 0 auto 24px auto !important;
  max-width: 540px !important;
  line-height: 1.65 !important;
  position: relative !important;
  z-index: 1 !important;
  color: #fff !important;
}
.ft-article .ft-endcta-btns {
  display: flex !important;
  gap: 12px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  position: relative !important;
  z-index: 1 !important;
}
.ft-article .ft-endcta-btn {
  background: #fff !important;
  color: var(--ft-blue) !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  display: inline-block !important;
  border: none !important;
}
.ft-article .ft-endcta-btn:hover {
  text-decoration: none !important;
  color: var(--ft-blue) !important;
}
.ft-article .ft-endcta-btn.ghost {
  background: transparent !important;
  border: 1.5px solid rgba(255,255,255,0.6) !important;
  color: #fff !important;
}
.ft-article .ft-endcta-btn.ghost:hover { color: #fff !important; }
.ft-article .ft-endcta-contact {
  margin-top: 20px !important;
  font-size: 14px !important;
  color: rgba(255,255,255,0.9) !important;
  position: relative !important;
  z-index: 1 !important;
}
.ft-article .ft-endcta-contact strong { color: #fff !important; font-weight: 500 !important; }

/* ==========================================================
   ZDROJE
   ========================================================== */
.ft-article .ft-sources {
  background: var(--ft-bg-gray) !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
  margin-top: 32px !important;
  font-size: 13px !important;
  color: var(--ft-text-light) !important;
  line-height: 1.6 !important;
}
.ft-article .ft-sources-title {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--ft-blue) !important;
  margin: 0 0 10px 0 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
.ft-article .ft-sources ol {
  padding-left: 20px !important;
  margin: 0 !important;
}
.ft-article .ft-sources li { margin-bottom: 6px !important; }
.ft-article .ft-sources em { color: var(--ft-text-mid) !important; }

/* ==========================================================
   RESPONSIVE — MOBILE
   ========================================================== */
@media (max-width: 768px) {
  .ft-hero-wrap { padding: 40px 0 36px !important; }
  .ft-hero-wrap .ft-hero-inner { padding: 0 20px !important; }
  .ft-hero-wrap .ft-hero-h1 { font-size: 28px !important; }
  .ft-hero-wrap .ft-hero-lead { font-size: 15.5px !important; }
  .ft-hero-wrap .ft-hero-btn { padding: 12px 20px !important; font-size: 14px !important; }
  .ft-hero-wrap .ft-hero-pills { margin-left: 0 !important; width: 100% !important; margin-top: 8px !important; }

  .ft-article { padding: 0 16px !important; }
  .ft-article .ft-h2 { font-size: 22px !important; }
  .ft-article .ft-h3 { font-size: 17px !important; }
  .ft-article .ft-p { font-size: 16px !important; }
  .ft-article .ft-callout { grid-template-columns: 1fr !important; gap: 12px !important; padding: 18px 20px !important; }
  .ft-article .ft-callout-ico { width: 40px !important; height: 40px !important; font-size: 18px !important; }
  .ft-article .ft-phase-detail { padding: 20px 22px !important; }
  .ft-article .ft-endcta { padding: 32px 24px !important; border-radius: 14px !important; }
  .ft-article .ft-endcta-h { font-size: 22px !important; }
  .ft-article .ft-intro-drop { font-size: 16.5px !important; }
  .ft-article .ft-intro-drop::first-letter { font-size: 44px !important; }
  .ft-article .ft-quote { padding: 22px 24px !important; }
  .ft-article .ft-quote-text { font-size: 16px !important; padding-left: 32px !important; }
  .ft-article .ft-visit-card { grid-template-columns: 52px 1fr !important; }
  .ft-article .ft-visit-time { grid-column: 2 !important; margin-top: 4px !important; justify-self: start !important; }
  .ft-article .ft-results-table { display: block !important; overflow-x: auto !important; }
}