/* latin-ext */@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/SourceSerif4-400i-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/SourceSerif4-400i-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/SourceSerif4-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/SourceSerif4-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/SourceSerif4-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/SourceSerif4-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/SourceSerif4-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/SourceSerif4-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --bg:oklch(96.5% 0.018 75); --nav-bg:oklch(97.5% 0.012 75); --card:oklch(98% 0.01 75);
  --text:oklch(24% 0.02 40); --text-soft:oklch(38% 0.02 40); --muted:oklch(50% 0.02 40);
  --red:oklch(42% 0.17 25); --red-strong:oklch(30% 0.13 25); --red-hover:oklch(55% 0.16 25);
  --gold:oklch(72% 0.13 85); --gold-text:oklch(50% 0.1 85);
  --line:oklch(85% 0.03 75); --line2:oklch(88% 0.03 75);
  --hero-text:oklch(97% 0.015 75); --hero-maroon:oklch(31% 0.082 30);
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--text);font-family:'Source Serif 4',Georgia,serif;
  min-height:100vh;display:flex;flex-direction:column;line-height:1.6}
a{color:var(--red);text-decoration:none}
a:hover{color:var(--red-hover)}
::selection{background:oklch(72% 0.13 85 / 0.4)}
img{display:block;max-width:100%}

/* nav */
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:18px clamp(16px,4vw,48px);border-bottom:1px solid var(--line);background:var(--nav-bg);flex-wrap:wrap}
.nav-brand{font-size:20px;font-weight:600;letter-spacing:.02em;color:var(--red-strong);white-space:nowrap}
.nav-links{display:flex;gap:clamp(10px,2vw,26px);overflow-x:auto;font-size:15px;padding-bottom:2px}
.nav-links a{white-space:nowrap}
.nav-links a.on{color:var(--red-strong);font-weight:600}

/* hero */
.hero{position:relative;color:var(--hero-text);text-align:center;overflow:hidden;
  padding:clamp(36px,6vw,56px) clamp(16px,6vw,48px);min-height:260px;box-sizing:border-box;
  display:flex;flex-direction:column;justify-content:center}
.hero.big{padding:clamp(48px,8vw,96px) clamp(16px,6vw,48px) clamp(56px,9vw,104px)}
.hero-bg{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}
.hero-bg-ph{position:absolute;inset:0;z-index:0;background:var(--hero-maroon)}
/* homepage: široká fotka přes celý pás */
.hero.big .hero-bg-ph{background:var(--hero-maroon) url(/img/hero-home.jpg) center 42%/cover no-repeat}
/* vnitřní stránky: portrét vlevo (má zapečený alfa přechod do průhledna → sám se ztratí
   do barvy vpravo při každé šířce), vpravo jen vínová barva */
.hero:not(.big) .hero-bg-ph{background:var(--hero-maroon) url(/img/hero-inner.webp) left center/auto 150% no-repeat}
.hero::before{content:"";position:absolute;inset:0;z-index:1}
.hero.big::before{background:linear-gradient(180deg,oklch(20% 0.1 25 / 0.66),oklch(15% 0.09 25 / 0.82))}
.hero:not(.big)::before{background:linear-gradient(180deg,transparent,oklch(20% 0.07 30 / 0.14))}
.hero-in{position:relative;z-index:2;max-width:760px;margin:0 auto;text-shadow:0 1px 16px oklch(16% 0.08 27 / 0.5)}
.hero-eyebrow{text-transform:uppercase;letter-spacing:.25em;font-size:13px;color:oklch(78% 0.12 85);margin:0 0 14px}
.hero h1{font-size:clamp(30px,5vw,46px);line-height:1.05;margin:0;font-weight:600}
.hero.big h1{font-size:clamp(40px,7vw,72px);margin:0 0 20px}
.hero-sub{margin:12px 0 0;font-size:clamp(16px,2vw,19px);color:oklch(92% 0.02 75);font-style:italic}
.hero.big .hero-sub{max-width:560px;margin:0 auto}
.hero-rule{width:60px;height:2px;background:var(--gold);margin:36px auto 0;position:relative;z-index:2}

/* layout */
.wrap{flex:1;width:100%;max-width:900px;margin:0 auto;padding:clamp(32px,6vw,56px) clamp(16px,6vw,32px);box-sizing:border-box}
.wrap.narrow{max-width:760px}
.wrap.mid{max-width:840px}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:13px;color:var(--gold-text);font-family:Georgia,serif;margin:0 0 18px}

/* homepage */
.home{display:flex;flex-direction:column;gap:clamp(48px,8vw,72px)}
.home-intro{text-align:center}
.home-intro .lead{font-size:clamp(19px,2.4vw,23px);line-height:1.75;font-style:italic;color:oklch(30% 0.03 40);margin:0}
.home-intro p{font-size:16px;line-height:1.7;color:var(--text-soft);margin:14px auto 0;max-width:600px}
.home-intro .sig{margin:22px 0 0;font-size:16px;font-weight:600;color:var(--red-strong)}
.latest{display:flex;align-items:center;gap:20px;padding:26px clamp(20px,4vw,36px);border:1px solid var(--line);
  border-radius:2px;background:var(--card);position:relative}
.latest .bar{width:4px;align-self:stretch;background:var(--gold);flex-shrink:0}
.latest .body{flex:1;min-width:0}
.latest .label{text-transform:uppercase;letter-spacing:.15em;font-size:12px;color:var(--gold-text);margin:0 0 8px;font-family:Georgia,serif}
.latest h3{margin:0 0 6px;font-size:clamp(19px,2.4vw,23px);font-weight:600}
.latest .date{margin:0;font-size:15px;color:oklch(45% 0.02 40)}
.latest .more{flex-shrink:0;font-size:15px;font-weight:600;white-space:nowrap;border-bottom:1px solid oklch(42% 0.17 25 / .5)}
/* homepage: mřížka záběrů (3×2 na desktopu, 1 sloupec na mobilu) */
.foto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.foto{position:relative;display:block;overflow:hidden;border-radius:5px;background:oklch(88% 0.03 75)}
.foto img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .5s ease}
.foto:hover img{transform:scale(1.05)}
.foto-cap{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 8px;font-size:14px;color:#fff;
  background:linear-gradient(transparent,oklch(18% 0.07 30 / .82));text-shadow:0 1px 6px oklch(15% 0.06 30 / .8)}
.zabery-vic{text-align:center;margin:26px 0 0}
.zabery-vic a{font-weight:600;border-bottom:1px solid oklch(42% 0.17 25 / .45)}
/* rozcestník fotogalerií */
.galerie-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.gal-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:6px;
  background:var(--card);transition:box-shadow .25s ease,transform .25s ease}
.gal-card:hover{box-shadow:0 10px 26px oklch(30% 0.08 30 / .16);transform:translateY(-3px)}
.gal-thumb{display:block;overflow:hidden;background:oklch(88% 0.03 75)}
.gal-thumb img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .5s ease}
.gal-card:hover .gal-thumb img{transform:scale(1.05)}
.gal-tit{padding:14px 16px;font-size:18px;font-weight:600;color:var(--red-strong)}

/* seznam dnů */
.zeme-sec{margin-bottom:clamp(36px,6vw,52px)}
.zeme-head{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}
.zeme-head h2{font-size:clamp(22px,3vw,28px);font-weight:600;margin:0;color:var(--red-strong)}
.zeme-head .rule{flex:1;height:1px;background:var(--line)}
.dny{position:relative;padding-left:24px}
.dny::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:oklch(88% 0.05 85)}
.den-item{position:relative;padding-bottom:22px}
.den-dot{position:absolute;left:-24px;top:4px;width:12px;height:12px;border-radius:50%;
  background:var(--gold);border:2px solid var(--bg)}
.den-item a{display:block;padding:4px 0}
.den-item .dates{font-size:13px;letter-spacing:.04em;color:var(--gold-text);font-family:Georgia,serif}
.den-item h3{margin:4px 0 0;font-size:18px;font-weight:600;color:var(--text)}

/* den detail */
.den-nav{display:flex;justify-content:space-between;align-items:center;max-width:760px;margin:0 auto;width:100%;
  padding:16px clamp(16px,6vw,32px) 0;font-size:14px;box-sizing:border-box;gap:12px}
.den-nav a{display:flex;align-items:center;gap:6px}
.den-nav .spacer{flex:1}
.article{font-size:17px;line-height:1.75;color:oklch(26% 0.02 40)}
.article h2{font-size:20px;font-weight:600;color:var(--red-strong);margin:32px 0 12px}
.article h2:first-child{margin-top:0}
.article h3{font-size:18px;font-weight:600;color:var(--red-strong);margin:26px 0 10px}
.article p{margin:0 0 14px}
.article img{border-radius:4px;margin:18px 0;max-width:100%;height:auto}
.article a{border-bottom:1px solid oklch(42% 0.17 25 / .4)}
.article table{width:100%;border-collapse:collapse;font-size:16px;margin:18px 0}
.article td,.article th{padding:8px 10px;border-bottom:1px solid var(--line2);text-align:left;vertical-align:top}
/* staré HTML nutí <font size="1|2"> (drobné písmo) → ať dědí čitelnou velikost */
.article font{font-size:inherit !important}
.back{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);text-align:center}
.back a{font-size:15px;font-weight:600}

/* náklady / tabulky */
.tbl-links{background:var(--card);border:1px solid var(--line2);border-radius:2px;padding:20px 22px}
.tbl-links p{margin:0 0 8px;font-size:15px}
.tbl-links .list{display:flex;flex-direction:column;gap:6px;font-size:15px}
.tbl-sec h2{font-size:22px;font-weight:600;color:var(--red-strong);margin:0 0 14px}
.tbl-box{background:var(--card);border:1px solid var(--line2);border-radius:2px;overflow-x:auto}
.tbl-box table{width:100%;border-collapse:collapse;font-size:15px}
.tbl-box th{text-align:left;font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.08em;font-size:12px;
  color:var(--gold-text);font-weight:600;padding:10px 12px;border-bottom:2px solid oklch(80% 0.05 85)}
.tbl-box td{padding:12px;border-bottom:1px solid var(--line2);vertical-align:top}
.tbl-box tr:last-child td{border-bottom:none}

/* footer */
.footer{text-align:center;padding:28px 16px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}

/* cookie lišta */
.cookie{position:fixed;left:0;right:0;bottom:0;z-index:100;background:oklch(22% 0.03 40);color:oklch(94% 0.01 75);
  padding:14px clamp(16px,4vw,32px);display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center;
  font-family:Georgia,serif;font-size:14px;box-shadow:0 -4px 20px -10px rgba(0,0,0,.4)}
.cookie p{margin:0;max-width:640px;line-height:1.5}
.cookie a{color:oklch(78% 0.12 85);border-bottom:1px solid oklch(78% 0.12 85 / .5)}
.cookie button{font:inherit;font-weight:600;background:var(--gold);color:oklch(24% 0.05 60);border:0;
  padding:9px 20px;border-radius:3px;cursor:pointer;white-space:nowrap}
.cookie button:hover{background:oklch(78% 0.13 85)}

/* lightbox pro fotky v deníku */
.lb{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;
  background:oklch(12% 0.03 30 / .93);padding:clamp(12px,3vw,36px);cursor:zoom-out}
.lb.open{display:flex}
.lb img{max-width:min(1200px,95vw);max-height:86vh;object-fit:contain;border-radius:2px;
  box-shadow:0 12px 48px rgba(0,0,0,.55);cursor:default}
.lb-cap{position:absolute;left:0;right:0;bottom:clamp(12px,3vw,28px);text-align:center;
  color:oklch(92% 0.02 75);font-size:15px;padding:0 16px;pointer-events:none;text-shadow:0 1px 6px #000}
.lb-btn{position:absolute;background:oklch(20% 0.03 30 / .6);color:#fff;border:0;cursor:pointer;
  font-family:Georgia,serif;line-height:1;border-radius:50%;transition:background .2s}
.lb-btn:hover{background:oklch(42% 0.17 25 / .85)}
.lb-close{top:14px;right:16px;width:44px;height:44px;font-size:26px}
.lb-nav{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:34px}
.lb-prev{left:clamp(8px,2vw,24px)}
.lb-next{right:clamp(8px,2vw,24px)}
@media (max-width:560px){.lb-nav{width:44px;height:44px;font-size:28px}}

@media (max-width:820px){
  .foto-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .latest{flex-direction:column;align-items:flex-start}
  .article div[style*="grid"]{grid-template-columns:1fr !important}
  .foto-grid{grid-template-columns:1fr}
}
