/* Skurdesti — společný styl / stitched margins */

:root{
  --bg:#fbf9f5;
  --bg-alt:#e4e8e1;
  --bg-dark:#223129;
  --ink:#22201c;
  --ink-soft:#797468;
  --ink-inv:#fbf9f5;
  --accent:#54684e;
  --accent-2:#a87c48;
  --serif:Georgia,'Times New Roman',serif;
  --sans:system-ui,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --gap:24px;
}

*{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.8;
  overflow-x:hidden;
}

img{max-width:100%;height:auto;display:block;}

a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
a:hover{text-decoration-thickness:2px;}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.dark a:focus-visible,.dark a:hover{color:#cfd9c8;}
.dark a{color:#cfd9c8;}
.dark a:focus-visible{outline-color:var(--ink-inv);}

/* ---------- grid ---------- */

.wrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}

.grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  column-gap:var(--gap);
}

.c1-4{grid-column:1 / span 4;}
.c1-5{grid-column:1 / span 5;}
.c1-6{grid-column:1 / span 6;}
.c1-7{grid-column:1 / span 7;}
.c1-8{grid-column:1 / span 8;}
.c2-6{grid-column:2 / span 6;}
.c2-7{grid-column:2 / span 7;}
.c4-9{grid-column:4 / span 9;}
.c5-8{grid-column:5 / span 8;}
.c6-7{grid-column:6 / span 7;}
.c7-6{grid-column:7 / span 6;}
.c8-5{grid-column:8 / span 5;}
.c9-4{grid-column:9 / span 4;}

/* ---------- stitching ---------- */

.stitch,
.stitch-b,
.stitch-l,
.stitch-r,
.stitch-lr,
.stitch-tb{
  background-repeat:no-repeat;
}

.stitch{
  background-image:
    repeating-linear-gradient(to right,var(--accent) 0 13px,transparent 13px 22px),
    repeating-linear-gradient(to right,var(--accent) 0 13px,transparent 13px 22px),
    repeating-linear-gradient(to bottom,var(--accent) 0 13px,transparent 13px 22px),
    repeating-linear-gradient(to bottom,var(--accent) 0 13px,transparent 13px 22px);
  background-size:100% 2px,100% 2px,2px 100%,2px 100%;
  background-position:0 0,0 100%,0 0,100% 0;
}

.stitch-l{
  background-image:repeating-linear-gradient(to bottom,var(--accent) 0 11px,transparent 11px 19px);
  background-size:2px 100%;
  background-position:0 0;
}

.stitch-r{
  background-image:repeating-linear-gradient(to bottom,var(--accent) 0 11px,transparent 11px 19px);
  background-size:2px 100%;
  background-position:100% 0;
}

.stitch-lr{
  background-image:
    repeating-linear-gradient(to bottom,var(--accent) 0 11px,transparent 11px 19px),
    repeating-linear-gradient(to bottom,var(--accent) 0 11px,transparent 11px 19px);
  background-size:2px 100%,2px 100%;
  background-position:0 0,100% 0;
}

.stitch-b{
  background-image:repeating-linear-gradient(to right,var(--accent) 0 11px,transparent 11px 19px);
  background-size:100% 2px;
  background-position:0 100%;
}

.dark .stitch,
.dark .stitch-l,
.dark .stitch-r,
.dark .stitch-lr,
.dark .stitch-b{
  --accent:#7f9673;
}

/* dvojitá strojová linka mezi velkými částmi */
.seam{
  border-top:1px solid var(--ink-soft);
  height:8px;
  background-image:repeating-linear-gradient(to right,var(--accent-2) 0 9px,transparent 9px 16px);
  background-size:100% 1px;
  background-position:0 5px;
  background-repeat:no-repeat;
}

/* jemný oddělovač na šířku textového sloupce */
.hr-stitch{
  border:0;
  height:2px;
  margin:36px 0;
  background-image:repeating-linear-gradient(to right,var(--accent) 0 11px,transparent 11px 19px);
  background-size:100% 2px;
  background-repeat:no-repeat;
}

/* ---------- typografie ---------- */

h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--ink);}

h1{
  font-size:clamp(2.1rem,5.2vw,3.6rem);
  line-height:1.14;
  letter-spacing:-0.01em;
  margin:0 0 8px;
}

h2{
  font-size:clamp(1.35rem,2.4vw,1.75rem);
  line-height:1.25;
  margin:0 0 18px;
}

h3{
  font-size:1.06rem;
  line-height:1.35;
  margin:32px 0 10px;
}

p{margin:0 0 20px;max-width:66ch;}

.lead{font-size:1.02rem;color:var(--ink);}

.caption{
  font-size:12px;
  line-height:1.6;
  color:var(--ink-soft);
  margin:10px 0 0;
  max-width:44ch;
}

.dark .caption{color:#b3bcae;}
.dark,.dark h2,.dark h3,.dark p,.dark li{color:var(--ink-inv);}

.sect-no{
  display:block;
  font-family:var(--serif);
  font-size:12px;
  letter-spacing:0.14em;
  color:var(--accent-2);
  margin-bottom:10px;
}

/* ---------- seznamy ---------- */

ul.check,ul.plain{list-style:none;padding:0;margin:0 0 24px;max-width:62ch;}
ul.check li,ul.plain li{position:relative;padding-left:24px;margin-bottom:12px;}
ul.check li::before{
  content:"";
  position:absolute;
  left:0;top:12px;
  width:9px;height:2px;
  background:var(--accent);
}
.dark ul.check li::before{background:#7f9673;}
ul.plain li::before{
  content:"";
  position:absolute;
  left:2px;top:11px;
  width:5px;height:5px;
  border:1px solid var(--accent-2);
}

ol.steps{margin:0 0 24px;padding-left:22px;max-width:62ch;}
ol.steps li{margin-bottom:12px;padding-left:4px;}
ol.steps li::marker{color:var(--accent-2);font-family:var(--serif);}

/* obsah stránky */
ul.toc{list-style:none;padding:0;margin:0;columns:2;column-gap:32px;}
ul.toc li{margin-bottom:10px;break-inside:avoid;font-size:16px;}

/* ---------- hlavička ---------- */

.site-head{padding:26px 0 0;}
.head-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:14px 28px;
  padding-bottom:16px;
}
.brand{
  font-family:var(--serif);
  font-size:1.28rem;
  letter-spacing:0.02em;
  color:var(--ink);
  text-decoration:none;
}
.brand:hover{text-decoration:underline;text-underline-offset:4px;}
.site-nav ul{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;gap:6px 22px;}
.site-nav a{font-size:15px;color:var(--ink);text-decoration:none;padding-bottom:2px;}
.site-nav a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px;}
.site-nav a[aria-current="page"]{
  color:var(--accent);
  background-image:repeating-linear-gradient(to right,var(--accent) 0 7px,transparent 7px 12px);
  background-size:100% 2px;
  background-position:0 100%;
  background-repeat:no-repeat;
}

/* ---------- hero ---------- */

.hero{padding:24px 0 0;}
.hero-inner{padding:44px 32px 36px;}
.hero-top{align-items:start;}
.hero-title{grid-column:1 / span 8;padding-right:28px;}
.hero-note{grid-column:9 / span 4;padding-left:26px;}
.hero-note p{font-size:16px;margin-bottom:14px;}
.hero-kicker{
  font-size:12px;
  letter-spacing:0.13em;
  color:var(--accent-2);
  margin:0 0 18px;
}
.hero-media{margin-top:52px;display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);}
.hero-figure{grid-column:7 / span 6;margin:0;padding:12px;}
.hero-figure img{width:100%;}
.hero-aside{grid-column:1 / span 5;align-self:end;padding-right:24px;}
.hero-aside p{font-size:16px;color:var(--ink-soft);margin-bottom:0;}

/* ---------- sekce ---------- */

.section{padding:80px 0;}
.section-alt{background:var(--bg-alt);}
.section-dark{background:var(--bg-dark);color:var(--ink-inv);}

.block{max-width:100%;}
.block-pad-l{padding-left:28px;}
.block-pad-r{padding-right:28px;}

.free-note{
  font-size:14px;
  color:var(--ink-soft);
  padding:18px 22px;
  margin-top:28px;
}
.free-note p{margin:0;font-size:14px;}
.dark .free-note{color:#b3bcae;}

/* kontrastní sekce s detailním obrázkem */
.detail-figure{grid-column:1 / span 4;margin:0;padding:12px;}
.detail-figure img{width:100%;}
.detail-text{grid-column:6 / span 7;padding-left:30px;}

/* ---------- about ---------- */

.about-block{margin-bottom:64px;padding:26px 30px;}
.about-block:last-child{margin-bottom:0;}
.about-w8{grid-column:1 / span 8;}
.about-w6{grid-column:7 / span 6;}
.about-w7{grid-column:3 / span 7;}

/* ---------- právní stránky ---------- */

.doc{padding:64px 0 80px;}
.doc-body{grid-column:1 / span 8;}
.doc-body h2{margin-top:44px;}
.doc-body h2:first-of-type{margin-top:28px;}
.doc-side{grid-column:10 / span 3;padding-left:22px;}
.doc-side p{font-size:14px;color:var(--ink-soft);}

/* ---------- patička ---------- */

.site-foot{background:var(--bg-alt);padding:0 0 48px;}
.foot-seam{margin-bottom:48px;}
.foot-inner{padding:28px 26px;display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);row-gap:26px;}
.foot-left{grid-column:1 / span 6;}
.foot-right{grid-column:8 / span 5;}
.foot-name{font-family:var(--serif);font-size:1.2rem;margin:0 0 10px;}
.foot-left p{font-size:14px;color:var(--ink-soft);margin:0;max-width:46ch;}
.foot-right ul{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px;}
.foot-right a{font-size:14px;}
.foot-mail{font-size:14px;margin:0;}

/* ---------- responsive ---------- */

@media (max-width:900px){
  body{font-size:16px;}
  .section{padding:48px 0;}
  .hero-inner{padding:30px 20px 26px;}
  .hero-title,.hero-note,.hero-figure,.hero-aside,
  .detail-figure,.detail-text,
  .doc-body,.doc-side,
  .about-w8,.about-w6,.about-w7,
  .foot-left,.foot-right,
  .c1-4,.c1-5,.c1-6,.c1-7,.c1-8,.c2-6,.c2-7,.c4-9,.c5-8,.c6-7,.c7-6,.c8-5,.c9-4{
    grid-column:1 / -1;
  }
  .hero-note{padding-left:0;padding-top:22px;margin-top:22px;background-image:repeating-linear-gradient(to right,var(--accent) 0 11px,transparent 11px 19px);background-size:100% 2px;background-position:0 0;background-repeat:no-repeat;}
  .hero-title{padding-right:0;}
  .hero-media{margin-top:32px;row-gap:20px;}
  .hero-aside{padding-right:0;margin-top:4px;}
  .detail-text{padding-left:0;padding-top:26px;margin-top:26px;}
  .block-pad-l,.block-pad-r{padding-left:0;padding-right:0;}
  .about-block{margin-bottom:32px;padding:20px 18px;}
  .doc-side{margin-top:36px;padding-left:0;padding-top:24px;}
  .foot-inner{padding:22px 18px;row-gap:22px;}
  ul.toc{columns:1;}
  .grid{row-gap:0;}
  .hero-media,.foot-inner{grid-template-columns:1fr;}
}

@media (max-width:520px){
  .wrap{padding:0 16px;}
  h3{margin-top:26px;}
  .site-nav ul{gap:6px 16px;}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important;}
}
