/* ===== Paleta + typografie (decentní, profesionální) ===================== */
:root{
  --bg:        #f6f3ed;
  --surface:   #fffdfa;
  --surface-2: #f1ece3;
  --text:      #23313d;
  --muted:     #6d7680;
  --primary:   #315d74;
  --primary-10:#e6eef2;
  --accent:    #b98b52;
  --border:    #dfd8cd;
  --radius:    14px;
  --shadow:    0 10px 30px rgba(35,49,61,.07);

  --container: 1100px;
  --s1:.5rem; --s2:.75rem; --s3:1rem; --s4:1.5rem; --s5:2rem; --s6:3rem;

  /* barvy štítků */
  --video:    #e11d48;  /* červená */
  --playlist: #2563eb;  /* modrá */
  --cyklus:   #059669;  /* zelená */
}

/* Dark mode podle systému */
@media (prefers-color-scheme: dark){
  :root{
    --bg:#121418; --surface:#1a1d22; --surface-2:#161a1f;
    --text:#e9edf3; --muted:#b9c1cc; --border:#2a2f36;
    --primary:#86b3e6; --primary-10:#0b223d; --accent:#d1a56f; --shadow:none;

    --video:#fb7185; --playlist:#60a5fa; --cyklus:#34d399;
  }
}

/* ===== Reset + typografie ================================================ */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
img{max-width:100%}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height:1.65; color:var(--text); background:var(--bg);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  background-image:
    radial-gradient(circle at top left, rgba(185,139,82,.08), transparent 32%),
    radial-gradient(circle at top right, rgba(49,93,116,.08), transparent 30%);
}
.skip-link{
  position:absolute;
  left:var(--s3);
  top:-100px;
  z-index:40;
  padding:.7rem 1rem;
  border-radius:10px;
  background:var(--primary);
  color:#fff;
}
.skip-link:focus{ top:var(--s3); }
h1,h2,h3{font-family:"EB Garamond", Georgia, "Times New Roman", serif}
h1,h2,h3{line-height:1.2; margin:0 0 var(--s3)}
h1{font-size:clamp(2rem, 1.3rem + 2.5vw, 3rem)}
h2{font-size:clamp(1.6rem, 1.1rem + 1.2vw, 2.2rem)}
h3{font-size:1.25rem}
p{margin:0 0 var(--s3)}
.lead{font-size:1.125rem; color:var(--muted)}
a{color:var(--primary); text-decoration:none}
a:hover{text-decoration:underline}
.muted{color:var(--muted)}
code{background:var(--surface-2); padding:.1rem .3rem; border-radius:6px}

/* ===== Layout ============================================================= */
.container{max-width:var(--container); margin-inline:auto; padding:0 clamp(.9rem, 2.6vw, 1.25rem)}
.section{padding: clamp(2.2rem, 5vw, var(--s6)) 0}
.section--alt{background:var(--surface-2)}
.section-title{margin-bottom:.35rem}
.section-subtitle{
  margin:-.2rem 0 var(--s4); color:var(--muted); font-style:italic;
  max-width: 70ch;
}

/* ===== Header ============================================================= */
.site-header{
  position: sticky; top:0; z-index:20; backdrop-filter:saturate(130%) blur(10px);
  background: color-mix(in oklab, var(--surface), transparent 10%);
  border-bottom:1px solid var(--border);
  box-shadow: 0 1px 0 rgba(255,255,255,.45) inset;
}
.site-header .container{
  max-width: min(1440px, calc(100% - 24px));
}
.header__menu{
  display:flex;
  justify-content:flex-end;
  padding-top:0;
}
.header__nav-wrap{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  align-items:center;
  gap:1rem;
  padding:.8rem 0;
}
.nav{
  display:flex;
  gap:.38rem;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  min-width:0;
}
.nav a{
  line-height:1.3;
  display:inline-flex;
  align-items:center;
  min-height:2.35rem;
  padding:.45rem .62rem;
  border-radius:999px;
  color:color-mix(in oklab, var(--text), var(--muted) 18%);
  border:1px solid transparent;
  font-size:.94rem;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.nav a:hover{
  text-decoration:none;
  background:color-mix(in oklab, var(--primary-10), var(--surface) 35%);
  border-color:color-mix(in oklab, var(--accent), white 68%);
  color:var(--text);
}
.nav-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.45rem;
}
.nav-brand,
.nav__practice,
.nav__contact{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.35rem;
  padding:.45rem .72rem;
  border-radius:999px;
  text-decoration:none;
  white-space:nowrap;
  border:1px solid color-mix(in oklab, var(--accent), white 62%);
  background: color-mix(in oklab, var(--surface), var(--accent) 8%);
  color:var(--text);
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.nav-brand{
  font-family:"EB Garamond", Georgia, "Times New Roman", serif;
  font-size:1.15rem;
  font-weight:700;
  letter-spacing:-.01em;
}
.nav__practice,
.nav__contact{
  font-weight:600;
  font-size:.94rem;
  color:color-mix(in oklab, var(--text), var(--muted) 12%);
}
.nav__contact{
  background: color-mix(in oklab, var(--surface), var(--accent) 10%);
}
.nav-brand:hover,
.nav__practice:hover,
.nav__contact:hover{
  text-decoration:none;
  background:color-mix(in oklab, var(--primary-10), var(--surface) 35%);
  border-color:color-mix(in oklab, var(--accent), white 55%);
  color:var(--text);
}

/* ===== Hero (bez obrázku) + zvýrazněný název/podtitul ==================== */
.hero{padding: clamp(1.8rem, 3vw, 3rem) 0}
.hero__inner{display:grid; gap:var(--s4); align-items:center}
.hero__inner--noimg{grid-template-columns: 1fr}

.site-title{
  font-size: clamp(2.2rem, 1.2rem + 3vw, 3.4rem);
  letter-spacing:.3px;
  position:relative;
  margin-bottom:.15em;
}
.site-title::after{
  content:"";
  display:block;
  width: clamp(120px, 30%, 240px);
  height: 4px;
  margin-top:.35em;
  border-radius:999px;
  background: linear-gradient(90deg, color-mix(in oklab, var(--accent), white 18%), color-mix(in oklab, var(--primary), black 5%));
  opacity:.9;
}

.subtitle{
  font-size: clamp(1.05rem, .6rem + 1vw, 1.35rem);
  font-style: italic;
  color: color-mix(in oklab, var(--text), var(--muted) 35%);
  font-weight: 600;
  letter-spacing: .15px;
  margin-bottom:.9em;
}

/* Úvodní dlouhý text (citace) */
.intro-quote{
  margin: 0;
  padding: clamp(.95rem, 2.2vw, 1.25rem);
  background: linear-gradient(180deg, color-mix(in oklab, var(--surface-2), white 16%), var(--surface-2));
  border: 1px solid var(--border);
  border-radius: var(--radius);
  text-wrap: balance;
  box-shadow: var(--shadow);
}
.intro-quote p{ margin: .6rem 0; }

/* ===== Speciální zvýraznění sekce Seznam ===================== */
.section--accent{
  background:
    linear-gradient(180deg, color-mix(in oklab, var(--primary-10), white 70%), transparent 50%),
    var(--surface-2);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.section--accent .section-title{
  position: relative;
  padding-bottom: .3rem;
}
.section--accent .section-title::after{
  content:"";
  position:absolute; left:0; bottom:-2px;
  width: 120px; height: 3px; border-radius:999px;
  background: color-mix(in oklab, var(--primary), black 8%);
  opacity:.7;
}

/* ===== Vyhledávání ======================================================== */
.section--search{
  padding-top: 0;
}
.search-panel{
  background: linear-gradient(135deg, color-mix(in oklab, var(--primary-10), white 48%), color-mix(in oklab, var(--surface), var(--accent) 6%));
  border:1px solid var(--border);
  border-radius: calc(var(--radius) + 4px);
  box-shadow: var(--shadow);
  padding: clamp(1.2rem, 2vw, 1.8rem);
}
.search-field{
  display:block;
  margin-top:var(--s3);
}
.search-field__label{
  display:block;
  margin-bottom:.45rem;
  font-weight:600;
}
.search-field input{
  width:100%;
  padding:.95rem 1rem;
  border-radius:12px;
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--text);
  font: inherit;
}
.search-status{
  margin: .8rem 0 0;
  color: var(--muted);
}

/* ===== Grid přednášek ===================================================== */
.grid{
  display:grid; gap:var(--s4);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
}
@media (max-width: 700px){ .grid{grid-template-columns: 1fr} }

.card{
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); box-shadow:var(--shadow);
  overflow:hidden;
  transition: transform .18s ease, box-shadow .18s ease;
}
.card:hover{ transform: translateY(-2px); box-shadow: 0 14px 34px rgba(35,49,61,.09); }

.thumb{position:relative; display:block; overflow:hidden}
.thumb img{
  width:100%; height:auto; display:block;
  aspect-ratio: 16 / 9; object-fit: cover; object-position: center;
  background: #ddd;
  transform: scale(1.001);
  transition: transform .25s ease;
}
.thumb:hover img{ transform: scale(1.03); }

.card__body{padding:clamp(1rem, 2.4vw, 1.5rem)}
.card__body h3{
  font-size: clamp(1.05rem, .95rem + .55vw, 1.25rem);
  text-wrap: balance;
}
.meta{color:var(--muted); font-size:.95rem; margin:.25rem 0 var(--s3)}
.note{color:var(--muted); font-size:.95rem; margin:.25rem 0 var(--s3); font-style: italic}

/* ===== Badge + YouTube ikona ============================================== */
.badge{
  position:absolute; top:8px; right:8px;
  color:#fff; font-size:.8rem; padding:.25em .55em; border-radius:.5em;
  background: rgba(0,0,0,.65);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 2px 6px rgba(0,0,0,.25);
}
.badge--video   { background: color-mix(in oklab, var(--video), black 10%); }
.badge--playlist{ background: color-mix(in oklab, var(--playlist), black 10%); }
.badge--cyklus  { background: color-mix(in oklab, var(--cyklus), black 10%); }

.yt-icon{
  position:absolute; bottom:8px; right:8px;
  background:#ff0000; color:#fff; font-weight:700;
  border-radius:50%; width:28px; height:28px;
  display:flex; align-items:center; justify-content:center;
  font-size:.9rem; box-shadow:0 2px 6px rgba(0,0,0,.4);
}

/* ===== Seznam všech přednášek (akordeon) ================================= */
.section--archive{ background: var(--surface-2); }
.accordion{ display:flex; flex-direction:column; gap: 12px; }
.accordion-hint{
  margin: -.25rem 0 1rem;
  color: var(--muted);
  font-size: .98rem;
}
.archive-legend{
  display:flex;
  align-items:center;
  gap:.55rem;
  margin: -.35rem 0 1rem;
  color: var(--muted);
  font-size: .95rem;
}
.archive-legend__dot{
  width:.8rem;
  height:.8rem;
  border-radius:999px;
  background:#b91c1c;
  box-shadow:0 0 0 4px rgba(185, 28, 28, .12);
}

.acc{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.acc:hover{
  border-color: color-mix(in oklab, var(--primary), var(--border) 72%);
}
.acc[open]{
  box-shadow: var(--shadow);
  border-color: color-mix(in oklab, var(--primary), var(--border) 70%);
  background: var(--surface);
}

.acc > summary{
  list-style: none;
  cursor: pointer;
  padding: 1rem 1rem;
  display: flex; align-items: center; gap: .6rem;
  user-select: none;
  font-weight: 600;
  color: var(--text);
  justify-content: flex-start;
  transition: background .15s ease, color .15s ease;
}
.acc > summary:hover{
  background: color-mix(in oklab, var(--primary-10), var(--surface) 45%);
}
.acc > summary::-webkit-details-marker{ display:none; }
.acc > summary::after{
  content: "Rozkliknout";
  margin-left: auto;
  font-size: .82rem;
  letter-spacing: .02em;
  text-transform: uppercase;
  font-weight: 700;
  transform: rotate(0deg);
  transition: transform .15s ease, opacity .15s ease, color .15s ease;
  opacity: .65;
}
.acc > summary::before{
  content: "▸";
  font-size: 1.05rem;
  opacity: .7;
  transition: transform .15s ease, opacity .15s ease;
}
.acc[open] > summary::before{
  transform: rotate(90deg);
  opacity: 1;
}
.acc[open] > summary::after{
  content: "Skrýt";
  opacity: 1;
}

.year-badge{
  display:inline-block;
  font-family: "EB Garamond", Georgia, "Times New Roman", serif;
  background: color-mix(in oklab, var(--primary), white 80%);
  color: color-mix(in oklab, var(--primary), black 10%);
  border: 1px solid color-mix(in oklab, var(--primary), white 65%);
  padding: .12rem .5rem;
  border-radius: .6rem;
  box-shadow: 0 1px 0 rgba(0,0,0,.04) inset;
}

.acc-list{
  margin: 0; padding: 0 1rem 1rem 1.45rem;
}
.acc-list li{ margin:.38rem 0; }
.archive-link{
  color:#b91c1c;
  font-weight:600;
  text-decoration:none;
}
.archive-link:hover{
  color:#991b1b;
  text-decoration:underline;
}
.archive-link::after{
  content:"  ▶";
  font-size:.85em;
}

/* Seznam otázek v roce 2017 */
.acc-body{ padding: 0 1rem 1rem 1.2rem; }
.qa-list{ margin: .4rem 0 0 0; padding-left: 1.1rem; }
.qa-list li{ margin:.45rem 0; }

/* Dva sloupce pro delší roky */
@media (min-width: 900px){
  .acc-list.two-cols{
    columns: 2; column-gap: 2rem;
  }
  .acc-list.two-cols li{ break-inside: avoid; }
}
@media (max-width: 640px){
  .acc > summary{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .acc > summary::after{
    width:100%;
    margin-left: 1.65rem;
    margin-top: .1rem;
  }
}

/* ===== Tlačítka =========================================================== */
.btn{
  display:inline-block; padding:.7rem 1rem; border-radius:10px;
  border:1px solid var(--border); background:var(--surface); color:inherit;
  transition:.15s transform ease, .15s background ease, .15s border ease;
}
.btn:hover{transform: translateY(-1px)}
.btn--primary{
  background:linear-gradient(180deg, color-mix(in oklab, var(--primary), white 12%), color-mix(in oklab, var(--primary), black 4%)); border-color: color-mix(in oklab, var(--primary), black 12%);
  color:white;
}
.btn--ghost{background:transparent}
.btn--icon{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
}

/* ===== Footer ============================================================= */
.site-footer{
  margin-top:clamp(26px, 3vw, 42px);
  border-top:1px solid var(--border);
  background:rgba(255, 252, 247, .58);
  padding:clamp(18px, 2vw, 24px) 0;
}
.footer__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--s3);
  color:var(--muted);
  font-size:.9rem;
}
.footer__contact{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.7rem 1.15rem;
}
.footer__contact a{
  color:inherit;
  text-decoration:none;
  text-underline-offset:3px;
}
.footer__contact a:hover{
  color:var(--text);
  text-decoration:underline;
}
.footer__facebook{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
}
.footer__facebook svg{
  flex:0 0 auto;
}
.footer__inner small{
  flex:0 0 auto;
}
.footer-nav{display:flex; gap: var(--s3)}
@media (max-width: 700px){
  .footer__inner{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* ===== Kontakt ============================================================ */
.contact-card{
  padding: clamp(1.1rem, 2vw, 1.6rem);
  background: linear-gradient(180deg, color-mix(in oklab, var(--surface), white 10%), var(--surface));
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:var(--s4);
}
.contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:var(--s3);
  justify-content:center;
}

/* ===== Přístupnost ======================================================== */
:focus-visible{outline:3px solid color-mix(in oklab, var(--primary), white 55%); outline-offset:2px}

/* ===== Mobile header toggle (collapsible top bar) ========================= */
.header-toggle{
  display:none;
  border-radius:999px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  font: inherit;
  font-weight: 600;
  padding:.55rem .9rem;
  white-space:nowrap;
}
@media (max-width: 800px){
  .header-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .site-header{
    transition: transform .22s ease;
    backdrop-filter: blur(10px);
  }
  body{ scroll-padding-top: 72px; }
  .header__menu{
    padding-top:.65rem;
    padding-bottom:0;
  }
  .header__nav-wrap{
    display:grid;
    grid-template-columns:1fr;
    justify-items:stretch;
    gap:.55rem;
    max-height: 520px;
    overflow:hidden;
    padding:.55rem 0 .7rem;
    transition:max-height .22s ease, opacity .18s ease, padding .18s ease;
    opacity:1;
  }
  .site-header.nav-collapsed .header__nav-wrap{
    max-height:0;
    padding:0;
    opacity:0;
  }
  .nav{
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:.45rem;
    justify-content:flex-start;
  }
  .nav a{
    display:block;
    padding:.6rem .75rem;
    min-height:auto;
    border-radius:12px;
    background: color-mix(in oklab, var(--surface), transparent 8%);
    border-color: var(--border);
  }
}
/* Improve hit-area and visibility in dark mode */
@media (prefers-color-scheme: dark){
  .header-toggle{ border-color: rgba(255,255,255,.18); box-shadow:none; }
  .archive-link{ color:#f87171; }
  .archive-link:hover{ color:#fca5a5; }
  .archive-legend__dot{ box-shadow:0 0 0 4px rgba(248, 113, 113, .18); }
}
@media (max-width: 900px){
  .site-title::after{
    width: min(180px, 45%);
  }
  .section-subtitle{
    margin-bottom: 1.1rem;
  }
  .footer__inner{
    align-items:flex-start;
  }
}
@media (max-width: 640px){
  .site-title{
    font-size: clamp(1.95rem, 8vw, 2.55rem);
  }
  .subtitle{
    font-size: 1rem;
    margin-bottom: .65rem;
  }
  .hero{
    padding: 1.2rem 0 1.6rem;
  }
  .hero__inner{
    gap: 1rem;
  }
  .intro-quote{
    padding: .9rem .95rem;
    font-size: .96rem;
    line-height: 1.58;
  }
  .search-panel{
    padding: .95rem;
    border-radius: 16px;
  }
  .search-field{
    margin-top: .75rem;
  }
  .search-field__label{
    font-size: .95rem;
  }
  .search-field input{
    padding:.85rem .95rem;
    font-size: 16px;
  }
  .accordion-hint,
  .archive-legend,
  .search-status,
  .note,
  .meta{
    font-size:.92rem;
  }
  .acc > summary{
    padding:.85rem .9rem;
    gap:.5rem;
  }
  .year-badge{
    font-size: 1rem;
  }
  .contact-actions .btn{
    width:100%;
    text-align:center;
    justify-content:center;
  }
  .acc-list,
  .acc-body{
    padding-left: 1rem;
    padding-right: .9rem;
  }
  .qa-list{
    padding-left: 1rem;
  }
}
@media (max-width: 420px){
  .container{
    padding-inline:.8rem;
  }
  .section{
    padding: 1.85rem 0;
  }
  .header-toggle{
    padding:.48rem .78rem;
    font-size:.94rem;
  }
  .header__menu{
    padding-top:.55rem;
  }
  .nav a{
    padding:.52rem .65rem;
    font-size:.95rem;
  }
  .site-title{
    font-size: clamp(1.75rem, 8.5vw, 2.2rem);
  }
  .subtitle{
    font-size: .96rem;
  }
  .section-title,
  h2{
    word-break: break-word;
  }
  .card{
    border-radius: 12px;
  }
  .card__body{
    padding: .9rem;
  }
  .card__body h3{
    font-size: 1rem;
    line-height: 1.3;
  }
  .acc{
    border-radius: 12px;
  }
  .acc > summary{
    padding: .8rem;
  }
  .acc > summary::after{
    margin-left: 1.45rem;
    font-size: .76rem;
  }
  .acc-list li,
  .qa-list li{
    margin: .5rem 0;
  }
  .archive-link::after{
    content:"";
  }
  .contact-card{
    padding: 1rem;
  }
  .footer__inner{
    gap:.45rem;
  }
}
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto !important;
    transition:none !important;
    animation:none !important;
  }
}

/* ===== Podpora projektu =================================================== */
.support-card{
  margin-top: 0;
  padding: clamp(1rem, 2vw, 1.35rem);
  background: linear-gradient(180deg, color-mix(in oklab, var(--surface), white 8%), var(--surface));
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 128px;
  gap: var(--s4);
  align-items: center;
}
.support-card__copy{
  max-width: 760px;
}
.support-card__eyebrow{
  margin: 0 0 .35rem;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.support-card h3{
  margin: 0;
  font-size: clamp(1.3rem, 2vw, 1.65rem);
}
.support-card p:not(.support-card__eyebrow){
  margin: .55rem 0 0;
  color: var(--muted);
  line-height: 1.65;
}
.support-card__qr{
  width: 128px;
  aspect-ratio: 1;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 12px 24px rgba(15, 23, 42, .08);
}
.support-card__qr img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  image-rendering: pixelated;
}
@media (max-width: 620px){
  .support-card{
    grid-template-columns: 1fr;
    justify-items: start;
  }
  .support-card__qr{
    width: 116px;
  }
}

/* ===== Zkušební sjednocení s procvičováním dějepisu ====================== */
.lectures-trial{
  --bg:#f3efe6;
  --surface:rgba(255, 252, 247, .92);
  --surface-2:#ece5d8;
  --text:#1f2933;
  --muted:#64707d;
  --primary:#194e78;
  --primary-10:#e6eef2;
  --accent:#b08246;
  --border:#d7c8af;
  --radius:24px;
  --shadow:0 20px 40px rgba(48, 43, 34, .12);
  --container:1240px;
  background:
    radial-gradient(circle at top left, rgba(176, 130, 70, .14), transparent 24%),
    radial-gradient(circle at top right, rgba(25, 78, 120, .1), transparent 24%),
    linear-gradient(180deg, #f8f4ed 0%, #f3eee5 56%, #ebe3d5 100%);
}

.lectures-trial .site-header{
  top:12px;
  width:min(1240px, calc(100% - 28px));
  margin:12px auto 0;
  background:transparent;
  border:0;
  box-shadow:none;
}

.lectures-trial .site-header .container{
  max-width:none;
  padding-inline:0;
}

.lectures-trial .header__menu{
  padding:0;
}

.lectures-trial .header__nav-wrap{
  padding:10px 18px;
  border:1px solid rgba(164, 139, 99, .15);
  border-radius:22px;
  background:rgba(255, 252, 247, .76);
  box-shadow:0 10px 24px rgba(48, 43, 34, .06);
  backdrop-filter:blur(10px);
}

.lectures-trial .nav-brand{
  font-size:1.5rem;
  border-color:transparent;
  background:transparent;
  padding-left:0;
}

.lectures-trial .nav a,
.lectures-trial .nav__practice,
.lectures-trial .nav__contact{
  min-height:2.45rem;
  border-radius:999px;
  border:1px solid rgba(176, 130, 70, .18);
  background:rgba(255, 255, 255, .75);
  color:var(--text);
  font-weight:700;
}

.lectures-trial .nav__practice{
  background:rgba(25, 78, 120, .08);
  border-color:rgba(25, 78, 120, .16);
}

.lectures-trial .hero{
  padding:18px 0 0;
}

.lectures-trial .hero__inner{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 320px;
  gap:18px;
  align-items:stretch;
  padding:34px 42px 42px;
  border:1px solid rgba(164, 139, 99, .18);
  border-radius:28px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, 0)),
    rgba(255, 252, 247, .92);
  box-shadow:var(--shadow);
  overflow:hidden;
  position:relative;
}

.lectures-trial .hero__inner::after{
  content:"";
  position:absolute;
  right:-10px;
  bottom:-90px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(25, 78, 120, .14), rgba(25, 78, 120, 0));
}

.lectures-trial .hero__copy{
  position:relative;
  z-index:1;
  align-self:center;
}

.lectures-trial .site-title{
  max-width:11ch;
  font-size:clamp(2.9rem, 4.6vw, 5.15rem);
  line-height:.95;
  letter-spacing:-.03em;
  text-wrap:balance;
}

.lectures-trial .site-title::after{
  display:none;
}

.lectures-trial .subtitle{
  max-width:34ch;
  margin:16px 0 14px;
  color:var(--text);
  font-size:clamp(1.22rem, 1rem + .52vw, 1.56rem);
  font-style:normal;
  font-weight:650;
  line-height:1.44;
  text-wrap:balance;
}

.lectures-trial .hero-lead{
  max-width:58ch;
  margin:0;
  color:var(--muted);
  font-size:clamp(1.08rem, 1rem + .22vw, 1.2rem);
  font-weight:500;
  line-height:1.65;
}

.lectures-trial .hero__visual{
  position:relative;
  z-index:1;
  min-height:280px;
  overflow:hidden;
  border-radius:26px;
  margin-left:-8px;
}

.lectures-trial .hero__visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255, 252, 247, .82) 0%, rgba(255, 252, 247, .12) 42%, rgba(255, 252, 247, 0) 70%),
    linear-gradient(180deg, rgba(255, 252, 247, .08) 0%, rgba(255, 252, 247, 0) 25%, rgba(255, 252, 247, .52) 100%);
  pointer-events:none;
}

.lectures-trial .hero__visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:grayscale(100%) contrast(1.06) brightness(1.02);
  opacity:.9;
  mix-blend-mode:multiply;
}

.lectures-trial .section--about{
  padding:24px 0 0;
}

.lectures-trial .about-panel,
.lectures-trial .search-panel,
.lectures-trial .contact-card,
.lectures-trial .support-card{
  border-radius:28px;
  border:1px solid rgba(164, 139, 99, .18);
  background:var(--surface);
  box-shadow:var(--shadow);
}

.lectures-trial .about-panel{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(210px, .32fr) minmax(0, 1fr);
  gap:clamp(1.5rem, 4vw, 4rem);
  align-items:start;
  width:min(100%, 1320px);
  margin:0 auto;
  padding:clamp(2rem, 4.2vw, 4rem);
  background:
    linear-gradient(90deg, rgba(255, 252, 247, .98), rgba(255, 252, 247, .84)),
    radial-gradient(circle at 92% 8%, rgba(176, 130, 70, .16), transparent 34%);
}

.lectures-trial .about-panel::before{
  content:"";
  position:absolute;
  inset:clamp(1.2rem, 2vw, 1.8rem) auto clamp(1.2rem, 2vw, 1.8rem) clamp(1.2rem, 2vw, 1.8rem);
  width:5px;
  border-radius:999px;
  background:linear-gradient(180deg, var(--primary), var(--accent));
}

.lectures-trial .about-panel::after{
  content:"O projektu";
  position:absolute;
  right:clamp(1rem, 4vw, 3rem);
  bottom:-.18em;
  z-index:0;
  color:rgba(25, 78, 120, .055);
  font-family:"EB Garamond", Georgia, serif;
  font-size:clamp(4rem, 10vw, 10rem);
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}

.lectures-trial .section-kicker{
  margin-bottom:.55rem;
  color:var(--accent);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.lectures-trial .about-panel h2,
.lectures-trial .section h2{
  font-size:clamp(1.85rem, 2.4vw, 2.55rem);
  letter-spacing:-.02em;
}

.lectures-trial .about-panel h2{
  position:relative;
  z-index:1;
  max-width:9ch;
  margin:0;
  font-size:clamp(2.65rem, 4.1vw, 4.45rem);
  line-height:.94;
}

.lectures-trial .intro-quote{
  position:relative;
  z-index:1;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:color-mix(in oklab, var(--text), var(--muted) 14%);
  font-size:clamp(1.08rem, 1.22vw, 1.2rem);
  line-height:1.78;
  text-wrap:pretty;
}

.lectures-trial .intro-quote p{
  max-width:86ch;
  margin:0;
}

.lectures-trial .intro-quote p + p{
  margin-top:1.05rem;
}

.lectures-trial .section{
  padding-block:34px;
}

.lectures-trial .section--search{
  padding-top:24px;
}

.lectures-trial .section--alt{
  background:rgba(255, 252, 247, .36);
}

.lectures-trial .grid{
  gap:22px;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  align-items:start;
}

@media (max-width:1200px){
  .lectures-trial .grid{grid-template-columns:repeat(3, minmax(0, 1fr));}
}

@media (max-width:900px){
  .lectures-trial .grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
}

@media (max-width:620px){
  .lectures-trial .grid{grid-template-columns:1fr;}
}

.lectures-trial .card{
  position:relative;
  display:grid;
  grid-template-rows:auto 1fr;
  width:100%;
  height:auto;
  border-color:rgba(164, 139, 99, .18);
  border-radius:24px;
  background:rgba(255, 252, 247, .92);
  box-shadow:0 20px 40px rgba(48, 43, 34, .1);
  cursor:pointer;
}

.lectures-trial .card:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 44px rgba(48, 43, 34, .12);
}

.lectures-trial .thumb img{
  height:100%;
  filter:grayscale(10%) contrast(1.04) brightness(1.02);
}

.lectures-trial .thumb{
  aspect-ratio:16 / 9;
}

.lectures-trial .yt-icon{
  z-index:3;
}

.lectures-trial .card__body{
  display:flex;
  align-items:flex-start;
  height:140px;
  padding:1.15rem 1.25rem 1.35rem;
}

.lectures-trial .card__body h3{
  font-size:clamp(1.12rem, 1rem + .55vw, 1.35rem);
  line-height:1.18;
}

.lectures-trial .lecture-item{
  display:grid;
  gap:10px;
  min-width:0;
  align-content:start;
}

.lectures-trial .lecture-item__note{
  margin:0;
  padding:0 5px;
  color:var(--muted);
  font-size:.9rem;
  font-style:italic;
  line-height:1.55;
  text-wrap:pretty;
}

.lectures-trial .btn{
  border-radius:999px;
  font-weight:700;
}

@media (prefers-color-scheme: dark){
  .lectures-trial{
    --bg:#f3efe6;
    --surface:rgba(255, 252, 247, .92);
    --surface-2:#ece5d8;
    --text:#1f2933;
    --muted:#64707d;
    --primary:#194e78;
    --primary-10:#e6eef2;
    --accent:#b08246;
    --border:#d7c8af;
    --shadow:0 20px 40px rgba(48, 43, 34, .12);
  }
}

@media (max-width: 980px){
  .lectures-trial .site-header{
    width:min(1240px, calc(100% - 24px));
  }

  .lectures-trial .header__nav-wrap,
  .lectures-trial .hero__inner{
    grid-template-columns:1fr;
  }

  .lectures-trial .hero__visual{
    min-height:220px;
    max-width:360px;
    margin-left:0;
  }

  .lectures-trial .about-panel{
    grid-template-columns:1fr;
    gap:1rem;
  }

  .lectures-trial .about-panel h2{
    max-width:none;
  }
}

@media (max-width: 640px){
  .lectures-trial .site-header{
    position:static;
    margin-top:10px;
  }

  .lectures-trial .header__nav-wrap{
    padding:14px;
  }

  .lectures-trial .hero__inner{
    padding:24px;
    border-radius:24px;
  }

  .lectures-trial .site-title{
    max-width:none;
    font-size:clamp(2.7rem, 12vw, 4rem);
  }

  .lectures-trial .hero__visual{
    min-height:190px;
    max-width:none;
  }

  .lectures-trial .about-panel,
  .lectures-trial .search-panel,
  .lectures-trial .contact-card,
  .lectures-trial .support-card{
    border-radius:22px;
  }
}
