/* =========================================================
   MOK Znojmo 2026 – vizual kongresu
   Nacita se pres wp_enqueue_style() ve functions.php.
   Vsechny hodnoty jdou preladit v promennych --kongres-* nize.
   ========================================================= */

:root{
  --kongres-font:'Poppins',Arial,Helvetica,sans-serif;
  --kongres-color-text:#1a1a1a;
  --kongres-color-muted:#5c5c5c;
  --kongres-color-bg:#fff;
  --kongres-color-shell:#eef2f7;
  --kongres-color-line:#d8dee6;
  --kongres-color-primary:#0265dc;
  --kongres-color-primary-dark:#024fb0;

  --kongres-fs-lead:16px;
  --kongres-fs-base:15px;
  --kongres-fs-day:23px;
  --kongres-fs-section:19px;
  --kongres-lh:1.62;

  --kongres-col-time:104px;
  --kongres-gap-col:24px;
  --kongres-space-row:8px;
  --kongres-space-block:30px;

  --kongres-page-width:760px;
  --kongres-page-pad:56px;
  --kongres-nav-height:72px;
}

/* ---------- Zaklad ---------- */
*,
*::before,
*::after{box-sizing:border-box;}

body{margin:0;}

.kongres{
  background:var(--kongres-color-shell);
  color:var(--kongres-color-text);
  font-family:var(--kongres-font);
  font-size:var(--kongres-fs-base);
  font-weight:400;
  line-height:var(--kongres-lh);
}

.kongres a{/*color:inherit;*/}
.kongres :focus-visible{outline:2px solid var(--kongres-color-primary);outline-offset:3px;}

/* ---------- Navigace (jen na strance kongresu) ---------- */
.nav{
  position:sticky;
  top:0;
  z-index:50;
  background:var(--kongres-color-bg);
  border-bottom:1px solid var(--kongres-color-line);
}
.nav__inner{
  max-width:1180px;
  margin:0 auto;
  min-height:var(--kongres-nav-height);
  padding:0 32px;
  display:flex;
  align-items:center;
  gap:32px;
}
.nav__brand{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  text-decoration:none;
}
.nav__brand img,
.nav__brand svg{display:block;height:40px;width:auto;}
.nav__list{
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:26px;
  margin:0;
  padding:0;
  list-style:none;
}
.nav__list a{
  display:inline-block;
  padding:4px 0;
  font-size:var(--kongres-fs-base);
  font-weight:400;
  text-decoration:none;
  border-bottom:1px solid transparent;
}
.nav__list a:hover{border-bottom-color:var(--kongres-color-primary);}
.nav__cta{
  flex:0 0 auto;
  display:inline-block;
  padding:11px 22px;
  background:var(--kongres-color-primary);
  color:#fff;
  font-size:var(--kongres-fs-base);
  font-weight:700;
  text-decoration:none;
  border-radius:100px;
  transition:background-color .18s ease;
}
.nav__cta:hover{background:var(--kongres-color-primary-dark);color:#fff;}

/* ---------- Layout: dva sloupce ---------- */
.konference{padding:0 20px 80px;}
.konference__grid{
  max-width:1180px;
  margin:0 auto;
  padding-top:48px;
  display:grid;
  grid-template-columns:320px 1fr;
  gap:40px;
  align-items:start;
}

/* ---------- Levy sloupec ---------- */
.side{
  position:sticky;
  top:calc(var(--kongres-nav-height) + 24px);
  padding:34px 30px;
  background:var(--kongres-color-bg);
  box-shadow:0 2px 24px rgba(20,30,50,.08);
}
.side__block{margin-bottom:26px;}
.side__eyebrow{
  margin:0 0 6px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--kongres-color-primary);
}
.side__title{
  margin:0;
  font-size:23px;
  font-weight:700;
  line-height:1.25;
}
.side__label{
  margin:0 0 8px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--kongres-color-primary);
}
.side__text{margin:0 0 12px;font-weight:400;}
.side__note{font-weight:300;color:var(--kongres-color-muted);}

.side__facts{margin:0 0 26px;}
.side__facts dt{
  margin-top:16px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--kongres-color-primary);
}
.side__facts dt:first-child{margin-top:0;}
.side__facts dd{margin:2px 0 0;font-weight:300;}

.side__cta{
  display:block;
  padding:14px 20px;
  background:var(--kongres-color-primary);
  color:#fff;
  font-weight:700;
  text-align:center;
  text-decoration:none;
  border-radius:100px;
  transition:background-color .18s ease;
}
.side__cta:hover,
.side__cta:focus{color:#fff;background:var(--kongres-color-primary-dark);}

/* ---------- Pravy sloupec ---------- */
.content{
  padding:44px 48px 52px;
  background:var(--kongres-color-bg);
  box-shadow:0 2px 24px rgba(20,30,50,.08);
}
.content .section__heading:first-child{margin-top:0;}

/* Prihlaseni jako plna sedomodra plocha (bleed k okrajum karty) */
.section--form{
  margin:48px -48px -52px;
  padding:40px 48px 52px;
  background:var(--kongres-color-shell);
}
.section--form .section__heading{margin-top:0;}

/* ---------- Sekce ---------- */
.section{scroll-margin-top:calc(var(--kongres-nav-height) + 16px);}
.section__heading{
  margin:44px 0 18px;
  font-size:var(--kongres-fs-section);
  font-weight:700;
}
.section__footnote{margin:8px 0 0;font-weight:300;color:var(--kongres-color-muted);}

/* ---------- Den ---------- */
.day{margin-bottom:var(--kongres-space-block);}
.day__date{margin:0 0 4px;font-size:var(--kongres-fs-day);font-weight:700;line-height:1.25;}
.day__note{
  margin:0 0 20px;
  padding-left:calc(var(--kongres-col-time) + var(--kongres-gap-col));
  font-weight:300;
}

/* ---------- Blok / predsednictvi ---------- */
.block{margin:26px 0 12px;}
.block__title,
.block__chair{
  margin:0;
  padding-left:calc(var(--kongres-col-time) + var(--kongres-gap-col));
  font-weight:700;
}
.block__chair{font-weight:400;color:var(--kongres-color-muted);}

/* ---------- Radek programu ---------- */
.row{display:flex;align-items:flex-start;margin-bottom:var(--kongres-space-row);}
.row--tight{margin-bottom:6px;}
.row__time{
  flex:0 0 var(--kongres-col-time);
  margin-right:var(--kongres-gap-col);
  font-weight:600;
  color:#000;
  font-variant-numeric:tabular-nums;
}
.row__body{flex:1 1 auto;min-width:0;}
.row__speaker{font-weight:300;}
.row__title{font-weight:400;}
.row__strong{font-weight:700;}
.row__sub{display:block;font-weight:300;}
.row__list{margin:2px 0 0;padding:0;list-style:none;font-weight:300;}

/* ---------- Cenik / registrace ---------- */
.fees{
  width:100%;
  border-collapse:collapse;
  margin:0 0 18px;
  font-size:var(--kongres-fs-base);
}
.fees th,
.fees td{
  padding:10px 8px;
  text-align:right;
  vertical-align:top;
  border-bottom:1px solid var(--kongres-color-line);
}
.fees thead th{
  font-weight:700;
  border-bottom:2px solid var(--kongres-color-primary);
}
.fees th:first-child,
.fees td:first-child{text-align:left;}
.fees tbody th{font-weight:400;}
.fees tbody th span{display:block;font-weight:300;color:var(--kongres-color-muted);}
.fees td{font-variant-numeric:tabular-nums;}
.fees tbody tr:last-child th,
.fees tbody tr:last-child td{/*border-bottom:1px solid var(--kongres-color-text);*/
border-bottom:none;
}
.fees__row--extra th,
.fees__row--extra td{font-weight:300;}

.cta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:20px;
  padding:26px 0 0;
  border-top:1px solid var(--kongres-color-line);
}
.cta__button{
  display:inline-block;
  padding:14px 30px;
  background:var(--kongres-color-primary);
  color:#fff;
  font-weight:700;
  text-decoration:none;
  border-radius:100px;
  transition:background-color .18s ease;
}
.cta__button:hover{background:var(--kongres-color-primary-dark);}
.cta__text{margin:0;font-weight:300;flex:1 1 260px;color:var(--kongres-color-muted);}

/* ---------- Kontakt ---------- */
.foot{margin-top:8px;}
.foot__row{margin:0 0 6px;}
.foot__row strong{font-weight:700;}
.foot a{text-decoration:none;border-bottom:1px solid var(--kongres-color-primary);}

/* ---------- Contact Form 7 ---------- */
.form{margin-top:4px;}
.form__hint{
  padding:14px 16px;
  border:1px dashed #999;
  font-weight:300;
}
.form__hint code{font-size:12px;}

.wpcf7{font-family:var(--kongres-font);}
.wpcf7 form > p{margin:0 0 18px;}

.wpcf7 label{
  display:block;
  margin-bottom:6px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--kongres-color-text);
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea{
  display:block;
  width:100%;
  margin-top:6px;
  padding:8px 2px;
  background:transparent;
  border:none;
  border-bottom:1px solid var(--kongres-color-muted);
  border-radius:0;
  color:var(--kongres-color-text);
  font-family:var(--kongres-font);
  font-size:var(--kongres-fs-base);
  font-weight:400;
  letter-spacing:normal;
  text-transform:none;
  transition:border-color .16s ease;
}
.wpcf7 textarea{min-height:100px;resize:vertical;}
.wpcf7 select{appearance:none;background-image:none;}

.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus{
  outline:none;
  border-bottom-color:var(--kongres-color-primary);
}

.wpcf7 .wpcf7-radio,
.wpcf7 .wpcf7-checkbox{
  display:block;
  margin-top:6px;
}
.wpcf7 .wpcf7-list-item{display:block;margin:0 0 6px;}
.wpcf7 .wpcf7-list-item-label{
  font-size:var(--kongres-fs-base);
  font-weight:300;
  letter-spacing:normal;
  text-transform:none;
}
.wpcf7 input[type="radio"],
.wpcf7 input[type="checkbox"]{
  margin-right:8px;
  accent-color:var(--kongres-color-primary);
}

.wpcf7 .wpcf7-submit{
  display:inline-block;
  margin-top:6px;
  padding:14px 34px;
  background:var(--kongres-color-primary);
  border:1px solid var(--kongres-color-primary);
  border-radius:100px;
  color:#fff;
  font-family:var(--kongres-font);
  font-size:var(--kongres-fs-base);
  font-weight:700;
  letter-spacing:.04em;
  cursor:pointer;
  transition:background-color .18s ease;
}
.wpcf7 .wpcf7-submit:hover{background:var(--kongres-color-primary-dark);border-color:var(--kongres-color-primary-dark);}
.wpcf7 .wpcf7-submit:disabled{opacity:.45;cursor:default;}

.wpcf7 .wpcf7-spinner{margin:0 0 0 12px;}

.wpcf7 .wpcf7-not-valid{border-bottom-color:#b00020;}
.wpcf7 .wpcf7-not-valid-tip{
  margin-top:4px;
  color:#b00020;
  font-size:12px;
  font-weight:400;
  letter-spacing:normal;
  text-transform:none;
}
.wpcf7 .wpcf7-response-output{
  margin:22px 0 0;
  padding:12px 16px;
  border:1px solid var(--kongres-color-text);
  font-weight:300;
}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--kongres-color-primary);background:#eaf2fd;}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output{border-color:#b00020;color:#b00020;}

/* ---------- Responzivita ---------- */
@media (max-width:991.98px){
  .konference__grid{grid-template-columns:1fr;}
  .side{position:static;margin-bottom:0;}
  .content{padding:32px 28px 40px;}
  .section--form{margin:32px -28px -40px;padding:32px 28px 40px;}
}

@media (max-width:620px){
  :root{
    --kongres-col-time:100%;
    --kongres-gap-col:0px;
    --kongres-fs-day:19px;
  }
  .konference{padding:0 12px 48px;}
  .konference__grid{padding-top:24px;gap:24px;}
  .side{padding:26px 20px;}
  .content{padding:26px 20px 34px;}
  .section--form{margin:26px -20px -34px;padding:26px 20px 34px;}
  .nav__inner{flex-wrap:wrap;padding:12px 20px;min-height:0;}
  .nav__list{order:3;flex:1 0 100%;justify-content:flex-start;gap:16px;padding-top:10px;}
  .nav__cta{margin-left:auto;padding:9px 16px;color:#fff !important}
  .row{display:block;}
  .row__time{margin:0 0 2px;}
  .day__note,.block__title,.block__chair{padding-left:0;}
  .fees th,.fees td{padding:8px 4px;}
}

@media (prefers-reduced-motion:reduce){
  .kongres *{transition:none !important;animation:none !important;}
}

@media print{
  .kongres{background:#fff;}
  .nav,.side__cta,.cta__button,#prihlaseni{display:none;}
  .side,.content{box-shadow:none;padding:0;}
  .konference__grid{grid-template-columns:1fr;}
}

/* ---------- WP utility ---------- */
.screen-reader-text{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}
.skip-link{
  position:absolute;left:-9999px;top:0;
  z-index:100;
  padding:10px 18px;
  background:var(--kongres-color-primary);color:#fff;
  font-family:var(--kongres-font);font-size:13px;font-weight:700;
  text-decoration:none;
}
.skip-link:focus{left:0;}
body.admin-bar .nav{top:32px;}
@media (max-width:782px){body.admin-bar .nav{top:46px;}}

/* ---------- Vychozi obsah stranky / prispevku ---------- */
.kongres__page{
  max-width:var(--kongres-page-width);
  margin:0 auto;
  padding:64px 20px;
}
.entry{max-width:var(--kongres-page-width);margin:0 auto;}
.entry__title{margin:0 0 18px;font-size:23px;font-weight:700;line-height:1.3;}
.entry__content p{font-weight:300;margin:0 0 14px;}
.entry__content h2{font-size:var(--kongres-fs-section);font-weight:700;margin:32px 0 12px;}
.entry__content a{color:var(--kongres-color-primary);}

/* ---------- Prazdna uvodni strana ---------- */
.kongres__page--blank{min-height:40vh;}
.kongres__page--blank:empty{padding:0;}

#cena {
	margin-top: 26px;
}
