/*
Theme Name: Psychologie Pavelková
Theme URI: https://luciepavlik.cz
Author: Lucie Pavlíková
Author URI: https://luciepavlik.cz
Description: Šablona webu Psychologie Pavelková (verze 5). Obsah je pevně v šabloně, klientka upravuje jen „Volné termíny“ v administraci.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: psychologie-pavelkova
License: Proprietary
*/
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;src:url(assets/fonts/jost-latin-ext-300-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;src:url(assets/fonts/jost-latin-300-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/jost-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/jost-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/jost-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/jost-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/jost-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/jost-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  /* Brand kit: Mléko #F6F1E9 · Kámen #DDD7CE · Duna #B9A999 · Šalvěj #AEB3A2 · Med #C49A6C · Oliva #5C6A43 · Uhel #45423B
     + návrh: Les #3E4A30 (hluboká zelená pro tmavé sekce) */
  --mleko:#F6F1E9; --kamen:#DDD7CE; --duna:#B9A999; --salvej:#AEB3A2; --med:#C49A6C; --oliva:#5C6A43; --uhel:#45423B; --les:#3E4A30;
  --bg:var(--mleko); --paper:#FBF8F3;
  --sage-tint:color-mix(in srgb, var(--salvej) 30%, var(--mleko));
  --stone-tint:color-mix(in srgb, var(--kamen) 50%, var(--mleko));
  --ink:var(--uhel); --muted:#625C52; --line:rgba(69,66,59,.16);
  --on-dark:var(--mleko); --on-dark-muted:color-mix(in srgb, var(--mleko) 74%, var(--les)); --line-dark:rgba(246,241,233,.22);
  --font:"Jost", "Futura", "Century Gothic", system-ui, sans-serif;
  --wrap:1180px; --r:22px;
  box-sizing:border-box;
  padding-bottom:env(safe-area-inset-bottom,0px);
}
:root[data-theme="dark"]{ --bg:#23261F; --paper:#2C2F27; --sage-tint:#2A2E25; --stone-tint:#2B2A25; --ink:#F6F1E9; --muted:#B9A999; --line:rgba(246,241,233,.15); }
*,*::before,*::after{box-sizing:inherit}
html{overflow-x:clip; scroll-padding-top:calc(env(safe-area-inset-top,0px) + 88px)}
body{margin:0; background:var(--bg); color:var(--ink); font-family:var(--font); font-weight:400; font-size:1.0625rem; line-height:1.7; -webkit-font-smoothing:antialiased; overflow-x:clip}
a{color:inherit}
:focus-visible{outline:2px solid var(--med); outline-offset:3px; border-radius:6px}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 32px; position:relative}
h1,h2,h3,h4{font-family:var(--font); font-weight:300; line-height:1.12; margin:0; letter-spacing:-.02em}
h1{font-size:clamp(2.8rem,5.6vw,4.9rem)}
h2{font-size:clamp(2.1rem,3.8vw,3.1rem)}
h3{font-size:1.5rem; font-weight:400; letter-spacing:-.01em}
em{font-style:normal}
p{margin:0}
section{padding:120px 0; position:relative}
.kicker{display:block; font-size:.74rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:18px}
.on-green,.on-dark{background:var(--les); color:var(--on-dark)}
.on-green .kicker,.on-dark .kicker{color:var(--on-dark-muted)}
.page{display:block}

/* buttons: pills */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:0 28px; border-radius:999px; font:500 .82rem/1 var(--font); letter-spacing:.1em; text-transform:uppercase; text-decoration:none; border:1px solid transparent; cursor:pointer; transition:background .25s, color .25s, border-color .25s}
.btn-green{background:var(--oliva); color:var(--mleko)}
.btn-green:hover{background:var(--les)}
.btn-light{background:var(--mleko); color:var(--les)}
.btn-light:hover{background:var(--salvej)}
.btn-line{border-color:currentColor; color:inherit; background:transparent}
.btn-line:hover{background:var(--ink); color:var(--bg); border-color:var(--ink)}
.on-green .btn-line:hover,.on-dark .btn-line:hover{background:var(--mleko); color:var(--les); border-color:var(--mleko)}
.link{color:inherit; font-weight:500; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:2px}

/* gold squiggles */
.squig{position:absolute; pointer-events:none; color:var(--med); z-index:1}
.squig path{fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round}

/* header: transparent over hero, solid on scroll / sub-pages */
.hdr{position:fixed; top:0; left:0; right:0; z-index:40; padding-top:env(safe-area-inset-top,0px); color:var(--mleko); transition:background .3s, box-shadow .3s}
.hdr.solid{background:var(--les); box-shadow:0 1px 0 rgba(0,0,0,.08)}
.hdr-row{display:flex; align-items:center; gap:40px; height:88px; border-bottom:1px solid var(--line-dark)}
.hdr.solid .hdr-row{border-color:transparent}
.logo{display:block; color:var(--mleko); line-height:0; margin-right:auto}
.logo svg{height:50px; width:auto}
.menu{display:flex; gap:34px; list-style:none; margin:0; padding:0}
.menu a{text-decoration:none; font-size:.76rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; padding:6px 0; border-bottom:1px solid transparent}
.menu a:hover,.menu a[aria-current="page"]{border-color:var(--med)}
.hdr-phone{font-weight:500; letter-spacing:.04em; cursor:default; white-space:nowrap}
.hdr .btn{min-height:42px; padding:0 22px}
.burger{display:none; background:none; border:0; padding:10px; color:inherit; cursor:pointer}
.burger svg{width:26px; height:26px}
main{padding-top:0}
body:not(.home) .page > :first-child{padding-top:calc(88px + 96px + env(safe-area-inset-top,0px))}

/* hero */
.hero{min-height:min(860px, 100vh); padding:0; display:flex; align-items:flex-end; color:var(--mleko); overflow:hidden; background:var(--les)}
.hero-bg{position:absolute; inset:0; background-position:center center; background-size:cover}
.hero::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(38,46,29,.66) 0%, rgba(38,46,29,.38) 42%, rgba(38,46,29,0) 72%), linear-gradient(0deg, rgba(38,46,29,.38), transparent 42%)}
.hero .wrap{z-index:2; width:100%; padding-top:200px; padding-bottom:110px}
.hero .name{font-size:.78rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; margin-bottom:24px; opacity:.9}
.hero h1{max-width:none; margin-bottom:28px}
@media (max-width:700px){br.lg{display:none}}
.hero .lede{font-size:1.15rem; font-weight:300; max-width:40ch; margin-bottom:30px}
.facts{list-style:none; margin:0 0 40px; padding:0; display:flex; flex-wrap:wrap; gap:10px}
.facts li{font-size:.86rem; padding:7px 16px; border:1px solid rgba(246,241,233,.4); border-radius:999px; backdrop-filter:blur(4px)}
.hero .squig{left:-40px; top:22%; width:180px}

/* dark intro + overlapping card */
.intro{padding:120px 0 0; display:flow-root; background:linear-gradient(var(--les),var(--les)) top/100% calc(100% - var(--half,160px)) no-repeat, var(--bg)}
.intro-head{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:end; margin-bottom:72px}
.intro-head p{color:var(--on-dark-muted); max-width:46ch}
.intro .squig{right:-30px; top:40px; width:240px}
.overlap{position:relative; z-index:2; margin-bottom:0; background:var(--paper); color:var(--ink); border-radius:var(--r); padding:56px 56px 48px; box-shadow:0 40px 80px -50px rgba(30,36,22,.6)}
.stats{display:grid; grid-template-columns:repeat(5,1fr)}
.stats div{padding:8px 20px; border-left:1px solid var(--line)}
.stats div:first-child{border-left:0; padding-left:0}
.stats strong{display:block; white-space:nowrap; font-weight:300; font-size:clamp(1.8rem,2.8vw,2.5rem); line-height:1; letter-spacing:-.02em; color:var(--les)}
.stats span{display:block; margin-top:12px; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
.overlap-foot{margin-top:44px; padding-top:28px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:20px 32px; align-items:center; justify-content:space-between}
.overlap-foot p{color:var(--muted); max-width:58ch}
.after-overlap{padding-top:110px}

/* boxes */
.head-c{text-align:center; margin-bottom:64px}
.head-c p{color:var(--muted); max-width:56ch; margin:20px auto 0}
.on-green .head-c p,.on-dark .head-c p{color:var(--on-dark-muted)}
.head-l{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:end; margin-bottom:56px}
.head-l p{color:var(--muted); max-width:46ch; justify-self:end; text-align:right}
.boxes{display:grid; grid-template-columns:1fr 1fr; gap:20px}
.box{background:var(--paper); border-radius:var(--r); padding:40px 40px 36px; border:1px solid var(--line)}
.box .kicker{color:var(--oliva); margin-bottom:14px}
.box h3{margin-bottom:10px}
.box p{color:var(--muted)}
.after{margin-top:44px; display:flex; flex-wrap:wrap; gap:8px 18px; justify-content:center; align-items:baseline; font-size:1.25rem; font-weight:300}
.after strong{font-weight:500; letter-spacing:.03em}

/* about teaser: capsule portrait */
.about{display:grid; grid-template-columns:.85fr 1.15fr; gap:96px; align-items:center}
.capsule{position:relative; max-width:400px}
.capsule .photo{aspect-ratio:3/4.2; border-radius:999px; width:100%}
.capsule .squig{left:-70px; bottom:-60px; width:230px}
.about h2{margin-bottom:26px; max-width:16ch}
.about p{max-width:52ch; color:var(--muted)}
.cred-line{list-style:none; padding:0; margin:32px 0 36px; border-top:1px solid var(--line)}
.cred-line li{display:flex; justify-content:space-between; gap:24px; padding:14px 0; border-bottom:1px solid var(--line); font-size:.98rem}
.cred-line li span:last-child{color:var(--muted); text-align:right; white-space:nowrap}
.photo{background:#38352f url(assets/img/portrait.jpg) center 20%/cover no-repeat}

/* testimonials */
.kind .wrap{display:grid; grid-template-columns:.7fr 1.3fr; gap:80px; align-items:start}
.kind .squig{left:-60px; bottom:-20px; width:200px}
.slides{min-height:220px}
.slide{display:none; margin:0}
.slide.on{display:block; animation:fade .5s ease}
@keyframes fade{from{opacity:0; transform:translateY(6px)}to{opacity:1; transform:none}}
.slide blockquote{margin:0; font-weight:300; font-size:clamp(1.5rem,2.4vw,2rem); line-height:1.4; letter-spacing:-.01em}
.slide.long blockquote{font-size:clamp(1.1rem,1.6vw,1.3rem); line-height:1.65}
.slide cite{display:block; margin-top:26px; font-style:normal; font-size:.76rem; letter-spacing:.16em; text-transform:uppercase; color:var(--on-dark-muted)}
.slider-ui{margin-top:44px; display:flex; align-items:center; gap:20px}
.arrow{width:48px; height:48px; border-radius:50%; border:1px solid var(--line-dark); background:none; color:inherit; cursor:pointer; display:grid; place-items:center; transition:background .2s}
.arrow:hover{background:rgba(246,241,233,.1)}
.arrow svg{width:18px; height:18px}
.dots{display:flex; gap:10px}
.dots button{width:8px; height:8px; padding:0; border-radius:50%; border:0; background:var(--line-dark); cursor:pointer}
.dots button[aria-current="true"]{background:var(--med)}
.count{font-size:.8rem; letter-spacing:.12em; color:var(--on-dark-muted); margin-left:auto}

/* secondary page heads */
.phead{padding-bottom:88px; text-align:center; background:var(--les); color:var(--on-dark)}
.phead .kicker{color:var(--on-dark-muted)}
.phead h1{font-size:clamp(2.4rem,4.2vw,3.5rem); margin:0 auto 20px; max-width:20ch}
.phead .lede{color:var(--on-dark-muted); max-width:52ch; margin:0 auto; font-size:1.08rem}
.tags{display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:30px}
.tag{font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; color:var(--on-dark-muted); padding:7px 14px; border:1px solid var(--line-dark); border-radius:999px; transition:color .2s, border-color .2s}
.tag:hover{color:var(--mleko); border-color:var(--med)}

/* editorial two-col */
.ed{display:grid; grid-template-columns:.75fr 1.25fr; gap:88px; align-items:start}
.ed + .ed{margin-top:88px; padding-top:88px; border-top:1px solid var(--line)}
.ed .body p{max-width:60ch}
.ed .body p + p{margin-top:18px}
.lines{list-style:none; padding:0; margin:0; border-top:1px solid var(--line)}
.lines li{padding:18px 0 18px 34px; border-bottom:1px solid var(--line); position:relative}
.lines li::before{content:""; position:absolute; left:4px; top:29px; width:8px; height:8px; border-radius:50%; background:var(--med)}
.price-card{background:var(--les); color:var(--on-dark); border-radius:var(--r); padding:44px 48px; display:grid; grid-template-columns:auto 1fr; gap:40px; align-items:center}
.price-card strong{font-weight:300; font-size:clamp(2.6rem,4.6vw,3.6rem); line-height:1; letter-spacing:-.02em; white-space:nowrap}
.price-card strong small{display:block; font-size:.74rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--on-dark-muted); margin-top:12px}
.price-card p{color:var(--on-dark-muted)}

/* steps */
.steps{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
.steps li{background:rgba(246,241,233,.06); border:1px solid var(--line-dark); border-radius:var(--r); padding:32px 28px}
.steps-wrap{position:relative}
.steps-squig{position:absolute; left:0; top:0; width:100%; height:110px; overflow:visible; z-index:1; pointer-events:none}
.steps-squig path{fill:none; stroke:var(--med); stroke-width:1.6; stroke-linecap:round; vector-effect:non-scaling-stroke; stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 2.4s ease-in-out}
.steps-wrap.in .steps-squig path{stroke-dashoffset:0}
.steps .n{position:relative; z-index:2; display:grid; place-items:center; width:44px; height:44px; border-radius:50%; border:1px solid var(--med); background:var(--les); color:var(--med); font-size:.95rem; margin-bottom:22px}
.steps h3{font-size:1.35rem; margin-bottom:10px}
.steps p{color:var(--on-dark-muted); font-size:.98rem}
.steps a{color:var(--mleko)}
.steps-foot{margin-top:48px; text-align:center; color:var(--on-dark-muted)}
.steps-foot a{color:var(--mleko)}

/* dates (WP text field) */
.dates-grid{display:grid; grid-template-columns:.75fr 1.25fr; gap:88px; align-items:start}
.dates-aside p{color:var(--muted); margin:22px 0 30px; max-width:36ch}
.dates-aside .btn{margin:0 10px 12px 0}
.wp-text{background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:48px 52px}
.wp-text h3{font-weight:500; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--oliva); margin:40px 0 6px}
.wp-text h3:first-child{margin-top:0}
.wp-text h4{font-weight:300; font-size:1.7rem; letter-spacing:-.01em; margin:0 0 14px}
.wp-text p{color:var(--muted); line-height:2}
.wp-text p + h3{padding-top:36px; border-top:1px solid var(--line)}

.phone-signup{margin-top:26px; padding:22px 24px; border-radius:var(--r); background:var(--sage-tint); border:1px solid var(--line); max-width:40ch}
.phone-signup strong{display:block; font-weight:500; margin-bottom:6px}
.phone-signup p{margin:0 0 14px !important; color:var(--muted)}
.phone-signup a{font-weight:500; font-size:1.2rem; text-decoration:none; border-bottom:1px solid var(--med); padding-bottom:2px}
.steps-foot .alt-call{display:block; margin-top:14px}
.kind .head-sub{color:var(--on-dark-muted); margin-top:18px; max-width:30ch}
.slide blockquote .br{display:block; height:.7em}

/* places */
.places{display:grid; grid-template-columns:1fr 1fr; gap:20px}
.place{background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:44px}
.place h3{font-size:1.9rem; font-weight:300; margin-bottom:8px}
.place address{font-style:normal; font-weight:500; margin-bottom:18px; display:block}
.place ul{margin:0; padding:0; list-style:none; color:var(--muted)}
.place li{padding:9px 0; border-top:1px solid var(--line)}

/* faq */
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{cursor:pointer; list-style:none; padding:24px 0; display:flex; justify-content:space-between; gap:24px; font-size:1.3rem; font-weight:300; align-items:center}
.faq summary::-webkit-details-marker{display:none}
.pm{width:34px; height:34px; border-radius:50%; border:1px solid var(--line); flex:none; position:relative}
.pm::before,.pm::after{content:""; position:absolute; left:50%; top:50%; width:12px; height:1px; background:var(--ink); transform:translate(-50%,-50%); transition:transform .25s}
.pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] .pm::after{transform:translate(-50%,-50%)}
.faq details p{padding:0 56px 26px 0; color:var(--muted); max-width:62ch}

/* about page */
.ab-head{display:grid; grid-template-columns:.85fr 1.15fr; gap:96px; align-items:center; padding-bottom:110px}
.ab-head .photo{aspect-ratio:3/4.2; border-radius:999px; max-width:400px}
.ab-head h1{font-size:clamp(2.4rem,4.2vw,3.5rem); margin-bottom:20px}
.ab-head .lede{color:var(--muted); font-size:1.12rem}
.story p{max-width:62ch; font-size:1.06rem}
.story p + p{margin-top:20px}
.quals h3{font-size:1.3rem; margin:0 0 12px}
.quals ul{list-style:none; padding:0; margin:0 0 44px; border-top:1px solid var(--line)}
.quals li{padding:16px 0; border-bottom:1px solid var(--line)}
.quals li span{display:block; color:var(--muted); font-size:.92rem}

/* contact page */
.cinfo{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.cinfo div{padding:40px 32px; text-align:center; border:1px solid var(--line-dark); border-radius:var(--r)}
.cinfo .kicker{margin-bottom:12px}
.cinfo p{font-weight:300; font-size:1.45rem; line-height:1.25; word-break:break-word}

/* form (every page) */
.formsec{background:var(--sage-tint)}
.form-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:88px; align-items:start}
.form-intro p{color:var(--muted); margin-top:22px; max-width:38ch}
.form-intro .alt{margin-top:32px; padding-top:22px; border-top:1px solid var(--line); font-size:.95rem}
.form{background:var(--paper); border-radius:var(--r); padding:48px; display:grid; grid-template-columns:1fr 1fr; gap:0 20px; box-shadow:0 30px 60px -45px rgba(30,36,22,.45)}
.field{margin-bottom:20px}
.field.full,.pills-field,.consent,.form .btn{grid-column:1 / -1}
.field label,.pills-field legend{display:block; font-size:.74rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; margin-bottom:8px; padding:0}
.field label span,.pills-field legend span{text-transform:none; letter-spacing:0; font-weight:400; color:var(--muted)}
.field input,.field textarea{width:100%; font:inherit; color:var(--ink); background:var(--bg); border:1px solid var(--line); border-radius:14px; padding:12px 16px; min-height:50px}
.field textarea{min-height:110px; resize:vertical}
.field input:focus,.field textarea:focus{outline:none; border-color:var(--oliva)}
.field .err{display:none; color:#9A3B2A; font-size:.86rem; margin-top:6px}
.field.bad input{border-color:#9A3B2A}
.field.bad .err{display:block}
.pills-field{border:0; margin:0 0 24px; padding:0}
.pills{display:flex; flex-wrap:wrap; gap:8px}
.pills label{cursor:pointer}
.pills input{position:absolute; opacity:0; pointer-events:none}
.pills span{display:inline-block; padding:9px 18px; border:1px solid var(--line); border-radius:999px; font-size:.92rem; transition:all .2s}
.pills input:checked + span{background:var(--oliva); color:var(--mleko); border-color:var(--oliva)}
.pills input:focus-visible + span{outline:2px solid var(--med); outline-offset:2px}
.consent{display:flex; gap:12px; align-items:flex-start; font-size:.9rem; color:var(--muted); margin:4px 0 26px}
.consent input{width:18px; height:18px; margin-top:3px; accent-color:var(--oliva); flex:none}
.form .btn{justify-self:start}
.done{display:none}
.form-wrap.sent .form{display:none}
.form-wrap.sent .done{display:block; background:var(--paper); border-radius:var(--r); padding:48px}
.done h3{margin-bottom:10px}
.done p{color:var(--muted)}

/* footer */
footer{padding:96px 0 40px}
.foot{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:48px}
.foot-logo{display:block; width:140px; color:var(--mleko); margin-bottom:24px}
.foot-logo svg{width:100%; height:auto}
.foot h4{font-size:.74rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; margin:0 0 18px; color:var(--on-dark-muted)}
.foot ul{list-style:none; padding:0; margin:0}
.foot li{margin-bottom:10px}
.foot a{text-decoration:none; opacity:.85}
.foot a:hover{opacity:1}
.foot p{opacity:.85; font-size:.95rem}
.legal{margin-top:72px; padding-top:24px; border-top:1px solid var(--line-dark); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:.85rem; color:var(--on-dark-muted)}
.legal a{color:inherit}

.mbar{display:none}

@media (max-width:1060px){
  .menu{gap:22px}
  .hdr-phone{display:none}
}
@media (max-width:980px){
  section{padding:88px 0}
  .wrap{padding:0 24px}
  .hdr-row{height:72px; gap:16px}
  .logo svg{height:40px}
  .hdr .btn{display:none}
  .burger{display:block}
  .menu{display:none}
  .menu.open{display:flex; position:absolute; top:calc(72px + env(safe-area-inset-top,0px)); left:0; right:0; flex-direction:column; gap:0; background:var(--les); padding:8px 24px 18px}
  .menu.open a{display:block; padding:16px 0; border-bottom:1px solid var(--line-dark); font-size:.82rem}
  body:not(.home) .page > :first-child{padding-top:calc(72px + 64px + env(safe-area-inset-top,0px))}
  .hero{min-height:88vh}
  .hero .wrap{padding-top:140px; padding-bottom:72px}
  .hero::after{background:linear-gradient(0deg, rgba(38,46,29,.85) 0%, rgba(38,46,29,.45) 55%, rgba(38,46,29,.12) 100%)}
  .hero .squig{display:none}
  .intro-head,.head-l,.about,.ed,.dates-grid,.form-grid,.ab-head,.kind .wrap,.boxes,.places{grid-template-columns:1fr; gap:40px}
  .head-l p{justify-self:start; text-align:left}
  .overlap{padding:36px 28px}
  .after-overlap{padding-top:80px}
  .stats{grid-template-columns:repeat(3,1fr); row-gap:28px}
  .stats div:nth-child(4){border-left:0; padding-left:0}
  .steps{grid-template-columns:1fr 1fr}
  .steps-squig{display:none}
  .price-card{grid-template-columns:1fr; gap:20px}
  .cinfo{grid-template-columns:1fr}
  .capsule,.ab-head .photo{max-width:320px}
  .intro .squig,.kind .squig{display:none}
  .foot{grid-template-columns:1fr 1fr}
  .mbar{display:block; position:fixed; left:0; right:0; bottom:0; z-index:30; padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px)); background:color-mix(in srgb,var(--bg) 94%, transparent); backdrop-filter:blur(10px); border-top:1px solid var(--line)}
  .mbar{grid-template-columns:1fr 1fr; gap:10px}
  .mbar.mbar{display:grid}
  .mbar .btn{width:100%; padding:0 12px; white-space:nowrap; letter-spacing:.06em}
  .mbar .btn svg{width:18px; height:18px; flex:none}
  .mbar .btn-line{color:var(--ink)}
  footer{padding-bottom:110px}
}
@media (max-width:560px){
  .wrap{padding:0 20px}
  .box,.place,.wp-text,.form,.form-wrap.sent .done,.price-card{padding:28px 22px}
  .form{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .stats div{border-left:0 !important; padding-left:0 !important}
  .stats div:last-child{grid-column:1 / -1}
  .steps{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr}
  .capsule .squig{display:none}
}
@media (prefers-reduced-motion:reduce){*{animation:none !important; transition:none !important} .steps-squig path{stroke-dashoffset:0}}

/* ===== Verze 5 – podle úprav ve Figmě (Lucie, 15. 10.) ===== */
:root{
  --les:#647155;                 /* zelená plocha */
  --med:#EE9534;                 /* akcent: vlnky, tečky, podtržení menu */
  --on-dark:#FFFFFF; --on-dark-muted:rgba(255,255,255,.88); --line-dark:rgba(255,255,255,.3);
  --r-big:58px;
}
@media (max-width:980px){ :root{ --r-big:32px } }
.btn-green:hover{background:#4B5836}
/* hero: světlejší přechod (desktop zleva, mobil rovnoměrně) */
.hero::after{background:linear-gradient(90deg, rgba(71,81,53,.80) 0%, rgba(71,81,53,.65) 40%, rgba(71,81,53,0) 100%)}
@media (max-width:980px){ .hero::after{background:rgba(71,81,53,.5)} }
/* zelený pás „Program v kostce“ se zaoblenými spodními rohy */
.intro{background:var(--bg)}
.intro::before{content:""; position:absolute; left:0; right:0; top:0; bottom:var(--half,160px); background:var(--les); border-radius:0 0 var(--r-big) var(--r-big)}
.intro .wrap{z-index:2}
/* zaoblené zelené sekce */
.kind,.on-green{border-radius:var(--r-big)}
.phead{border-radius:0 0 var(--r-big) var(--r-big)}
.arrow{border-color:rgba(47,53,39,.45)}
.dots button{background:rgba(47,53,39,.22)}
/* světlá patička jako ve Figmě */
footer.on-dark{background:var(--sage-tint); color:var(--ink)}
footer .foot-logo{color:var(--ink)}
footer .foot h4{color:var(--ink)}
footer .legal{border-color:var(--line); color:var(--ink)}
/* Kontakt: záhlaví a kontaktní karty jako jeden zelený blok */
[data-page="kontakt"] .phead{border-radius:0; padding-bottom:24px}
.home-only{display:none}
body:not([data-page="program"]) .home-only{display:inline-flex; margin-top:28px}
@media (max-width:560px){ body:not([data-page="program"]) .home-only{width:100%} }
/* krátké nadpisy na jeden řádek */
.phead h1{max-width:none}
.phead .lede{max-width:940px}
.form-grid{grid-template-columns:1fr 1fr; gap:72px}
.form-intro p{max-width:46ch}
@media (min-width:1100px){ .form-intro h2{white-space:nowrap} }
/* Kontakt: 2 boxy */
.cinfo{grid-template-columns:1fr 1fr}
.cinfo p{word-break:normal; overflow-wrap:anywhere}
.cinfo-sub{display:inline-block; margin-top:10px; color:var(--on-dark-muted); font-size:.95rem; text-decoration:none; border-bottom:1px solid currentColor}
@media (max-width:980px){ .cinfo{grid-template-columns:1fr} }
/* Volné termíny → Jak se přihlásit → formulář */
.signup{padding-top:0}
.signup-grid{display:flex; flex-direction:column; align-items:center; text-align:center; border-top:1px solid var(--line); padding-top:88px}
.signup-opts{display:flex; flex-direction:column; align-items:center; margin-top:32px; width:100%; max-width:600px}
.signup-opts .phone-signup{text-align:left; width:100%}
.signup-opts .or{color:var(--muted); margin:22px 0 14px}
.signup-opts .phone-signup{max-width:none; margin-top:0}
@media (max-width:980px){ .signup-grid{padding-top:64px} .signup-opts{margin-top:24px} .signup-opts .btn{width:100%} }
/* Úvod: místo formuláře výzva k termínům */

[data-page="kontakt"] .phead + .on-green{border-radius:0 0 var(--r-big) var(--r-big); padding-top:24px !important}

/* ===== WordPress doplňky ===== */
.skip{position:absolute; left:-9999px; top:8px; z-index:100; background:var(--mleko); color:var(--les); padding:10px 16px; border-radius:999px}
.skip:focus{left:16px}
.admin-bar .hdr{top:32px}
@media (max-width:782px){ .admin-bar .hdr{top:46px} }
@media (max-width:600px){ .admin-bar .hdr{top:0} }
.hp{position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden}
.form-err{grid-column:1/-1; margin:0 0 20px !important; padding:14px 18px; border-radius:14px; background:rgba(154,59,42,.08); color:#9A3B2A; font-size:.95rem}
.consent a{color:inherit}
.form .btn{font-family:var(--font)}
/* obecná stránka (např. Ochrana osobních údajů) */
.prose{max-width:760px; margin:0 auto}
.prose > * + *{margin-top:18px}
.prose h2{font-size:clamp(1.6rem,2.6vw,2.1rem); margin-top:48px}
.prose h3{margin-top:32px}
.prose ul,.prose ol{padding-left:1.2em}
.prose a{color:var(--oliva)}
/* text termínů zadaný v editoru – robustní i pro tučné písmo, odkazy, seznamy */
.wp-text strong{font-weight:500; color:var(--ink)}
.wp-text a{color:var(--oliva)}
.wp-text ul,.wp-text ol{color:var(--muted); padding-left:1.2em; margin:0}
.wp-text h2{font-weight:300; font-size:1.7rem; margin:0 0 14px}
.wp-text > :last-child{margin-bottom:0}
.wp-text p:empty{display:none}

/* ===== Úpravy po spuštění (23. 10. 2026) ===== */
/* Hlavička o něco nižší */
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 76px)}
.hdr-row{height:76px}
.logo svg{height:44px}
body:not(.home) .page > :first-child{padding-top:calc(76px + 96px + env(safe-area-inset-top,0px))}
/* Kontaktní formulář: nadpis nahoře, pod ním formulář na celou šířku, všechna pole na celou šířku */
.form-grid{display:block}
.form-intro{margin-bottom:48px}
.form-intro p{max-width:60ch}
.form{grid-template-columns:1fr}
.form .btn{justify-self:stretch}
@media (min-width:561px){ .form .btn{justify-self:start} }
/* Spodní lišta Zavolat / Napsat zprávu odstraněna */
.mbar{display:none !important}
@media (max-width:980px){
  html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 60px)}
  .hdr-row{height:60px}
  .logo svg{height:34px}
  .menu.open{top:calc(60px + env(safe-area-inset-top,0px))}
  body:not(.home) .page > :first-child{padding-top:calc(60px + 56px + env(safe-area-inset-top,0px))}
  footer{padding-bottom:40px}
  .form-intro{margin-bottom:32px}
  /* O mně: nejdřív jméno a podnadpis, pod tím fotka na střed, pak kvalifikace */
  .ab-head{display:flex; flex-direction:column; align-items:stretch; gap:0}
  .ab-head > div:not(.photo){display:contents}
  .ab-head > .photo{order:2; width:100%; margin:36px auto 8px}
  .ab-head .cred-line{order:3}
}

/* Web je vždy světlý (tmavý režim telefonu ho nepřepíná) */
:root{color-scheme:light}
/* Reference na mobilu: šipky a číslo na jednom řádku, tečky pod nimi */
.arrow{flex:none}
.count{white-space:nowrap}
@media (max-width:700px){
  .slider-ui{flex-wrap:wrap; gap:14px 14px}
  .slider-ui .count{order:2}
  .slider-ui .dots{order:3; flex-basis:100%; justify-content:flex-start; flex-wrap:wrap; margin-top:10px}
}
/* Kontakt na mobilu: e-mail se vejde na jeden řádek */
@media (max-width:560px){
  .cinfo div{padding:32px 18px}
  .cinfo p{font-size:min(1.45rem, 5vw); overflow-wrap:normal; white-space:nowrap}
}
