*{box-sizing:border-box}
:root{
  --paper:#f4f0e7;
  --paper2:#eee7da;
  --ink:#1a1713;
  --gold:#aa8341;
  --rule:#b99a60;
}
html,body{margin:0;min-height:100%;background:#d8d2c6;color:var(--ink);font-family:'Cormorant Garamond','EB Garamond',Garamond,'Times New Roman',serif}
body{padding:30px 0}
.book-page{
  position:relative;
  width:min(1240px,calc(100vw - 150px));
  aspect-ratio:16/10;
  margin:0 auto;
  background:var(--paper);
  box-shadow:0 14px 40px #0005;
  padding:42px 54px 48px;
  overflow:visible;
}
/* jemný hřbet – ohyb listu u vazby */
.spine-fold{position:absolute;left:0;top:0;bottom:0;width:30px;pointer-events:none;background:linear-gradient(90deg,#6f675b33 0,#fff9 28%,#0000000c 61%,transparent 100%);mix-blend-mode:multiply}
/* obřízka listů těsně navazuje na pravou hranu stránky */
.page-edges{position:absolute;left:100%;top:8px;bottom:8px;width:16px;z-index:1;pointer-events:none}
.page-edges i{position:absolute;inset:0 auto 0 0;width:100%;background:#eee8dc;border-right:1px solid #cfc4b2;box-shadow:2px 0 0 #f8f4ec}
.page-edges i:nth-child(1){transform:translateX(2px);opacity:.96}
.page-edges i:nth-child(2){transform:translateX(5px);opacity:.84}
.page-edges i:nth-child(3){transform:translateX(8px);opacity:.70}
.page-edges i:nth-child(4){transform:translateX(11px);opacity:.55}
.crumbs{position:absolute;left:54px;right:54px;top:31px;font-size:12px;letter-spacing:.045em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crumbs a{color:inherit;text-decoration:none}.crumbs a:hover{text-decoration:underline}.crumbs span{margin:0 8px;color:var(--gold)}.crumbs strong{font-weight:400;color:#5f513c}
.top-rule{position:absolute;left:54px;right:54px;top:62px;height:1px;background:var(--rule)}
.left-third{position:absolute;left:54px;top:86px;bottom:42px;width:calc((100% - 108px)*.333333);padding-right:38px}
.heading h1{font-size:41px;font-weight:400;line-height:1.12;letter-spacing:.005em;margin:0}
.part{font-size:18px;color:var(--gold);margin-top:19px;letter-spacing:.04em}
.footnote{position:absolute;left:0;right:38px;bottom:8px}.foot-rule{width:100%;height:1px;background:var(--rule);margin-bottom:14px}.footnote p{font-size:16px;line-height:1.45;font-style:italic;margin:0}
.gallery{position:absolute;left:calc(54px + (100% - 108px)*.333333);right:54px;top:86px;bottom:42px;padding-left:18px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:16px 20px}
.gallery figure{margin:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 17px;align-items:stretch}
.thumb{border:0;padding:0;background:#ddd;overflow:hidden;cursor:pointer;width:100%;height:100%;box-shadow:0 1px 2px #0001}
.crop{display:block;width:100%;height:100%;object-fit:cover}.crop-pergola{object-position:50% 47%}.crop-veze{object-position:50% 48%}.crop-jakub{object-position:50% 46%}.crop-sady{object-position:50% 47%}
figcaption{padding-top:2px;font-size:11.5px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}figcaption em{font-size:12.5px}

/* Šest záložek přes celou výšku stránky. Začínají přesně na pravé hraně listu; obřízka probíhá pod nimi, bez mezery. */
.tabs{position:absolute;left:100%;top:0;bottom:0;width:76px;display:grid;grid-template-rows:repeat(6,1fr);gap:2px;z-index:4}
.tabs a{min-height:0;background:#eee8dc;border-radius:0 12px 12px 0;box-shadow:4px 4px 10px #0002;display:grid;place-items:center;font-size:14px;line-height:1.05;letter-spacing:.02em;writing-mode:vertical-rl;text-orientation:mixed;text-align:center;padding:12px 0;text-decoration:none;color:inherit}
.tabs .active{background:#b88b35;color:#17120b}

/* Číslo aktuální stránky */
.page-number{position:absolute;left:50%;bottom:11px;transform:translateX(-50%);font-size:16px;color:#8c6c34;z-index:6}

/* Ohnuté oba spodní rohy. V odhaleném prostoru je vidět číslo sousedního listu. */
.page-arrow{position:absolute;bottom:7px;width:44px;height:34px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#8c6c34;font-size:30px;line-height:1;font-family:Georgia,serif;z-index:8;transition:transform .15s ease,opacity .15s ease;opacity:.86}
.page-arrow-prev{left:18px}.page-arrow-next{right:18px}
.page-arrow:hover{opacity:1}.page-arrow-prev:hover{transform:translateX(-4px)}.page-arrow-next:hover{transform:translateX(4px)}

@media(max-width:900px){.book-page{width:calc(100vw - 105px)}.heading h1{font-size:28px}.tabs{width:62px}.tabs a{font-size:11px}.gallery{gap:12px}.footnote p{font-size:12px}.crumbs{font-size:10px}}


/* Samostatná stránka obrazu */
.image-page{min-height:100vh;background:var(--paper);display:grid;grid-template-rows:auto 1fr auto;padding:28px 38px 22px;overflow:auto}
.image-page .image-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);padding-bottom:12px}
.image-page .back-link{font-size:18px;color:var(--ink);text-decoration:none}.image-page .back-link:hover{text-decoration:underline}
.image-page .image-title-top{font-size:14px;color:#5f513c;letter-spacing:.04em}
.image-page .image-stage{min-height:0;display:grid;place-items:center;padding:22px 10px 14px}
.image-page .image-stage img{max-width:94vw;max-height:76vh;width:auto;height:auto;object-fit:contain;box-shadow:0 2px 10px #0002;background:#fff}
.image-page .image-meta{text-align:center;font-size:18px;line-height:1.35;padding-top:6px}.image-page .image-meta strong{font-weight:500;font-size:24px}.image-page .image-meta em{font-style:italic}
@media(max-width:900px){.image-page{padding:18px}.image-page .image-stage img{max-width:96vw;max-height:72vh}.image-page .image-meta{font-size:15px}.image-page .image-meta strong{font-size:20px}}

/* STRANA 2 — úvodní mezilist: 1/3 text, 2/3 fotografie */
.page-two{background:var(--paper)}
.page-two .welcome-third{padding-right:38px;display:flex;align-items:flex-end;padding-bottom:24px}
.page-two .welcome-text{width:100%}
.page-two .welcome-text p{margin:0;font-size:20px;line-height:1.46;font-weight:400}
.page-two .hero-art{position:absolute;left:calc(54px + (100% - 108px)*.333333);right:54px;top:86px;bottom:42px;padding-left:18px;overflow:hidden}
.page-two .hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 38%;background:var(--paper)}
@media(max-width:900px){.page-two .welcome-text p{font-size:14px}.page-two .hero-art{padding-left:12px}}

/* STRANA 1 — přivítání: sazba levého textového pole podle schváleného návrhu */
.page-two .welcome-third{align-items:flex-end;padding-bottom:16px}
.page-two .welcome-text{padding-bottom:0}
.page-two .welcome-text p{margin:0 0 22px;font-size:20px;line-height:1.28;font-weight:400}
.page-two .author-signature{margin-top:38px;display:flex;flex-direction:column;align-items:flex-start}
.page-two .signature-rule{display:block;width:40px;height:1px;background:var(--rule);margin-bottom:12px}
.page-two .author-signature strong{font-size:24px;line-height:1.05;font-weight:400}
.page-two .author-signature small{margin-top:5px;font-size:10px;letter-spacing:.34em}
@media(max-width:900px){.page-two .welcome-text p{font-size:14px;margin-bottom:14px}.page-two .author-signature{margin-top:20px}.page-two .author-signature strong{font-size:18px}}

/* STRANA 1: jazykové mutace nad horní linkou; ostatní layout beze změny */
.language-switch{position:absolute;top:28px;right:54px;z-index:6;display:flex;align-items:center;gap:10px;font-family:'Cormorant Garamond',Georgia,serif;font-size:15px;line-height:1.2;letter-spacing:.075em;color:#857c70}
.language-switch .language-active{color:#4d3c2c;font-weight:600}
.language-switch .language-separator{color:#b6a993;font-weight:400}
.language-switch .language-pending{color:#8f877b;cursor:default}
.crumbs{right:180px}

/* STR 1: výrazný třípolový jazykový přepínač, bez zásahu do obsahu */
.language-switch{position:absolute;top:17px;right:54px;z-index:9;display:flex;align-items:stretch;gap:7px;font-family:'Cormorant Garamond',Georgia,serif;line-height:1;letter-spacing:.06em}
.language-switch .language-choice{width:53px;height:37px;display:flex;align-items:center;justify-content:center;border:1px solid #5b4d3b;border-radius:2px;font-size:21px;font-weight:600;box-sizing:border-box}
.language-switch .language-active{background:#453b31;color:#fffaf0;border-color:#453b31}
.language-switch .language-pending{background:#f4f0e7;color:#453b31;cursor:default}
.crumbs{right:245px}
@media(max-width:900px){.language-switch{top:20px;right:54px;gap:4px}.language-switch .language-choice{width:39px;height:29px;font-size:16px}.crumbs{right:205px}}

/* BUILD KOMPLET: celá knižní stránka v dostupné výšce okna.
   Zachovává poměr 16:10, rozvržení, záložky i spodní navigaci. */
@media screen {
  body { padding-top: 12px; padding-bottom: 12px; }
  .book-page {
    width: min(1240px, calc(100vw - 150px), calc((100vh - 24px) * 1.6));
    width: min(1240px, calc(100vw - 150px), calc((100dvh - 24px) * 1.6));
  }
}
@media screen and (max-width: 900px) {
  .book-page {
    width: min(calc(100vw - 105px), calc((100vh - 24px) * 1.6));
    width: min(calc(100vw - 105px), calc((100dvh - 24px) * 1.6));
  }
}

/* BUILD: bezpečná výšková rezerva, bez svislého posuvníku na desktopu. */
@media screen and (min-width: 901px) {
  html { height: 100%; }
  body { min-height: 100vh; min-height: 100dvh; padding-top: 6px; padding-bottom: 6px; }
  .book-page {
    width: min(1240px, calc(100vw - 150px), calc((100vh - 32px) * 1.6));
    width: min(1240px, calc(100vw - 150px), calc((100dvh - 32px) * 1.6));
  }
}
@media screen and (max-width: 900px) {
  body { padding-top: 6px; padding-bottom: 6px; }
  .book-page {
    width: min(calc(100vw - 105px), calc((100vh - 32px) * 1.6));
    width: min(calc(100vw - 105px), calc((100dvh - 32px) * 1.6));
  }
}


/* OPRAVA POPISKŮ ZVĚTŠENÝCH OBRAZŮ – CZ / EN / DE */
body.image-page{box-sizing:border-box;min-height:100dvh;height:100dvh;overflow:hidden;grid-template-rows:minmax(0,auto) minmax(0,1fr) auto;}
body.image-page .image-stage{min-height:0;min-width:0;overflow:hidden;padding:12px 8px;}
body.image-page .image-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;}
body.image-page .image-meta{position:relative;z-index:2;min-height:fit-content;padding:8px 4px 2px;overflow-wrap:anywhere;}
body.image-page .image-title-top{max-width:65%;text-align:right;overflow-wrap:anywhere;}
@media(max-width:700px){body.image-page{padding:12px;}.image-page .image-top{gap:10px}.image-page .image-title-top{font-size:11px;max-width:55%;}.image-page .image-meta strong{font-size:19px;}}
.lightbox:not([hidden]){display:grid!important;grid-template-rows:minmax(0,1fr) auto;justify-items:center;align-items:center;gap:10px;overflow:hidden;padding:52px 20px 22px;box-sizing:border-box;}
.lightbox:not([hidden]) img{display:block;min-width:0;min-height:0;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;align-self:center;}
.lightbox:not([hidden]) #detail{position:relative;z-index:2;margin:0;max-width:95vw;text-align:center;overflow-wrap:anywhere;line-height:1.3;max-height:20dvh;overflow-y:auto;}

/* TEST: celé dílo při zvětšení, bez ořezu. Oprava předchozího grid overflow. */
html:has(body.image-page){height:100%;}
body.image-page{display:flex!important;flex-direction:column!important;height:100dvh!important;min-height:0!important;overflow:hidden!important;box-sizing:border-box!important;}
body.image-page .image-top,body.image-page .image-meta{flex:0 0 auto!important;}
body.image-page .image-stage{display:flex!important;flex:1 1 0!important;min-height:0!important;min-width:0!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;box-sizing:border-box!important;}
body.image-page .image-stage img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;min-width:0!important;min-height:0!important;object-fit:contain!important;object-position:center!important;flex-shrink:1!important;}
.lightbox:not([hidden]){display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;box-sizing:border-box!important;}
.lightbox:not([hidden]) img{display:block!important;flex:0 1 auto!important;width:auto!important;height:auto!important;max-width:calc(100vw - 40px)!important;max-height:calc(100dvh - 170px)!important;min-height:0!important;min-width:0!important;object-fit:contain!important;object-position:center!important;}
.lightbox:not([hidden]) #detail{flex:0 0 auto!important;max-height:110px!important;overflow-y:auto!important;position:relative!important;z-index:3!important;}
@media(max-height:520px){.lightbox:not([hidden]) img{max-height:calc(100dvh - 105px)!important}.lightbox:not([hidden]) #detail{max-height:55px!important}}

/* WEBKNIHA – MOBILNI TEST: zachovani pevne knizni sazby. */
@media screen and (max-width: 900px) {
  html:has(.book-page) { overflow-x: hidden !important; }
  body:has(.book-page) { padding: 0 !important; overflow-x: hidden !important; min-height: 100dvh !important; }
  body .book-page {
    width: 1240px !important; height: 775px !important; aspect-ratio: auto !important;
    max-width: none !important; min-width: 1240px !important;
    position: relative !important; left: 50% !important; margin: 0 0 0 -620px !important;
    transform-origin: center top !important; transform: scale(var(--wk-mobile-scale, .5)) !important;
  }
  body .book-page .heading h1 { font-size: 41px !important; }
  body .book-page .tabs { width: 76px !important; }
  body .book-page .tabs a { font-size: 14px !important; }
  body .book-page .footnote p { font-size: 16px !important; }
  body .book-page .crumbs { font-size: 12px !important; }
  body .book-page .gallery { gap: 16px 20px !important; }
  body .book-page.page-two .welcome-text p { font-size: 20px !important; margin-bottom: 22px !important; }
  body .book-page.page-two .author-signature { margin-top: 38px !important; }
  body .book-page.page-two .author-signature strong { font-size: 24px !important; }
  body .book-page.page-two .hero-art { padding-left: 18px !important; }
  body .book-page .language-switch { top: 17px !important; right: 54px !important; gap: 7px !important; }
  body .book-page .language-switch .language-choice { width: 45px !important; height: 34px !important; font-size: 19px !important; }
}
