/* =====================================================================
   ATELIER RENOVIKA — styly
   Barvy, velikosti a mezery se mění jen tady nahoře v :root.
   ===================================================================== */

:root{
  /* papír */
  --paper:#EEE5D2;
  --paper-2:#E7DBC2;
  --paper-3:#DDCEB2;
  --card:#F4EDDD;
  --cream:#EFE7D6;

  /* inkoust */
  --ink:#2C271F;
  --ink-2:#4A4436;
  --ink-3:#6B6152;
  --muted:#8A7B63;
  --line:rgba(44,39,31,.16);
  --line-2:rgba(44,39,31,.28);

  /* akcent */
  --accent:#849784;        /* plochy, štítky, velké prvky */
  --accent-deep:#4F5D4F;   /* drobný text na papíře (kontrast 5.4:1) */
  --accent-dark:#2F3A30;   /* tmavý panel */
  --accent-tint:#E1E8DF;   /* světlá výplň */

  /* písmo */
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --mono:'DM Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --hand:'Caveat',cursive;

  /* rytmus */
  --wrap:1460px;
  --gutter:clamp(20px,5.5vw,92px);
  --sec:clamp(64px,10vh,140px);
  --radius:0px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:clip}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--mono);
  font-size:14px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--accent-deep)}
::selection{background:var(--accent);color:var(--ink)}

:focus-visible{
  outline:2px solid var(--accent-deep);
  outline-offset:3px;
}

/* --- stavební kameny -------------------------------------------------- */

.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.sec{padding-top:var(--sec);padding-bottom:var(--sec)}
.sec-t{padding-top:var(--sec)}
.sec-b{padding-bottom:var(--sec)}

.serif{font-family:var(--serif)}
.hand{font-family:var(--hand);font-weight:600}

.lbl{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--muted);
  line-height:1.6;
}
.lbl-a{color:var(--accent-deep)}

h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;margin:0}
.h-xl{font-size:clamp(40px,7vw,104px);line-height:.94}
.h-l{font-size:clamp(34px,5.4vw,74px);line-height:.98}
.h-m{font-size:clamp(28px,3.6vw,46px);line-height:1.06}
.h-s{font-size:clamp(22px,2.4vw,30px);line-height:1.15}

.lead{font-family:var(--serif);font-style:italic;font-size:clamp(19px,2.2vw,27px);line-height:1.4;color:var(--ink-2)}
.prose p{margin:0 0 18px;max-width:60ch;line-height:1.95;color:var(--ink-2)}
.prose p:last-child{margin-bottom:0}
.txt-s{font-size:12.5px;line-height:1.85;color:var(--ink-3)}

.hr{height:1px;background:var(--line-2);border:0;margin:0}

/* --- odkazy s podtržítkem --------------------------------------------- */

.biglink{
  display:inline-flex;align-items:center;gap:11px;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  border-bottom:1.5px solid var(--ink);padding-bottom:7px;
  min-height:32px;
  transition:color .35s ease,border-color .35s ease,padding-left .45s cubic-bezier(.16,.7,.3,1);
}
.biglink:hover{color:var(--accent-deep);border-color:var(--accent);padding-left:12px}
.biglink .ar{display:inline-block;transition:transform .45s cubic-bezier(.16,.7,.3,1)}
.biglink:hover .ar{transform:translateX(6px)}
.biglink.sm{font-size:11px;padding-bottom:5px;border-bottom-width:1px}

/* --- tlačítka --------------------------------------------------------- */

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:14px 30px;
  font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;
  background:var(--accent);color:var(--ink);
  border:1px solid var(--accent);cursor:pointer;
  transition:background .3s ease,border-color .3s ease,transform .3s ease;
}
.btn:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--cream);transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{background:transparent;color:var(--accent-deep);border-color:var(--accent);transform:translateY(-2px)}
.btn-w{width:100%}

/* --- štítky ----------------------------------------------------------- */

.tag{
  display:inline-block;
  font-size:11px;letter-spacing:.14em;padding:6px 12px;
  border:1px solid var(--line-2);background:var(--card);
  transition:transform .45s cubic-bezier(.16,.7,.3,1);
}
.tag:hover{transform:translateY(-3px)}
.tag-a{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.tag-t{background:var(--accent-tint);border-color:rgba(79,93,79,.34);color:var(--accent-dark)}

/* --- rámečky fotek ----------------------------------------------------- */

.frame{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--paper-3)}
.frame img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.16,.7,.3,1)}
.frame-h:hover img,a:hover .frame img{transform:scale(1.045)}
/* místo pro fotku, která ještě není nahraná */
.foto-ceka{
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;padding:26px;text-align:center;
  background:var(--paper-3);
  box-shadow:inset 0 0 0 1px var(--line-2),inset 0 0 0 7px var(--paper-3),inset 0 0 0 8px rgba(44,39,31,.14);
}
.foto-ceka p{margin:0;max-width:30ch;font-size:12px;line-height:1.7;color:var(--ink-3)}
.foto-ceka code{font-size:11px;letter-spacing:.04em;color:var(--accent-deep);background:rgba(255,255,255,.5);padding:4px 8px}

.ar-45{aspect-ratio:4/5}
.ar-56{aspect-ratio:5/6}
.ar-11{aspect-ratio:1/1}
.ar-54{aspect-ratio:5/4}
.ar-169{aspect-ratio:16/9}

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

.hdr{
  position:sticky;top:0;z-index:60;
  background:rgba(238,229,210,.9);
  backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);
  border-bottom:1px solid var(--line);
}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;flex-wrap:wrap}
.logo{display:flex;align-items:baseline;gap:11px;line-height:1}
.logo b{font-family:var(--serif);font-weight:700;font-size:23px;letter-spacing:.12em}
.logo span{font-size:9px;letter-spacing:.4em;color:var(--accent-deep);text-transform:uppercase}
.nav{display:flex;align-items:center;gap:clamp(12px,1.9vw,26px);flex-wrap:wrap}
.nav a{font-size:12px;letter-spacing:.12em;padding:6px 0;border-bottom:1px solid transparent;transition:color .3s ease,border-color .3s ease}
.nav a:hover{border-color:var(--accent)}
.nav a[aria-current="page"]{color:var(--accent-deep);border-color:var(--accent)}

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

.hero{position:relative;padding-top:clamp(28px,5vh,60px);padding-bottom:clamp(48px,8vh,110px)}
.hero-w{font-family:var(--serif);font-weight:700;font-size:clamp(46px,7vw,112px);line-height:.9;letter-spacing:-.015em;margin:0}
.hero-grid{display:grid;grid-template-columns:1.28fr .72fr;gap:clamp(24px,4vw,64px);align-items:start;margin-top:clamp(24px,3.5vh,48px)}
.hero-photo{position:relative;max-width:440px;margin:clamp(-46px,-4vw,-8px) 0 0 auto;transform:rotate(2deg)}
.hero-photo .frame{box-shadow:0 24px 60px -30px rgba(44,39,31,.5)}
.hero-stamp{position:absolute;bottom:-16px;left:-14px;background:var(--paper);transform:rotate(-2.5deg);z-index:2}

/* --- tmavý pruh -------------------------------------------------------- */

.band{
  background:var(--accent-dark);
  color:var(--cream);
  border-top:1px solid rgba(44,39,31,.2);
  border-bottom:1px solid rgba(44,39,31,.2);
  padding-top:clamp(56px,9vh,120px);padding-bottom:clamp(56px,9vh,120px);
}
.band .lbl{color:#A9BCA6}
.band a{color:var(--cream);border-color:var(--cream)}
.band a:hover{color:var(--cream);border-color:#A9BCA6}
.band-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);margin-top:40px;max-width:1000px}
.band-grid p{margin:0}
.band-grid .txt-s{color:#D3DCCF}

/* --- mřížka produktů ---------------------------------------------------- */

.grid-prod{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(28px,3.4vw,56px) clamp(22px,2.6vw,40px)}
.card{position:relative;display:flex;flex-direction:column}
.card .frame{margin-bottom:18px}
.card h3{font-size:26px;line-height:1.1;margin:7px 0 0}
/* margin-top:auto srovná ceny všech karet na stejnou linku */
.card-meta{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.card p{margin-bottom:14px}
.cena{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--accent-dark);white-space:nowrap}
.cena-xl{font-size:clamp(30px,3.4vw,42px)}
.card-note{
  position:absolute;top:14px;left:14px;z-index:2;
  opacity:0;transform:translateY(6px);
  transition:opacity .45s ease,transform .45s ease;
}
.card:hover .card-note{opacity:1;transform:translateY(0)}

/* --- detail produktu ---------------------------------------------------- */

.detail{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,4.5vw,80px);align-items:start}
.gal-main{margin-bottom:12px}
.gal-thumbs{display:flex;gap:10px;flex-wrap:wrap}
.gal-thumbs button{
  width:74px;height:74px;padding:0;cursor:pointer;overflow:hidden;
  border:1px solid var(--line-2);background:var(--paper-3);
  transition:border-color .3s ease,opacity .3s ease;opacity:.62;
}
.gal-thumbs button img{width:100%;height:100%;object-fit:cover}
.gal-thumbs button:hover{opacity:1}
.gal-thumbs button[aria-current="true"]{opacity:1;border-color:var(--accent);border-width:2px}

.specs{margin:26px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.specs li{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:12.5px;line-height:1.7}
.specs dt,.specs .k{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:10.5px;padding-top:2px}

/* --- formuláře ---------------------------------------------------------- */

.form{max-width:640px}
.form-box{background:var(--card);border:1px solid var(--line-2);padding:clamp(22px,3.4vw,40px)}
.fs{border:0;padding:0;margin:0 0 30px;min-width:0}
.fs:last-of-type{margin-bottom:22px}
.fs legend{
  padding:0 0 16px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent-deep);
}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin-bottom:16px}
.row:last-child{margin-bottom:0}
.row-1{grid-template-columns:1fr}
.f{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;min-width:0}
.f:last-child{margin-bottom:0}
.f label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.f label .req{color:var(--accent-deep)}
.f .hint{font-size:11.5px;line-height:1.6;color:var(--muted);letter-spacing:0}

input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{
  width:100%;min-height:46px;padding:11px 12px;
  font-family:var(--mono);font-size:14px;color:var(--ink);
  background:var(--paper);
  border:1px solid var(--line-2);border-radius:var(--radius);
  transition:border-color .25s ease,background .25s ease;
}
textarea{min-height:110px;resize:vertical;line-height:1.7}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 19px) 21px,calc(100% - 13px) 21px;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
input:focus,select:focus,textarea:focus{border-color:var(--accent);background:#fff;outline:2px solid transparent}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}
input::placeholder,textarea::placeholder{color:#A79B87}
.f.err input,.f.err select,.f.err textarea{border-color:#9B3B2E;background:#FBEFEC}
.f .err-t{font-size:11.5px;color:#9B3B2E;letter-spacing:0}

/* výběr — dopravy, platby */
.opts{display:flex;flex-direction:column;gap:10px}
.opt{
  display:flex;align-items:center;gap:13px;
  min-height:56px;padding:12px 16px;cursor:pointer;
  background:var(--paper);border:1px solid var(--line-2);
  transition:border-color .25s ease,background .25s ease;
}
.opt:hover{border-color:var(--accent)}
.opt:has(input:checked){border-color:var(--accent);border-width:2px;padding:11px 15px;background:var(--accent-tint)}
.opt input{accent-color:var(--accent);width:19px;height:19px;flex:none;margin:0}
.opt .t{flex:1;font-size:13px;line-height:1.45}
.opt .t small{display:block;font-size:11.5px;color:var(--ink-3)}
.opt .p{font-size:13px;white-space:nowrap;color:var(--accent-dark)}
.opt.fixed{cursor:default;background:var(--accent-tint);border-color:var(--accent)}

.check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:6px 0;min-height:44px}
.check input{accent-color:var(--accent);width:19px;height:19px;flex:none;margin-top:3px}
.check span{font-size:12.5px;line-height:1.7;color:var(--ink-2);letter-spacing:0}

/* souhrn objednávky */
.sum{border-top:1px solid var(--line-2);padding-top:16px;margin-top:6px}
.sum-r{display:flex;justify-content:space-between;gap:16px;padding:6px 0;font-size:13px;color:var(--ink-2)}
.sum-r.tot{
  margin-top:10px;padding-top:14px;border-top:1px solid var(--line-2);
  font-family:var(--serif);font-size:22px;font-weight:600;color:var(--ink);
}

/* hlášky */
.msg{padding:16px 20px;border:1px solid;margin-bottom:26px;font-size:13px;line-height:1.7}
.msg-err{background:#FBEFEC;border-color:#C97A6A;color:#7E2E22}
.msg-ok{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-dark)}
.msg ul{margin:8px 0 0;padding-left:20px}

/* --- „Druhá šance“ — panel místo cihel ---------------------------------- */

.panel{
  position:relative;overflow:hidden;
  background:#221D17;color:var(--cream);
  padding:clamp(38px,6vw,88px) clamp(24px,5vw,80px);
}
/* jemné vlákno místo obrázkové textury — nic se nestahuje */
.panel::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    repeating-linear-gradient(90deg,rgba(239,231,214,.045) 0 1px,transparent 1px 7px),
    repeating-linear-gradient(0deg,rgba(239,231,214,.03) 0 1px,transparent 1px 7px),
    radial-gradient(120% 90% at 15% 0%,rgba(132,151,132,.24),transparent 62%);
}
.panel>*{position:relative}
.panel .lbl{color:#9AA79E}
.panel-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.panel-q{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.6vw,34px);line-height:1.35;color:var(--cream);margin:0;max-width:26ch}
.panel .frame{border-color:rgba(239,231,214,.32)}
.mats{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-direction:column}
.mats li{display:grid;grid-template-columns:26px 1fr;gap:14px;padding:14px 0;border-top:1px solid rgba(239,231,214,.18);font-size:13px;line-height:1.7;color:#D8CFBD}
.mats li:last-child{border-bottom:1px solid rgba(239,231,214,.18)}
.mats .n{font-size:10.5px;letter-spacing:.2em;color:var(--accent);padding-top:3px}
.mats b{color:var(--cream);font-weight:500}

/* --- Zeď: odkrytá cihla + renovovaná omítka ------------------------------
   Cihla je pozadí celého bloku. Přes ni leží omítka s odsekanou hranou
   (clip-path), takže vlevo zůstane výřez do zdiva. Hrana má vlastní
   vrstvu o pár pixelů vedle — díky ní má omítka tloušťku, ne jen obrys. */

.zed{
  position:relative;
  overflow:hidden;
  padding:clamp(34px,5vw,74px) clamp(22px,4.5vw,68px);
  border:1px solid rgba(44,39,31,.22);
  box-shadow:0 30px 70px -44px rgba(44,39,31,.7);
}

.zed-cihly{
  position:absolute;inset:0;
  background:url('../img/cihly.svg') repeat;
  background-size:clamp(196px,20vw,268px) auto;
}
/* světlo shora zleva, jako by na zeď svítilo okno */
.zed-cihly::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(85% 65% at 14% 4%,rgba(255,247,231,.28),transparent 64%),
    linear-gradient(178deg,rgba(255,250,240,.05),rgba(32,21,13,.24));
}

.zed-omitka-wrap{
  position:absolute;inset:0;
  filter:drop-shadow(-7px 5px 12px rgba(35,25,16,.45));
}

/* Odsekaná hrana. Kousky jsou schválně různě velké — pravidelný zub
   vypadá jako ozdoba, ne jako místo, kde někdo osekal omítku. */
.zed-hrana,.zed-omitka{
  position:absolute;inset:0;
  clip-path:polygon(
    30.9% 0%, 100% 0%, 100% 100%,
    33.1% 100%, 33.1% 93%, 31.9% 93%, 31.9% 87.6%, 31% 87.6%, 31% 79.4%,
    30.2% 79.4%, 30.2% 76.1%, 30% 76.1%, 30% 72.2%, 30.5% 72.2%, 30.5% 68.2%,
    28.8% 68.2%, 28.8% 63.9%, 30.3% 63.9%, 30.3% 58.2%, 29.5% 58.2%, 29.5% 49.8%,
    30.9% 49.8%, 30.9% 43.1%, 34% 43.1%, 34% 38.3%, 28.7% 38.3%, 28.7% 31.6%,
    33.7% 31.6%, 33.7% 26.9%, 32.9% 26.9%, 32.9% 22.7%, 34.9% 22.7%, 34.9% 15.4%,
    33.9% 15.4%, 33.9% 7.4%, 29.7% 7.4%, 29.7% 1.8%, 33.5% 1.8%, 33.5% 0%
  );
}

/* spodní vrstva = řez omítkou, o kousek vedle → hrana dostane tloušťku */
.zed-hrana{
  background:#CDBC9E;
  inset:0 -12px -12px 0;
  transform:translate(-5px,3px);
}

.zed-omitka{
  background:#EAE0CB;
  /* nerovnoměrně natažený štuk — žádná pravidelná mřížka */
  background-image:
    radial-gradient(70% 55% at 22% 18%,rgba(255,252,244,.55),transparent 70%),
    radial-gradient(60% 50% at 78% 82%,rgba(44,39,31,.05),transparent 72%),
    linear-gradient(177deg,#F0E7D5,#E3D7BF);
}

.zed-in{
  position:relative;
  display:grid;
  grid-template-columns:.74fr 1.26fr;
  gap:clamp(20px,3.4vw,54px);
  align-items:center;
  min-height:clamp(420px,42vw,560px);
}

/* fotka visí na cihlách a rohem přesahuje na omítku */
.zed-foto{position:relative;z-index:2;max-width:330px;transform:rotate(-2deg) translateX(7%)}
.zed-foto .frame{
  border:6px solid #F3EADB;
  box-shadow:0 26px 44px -22px rgba(28,18,10,.8);
}
.zed-foto .lbl{
  position:absolute;bottom:-15px;left:-10px;
  background:var(--paper);padding:7px 12px;
  border:1px solid var(--line-2);transform:rotate(2.5deg);
}

/* text sedí na omítce — tmavý inkoust na světlém štuku */
.zed-text{position:relative;z-index:1;padding-left:clamp(0px,2.2vw,30px)}
.zed-text .lbl{color:var(--accent-deep)}
.zed-text h2{color:var(--ink)}
.zed-text .mats li{color:var(--ink-2);border-color:rgba(44,39,31,.18)}
.zed-text .mats b{color:var(--ink)}
.zed-text .mats .n{color:var(--accent-deep)}

/* --- videa --------------------------------------------------------------- */

.vid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,44px)}
.vid-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line-2)}
.vid-top{position:relative;background:#221D17;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;overflow:hidden}
.vid-top::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 100% at 30% 10%,rgba(132,151,132,.30),transparent 65%)}
.vid-lock{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--cream);text-align:center;padding:20px}
.vid-key{
  width:54px;height:54px;border-radius:50%;
  border:1px solid rgba(239,231,214,.5);
  display:flex;align-items:center;justify-content:center;font-size:19px;
}
.vid-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.vid-body h3{font-size:26px;line-height:1.1;margin:8px 0 10px}
.vid-body .txt-s{flex:1}
.vid-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.player{aspect-ratio:16/9;background:#000;border:1px solid var(--line-2)}
.player iframe,.player video{width:100%;height:100%;border:0;display:block}

/* kód */
.kod-box{background:var(--accent-tint);border:1px solid var(--accent);padding:clamp(20px,3vw,32px)}
.kod-form{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.kod-form .f{flex:1;min-width:220px;margin:0}
.kod-form input{text-transform:uppercase;letter-spacing:.2em;background:#fff}

/* --- deník ---------------------------------------------------------------- */

.denik{background:var(--paper-2);border-top:1px solid var(--line)}
.denik-hd{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:clamp(34px,5vh,64px)}
.denik-main{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,5vw,76px);align-items:start;border-top:1px solid var(--line-2);padding-top:40px}
.denik-more{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);margin-top:clamp(36px,6vh,60px);border-top:1px solid var(--line-2);padding-top:34px}
.denik-more p{margin:12px 0 0;font-family:var(--serif);font-size:21px;line-height:1.4;color:#3A352B}

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

.ftr{background:var(--paper-3);border-top:1px solid var(--line);padding-top:clamp(52px,8vh,90px);padding-bottom:28px}
.ftr-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:36px;align-items:start;padding-bottom:clamp(40px,7vh,74px);border-bottom:1px solid var(--line-2)}
.ftr-links{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.ftr-links a{
  display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;
  border:1px solid var(--line-2);font-size:13px;letter-spacing:.05em;
  transition:background .3s ease,border-color .3s ease,transform .3s ease;
}
.ftr-links a:hover{background:var(--accent);border-color:var(--accent);color:var(--ink);transform:translateX(3px)}
.ftr-bot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:24px}

/* --- drobečky ------------------------------------------------------------- */

.drob{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:22px 0 0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.drob a:hover{color:var(--accent-deep)}
.drob span{color:var(--line-2)}

/* --- animace při scrollu -------------------------------------------------- */

/* Skrývá se jen tehdy, když je JS zapnutý — jinak je obsah rovnou vidět.
   Třídu .js přidává krátký skript v hlavičce, ještě před vykreslením. */
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.16,.7,.3,1),transform .9s cubic-bezier(.16,.7,.3,1)}
.js [data-reveal][data-dir=left]{transform:translateX(-36px)}
.js [data-reveal][data-dir=right]{transform:translateX(36px)}
.js [data-reveal][data-dir=scale]{transform:scale(.95)}
.js [data-reveal].je-videt{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
  .js [data-reveal]{opacity:1 !important;transform:none !important}
}

/* --- responzivita ---------------------------------------------------------- */

@media(max-width:1080px){
  .detail{grid-template-columns:1fr;gap:40px}
  .ftr-grid{grid-template-columns:1fr 1fr;gap:32px}
}

/* Na mobilu se výřez otočí: nahoře zůstane cihla, omítka začíná pod fotkou.
   Odsekaná hrana patří přímo textovému bloku, takže se s ním posouvá
   a nikdy do textu nezasáhne — ať je text jakkoliv dlouhý. */
@media(max-width:920px){
  .zed{padding:0}
  .zed-in{grid-template-columns:1fr;min-height:0;gap:0;align-items:stretch}
  .zed-cihly{background-size:172px auto}
  .zed-omitka-wrap{display:none}

  .zed-foto{
    max-width:250px;
    margin:clamp(30px,8vw,48px) auto clamp(34px,8vw,50px);
    transform:rotate(-2deg);
  }

  .zed-text{
    position:relative;isolation:isolate;
    padding:clamp(48px,12vw,74px) clamp(20px,5.5vw,32px) clamp(32px,8vw,46px);
  }
  .zed-text::before{
    content:"";position:absolute;inset:0;z-index:-1;
    background:linear-gradient(177deg,#F0E7D5,#E3D7BF);
    filter:drop-shadow(2px -5px 9px rgba(35,25,16,.42));
    clip-path:polygon(
      0% 6.4%, 5% 6.4%, 5% 3.3%, 13% 3.3%, 13% 7%, 19% 7%,
      19% 4%, 29% 4%, 29% 6.6%, 35% 6.6%, 35% 3.5%, 46% 3.5%,
      46% 7.4%, 52% 7.4%, 52% 4.3%, 63% 4.3%, 63% 6.8%, 70% 6.8%,
      70% 3.2%, 78% 3.2%, 78% 7.1%, 86% 7.1%, 86% 4.6%, 93% 4.6%,
      93% 6.2%, 100% 6.2%, 100% 100%, 0% 100%
    );
  }
}

@media(max-width:920px){
  .hero-grid,.band-grid,.panel-grid,.denik-main,.denik-more,.vid{grid-template-columns:1fr}
  .hero-photo{max-width:330px;margin:14px auto 0;transform:rotate(1.5deg)}
  .hero-w{font-size:clamp(44px,11vw,78px)}
  .band-grid{gap:22px}
  .panel-grid{gap:30px}
  .denik-main,.denik-more{gap:32px}
  .ftr-grid{grid-template-columns:1fr}
}

@media(max-width:640px){
  .row{grid-template-columns:1fr}
  .grid-prod{grid-template-columns:1fr;gap:40px}
  .hdr-in{padding:12px 0}
  .nav{gap:14px;width:100%;justify-content:flex-start}
  .specs li{grid-template-columns:1fr;gap:2px}
  .hero-stamp{left:auto;right:-6px}
  .kod-form{flex-direction:column;align-items:stretch}
  .kod-form .btn{width:100%}
}

/* tisk objednávky */
@media print{
  .hdr,.ftr,.nav,.btn{display:none}
  body{background:#fff}
}
