@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500;1,600&display=swap');

/* DiBeauTy — extras (Phase 1 quick wins).
   Appended on top of dibeauty-style-cleaned.css. Do not edit the cleaned CSS. */

/* =====================================================================
   PALETA — Velvet Green + Silver (náhrada teplých cream tónov).
   Ukážka (Fáza B): zatiaľ použité na hero CTA + sekciu „Napísali o nás".
   Po schválení odtieňa rozšíriť na celý web.
   ===================================================================== */
:root {
  --velvet: #1f6447;
  --velvet-dark: #174c36;
  --silver-50: #f1f3f4;   /* najsvetlejší povrch — karty, modal */
  --silver-100: #e7eaec;  /* pozadia sekcií */
  --silver-200: #d4dadd;  /* okraje / oddeľovače */
  --silver-grad: linear-gradient(145deg, #f4f6f7 0%, #cfd6da 100%);        /* kovový fill na velvete */
  --silver-grad-hover: linear-gradient(145deg, #ffffff 0%, #dde3e6 100%);  /* svetlejší hover */
  --pewter: #5c666b;      /* tlmený text / ikony na svetlom */
  --mist: #eaeef0;        /* chladný svetlý text / outline NA velvete (náhrada cream textu) */
  --mist-border: rgba(234, 238, 240, 0.7);
}

/* =====================================================================
   ÚVODKA — kompaktný redesign (May 2026)
   ===================================================================== */

/* ---------- Mobile — jednotný border-radius 18px pre obrázky a panely ---------- */
@media (max-width: 767px) {
  img,
  .card-wrapper, .google-map iframe, .slide-content, .card, .item-wrapper,
  .dbt-service-card, .dbt-why-card, .review-card, .dbt-voucher-banner,
  .proc-card, .dbt-card, .akcia-card {
    border-radius: 18px !important;
  }
  /* Výnimky — kruhové ostávajú kruhové (logo, avatary, social ikony) */
  .navbar-brand img,
  .review-avatar,
  .soc-item .mbr-iconfont,
  .iconfont-wrapper .mbr-iconfont {
    border-radius: 100% !important;
  }
  /* Separátor a separátor.webp obrázky bez radius */
  .dbt-separator,
  img.no-radius,
  .dbt-press-card__img,
  .akcia-img img {
    border-radius: 0 !important;
  }
}

/* ---------- Ornament separátor — fixed height, repeating across full width ---------- */
.dbt-separator {
  display: block;
  width: 100%;
  height: 18px;
  /* repeat-x: ornament sa horizontálne opakuje
     background-size: auto 100% = výška = kontajner, šírka sa škáluje proporčne */
  background: url('images/separator.webp') repeat-x center / auto 100%;
  margin: 0;
}
@media (max-width: 575px) { .dbt-separator { height: 10px; } }
@media (min-width: 576px) and (max-width: 991px) { .dbt-separator { height: 14px; } }


/* ---------- Hero — padding-bottom na desktope aby trust pills nesedeli na separátore ---------- */
@media (min-width: 768px) {
  #header12-1l { padding-bottom: 2rem !important; }
}

/* ---------- Jednotný symetrický padding sekcií (hore = dole) ----------
   Rytmus: 3rem mobil / 4.5rem desktop. Prepisuje aj asymetrické inline
   paddingy (napr. „Vyberte podľa cieľa") cez !important. Hero a footer výnimky. */
#dbt-ciele-home-section,
#dbt-akcie-home-section,
#darcekove-poukazky,
.dbt-services-section {
  padding: 2.5rem 1rem 3rem !important;
}
@media (min-width: 768px) {
  #dbt-ciele-home-section,
  #dbt-akcie-home-section,
  #darcekove-poukazky,
  .dbt-services-section {
    padding: 4.5rem 1rem !important;
  }
}

/* Hero background — natural tiling namiesto natiahnutého cover (rovnako detailné ako footer) */
#header12-1l.cid-uF1sCYeHuB {
  background-size: 105% auto !important;
  background-repeat: repeat-y !important;
  background-position: top center !important;
}

/* ---------- Hero index ----------
   Index hero (.dbt-hero-title) NEMÁ vlastné TYPOGRAFICKÉ pravidlá — používa
   identické spoločné hero pravidlá ako ostatné stránky (veľkosť, font, váha,
   farba, line-height, margin, kvietky). Viď bloky "serif editorial",
   "JEDNOTNÁ VEĽKOSŤ HERO NADPISOV" a "Title — warm light gray" nižšie.
   Jediné špecifikum: úvodná fade-up animácia ako prvý prvok hero sekvencie
   (tagline 0.15s, obrázok 0.3s, lead 0.45s, trust 0.6s, CTA 0.75s). */
.dbt-hero-title {
  animation: dbtHeroFadeUp 0.6s ease-out both;
}

/* Tagline — Cormorant Garamond italic semibold (čitateľný + serif elegancia) */
.dbt-hero-tagline {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.3rem !important;
  font-style: italic;
  font-weight: 600;
  color: #ebebeb !important;
  line-height: 1.4;
  letter-spacing: 0.01em;
  margin: 0 0 1.5rem !important;
  white-space: nowrap;
  animation: dbtHeroFadeUp 0.6s 0.15s ease-out both;
}
.dbt-hero-tagline em { font-style: italic; }
.dbt-quote-mark {
  font: inherit;
  color: inherit;
  opacity: 0.65;
}
@media (min-width: 576px) { .dbt-hero-tagline { font-size: 1.5rem !important; } }
@media (min-width: 768px) { .dbt-hero-tagline { font-size: 1.7rem !important; } }

.dbt-hero-image {
  width: 100% !important;
  max-width: 800px !important;
  height: auto !important;
  margin: 0.5rem auto 1.75rem !important;
  border-radius: 8px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.35);
  animation: dbtHeroFadeUp 0.6s 0.3s ease-out both;
}

/* Lead — Cormorant Garamond italic semibold (zladený s tagline) */
.dbt-hero-lead {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  max-width: 540px;
  margin: 0 auto 1.75rem !important;
  font-size: 1.3rem !important;
  font-style: italic !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.01em;
  color: #ebebeb !important;
  animation: dbtHeroFadeUp 0.6s 0.45s ease-out both;
}
@media (min-width: 576px) { .dbt-hero-lead { font-size: 1.5rem !important; } }
@media (min-width: 768px) {
  .dbt-hero-lead { font-size: 1.7rem !important; max-width: 600px; }
}

/* CTA — refined outline button, žiadne emoji, jemný hover invert */
.dbt-hero-cta {
  margin: 0 !important;
  animation: dbtHeroFadeUp 0.6s 0.75s ease-out both;
}
.dbt-hero-cta .btn-primary {
  background: #ffffff !important;
  color: var(--velvet) !important;
  border: 1.5px solid #ffffff !important;
  border-radius: 999px !important;
  padding: 0.95rem 2.4rem !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  font-family: 'Inter Tight', sans-serif !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22) !important;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.dbt-hero-cta .btn-primary:hover,
.dbt-hero-cta .btn-primary:focus {
  background: var(--silver-50) !important;
  color: var(--velvet) !important;
  border-color: var(--silver-50) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28) !important;
}

@keyframes dbtHeroFadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .dbt-hero-title, .dbt-hero-tagline, .dbt-hero-image, .dbt-hero-lead, .dbt-hero-cta, .dbt-hero-trust {
    animation: none !important;
  }
}

/* Trust badges — filled pills s SVG ikonami (premium cream pill na velvet pozadí) */
.dbt-hero-trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.5rem 0.55rem;
  margin: 0 0 1.5rem !important;
  font-family: 'Inter Tight', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.4;
  animation: dbtHeroFadeUp 0.6s 0.6s ease-out both;
}
.dbt-trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: var(--silver-grad);
  border: 1px solid rgba(245, 242, 236, 0.0);
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  color: #1f6447;
  white-space: nowrap;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.18);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.dbt-trust-icon {
  width: 0.95rem;
  height: 0.95rem;
  flex: 0 0 auto;
  color: #1f6447;
}
.dbt-stars-svg {
  display: inline-flex;
  align-items: center;
  gap: 1px;
  color: #1f6447;
}
.dbt-stars-svg .dbt-star {
  width: 0.85rem;
  height: 0.85rem;
}
@media (min-width: 576px) {
  .dbt-stars-svg .dbt-star { width: 0.95rem; height: 0.95rem; }
}
.dbt-trust-rating {
  text-decoration: none !important;
  color: #1f6447;
}
.dbt-trust-rating:hover {
  text-decoration: none !important;
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.22);
}
.dbt-trust-value {
  font-weight: 700;
  color: #1f6447;
}
.dbt-trust-label {
  color: #1f6447;
  opacity: 0.85;
  font-weight: 500;
}
@media (min-width: 576px) {
  .dbt-hero-trust { font-size: 0.8rem; gap: 0.6rem 0.7rem; }
  .dbt-trust-badge { padding: 0.45rem 1rem; }
  .dbt-trust-icon { width: 1.05rem; height: 1.05rem; }
}
/* Všetky trust pilly → jemný strieborný fill. */
.dbt-trust-badge {
  background: linear-gradient(145deg, #eef0f2 0%, #dde1e4 100%);
  border-color: rgba(255, 255, 255, 0.45);
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.55);
}
.dbt-trust-badge:not(.dbt-trust-rating) { cursor: default; }

/* ---------- Naše služby — 2 karty Klasická / Prístrojová ---------- */
.dbt-services-section {
  padding: 3rem 1rem;
  background: var(--silver-100);
}
.dbt-services-section .mbr-section-title { color: #1f6447; }
.dbt-services-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  max-width: 900px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .dbt-services-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
  .dbt-services-section { padding: 4.5rem 1rem; }
}
.dbt-service-card {
  display: block;
  background: #fff;
  border: 1px solid rgba(31, 100, 71, 0.12);
  border-radius: 14px;
  padding: 1.5rem 1.3rem;
  text-decoration: none !important;
  color: inherit;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}
.dbt-service-card:hover {
  transform: translateY(-3px);
  border-color: #1f6447;
  box-shadow: 0 8px 22px rgba(31,100,71,0.15);
}
.dbt-service-icon {
  font-size: 2.4rem;
  line-height: 1;
  margin-bottom: 0.6rem;
}
.dbt-service-card h3 {
  font-family: 'Inter Tight', sans-serif;
  color: #1f6447;
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
}
.dbt-service-card p {
  color: #444;
  font-size: 0.98rem;
  line-height: 1.5;
  margin: 0 0 0.85rem;
}
.dbt-service-cta {
  display: inline-block;
  font-weight: 600;
  color: #1f6447;
  font-size: 0.95rem;
}
.dbt-service-card:hover .dbt-service-cta {
  text-decoration: underline;
}

/* ---------- Prečo VY — 2×2 grid s ikonami ---------- */
.dbt-why-section {
  padding: 2.5rem 1rem 3rem;
  background: #ffffff;
}
.dbt-why-section .mbr-section-title { color: #1f6447; }
.dbt-why-section .mbr-section-subtitle { color: #4a4a4a; }
@media (min-width: 768px) {
  .dbt-why-section { padding: 4.5rem 1rem; }
}
/* E) Eyebrow nad nadpisom — tichý uppercase nadpisok */
.dbt-why-eyebrow {
  font-family: 'Inter Tight', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--pewter);
  text-align: center;
  margin: 0 0 0.55rem;
}
.dbt-why-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;                       /* gap 0 → hairline linky tvoria spojitú mriežku */
  max-width: 860px;
  margin: 0 auto;
}
@media (min-width: 600px) {
  .dbt-why-grid { grid-template-columns: 1fr 1fr; }
}
/* Flat informačné dlaždice (NIE klikateľné karty) + C) vlasové deliace linky */
.dbt-why-card {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 1.9rem 1.5rem;
  text-align: center;
  cursor: default;
  border-bottom: 1px solid var(--silver-200);   /* mobil: linka medzi naskladanými */
}
.dbt-why-card:last-child { border-bottom: none; }
@media (min-width: 600px) {
  /* desktop: krížové hairline oddeľovače medzi 2×2 */
  .dbt-why-card { border-bottom: none; }
  .dbt-why-card:nth-child(odd) { border-right: 1px solid var(--silver-200); }
  .dbt-why-card:nth-child(1),
  .dbt-why-card:nth-child(2)   { border-bottom: 1px solid var(--silver-200); }
}
/* A) Medailón — ikona v jemnom striebornom disku s velvet prstencom */
.dbt-why-icon {
  width: 4.1rem;
  height: 4.1rem;
  margin: 0 auto 0.95rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--velvet);
  border-radius: 50%;
  background: var(--silver-grad);
  border: 1px solid rgba(31, 100, 71, 0.22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), 0 1px 4px rgba(0, 0, 0, 0.06);
  line-height: 1;
}
.dbt-why-icon svg {
  width: 2rem;
  height: 2rem;
  display: inline-block;
  stroke-linecap: round;
}
.dbt-why-card h3 {
  font-family: 'Inter Tight', sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #1f6447;
  margin: 0 0 0.5rem;
}
.dbt-why-card p {
  color: #444;
  font-size: 0.95rem;
  line-height: 1.55;
  margin: 0;
}

/* „Vyberte oblasť…" — jemné strieborné pozadie (svetlejšie) */
#dbt-ciele-home-section {
  background: linear-gradient(145deg, #f6f8f9 0%, #e8ebee 100%);
}

/* ---------- Unified section colors (premium luxury rhythm) ----------
   Pattern: velvet (anchor) → silver (content) → silver → velvet (CTA) → white (highlight) → silver → silver → velvet (final CTA) → velvet (footer)
   Palette: #1f6447 velvet | var(--silver-100) chladná strieborná | #ffffff white | #2b2b2b charcoal text */

/* Recenzie — highlight section, pure white pre social proof */
.cid-testimonials {
  background: #ffffff !important;
  background-image: none !important;
  padding: 2.5rem 1rem 3rem !important;
}
@media (min-width: 768px) {
  .cid-testimonials { padding: 4.5rem 1rem !important; }
}
.cid-testimonials .mbr-section-title { color: #1f6447 !important; }
.cid-testimonials .mbr-section-subtitle { color: #5a5a5a !important; }

/* Napísali o nás (denniky) — silver (ukážka novej palety) */
#denniky.cid-tLek7gQhG7 {
  background: var(--silver-100) !important;
  background-image: none !important;
  padding: 2.5rem 1rem 3rem !important;
}
@media (min-width: 768px) {
  #denniky.cid-tLek7gQhG7 { padding: 4.5rem 1rem !important; }
}
#denniky .mbr-section-title { color: #1f6447 !important; }
#denniky .mbr-section-subtitle { color: #5a5a5a !important; }

/* Press cards — magazínový layout */
.dbt-press-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #fff;
  border-radius: 18px;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 2px 12px rgba(31,100,71,0.08), 0 1px 3px rgba(0,0,0,0.06);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.dbt-press-card:hover {
  box-shadow: 0 8px 28px rgba(31,100,71,0.14), 0 2px 6px rgba(0,0,0,0.08);
  transform: translateY(-3px);
}
.dbt-press-card__figure {
  margin: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 18px 18px 0 0;
}
.dbt-press-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
  transition: transform 0.4s ease;
}
.dbt-press-card:hover .dbt-press-card__img {
  transform: scale(1.04);
}
@media (max-width: 991px) {
  .dbt-press-card { margin-bottom: 1.25rem; }
}
.dbt-press-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.4rem 1.5rem 1.6rem;
  border-top: 2px solid #e8f0eb;
  border-radius: 0 0 18px 18px;
}
.dbt-press-card__source {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #1f6447;
  opacity: 0.7;
  margin: 0 0 0.6rem;
}
.dbt-press-card__title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.15rem, 3.5vw, 1.35rem);
  font-weight: 700;
  line-height: 1.3;
  color: #1a1a1a;
  margin: 0 0 0.75rem;
}
.dbt-press-card__excerpt {
  font-size: 0.875rem;
  line-height: 1.6;
  color: #5a5a5a;
  margin: 0 0 1.2rem;
  flex: 1;
}
.dbt-press-card__cta {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #1f6447;
  border-bottom: 1px solid rgba(31,100,71,0.3);
  padding-bottom: 1px;
  align-self: flex-start;
  transition: border-color 0.2s;
}
.dbt-press-card:hover .dbt-press-card__cta {
  border-color: #1f6447;
}

/* Instagram strip — white */
.cid-instagram {
  background: #ffffff !important;
  background-image: none !important;
  padding: 2.5rem 1rem 3rem !important;
}
@media (min-width: 768px) {
  .cid-instagram { padding: 4.5rem 1rem !important; }
}
.cid-instagram .mbr-section-title { color: #1f6447 !important; }

/* Bezplatná konzultácia — velvet anchor (zostane #1f6447) — len padding upgrade */
#bezplatna-konzultacia { padding: 2.5rem 1rem 3rem !important; }
#bezplatna-konzultacia strong { color: var(--mist) !important; }
@media (min-width: 768px) {
  #bezplatna-konzultacia { padding: 4.5rem 1rem !important; }
}

/* Voucher section — premiový velvet kontext */
#darcekove-poukazky,
#cennik-poukazky {
  background: var(--silver-100) !important;
  padding: 1.25rem 1rem 1.5rem !important;
}
@media (min-width: 768px) {
  #darcekove-poukazky,
  #cennik-poukazky { padding: 2rem 1rem 2.5rem !important; }
}

/* Section title typography — Cormorant Garamond brand voice na svetlých sekciách */
.dbt-services-section .mbr-section-title,
.dbt-why-section .mbr-section-title,
.cid-testimonials .mbr-section-title,
#denniky .mbr-section-title,
.cid-instagram .mbr-section-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
}

/* =====================================================================
   /Úvodka redesign
   ===================================================================== */

/* =====================================================================
   Procedury detail pages — fixy (centrovanie, padding, table responsive)
   ===================================================================== */

/* Všetky nadpisy v procedura-section vycentrované, s padding-top + bez border-bottom čiary */
.procedura-section h1,
.procedura-section h2,
.procedura-section h3 {
  text-align: center !important;
}
.procedura-section h2 {
  margin-top: 2.25rem !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  /* Decoratívna čiarka pod nadpisom — centrovaná */
  position: relative;
}
.procedura-section h2::after {
  content: '';
  display: block;
  width: 60px;
  height: 2px;
  background: #1f6447;
  margin: 0.6rem auto 0;
  border-radius: 2px;
}
/* Prvý h2 v sekcii nemá veľký horný margin */
.procedura-section > section:first-of-type h2 {
  margin-top: 1rem !important;
}

/* Bulletpoints — viac padding aby sa nedotýkali okrajov */
.procedura-section ul {
  padding-left: 1.75rem !important;
}
.procedura-section ol.steps-list { padding-left: 0 !important; }
@media (max-width: 480px) {
  .procedura-section { padding: 1.5rem 0.85rem !important; }
  .procedura-section ul { padding-left: 1.5rem !important; }
}

/* Tabuľka cien — responsívna (horizontálny scroll na mobile) */
.cena-table {
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
}
/* Klikateľné riadky variantov → otvoria procedúru v rezerváciách */
.cena-table tr.cena-row-link { cursor: pointer; transition: background-color .12s ease; }
.cena-table tr.cena-row-link:hover,
.cena-table tr.cena-row-link:focus-visible {
  background-color: rgba(31, 100, 71, 0.07);
  outline: none;
}
.cena-table tr.cena-row-link td:last-child::after {
  content: " ›";
  color: #1f6447;
  font-weight: 700;
}
/* Statický (neklikateľný) riadok, napr. „Balíček 5×" — bez bold, tlmený */
.cena-table tr[data-dbt-static] td,
.cena-table tr[data-dbt-static] strong {
  font-weight: 400;
  color: #6b7280;
}
@media (max-width: 480px) {
  /* Na úzkych mobilech radšej kartový layout */
  .cena-table {
    white-space: normal;
  }
  .cena-table thead { display: none; }
  .cena-table, .cena-table tbody, .cena-table tr, .cena-table td {
    display: block;
    width: 100%;
  }
  .cena-table tr {
    background: #fff;
    border-radius: 12px;
    padding: 0.85rem 1rem;
    margin-bottom: 0.6rem;
    border: 1px solid rgba(0,0,0,0.08);
  }
  .cena-table td {
    border: none !important;
    padding: 0.15rem 0 !important;
    text-align: center;
    font-size: 0.95rem;
  }
  .cena-table td:first-child {
    font-size: 1.05rem;
    color: #1f6447;
    margin-bottom: 0.25rem;
  }
  .cena-table td:last-child {
    margin-top: 0.25rem;
    font-size: 1.05rem;
  }
}

/* Timeline-item — strong na vlastnom riadku + medzera pred textom */
.timeline-item strong {
  margin-bottom: 0.45rem !important;
}

/* Hero h1 a podtitul vycentrovať (už je centrovaný cez .procedura-hero * v inom mieste,
   ale pre istotu doplníme) */
.procedura-hero h1,
.procedura-hero p {
  text-align: center !important;
}

/* CTA blok v procedura-section nech má padding na mobile menší */
@media (max-width: 480px) {
  .cta-block { padding: 1.5rem 1rem !important; }
}


/* ---------- ScrollToTop tlačidlo — skryté na mobile (native gestá stačia) ---------- */
@media (max-width: 767px) {
  #scrollToTop { display: none !important; }
}

/* ---------- Footer ---------- */
/* Tučné linky, pevná veľkosť — display-4 by narástol na 3.5rem (56px) na wide desktop */
.cid-uFPvN6haaZ .header-menu li a {
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  white-space: nowrap;
}

/* Separátor — border-right na <a>, rovnaký padding vľavo aj vpravo = presné centrovanie */
@media (min-width: 992px) {
  .cid-uFPvN6haaZ .header-menu li {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0 !important;
  }
  .cid-uFPvN6haaZ .header-menu li a {
    padding-left: 0.9rem !important;
    padding-right: 0.9rem !important;
  }
  .cid-uFPvN6haaZ .header-menu li:not(:last-child) a {
    border-right: 2px solid rgba(214, 214, 214, 0.65);
  }
}

/* Kompakcia výšky — mt-5 (3rem) a mt-4 (1.5rem) sú príliš veľké */
.cid-uFPvN6haaZ .row-links.mb-4 { margin-bottom: 0.75rem !important; }
.cid-uFPvN6haaZ .social-row .soc-item { margin: 4px !important; }
.cid-uFPvN6haaZ .col-12.mt-4 { margin-top: 0.75rem !important; }
.cid-uFPvN6haaZ .copyright.col-12.mt-5 { margin-top: 1.25rem !important; }
.cid-uFPvN6haaZ { padding-top: 1.5rem !important; padding-bottom: 1rem !important; }
@media (max-width: 767px) {
  .footer1.cid-uFPvN6haaZ { padding-top: 0.75rem !important; }
}

/* Copyright — menší, centrovený, prilepený na spodok */
.cid-uFPvN6haaZ .copyright p {
  font-size: 0.72rem !important;
  text-align: center !important;
  opacity: 0.75;
}

/* Na mobile — menší font linkov + symetrické odsadenie aby scrollToTop nezakryl copyright */
@media (max-width: 767px) {
  .cid-uFPvN6haaZ .header-menu .header-menu-item a {
    font-size: 0.9rem !important;
  }
  .cid-uFPvN6haaZ .header-menu li {
    padding: 0 0.6rem 0.6rem !important;
  }
}

/* ---------- FAQ accordion ---------- */
.dbt-faq-item {
  border-bottom: 1px solid #e0e8e4;
  padding: 12px 0;
}
.dbt-faq-item summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 1.05rem;
  color: #1f6447;
  padding: 8px 0;
  list-style: none;
  position: relative;
  padding-right: 32px;
}
.dbt-faq-item summary::-webkit-details-marker {
  display: none;
}
.dbt-faq-item summary::after {
  content: '+';
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
  line-height: 1;
  color: #1f6447;
  transition: transform 0.2s ease;
}
.dbt-faq-item[open] summary::after {
  content: '\2212'; /* − */
}
.dbt-faq-answer {
  padding: 8px 0 12px;
  line-height: 1.55;
  color: #333;
}

/* ---------- Kontakt karta — zhutnenie ----------
   Default: font 17.6px, line-height 1.7× = 30px na item. 15 LI = ~450px len text. */
.cid-uFPvYx2s1g .card-wrapper {
  padding: 1.5rem 1.25rem !important;
}
.cid-uFPvYx2s1g .list .item-wrap {
  line-height: 1.45 !important;
  font-size: 1rem !important;
}
.cid-uFPvYx2s1g .text-wrapper h2 {
  margin: 0 0 0.25rem !important;
}
.cid-uFPvYx2s1g .text-wrapper h2 span {
  font-size: 1.15rem !important;
}
/* Skry prázdne <li><br></li> separátory — namiesto nich daj margin nasledujúcemu h2 */
.cid-uFPvYx2s1g .list li.item-wrap:has(> br:only-child) {
  display: none;
}
.cid-uFPvYx2s1g .list h2:not(:first-child) {
  margin-top: 0.85rem !important;
}

/* ---------- Responsive Maps iframe ---------- */
.dbt-map-wrap {
  position: relative;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  aspect-ratio: 4 / 3;
}
.dbt-map-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}
/* Mobile — Mobirise forsuje min-height: 350px na iframe, takže wrap musí byť aspoň
   taký vysoký aby iframe nevytekal a mapa bola plnoaktívna */
@media (max-width: 767px) {
  .dbt-map-wrap {
    aspect-ratio: auto;
    height: 360px;
  }
}

/* =====================================================================
   Phase 3 — Mobile-first overrides
   Mobile is primary; desktop is enhancement.
   ===================================================================== */

/* ---------- Menu — keep original Mobirise translucent "pill" look,
   just add a soft drop-shadow underneath. ---------- */
.navbar.navbar-fixed-top,
.menu .navbar.navbar-fixed-top,
section.menu .navbar {
  z-index: 1000 !important;
}
/* Shadow on the capsule container itself, not the full navbar */
section.menu .navbar .container,
.navbar.navbar-fixed-top .container {
  box-shadow: 0 4px 18px rgba(31, 100, 71, 0.22), 0 2px 6px rgba(0, 0, 0, 0.10) !important;
}
/* Mobirise hides the mobile collapse panel behind page content (z-index: -1).
   Lift it above so the menu actually opens. */
.navbar-collapse,
.navbar-collapse.collapse.show {
  z-index: 999 !important;
}
/* Anchor scrolling lands below the fixed navbar. */
html { scroll-padding-top: 84px; }
@media (min-width: 992px) { html { scroll-padding-top: 100px; } }

/* Active page indicator — background chip, not side bar */
.navbar .nav-link[aria-current="page"],
.navbar .nav-item.active > .nav-link {
  background-color: var(--silver-100) !important;
  color: #1f6447 !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  position: relative;
}
/* Rezervácie CTA already has bg; preserve its own style */
.navbar .nav-rezervacie .nav-link[aria-current="page"],
.navbar .nav-rezervacie.active > .nav-link {
  background-color: #1f6447 !important;
  color: #ffffff !important;
}
/* Subtle outline so the chip reads as a button on hover */
.navbar .nav-link[aria-current="page"]:hover,
.navbar .nav-item.active > .nav-link:hover {
  box-shadow: inset 0 0 0 2px rgba(31, 100, 71, 0.25);
}
@media (max-width: 991px) {
  .navbar .nav-link[aria-current="page"],
  .navbar .nav-item.active > .nav-link {
    margin: 0.15rem 0.5rem !important;
  }
}

/* ---------- Menu piktogramy + desktop nepriehľadnosť ---------- */
/* Zelené ikony oblastí pred položkami menu — zhodná zelená ako hero trust pills. */
.navbar .dbt-menu-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.3em;
  height: 1.3em;
  flex: 0 0 auto;
  margin-right: 0.5em;
  color: #1f6447;
  /* Väčšia ikona sa centruje k vyššiemu riadkovému boxu, optický stred písmen je
     nižšie — posun nadol zarovná ikonu presne na stred názvu (empiricky ladené). */
  position: relative;
  top: 0.27em;
}
.navbar .dbt-menu-ico svg { width: 100%; height: 100%; display: block; fill: currentColor; }
/* Vlastný piktogram nahrádza Mobirise hover „chevron" pseudo-prvok pri goal položkách. */
.cid-tJS6tZXiPa .navbar-nav .dropdown-item:before { content: none !important; }

/* Desktop (≥992px): menšia priehľadnosť pillu aj dropdownu. Mobil ostáva nezmenený. */
@media (min-width: 992px) {
  .cid-tJS6tZXiPa .navbar .container {
    background: rgba(247, 247, 247, 0.97) !important;
    background-color: rgba(247, 247, 247, 0.97) !important;
  }
  .cid-tJS6tZXiPa .navbar-nav .dropdown-menu {
    background: rgba(247, 247, 247, 0.97) !important;
  }
}
/* Mobil (≤991px): goal dropdown kompaktnejší + obsah zarovnaný DOĽAVA — ikony
   tvoria zvislý „rail" (lepšie skenovanie). Mobirise už dáva tesný padding 8px;
   tu len zmenšíme font a zaručíme ľavé balenie obsahu (justify-content).
   Top-level položky ostávajú centrované (čistá hierarchia). */
@media (max-width: 991px) {
  .cid-tJS6tZXiPa .navbar-nav .dropdown-menu .dropdown-item {
    justify-content: flex-start !important;
    text-align: left !important;
    font-size: 0.98rem !important;
  }
  .navbar .dropdown-menu .dbt-menu-ico {
    width: 1.25em;
    height: 1.25em;
    margin-right: 0.55em;
  }
}

/* ---------- Mobile-first typography ---------- */
html { -webkit-text-size-adjust: 100%; }
body {
  font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3 {
  text-wrap: balance;
}
/* Nikde na webe nedeliť slová automatickou pomlčkou (napr. „kon-krétny",
   „kon-zultáciu", „Diaman-tová"). hyphens:manual = deliť len na výslovnom
   &shy; / pevnej pomlčke, inak lámať len medzi slovami. Globálne, nech to
   platí aj pre p/li/nadpisy/tlačidlá bez ďalších výnimiek. */
*, h1, h2, h3, p, li, .bud-text {
  hyphens: manual !important;
  -webkit-hyphens: manual !important;
  -ms-hyphens: manual !important;
}

/* Override Mobirise large display font sizes for mobile */
@media (max-width: 767px) {
  h1, .display-1, .display-2 {
    font-size: clamp(1.6rem, 6vw, 2.1rem) !important;
    line-height: 1.2 !important;
  }
  h2, .display-3, .display-5 {
    font-size: clamp(1.3rem, 5vw, 1.6rem) !important;
    line-height: 1.25 !important;
  }
  h3, .display-7 {
    font-size: clamp(1.1rem, 4.5vw, 1.35rem) !important;
    line-height: 1.3 !important;
  }
  .mbr-section-title { font-size: clamp(1.5rem, 5.5vw, 1.9rem) !important; }
  .mbr-section-subtitle { font-size: clamp(1rem, 4vw, 1.15rem) !important; }
}

/* Compact section padding on mobile */
@media (max-width: 767px) {
  section[class*="cid-"],
  .header12,
  .header14,
  .features1,
  .features2,
  .features3,
  .features5,
  .gallery3,
  .contacts1,
  .footer1 {
    padding-top: 2.5rem !important;
    padding-bottom: 3rem !important;
  }
  .container,
  .container-fluid { padding-left: 1rem !important; padding-right: 1rem !important; }

  /* Pull <main> up to eliminate the transparent menu spacer gap.
     Spacer <header> je 88px (navbar 72px + odsadenie) → ťaháme presne o -88px,
     inak ostane navrchu ~8px prázdny prúžok (predtým biely). */
  main {
    margin-top: -88px !important;
  }
  /* Push first visible content below the navbar on every page.
     #header12-1l (homepage hero) has higher specificity and keeps padding-top:0. */
  main > section:first-of-type {
    padding-top: 5rem !important;
  }
  main > div:first-child {
    padding-top: 5rem !important;
  }
}

/* Long technical terms can break gracefully */
.mbr-text, p, li, h2, h3 {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* ---------- Tap target sizing ---------- */
.btn, .nav-link, a.dropdown-item {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
/* Hamburger menu (otvára sa do ≤991px) — štedrejšie položky (luxusný vzhľad,
   málo položiek) + zámok scrollu pozadia + rozostrené full-screen pozadie. */
.dbt-nav-backdrop { display: none; }
@media (max-width: 991px) {
  .cid-tJS6tZXiPa .navbar .navbar-nav .nav-item .nav-link {
    padding: 0.72rem 1.1rem !important;
    font-size: 1.18rem !important;
    letter-spacing: .02em;
  }
  .navbar-nav .dropdown-menu .dropdown-item {
    padding: .58rem 1.1rem !important;
    font-size: 1.06rem !important;
  }
  /* Zámok scrollu pozadia (top nastaví JS na -scrollY) */
  body.dbt-nav-open { position: fixed; left: 0; right: 0; width: 100%; overflow: hidden; }
  /* Full-screen rozostrené pozadie za otvoreným menu (menu sekcia je z-index:1000) */
  .dbt-nav-backdrop {
    display: block;
    position: fixed; inset: 0; z-index: 999;
    background: rgba(20, 30, 25, 0.32);
    backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    opacity: 0; pointer-events: none; transition: opacity .25s ease;
  }
  .dbt-nav-backdrop.show { opacity: 1; pointer-events: auto; }
}

/* ---------- Card grids (used on listing pages + new pages) ---------- */
.dbt-cards-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin: 1.5rem 0;
}
@media (min-width: 600px)  { .dbt-cards-grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; } }
@media (min-width: 992px)  { .dbt-cards-grid { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; } }
@media (min-width: 1280px) { .dbt-cards-grid.dbt-cards-4 { grid-template-columns: repeat(4, 1fr); } }

/* ---------- Image placeholder (Phase 3 mocks) ---------- */
.dbt-img-placeholder {
  background: linear-gradient(135deg, #edefeb 25%, #f5f7f3 25%, #f5f7f3 50%, #edefeb 50%, #edefeb 75%, #f5f7f3 75%);
  background-size: 24px 24px;
  border: 2px dashed #1f6447;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #1f6447;
  padding: 1rem;
  font-size: 0.85rem;
  border-radius: 8px;
  line-height: 1.45;
}
.dbt-img-placeholder strong { display: block; margin-bottom: 0.35rem; font-size: 0.95rem; }
.dbt-img-placeholder.aspect-4-5 { aspect-ratio: 4 / 5; }
.dbt-img-placeholder.aspect-1-1 { aspect-ratio: 1 / 1; }
.dbt-img-placeholder.aspect-16-9 { aspect-ratio: 16 / 9; }
.dbt-img-placeholder.aspect-3-4 { aspect-ratio: 3 / 4; }

/* ---------- Mock copy notice ---------- */
.dbt-mock-note {
  background: #fff8e1;
  border-left: 4px solid #c9a227;
  padding: 0.75rem 1rem;
  margin: 1rem 0;
  border-radius: 4px;
  font-size: 0.9rem;
  line-height: 1.5;
}
.dbt-mock-note strong { color: #8a6d1a; }

/* ---------- Tables become cards on small screens ---------- */
@media (max-width: 640px) {
  .dbt-responsive-table,
  .dbt-responsive-table thead,
  .dbt-responsive-table tbody,
  .dbt-responsive-table th,
  .dbt-responsive-table td,
  .dbt-responsive-table tr { display: block; }
  .dbt-responsive-table thead { position: absolute; top: -9999px; left: -9999px; }
  .dbt-responsive-table tr {
    background: #fff;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 8px;
    padding: 0.75rem;
    margin-bottom: 0.75rem;
  }
  .dbt-responsive-table td {
    padding: 0.4rem 0 0.4rem 45%;
    position: relative;
    border: none;
    text-align: left;
    min-height: 1.5rem;
  }
  .dbt-responsive-table td::before {
    content: attr(data-label);
    position: absolute;
    left: 0;
    top: 0.4rem;
    width: 42%;
    font-weight: 600;
    color: #1f6447;
  }
}

/* ---------- Before/After gallery (vysledky) ---------- */
.dbt-beforeafter {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}
.dbt-beforeafter > div { position: relative; }
.dbt-beforeafter span.label {
  position: absolute; top: 8px; left: 8px; z-index: 2;
  background: rgba(31,100,71,0.92); color: #fff;
  padding: 0.15rem 0.55rem; border-radius: 4px;
  font-size: 0.75rem; font-weight: 600; letter-spacing: 0.04em;
}
/* reálna pred/po fotka (z admina) — štvorec ako placeholder */
.dbt-ba-img img {
  width: 100%; aspect-ratio: 1 / 1; object-fit: cover;
  display: block; border-radius: 8px;
}

/* ---------- About page (o-mne) ---------- */
.dbt-about-hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: center;
}
@media (min-width: 768px) {
  .dbt-about-hero { grid-template-columns: 1fr 1.4fr; gap: 2rem; }
}

/* ---------- Gift voucher banner ---------- */
.dbt-voucher-banner {
  background: #1f6447;
  background-image: url('images/velvet_background.webp');
  background-size: cover;
  background-position: center;
  color: #fff;
  border-radius: 18px;
  padding: 2rem 1.5rem;
  margin: 1.5rem 0;
  text-align: center;
  box-shadow: 0 12px 32px rgba(31, 100, 71, 0.22);
}
.dbt-voucher-banner h2 {
  color: #ebebeb !important;
  margin-top: 0;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  font-size: clamp(1.4rem, 5.5vw, 2rem) !important;
}
.dbt-voucher-banner p { color: rgba(235,235,235,0.92); margin-bottom: 1rem; max-width: 560px; margin-left: auto; margin-right: auto; }
.dbt-voucher-banner .badge-inline {
  display: inline-block;
  background: rgba(234,238,240,0.14);
  border: 1px solid rgba(234,238,240,0.4);
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #ebebeb;
  margin-bottom: 0.7rem;
  letter-spacing: 0.12em;
}
.dbt-voucher-banner .btn-row { display: flex; flex-wrap: wrap; gap: 0.6rem; justify-content: center; }
.dbt-voucher-banner a {
  background: #ffffff;
  color: #1f6447 !important;
  padding: 0.7rem 1.25rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.92rem;
  letter-spacing: 0.02em;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(0,0,0,0.18);
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.dbt-voucher-banner a:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.24);
  background: var(--silver-50);
}
.dbt-voucher-banner a.secondary {
  background: transparent;
  color: var(--mist) !important;
  border: 1.5px solid var(--mist-border);
  box-shadow: none;
}
.dbt-voucher-banner a.secondary:hover {
  background: rgba(234,238,240,0.12);
  box-shadow: none;
}

/* ---------- Filter tabs (vysledky / cennik) ---------- */
.dbt-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 1rem 0 1.25rem;
}
.dbt-tabs button {
  background: #fff;
  border: 1.5px solid #1f6447;
  color: #1f6447;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s;
}
.dbt-tabs button.active,
.dbt-tabs button:hover { background: #1f6447; color: #fff; }

/* ---------- Generic page header (o-mne, vysledky) ---------- */
.dbt-page-hero {
  padding: 1.5rem 0 1rem;
  text-align: center;
}
.dbt-page-hero h1 {
  color: #1f6447;
  font-size: clamp(1.7rem, 5.5vw, 2.4rem);
  margin-bottom: 0.5rem;
}
.dbt-page-hero p.lead {
  font-size: clamp(1.05rem, 3.5vw, 1.15rem);
  max-width: 640px;
  margin: 0 auto;
  opacity: 1;
}

/* ---------- Card style (Klasicka/Pristrojove if reused) ---------- */
.dbt-card {
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.06);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
  transition: transform 0.15s, box-shadow 0.15s;
}
.dbt-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.08); }
.dbt-card .dbt-img-placeholder { border-radius: 0; border: none; aspect-ratio: 16/10; }
.dbt-card .body { padding: 1rem; flex: 1; display: flex; flex-direction: column; }
.dbt-card h3 { color: #1f6447; font-size: 1.1rem; margin: 0 0 0.4rem; }
.dbt-card .meta { font-size: 0.85rem; color: #555; margin: 0.4rem 0 0.8rem; }
.dbt-card .actions { display: flex; gap: 0.5rem; margin-top: auto; }
.dbt-card .actions a {
  flex: 1; text-align: center; padding: 0.55rem 0.5rem;
  border-radius: 6px; text-decoration: none; font-size: 0.88rem; font-weight: 600;
}
.dbt-card .actions a.primary { background: #1f6447; color: #fff; }
.dbt-card .actions a.secondary { background: transparent; color: #1f6447; border: 1.5px solid #1f6447; }

/* ---------- Index hero — bg extends to top of viewport ---------- */
/* Menu spacer gets white bg from the generic section reset; make it transparent
   so the hero bg is visible from y=0 on all pages. */
section.menu {
  background-color: transparent !important;
}

/* Mobile: the section[class*="cid-"] rule adds 40px top+bottom to the menu spacer
   (80px total). Pull the hero up 80px so its dark green bg covers that area.
   overflow:hidden creates a BFC, stopping the img's margin-top from collapsing
   outward (which was pushing <main> to y=156 instead of y=80). */
@media (max-width: 767px) {
  /* Hero teraz začína H1 — potrebuje väčší padding-top lebo main má margin-top: -80px,
     takže treba 80px (kompenzácia) + 72px (výška navbaru) + breathing room */
  #header12-1l {
    padding-top: 6rem !important;
    overflow: hidden;
  }
}

/* Tablet (768–991px): no mobile padding rule, menu spacer ≈0, main starts at y≈0.
   Push hero content below navbar. */
@media (min-width: 768px) and (max-width: 991px) {
  #header12-1l {
    padding-top: 84px !important;
    overflow: hidden;
  }
}

/* Desktop: same logic, larger nav height. */
@media (min-width: 992px) {
  #header12-1l {
    padding-top: 100px !important;
    overflow: hidden;
  }
}

/* =====================================================================
   UNIFIED PAGE HERO — dark green velvet band at the top of every page.
   Same atmosphere as the homepage/faq/kontakt heroes.
   Applies to: .dbt-page-hero (o-mne, vysledky, Cennik),
               .page-intro (Klasicka-kozmetika, Pristrojove-osetrenia),
               .procedura-hero (procedury subpages).
   ===================================================================== */
.dbt-page-hero,
.page-intro,
.procedura-hero {
  background-color: #1f6447 !important;
  background-image: url('images/velvet_background.webp') !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  color: #d6d6d6 !important;
  text-align: center !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 5.25rem 1.25rem 2.5rem !important;
  position: relative;
}
/* Force center alignment for every child element in hero blocks */
.dbt-page-hero,
.dbt-page-hero *,
.page-intro,
.page-intro *,
.procedura-hero,
.procedura-hero * {
  text-align: center !important;
}
@media (min-width: 768px) {
  .dbt-page-hero,
  .page-intro,
  .procedura-hero {
    padding: 6.5rem 2rem 3rem !important;
  }
}
@media (min-width: 992px) {
  .dbt-page-hero,
  .page-intro,
  .procedura-hero {
    padding: 7.5rem 2rem 3.5rem !important;
  }
}

/* Constrain inner content on page-intro (no inner container in HTML) */
.page-intro > * {
  max-width: 860px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Title — warm light gray to match Mobirise hero sections (#d6d6d6 on
   index, faq, kontakt). Subtle shadow for legibility on busy pattern. */
h1.dbt-hero-title,
.dbt-page-hero h1,
.page-intro h1,
.procedura-hero h1 {
  color: #d6d6d6 !important;
  margin-top: 0.25rem !important;
  margin-bottom: 0.6rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Ornamental flowers match the title color (#d6d6d6) for cohesion */
.dbt-hero-title .ornamental-bud,
.dbt-page-hero h1 .ornamental-bud,
.page-intro h1 .ornamental-bud,
.procedura-hero h1 .ornamental-bud {
  color: #d6d6d6 !important;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.25));
}

/* Subtitles, leads, descriptions — same warm gray as Mobirise .mbr-text */
.dbt-page-hero p,
.dbt-page-hero p.lead,
.page-intro p,
.page-intro .mbr-section-subtitle,
.procedura-hero p {
  color: #f2efe9 !important;
  opacity: 1 !important;
  max-width: 640px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Procedura-hero specifics — the inline padding-top:5rem on .procedura-section
   inside the hero is now redundant (outer .procedura-hero handles nav clearance). */
.procedura-hero > .procedura-section {
  padding-top: 0 !important;
}
.procedura-hero .breadcrumb-nav {
  opacity: 1 !important;
  color: rgba(255, 255, 255, 0.85) !important;
}
.procedura-hero .breadcrumb-nav a {
  color: rgba(255, 255, 255, 0.92) !important;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.4);
}
.procedura-hero .breadcrumb-nav a:hover {
  color: #a1edac !important;
  text-decoration-color: #a1edac;
}
.procedura-hero .meta-row {
  color: rgba(255, 255, 255, 0.95) !important;
  justify-content: center;
}
.procedura-hero .meta-row span { color: inherit !important; }

/* Buttons inside hero: invert primary so it pops against dark green.
   First primary (Rezervovať, .btn-lg) = white solid.
   Secondary primary (no .btn-lg) = white outline. */
.dbt-page-hero .btn-primary,
.page-intro .btn-primary,
.procedura-hero .btn-primary.btn-lg {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #1f6447 !important;
  border-color: #ffffff !important;
}
.dbt-page-hero .btn-primary:hover,
.page-intro .btn-primary:hover,
.procedura-hero .btn-primary.btn-lg:hover {
  background: var(--silver-100) !important;
  background-color: var(--silver-100) !important;
  color: #1f6447 !important;
  border-color: var(--silver-100) !important;
}
.procedura-hero .btn-primary:not(.btn-lg) {
  background: transparent !important;
  background-color: transparent !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
}
.procedura-hero .btn-primary:not(.btn-lg):hover {
  background: rgba(255, 255, 255, 0.12) !important;
  background-color: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}
/* Konzultačný button v sekcii „Neviete kde začať" — rovnaká výška a veľkosť
   písma ako CTA buttony (.btn-white) na stránkach ošetrení; pill tvar drží .mbr-section-btn. */
#bezplatna-konzultacia .btn-primary,
.dbt-cta-solid .btn-primary {
  background: #ffffff !important;
  color: #1f6447 !important;
  border: 1.5px solid #ffffff !important;
  padding: .85rem 2rem !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
#bezplatna-konzultacia .btn-primary:hover,
#bezplatna-konzultacia .btn-primary:focus,
.dbt-cta-solid .btn-primary:hover,
.dbt-cta-solid .btn-primary:focus {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #1f6447 !important;
  border-color: #ffffff !important;
}

/* Tighten button row on mobile */
@media (max-width: 575px) {
  .procedura-hero .mbr-section-btn {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    align-items: center;
  }
  .procedura-hero .mbr-section-btn .btn { margin: 0 !important; width: 100%; max-width: 320px; }
}

/* ---------- Hide horizontal overflow on body (safety) ---------- */
html, body { overflow-x: hidden; max-width: 100%; }

/* ---------- Footer — social ikony rovnaká veľkosť ---------- */
/* Instagram dostáva display-7 cez JS → znižuje font-size; normalizujeme všetky */
/* Ikony zmenšené z 72px na 52px — menej miesta, stále dobre klikateľné */
.cid-uFPvN6haaZ .social-row .soc-item a .mbr-iconfont {
  font-size: 24px !important;
  width: 52px !important;
  height: 52px !important;
}
@media (max-width: 767px) {
  .footer1 .social-row { justify-content: center; }
}


/* ===== Konzultácia modal — premium ===== */
.dbt-modal {
  position: fixed; inset: 0; z-index: 9999;
  display: none;
  align-items: flex-start; justify-content: center;
  padding: 0.5rem 0.5rem 0.75rem;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  height: 100vh;
  height: 100dvh;
}
.dbt-modal.is-open { display: flex; }
.dbt-modal-backdrop {
  position: fixed; inset: 0;
  background: rgba(15, 35, 26, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  animation: dbtModalFade 0.25s ease both;
}
.dbt-modal-panel {
  position: relative;
  width: 100%; max-width: 440px;
  background: var(--silver-50);
  border-radius: 18px;
  padding: 1.1rem 1rem 1rem;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
  text-align: center;
  animation: dbtModalRise 0.3s cubic-bezier(.2,.8,.2,1) both;
  color: #1f6447;
  margin: 0 auto;
  max-height: calc(100dvh - 1rem);
  max-height: calc(100vh - 1rem);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
@media (min-width: 576px) {
  .dbt-modal { align-items: center; padding: 1.5rem; }
  .dbt-modal-panel { padding: 2.4rem 2rem 1.8rem; }
}
@keyframes dbtModalFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes dbtModalRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
.dbt-modal-close {
  position: absolute; top: 0; right: 0;
  width: 3rem; height: 3rem;
  display: inline-flex; align-items: center; justify-content: center;
  border: 0; background: transparent;
  font-size: 1.9rem; line-height: 1;
  color: #1f6447; cursor: pointer; opacity: 0.7;
  transition: opacity 0.2s;
  padding: 0;
  z-index: 2;
}
.dbt-modal-close:hover, .dbt-modal-close:focus { opacity: 1; outline: none; }
.dbt-modal-close svg {
  width: 1.1rem; height: 1.1rem;
  pointer-events: none;
  display: block;
}
.dbt-modal-eyebrow { position: relative; z-index: 1; padding: 0 3rem; }
.dbt-modal-eyebrow {
  font-family: 'Inter Tight', sans-serif;
  font-size: 0.7rem; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: #1f6447; opacity: 0.7;
  margin: 0 0 0.45rem !important;
}
.dbt-modal-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.35rem; font-weight: 600;
  line-height: 1.2; color: #1f6447;
  margin: 0 0 0.35rem !important;
}
.dbt-modal-lead {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.1rem; font-style: italic; font-weight: 600;
  line-height: 1.35;
  color: #123a29; opacity: 1;
  margin: 0 0 0.85rem !important;
}
.dbt-modal-actions {
  display: flex; flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0.6rem;
}
.dbt-modal-btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 0.55rem;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  font-family: 'Inter Tight', sans-serif;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  text-decoration: none !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.dbt-modal-btn svg {
  width: 1.15rem; height: 1.15rem; flex: 0 0 auto;
}
.dbt-modal-btn span {
  display: inline-flex; flex-direction: column; align-items: flex-start; line-height: 1.15;
}
.dbt-modal-btn small {
  font-size: 0.72rem; font-weight: 500; opacity: 0.75; letter-spacing: 0.02em; margin-top: 1px;
}
.dbt-modal-btn-primary {
  background: #1f6447; color: var(--mist);
  border: 1.5px solid #1f6447;
  box-shadow: 0 6px 18px rgba(31, 100, 71, 0.28);
}
.dbt-modal-btn-primary:hover, .dbt-modal-btn-primary:focus {
  background: #174c36; border-color: #174c36; color: var(--mist);
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(31, 100, 71, 0.38);
}
.dbt-modal-btn-secondary {
  background: transparent; color: #1f6447;
  border: 1.5px solid #1f6447;
}
.dbt-modal-btn-secondary:hover, .dbt-modal-btn-secondary:focus {
  background: #1f6447; color: var(--mist);
  transform: translateY(-1px);
}
.dbt-modal-foot {
  font-family: 'Inter Tight', sans-serif;
  font-size: 0.65rem; letter-spacing: 0.03em;
  line-height: 1.3;
  color: #1f6447; opacity: 1;
  margin: 0.25rem 0 0 !important;
}
@media (min-width: 576px) {
  .dbt-modal-panel { padding: 2.4rem 2rem 1.8rem; }
  .dbt-modal-title { font-size: 1.75rem; }
}


/* ===== Konzultácia modal — divider + lead form ===== */
.dbt-modal-divider {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin: 0.7rem 0 0.7rem;
  font-family: 'Inter Tight', sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #1f6447;
}
.dbt-modal-divider::before,
.dbt-modal-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(31, 100, 71, 0.18);
}

.dbt-modal-form {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  text-align: left;
  margin-bottom: 0;
}
.dbt-form-row {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.dbt-form-label {
  font-family: 'Inter Tight', sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #1f6447;
  opacity: 0.8;
}
.dbt-form-label small {
  text-transform: none;
  font-weight: 400;
  letter-spacing: 0;
  opacity: 0.7;
  font-size: 0.95em;
}
.dbt-modal-form input[type="text"],
.dbt-modal-form textarea {
  width: 100%;
  font-family: 'Inter Tight', sans-serif;
  font-size: 1rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid rgba(31, 100, 71, 0.25);
  border-radius: 12px;
  background: #ffffff;
  color: #1f3a2d;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
  resize: vertical;
}
.dbt-modal-form input[type="text"]:focus,
.dbt-modal-form textarea:focus {
  outline: none;
  border-color: #1f6447;
  box-shadow: 0 0 0 3px rgba(31, 100, 71, 0.15);
}
.dbt-modal-form textarea { min-height: 52px; }
.dbt-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important; height: 1px !important;
  opacity: 0 !important;
}
.dbt-form-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.3rem;
  padding: 0.8rem 1.1rem;
  border-radius: 999px;
  border: 1.5px solid #1f6447;
  background: #1f6447;
  color: var(--mist);
  font-family: 'Inter Tight', sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.18s ease, box-shadow 0.2s ease;
  box-shadow: 0 4px 14px rgba(31, 100, 71, 0.25);
}
.dbt-form-submit:hover:not(:disabled),
.dbt-form-submit:focus:not(:disabled) {
  background: #174c36;
  border-color: #174c36;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(31, 100, 71, 0.32);
}
.dbt-form-submit:disabled {
  opacity: 0.7;
  cursor: wait;
}
.dbt-form-status {
  font-family: 'Inter Tight', sans-serif;
  font-size: 0.82rem;
  text-align: center;
  margin: 0 !important;
  min-height: 0;
}
.dbt-form-status:not(:empty) { margin: 0.4rem 0 0 !important; }
.dbt-form-status.is-success { color: #1f6447; font-weight: 600; }
.dbt-form-status.is-error { color: #a3361f; }

/* =====================================================================
   CELOWEBOVÉ ZJEDNOTENIE DIZAJNU (máj 2026)
   Hero typografia z indexu (Cormorant Garamond) aplikovaná na všetky
   stránky + zladenie do velvet green (#1f6447) + silver (#d6d6d6/#ebebeb).
   Cieľ: jednotný luxusný editorial vzhľad, mobile-first.
   ===================================================================== */

/* --- Index / page-hero / page-intro / procedura-hero H1 → serif editorial --- */
h1.dbt-hero-title,
.dbt-page-hero h1,
.dbt-page-hero h1.mbr-section-title,
.page-intro h1,
.page-intro h1.mbr-section-title,
.procedura-hero h1,
.procedura-hero h1.mbr-section-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.15 !important;
}

/* --- Hero podnadpis / lead → serif italic ako tagline na indexe --- */
.dbt-page-hero p.lead,
.dbt-page-hero p,
.page-intro .mbr-section-subtitle,
.page-intro > p,
.procedura-hero > .procedura-section > p,
.procedura-hero p.lead {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

/* --- Veľké section nadpisy naprieč celým webom → serif brand voice
       (váha 700 bold ako index hero — jednotný štýl všetkých nadpisov) --- */
main h1,
main h2,
.mbr-section-title,
section h2.display-2,
section h2.display-5,
section h2.display-6,
.procedura-section h2,
.dbt-services-section .mbr-section-title,
.dbt-why-section .mbr-section-title,
.cid-testimonials .mbr-section-title,
#denniky .mbr-section-title,
.cid-instagram .mbr-section-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
}

/* Section nadpisy na svetlom pozadí → velvet green (jednotná farba) */
.dbt-services-section .mbr-section-title,
.dbt-why-section .mbr-section-title,
.procedura-section h2,
section h2.display-2,
section h2.display-5 {
  color: #1f6447;
}

/* --- Malé funkčné titulky kariet ostávajú v Inter Tight (čitateľnosť) --- */
.proc-card-body h2,
.dbt-card h3,
.dbt-service-card h3,
.dbt-why-card h3,
.review-card .review-author-name,
.dbt-modal-eyebrow,
.dbt-trust-badge {
  font-family: 'Inter Tight', sans-serif !important;
}

/* --- Velvet/silver: nahradenie mätovo-zelenej #a1edac za silver --- */
.procedura-hero .breadcrumb-nav a:hover {
  color: #ebebeb !important;
  text-decoration-color: #ebebeb !important;
}

/* --- Procedura-hero: inline <style> dáva béžové pozadie + zelenú čiaru pod
       nadpisom; zladíme so zvyškom (serif H1 už pokrytý vyššie, čiara preč) --- */
.procedura-hero h1.mbr-section-title {
  border-bottom: none !important;
}

/* =====================================================================
   JEDNOTNÁ VEĽKOSŤ HERO NADPISOV — všetky stránky = veľkosť indexu
   (2.1rem mobil / 2.6rem ≥576 / 3.2rem ≥768), zhodná s .dbt-hero-title.
   Pokrýva všetky hero typy vrátane faq/Kontakt/Procedury (cid sekcie).
   ===================================================================== */
h1.dbt-hero-title,                    /* index hero */
.dbt-page-hero h1,
.page-intro h1,
.procedura-hero h1,
.cid-uOn7meaS34 .mbr-section-title,   /* faq hero */
.cid-uFPvYx2s1g .mbr-section-title,   /* Kontakt hero */
.cid-uGJAlmtjgT .mbr-section-title {  /* Procedury hero */
  font-size: 2.1rem !important;
  line-height: 1.15 !important;
}
@media (min-width: 576px) {
  h1.dbt-hero-title,
  .dbt-page-hero h1,
  .page-intro h1,
  .procedura-hero h1,
  .cid-uOn7meaS34 .mbr-section-title,
  .cid-uFPvYx2s1g .mbr-section-title,
  .cid-uGJAlmtjgT .mbr-section-title {
    font-size: 2.6rem !important;
  }
}
@media (min-width: 768px) {
  h1.dbt-hero-title,
  .dbt-page-hero h1,
  .page-intro h1,
  .procedura-hero h1,
  .cid-uOn7meaS34 .mbr-section-title,
  .cid-uFPvYx2s1g .mbr-section-title,
  .cid-uGJAlmtjgT .mbr-section-title {
    font-size: 3.2rem !important;
  }
}

/* Procedúrové hero nadpisy — rovnaká veľkosť ako všetky ostatné nadpisy
   (2.1/2.6/3.2rem zo spoločného pravidla vyššie). Žiadna výnimka — jednotná
   veľkosť naprieč celým webom. Dlhšie názvy sa zalomia na viac riadkov
   s vycentrovanými kvietkami, čo je v poriadku. */

/* =====================================================================
   JEDNOTNÝ HERO ENTRANCE NA PODSTRÁNKACH
   Rovnaká jemná fade-up sekvencia ako index: nadpis (0s) → podnadpis
   (0.15s) → meta (0.25s) → tlačidlá (0.35s). Vypína sa pri reduced-motion.
   ===================================================================== */
.dbt-page-hero h1,
.page-intro h1,
.procedura-hero h1,
.cid-uOn7meaS34 .mbr-section-title,   /* faq */
.cid-uFPvYx2s1g .mbr-section-title,   /* Kontakt */
.cid-uGJAlmtjgT .mbr-section-title,   /* Procedury */
.procedura-hero .breadcrumb-nav {
  animation: dbtHeroFadeUp 0.6s ease-out both;
}
.dbt-page-hero p.lead,
.dbt-page-hero p,
.page-intro .mbr-section-subtitle,
.page-intro > p,
.procedura-hero > .procedura-section > p,
.procedura-hero p.lead {
  animation: dbtHeroFadeUp 0.6s 0.15s ease-out both;
}
.procedura-hero .meta-row {
  animation: dbtHeroFadeUp 0.6s 0.25s ease-out both;
}
.dbt-page-hero .mbr-section-btn,
.procedura-hero .mbr-section-btn,
.cid-uFPvYx2s1g .mbr-section-btn {
  animation: dbtHeroFadeUp 0.6s 0.35s ease-out both;
}
@media (prefers-reduced-motion: reduce) {
  .dbt-page-hero h1, .page-intro h1, .procedura-hero h1,
  .cid-uOn7meaS34 .mbr-section-title, .cid-uFPvYx2s1g .mbr-section-title,
  .cid-uGJAlmtjgT .mbr-section-title,
  .dbt-page-hero p, .dbt-page-hero p.lead, .page-intro .mbr-section-subtitle,
  .page-intro > p, .procedura-hero > .procedura-section > p, .procedura-hero p.lead,
  .procedura-hero .breadcrumb-nav, .procedura-hero .meta-row,
  .dbt-page-hero .mbr-section-btn, .procedura-hero .mbr-section-btn,
  .cid-uFPvYx2s1g .mbr-section-btn {
    animation: none !important;
  }
}

/* --- Ornamentálne kvietky 🙡🙣: flexbox okolo .bud-text, vždy vertikálne
       vycentrované na stred (1- aj 2-riadkového) nadpisu. Bez &nbsp; v HTML →
       text sa zalamuje presne vycentrovane, kvietky tesne pri texte. --- */
h1:has(> .ornamental-bud),
h1 strong:has(> .ornamental-bud),
h2:has(> .ornamental-bud),
h2 strong:has(> .ornamental-bud) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: 0.06em;
  max-width: 100%;
}
.bud-text {
  flex: 0 1 auto;
  min-width: 0;            /* povolí zalomenie do dostupného miesta (inak by
                              flex-shrink:0 držal 1 riadok a preteklo by) */
  font-weight: 700 !important;  /* cleaned CSS má `span{font-weight:400}`, čo by
                                   inak spravilo text s kvietkami tenký (400) —
                                   držíme bold 700 ako nadpisy bez kvietkov (<strong>) */
  text-align: center;
  text-wrap: balance;
  max-width: 100%;
  /* presnú šírku (= najširší zalomený riadok) dorovná JS fitBudText()
     v dibeauty-extras.js, aby kvietky hugovali text aj pri 2 riadkoch */
}
.ornamental-bud {
  flex: 0 0 auto;
  margin: 0 !important;
  font-size: 0.72em;   /* jemnejšie kvietky → viac miesta pre text,
                          medium tituly sa zmestia na 1 riadok a kvietky hugujú */
}

/* ===== A2 nadpisy — Cormorant Garamond + hairline◆ ozdoba POD nadpisom =====
   Nahrádza emoji kvietky 🙡🙣 (skryté CSS + odstránené z DOM v JS). Ozdoba ide
   POD nadpis (nie po stranách), takže text má vždy plnú šírku → na mobile sa
   nezalamuje krivo. Farba ozdoby = farba nadpisu (currentColor) → ladí na
   striebornom aj velvet pozadí. */
.ornamental-bud { display: none !important; }

h2.mbr-section-title,
#bezplatna-konzultacia h2,
.dbt-voucher-banner h2 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 600 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
h2.mbr-section-title::after,
#bezplatna-konzultacia h2::after,
.dbt-voucher-banner h2::after {
  content: '';
  display: block;
  width: 60px;
  height: 2px;
  margin: 0.6rem auto 0;
  background: currentColor;   /* farba nadpisu → velvet na svetlom, biela na velvet */
  border-radius: 2px;
}

/* ===== HERO nadpisy (h1) — zúžené podčiarknutie (Hero 2) =====
   Hlavný nadpis každej stránky (h1.mbr-section-title) dostane jemnú tapered
   linku tesne POD textom. Kreslená ako background na bloku (centrovaná, 132px),
   takže NEPRIDÁVA extra riadok a nikdy nepretečie ani sa nezalomí. Farba =
   farba nadpisu (currentColor) → ladí na svetlom aj tmavom pozadí. */
h1.mbr-section-title {
  padding-bottom: 0.55rem !important;
  background:
    linear-gradient(90deg, transparent, currentColor, transparent)
    bottom center / 132px 2px no-repeat;
}
/* Jednotná TESNÁ medzera pod hlavným nadpisom (ako na úvode). Podstránky majú
   h1 v .mbr-section-head s mb-5 (48px) → zúžime na úroveň úvodu (~0.6rem). */
.mbr-section-head:has(> h1.mbr-section-title) {
  margin-bottom: 0.6rem !important;
}
/* Podnadpis/benefit hneď pod hlavným nadpisom (ošetrenia, page-hero) má vlastný
   margin-top → zrušíme, nech je linka tesne nad podtextom ako na úvode. */
.procedura-hero h1.mbr-section-title + p,
.dbt-page-hero h1.mbr-section-title + p,
.page-intro h1.mbr-section-title + p {
  margin-top: 0 !important;
}

/* Text stránky NIKDY nelámať v strede slova (cleaned CSS má na viacerých
   miestach zdedené word-break:break-word — h1-h6/.display-*/p/span/a/.btn/
   .navbar-brand — ktoré delí napr. „Mihalnic|e" alebo „kon|krétny"). Vymenúvame
   všetky textové/blokové elementy explicitne (univerzálny „*" selektor sa tu
   nespoľahlivo prejavoval). Lámeme len medzi slovami (pri medzere); overflow-wrap
   necháme ako núdzový fallback pre extrémne dlhé nedeliteľné reťazce (URL). */
body, div, section, article, header, footer, nav, main, aside,
p, li, ul, ol, span, a, label, button, small, strong, em, blockquote,
h1, h2, h3, h4, h5, h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6, .display-7,
.btn, .btn-primary, .btn-secondary,
.navbar-brand, .navbar-caption, .nav-link,
.mbr-text, .mbr-section-title, .mbr-section-subtitle,
.card, .card-title, .card-text, .item-wrapper {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
}
.bud-text,
.dbt-hero-title, .dbt-page-hero h1,
.page-intro h1, .page-intro h1 .bud-text,
.procedura-hero h1 {
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  word-wrap: normal !important;
}

/* ===== Cena tabuľky na detailoch procedúr — desktop: kompaktné a vycentrované ===== */
@media (min-width: 768px) {
  .procedura-section .cena-table {
    display: table !important;     /* zruší mobilný display:block (ten vypĺňal kontajner
                                      828px a spôsoboval horizontálny scrollbar) */
    width: auto !important;        /* zmrští na šírku obsahu */
    max-width: 100%;               /* nikdy nepretečie kontajner */
    overflow: visible !important;  /* žiadny scrollbar */
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ===== Cena tabuľky — mobile: kompaktné bunky (default display-7 font ~17px je
   priveľký, dlhé názvy sa zalamovali do vysokých riadkov) ===== */
@media (max-width: 767px) {
  /* Mobirise responsive pravidlo robí z table/tr/td display:block (bunky sa
     stackujú pod seba → každá procedúra zaberie pol obrazovky). Obnovíme
     normálnu tabuľku → jedna kompaktná riadka na procedúru. */
  .procedura-section .cena-table { display: table !important; width: 100% !important; font-size: 0.82rem !important; }
  .procedura-section .cena-table thead { display: table-header-group !important; }
  .procedura-section .cena-table tbody { display: table-row-group !important; }
  .procedura-section .cena-table tr { display: table-row !important; }
  .procedura-section .cena-table th,
  .procedura-section .cena-table td {
    display: table-cell !important;
    padding: 0.4rem 0.45rem !important;
    line-height: 1.3;
  }
  /* Trvanie + cena (2. a ďalšie stĺpce) sú krátke → nech sa nezalamujú; názov
     (1. stĺpec) tak dostane zvyšok šírky a riadky ostanú kompaktné. */
  .procedura-section .cena-table th:not(:first-child),
  .procedura-section .cena-table td:not(:first-child) {
    white-space: nowrap;
  }
}

/* ===== Jednotný dizajn CTA tlačidiel na detailoch procedúr =====
   Hero aj záverečný .cta-block sú na velvet pozadí → rovnaké cream pilly:
   primary „Rezervovať procedúru" = cream filled, „Konzultácia" = cream outline.
   (Zjednocuje Mobirise btn v hero s vlastnými btn-white/btn-outline v cta-block.) */
.procedura-hero .mbr-section-btn .btn-primary,
.cta-block .btn-white,
.cta-block .btn-outline {
  display: inline-block !important;
  border-radius: 999px !important;
  padding: 0.8rem 1.8rem !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.02em !important;
  margin: 0.35rem !important;
  border: 1.5px solid transparent !important;
  text-transform: none !important;
  transition: transform .18s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease !important;
}
/* Primary — biela */
.procedura-hero .mbr-section-btn .btn-primary.btn-lg,
.cta-block .btn-white {
  background: #ffffff !important;
  color: #1f6447 !important;
  border-color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.18) !important;
}
.procedura-hero .mbr-section-btn .btn-primary.btn-lg:hover,
.procedura-hero .mbr-section-btn .btn-primary.btn-lg:focus,
.cta-block .btn-white:hover,
.cta-block .btn-white:focus {
  background: var(--silver-50) !important;
  color: #1f6447 !important;
  border-color: var(--silver-50) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.24) !important;
}
/* Secondary „Konzultácia" — strieborný outline */
.procedura-hero .mbr-section-btn .btn-primary:not(.btn-lg),
.cta-block .btn-outline {
  background: transparent !important;
  color: var(--mist) !important;
  border-color: var(--mist-border) !important;
}
.procedura-hero .mbr-section-btn .btn-primary:not(.btn-lg):hover,
.procedura-hero .mbr-section-btn .btn-primary:not(.btn-lg):focus,
.cta-block .btn-outline:hover,
.cta-block .btn-outline:focus {
  background: rgba(234,238,240,.12) !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
}

/* cta-block — velvet textúra (zhodne s hero a voucher bannerom) */
.cta-block {
  background-color: #1f6447 !important;
  background-image: url('images/velvet_background.webp') !important;
  background-size: cover !important;
  background-position: center !important;
}
/* Mobile: CTA tlačidlá (hero aj záver) full-width + stacked → rovnaká šírka */
@media (max-width: 767px) {
  .procedura-hero .mbr-section-btn .btn-primary,
  .cta-block .btn-white,
  .cta-block .btn-outline {
    display: block !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* cta-block — väčší nadpis + menej miesta nad ním */
.cta-block { padding-top: 1.25rem !important; }
.cta-block h2 {
  font-size: clamp(1.7rem, 5.5vw, 2.4rem) !important;
  margin-top: 0 !important;
  line-height: 1.15 !important;
}
/* Decoratívna čiarka pod nadpisom: .procedura-section h2::after je natvrdo
   zelená (#1f6447) → na velvet pozadí cta-bloku splýva. Prekryjeme striebornou
   (mist), rovnako ako v ostatných velvet sekciách (#bezplatna-konzultacia,
   .dbt-voucher-banner používajú currentColor). */
.cta-block h2::after {
  background: var(--mist) !important;
}

/* ===== Radius obrázkov v kartách = radius karty (karta má prioritu) =====
   Mobirise dáva obrázkom border-radius:2rem (32px). V kartách s overflow:hidden
   to na desktope nesedelo s radiusom karty (napr. proc-card 12px). Obrázku
   zrušíme vlastný radius → karta ho oreže svojím overflow:hidden. */
.proc-card img,
.dbt-card img,
.related-card img {
  border-radius: 0 !important;
}

/* ===== Akcie (promo) ===== */
/* box-shadow: prvý tvrdý 1px v zelenej „podleje" spodok bannera, aby na mobile
   (subpixel/DPR) nepresvital biely hairline; druhý je pôvodný jemný tieň. */
.dbt-akcie-bar{position:fixed;top:0;left:0;right:0;z-index:1040;background:#1f6447;color:#fff;font-size:.9rem;line-height:1.2;display:flex;align-items:center;justify-content:center;padding:.5rem 2.4rem;text-align:center;box-shadow:0 1px 0 0 #1f6447,0 2px 4px rgba(0,0,0,.15)}
.dbt-akcie-bar a{color:#fff;text-decoration:none;font-weight:600;letter-spacing:.01em}
.dbt-akcie-bar a:hover{text-decoration:underline}
.dbt-akcie-x{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;opacity:.8}
.dbt-akcie-x:hover{opacity:1}
#dbt-akcie-spacer{width:100%}
body.has-akcie-bar .navbar-fixed-top{top:var(--akcie-bar-h,36px)}
.akcie-hero{background:var(--silver-100);padding:5rem 1rem 1.6rem;text-align:center}
.akcie-hero .akcie-hero-in{max-width:760px;margin:0 auto}
.akcie-hero .breadcrumb-nav{font-size:.88rem;margin-bottom:1rem;opacity:.75}
.akcie-hero .breadcrumb-nav a{color:#1f6447;text-decoration:none}
.akcie-hero .breadcrumb-nav a:hover{text-decoration:underline}
.akcie-hero p{margin:.7rem auto 0;max-width:600px}
.akcia-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem;max-width:1100px;margin:1.5rem auto;padding:0 1rem}
.akcia-card{position:relative;flex:0 0 280px;max-width:100%;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.07);display:flex;flex-direction:column}
.akcia-img{width:100%;aspect-ratio:3/2;overflow:hidden;background:var(--silver-100)}
.akcia-img img{width:100%;height:100%;object-fit:cover;display:block}
.akcia-badge{position:absolute;top:12px;left:12px;background:#1f6447;color:#fff;font-weight:700;font-size:.8rem;padding:.28rem .7rem;border-radius:999px;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.akcia-badge--inline{position:static;align-self:center;margin:0 0 .7rem;box-shadow:none}
.akcia-body{padding:1.1rem 1.2rem 1.3rem;text-align:center;display:flex;flex-direction:column;flex:1}
.akcia-body h3{color:#1f6447;font-size:1.1rem;margin:0 0 .4rem}
.akcia-desc{font-size:.9rem;color:#555;line-height:1.5;margin:0 0 .8rem;white-space:pre-line;text-align:left}
/* Úvodný teaser (#dbt-akcie-home): popis orež na 3 riadky, nech karty ostanú
   kompaktné aj pri dlhom texte. Plný popis zostáva na /akcie (#dbt-akcie-list). */
#dbt-akcie-home .akcia-desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;white-space:normal}
/* Po kliknutí na „Čítať ďalej" sa orezanie zruší a text sa rozvinie na mieste. */
#dbt-akcie-home .akcia-desc.is-expanded{-webkit-line-clamp:unset;line-clamp:unset;overflow:visible;display:block;white-space:pre-line}
.akcia-readmore{align-self:flex-start;background:none;border:none;padding:0;margin:-.4rem 0 .8rem;color:#1f6447;font-weight:600;font-size:.85rem;cursor:pointer}
.akcia-readmore:hover{text-decoration:underline}
.akcia-price{font-size:1.15rem;margin-bottom:.35rem;margin-top:auto}
.akcia-price s{opacity:.55;font-size:.95rem;margin-right:.4rem}
.akcia-price strong{color:#1f6447}
.akcia-deadline{font-size:.82rem;color:#888;margin-bottom:.9rem}
.akcia-deadline--urgent{color:#c4451a;font-weight:700}
.akcia-fire{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.92);color:#c4451a;font-weight:700;font-size:.8rem;padding:.28rem .7rem;border-radius:999px;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.akcia-btn{display:inline-block;background:#1f6447;color:#fff;padding:.6rem 1.6rem;border-radius:999px;font-weight:600;text-decoration:none;transition:background-color .28s ease,color .28s ease}
.akcia-btn:hover{background:#2c8961}
/* Oprava: globálne `a:hover{color:#427e4a}` (dibeauty-style-cleaned.css) má vyššiu
   špecificitu než `.trieda{color:#fff}`, takže na hover/focus/klik svetlý text
   vyplnených zelených buttonov zozelenie a splynie s pozadím. Reasertujeme svetlú
   farbu vo všetkých interaktívnych stavoch (špecificita .trieda:hover prebije a:hover). */
.akcia-btn:hover,.akcia-btn:focus,.akcia-btn:active,
.btn-rezervovat:hover,.btn-rezervovat:focus,.btn-rezervovat:active,
.dbt-akcie-bar a:hover,.dbt-akcie-bar a:focus,.dbt-akcie-bar a:active{color:#fff}
.akcia-more{color:#1f6447;font-weight:600;text-decoration:none}
.akcia-empty{text-align:center;color:#888;padding:1.5rem}
/* Kontakt — sekčné nadpisy (Kontakty / Adresa / IČO / Pracovný čas). Predtým
   splývali s bežným textom; teraz brand zelená + oddeľovacia linka, nech vyniknú. */
.dbt-contact-label{margin:1.6rem 0 .5rem;padding-bottom:.35rem;border-bottom:1px solid rgba(31,100,71,.22);line-height:1.2}
.dbt-contact-label span,.dbt-contact-label strong{color:#1f6447!important}
.proc-card{position:relative}
.akcia-tag{position:absolute;top:8px;left:8px;background:#1f6447;color:#fff;font-weight:700;font-size:.78rem;padding:.2rem .55rem;border-radius:6px;z-index:2}

/* ===== Ciele (navigácia) ===== */
/* "Ošetrenia ▾" dropdown — vlastný (nezávislý od Bootstrap JS). */
.navbar-nav .nav-item.dropdown{position:relative}
.navbar-nav .nav-item.dropdown>.dropdown-toggle::after{content:"";display:inline-block;margin-left:.4em;vertical-align:.15em;border-top:.32em solid;border-right:.32em solid transparent;border-left:.32em solid transparent}
.navbar-nav .dropdown-menu{display:none;position:absolute;top:100%;left:0;z-index:1000;min-width:230px;padding:.4rem 0;margin:.3rem 0 0;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;box-shadow:0 8px 26px rgba(0,0,0,.14)}
.navbar-nav .nav-item.dropdown.dbt-open>.dropdown-menu,.navbar-nav .dropdown-menu.show{display:block}
/* Desktop „best of both": klik na „Ošetrenia" ide na /osetrenia, dropdown sa
   otvára hoverom/focusom. ::before mostík prekryje .3rem medzeru (žiadny flicker). */
@media (min-width:992px){
  .navbar-nav .nav-item.dropdown:hover>.dropdown-menu,
  .navbar-nav .nav-item.dropdown:focus-within>.dropdown-menu{display:block}
  .navbar-nav .nav-item.dropdown>.dropdown-menu::before{content:"";position:absolute;top:-.5rem;left:0;right:0;height:.5rem}
}
.navbar-nav .dropdown-menu .dropdown-item{display:block;padding:.55rem 1.15rem;white-space:nowrap;color:#1f6447;font-weight:500;text-decoration:none}
.navbar-nav .dropdown-menu .dropdown-item:hover,.navbar-nav .dropdown-menu .dropdown-item.active{background:var(--silver-100)}
@media (max-width:991px){.navbar-nav .dropdown-menu{position:static;box-shadow:none;border:none;border-radius:0;padding:.2rem 0 .2rem 1rem;margin:0;min-width:0}}
/* Odkaz pod dlaždicami na homepage → kanonický rozcestník /osetrenia. */
.ciele-home-all{text-align:center;margin:.4rem auto 0}
.ciele-home-all a{display:inline-block;color:#1f6447;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(31,100,71,.35);padding-bottom:.1rem;transition:border-color .15s,color .15s}
.ciele-home-all a:hover{color:#14503a;border-bottom-color:#14503a}

/* Full-width strieborný pás za dlaždicami /osetrenia (rozcestník aj goal
   stránky s proc-kartami) — ten istý gradient ako „Vyberte oblasť…" na indexe
   (#dbt-ciele-home-section), aby biele tiles nesplývali s bielym pozadím. */
/* id selektor + !important: prebíja navbar-offset pravidlo
   `main > section:first-of-type{padding-top:5rem !important}` (≤767px, špecificita
   0,1,2) — hero je div, takže tento band je prvý <section>, ale je POD hero,
   navbar offset netreba. */
#dbt-osetrenia-band{background:linear-gradient(145deg,#f6f8f9 0%,#e8ebee 100%);padding:2rem 0 2.75rem !important}
#dbt-osetrenia-band>#dbt-goal-list{margin-top:0;margin-bottom:0}

/* Vizuálny rozcestník /osetrenia — dlaždice cieľov s piktogramami */
.goal-rozcestnik{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:1040px;margin:2rem auto;padding:0 1rem}
@media(min-width:680px){.goal-rozcestnik{grid-template-columns:repeat(3,1fr);gap:1.25rem}}
@media(min-width:992px){.goal-rozcestnik{grid-template-columns:repeat(4,1fr)}}
.goal-tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.55rem;padding:1.6rem 1rem 1.4rem;background:#fff;border:1px solid rgba(31,100,71,.12);border-radius:16px;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.05);transition:transform .2s ease,box-shadow .2s ease}
.goal-tile:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(31,100,71,.16)}
.goal-tile-ico{display:flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;border-radius:50%;background:linear-gradient(145deg,#eef0f2 0%,#dde1e4 100%);color:#1f6447;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 1px 4px rgba(0,0,0,.06)}
.goal-tile-ico svg{width:1.7rem;height:1.7rem;fill:currentColor;display:block}
.goal-tile-name{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:600;line-height:1.2;color:#1f6447}
.goal-tile-tag{font-size:.82rem;line-height:1.4;color:#666}

/* Breadcrumb — základ. Akcie-hero má svetlé pozadie a vlastný override nižšie. */
.breadcrumb-nav{font-size:.88rem;margin-bottom:1.5rem;opacity:.75;position:relative;z-index:2}
.breadcrumb-nav a{color:#1f6447;text-decoration:none}
.breadcrumb-nav a:hover{text-decoration:underline}

/* Goal stránka (.page-intro) má tmavozelený velvet hero → zelené odkazy boli
   neviditeľné. Rovnaký svetlý vzhľad ako na detaile (.procedura-hero) + väčšia
   klikateľná plocha (inline-block s paddingom — oprava „zlej hit area"). */
.page-intro .breadcrumb-nav{opacity:1;color:rgba(255,255,255,0.85)}
.page-intro .breadcrumb-nav a{
  color:rgba(255,255,255,0.92);
  text-decoration:underline;
  text-decoration-color:rgba(255,255,255,0.4);
  display:inline-block;
  padding:.25em .2em;
}
.page-intro .breadcrumb-nav a:hover{color:#ebebeb;text-decoration-color:#ebebeb}

/* Mobil: „Ošetrenia" je odkaz (na rozcestník), nie rozbaľovač → preč so šípkou ▾ */
@media (max-width:991px){
  section.cid-tJS6tZXiPa .nav-dropdown .link.dropdown-toggle::after{display:none !important}
}
/* .page-intro (ošetrenia rozcestník / goal stránky): kompaktnejší hero ako
   procedúrové detaily — H1 rovnako vysoko ako na Cenník/Kontakt, viac priestoru
   pre tiles pod nim. Breadcrumb hit-area rieši z-index:2 (nie padding-top). */
.page-intro{
  padding-top: 5.25rem !important;
  padding-bottom: 1rem !important;
}
@media (min-width:768px){
  .page-intro{ padding-top: 6.5rem !important; padding-bottom: 1.25rem !important; }
}
@media (min-width:992px){
  .page-intro{ padding-top: 7.5rem !important; padding-bottom: 1.5rem !important; }
}
.page-intro .mbr-section-subtitle{ margin-top: .75rem !important; }

/* =====================================================================
   VELVET GREEN SECTIONS — unified opaque text shadow
   Platí pre všetky sekcie s velvet green pozadím (tmavá textúra):
   hero, CTA pás, voucher banner, footer.
   Jeden zdroj pravdy — text sa vždy odlíši od textúry.
   Buttons sú vylúčené (majú vlastný solid kontrast).
   ===================================================================== */
/* :where() má nulovú špecificitu — výnimky nižšie ju ľahko prekonajú */
:where(
  #header12-1l,
  .dbt-page-hero,
  .page-intro,
  .procedura-hero,
  #bezplatna-konzultacia,
  .dbt-voucher-banner,
  .cta-block,
  .cid-uOn7meaS34,
  .cid-uFPvYx2s1g,
  .cid-uGJAlmtjgT,
  .cid-uFPvN6haaZ
) :is(h1, h2, h3, h4, h5, h6, p, li, a, span, strong, em, .breadcrumb-nav) {
  text-shadow: 0 2px 4px rgba(0, 0, 0, 1) !important;
}
/* Výnimky: prvky so solid pozadím vnútri velvet sekcií — žiadny tieň */
.cid-uFPvYx2s1g .card-wrapper :is(h1, h2, h3, h4, h5, h6, p, li, a, span, strong, em),
.cid-uFPvN6haaZ .soc-item,
.cid-uFPvN6haaZ .soc-item :is(span, a),
.dbt-trust-badge.dbt-trust-badge,
.dbt-trust-badge :is(span, strong, em, a),
.dbt-voucher-banner a:not(.secondary),
.dbt-voucher-banner a:not(.secondary) :is(span, strong, em),
#header12-1l .btn-primary,
.dbt-page-hero .btn-primary,
.page-intro .btn-primary,
.procedura-hero .btn-primary.btn-lg,
.cta-block .btn-white,
#bezplatna-konzultacia .btn-primary,
.dbt-cta-solid .btn-primary {
  text-shadow: none !important;
}
/* Kontakt: vycentruj obsah sekcie (karta + mapa) — na širokom desktope by
   inak container-fluid roztiahol kartu vľavo a mapu vpravo od kraja ku kraju. */
@media (min-width: 992px) {
  .cid-uFPvYx2s1g > .container-fluid {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
  }
  /* Mapa rovnako vysoká ako karta vedľa nej: vyplní celú výšku stĺpca namiesto
     pevného pomeru 4/3, inak by pod mapou ostal prázdny priestor. */
  .cid-uFPvYx2s1g .map-wrapper { display: flex; }
  .cid-uFPvYx2s1g .google-map { width: 100%; height: 100%; }
  .cid-uFPvYx2s1g .dbt-map-wrap {
    aspect-ratio: auto !important;
    height: 100%;
    min-height: 100%;
    flex: 1;
  }
}

/* ─────────────────────────────────────────────────────────────
 * Newsletter — nábor odberateľov (blok v pätičke + pás na /akcie).
 * Vkladá dibeauty-extras.js keď je nábor zapnutý v admine.
 * ──────────────────────────────────────────────────────────── */
.dbt-nl { text-align: center; }
.dbt-nl .dbt-nl-heading {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic;
  font-size: 1.6rem !important;
  color: var(--velvet) !important;
  margin: 0 0 .35rem !important;
}
.dbt-nl .dbt-nl-sub {
  font-family: 'Inter Tight', sans-serif !important;
  font-size: .95rem !important;
  color: var(--pewter) !important;
  margin: 0 auto 1rem !important;
  max-width: 34rem;
}
.dbt-nl .dbt-nl-form { max-width: 27rem; margin: 0 auto; }
.dbt-nl .dbt-nl-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px; height: 1px;
  opacity: 0;
  pointer-events: none;
}
.dbt-nl .dbt-nl-row { display: flex; gap: .5rem; }
.dbt-nl .dbt-nl-input {
  flex: 1;
  min-width: 0;
  padding: .7rem 1rem;
  border: 1px solid var(--silver-200);
  border-radius: 2rem;
  background: #fff;
  font-family: 'Inter Tight', sans-serif;
  font-size: 1rem;   /* ≥16px — iOS nezoomuje */
  color: #2b2b2b;
}
.dbt-nl .dbt-nl-input:focus {
  outline: none;
  border-color: var(--velvet);
  box-shadow: 0 0 0 3px rgba(31, 100, 71, .15);
}
.dbt-nl .dbt-nl-btn {
  padding: .7rem 1.4rem;
  border: none;
  border-radius: 2rem;
  background: var(--velvet);
  color: #fff;
  font-family: 'Inter Tight', sans-serif;
  font-size: .82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .14em;
  cursor: pointer;
  white-space: nowrap;
  transition: background .2s ease;
}
.dbt-nl .dbt-nl-btn:hover { background: var(--velvet-dark); }
.dbt-nl .dbt-nl-btn:disabled { opacity: .6; cursor: default; }
.dbt-nl .dbt-nl-status {
  font-family: 'Inter Tight', sans-serif !important;
  font-size: .9rem !important;
  min-height: 1.2rem;
  margin: .6rem 0 0 !important;
}
.dbt-nl .dbt-nl-status.okk { color: var(--velvet) !important; font-weight: 600; }
.dbt-nl .dbt-nl-status.err { color: #b3423f !important; }
.dbt-nl .dbt-nl-note {
  font-family: 'Inter Tight', sans-serif !important;
  font-size: .72rem !important;
  color: var(--pewter) !important;
  margin: .5rem 0 0 !important;
  line-height: 1.5 !important;
}
.dbt-nl .dbt-nl-note a { color: var(--pewter) !important; text-decoration: underline !important; }

/* Kompakt v pätičke — oddelený linkou, sedí na tmavšom footri aj svetlom */
.dbt-nl-footer {
  margin: 2rem auto 0;
  padding: 1.75rem 1rem 0;
  border-top: 1px solid var(--mist-border);
  max-width: 36rem;
}
.footer1 .dbt-nl-footer .dbt-nl-heading { color: var(--mist) !important; }
.footer1 .dbt-nl-footer .dbt-nl-sub,
.footer1 .dbt-nl-footer .dbt-nl-note,
.footer1 .dbt-nl-footer .dbt-nl-note a { color: rgba(234, 238, 240, .75) !important; }
.footer1 .dbt-nl-footer .dbt-nl-status.okk { color: #9fd4b8 !important; }
.footer1 .dbt-nl-footer .dbt-nl-status.err { color: #f0b7b5 !important; }
.footer1 .dbt-nl-footer .dbt-nl-btn { background: var(--mist); color: var(--velvet); }
.footer1 .dbt-nl-footer .dbt-nl-btn:hover { background: #fff; }

/* Výrazný pás na /akcie */
.dbt-nl-band {
  margin: 2.5rem auto 0;
  padding: 2rem 1.25rem;
  background: var(--silver-grad);
  border: 1px solid var(--silver-200);
  border-radius: 1rem;
  max-width: 44rem;
}

/* Mobile: input a tlačidlo pod seba */
@media (max-width: 480px) {
  .dbt-nl .dbt-nl-row { flex-direction: column; }
  .dbt-nl .dbt-nl-btn { padding: .8rem 1rem; }
}


/* =====================================================================
   VÝSLEDKY PRED/PO — lightbox + detail sekcia + modal (globálne)
   Používa sa na: stránke Výsledky (hub), detailoch /procedury/* (sekcia
   „Pred a po") aj kartách cieľov (button „Pred/Po" → modal).
   ===================================================================== */
.dbt-lb { position: fixed; inset: 0; background: rgba(10,14,12,0.94); z-index: 1050; display: none; align-items: center; justify-content: center; padding: 1rem; overflow: auto; }
.dbt-lb.open { display: flex; }
.dbt-lb .lb-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; max-width: 1000px; width: 100%; margin: auto; }
@media (min-width: 700px) { .dbt-lb .lb-grid { grid-template-columns: 1fr 1fr; } }
.dbt-lb figure { margin: 0; }
.dbt-lb figcaption { color: #fff; font-weight: 700; font-size: 0.85rem; letter-spacing: 0.06em; margin-bottom: 0.35rem; }
.dbt-lb img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 10px; display: block; background: #111; }
.dbt-lb .lb-close { position: fixed; top: 0.8rem; right: 0.8rem; z-index: 1051; background: rgba(255,255,255,0.14); color: #fff; border: none; border-radius: 999px; width: 2.6rem; height: 2.6rem; font-size: 1.2rem; cursor: pointer; }

/* klikateľná pred/po fotka */
.dbt-ba-img { cursor: zoom-in; }
.dbt-ba-img.dbt-ba-empty { background: #edefeb; aspect-ratio: 1 / 1; border-radius: 8px; cursor: default; }

/* Prípad (zdieľaná karta pred/po — detail sekcia aj modal) */
.dbt-ba-case { background: #fff; border: 1px solid rgba(0,0,0,0.07); border-radius: 12px; overflow: hidden; box-shadow: 0 1px 4px rgba(0,0,0,0.04); }
.dbt-ba-case .dbt-beforeafter { gap: 2px; }
.dbt-ba-title { color: #1f6447; font-size: 1rem; margin: 0.7rem 0.9rem 0.1rem; }
.dbt-ba-desc { font-size: 0.88rem; line-height: 1.5; color: #444; margin: 0.35rem 0.9rem 1rem; }

/* Detail /procedury — sekcia „Pred a po" */
.dbt-detail-results .dbt-dr-note { font-size: 0.9rem; color: #666; margin: -0.4rem 0 1.1rem; }
.dbt-dr-grid { display: grid; grid-template-columns: 1fr; gap: 1.4rem; }
@media (min-width: 640px) {
  .dbt-detail-results .dbt-dr-note { text-align: center; }
  .dbt-dr-grid { grid-template-columns: 1fr 1fr; }
  .dbt-dr-grid > .dbt-ba-case:only-child { grid-column: 1 / -1; justify-self: center; max-width: calc(50% - 0.7rem); }
}
.dbt-dr-more { display: block; margin: 1.2rem auto 0; background: #fff; color: #1f6447; border: 2px solid #1f6447; padding: 0.55rem 1.4rem; border-radius: 999px; font-weight: 600; font-size: 0.9rem; cursor: pointer; }
.dbt-dr-more:hover { background: #1f6447; color: #fff; }

/* Modal so zoznamom prípadov (button „Pred/Po" na karte cieľa) */
.dbt-cases-modal { position: fixed; inset: 0; background: rgba(15,35,26,0.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); z-index: 1048; display: none; align-items: center; justify-content: center; padding: 1rem; }
.dbt-cases-modal.open { display: flex; }
.dbt-cases-panel { background: #f7f8f7; width: 100%; max-width: 680px; max-height: 85vh; overflow: auto; border-radius: 18px; padding: 1.4rem 1.1rem 1.6rem; position: relative; }
.dbt-cases-close { position: sticky; top: 0; float: right; background: #fff; border: 1px solid rgba(0,0,0,0.1); border-radius: 999px; width: 2.2rem; height: 2.2rem; font-size: 1rem; cursor: pointer; color: #1f6447; }
.dbt-cases-heading { color: #1f6447; font-size: 1.15rem; margin: 0.2rem 0 1rem; padding-right: 2.5rem; }
.dbt-cases-list { display: grid; grid-template-columns: 1fr; gap: 1.1rem; }
@media (min-width: 560px) {
  .dbt-cases-heading { text-align: center; padding-left: 2.5rem; }
  .dbt-cases-list { grid-template-columns: 1fr 1fr; }
  .dbt-cases-list > .dbt-ba-case:only-child { grid-column: 1 / -1; justify-self: center; max-width: calc(50% - 0.55rem); }
}
.dbt-cases-cta { display: block; text-align: center; margin-top: 1.3rem; background: #1f6447; color: #fff; padding: 0.7rem 1.4rem; border-radius: 999px; font-weight: 600; text-decoration: none; }
.dbt-cases-cta:hover { background: #2c8961; }

/* Button „Pred/Po" na karte cieľa (rovnaký štýl ako .btn-detail — sekundárny) */
.btn-predpo { background: #fff; color: #1f6447; border: 2px solid #1f6447; padding: 0.55rem 1.1rem; border-radius: 6px; font-weight: 600; font-size: 0.9rem; cursor: pointer; transition: background 0.15s, color 0.15s; font-family: inherit; }
.btn-predpo:hover { background: #1f6447; color: #fff; }

/* SSR overflow „Pred a po" na detaile — natívny <details> (funguje bez JS) */
.dbt-dr-details { margin-top: 1.2rem; }
.dbt-dr-details > summary { list-style: none; cursor: pointer; display: inline-block; color: #1f6447; font-weight: 600; font-size: 0.9rem; border: 2px solid #1f6447; padding: 0.55rem 1.4rem; border-radius: 999px; }
.dbt-dr-details > summary::-webkit-details-marker { display: none; }
.dbt-dr-details > summary:hover { background: #1f6447; color: #fff; }
.dbt-dr-details[open] > summary { margin-bottom: 1.2rem; }
