/* TANEČNÍ STUDIO KROK — ukázkový web pro webpj.cz.
   Editoriální styl: serifové nadpisy, hodně bílého místa, tenké linky místo
   rámečků a stínů, tlačítka jako podtržený text se šipkou. Rozvrh je týdenní
   mřížka po dnech. */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --noc:#241428;
  --noc2:#180d1b;
  --fuchsie:#e0338a;
  --fuchsie2:#b8256f;
  --krem:#fbf6f4;
  --papir:#fffdfc;
  --seda:#7c6f7e;
  --linka:#e4d9e2;
  --linka2:#cfc0cd;
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--noc);background:var(--papir);font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.06;letter-spacing:-.01em}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.uzsi{max-width:820px}
@media(max-width:640px){.wrap{padding:0 20px}}

/* popisek sekce — malé kapitálky s číslem */
.eyebrow{display:flex;align-items:center;gap:14px;font-size:12.4px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--fuchsie);margin-bottom:22px}
.eyebrow::after{content:'';flex:1;height:1px;background:var(--linka);max-width:120px}

.demo{background:var(--noc2);color:#c9b7cb;font-size:13.4px;text-align:center;padding:11px 18px}
.demo a{color:#ff9ac8;text-decoration:underline}

/* hlavička */
.nav{position:sticky;top:0;z-index:60;background:rgba(255,253,252,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--linka)}
.nav .row{display:flex;align-items:center;gap:30px;height:88px}
.logo{font-family:'Playfair Display',serif;font-size:29px;color:var(--noc);text-decoration:none;line-height:1.05;letter-spacing:-.01em}
.logo small{display:block;font-family:'DM Sans',sans-serif;font-size:10.4px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--seda);margin-top:3px}
.nav nav{margin-left:auto;display:flex;gap:30px}
.nav nav a{text-decoration:none;font-size:14.4px;letter-spacing:.06em;color:var(--seda);padding-bottom:3px;border-bottom:1px solid transparent}
.nav nav a:hover,.nav nav a.on{color:var(--noc);border-color:var(--fuchsie)}
.navtel{font-size:14.4px;letter-spacing:.06em;color:var(--noc);text-decoration:none;border-bottom:1px solid var(--fuchsie);padding-bottom:3px}
.burger{display:none;margin-left:auto;background:none;border:0;font-size:24px;cursor:pointer;color:var(--noc)}
.mm{display:none;border-top:1px solid var(--linka)}
.mm.open{display:block}
.mm a{display:block;padding:14px 32px;text-decoration:none;border-bottom:1px solid var(--linka);letter-spacing:.04em}
@media(max-width:1060px){.nav nav,.navtel{display:none}.burger{display:block}.nav .row{height:74px}}

/* odkazy místo tlačítek */
.odkaz{display:inline-flex;align-items:center;gap:10px;font-family:'DM Sans',sans-serif;font-size:14.6px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--noc);border-bottom:1px solid var(--noc);padding-bottom:6px;background:none;border-left:0;border-right:0;border-top:0;cursor:pointer;transition:color .15s,border-color .15s}
.odkaz:hover{color:var(--fuchsie);border-color:var(--fuchsie)}
.odkaz svg{transition:transform .18s}
.odkaz:hover svg{transform:translateX(4px)}
.odkaz--fux{color:var(--fuchsie);border-color:var(--fuchsie)}
.odkaz--fux:hover{color:var(--fuchsie2);border-color:var(--fuchsie2)}
.odkaz--sv{color:#fff;border-color:rgba(255,255,255,.55)}
.odkaz--sv:hover{color:#ff9ac8;border-color:#ff9ac8}
.odkazy{display:flex;gap:34px;flex-wrap:wrap;align-items:center}

/* hero */
.hero{padding:88px 0 0;background:var(--papir)}
.hero h1{font-size:clamp(48px,8vw,110px);margin-bottom:34px;max-width:15ch}
.hero h1 em{font-style:italic;color:var(--fuchsie)}
.hero .dole{display:grid;grid-template-columns:1fr 1fr;gap:56px;border-top:1px solid var(--linka);padding-top:30px}
.hero .dole p{font-size:18.5px;color:var(--seda);max-width:46ch}
.hero .meta{display:flex;flex-direction:column;gap:16px}
.hero .meta .rd{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--linka);padding-bottom:12px;font-size:15px;color:var(--seda)}
.hero .meta .rd b{font-weight:500;color:var(--noc)}
.hero .odkazy{margin-top:30px}
@media(max-width:860px){.hero{padding-top:56px}.hero .dole{grid-template-columns:1fr;gap:30px}}

/* velký obrazový předěl */
.predel{margin-top:74px;height:clamp(280px,46vh,520px);overflow:hidden;position:relative}
.predel img{width:100%;height:100%;object-fit:cover}
.predel .popis{position:absolute;left:32px;bottom:22px;color:#fff;font-size:13px;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.7)}

section{padding:96px 0}
.krem{background:var(--krem)}
.tmava{background:var(--noc);color:#c9b7cb}
.tmava h2,.tmava h3,.tmava h4{color:#fff}
.tmava .eyebrow{color:#ff9ac8}
.tmava .eyebrow::after{background:rgba(255,255,255,.24)}

.hlava{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:end;margin-bottom:52px}
.hlava h2{font-size:clamp(38px,5.2vw,68px)}
.hlava p{color:var(--seda);font-size:17.5px;max-width:46ch}
.tmava .hlava p{color:#a695a8}
@media(max-width:860px){.hlava{grid-template-columns:1fr;gap:22px;align-items:start;margin-bottom:36px}}

/* dvousloupcová sazba s fotkou na výšku */
.dvojice{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.dvojice img{width:100%;aspect-ratio:3/4;object-fit:cover}
.dvojice--obraceně img{order:2}
@media(max-width:860px){.dvojice{grid-template-columns:1fr;gap:28px}.dvojice--obraceně img{order:0}}

/* seznam kurzů — tenké linky */
.seznam{border-top:1px solid var(--linka)}
.polozka{display:grid;grid-template-columns:56px 1fr 220px 150px;gap:28px;align-items:baseline;padding:30px 0;border-bottom:1px solid var(--linka);text-decoration:none}
.polozka .cis{font-family:'Playfair Display',serif;font-size:22px;color:var(--linka2)}
.polozka h3{font-size:31px;margin-bottom:7px}
.polozka p{font-size:15.6px;color:var(--seda);max-width:52ch}
.polozka .det{font-size:14.6px;color:var(--seda)}
.polozka .cena{font-family:'Playfair Display',serif;font-size:26px;text-align:right;white-space:nowrap}
.polozka .cena small{display:block;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--seda)}
.polozka:hover h3{color:var(--fuchsie)}
@media(max-width:900px){.polozka{grid-template-columns:36px 1fr;gap:16px}.polozka .det,.polozka .cena{grid-column:2;text-align:left}.polozka .cena{margin-top:4px}}

/* filtry — textové */
.filtry{display:flex;gap:44px;flex-wrap:wrap;align-items:flex-start;border-top:1px solid var(--linka);border-bottom:1px solid var(--linka);padding:22px 0;margin-bottom:44px}
.fsk{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.fsk .lb{font-size:11.6px;letter-spacing:.2em;text-transform:uppercase;color:var(--seda)}
.fsk .tl2{display:flex;gap:18px;flex-wrap:wrap}
.fsk button{font-family:inherit;font-size:15px;background:none;border:0;border-bottom:1px solid transparent;padding:0 0 3px;cursor:pointer;color:var(--seda)}
.fsk button:hover{color:var(--noc)}
.fsk button.akt{color:var(--noc);border-color:var(--fuchsie)}
.pocet{margin-left:auto;font-size:14px;color:var(--seda);letter-spacing:.04em}
@media(max-width:860px){.filtry{gap:20px;flex-direction:column}.pocet{margin-left:0}}

/* týdenní mřížka rozvrhu */
.mrizka{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-left:1px solid var(--linka)}
.den{border-right:1px solid var(--linka);border-top:1px solid var(--linka);min-height:200px;display:flex;flex-direction:column}
.den > .nazev{font-family:'Playfair Display',serif;font-size:23px;padding:14px 16px 12px;border-bottom:1px solid var(--linka)}
.den > .nazev span{display:block;font-family:'DM Sans',sans-serif;font-size:11.4px;letter-spacing:.16em;text-transform:uppercase;color:var(--seda);margin-top:2px}
.den .obsah{padding:12px 12px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.lek{display:block;text-decoration:none;border-left:2px solid var(--fuchsie);padding:11px 12px;background:var(--krem)}
.lek .cas{font-size:12.6px;letter-spacing:.08em;color:var(--seda)}
.lek b{display:block;font-family:'Playfair Display',serif;font-size:20px;font-weight:400;line-height:1.15;margin:3px 0 5px}
.lek .sp{font-size:12.8px;color:var(--seda);display:flex;flex-wrap:wrap;gap:6px}
.lek .sp i{font-style:normal;color:var(--fuchsie)}
.lek:hover{background:#fff;border-left-color:var(--noc)}
.lek--zac{border-left-color:#2f9e5f}
.lek--pok{border-left-color:var(--fuchsie)}
.lek--vsi{border-left-color:var(--linka2)}
.den .nic{padding:16px;font-size:13.6px;color:var(--linka2)}
@media(max-width:1100px){.mrizka{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.mrizka{grid-template-columns:1fr;border-left:0}.den{border-right:0}.den > .nazev{display:flex;align-items:baseline;gap:12px}.den > .nazev span{margin-top:0}}
.prazdno{border:1px solid var(--linka);padding:44px;text-align:center;color:var(--seda);margin-top:22px}

/* tabulka */
.tbl{width:100%;border-collapse:collapse}
.tbl th{text-align:left;font-family:'DM Sans',sans-serif;font-size:11.6px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--seda);padding:0 0 14px;border-bottom:1px solid var(--linka2)}
.tbl td{padding:20px 0;border-bottom:1px solid var(--linka);font-size:16px;vertical-align:top}
.tbl td:first-child{font-family:'Playfair Display',serif;font-size:23px;padding-right:26px}
.tbl td.c{white-space:nowrap;text-align:right;font-family:'Playfair Display',serif;font-size:23px}
.tbl td.pop{color:var(--seda);font-size:15.4px;padding-right:26px}
@media(max-width:700px){
  .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
  .tbl thead{display:none}
  .tbl tr{border-bottom:1px solid var(--linka);padding:16px 0}
  .tbl td{border:0;padding:2px 0}
  .tbl td.c{text-align:left;margin-top:6px}
}

/* večery */
.vecer{display:grid;grid-template-columns:130px 1fr auto;gap:34px;align-items:baseline;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.vecer:first-child{border-top:1px solid rgba(255,255,255,.16)}
.vecer .dat{font-family:'Playfair Display',serif;font-size:27px;color:#fff}
.vecer .dat span{display:block;font-family:'DM Sans',sans-serif;font-size:11.6px;letter-spacing:.18em;text-transform:uppercase;color:#a695a8}
.vecer h3{font-size:27px;margin-bottom:6px}
.vecer p{font-size:15.4px;color:#a695a8;max-width:56ch}
.vecer .vstup{font-family:'Playfair Display',serif;font-size:24px;color:#ff9ac8;white-space:nowrap}
@media(max-width:760px){.vecer{grid-template-columns:1fr;gap:8px}}

/* lektoři */
.lekt{display:grid;grid-template-columns:repeat(3,1fr);gap:46px}
.le img{width:100%;aspect-ratio:3/4;object-fit:cover;margin-bottom:20px}
.le .role{font-size:11.6px;letter-spacing:.2em;text-transform:uppercase;color:var(--fuchsie);margin-bottom:9px}
.le h3{font-size:29px;margin-bottom:9px}
.le p{font-size:15.6px;color:var(--seda)}
@media(max-width:900px){.lekt{grid-template-columns:1fr;gap:36px}}

/* citát */
.citat{text-align:center;max-width:900px;margin:0 auto}
.citat blockquote{font-family:'Playfair Display',serif;font-size:clamp(28px,4.2vw,50px);line-height:1.22;font-style:italic;margin-bottom:24px}
.citat cite{font-style:normal;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--seda)}

/* formulář */
.form{display:grid;gap:0}
label{display:block;font-size:11.6px;letter-spacing:.18em;text-transform:uppercase;color:var(--seda);margin-bottom:8px}
.pole{margin-bottom:26px}
.rada{display:grid;grid-template-columns:1fr 1fr;gap:26px}
input,select,textarea{width:100%;min-height:44px;border:0;border-bottom:1px solid var(--linka2);padding:8px 0;font-size:17px;font-family:inherit;background:transparent;color:var(--noc);border-radius:0}
input:focus,select:focus,textarea:focus{outline:0;border-bottom-color:var(--fuchsie)}
textarea{min-height:90px;resize:vertical}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--seda) 50%),linear-gradient(135deg,var(--seda) 50%,transparent 50%);background-position:calc(100% - 12px) 20px,calc(100% - 7px) 20px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.pozn{font-size:13px;color:var(--seda);margin-top:14px;line-height:1.6}
.hotovo{border-top:1px solid var(--fuchsie);padding-top:24px}
.hotovo b{display:block;font-family:'Playfair Display',serif;font-size:31px;font-weight:400;margin-bottom:8px}
.kont{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.udaj{margin-bottom:22px}
.udaj b{display:block;font-size:11.6px;color:var(--seda);text-transform:uppercase;letter-spacing:.18em;margin-bottom:4px;font-weight:500}
.tmava .udaj b{color:#a695a8}
@media(max-width:900px){.kont{grid-template-columns:1fr;gap:36px}.rada{grid-template-columns:1fr;gap:0}}

/* patička */
footer{background:var(--noc2);color:#a695a8;padding:70px 0 0}
footer h4{color:#fff;font-family:'DM Sans',sans-serif;font-size:11.6px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px}
footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:44px;padding-bottom:44px}
footer p{font-size:15px;max-width:36ch}
footer ul{list-style:none;font-size:15px}
footer li{margin-bottom:10px}
footer a{color:#a695a8;text-decoration:none}
footer a:hover{color:#fff}
footer .logo{color:#fff;margin-bottom:18px;display:inline-block}
footer .logo small{color:#8d7d90}
footer .copy{border-top:1px solid rgba(255,255,255,.12);padding:22px 0;font-size:13px;color:#8d7d90;text-align:center}
footer .copy a{color:#ff9ac8;text-decoration:underline}
@media(max-width:900px){footer .cols{grid-template-columns:1fr;gap:32px}}

.telfab{position:fixed;right:18px;bottom:80px;z-index:70;background:var(--noc);color:#fff;display:none;text-decoration:none;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:14px 20px}
@media(max-width:1060px){.telfab{display:block}}
