/* =========================================================
   VYŽIVUJTE.CZ — Lucie Rosová
   Design system: clean, premium, botanical
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=Allura&display=swap');

:root{
  /* Paleta — značka Vyživujte.cz */
  --green-900:#082d1f;   /* nejtmavší — patička, tmavé sekce */
  --green-800:#0b3f2b;   /* primární tmavě zelená (logo, tlačítka) */
  --green-700:#13503a;
  --green-600:#2c6b51;
  --sage-500:#5f7568;    /* tlumená zelená (text/akcent) */
  --sage-300:#9dbba8;    /* světlý akcent na tmavém pozadí */
  --gold:#f15a24;        /* oranžový akcent (CTA, zvýraznění, .cz) */
  --orange:#f15a24;

  --cream:#f7f5f2;       /* světlé pozadí webu */
  --cream-2:#fcfbf9;
  --beige:#efeae3;       /* karty / panely */
  --beige-2:#e5ded4;
  --line:#e7e1d8;        /* jemné linky */
  --line-2:#d9d1c5;

  --ink:#2f3656;         /* hlavní text — tmavě modrošedá */
  --ink-soft:#454c66;
  --muted:#6e7488;       /* sekundární text */
  --on-dark:#f3f1ec;
  --on-dark-muted:#b6c3bb;

  --radius:16px;
  --radius-sm:10px;
  --radius-lg:26px;
  --shadow:0 18px 50px -28px rgba(36,53,40,.45);
  --shadow-sm:0 8px 26px -18px rgba(36,53,40,.5);
  --container:1180px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Montserrat',system-ui,-apple-system,sans-serif;
  color:var(--ink);
  background:var(--cream);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}

h1,h2,h3,h4{
  font-family:'Montserrat',system-ui,sans-serif;
  font-weight:800;            /* Montserrat ExtraBold */
  line-height:1.12;
  letter-spacing:-.015em;
  color:var(--ink);
  margin:0;
}
h1{font-size:clamp(2.3rem,4.6vw,3.6rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.85rem)}
h3{font-size:1.3rem;line-height:1.25;font-weight:700}
h4{font-weight:700}
p{margin:0 0 1rem}

.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:24px}
.section{padding:clamp(56px,8vw,104px) 0}
.section--tight{padding:clamp(40px,5vw,64px) 0}

/* Eyebrow / kicker */
.eyebrow{
  font-family:'Montserrat';
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.72rem;
  font-weight:600;
  color:var(--sage-500);
  margin:0 0 18px;
  display:flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--sage-300)}
.eyebrow.center{justify-content:center}
.eyebrow.center::after{content:"";width:26px;height:1px;background:var(--sage-300)}

.lead{font-size:1.12rem;color:var(--ink-soft);max-width:62ch}
.muted{color:var(--muted)}
.center{text-align:center}
.mx-auto{margin-inline:auto}
.maxw{max-width:680px}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.55em;
  font-weight:600;font-size:.97rem;
  padding:.85em 1.5em;border-radius:999px;
  border:1px solid transparent;cursor:pointer;
  transition:transform .25s var(--ease),background .25s,box-shadow .25s,color .25s;
  white-space:nowrap;
}
.btn svg{width:1.05em;height:1.05em}
.btn--primary{background:var(--green-800);color:#fff;box-shadow:var(--shadow-sm)}
.btn--primary:hover{background:var(--green-900);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn--ghost:hover{border-color:var(--green-700);color:var(--green-800);transform:translateY(-2px)}
.btn--light{background:#fff;color:var(--green-900);border-color:var(--line)}
.btn--light:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.btn--on-dark{background:var(--on-dark);color:var(--green-900)}
.btn--on-dark:hover{background:#fff;transform:translateY(-2px)}
.btn--outline-dark{background:transparent;color:var(--on-dark);border-color:rgba(255,255,255,.28)}
.btn--outline-dark:hover{border-color:var(--on-dark);transform:translateY(-2px)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
.link-arrow{display:inline-flex;align-items:center;gap:.4em;font-weight:600;color:var(--green-800);font-size:.95rem}
.link-arrow svg{width:1em;height:1em;transition:transform .25s var(--ease)}
.link-arrow:hover svg{transform:translateX(4px)}

/* ---------- Header ---------- */
.header{
  position:sticky;top:0;z-index:50;
  background:rgba(247,244,236,.82);
  backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;gap:18px;height:74px}

/* Zdravotní disclaimer — pás nad patičkou na všech stránkách */
.disclaimer-bar{background:rgba(241,90,36,.07);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.disclaimer-bar .container{display:flex;align-items:center;justify-content:center;gap:9px;padding-top:13px;padding-bottom:13px;text-align:center}
.disclaimer-bar .ic{width:17px;height:17px;flex:none;color:var(--orange)}
.disclaimer-bar p{margin:0;font-size:.82rem;font-weight:500;line-height:1.4;color:var(--ink-soft);max-width:84ch}
@media(max-width:560px){.disclaimer-bar .ic{display:none}.disclaimer-bar p{font-size:.76rem}}
.brand{display:flex;align-items:center;font-family:'Montserrat';font-weight:800;font-size:1.22rem;letter-spacing:.01em;color:var(--green-800);text-transform:uppercase}
.brand .dot{color:var(--orange);font-weight:800}
.brand svg{width:26px;height:26px;color:var(--green-700)}

/* Podpis ve stylu letáku (Allura) */
.signature{font-family:'Allura',cursive;color:var(--orange);font-weight:400;font-size:2.1rem;line-height:1;margin:0;letter-spacing:.01em}

/* Hodnoty (O mně) */
.values{margin-top:22px}
.values .values-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--sage-500);font-weight:700;margin-bottom:10px}
.values ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.values li{font-size:.85rem;font-weight:600;color:var(--green-800);background:var(--beige);border:1px solid var(--line);border-radius:999px;padding:6px 14px}
.nav-links{display:flex;align-items:center;gap:17px;margin-left:auto}
.nav-links a{font-size:.9rem;white-space:nowrap;color:var(--ink-soft);font-weight:500;transition:color .2s;position:relative}
.nav-links a:hover{color:var(--green-800)}
.nav-links a.active{color:var(--green-800)}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--sage-300);border-radius:2px}
.nav-links .btn{display:none}        /* inline CTA only shown in mobile drawer */
.nav-cta{margin-left:6px}
.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line-2);border-radius:10px;width:44px;height:44px;cursor:pointer;align-items:center;justify-content:center}
.nav-toggle svg{width:22px;height:22px;color:var(--ink)}

@media(max-width:1120px){
  .nav-links{
    position:fixed;inset:74px 0 auto 0;
    flex-direction:column;align-items:flex-start;gap:4px;
    background:var(--cream-2);border-bottom:1px solid var(--line);
    padding:18px 24px 26px;margin-left:0;
    transform:translateY(-130%);transition:transform .35s var(--ease);
    box-shadow:var(--shadow);max-height:calc(100vh - 74px);overflow:auto;
  }
  .nav-links.open{transform:translateY(0)}
  .nav-links a{padding:12px 0;width:100%;font-size:1.05rem;border-bottom:1px solid var(--line)}
  .nav-links a.active::after{display:none}
  .nav-links .btn{display:inline-flex;margin-top:12px;border-bottom:none}
  .nav-cta{display:none}
  .nav-toggle{display:inline-flex}
}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-block:clamp(28px,4vw,52px) clamp(36px,4vw,60px)}
.hero h1{margin-bottom:20px}
.hero .lead{margin-bottom:28px}
.hero-photo{position:relative}
.hero-photo img{width:100%;height:clamp(400px,62vh,580px);border-radius:var(--radius-lg);box-shadow:var(--shadow);object-fit:cover;object-position:50% 30%}
.hero-badge{
  position:absolute;left:-18px;bottom:26px;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:14px 18px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center;max-width:230px;
}
.hero-badge .ic{width:38px;height:38px;border-radius:10px;background:var(--beige);display:grid;place-items:center;color:var(--green-700);flex:none}
.hero-badge strong{font-family:'Montserrat';font-weight:600;font-size:1.05rem;display:block}
.hero-badge span{font-size:.8rem;color:var(--muted);line-height:1.3}

/* Hero feature strip */
.hero-features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;border-top:1px solid var(--line);padding-top:26px;margin-top:34px}
.hero-features .feat{display:flex;flex-direction:column;gap:8px}
.hero-features .ic{width:40px;height:40px;border-radius:11px;background:var(--beige);display:grid;place-items:center;color:var(--green-700)}
.hero-features .ic svg{width:21px;height:21px}
.hero-features b{font-size:.92rem;font-weight:600;line-height:1.3}

@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:34px}
  .hero-photo{order:-1;max-width:440px}
  .hero-features{grid-template-columns:repeat(2,1fr);gap:22px}
}

/* ---------- Botanical decoration ---------- */
.leaf{position:absolute;color:var(--sage-300);opacity:.5;pointer-events:none;z-index:0}
.leaf--tl{top:-10px;left:-30px;width:120px;transform:rotate(-12deg)}
.leaf--br{bottom:-20px;right:-20px;width:150px;transform:rotate(160deg)}

/* ---------- Generic grids ---------- */
.grid{display:grid;gap:22px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-5{grid-template-columns:repeat(5,1fr)}
@media(max-width:980px){.grid-4,.grid-5{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr}}

.section-head{max-width:660px;margin:0 auto clamp(34px,4vw,52px)}
.section-head.left{margin-inline:0}

/* ---------- Cards ---------- */
.card{
  background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;
}
/* Lift on hover ONLY for cards that are real links (clickable) */
a.card{transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
a.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-2)}
.card .ic{width:46px;height:46px;border-radius:12px;background:var(--beige);display:grid;place-items:center;color:var(--green-700);margin-bottom:18px}
.card .ic svg{width:23px;height:23px}
.card h3{margin-bottom:10px}
.card p{color:var(--muted);font-size:.97rem;margin:0}
.card--plain{background:transparent;border:none;padding:18px 0}
.card--plain:hover{transform:none;box-shadow:none}

/* Numbered process steps */
.steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.step{position:relative;padding-top:14px}
.step .num{font-family:'Montserrat';font-size:.95rem;font-weight:600;color:var(--sage-500);display:flex;align-items:center;gap:10px;margin-bottom:16px}
.step .num::before{counter-increment:step;content:"0" counter(step);font-size:1.05rem}
.step .ic{width:48px;height:48px;border-radius:13px;background:var(--beige);display:grid;place-items:center;color:var(--green-700);margin-bottom:16px}
.step .ic svg{width:23px;height:23px}
.step h3{font-size:1.15rem;margin-bottom:8px}
.step p{color:var(--muted);font-size:.93rem;margin:0}
.step:not(:last-child)::after{content:"";position:absolute;top:34px;right:-11px;width:22px;height:1px;background:var(--line-2)}
@media(max-width:860px){.steps{grid-template-columns:1fr 1fr}.step::after{display:none}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}

/* ---------- Mapa 5V ---------- */
.mapa{background:var(--beige);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mapa-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.mapa-panel{background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px;box-shadow:var(--shadow-sm)}
.mapa-panel h3{text-align:center;font-size:1.2rem;margin-bottom:6px}
.mapa-panel .sub{text-align:center;color:var(--muted);font-size:.85rem;margin-bottom:24px}
.mapa-ring{display:grid;grid-template-columns:1fr;gap:8px}
.mapa-v{display:flex;align-items:center;gap:14px;text-align:left;padding:10px 12px;border-radius:12px}
.mapa-v .ic{width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--green-700);flex:none}
.mapa-v .ic svg{width:22px;height:22px}
.mapa-v .tx{display:flex;flex-direction:column}
.mapa-v b{font-family:'Montserrat';font-size:1.05rem;color:var(--green-800);line-height:1.2}
.mapa-v span{font-size:.82rem;color:var(--muted);line-height:1.3}
@media(max-width:860px){.mapa-grid{grid-template-columns:1fr;gap:32px}}

/* ---------- Dark feature box ---------- */
.darkbox{background:var(--green-900);color:var(--on-dark);border-radius:var(--radius-lg);padding:clamp(30px,4vw,46px)}
.darkbox h2,.darkbox h3{color:#fff}
.darkbox .eyebrow{color:var(--sage-300)}
.darkbox .eyebrow::before,.darkbox .eyebrow::after{background:var(--sage-500)}
.check-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.check-list li{display:flex;gap:12px;align-items:flex-start;color:var(--on-dark-muted);font-size:.98rem}
.check-list li svg{width:21px;height:21px;color:var(--sage-300);flex:none;margin-top:2px}
.check-list.light li{color:var(--ink-soft)}
.check-list.light li svg{color:var(--green-600)}

/* ---------- Pain points ---------- */
.pain{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.pain .item{text-align:center;padding:24px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream-2)}
.pain .ic{width:44px;height:44px;border-radius:50%;background:var(--beige);display:grid;place-items:center;color:var(--green-700);margin:0 auto 14px}
.pain .ic svg{width:22px;height:22px}
.pain b{font-size:.92rem;font-weight:600;line-height:1.35}
@media(max-width:980px){.pain{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.pain{grid-template-columns:1fr 1fr}}

/* ---------- Pricing ---------- */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.price-card{position:relative;background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px 30px;display:flex;flex-direction:column}
.price-card.featured{background:var(--green-900);color:var(--on-dark);border-color:var(--green-900);box-shadow:var(--shadow)}
.price-card.featured h3,.price-card.featured .price{color:#fff}
.price-card.featured p,.price-card.featured .check-list li{color:var(--on-dark-muted)}
.price-card .ic{width:50px;height:50px;border-radius:13px;background:var(--beige);display:grid;place-items:center;color:var(--green-700);margin-bottom:18px}
.price-card.featured .ic{background:rgba(255,255,255,.1);color:#fff}
.price-card .ic svg{width:24px;height:24px}
.price-card h3{margin-bottom:10px}
.price-card>p{font-size:.95rem;color:var(--muted);margin-bottom:18px}
.price{font-family:'Montserrat';font-size:1.7rem;font-weight:600;margin-bottom:20px}
.price small{font-size:.85rem;color:var(--muted);font-family:'Montserrat';font-weight:400}
.price-card .check-list{margin-bottom:26px}
.price-card .check-list li{font-size:.92rem}
.price-card .btn{margin-top:auto}
.tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--gold);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:6px 16px;border-radius:999px;white-space:nowrap}
@media(max-width:900px){.pricing{grid-template-columns:1fr;max-width:460px;margin-inline:auto}}

/* ---------- Testimonials ---------- */
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.quote{background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column}
.quote .stars{color:var(--gold);letter-spacing:2px;margin-bottom:14px;font-size:.95rem}
.quote p{font-size:.96rem;color:var(--ink-soft);margin-bottom:18px}
.quote .who{display:flex;align-items:center;gap:12px;margin-top:auto}
.quote .who .av{width:40px;height:40px;border-radius:50%;background:var(--green-800);color:#fff;display:grid;place-items:center;font-family:'Montserrat';font-weight:600;font-size:1rem;flex:none}
.quote .who b{display:block;font-size:.92rem}
.quote .who span{font-size:.8rem;color:var(--muted)}
@media(max-width:860px){.quote-grid{grid-template-columns:1fr}}

/* ---------- Logos strip ---------- */
.logos{display:flex;flex-wrap:wrap;gap:14px 44px;align-items:center;justify-content:center}
.logos span{font-family:'Montserrat';font-weight:600;font-size:1.15rem;color:var(--muted);opacity:.8}

/* ---------- FAQ ---------- */
.faq{max-width:760px;margin-inline:auto}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;background:none;border:none;text-align:left;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;gap:20px;align-items:center;font-family:'Montserrat';font-size:1.12rem;font-weight:500;color:var(--ink)}
.faq-q .pm{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;transition:.3s var(--ease)}
.faq-q .pm svg{width:16px;height:16px;transition:.3s var(--ease)}
.faq-item.open .pm{background:var(--green-800);border-color:var(--green-800);color:#fff}
.faq-item.open .pm svg{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq-a p{padding:0 0 22px;color:var(--muted);font-size:.97rem;margin:0;max-width:64ch}

/* ---------- CTA band ---------- */
.cta-band{background:var(--green-900);color:var(--on-dark);position:relative;overflow:hidden}
.cta-band .container{position:relative;z-index:1;text-align:center;padding-block:clamp(54px,7vw,86px)}
.cta-band h2{color:#fff;margin-bottom:16px}
.cta-band p{color:var(--on-dark-muted);max-width:54ch;margin:0 auto 28px}
.cta-band .btn-row{justify-content:center}
.cta-band .leaf{opacity:.13;color:var(--sage-300)}

/* ---------- Split feature (image + text) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split img{width:100%;height:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);aspect-ratio:3/2;object-fit:cover}
.split.portrait img{aspect-ratio:4/5;max-width:440px}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:30px}.split.rev .txt{order:2}}

/* ---------- Stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stat b{font-family:'Montserrat';font-size:2.3rem;font-weight:600;color:var(--green-800);display:block;line-height:1}
.stat span{font-size:.88rem;color:var(--muted)}
@media(max-width:620px){.stats{grid-template-columns:1fr 1fr;gap:28px}}

/* ---------- Newsletter ---------- */
.newsletter-form{display:flex;gap:12px;max-width:480px;flex-wrap:wrap}
.newsletter-form input{flex:1;min-width:200px;padding:.9em 1.1em;border-radius:999px;border:1px solid var(--line-2);background:#fff;font-size:.95rem;font-family:inherit}
.newsletter-form input:focus{outline:2px solid var(--sage-300);outline-offset:1px}

/* ---------- Contact / form ---------- */
.form-grid{display:grid;gap:16px}
.field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--ink-soft)}
.field input,.field textarea,.field select{width:100%;padding:.85em 1em;border:1px solid var(--line-2);border-radius:12px;background:#fff;font-family:inherit;font-size:.97rem}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--sage-300);outline-offset:1px}
.field textarea{min-height:130px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.form-row{grid-template-columns:1fr}}

.info-list{list-style:none;margin:0;padding:0;display:grid;gap:20px}
.info-list li{display:flex;gap:14px;align-items:flex-start}
.info-list .ic{width:44px;height:44px;border-radius:12px;background:var(--beige);display:grid;place-items:center;color:var(--green-700);flex:none}
.info-list .ic svg{width:21px;height:21px}
.info-list b{display:block;font-size:.95rem}
.info-list span{color:var(--muted);font-size:.92rem}

/* ---------- Footer ---------- */
.footer{background:var(--green-900);color:var(--on-dark-muted);padding:64px 0 28px}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer .brand{color:#fff;margin-bottom:14px}
.footer .brand svg{color:var(--sage-300)}
.footer-col h4{color:#fff;font-family:'Montserrat';font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;margin-bottom:16px;font-weight:600}
.footer-col a{display:block;padding:6px 0;font-size:.93rem;color:var(--on-dark-muted);transition:color .2s}
.footer-col a:hover{color:#fff}
.footer p{font-size:.92rem;color:var(--on-dark-muted);max-width:32ch}
.footer-disclaimer{margin:20px 0 0;padding:16px 18px;border:1px solid rgba(255,255,255,.16);border-left:3px solid var(--orange);border-radius:var(--radius-sm);font-size:.86rem;line-height:1.55;color:var(--on-dark);max-width:none}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;font-size:.84rem;color:var(--on-dark-muted)}
.footer-bottom a{color:var(--on-dark-muted)}
.footer-bottom a:hover{color:#fff}
.social{display:flex;gap:10px}
.social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;color:var(--on-dark-muted)}
.social a:hover{background:rgba(255,255,255,.1);color:#fff}
.social svg{width:18px;height:18px}
@media(max-width:860px){.footer-top{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.footer-top{grid-template-columns:1fr}}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{background:var(--beige);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.page-hero .container{position:relative;z-index:1;padding-block:clamp(48px,7vw,88px)}
.page-hero .eyebrow{margin-bottom:16px}
.page-hero p{max-width:60ch;color:var(--ink-soft);font-size:1.1rem}
.page-hero.split-hero .container{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.page-hero.split-hero img{width:100%;height:clamp(360px,52vh,520px);border-radius:var(--radius-lg);box-shadow:var(--shadow);object-fit:cover;object-position:50% 30%;max-width:440px;margin-left:auto}
@media(max-width:860px){.page-hero.split-hero .container{grid-template-columns:1fr}.page-hero.split-hero .imgwrap{order:-1;max-width:380px}}

/* badge chips */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.chip{font-size:.82rem;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.45em 1em;color:var(--ink-soft);display:inline-flex;gap:.4em;align-items:center}
.chip svg{width:1em;height:1em;color:var(--green-600)}

/* reveal animation — hidden state only applies once JS marks <html class="reveal-on">,
   so content stays visible if JS is disabled or slow (no flash of invisible content) */
html.reveal-on .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
html.reveal-on .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html.reveal-on .reveal{opacity:1!important;transform:none!important;transition:none}*{scroll-behavior:auto}}

/* utilities */
.bg-cream2{background:var(--cream-2)}
.bg-beige{background:var(--beige)}
.divider{height:1px;background:var(--line);border:none;margin:0}
.note{font-size:.85rem;color:var(--muted)}
.pill-note{display:inline-flex;gap:.5em;align-items:center;background:var(--beige);border:1px solid var(--line);border-radius:999px;padding:.5em 1.1em;font-size:.85rem;color:var(--ink-soft);margin-bottom:22px}
.pill-note svg{width:1.05em;height:1.05em;color:var(--green-600)}

/* ===== Doporučuji — karty doporučených partnerů ===== */
.rec-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
@media(max-width:860px){.rec-grid{grid-template-columns:1fr;max-width:520px;margin-inline:auto}}
.rec-card{background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px;display:flex;flex-direction:column}
.rec-logo{align-self:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:20px;display:grid;place-items:center;min-height:64px}
.rec-logo img{max-height:46px;max-width:200px;width:auto;object-fit:contain;display:block}
.rec-card h3{margin-bottom:6px}
.rec-card .sub{font-style:italic;color:var(--green-700);font-size:.97rem;margin-bottom:14px}
.rec-card p{color:var(--muted);font-size:.95rem;margin:0 0 12px}
.rec-card .check-list{margin:6px 0 18px}
.rec-card .check-list li{font-size:.92rem}
.rec-foot{margin-top:auto;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.promo{display:inline-flex;align-items:center;gap:.5em;background:var(--beige);border:1px dashed var(--green-600);color:var(--green-800);border-radius:999px;padding:.5em 1em;font-size:.85rem;font-weight:600}
.promo b{font-family:'Montserrat';letter-spacing:.03em}

/* ===== Doplňkové služby — ceníková tabulka ===== */
.price-table{width:100%;border-collapse:collapse;max-width:640px;margin:0 auto;background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.price-table th,.price-table td{text-align:left;padding:16px 22px;border-bottom:1px solid var(--line)}
.price-table thead th{font-family:'Montserrat';font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--beige)}
.price-table tbody tr:last-child td{border-bottom:none}
.price-table td:last-child,.price-table th:last-child{text-align:right;white-space:nowrap;font-weight:600;color:var(--ink)}
.price-table td{color:var(--ink-soft);font-size:.97rem}

/* ===== Rozbalovací detail služby ===== */
.svc-more{margin-top:14px;border-top:1px solid var(--line);padding-top:6px}
.svc-more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;font-family:'Montserrat';font-weight:600;font-size:.92rem;color:var(--green-700)}
.price-card.featured .svc-more{border-color:rgba(255,255,255,.18)}
.price-card.featured .svc-more>summary{color:#fff}
.svc-more>summary::-webkit-details-marker{display:none}
.svc-more>summary .pm{flex:none;width:24px;height:24px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;transition:.3s var(--ease)}
.price-card.featured .svc-more>summary .pm{border-color:rgba(255,255,255,.4)}
.svc-more>summary .pm svg{width:13px;height:13px;transition:.3s var(--ease)}
.svc-more[open]>summary .pm svg{transform:rotate(45deg)}
.svc-detail{font-size:.92rem;color:var(--muted);padding:6px 0 4px;text-align:left}
.price-card.featured .svc-detail{color:var(--on-dark-muted)}
.svc-detail .check-list{margin:12px 0}
.svc-detail .check-list li{font-size:.9rem}
.svc-detail .lbl{display:block;font-family:'Montserrat';font-weight:600;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:14px 0 4px}
.price-card.featured .svc-detail .lbl{color:#fff}

/* ===== Loga partnerů (obrázková) ===== */
.logo-row{display:flex;flex-wrap:wrap;gap:26px 40px;align-items:center;justify-content:center}
.logo-row img{height:42px;width:auto;max-width:160px;object-fit:contain;opacity:.85;filter:saturate(.9);transition:opacity .3s,filter .3s}
.logo-row img:hover{opacity:1;filter:none}
.logo-cap{text-align:center;font-size:.82rem;color:var(--muted);margin-bottom:18px;font-family:'Montserrat';letter-spacing:.04em;text-transform:uppercase}

/* ===== MAPA 5V™ — dotazník ===== */
#mapa-app{display:block}
.quiz-card{background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(24px,4vw,40px)}
.quiz-intro{text-align:center}
.quiz-intro .eyebrow{display:inline-block;margin-bottom:14px}
.quiz-intro h2{max-width:20ch;margin:0 auto 14px}
.quiz-intro>p{color:var(--muted);max-width:54ch;margin:0 auto 22px}
.quiz-facts{list-style:none;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:0 0 26px;padding:0}
.quiz-facts li{background:var(--beige);border:1px solid var(--line);border-radius:999px;padding:.5em 1.1em;font-size:.9rem;color:var(--ink-soft)}
.quiz-facts b{color:var(--green-700)}

/* progress */
.quiz-progress{margin-bottom:18px}
.quiz-progress-head{display:flex;justify-content:space-between;font-size:.84rem;color:var(--muted);font-family:'Montserrat';margin-bottom:8px}
.quiz-bar{height:8px;background:var(--beige);border:1px solid var(--line);border-radius:999px;overflow:hidden}
.quiz-bar i{display:block;height:100%;background:var(--green-700);border-radius:999px;transition:width .4s var(--ease)}

/* krok / otázky */
.quiz-step-head{display:flex;gap:16px;align-items:center;margin-bottom:6px}
.quiz-code{flex:none;width:48px;height:48px;border-radius:12px;background:var(--green-900);color:#fff;font-family:'Montserrat';font-weight:800;font-size:1.05rem;display:grid;place-items:center}
.quiz-code.sm{width:40px;height:40px;font-size:.95rem}
.quiz-step-head h3{margin:0;font-size:1.4rem}
.quiz-step-head .sub{margin:2px 0 0;color:var(--muted);font-size:.95rem}
.quiz-scalehint{font-size:.84rem;color:var(--muted);margin:14px 0 18px;font-family:'Montserrat'}
.quiz-questions{display:flex;flex-direction:column;gap:18px}
.quiz-q{border:1px solid var(--line);border-radius:14px;padding:18px 18px 16px;margin:0;background:#fff;transition:border-color .25s,box-shadow .25s}
.quiz-q.is-missing{border-color:#D45B4E;box-shadow:0 0 0 3px rgba(212,91,78,.12)}
.quiz-q legend{font-weight:500;font-size:1rem;color:var(--ink);padding:0;margin-bottom:14px;line-height:1.45}
.scale{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.scale-opt{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px;border:1px solid var(--line);border-radius:10px;background:var(--cream-2);cursor:pointer;transition:.2s var(--ease);font-family:'Montserrat'}
.scale-opt b{font-size:1rem;color:var(--ink-soft)}
.scale-opt span{font-size:.72rem;color:var(--muted);text-align:center;line-height:1.2}
.scale-opt:hover{border-color:var(--green-600);background:#fff}
.scale-opt.is-sel{background:var(--green-900);border-color:var(--green-900)}
.scale-opt.is-sel b,.scale-opt.is-sel span{color:#fff}

.quiz-hint{color:#C0392B;font-size:.9rem;margin:16px 0 0;font-weight:500}
.quiz-nav{display:flex;justify-content:space-between;gap:14px;margin-top:24px}
.quiz-nav .btn{flex:0 0 auto}

/* výsledek */
.quiz-result-head{text-align:center;margin-bottom:26px}
.quiz-result-head .eyebrow{display:inline-block;margin-bottom:10px}
.result-list{display:flex;flex-direction:column;gap:16px}
.result-card{background:var(--cream-2);border:1px solid var(--line);border-left:5px solid var(--lvl,var(--green-700));border-radius:14px;padding:20px 22px}
.result-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.result-name{display:flex;gap:12px;align-items:center}
.result-name b{display:block;font-family:'Montserrat';font-size:1.05rem}
.result-name .sub{font-size:.84rem;color:var(--muted)}
.result-score{text-align:right;display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.result-score .badge{font-size:.8rem;font-weight:600;font-family:'Montserrat';color:var(--lvl,var(--green-700))}
.result-score .pts{font-size:.8rem;color:var(--muted)}
.result-meter{height:7px;background:var(--beige);border-radius:999px;overflow:hidden;margin:14px 0 12px}
.result-meter i{display:block;height:100%;background:var(--lvl,var(--green-700));border-radius:999px}
.result-text{font-size:.95rem;color:var(--ink-soft);margin:0;line-height:1.55}

.quiz-summary{background:var(--green-900);color:var(--on-dark);border-radius:var(--radius-lg);padding:clamp(24px,4vw,36px);margin-top:28px;text-align:center}
.quiz-summary h3{color:#fff;margin-bottom:12px}
.quiz-summary p{color:var(--on-dark-muted);margin:0 auto 14px;max-width:60ch}
.quiz-summary b{color:#fff}
.top-areas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:6px 0 18px}
.top-pill{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.5em 1.1em;font-family:'Montserrat';font-weight:600;font-size:.92rem}

.quiz-cta{text-align:center;margin-top:28px}
.quiz-cta h3{margin-bottom:10px}
.quiz-cta>p{color:var(--muted);max-width:62ch;margin:0 auto 22px}

@media(max-width:560px){
  .scale-opt span{display:none}
  .scale-opt{padding:12px 4px}
  .scale-opt b{font-size:1.05rem}
  .quiz-nav{flex-direction:row}
}

/* ===== MAPA 5V — odeslání výsledků e-mailem ===== */
.quiz-mail{background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(24px,4vw,36px);margin-top:28px;text-align:center}
.quiz-mail h3{margin-bottom:8px}
.quiz-mail>p{color:var(--muted);max-width:54ch;margin:0 auto 22px}
.quiz-form{max-width:440px;margin:0 auto;display:flex;flex-direction:column;gap:12px;text-align:left}
.quiz-form input[type=text],.quiz-form input[type=email]{width:100%;padding:13px 16px;border:1px solid var(--line-2);border-radius:12px;background:#fff;font-family:'Inter',sans-serif;font-size:1rem;color:var(--ink)}
.quiz-form input::placeholder{color:#9aa3a0}
.quiz-form input:focus{outline:none;border-color:var(--green-600);box-shadow:0 0 0 3px rgba(63,122,77,.12)}
.quiz-form .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.quiz-consent{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;color:var(--ink-soft);line-height:1.45;cursor:pointer}
.quiz-consent input{margin-top:3px;flex:none;width:17px;height:17px;accent-color:var(--green-700)}
.quiz-consent a{color:var(--green-700);text-decoration:underline}
.quiz-form .btn{justify-content:center;margin-top:4px}
.quiz-mail-msg{margin:6px 0 0;font-size:.9rem;min-height:1.1em}
.quiz-mail-msg.err{color:#C0392B}
.quiz-sent{padding:8px 0}
.quiz-sent-ic{width:54px;height:54px;border-radius:50%;background:var(--green-700);color:#fff;display:grid;place-items:center;margin:0 auto 14px}
.quiz-sent-ic svg{width:26px;height:26px}
.quiz-sent h3{margin-bottom:8px}
.quiz-sent p{color:var(--muted);max-width:48ch;margin:0 auto}

/* potvrzení odeslání nad výsledky */
.quiz-sentnote{display:flex;gap:8px;align-items:center;justify-content:center;color:var(--green-700);font-weight:500;font-size:.95rem;margin:-12px 0 24px;text-align:center}
.quiz-sentnote svg{width:18px;height:18px;flex:none}

/* poděkování po odeslání dotazníku */
.quiz-thanks{text-align:center;max-width:560px;margin:0 auto 8px}
.quiz-thanks h2{margin-bottom:12px}
.quiz-thanks p{color:var(--muted);margin:0 auto}

/* právní texty (GDPR / VOP) */
.legal h3{font-family:'Montserrat';font-size:1.05rem;margin:26px 0 8px;color:var(--ink)}
.legal>p{color:var(--muted);font-size:.95rem;margin:0 0 10px;max-width:74ch}
.legal ul{margin:0 0 12px;padding-left:20px;color:var(--muted);font-size:.95rem;max-width:74ch}
.legal li{margin-bottom:5px}
.legal .addr{color:var(--ink-soft);font-size:.95rem;line-height:1.7;margin:4px 0 10px}
.legal .note-health{background:var(--beige);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:.92rem;color:var(--ink-soft);margin:8px 0 12px}

/* logo jako text (náhrada chybějícího obrázku) */
.logo-text{font-family:'Montserrat';font-weight:700;font-size:1.5rem;color:#00569c;letter-spacing:.01em;opacity:.85}

/* galerie fotek z akcí */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gallery img{width:100%;height:260px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow)}
@media(max-width:780px){.gallery{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.gallery{grid-template-columns:1fr}.gallery img{height:230px}}

/* DNA – číslované kroky v .card .ic */
.card .ic b{font-family:'Montserrat';font-weight:800;font-size:1.15rem;color:var(--green-700)}
.dna-areas .card{padding:22px 22px}
.dna-areas .card h3{font-size:.95rem;font-family:'Montserrat';letter-spacing:.02em;margin-bottom:8px}
.dna-areas .card p{font-size:.9rem}
