/* =========================================================
   OPTIMAL_3_B4.2 — grafické i barevné schéma návrhu
   „B4.2 starorůžová". Načítá se za styles.css a přepisuje
   vzhled na podobu z návrhu: světlé pásy, pudrové plochy,
   bordó jen na hlavních akcích, obrysové ikony a čísla.
   ========================================================= */

:root {
  --b-paper: #f9f5f2;
  --b-card: #fffdfc;
  --b-band: #f0e5e2;
  --b-band-2: #e5d5d0;
  --b-line: #e4d6d2;
  --b-line-2: #cfbab5;
  --b-ink: #2f2627;
  --b-muted: #5f5153;
  --b-faint: #8b7d7f;
  --b-acc: #94404e;
  --b-acc-dark: #73303c;
  --b-acc-soft: #a86470;
  --b-tint: #f6e9ea;
  --b-tint-line: #ecd3d7;
  --b-radius: 14px;
}

body {
  background: var(--b-paper) !important;
  background-image: none !important;
  color: var(--b-ink);
  font-size: 19px;
}

.wrap { max-width: 1200px; padding: 0 32px }

/* ---------- horní kontaktní pruh + hlavička ---------- */
.contact-band {
  background: var(--b-band) !important;
  border-bottom: 1px solid var(--b-line);
  color: var(--b-muted);
  padding: .5rem 0;
}
.contact-band .wrap { display: flex; justify-content: flex-end; gap: 1.8rem; flex-wrap: wrap }
.contact-band a { color: var(--b-muted) }
.contact-band a:hover { color: var(--b-acc) }
.contact-band .a-mark { color: var(--b-acc-soft); margin-right: .4rem }

header.site {
  background: var(--b-paper);
  border-bottom: 1px solid var(--b-line);
  box-shadow: none;
}
header.site .hdr { min-height: 96px }
header.site .brand img { max-height: 46px; width: auto }
header.site .brand .name {
  font-family: 'Cinzel', serif; font-size: 1.05rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--b-ink);
}
nav.menu a {
  font-family: 'Cinzel', serif; font-size: .78rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--b-muted); padding-bottom: 3px;
}
nav.menu a:hover, nav.menu a.active { color: var(--b-acc); border-bottom: 1px solid var(--b-acc) }
nav.menu a.has-sub::after { color: var(--b-acc-soft) }

/* ---------- tlačítka ---------- */
.btn {
  font-family: 'Cinzel', serif; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase;
  border-radius: 999px; border: 1.5px solid var(--b-acc); color: var(--b-acc);
  padding: .85rem .85rem .85rem 1.6rem; display: inline-flex; align-items: center; gap: .85rem;
  background: transparent; transition: .2s;
}
.btn .chip {
  width: 30px; height: 30px; border-radius: 50%; background: var(--b-acc); color: var(--b-card);
  display: grid; place-items: center; font-size: .62rem; box-shadow: none;
}
.btn:hover { background: var(--b-acc); color: var(--b-card); border-color: var(--b-acc) }
.btn:hover .chip { background: var(--b-card); color: var(--b-acc) }
.btn-solid { background: var(--b-acc); color: var(--b-card); border-color: var(--b-acc) }
.btn-solid .chip { background: var(--b-card); color: var(--b-acc) }
.btn-solid:hover { background: var(--b-acc-dark); border-color: var(--b-acc-dark); color: var(--b-card) }
.btn-solid:hover .chip { background: var(--b-card); color: var(--b-acc-dark) }

/* ---------- hero ---------- */
.hero {
  background: var(--b-paper) !important;
  min-height: 0; padding: 5.5rem 0 7rem; position: relative;
}
.hero .wrap {
  display: grid; grid-template-columns: 6fr 5fr; gap: 4rem; align-items: center;
}
.hero h1 {
  font-family: 'Cinzel', serif; font-weight: 500; color: var(--b-ink); text-shadow: none;
  font-size: clamp(2.2rem, 3.4vw, 3.6rem); line-height: 1.08; letter-spacing: .02em;
  text-transform: uppercase;
}
.hero h1 br { display: none }
.hero .kicker {
  font-family: 'Cormorant Garamond', serif; font-style: italic; color: var(--b-muted);
  font-size: 1.5rem; margin-top: 1.1rem;
}
.hero-actions { margin-top: 1.8rem; display: flex; gap: 1rem; flex-wrap: wrap }
.hero-actions .btn .chip {
  width: 30px; height: 30px; background: var(--b-acc); color: var(--b-card);
  border-radius: 50%; font-size: .62rem; display: grid; place-items: center;
}
.hero-actions .btn:hover .chip { background: var(--b-card); color: var(--b-acc) }

/* fotka v oblouku + bordó štítek „30 let" */
.hero-illustration { position: relative; margin: 0 }
.hero-illustration { background: var(--b-band); border-radius: 240px 240px 18px 18px; border: 1px solid var(--b-line); overflow: visible }
.hero-illustration img {
  width: 100%; height: 480px; object-fit: contain; display: block; opacity: 1 !important; filter: none !important; clip-path: none !important; border-radius: 0 !important;
  border: 0; box-shadow: none; padding: 28px 20px 8px;
}
.hero-illustration::after {
  content: "30\00000aLET S VÁMI"; white-space: pre;
  position: absolute; left: -156px; top: 56%; padding: 16px 20px;
  background: var(--b-acc); color: var(--b-card);
  font-family: 'Cinzel', serif; font-size: 1.9rem; line-height: 1.05; letter-spacing: .02em;
}
/* vlna pod hero */
.hero-wave, .section-wave { display: none !important }
.hero::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -110px; height: 220px; z-index: 2; pointer-events: none;
  background: url("vlna-uzivatel-b42.png") center / 100% 100% no-repeat;
}

/* ---------- uvítací pruh (v návrhu plochý, bez videa) ---------- */
.video-band {
  height: auto !important; background: var(--b-band); padding: 5.5rem 0 6rem; position: relative;
}
.video-band video, .video-band::after { display: none !important }
.video-caption { position: static !important; padding: 0 2rem }
.video-caption h2 {
  font-family: 'Cinzel', serif; color: var(--b-ink); text-shadow: none; font-weight: 500;
  font-size: clamp(1.6rem, 3vw, 2.6rem); letter-spacing: .06em;
}
.video-caption .vc-qs, .video-caption .vc-qs p {
  color: var(--b-muted); text-shadow: none; font-size: clamp(1.1rem, 1.6vw, 1.45rem);
}
.video-caption .vc-qs p::before { color: var(--b-acc-soft) }
.heart-divider { display: flex; align-items: center; gap: 1.1rem; width: min(420px, 80%); margin: 1.6rem auto 0 }
.heart-divider::before, .heart-divider::after {
  content: ""; flex: 1; height: 1px; background: var(--b-line-2);
}
.heart-divider .heart {
  width: 44px; height: 44px; background: transparent; border: 1px solid var(--b-line-2);
  color: var(--b-acc-soft); font-size: 1.1rem;
}

/* ---------- pojišťovny a kvalifikace ---------- */
.trust-bar { background: var(--b-paper); padding: 3.4rem 0 4rem; position: relative; z-index: 2 }
.trust-bar h4 {
  font-family: 'Cinzel', serif; font-size: .8rem; letter-spacing: .18em;
  text-transform: uppercase; color: var(--b-muted); text-align: center; margin-bottom: 1.1rem;
}
.trust-row { justify-content: center }
.trust-badge, .trust-badge.cred {
  background: var(--b-card); border: 1px solid var(--b-line); border-radius: 10px;
  color: var(--b-ink); box-shadow: none; padding: .7rem 1rem; min-width: 92px;
}
.trust-badge b, .trust-badge.cred b { font-family: 'Cinzel', serif; color: var(--b-ink); font-size: .95rem }
.trust-badge span, .trust-badge.cred span { color: var(--b-faint); font-size: .82rem }

/* ---------- Proč si vybrat nás ---------- */
.why-hero {
  min-height: 420px; padding: 8rem 0 0;
  background-image:
    linear-gradient(180deg, rgba(249, 245, 242, .22) 0%, rgba(249, 245, 242, .12) 45%, rgba(249, 245, 242, .2) 100%),
    var(--why-bg, none) !important;
}
.why-hero h2 {
  font-family: 'Cinzel', serif; font-weight: 500; color: var(--b-ink); text-shadow: none;
  letter-spacing: .06em; text-transform: uppercase;
}
.why-hero .heart { color: var(--b-acc-soft) !important }

/* ---------- karty ---------- */
.why-cards { padding: 4.5rem 0 5.5rem; background: var(--b-paper) }
.why-card {
  background: var(--b-card); border: 1px solid var(--b-line); border-radius: var(--b-radius);
  box-shadow: none; padding: 1.7rem 1.5rem 1.9rem;
}
.why-card .ico {
  width: 52px; height: 52px; border-radius: 50%; background: var(--b-tint);
  box-shadow: inset 0 0 0 1px var(--b-tint-line); color: var(--b-acc);
  display: grid; place-items: center; margin-bottom: 1rem;
}
.why-card .ico svg { width: 24px; height: 24px; stroke: var(--b-acc); fill: none; stroke-width: 1.7 }
.why-card h3 {
  font-family: 'Cinzel', serif; font-size: .95rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--b-ink); margin-bottom: .6rem;
}
.why-card p { color: var(--b-muted); font-size: 1.02rem; line-height: 1.5 }
.why-card .link { color: var(--b-acc); font-style: italic }
.col-photo img { border-radius: var(--b-radius); border: 1px solid var(--b-line); box-shadow: none }

/* ---------- kvíz ---------- */
.quiz-wrap { background: var(--b-paper); padding: 0 0 5rem }
.quiz-lead h2 {
  font-family: 'Cinzel', serif; font-weight: 500; color: var(--b-ink);
  letter-spacing: .04em; text-transform: uppercase;
}
.quiz-lead p { color: var(--b-muted); font-style: italic }
.quiz {
  background: var(--b-card); border: 1px solid var(--b-line); border-radius: 16px;
  box-shadow: 0 30px 60px -45px rgba(47, 38, 39, .35);
}
.quiz .progress { background: var(--b-band); height: 4px }
.quiz .progress .bar { background: var(--b-acc) }
.quiz .q-num { font-family: 'Cinzel', serif; letter-spacing: .2em; color: var(--b-acc); font-size: .72rem }
.quiz .q-text { color: var(--b-ink); font-size: 1.35rem }
.quiz .q-opts button {
  border-radius: 999px; border: 1.5px solid var(--b-acc); color: var(--b-acc);
  font-family: 'Cinzel', serif; letter-spacing: .16em; background: transparent;
}
.quiz .q-opts .yes { background: var(--b-acc); color: var(--b-card) }
.quiz .q-opts button:hover, .quiz .q-opts .yes:hover {
  background: var(--b-acc-dark); border-color: var(--b-acc-dark); color: var(--b-card);
}

/* ---------- pás s lékařem ---------- */
.doctor-band {
  background-image: none !important; background: var(--b-band); padding: 5rem 0;
}
.doctor-band .portrait {
  border-radius: 50%; border: 6px solid var(--b-paper); box-shadow: 0 0 0 1px var(--b-line-2);
  object-fit: cover;
}
.doctor-band h3 {
  font-family: 'Cinzel', serif; font-weight: 500; color: var(--b-ink);
  letter-spacing: .04em; text-transform: uppercase; text-shadow: none;
}
.doctor-band .role { color: var(--b-acc); font-style: italic; font-size: 1.2rem }
.doctor-band p { color: var(--b-muted) !important; text-shadow: none }
.doctor-band .inner > div { text-shadow: none }
.doctor-band .btn { color: var(--b-acc); border-color: var(--b-acc) }
.doctor-band .btn:hover { background: var(--b-acc); color: var(--b-card) }

/* ---------- cesta pacienta ---------- */
.journey { background: var(--b-paper); padding: 5rem 0 }
.journey-head h2 {
  font-family: 'Cinzel', serif; font-weight: 500; color: var(--b-ink);
  letter-spacing: .04em; text-transform: uppercase;
}
.journey-head p { color: var(--b-muted); font-style: italic }
.journey-timeline::before { background: var(--b-line-2); opacity: .9 }
.j-step .n {
  background: var(--b-card); color: var(--b-acc); border: 1.5px solid var(--b-acc);
  box-shadow: 0 0 0 6px var(--b-paper); font-family: 'Cinzel', serif;
}
.j-step h3 {
  font-family: 'Cinzel', serif; font-size: .82rem; letter-spacing: .1em;
  text-transform: uppercase; color: var(--b-ink);
}
.j-step p { color: var(--b-muted); font-size: .98rem }

/* ---------- nejčastější dotazy ---------- */
.faq { background: var(--b-paper); padding: 1rem 0 5rem }
.faq img { border-radius: var(--b-radius); border: 1px solid var(--b-line); box-shadow: none }
.faq h2 {
  font-family: 'Cinzel', serif; font-weight: 500; color: var(--b-ink);
  letter-spacing: .04em; text-transform: uppercase;
}
.faq-tabs { border-bottom: 1px solid var(--b-line); padding-bottom: .7rem }
.faq-tabs button { color: var(--b-muted) }
.faq-tabs button.active { color: var(--b-acc); border-color: var(--b-acc) }
.acc {
  background: var(--b-band); color: var(--b-ink); border: 1px solid var(--b-line);
  border-radius: 10px; margin-bottom: .6rem;
}
.acc summary { color: var(--b-ink); font-weight: 600 }
.acc summary::after { color: var(--b-acc) }
.acc .content { color: var(--b-muted) }
.acc[open] { background: var(--b-card); border-color: var(--b-acc) }
.acc[open] summary { color: var(--b-acc) }

/* ---------- recenze ---------- */
.g-reviews { background: var(--b-band); padding: 4.5rem 0 }
.g-head b, .g-meta b { color: var(--b-ink) }
.g-stars, .r-stars { color: var(--b-acc) }
.g-card {
  background: var(--b-card); border: 1px solid var(--b-line); border-radius: var(--b-radius);
  box-shadow: none;
}
.g-card .r-body { color: var(--b-muted); font-style: italic }
.g-card .r-verified { color: var(--b-faint) }
.g-card .r-avatar, .g-card .r-avatar.blue, .g-card .r-avatar.green {
  background: var(--b-tint); color: var(--b-acc); box-shadow: inset 0 0 0 1px var(--b-tint-line);
}

/* ---------- kontaktní formulář ---------- */
.contact { background: var(--b-paper); padding: 5rem 0 }
.contact .card {
  background: var(--b-card); border: 1px solid var(--b-line); border-radius: 18px;
  box-shadow: 0 30px 70px -50px rgba(47, 38, 39, .4);
}
.contact .side h4.line {
  font-family: 'Cinzel', serif; font-size: 1rem; letter-spacing: .1em;
  text-transform: uppercase; color: var(--b-acc);
}
.contact .side .sub { color: var(--b-muted) }
.contact label {
  font-family: 'Cinzel', serif; font-size: .68rem; letter-spacing: .16em;
  text-transform: uppercase; color: var(--b-muted);
}
.contact input, .contact textarea {
  border: 0; border-bottom: 1px solid var(--b-line-2); background: transparent;
  color: var(--b-ink); border-radius: 0;
}
.contact input:focus, .contact textarea:focus { outline: none; border-bottom-color: var(--b-acc) }
.contact .gdpr label { font-family: 'Cormorant Garamond', serif; color: var(--b-muted) }

/* ---------- patička ---------- */
footer.site {
  background: var(--b-band-2) !important; color: var(--b-muted);
  border-radius: 28px 28px 0 0; border-top: 0; padding: 3.5rem 0 1.5rem;
}
footer.site .brand-foot .name {
  font-family: 'Cinzel', serif; letter-spacing: .14em; text-transform: uppercase; color: var(--b-ink);
}
footer.site h4 {
  font-family: 'Cinzel', serif; font-size: .74rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--b-acc);
}
footer.site a, footer.site p, footer.site div, footer.site label { color: var(--b-muted) }
footer.site a:hover { color: var(--b-acc) }
footer.site .icon-line .i { color: var(--b-acc-soft) }
footer.site .socials a { border: 1px solid var(--b-acc); color: var(--b-acc); background: transparent }
footer.site .socials a:hover { background: var(--b-tint) }
footer.site input { border-bottom: 1px solid var(--b-acc) !important; color: var(--b-ink) !important }
footer.site form label, footer.site form label a { color: var(--b-muted) !important }
footer.site .btn { color: var(--b-acc) !important; border-color: var(--b-acc) !important }
footer.site .foot-bot { border-top: 1px solid var(--b-line-2); color: var(--b-faint) }

/* ---------- plovoucí tlačítka ---------- */
.side-btn { background: var(--b-acc); color: var(--b-card); box-shadow: 0 10px 24px -14px rgba(47, 38, 39, .6) }
.side-btn:hover { background: var(--b-acc-dark) }

/* ---------- cookie lišta ---------- */
.cookie-bar { background: var(--b-card); border: 1px solid var(--b-line); color: var(--b-muted) }
.cookie-bar .accept { background: var(--b-acc); border-color: var(--b-acc); color: var(--b-card) }

/* ---------- menší obrazovky ---------- */
@media (max-width: 1000px) {
  .hero { padding: 3.5rem 0 5rem }
  .hero .wrap { grid-template-columns: 1fr; gap: 2.5rem }
  .hero-illustration { border-radius: 180px 180px 14px 14px } .hero-illustration img { height: 360px }
  .hero-illustration::after { left: 0 }
  .video-band { padding: 4rem 0 4.5rem }
}
@media (max-width: 640px) {
  body { font-size: 18px }
  .wrap { padding: 0 20px }
  .hero-illustration img { height: 300px }
  footer.site { border-radius: 20px 20px 0 0 }
}

/* ---------- drobné doladění ---------- */
.hero h1 br { display: inline }
header.site .hdr { gap: 1.5rem }
header.site .brand { flex: none }
header.site .brand img { max-height: 44px; max-width: 150px; object-fit: contain }
header.site .brand .name { white-space: nowrap }
nav.menu { gap: 1.1rem; flex-wrap: wrap; justify-content: flex-end }
nav.menu a { white-space: nowrap }
.trust-row { flex-wrap: wrap; gap: .5rem }
.trust-badge, .trust-badge.cred { white-space: nowrap; min-width: 0; padding: .6rem .8rem }
.trust-badge.cred span { font-size: .76rem }
@media (max-width: 1150px) { nav.menu a { font-size: .72rem; letter-spacing: .1em } }
.g-reviews .g-stars, .g-reviews .r-stars, .g-badge .g-stars { color: var(--b-acc) !important }
.g-card .r-verified { color: var(--b-faint) !important }

/* ---------- mobil ---------- */
@media (max-width: 760px) {
  .contact-band { font-size: .78rem }
  .contact-band .wrap { justify-content: center; gap: .9rem }
  .contact-band span:nth-child(2) { display: none }
  header.site .hdr { gap: .8rem }
  header.site .brand img { max-height: 36px; max-width: 110px }
  header.site .brand .name { font-size: .78rem; letter-spacing: .1em }
  .hero .wrap { display: flex; flex-direction: column }
  .hero > .wrap > div:first-child { order: 1 }
  .hero-illustration { order: 2 }
  .hero h1 { font-size: 2rem }
  .hero-illustration::after { left: 12px; bottom: 12px; font-size: 1.5rem; padding: 12px 16px }
  body { padding-bottom: 86px }
}
@media (max-width: 420px) {
  header.site .brand .name { display: none }
}
/* vlna pod „Vítejte“ */
.trust-bar::before {
  content: ""; position: absolute; left: 0; right: 0;
  top: -110px;            /* ← posun nahoru / dolů */
  height: 220px;          /* ← výška (síla) vlny */
  pointer-events: none;
  background: url("vlna-uzivatel-b42.png") center / 100% 100% no-repeat;
}
.trust-bar > * { position: relative }
.trust-bar { padding-top: 6.5rem }
/* vlny nad a pod fotkou „Proč si vybrat nás“ */
.why-hero { overflow: visible }
.why-hero::before, .why-hero::after {
  content: ""; position: absolute; left: 0; right: 0; height: 220px; z-index: 3; pointer-events: none;
  background: url("vlna-uzivatel-b42.png") center / 100% 100% no-repeat;
}
.why-hero::before { top: -110px }                              /* horní vlna */
.why-hero::after  { bottom: -110px; transform: scaleY(-1) }    /* spodní vlna */
.why-hero .wrap { position: relative; z-index: 4 }             /* nadpis zůstane nad vlnou */