/*
Theme Name: Misa-Joga
Theme URI: https://misa-joga.cz
Author: Vlastní téma
Description: Vlastní téma pro Misa-Joga — lekce jógy a pilates. Plná podpora Gutenbergu a blokových patternů.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: misa-joga
*/

/* ---------- Design tokens ---------- */
:root{
  --bg:#f6f1e9;
  --bg-2:#efe7db;
  --ink:#3a342c;
  --ink-soft:#6b6156;
  --sage:#8a9b7e;
  --sage-dark:#6d7d63;
  --terra:#c78a5f;
  --cream:#fffdf9;
  --line:#d8cfbf;
  --shadow:0 18px 40px -24px rgba(58,52,44,.45);
  --radius:20px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Segoe UI',system-ui,-apple-system,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.7;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
h1,h2,h3{font-weight:600;letter-spacing:.3px;line-height:1.25}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1120px,90%);margin:0 auto}
.section{padding:88px 0;position:relative}
.section-alt{background:var(--bg-2)}
.eyebrow{
  font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--sage-dark);font-weight:700;margin-bottom:14px;
}
.section-title{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:10px}
.lead{color:var(--ink-soft);max-width:60ch;font-size:1.05rem}

/* ---------- Header ---------- */
header.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,253,249,.7);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  transition:background .35s ease,box-shadow .35s ease;
}
header.site-header::after{
  content:"";position:absolute;left:0;bottom:-2px;height:2px;width:100%;
  background:linear-gradient(90deg,var(--sage),var(--terra));
  transform:scaleX(0);transform-origin:left;transition:transform .6s ease;
}
header.site-header.scrolled{
  background:rgba(255,253,249,.97);
  box-shadow:0 10px 30px -12px rgba(58,52,44,.3);
}
header.site-header.scrolled::after{transform:scaleX(1)}
.nav-wrap{
  width:min(1120px,92%);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 0;transition:padding .35s ease;
}
header.site-header.scrolled .nav-wrap{padding:8px 0}
.nav-logo{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.4px}
.nav-logo img{width:52px;height:auto}
.nav-logo.custom-logo-link img{width:52px;height:auto}
.nav-links{display:flex;gap:30px;font-size:.95rem}
.nav-links ul{display:flex;gap:30px;list-style:none;margin:0;padding:0}
.nav-links li{list-style:none}
.nav-links a{position:relative;color:var(--ink-soft);transition:color .3s;padding:4px 0}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;
  background:var(--terra);transition:width .35s ease;
}
.nav-links a:hover{color:var(--ink)}
.nav-links a:hover::after{width:100%}
.nav-links a.active,
.nav-links .current-menu-item > a{color:var(--ink)}
.nav-links a.active::after,
.nav-links .current-menu-item > a::after{width:100%;background:var(--sage-dark)}

/* ---------- Hero ---------- */
.hero.wp-block-cover {
  padding: 0;
  align-items: stretch;
}

/* Overlay – vlastní gradient místo jednolité barvy z Gutenbergu */
.hero .wp-block-cover__background {
  background: linear-gradient(100deg,
    rgba(40,43,36,.84) 0%,
    rgba(70,80,60,.55) 55%,
    rgba(70,80,60,.20) 100%) !important;
  opacity: 1 !important;
}

/* Jemný Ken Burns efekt – stačí odebrat, pokud nechceš */
.hero .wp-block-cover__image-background {
  transform: scale(1.03);
  animation: heroZoom 14s ease-out forwards;
}
@keyframes heroZoom { to { transform: scale(1); } }

/* Inner container – vynutit levé zarovnání, jinak Gutenberg centruje */
.hero .wp-block-cover__inner-container {
  width: min(1120px, 90%) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 150px 0 130px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start !important;
  text-align: left !important;
}

/* Všechny bloky uvnitř hero – zrušit centrování z „constrained" layoutu */
.hero .wp-block-cover__inner-container > * {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.hero h1,
.hero .wp-block-heading {
  font-size: clamp(2.6rem, 6vw, 4.4rem);
  color: #fff;
  max-width: 18ch;
  margin: 0 0 22px;
}

/* Tlačítka uvnitř hero – přebít výchozí styl Gutenberg button bloku */
.hero .wp-block-buttons.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 0;
}

.hero .wp-block-button.btn .wp-block-button__link {
  background: var(--terra) !important;
  color: #fff !important;
  font-weight: 600;
  padding: 14px 34px !important;
  border-radius: 40px !important;
  font-size: 1rem;
  letter-spacing: .02em;
  box-shadow: var(--shadow);
  border: none !important;
  transition: transform .3s, background .3s;
  text-decoration: none;
}

.hero .wp-block-button.btn .wp-block-button__link:hover {
  background: #b67546 !important;
  transform: translateY(-4px);
}

.hero .wp-block-button.btn.btn-ghost .wp-block-button__link {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.75) !important;
  padding: 13px 34px !important;
  box-shadow: none;
}

.hero .wp-block-button.btn.btn-ghost .wp-block-button__link:hover {
  background: rgba(255,255,255,.14) !important;
  transform: translateY(-4px);
}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- About (Jóga a já) ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.about-grid.wp-block-columns{display:grid!important;gap:48px!important;margin-bottom:0!important;align-items:center}
.about-grid > .wp-block-column{flex-basis:auto!important;margin:0!important}
.about-text p{margin-bottom:18px}
.about-image{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.about-image img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.pull{
  margin-top:26px;padding:24px 26px;background:var(--cream);border-left:4px solid var(--terra);
  border-radius:14px;font-size:1.15rem;font-style:italic;color:var(--ink);box-shadow:var(--shadow);
}
.pull em{color:var(--sage-dark);font-weight:600}

/* verse list */
.verses{display:flex;flex-direction:column;gap:18px;margin-top:40px}
.verse{
  display:flex;gap:18px;align-items:flex-start;background:var(--cream);
  border-radius:16px;padding:22px 24px;border:1px solid var(--line);box-shadow:var(--shadow);
  transition:transform .35s;
}
.verse:hover{transform:translateX(6px)}
.verse img{width:38px;height:38px;flex:none;object-fit:contain;filter:invert(22%) sepia(28%) saturate(560%) hue-rotate(30deg)}
.verse p{margin:0;font-size:1.02rem}

/* ---------- Lekce section ---------- */
.expect{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin-top:36px}
.expect.wp-block-columns{display:grid!important;gap:44px!important;align-items:center}
.expect > .wp-block-column{flex-basis:auto!important;margin:0!important}
.expect p{color:var(--ink-soft);margin-bottom:16px}
.expect-img{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.expect-img img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 20%}

/* ---------- Course cards ---------- */
.courses{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:40px}
.courses.wp-block-columns{display:grid!important;grid-template-columns:repeat(2,1fr);gap:22px!important;flex-wrap:wrap}
.courses .wp-block-column{flex-basis:auto!important;margin:0!important;min-width:0}
.course{
  background:var(--cream);border-radius:var(--radius);padding:28px;border:1px solid var(--line);
  box-shadow:var(--shadow);transition:transform .35s,box-shadow .35s;border-top:4px solid var(--sage);
  height:100%;
}
.course:hover{transform:translateY(-6px);box-shadow:0 30px 50px -26px rgba(58,52,44,.5)}
.course h3{font-size:1.2rem;margin-bottom:12px;color:var(--sage-dark);letter-spacing:.3px}
.course p{font-size:.96rem;color:var(--ink-soft);margin:0}

/* ---------- Permanentky ---------- */
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}
.plans.wp-block-columns{display:grid!important;grid-template-columns:repeat(4,1fr);gap:20px!important;align-items:stretch}
.plans .wp-block-column{flex-basis:auto!important;margin:0!important;min-width:0}
.plan{
  background:var(--cream);border-radius:var(--radius);padding:26px 22px;border:1px solid var(--line);
  box-shadow:var(--shadow);transition:transform .35s;position:relative;height:100%;
}
.plan:hover{transform:translateY(-6px)}
.plan.feature{border:2px solid var(--terra);background:linear-gradient(160deg,var(--cream),#fbf3ea)}
.plan .tag{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--terra);color:#fff;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  padding:5px 14px;border-radius:30px;font-weight:700;white-space:nowrap;
}
.plan h3{font-size:1.08rem;margin-bottom:14px;letter-spacing:.2px}
.price{font-size:1.5rem;font-weight:700;color:var(--sage-dark);margin-bottom:4px}
.price small{font-size:.8rem;color:var(--ink-soft);font-weight:400}
.plan ul{list-style:none;margin-top:14px;padding:0}
.plan li{font-size:.88rem;color:var(--ink-soft);padding:6px 0 6px 22px;position:relative;border-top:1px dashed var(--line)}
.plan li::before{content:"✓";position:absolute;left:0;color:var(--sage-dark);font-weight:700}
.bonus{
  margin-top:22px;background:var(--cream);border-radius:16px;border:1px solid var(--line);
  padding:22px 24px;font-size:.95rem;color:var(--ink-soft);box-shadow:var(--shadow);
}
.bonus strong{color:var(--terra)}
.note{margin-top:18px;font-size:.9rem;color:var(--ink-soft);background:var(--cream);
  border:1px dashed var(--line);border-radius:12px;padding:14px 18px}

/* ---------- Education ---------- */
.edu-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}
.edu-list.wp-block-columns{display:grid!important;grid-template-columns:1fr 1fr;gap:14px!important}
.edu-list .wp-block-column{flex-basis:auto!important;margin:0!important;min-width:0}
.edu-item{
  background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:16px 18px;
  font-size:.94rem;color:var(--ink-soft);box-shadow:var(--shadow);
  border-left:3px solid var(--sage);transition:transform .3s;
}
.edu-item:hover{transform:translateX(5px)}
.edu-item strong{color:var(--ink)}

/* ---------- Workshops ---------- */
.ws-list{display:grid;grid-template-columns:1fr 1fr;gap:0 34px;margin-top:30px}
.ws-item{
  font-size:.92rem;color:var(--ink-soft);padding:9px 0 9px 20px;position:relative;
  border-bottom:1px solid var(--line);transition:color .3s;
}
.ws-item::before{
  content:"";position:absolute;left:0;top:15px;width:7px;height:7px;border-radius:50%;
  background:var(--sage);
}
.ws-item:hover{color:var(--sage-dark)}
.ws-2026{margin-top:28px;font-size:.98rem;color:var(--ink-soft)}
.ws-2026 strong{color:var(--sage-dark)}

/* ---------- My path ---------- */
.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin-top:36px}
.path-grid.wp-block-columns{display:grid!important;gap:44px!important;align-items:center}
.path-grid > .wp-block-column{flex-basis:auto!important;margin:0!important}
.path-img{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.path-img img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.path-text p{margin-bottom:16px}
.sig{font-size:1.5rem;font-style:italic;color:var(--sage-dark);margin-top:22px}

/* ---------- Contact / Form ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;margin-top:20px}
.contact-grid.wp-block-columns{display:grid!important;gap:44px!important}
.contact-grid > .wp-block-column{flex-basis:auto!important;margin:0!important}
.form{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow)}
.form label{display:block;font-size:.85rem;color:var(--ink-soft);margin:16px 0 6px;letter-spacing:.03em}
.form input,.form textarea{
  width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-size:.98rem;
  background:var(--bg);color:var(--ink);font-family:inherit;transition:border-color .3s,box-shadow .3s;
}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px rgba(138,155,126,.18)}
.form textarea{min-height:120px;resize:vertical}
.captcha{display:flex;align-items:center;gap:10px;margin-top:20px}
.captcha span{font-size:1.3rem;color:var(--sage-dark);font-weight:700}
.captcha input{width:80px!important;text-align:center}
.form .btn{margin-top:24px;width:100%;text-align:center}
.contact-info{font-size:1rem}
.contact-info p{margin:16px 0;padding-left:24px;position:relative;color:var(--ink-soft)}
.contact-info p::before{
  content:"";position:absolute;left:0;top:10px;width:12px;height:12px;border-radius:50%;
  background:var(--terra);
}
.contact-info strong{color:var(--ink)}

/* ---------- Footer ---------- */
footer.site-footer{background:var(--ink);color:#e9e2d8;padding:44px 0;text-align:center}
footer.site-footer .flogo{width:80px;height:auto;margin:0 auto 18px}
footer.site-footer p{font-size:.85rem;color:#b6ab9d;margin:6px 0}

/* ---------- Gutenberg overrides ---------- */
.wp-block-group.section{padding:88px 0}
.wp-block-group.section-alt{background:var(--bg-2)}
.wp-block-group.container > *{width:min(1120px,90%);margin-left:auto;margin-right:auto}
.wp-block-image img{border-radius:var(--radius)}
.hero .wp-block-cover__inner-container{max-width:100%}

/* ---------- Responsive ---------- */
@media(max-width:860px){
  .about-grid,.expect,.path-grid,.contact-grid,
  .about-grid.wp-block-columns,.expect.wp-block-columns,.path-grid.wp-block-columns,.contact-grid.wp-block-columns{
    grid-template-columns:1fr!important;
  }
  .courses,.plans,.edu-list,
  .courses.wp-block-columns,.plans.wp-block-columns,.edu-list.wp-block-columns{
    grid-template-columns:1fr 1fr!important;
  }
}
@media(max-width:600px){
  .nav-links ul{gap:16px;font-size:.82rem}
  .section,.wp-block-group.section{padding:60px 0}
  .courses,.plans,.ws-list,
  .courses.wp-block-columns,.plans.wp-block-columns{grid-template-columns:1fr!important}
  .hero-content{padding:120px 0 110px}
}