/* =====================================================================
   SPOLEČNÉ STYLY PRO VŠECHNY STRÁNKY
   – všechny popisky a texty Montserrat Light (300), nadpisy zůstávají
   – menu v levém dolním rohu (negativ vůči pozadí)
   – tlačítka, odkazy a odkazy v menu se při najetí nakloní; v seznamu prací jen název práce
   ===================================================================== */

/* ---- v seznamu prací se nenaklání celá práce, jen její název ---- */
.work > a{ rotate:none !important; scale:none !important; }

/* ---- písmo: vše kromě nadpisů lehce ----
   (prvky s vlastním písmem v inline stylu — měřicí sondy psacích nápisů — se nechávají být) */
body *:not(h1, h2, h3, h4, h5, h6, svg, svg *, [style*="font-family"]):not(:is(h1, h2, h3, h4, h5, h6) *){
  font-weight:300 !important;
}

/* ---- MENU vlevo dole ---- */
.site-menu{
  position:fixed; z-index:1500;
  /* stejný okraj jako obsah stránky — levý kraj menu lícuje s krajem fotek prací */
  left:clamp(20px, 4vw, 56px); bottom:clamp(20px, 4vw, 56px);
  display:flex; flex-direction:column; align-items:flex-start;
  font-family:'Montserrat', sans-serif; font-weight:300;
  font-size:22px; line-height:1.15;   /* střední velikost okna — větší písmo, na velké obrazovce a telefonu viz níž */ letter-spacing:-0.01em;
  text-align:left; text-transform:lowercase;
  color:#fff; mix-blend-mode:difference;   /* negativ vůči čemukoli pod ním */
  -webkit-font-smoothing:antialiased;
}
.site-menu a, .site-menu button{
  display:block; width:fit-content; padding:0; margin:0; border:0; background:none;
  font:inherit; color:inherit; text-decoration:none; text-transform:inherit; letter-spacing:inherit;
  cursor:pointer; transform-origin:left center;
  transition:opacity .25s ease, rotate .4s cubic-bezier(.34,1.56,.64,1);
}
@media (hover:hover){
  .site-menu a:hover, .site-menu button:hover{ rotate:var(--tilt, -3deg); }
}
.site-menu a:hover, .site-menu button:hover{ opacity:.55; }
.site-menu :focus-visible{ outline:1px solid #fff; outline-offset:3px; }

.site-menu__list{
  display:grid; grid-template-rows:1fr; justify-items:start;
  transition:grid-template-rows .5s cubic-bezier(.2,.7,.2,1), opacity .35s ease;
}
.site-menu__list > div{ overflow:hidden; min-height:0; display:flex; flex-direction:column; align-items:flex-start; }
.site-menu.is-collapsed .site-menu__list{ grid-template-rows:0fr; opacity:0; pointer-events:none; }
/* položky vyjíždějí postupně jedna po druhé */
.site-menu__list > div > *{ transition:translate .5s cubic-bezier(.2,.7,.2,1), opacity .4s ease; }
.site-menu.is-collapsed .site-menu__list > div > *{ translate:0 .6em; opacity:0; }
.site-menu__list > div > :nth-child(2){ transition-delay:.04s; }
.site-menu__list > div > :nth-child(3){ transition-delay:.08s; }
.site-menu__list > div > :nth-child(4){ transition-delay:.12s; }
.site-menu__list > div > :nth-child(5){ transition-delay:.16s; }

.site-menu__lang{ display:flex; gap:.5em; }
.site-menu__lang button[aria-pressed="false"]{ opacity:.4; }
.site-menu__lang button[aria-pressed="false"]:hover{ opacity:.8; }

/* velká obrazovka: menší, ať nepřebíjí obsah */
@media (min-width: 1200px){
  .site-menu{ font-size:19px; }
}
/* telefon: menu je sbalené pod „menu“ a vyjíždí po klepnutí; velikost písma podle šířky obrazovky */
@media (max-width: 760px){
  .site-menu{ font-size:clamp(20px, 6.4vw, 26px); }
}
@media (prefers-reduced-motion: reduce){
  .site-menu__list, .site-menu__list > div > *{ transition:none; }
}

/* ---- KONTAKT: patička, která vyjede zespodu po kliknutí na „kontakt“ (bez ztmavení stránky) ---- */
.contact-drawer{ position:fixed; inset:0; z-index:1600; pointer-events:none; }
.contact-drawer__panel{
  position:absolute; left:0; right:0; bottom:0; max-height:100%; overflow:auto;
  translate:0 100%; transition:translate .7s cubic-bezier(.2,.8,.2,1);
  clip-path:polygon(0 clamp(24px,3.5vw,60px), 100% 0, 100% 100%, 0 100%);   /* šikmá horní hrana jako u sekcí */
  pointer-events:auto;
}
.contact-drawer.is-open .contact-drawer__panel{ translate:0 0; }
.contact-drawer .site-footer{
  position:relative; margin:0 !important;
  padding-top:calc(60px + clamp(24px,3.5vw,60px)) !important;
}
@media (prefers-reduced-motion: reduce){
  .contact-drawer__panel{ transition:none; }
}

/* ---- O MNĚ: strukturovaný životopis (vzdělání a co ovládám) ---- */
.about__cv{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(40px,6vw,96px);
  max-width:1280px; margin:clamp(64px,8vw,120px) auto 0;
  padding-top:clamp(32px,4vw,56px); border-top:1px solid rgba(255,255,255,.15);
}
.about__cv-label{
  font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--yellow, #FEDD00); margin-bottom:clamp(20px,2.5vw,32px);
}
.about__edu{ list-style:none; margin:0; padding:0; }
.about__edu li{ padding:0 0 clamp(20px,2.5vw,28px); margin-bottom:clamp(20px,2.5vw,28px); border-bottom:1px solid rgba(255,255,255,.1); }
.about__edu li:last-child{ border-bottom:0; margin-bottom:0; }
.about__edu-when{ display:block; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:8px; }
.about__edu-school{ font-size:clamp(19px,1.8vw,24px); line-height:1.3; color:#fff; margin:0 0 6px; }
.about__edu-field{ font-size:16px; line-height:1.5; color:rgba(255,255,255,.7); margin:0; }
.about__cv-group{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.5); margin:0 0 12px; }
.about__tags{ list-style:none; margin:0 0 clamp(24px,3vw,36px); padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.about__tags li{ padding:9px 18px; border:1px solid rgba(255,255,255,.35); border-radius:100px; font-size:15px; color:#fff; }
@media (max-width: 860px){ .about__cv{ grid-template-columns:1fr; } }

/* ---- SEZNAM PRACÍ: fotky se střídají rychlým přejetím v rámečku (animace ve workSlides v site.js) ---- */
.work__media .work__slide{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition:none;
}

/* ---- COOKIES: žlutý čtverec v pravém dolním rohu ---- */
.cookie-box{
  position:fixed; z-index:1700; right:clamp(16px, 3vw, 40px); bottom:clamp(16px, 3vw, 40px);
  width:min(300px, calc(100vw - 32px)); aspect-ratio:1 / 1; box-sizing:border-box;
  display:flex; flex-direction:column; padding:24px;
  background:#fedd00; color:#0a0a0a; font-family:'Montserrat', sans-serif;
  box-shadow:0 18px 50px rgba(0,0,0,.28);
  translate:0 24px; opacity:0; transition:translate .5s cubic-bezier(.2,.8,.2,1), opacity .4s ease;
}
.cookie-box.is-open{ translate:0 0; opacity:1; }
.cookie-box .cookie-box__title.cookie-box__title{ margin:0 0 10px; font-size:22px; font-weight:700 !important; letter-spacing:-.01em; }
.cookie-box__text{ margin:0; font-size:13px; line-height:1.5; }
.cookie-box__actions{ margin-top:auto; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.cookie-box__btn{
  padding:10px 8px; border:1px solid #0a0a0a; border-radius:100px; background:transparent; color:#0a0a0a;
  font:inherit; font-size:12.5px; cursor:pointer; transition:background .2s, color .2s, rotate .4s cubic-bezier(.34,1.56,.64,1);
}
.cookie-box__btn--fill{ background:#0a0a0a; color:#fedd00; }
.cookie-box__btn:hover{ rotate:-2deg; }
.cookie-box__link{ grid-column:1 / -1; justify-self:center; padding:4px; border:0; background:none; color:#0a0a0a; font:inherit; font-size:12.5px; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.cookie-box__settings{ display:none; margin-top:auto; flex-direction:column; gap:9px; }
.cookie-box__settings label{ display:flex; align-items:center; gap:10px; font-size:13.5px; cursor:pointer; }
.cookie-box__settings input{ width:16px; height:16px; accent-color:#0a0a0a; margin:0; }
.cookie-box__settings .cookie-box__btn{ margin-top:6px; }
.cookie-box.is-settings .cookie-box__text{ display:none; }
.cookie-box.is-settings .cookie-box__settings{ display:flex; }
.cookie-box.is-settings .cookie-box__actions{ display:none; }
@media (prefers-reduced-motion: reduce){ .cookie-box{ transition:none; } }
