
    :root{
      --color-bg: #f5f2e4;
      --color-card: #f5ecc2;
      --color-accent: #117810;
      --color-text: #0d170d;
      --color-heading: #117810;


      --radius: 0.875rem;
      --max-width: 60rem;

      --fs-base: 1rem;
      --fs-small: 0.875rem;
      --fs-large: 1.06rem;
      --fs-h3: 1.4rem;
      --fs-h2: 1.9rem;
      --fs-h1: 2.5rem;

      --space-s: 0.75rem;
      --space-m: 1.25rem;
      --space-l: 2rem;
      --space-xl: 3rem;

      --muted: #6b7280;
      --border: rgba(0,0,0,0.08);
      --shadow-1: 0 0.5rem 1rem rgba(0,0,0,0.05);
    }

    /* Box sizing + sensible defaults */
    *,*::before,*::after{box-sizing:border-box}
    html,body{height:100%}
    html {
  scroll-padding-top: 90px; /* výška tvého fixního headeru */
 
}
    body{
      margin:0;
      font-family:"Open Sans",sans-serif;
      font-size:var(--fs-base);
      background:var(--color-bg);
      color:var(--color-text);
      line-height:1.6;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      -webkit-text-size-adjust:100%;
    }

    h1, h2, h3, h4{
      /* font-family:"Playfair Display",serif;  */
      font-family: "Source Serif 4", serif;
      color:var(--color-heading);
      margin-top: 0px;
    }

    strong{
      color: #0a5009;
    }

    /* Link styles & accessible focus */
    a{color:var(--color-accent); text-decoration:none}
    a:hover{text-decoration:underline}
    :focus{outline:3px solid rgba(62,127,41,0.18); outline-offset:3px; border-radius:6px}

    /* Utility container to center content */
    .container{
      width:clamp(280px,92%,1200px);
      margin:0 auto;
      max-width:calc(var(--max-width) + 12rem);
      padding-left:1rem;
      padding-right:1rem;
    }

    /* ==============
       HEADER / NAV
       ============== */

/* přidáme horní odsazení pro main, aby se obsah neschovával pod menu */
main {
  margin-top: 90px; /* přizpůsob výšce headeru */
}

    header{
      position:fixed;
      top:0;
      left: 0;
  width: 100%;
  z-index: 100; /* vyšší než ostatní sekce */
      backdrop-filter:blur(6px);
      background:rgba(248,244,237,0.95);
      border-bottom:1px solid rgba(0,0,0,0.05);
    }
    .nav{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      padding:0.9rem 0;
      max-width:calc(var(--max-width) + 8rem);
      margin:0 auto;
    }
    .brand .name{
      /* font-family:"Playfair Display",serif; */
      font-family: "Source Serif 4", serif;
      font-size:18px;
      font-weight: 500;
      line-height:1;
    }
    .brand .name a{
      color:var(--color-text);
    }
    nav ul{
      display:flex;
      gap:var(--space-s);
      list-style:none;
      padding:0;
      margin:0;
    }
    nav a{
      display:inline-block;
      padding:0.45em 0.7em;
      border-radius:0.5rem;
      font-weight:600;
      color:var(--color-text);
    }
    nav a:hover, nav a:focus, nav a.active{
      background:rgba(0,0,0,0.05);
      color:var(--color-accent);
    }

      /* Mobile menu */
  .hamburger{
    display:none;
    width:44px;height:44px;border-radius:10px;border:1px solid rgba(0,0,0,0.06);
    align-items:center;justify-content:center;background:white;
    color: var(--color-text);
  }

    /* ==============
       HERO (grid layout)
       ============== */
    .hero{
      /* vlastní větší šířka – cca o 150px širší než ostatní sekce */
  max-width: calc(var(--max-width) + 200px) !important; 
  width: 100% !important;

      margin:var(--space-xl) auto var(--space-l);
      display:grid;
      grid-template-columns: 1fr 25rem;
      gap:4.5rem;
      align-items:center;
      padding:var(--space-l);
    }
    .hero-left h1{
      /* font-family:"Playfair Display",serif; */
      /* font-family: "Source Serif 4", serif; */
      font-size:var(--fs-h1);
      line-height:1.2;
      margin:0 0 1.25rem 0;
      color:var(--color-heading);
    }
    .hero-left p{ margin-bottom:1.8rem; font-size:var(--fs-large) }
/* Překvapení - CTA s animací :) */
.cta {
    display: inline-block;
    position: relative;
    padding: 1em 1.25em;
    font-size: 16px;
    line-height: 1;
    font-weight: 600;
    text-decoration: none;
    color: #fff;
    background-color: #000;
    border: 1px solid #000;
    border-radius: 12px;
    cursor: pointer;
    transition: background-color .3s ease, box-shadow .3s ease;
}

.cta.cta--gray {
    color: #fff;
    background-color: #6b6965;
    border: 1px solid #6b6965;
}

.cta.cta--gray:hover {
    background-color: #121212;
    box-shadow: 0 0.5rem 1.25rem rgba(0,0,0,0.1);
}

.cta.cta--green {
    color: #fff;
    background-color: #117810;
    border: 1px solid #117810;
}

.cta.cta--green:hover {
    background-color: #0e660d;
    box-shadow: 0 0.5rem 1.25rem rgba(0,0,0,0.1);
}
    .cta:focus{ box-shadow:0 0 0 4px rgba(62,127,41,0.12) }

    .hero-right{ text-align:center }
    .portrait{
      width:25rem;
      height:30rem;
      border-radius:0.75rem;
      overflow:hidden;
      margin:0 auto var(--space-s);
      box-shadow:0 0.5rem 1.5rem rgba(0,0,0,0.15);
      background:linear-gradient(180deg,#fff,#faf7f0);
    }
    .portrait img{ width:100%; height:100%; object-fit:cover; display:block }
    .hero-right .who{ font-family: "Source Serif 4", serif; font-size: 1.1rem; font-weight:700; margin-top:0.25rem }
    .hero-right .sub{ font-size:var(--fs-small); opacity:0.85 }

    /* ==============
       SECTION CARD (O mně, Terapie, Kontakt)
       ============== */
    section.card{
      background:var(--color-card);
      border-radius:var(--radius);
      box-shadow:var(--shadow-1);
      padding:var(--space-xl);
      max-width:calc(var(--max-width) - 6rem);
      margin:0 auto calc(var(--space-xl) + 1rem);
    }
    section.card h2, section.card h3{ 
      /* font-family:"Playfair Display",serif;  */
      color:var(--color-heading) }
    section.card h2{ font-size:var(--fs-h2); margin-bottom:var(--space-s) }
    section.card h3{ font-size:var(--fs-h3); margin-bottom:var(--space-s); margin-top: 40px; }
    section.card p{ margin-bottom:1rem }

    /* Lists */
    /* ul{ padding-left:1.25rem; margin-top:0.25rem } */
    li{ margin-bottom:0.45rem }

    /* Price / session box */
    .session-card{
      display:flex;
      justify-content:center;
      width:100%;
      max-width:500px;
      margin:var(--space-l) auto var(--space-m);
      margin-top: 40px;
      border-radius:10px;
      overflow:hidden;
      /* background:rgba(46,99,28,0.08); */
      /* font-family:"Playfair Display",serif; */
      color:var(--color-accent);
      padding: 0 20px;
    }
    .session-card__half{
      flex:1 1 50%;
      padding:18px 20px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      align-items:center;
      gap:4px;
      text-align:center;
    }
    .session-card__label{ font-size:0.95rem; line-height:1 }
    .session-card__value{ font-size:1.25rem; font-weight:700 }

    .session-card-seznam{
      display:flex;
      justify-content:center;
      width:100%;
      max-width:600px;
      margin:var(--space-l) auto var(--space-m);
      margin-top: 0;
      border-radius:10px;
      overflow:hidden;
      background:#d8e8bc;
      /* font-family:"Playfair Display",serif; */
      /* color:var(--color-accent); */
      font-size: var(--fs-small);
      padding:30px;
      text-align: center;
    }

    .session-card-seznam ul{padding: 0; margin: 0;}

    .session-card-seznam li{list-style: none; line-height: 1.2rem;margin-bottom: 0.6rem;}

/* ========================
   KONTAKT - upravený layout
   ======================== */
   #kontakt {
  /* průhledné pozadí, bez rámečku */
  background: transparent;
  box-shadow: none;
  padding: var(--space-xl) 0;
  /* o 200px širší než ostatní sekce */
  max-width: calc(var(--max-width) + 200px);
  margin: 0 auto var(--space-xl);
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  scroll-margin-top: 0px;
}

#kontakt h2 {
  font-size:var(--fs-h2);
}

#kontakt h3 {
  font-size:var(--fs-h3);
}

.contact-wrapper {
  display: flex;
  gap: 3rem;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  margin-bottom: 70px;
}

.contact-info,
.contact-form {
  flex: 1 1 22rem;
  background:var(--color-card);
  border-radius: var(--radius);
  padding: var(--space-xl);
  box-shadow: var(--shadow-1);
  /* margin-top: 38px;
  margin-bottom: 44px; */
}

.contact-form{
  background: #f2ece3;
}

    .contact-info p{ margin-bottom:0.6rem }
    .contact-info a{ color:var(--color-accent) }

    /* Form basics */
    form{ margin-top:0.5rem; display:grid; gap:0.5rem; font-family:"Open Sans",sans-serif }
    label{ display:block; font-size:0.85rem; color:var(--color-text); margin-bottom:2px }
    .field{ display:flex; flex-direction:column }
    input[type="text"], input[type="tel"], input[type="email"], textarea{
      padding:10px 12px;
      border-radius:10px;
      border:1px solid var(--border);
      background:linear-gradient(#fff,#fbfdff);
      outline:none;
      transition:box-shadow .12s, border-color .12s;
      resize:vertical;
      min-height:42px;
      font-family:"Open Sans",sans-serif;
      font-size:0.98rem;
    }
    input:focus, textarea:focus{ border-color:rgba(37,99,235,0.85); box-shadow:0 6px 18px rgba(37,99,235,0.07) }
    textarea{ min-height:120px }

    .btn-row{
      display:flex; gap:10px; align-items:center; justify-content:flex-end; margin-top:6px;
    }
    .btn{
      display:inline-block; padding:10px 16px; border-radius:10px; border:0; cursor:pointer; font-weight:600; font-size:0.98rem;
      background:#6b6965; color:#fff; box-shadow:0 8px 18px rgba(37,99,235,0.12);
    }
    .btn:hover{
      background: #121212;
    }
    .btn.secondary{
      background:transparent; color:#5F6872; border:1px solid var(--border); box-shadow:none;
    }
    .btn.secondary:hover{
      background: #F25811;
      color: #1A1A1A;
    }

    /* Fotky a Mapa */
    .fotkyamapa{
      margin: 0;
      text-align: center;
    }

/* Fotky terapeutoven – vedle sebe */
.photo-row {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 0px;
  flex-wrap: nowrap;         /* zamezí zalomení pod sebe */
  /* padding: 0px 100px; */
  max-width: calc(var(--max-width));
  margin: 0 auto;
  /* margin-top: 40px; */
  /* margin-bottom: 40px; */
}

.photo-card {
  flex: 1 1 0;
  min-width: 280px;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  background-color:var(--color-accent);
  margin: 20px;
}

.photo-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.photoCAP-card {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.photoCAP-card-hover {
  display: block;
  margin: 30px auto;
  margin-bottom: 0;
  max-width: 285px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  background-color: var(--color-bg);
  transition: box-shadow 0.2s ease;
}

.photoCAP-card-hover :hover{
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);

}

    iframe.map{
      border:0; width:100%; height:18rem; border-radius:0.75rem; margin-top:1rem;
    }

    footer{
      text-align:center; font-size:var(--fs-small); margin:var(--space-l) 0; opacity:0.8;
      padding-bottom: 20px;
    }

        /* Footer links - decentní textové */
        footer ul{
      list-style:none;
      padding:0;
      margin:0 0 8px 0;
      display:flex;
      justify-content:center;
      gap:1rem;
      flex-wrap:wrap;
    }
    footer a{
      color:var(--color-text);
      text-decoration:none;
      font-weight:500;
      opacity:0.95;
      transition:color .15s ease, opacity .15s ease;
    }
    footer a:hover{
      color:var(--color-accent);
      opacity:1;
      text-decoration:underline;
    }

    /* ==============
       RESPONSIVE RULES
       ============== */
    @media (max-width: 1000px){
      .hero{ grid-template-columns: 1fr 20rem; gap:2.5rem; padding:var(--space-m) }
      .portrait{ width:20rem; height:24rem }
      .photoCAP-card{height: auto;}
    }
    @media (max-width: 780px){
      .hero{ grid-template-columns:1fr; text-align:center; gap:1.5rem }
      .hero-left{ text-align:center }
      .hero-right{margin-top: 1.5rem;}
      /* .hero-right{ order: -1 } move portrait above on small screens */

      nav ul{display:none}
      .hamburger{display:flex}

      .fotkyamapa{
        display: none;
      }
      .photo-row{
        display: none;
      }

      main{
        margin-top: 70px;
      }
      .hero-left h1 {font-size: 2.1rem;}
      .hero-left p {font-size: 1rem;margin-top: 30px;margin-bottom: 20px;}
      .hero-left-br {display: none;}
      .photoCAP-card-hover{max-width: 228px;}
    }
    /* Na velmi úzkých obrazovkách povolit zalomení */
@media (max-width: 640px) {
  .vzdelani-ul{
    padding-left: 20px;
  }
  .photo-row {
    flex-wrap: wrap;
    gap: 16px;
  }
  .photo-card {
    flex: 1 1 100%;
    min-width: auto;
  }

  .contact-info,
  .contact-form {
    flex: 1 1 100%;
    max-width: 100%;
    margin: 0;
    padding: 30px;
  }

  :root{
    --fs-base: 0.96rem;
    --fs-h3: 1.3rem;
    --fs-h2: 1.8rem;
  }

  h2 {
    line-height: 2.1rem;
  }

  section.card {padding-left: 0; padding-right: 0;}
  .photoCAP-card-hover{max-width: 171px;}
}
    @media (max-width: 420px){
      .portrait{ width:12rem; height:16rem }
      section.card{padding: 34px 0px;}
      .session-card{ max-width:100%; padding: 0 25px;}
      .session-card__half{ width:100%; border-top:1px solid #eee; padding:14px }
      .session-card__left{ border-top:none }
      .session-card-seznam{padding: 20px;}
      .photo-row{ gap:12px; padding:8px }
      .photo-card{ min-width:100% }
      .contact-wrapper{ flex-direction:column }
      .container{padding-left: 0.3rem;padding-right: 0.3rem;}
      .hero{padding-left: 15px;padding-right: 15px;}
      .nav {padding-top: 0.6rem;padding-bottom: 0.6rem;}
    }
  