/* Písma uložené na vlastnom serveri (bez Google Fonts – IP návštevníkov sa neposiela tretím stranám). Licencia SIL OFL 1.1, assets/fonts/OFL-*.txt */
@font-face{ font-family:'Fraunces'; font-style:normal; font-weight:100 900; font-display:swap; src:url('assets/fonts/fraunces-latin-ext-opsz-normal.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; }
@font-face{ font-family:'Fraunces'; font-style:normal; font-weight:100 900; font-display:swap; src:url('assets/fonts/fraunces-latin-opsz-normal.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; }
@font-face{ font-family:'Fraunces'; font-style:italic; font-weight:100 900; font-display:swap; src:url('assets/fonts/fraunces-latin-ext-opsz-italic.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; }
@font-face{ font-family:'Fraunces'; font-style:italic; font-weight:100 900; font-display:swap; src:url('assets/fonts/fraunces-latin-opsz-italic.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; }
@font-face{ font-family:'Work Sans'; font-style:normal; font-weight:100 900; font-display:swap; src:url('assets/fonts/work-sans-latin-ext-wght-normal.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; }
@font-face{ font-family:'Work Sans'; font-style:normal; font-weight:100 900; font-display:swap; src:url('assets/fonts/work-sans-latin-wght-normal.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; }
@font-face{ font-family:'JetBrains Mono'; font-style:normal; font-weight:100 800; font-display:swap; src:url('assets/fonts/jetbrains-mono-latin-ext-wght-normal.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; }
@font-face{ font-family:'JetBrains Mono'; font-style:normal; font-weight:100 800; font-display:swap; src:url('assets/fonts/jetbrains-mono-latin-wght-normal.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:#EDEAE3;
    --bg-warm:#E4DFD4;
    --bg-dark:#17140F;
    --bg-dark-soft:#221D16;
    --ink:#1F1B16;
    --ink-soft:#5B5147;
    --ink-faint:#8B8172;
    --wood:#8B5A2B;
    --wood-light:#B98452;
    --wood-deep:#4A2E1A;
    --brass:#B08D57;
    --oxblood:#6E2620;
    --oxblood-light:#8C3830;
    --paper:#F6F4EE;
    --line:rgba(31,27,22,0.14);
    --line-dark:rgba(246,244,238,0.14);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:'Work Sans', sans-serif;
    font-weight:400;
    line-height:1.6;
    overflow-x:hidden;
  }
  h1,h2,h3,.serif{
    font-family:'Fraunces', serif;
    font-weight:500;
    letter-spacing:-0.01em;
    color:var(--ink);
  }
  .mono{
    font-family:'JetBrains Mono', monospace;
    letter-spacing:0.06em;
  }
  .eyebrow{
    font-family:'JetBrains Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--wood);
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
  }
  .eyebrow::before{
    content:'';
    width:26px;
    height:1px;
    background:var(--wood);
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{
    max-width:1180px;
    margin:0 auto;
    padding:0 40px;
  }
  ::selection{ background:var(--oxblood); color:var(--paper); }

  /* reveal on scroll */
  .reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity 0.9s cubic-bezier(.22,1,.36,1), transform 0.9s cubic-bezier(.22,1,.36,1);
  }
  .reveal.is-visible{ opacity:1; transform:translateY(0); }

  @media (prefers-reduced-motion: reduce){
    .reveal{ opacity:1; transform:none; transition:none; }
    html{ scroll-behavior:auto; }
  }

  /* ===== HEADER ===== */
  header{
    position:fixed;
    top:0; left:0; right:0;
    z-index:100;
    padding:22px 0;
    background:rgba(237,234,227,0.82);
    backdrop-filter:blur(10px);
    border-bottom:1px solid transparent;
    transition:border-color .4s ease, background .4s ease;
  }
  header.scrolled{
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .logo{
    font-family:'Fraunces', serif;
    font-size:1.35rem;
    font-weight:600;
    letter-spacing:0.02em;
  }
  .logo em{
    font-style:italic;
    color:var(--oxblood);
  }
  nav ul{
    list-style:none;
    display:flex;
    gap:36px;
  }
  nav a{
    font-size:0.88rem;
    color:var(--ink-soft);
    position:relative;
    padding-bottom:4px;
  }
  nav a:hover{ color:var(--ink); }
  nav a::after{
    content:'';
    position:absolute;
    left:0; bottom:0;
    width:0%; height:1px;
    background:var(--oxblood);
    transition:width .3s ease;
  }
  nav a:hover::after{ width:100%; }
  .nav-cta{
    font-family:'JetBrains Mono', monospace;
    font-size:0.75rem;
    letter-spacing:0.05em;
    border:1px solid var(--ink);
    padding:10px 18px;
    border-radius:2px;
    transition:background .3s ease, color .3s ease;
  }
  .nav-cta:hover{ background:var(--ink); color:var(--paper); }
  .nav-toggle{ display:none; }

  /* ===== HERO (full-bleed photo + overlay card) ===== */
  .hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:flex-end;
    padding:0 0 90px;
    overflow:hidden;
  }
  .hero-bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    z-index:0;
  }
  .hero::after{
    content:'';
    position:absolute;
    inset:0;
    background:
      linear-gradient(to top, rgba(23,20,15,0.28), rgba(23,20,15,0) 45%),
      radial-gradient(ellipse at center, rgba(23,20,15,0) 45%, rgba(23,20,15,0.22) 100%);
    z-index:1;
  }
  .hero-content-wrap{
    position:relative;
    z-index:2;
    width:100%;
  }
  @media (min-width: 981px){
    .hero-content-wrap{
      max-width:none;
      margin:0;
      padding-left:clamp(40px, 6vw, 110px);
      padding-right:24px;
    }
  }
  .hero-card{
    max-width:480px;
    background:rgba(246,244,238,0.94);
    backdrop-filter:blur(10px);
    padding:48px 44px;
    box-shadow:0 30px 60px -20px rgba(23,20,15,0.35);
  }
  .hero h1{
    font-size:clamp(2.3rem, 4.2vw, 3.4rem);
    line-height:1.06;
    margin-bottom:22px;
  }
  .hero h1 em{
    font-style:italic;
    font-weight:400;
    color:var(--oxblood);
  }
  .hero p.lead{
    font-size:1.02rem;
    color:var(--ink-soft);
    margin-bottom:32px;
  }
  .hero-ctas{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
  }
  .btn-primary{
    background:var(--ink);
    color:var(--paper);
    padding:15px 28px;
    font-size:0.9rem;
    border-radius:2px;
    transition:background .3s ease, transform .3s ease;
    display:inline-block;
  }
  .btn-primary:hover{ background:var(--oxblood); transform:translateY(-2px); }
  .btn-ghost{
    padding:15px 24px;
    font-size:0.9rem;
    border-bottom:1px solid var(--ink);
    transition:border-color .3s ease, color .3s ease;
  }
  .btn-ghost:hover{ color:var(--wood); border-color:var(--wood); }

  /* ===== SECTION generic ===== */
  section{ padding:130px 0; }
  .section-head{
    max-width:640px;
    margin-bottom:70px;
  }
  .section-head h2{
    font-size:clamp(1.9rem, 3.4vw, 2.7rem);
    line-height:1.15;
  }

  /* ===== PHILOSOPHY ===== */
  .philosophy{
    background:var(--bg-dark);
    color:var(--paper);
  }
  .philosophy .eyebrow{ color:var(--wood-light); }
  .philosophy .eyebrow::before{ background:var(--wood-light); }
  .philosophy h2{ color:var(--paper); }
  .philosophy p.lead{
    font-size:1.15rem;
    color:rgba(246,244,238,0.72);
    max-width:600px;
  }
  .feature-row{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:1px;
    background:var(--line-dark);
    margin-top:70px;
    border-top:1px solid var(--line-dark);
  }
  .feature{
    background:var(--bg-dark);
    padding:40px 34px;
  }
  .feature-image{
    margin-top:26px;
    aspect-ratio:4/3;
    overflow:hidden;
    border-radius:2px;
  }
  .feature-image img{
    width:60%;
    height:60%;
    object-fit:cover;
    display:block;
  }
  .feature .mk{
    font-family:'JetBrains Mono', monospace;
    font-size:0.95rem;
    color:var(--oxblood-light);
    margin-bottom:22px;
    display:block;
  }
  .feature h3{
    font-size:1.2rem;
    color:var(--paper);
    font-weight:500;
    margin-bottom:12px;
  }
  .feature p{
    font-size:0.92rem;
    color:rgba(246,244,238,0.6);
  }

  /* ===== COLLECTIONS ===== */
  .collections-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:2px;
    background:var(--line);
    border:1px solid var(--line);
  }
  .coll-card{
    background:var(--bg);
    padding:52px 44px;
    position:relative;
    overflow:hidden;
    transition:background .4s ease;
    display:flex;
    flex-direction:column;
    height:100%;
  }
  .coll-card:hover{ background:var(--bg-warm); }
  .coll-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:60px;
  }
  .coll-mk{
    font-family:'JetBrains Mono', monospace;
    font-size:1.6rem;
    color:var(--brass);
  }
  .coll-num{
    font-family:'JetBrains Mono', monospace;
    font-size:0.75rem;
    color:var(--ink-faint);
  }
  .coll-card h3{
    font-size:1.7rem;
    margin-bottom:12px;
  }
  .coll-card p{
    color:var(--ink-soft);
    font-size:0.95rem;
    max-width:340px;
    margin-bottom:24px;
  }
  .coll-status{
    font-family:'JetBrains Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.06em;
    color:var(--wood);
    text-transform:uppercase;
    margin-top:auto;
  }
  .door-illustration{
    position:absolute;
    right:36px;
    bottom:20px;
    width:90px;
    opacity:0.9;
  }

  /* ===== CRAFT ===== */
  .craft{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
  }
  .craft-visual{
    background:var(--bg-warm);
    border:1px solid var(--line);
    border-radius:2px;
    padding:50px;
    display:flex;
    flex-direction:column;
    gap:0;
  }
  .layer{
    padding:22px 0;
    border-bottom:1px dashed var(--line);
    display:flex;
    justify-content:space-between;
    align-items:baseline;
  }
  .layer:last-child{ border-bottom:none; }
  .layer .lname{ font-weight:500; }
  .layer .lval{
    font-family:'JetBrains Mono', monospace;
    font-size:0.8rem;
    color:var(--wood);
  }
  .db-stat{
    margin-top:34px;
    padding-top:30px;
    border-top:1px solid var(--line);
  }
  .db-stat .num{
    font-family:'Fraunces', serif;
    font-size:3.2rem;
    color:var(--oxblood);
    line-height:1;
  }
  .db-stat .dsc{
    font-size:0.85rem;
    color:var(--ink-soft);
    margin-top:8px;
  }
  .craft-text p{
    color:var(--ink-soft);
    margin-bottom:22px;
    max-width:460px;
  }

  /* ===== GALLERY ===== */
  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:16px;
  }
  .g-item{
    aspect-ratio:3/4;
    background:var(--bg-warm);
    border:1px solid var(--line);
    display:flex;
    align-items:flex-end;
    padding:18px;
    position:relative;
    overflow:hidden;
  }
  .g-item svg{ position:absolute; inset:0; margin:auto; height:78%; }
  .g-item .g-label{
    font-family:'JetBrains Mono', monospace;
    font-size:0.7rem;
    color:var(--ink-soft);
    letter-spacing:0.05em;
    position:relative; z-index:2;
  }
  .g-item:nth-child(2){ grid-row: span 1; }

  /* ===== CONTACT ===== */
  .contact{
    background:var(--bg-dark);
    color:var(--paper);
  }
  .contact .eyebrow{ color:var(--wood-light); }
  .contact .eyebrow::before{ background:var(--wood-light); }
  .contact-grid{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:80px;
  }
  .contact h2{ color:var(--paper); }
  .contact-info p{
    color:rgba(246,244,238,0.65);
    margin-bottom:30px;
    max-width:400px;
  }
  .info-line{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-bottom:24px;
  }
  .info-line .k{
    font-family:'JetBrains Mono', monospace;
    font-size:0.7rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--wood-light);
  }
  .info-line .v{ font-size:1rem; }
  form{ display:flex; flex-direction:column; gap:20px; }
  .field{ display:flex; flex-direction:column; gap:8px; }
  .field label{
    font-family:'JetBrains Mono', monospace;
    font-size:0.7rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:rgba(246,244,238,0.5);
  }
  .field input, .field textarea{
    background:transparent;
    border:none;
    border-bottom:1px solid var(--line-dark);
    padding:10px 0;
    color:var(--paper);
    font-family:'Work Sans', sans-serif;
    font-size:1rem;
    outline:none;
    transition:border-color .3s ease;
  }
  .field input:focus, .field textarea:focus{ border-color:var(--wood-light); }
  .field textarea{ resize:vertical; min-height:80px; }
  .form-submit{
    align-self:flex-start;
    margin-top:8px;
    background:var(--paper);
    color:var(--ink);
    padding:15px 30px;
    font-size:0.9rem;
    border:none;
    border-radius:2px;
    cursor:pointer;
    font-family:'Work Sans', sans-serif;
    transition:background .3s ease;
  }
  .form-submit:hover{ background:var(--wood-light); color:var(--bg-dark); }

  /* ===== FOOTER ===== */
  footer{
    background:var(--bg-dark);
    color:rgba(246,244,238,0.55);
    padding:50px 0 34px;
    border-top:1px solid var(--line-dark);
  }
  .footer-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-bottom:34px;
    margin-bottom:24px;
    border-bottom:1px solid var(--line-dark);
  }
  .footer-top .logo{ color:var(--paper); }
  footer nav ul{ gap:28px; }
  footer nav a{ color:rgba(246,244,238,0.55); font-size:0.85rem; }
  footer nav a:hover{ color:var(--paper); }
  .footer-bottom{
    display:flex;
    justify-content:space-between;
    font-size:0.78rem;
  }

  /* focus visibility */
  a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
    outline:2px solid var(--oxblood);
    outline-offset:3px;
  }

  /* ===== RESPONSIVE ===== */
  @media (max-width: 980px){
    .wrap{ padding:0 24px; }
    nav ul{ display:none; }
    .hero-card{ max-width:100%; padding:36px 26px; }
    .feature-row{ grid-template-columns:1fr; }
    .collections-grid{ grid-template-columns:1fr; }
    .craft{ grid-template-columns:1fr; gap:50px; }
    .gallery-grid{ grid-template-columns:repeat(2, 1fr); }
    .contact-grid{ grid-template-columns:1fr; gap:50px; }
    section{ padding:90px 0; }
  }

/* ===== SUBPAGE HERO ===== */
.page-hero{
  padding:150px 0 70px;
  border-bottom:1px solid var(--line);
}
.page-hero .breadcrumb{
  font-family:'JetBrains Mono', monospace;
  font-size:0.75rem;
  color:var(--ink-faint);
  margin-bottom:24px;
  letter-spacing:0.04em;
}
.page-hero .breadcrumb a{ color:var(--ink-soft); }
.page-hero .breadcrumb a:hover{ color:var(--oxblood); }
.page-hero h1{
  font-size:clamp(2.2rem, 4.4vw, 3.4rem);
  line-height:1.06;
  max-width:820px;
}
.page-hero h1 em{ font-style:italic; color:var(--oxblood); font-weight:400; }
.page-hero p.lead{
  font-size:1.05rem;
  color:var(--ink-soft);
  max-width:560px;
  margin-top:20px;
}

/* ===== COLLECTION DETAIL ===== */
.coll-detail{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:start;
}
.coll-gallery-main{
  aspect-ratio:3/4;
  background:var(--bg);
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.coll-gallery-main svg{ width:46%; }
.coll-gallery-thumbs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:10px;
}
.coll-gallery-thumbs .thumb{
  aspect-ratio:3/4;
  background:var(--bg);
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background 0.2s ease;
}
.coll-gallery-thumbs .thumb:hover,
.coll-gallery-thumbs .thumb.active{
  background:var(--bg-warm);
}
.coll-gallery-thumbs .thumb svg{ width:44%; opacity:0.85; }

.spec-table{
  width:100%;
  border-collapse:collapse;
  margin:34px 0 40px;
}
.spec-table tr{
  border-bottom:1px solid var(--line);
}
.spec-table td{
  padding:16px 0;
  font-size:0.94rem;
}
.spec-table td:first-child{
  font-family:'JetBrains Mono', monospace;
  font-size:0.72rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--ink-faint);
  width:42%;
}

.related-heading{
  font-family:'JetBrains Mono', monospace;
  font-size:0.75rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--ink-faint);
  margin-bottom:24px;
}
.related-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:18px;
}
.related-card{
  border:1px solid var(--line);
  padding:26px 24px;
  transition:background .3s ease, border-color .3s ease;
  display:block;
}
.related-card:hover{ background:var(--bg-warm); border-color:var(--wood); }
.related-card .rc-mk{
  font-family:'JetBrains Mono', monospace;
  color:var(--brass);
  font-size:1.1rem;
  margin-bottom:10px;
  display:block;
}
.related-card h4{
  font-family:'Fraunces', serif;
  font-size:1.15rem;
  font-weight:500;
  margin-bottom:6px;
}
.related-card span.rc-more{
  font-family:'JetBrains Mono', monospace;
  font-size:0.7rem;
  color:var(--wood);
  text-transform:uppercase;
}

.coll-card-link{ display:block; color:inherit; height:100%; }

/* ===== FAQ (kontakt page) ===== */
.faq-item{
  border-bottom:1px solid var(--line-dark);
  padding:22px 0;
}
.faq-item h4{
  font-family:'Fraunces', serif;
  font-weight:500;
  font-size:1.05rem;
  color:var(--paper);
  margin-bottom:8px;
}
.faq-item p{
  color:rgba(246,244,238,0.62);
  font-size:0.92rem;
  max-width:520px;
}

/* ===== nav active state ===== */
nav a.active{ color:var(--ink); }
nav a.active::after{ width:100%; }

@media (max-width: 980px){
  .coll-detail{ grid-template-columns:1fr; }
  .related-grid{ grid-template-columns:1fr; }
}

/* ===== LOGO IMAGE ===== */
.logo{ display:flex; align-items:center; }
.logo-img{
  height:64px;
  width:auto;
  display:block;
}
.footer-top .logo-img{ height:60px; }
@media (max-width: 980px){
  .logo-img{ height:26px; }
}

/* ===== SCENE IMAGES (interior preview illustrations) ===== */
.coll-image{
  aspect-ratio:3/4;
  overflow:hidden;
  margin:-52px -44px 32px;
  position:relative;
}
.coll-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.coll-card{ padding-top:0; }
.coll-card .coll-top{ padding-top:28px; }

.coll-gallery-main{ padding:0; overflow:hidden; }
.coll-gallery-main img{ width:100%; height:100%; object-fit:cover; }
.coll-gallery-thumbs .thumb img{ width:100%; height:100%; object-fit:cover; cursor:pointer; }
.coll-gallery-thumbs .thumb{ padding:0; overflow:hidden; }

.scene-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
}
.scene-item{
  aspect-ratio:3/4;
  border:1px solid var(--line);
  overflow:hidden;
  position:relative;
}
.scene-item img{ width:100%; height:100%; object-fit:cover; display:block; }
.scene-item .scene-caption{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:14px 16px;
  background:linear-gradient(to top, rgba(23,20,15,0.75), transparent);
  font-family:'JetBrains Mono', monospace;
  font-size:0.72rem;
  letter-spacing:0.04em;
  color:#F6F4EE;
}

@media (max-width: 980px){
  .scene-gallery-grid{ grid-template-columns:1fr; }
  .coll-image{ margin:-40px -34px 28px; }
}

/* ===== HERO PRODUCT PIN ===== */
.hero-pin{
  position:absolute;
  z-index:3;
  transform:translate(-50%, -50%);
}
.hero-pin-dot{
  position:relative;
  display:block;
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--paper);
  border:2px solid var(--brass);
  cursor:pointer;
  box-shadow:0 2px 10px rgba(0,0,0,0.3);
}
.hero-pin-dot::before,
.hero-pin-dot::after{
  content:'';
  position:absolute;
  inset:-6px;
  border-radius:50%;
  border:1.5px solid rgba(246,244,238,0.85);
  animation:pin-pulse 2.6s ease-out infinite;
}
.hero-pin-dot::after{ animation-delay:1.3s; }
@keyframes pin-pulse{
  0%{ transform:scale(0.6); opacity:0.9; }
  100%{ transform:scale(2.2); opacity:0; }
}
.hero-pin-card{
  position:absolute;
  left:26px;
  top:50%;
  transform:translateY(-50%);
  width:198px;
  background:rgba(23,20,15,0.88);
  backdrop-filter:blur(8px);
  padding:16px 18px;
  border-radius:2px;
  opacity:0;
  visibility:hidden;
  transition:opacity .3s ease, transform .3s ease;
  pointer-events:none;
}
.hero-pin:hover .hero-pin-card,
.hero-pin:focus-within .hero-pin-card{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.hero-pin-label{
  display:block;
  font-size:0.62rem;
  letter-spacing:0.1em;
  color:var(--wood-light);
  margin-bottom:6px;
}
.hero-pin-name{
  display:block;
  font-family:'Fraunces', serif;
  font-size:1.05rem;
  color:var(--paper);
  margin-bottom:10px;
}
.hero-pin-link{
  display:inline-block;
  font-family:'JetBrains Mono', monospace;
  font-size:0.7rem;
  letter-spacing:0.04em;
  color:var(--paper);
  border-bottom:1px solid var(--brass);
  padding-bottom:2px;
}
.hero-pin-link:hover{ color:var(--brass); }

@media (max-width: 980px){
  .hero-pin-card{
    left:auto;
    right:26px;
    width:170px;
  }
}
@media (max-width: 640px){
  .hero-pin{ display:none; }
}

/* ===== COLOR FINISH PICKER ===== */
.color-picker{
  margin-bottom:34px;
  padding-bottom:30px;
  border-bottom:1px solid var(--line);
}
.color-picker-label{
  font-size:0.72rem;
  letter-spacing:0.08em;
  color:var(--ink-faint);
  margin-bottom:14px;
}
.color-picker-label .color-name{
  color:var(--ink);
  font-weight:500;
}
.swatches{
  display:flex;
  gap:12px;
  margin-bottom:14px;
}
.swatch{
  width:36px;
  height:36px;
  border-radius:50%;
  border:2px solid;
  cursor:pointer;
  padding:0;
  position:relative;
  transition:transform .2s ease, box-shadow .2s ease;
}
.swatch:hover{ transform:translateY(-2px); }
.swatch.active{
  box-shadow:0 0 0 2px var(--paper), 0 0 0 4px var(--ink);
}
.color-picker-note{
  font-size:0.82rem;
  color:var(--ink-faint);
}

/* ===== MINI SWATCHES ON CARDS ===== */
.mini-swatches{
  display:flex;
  gap:6px;
  margin-bottom:20px;
}
.mini-swatch{
  width:14px;
  height:14px;
  border-radius:50%;
  border:1.5px solid;
  display:inline-block;
}

/* ===== ELEGANTNÉ KARTY — bez rámikov, obrázok splýva s pozadím ===== */
.collections-grid{
  gap:28px;
  background:none;
  border:none;
}
.coll-card{
  background:transparent;
  isolation:isolate;
}
.coll-card:hover{ background:transparent; }
/* jemný podklad pri prejdení myšou — s plynulými, rozmazanými okrajmi */
.coll-card::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(closest-side at 50% 50%,
    var(--bg-warm) 0%, var(--bg-warm) 55%, rgba(228,223,212,0) 100%);
  opacity:0;
  transition:opacity .7s ease;
  pointer-events:none;
}
.coll-card:hover::before{ opacity:1; }

/* okraje fotky (podlaha, boky) sa postupne rozplynú do pozadia —
   samotné dvere zostávajú celé a ostré */
.coll-image img{
  -webkit-mask-image:
    linear-gradient(to bottom, #000 84%, transparent 100%),
    linear-gradient(to right, transparent 0%, #000 20%, #000 80%, transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to bottom, #000 84%, transparent 100%),
    linear-gradient(to right, transparent 0%, #000 20%, #000 80%, transparent 100%);
  mask-composite:intersect;
  transform-origin:50% 85%;
  transition:transform 1.1s cubic-bezier(.2,.7,.2,1);
}
.coll-card:hover .coll-image img{ transform:scale(1.10); }

.coll-gallery-main img,
.coll-gallery-thumbs .thumb img{
  -webkit-mask-image:
    linear-gradient(to bottom, #000 94%, transparent 100%),
    linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to bottom, #000 94%, transparent 100%),
    linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%);
  mask-composite:intersect;
}

/* text karty — jemná, elegantná reakcia na myš */
.coll-card h3,
.coll-card p,
.coll-mk,
.coll-num,
.coll-status,
.mini-swatch{
  transition:color .6s ease, transform .6s cubic-bezier(.2,.7,.2,1), letter-spacing .6s ease, opacity .6s ease;
}
.coll-card:hover h3{ color:var(--oxblood); transform:translateX(4px); }
.coll-card:hover p{ color:var(--ink); }
.coll-card:hover .coll-mk{ color:var(--oxblood); }
.coll-card:hover .coll-num{ color:var(--wood); }
.coll-card:hover .mini-swatch{ transform:translateY(-2px); }
.coll-card:hover .mini-swatch + .mini-swatch{ transition-delay:.08s; }
.coll-status{
  position:relative;
  align-self:flex-start;
  padding-bottom:6px;
}
.coll-status::after{
  content:'';
  position:absolute;
  left:0; bottom:0;
  width:100%; height:1px;
  background:var(--oxblood);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .7s cubic-bezier(.2,.7,.2,1);
}
.coll-card:hover .coll-status{ color:var(--oxblood); letter-spacing:0.1em; }
.coll-card:hover .coll-status::after{ transform:scaleX(1); }

/* detail kolekcie — hlavný obrázok a náhľady bez rámikov */
.coll-gallery-main,
.coll-gallery-thumbs .thumb{
  border:none;
  background:transparent;
}
.coll-gallery-thumbs .thumb{
  background:radial-gradient(closest-side at 50% 50%,
    rgba(228,223,212,0) 0%, rgba(228,223,212,0) 100%);
  transition:background .5s ease;
}
.coll-gallery-thumbs .thumb:hover,
.coll-gallery-thumbs .thumb.active{
  background:radial-gradient(closest-side at 50% 50%,
    var(--bg-warm) 0%, var(--bg-warm) 55%, rgba(228,223,212,0) 100%);
}

/* obrázok karty začína na vrchu karty — nič sa neoreže (vidno aj vrch zárubne) */
.coll-image{ margin-top:0 !important; overflow:visible; }

/* ===== GALÉRIA „V INTERIÉRI“ — posuvný pás + zväčšenie ===== */
.scene-carousel{ position:relative; }
.sc-track{
  --sc-h:clamp(300px, 56vh, 540px);
  display:flex;
  gap:22px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  margin-right:calc(50% - 50vw);      /* pás presahuje až k pravému okraju okna */
  padding-right:calc(50vw - 50%);
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
}
.sc-track::-webkit-scrollbar{ display:none; }
.sc-track.is-dragging{ cursor:grabbing; scroll-snap-type:none; scroll-behavior:auto; }
.sc-item{
  position:relative;
  flex:0 0 auto;
  height:var(--sc-h);
  margin:0;
  overflow:hidden;
  scroll-snap-align:start;
  border-radius:2px;
  cursor:zoom-in;
  outline:none;
}
.sc-item img{
  height:100%;
  width:auto;              /* rôzne formáty — rovnaká výška */
  display:block;
  pointer-events:none;
  transition:transform 1.2s cubic-bezier(.2,.7,.2,1), filter .8s ease;
}
.sc-item:hover img,
.sc-item:focus-visible img{ transform:scale(1.045); }
.sc-track:hover .sc-item:not(:hover) img{ filter:saturate(.85) brightness(.97); }
.sc-caption{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:40px 20px 16px;
  background:linear-gradient(to top, rgba(23,20,15,0.62), transparent);
  font-size:0.72rem;
  letter-spacing:0.06em;
  color:#F6F4EE;
  opacity:.85;
  transform:translateY(4px);
  transition:opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1);
}
.sc-item:hover .sc-caption{ opacity:1; transform:none; }
.sc-controls{
  display:flex;
  align-items:center;
  gap:22px;
  margin-top:30px;
}
.sc-btn{
  width:46px; height:46px;
  border-radius:50%;
  border:1px solid var(--line);
  background:transparent;
  color:var(--ink);
  font-size:1.1rem;
  cursor:pointer;
  transition:background .5s ease, color .5s ease, border-color .5s ease, opacity .4s ease;
}
.sc-btn:hover{ background:var(--ink); color:var(--paper, #F6F4EE); border-color:var(--ink); }
.sc-btn:disabled{ opacity:.3; cursor:default; background:transparent; color:var(--ink); border-color:var(--line); }
.sc-progress{
  flex:1;
  max-width:260px;
  height:1px;
  background:var(--line);
  position:relative;
  overflow:hidden;
}
.sc-progress span{
  position:absolute; left:0; top:0; bottom:0;
  width:30%;
  background:var(--oxblood);
  transition:transform .5s cubic-bezier(.2,.7,.2,1), width .5s ease;
}

/* ===== LIGHTBOX ===== */
.lightbox{
  position:fixed; inset:0;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(23,20,15,0.97);
  opacity:0;
  visibility:hidden;
  transition:opacity .6s ease, visibility 0s linear .6s;
}
.lightbox.is-open{ opacity:1; visibility:visible; transition:opacity .6s ease; }
.lb-stage{
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  transform:scale(.94);
  transition:transform .8s cubic-bezier(.2,.7,.2,1);
}
.lightbox.is-open .lb-stage{ transform:none; }
.lb-stage img{
  max-width:86vw;
  max-height:82vh;
  width:auto; height:auto;
  display:block;
  border-radius:2px;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
  transition:opacity .45s ease, transform .6s cubic-bezier(.2,.7,.2,1);
}
.lb-stage img.is-swapping{ opacity:0; transform:translateX(var(--lb-dir, 0px)); }
.lb-caption{
  margin-top:18px;
  font-size:0.75rem;
  letter-spacing:0.08em;
  color:rgba(246,244,238,0.75);
}
.lb-count{
  position:absolute;
  left:50%; bottom:26px;
  transform:translateX(-50%);
  font-size:0.72rem;
  letter-spacing:0.1em;
  color:rgba(246,244,238,0.45);
}
.lb-close, .lb-arrow{
  position:absolute;
  background:transparent;
  border:1px solid rgba(246,244,238,0.2);
  color:#F6F4EE;
  border-radius:50%;
  cursor:pointer;
  transition:background .5s ease, border-color .5s ease, color .5s ease;
}
.lb-close{ top:24px; right:24px; width:46px; height:46px; font-size:1.5rem; line-height:1; }
.lb-arrow{ top:50%; transform:translateY(-50%); width:54px; height:54px; font-size:1.15rem; }
.lb-prev{ left:28px; }
.lb-next{ right:28px; }
.lb-close:hover, .lb-arrow:hover{ background:#F6F4EE; color:var(--bg-dark); border-color:#F6F4EE; }
body.lb-lock{ overflow:hidden; }

@media (max-width: 640px){
  .sc-track{ --sc-h:clamp(260px, 48vh, 420px); gap:14px; }
  .lb-arrow{ display:none; }
  .lb-stage img{ max-width:94vw; }
}

/* =====================================================
   ZÁRUBNE + ROZMERY (nové podstránky)
   ===================================================== */
.band-warm{ background:var(--bg-warm); }
.small-note{ font-size:0.82rem; color:var(--ink-faint); margin-top:16px; }
.text-link{ color:var(--wood); border-bottom:1px solid currentColor; transition:color .3s ease; }
.text-link:hover{ color:var(--oxblood); }

/* --- pôdorysné rezy zárubne --- */
.rez{ width:100%; height:auto; display:block; }
.rez path, .rez rect, .rez line{ vector-effect:non-scaling-stroke; }
.rez .wall-fill{ fill:#FFFFFF; }
.rez .wall-line{ fill:none; stroke:#8A8378; stroke-width:1.4px; }
.rez .wall-break{ fill:none; stroke:#8A8378; stroke-width:1.2px; }
.rez .guide{ stroke:var(--oxblood); stroke-width:1.2px; stroke-dasharray:5 4; }
.rez .lbl.guide-t{ fill:var(--oxblood); font-size:4.4px; letter-spacing:.16em; }
.rez .foam{ fill:#EFEBE3; stroke:#8A8378; stroke-width:1px; stroke-dasharray:4 3; transition:fill .25s ease; }
.rez .part{ fill:#C6BBAD; stroke:#7E766B; stroke-width:1.4px; stroke-linejoin:round; transition:fill .25s ease; }
.rez .slot{ fill:#FFFFFF; stroke:#7E766B; stroke-width:1.1px; transition:fill .25s ease; }
.rez .leaf{ fill:#DCD3C6; stroke:#7E766B; stroke-width:1.4px; stroke-linejoin:round; transition:fill .25s ease; }
.rez .seal{ fill:var(--oxblood); stroke:none; transition:fill .25s ease; }
.rez .lbl{ font-family:'JetBrains Mono', monospace; font-size:6.4px; letter-spacing:.18em; fill:var(--ink-faint); text-anchor:middle; }
.rez .dim line{ stroke:var(--wood); stroke-width:1px; }
.rez .dim text{ font-family:'JetBrains Mono', monospace; font-size:6px; fill:var(--wood); }
.rez .reg line{ stroke:var(--oxblood); stroke-width:1.2px; }
.rez .reg path{ fill:var(--oxblood); }
.rez .reg text{ font-family:'JetBrains Mono', monospace; font-size:5.6px; fill:var(--oxblood); }
.rez .co line{ stroke:var(--ink); stroke-width:1px; }
.rez .co circle{ fill:var(--ink); transition:fill .25s ease; }
.rez .co text{ fill:var(--paper); font-family:'JetBrains Mono', monospace; font-size:7.5px; font-weight:500; }
.rez .co.is-on circle{ fill:var(--oxblood); }
.rez .is-on.part, .rez .is-on.leaf, .rez .is-on.slot{ fill:#D9A79F; }
.rez .is-on.foam{ fill:#E8C9C3; }
.rez .is-on.seal{ fill:var(--oxblood-light); }

/* --- dve prevedenia --- */
.type-grid{ display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--line); border:1px solid var(--line); }
.type-card{ background:var(--bg); padding:34px 34px 38px; }
.type-card .rez-frame{ background:#FFFFFF; border:1px solid var(--line); padding:22px 10px 6px; margin-bottom:30px; }
.type-card .rez-frame .rez{ max-width:420px; margin:0 auto; }
.type-card h3{ font-size:1.55rem; margin-bottom:10px; }
.type-card h3 span{ font-family:'JetBrains Mono', monospace; font-size:.75rem; color:var(--brass); margin-right:12px; vertical-align:middle; }
.type-card p{ color:var(--ink-soft); font-size:.95rem; max-width:470px; }
.type-card .spec-table{ margin:24px 0 0; }

/* --- anatómia --- */
.anatomy{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.anatomy-figure{ background:#FFFFFF; border:1px solid var(--line); padding:18px 14px 10px; position:sticky; top:110px; }
.anatomy-figure .seg{ position:absolute; top:14px; left:14px; z-index:2; }
.anatomy-figure .seg button{ padding:7px 12px; font-size:.72rem; background:#FFFFFF; }
.anatomy-figure .seg button[aria-pressed="true"]{ background:var(--ink); }
.anatomy-figure .rez{ max-width:440px; margin:34px auto 0; }
.anatomy-figure figcaption{ font-family:'JetBrains Mono', monospace; font-size:.68rem; letter-spacing:.08em; color:var(--ink-faint); padding:8px 6px 2px; }
.anatomy-list{ list-style:none; }
.anatomy-list li{ display:grid; grid-template-columns:34px 1fr; gap:14px; padding:18px 0; border-bottom:1px solid var(--line); cursor:default; }
.anatomy-list li:first-child{ padding-top:0; }
.anatomy-list .n{ width:26px; height:26px; border-radius:50%; background:var(--ink); color:var(--paper);
  font-family:'JetBrains Mono', monospace; font-size:.75rem; display:flex; align-items:center; justify-content:center; transition:background .25s ease; }
.anatomy-list li.is-on .n{ background:var(--oxblood); }
.anatomy-list h3{ font-size:1.12rem; margin-bottom:4px; }
.anatomy-list h3 small{ font-family:'Work Sans', sans-serif; font-size:.82rem; font-weight:400; color:var(--ink-faint); }
.anatomy-list p{ font-size:.92rem; color:var(--ink-soft); }

/* --- kalkulačka + rozsahy --- */
.ranges{ display:grid; grid-template-columns:0.8fr 1.2fr; gap:64px; align-items:start; }
.calc{ background:var(--bg-dark); color:var(--paper); padding:36px 34px; border-radius:2px; position:sticky; top:110px; }
.calc label{ font-family:'JetBrains Mono', monospace; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--wood-light); display:block; margin-bottom:12px; }
.calc-input{ display:flex; align-items:baseline; gap:10px; border-bottom:1px solid var(--line-dark); padding-bottom:6px; margin-bottom:26px; }
.calc-input input{ background:transparent; border:none; outline:none; color:var(--paper); font-family:'Fraunces', serif; font-size:2.6rem; width:100%; min-width:0; -moz-appearance:textfield; }
.calc-input input::-webkit-outer-spin-button, .calc-input input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.calc-input span{ font-family:'JetBrains Mono', monospace; font-size:.85rem; color:rgba(246,244,238,.5); }
.calc-out .k{ font-family:'JetBrains Mono', monospace; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(246,244,238,.5); }
.calc-out .res{ font-family:'Fraunces', serif; font-size:2rem; line-height:1.15; margin:6px 0 8px; color:var(--paper); }
.calc-out .res em{ font-style:normal; color:var(--wood-light); }
.calc-out .sub{ font-size:.9rem; color:rgba(246,244,238,.65); }
.calc-out .alt{ font-size:.82rem; color:rgba(246,244,238,.5); margin-top:10px; }
.calc .small-note{ color:rgba(246,244,238,.45); border-top:1px solid var(--line-dark); padding-top:16px; margin-top:26px; }

.range-table{ width:100%; border-collapse:collapse; }
.range-table th{ font-family:'JetBrains Mono', monospace; font-size:.66rem; font-weight:400; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); text-align:left; padding:0 0 12px; border-bottom:1px solid var(--ink); }
.range-table td{ padding:11px 0; border-bottom:1px solid var(--line); font-size:.92rem; vertical-align:middle; transition:background .25s ease; }
.range-table td.cfg{ font-family:'JetBrains Mono', monospace; font-size:.82rem; white-space:nowrap; padding-right:18px; width:1%; }
.range-table td.mm{ font-family:'JetBrains Mono', monospace; font-size:.82rem; white-space:nowrap; text-align:right; padding-left:18px; width:1%; color:var(--ink-soft); }
.range-table .bar-cell{ width:100%; }
.track{ position:relative; height:12px; }
.track::before{ content:''; position:absolute; left:0; right:0; top:50%; height:1px; background:var(--line); }
.track .bar{ position:absolute; top:2px; bottom:2px; border-radius:1px; background:var(--wood-light); }
.track .bar.e1{ background:var(--wood); }
.track .bar.e2{ background:var(--wood-deep); }
.track .bar.e3{ background:var(--ink); }
.track .mark{ position:absolute; top:-5px; bottom:-5px; width:2px; margin-left:-1px; background:var(--oxblood); opacity:0; transition:left .3s ease, opacity .3s ease; }
.range-table.has-mark .track .mark{ opacity:.35; }
.range-table tr.is-hit td{ background:rgba(110,38,32,.06); }
.range-table tr.is-hit td.cfg{ color:var(--oxblood); font-weight:500; }
.range-table tr.is-hit .track .mark{ opacity:1; }
.range-table tr.more td{ color:var(--ink-faint); font-size:.85rem; }
.range-axis{ display:flex; justify-content:space-between; font-family:'JetBrains Mono', monospace; font-size:.66rem; color:var(--ink-faint); padding-top:8px; }
.range-legend{ display:flex; flex-wrap:wrap; gap:18px; margin-top:22px; font-size:.82rem; color:var(--ink-soft); }
.range-legend i{ display:inline-block; width:14px; height:8px; margin-right:7px; border-radius:1px; vertical-align:middle; }

/* --- rozmery: konfigurátor --- */
.config{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.seg-group{ margin-bottom:22px; }
.seg-group .k{ font-family:'JetBrains Mono', monospace; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:10px; }
.seg{ display:inline-flex; border:1px solid var(--ink); border-radius:2px; overflow:hidden; flex-wrap:wrap; }
.seg button{ background:transparent; border:none; border-right:1px solid var(--ink); padding:10px 18px; font-family:'JetBrains Mono', monospace; font-size:.82rem; color:var(--ink); cursor:pointer; transition:background .2s ease, color .2s ease; }
.seg button:last-child{ border-right:none; }
.seg button:hover{ background:var(--bg-warm); }
.seg button[aria-pressed="true"]{ background:var(--ink); color:var(--paper); }
.elev-wrap{ background:var(--paper); border:1px solid var(--line); padding:14px; }
.elev{ width:100%; height:auto; display:block; }
.elev .obl{ fill:#FBFAF6; stroke:var(--ink); stroke-width:1.3; }
.elev .reveal-face{ fill:#E7E1D6; stroke:var(--ink-faint); stroke-width:.8; }
.elev .leafv{ fill:#ECE6DA; stroke:var(--ink-faint); stroke-width:1; }
.elev .handle{ fill:var(--brass); }
.elev .opening{ fill:none; stroke:var(--ink-soft); stroke-width:1; stroke-dasharray:5 4; }
.elev .floor{ stroke:var(--ink); stroke-width:1.4; }
.elev .floor-h line{ stroke:var(--ink-faint); stroke-width:.8; }
.elev .d line{ stroke:var(--ink-soft); stroke-width:.9; }
.elev .d text{ font-family:'JetBrains Mono', monospace; font-size:11px; fill:var(--ink); paint-order:stroke; stroke:#F6F4EE; stroke-width:5px; stroke-linejoin:round; }
.elev .d.red line{ stroke:var(--oxblood); }
.elev .d.red text{ fill:var(--oxblood); }
.dim-list{ list-style:none; border-top:1px solid var(--ink); }
.dim-list li{ display:grid; grid-template-columns:1fr auto; gap:4px 18px; padding:16px 0; border-bottom:1px solid var(--line); align-items:baseline; }
.dim-list .lbl{ font-weight:500; }
.dim-list .lbl .code{ font-family:'JetBrains Mono', monospace; font-size:.75rem; color:var(--ink-faint); margin-left:8px; }
.dim-list .val{ font-family:'JetBrains Mono', monospace; font-size:1rem; white-space:nowrap; }
.dim-list .dsc{ grid-column:1 / -1; font-size:.86rem; color:var(--ink-soft); }
.dim-list li.key{ padding:20px 0; }
.dim-list li.key .lbl{ color:var(--oxblood); }
.dim-list li.key .val{ font-family:'Fraunces', serif; font-size:1.7rem; color:var(--oxblood); }

/* --- tabuľky rozmerov --- */
.dim-tables{ display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.table-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.data-table{ width:100%; border-collapse:collapse; min-width:420px; }
.data-table caption{ text-align:left; font-family:'Fraunces', serif; font-size:1.3rem; margin-bottom:16px; }
.data-table th{ font-family:'JetBrains Mono', monospace; font-size:.64rem; font-weight:400; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); text-align:right; padding:0 0 10px 10px; border-bottom:1px solid var(--ink); vertical-align:bottom; line-height:1.4; }
.data-table th:first-child{ text-align:left; padding-left:0; }
.data-table th b{ display:block; font-weight:500; color:var(--ink); font-size:.72rem; }
.data-table td{ font-family:'JetBrains Mono', monospace; font-size:.88rem; text-align:right; padding:13px 0 13px 10px; border-bottom:1px solid var(--line); }
.data-table td:first-child{ text-align:left; padding-left:0; color:var(--ink-soft); }
.data-table .red, .data-table th.red b{ color:var(--oxblood); }
.data-table tr.is-sel td{ background:rgba(176,141,87,.14); }

/* --- ľavé / pravé --- */
.lr{ display:grid; grid-template-columns:1fr 1.1fr; gap:64px; align-items:center; }
.lr-figs{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.lr-fig{ border:1px solid var(--line); background:var(--paper); padding:18px 14px 14px; text-align:center; }
.lr-fig svg{ width:100%; height:auto; display:block; }
.lr-fig .wall-p{ fill:var(--ink); }
.lr-fig .leaf-p{ stroke:var(--ink); stroke-width:4; stroke-linecap:round; }
.lr-fig .arc{ fill:none; stroke:var(--ink-faint); stroke-width:1; stroke-dasharray:4 3; }
.lr-fig .hinge-p{ fill:var(--oxblood); }
.lr-fig .eye{ fill:none; stroke:var(--wood); stroke-width:1.4; }
.lr-fig .eye-dot{ fill:var(--wood); }
.lr-fig .t{ font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:.12em; fill:var(--ink-faint); }
.lr-fig figcaption{ font-family:'Fraunces', serif; font-size:1.2rem; margin-top:8px; }

/* --- prepojenie z kolekcií --- */
.link-strip{ display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:26px; padding-top:22px; border-top:1px solid var(--line); font-size:.88rem; }
.link-strip .k{ font-family:'JetBrains Mono', monospace; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); width:100%; }

@media (max-width: 980px){
  .type-grid, .anatomy, .ranges, .config, .dim-tables, .lr{ grid-template-columns:1fr; gap:44px; }
  .type-card{ padding:26px 22px 30px; }
  .calc{ position:static; }
  .anatomy-figure{ position:relative; top:auto; }
}
@media (max-width: 520px){
  .lr-figs{ grid-template-columns:1fr 1fr; gap:10px; }
  .seg button{ padding:10px 13px; }
  .range-table td.mm{ font-size:.74rem; padding-left:10px; }
  .range-table td.cfg{ font-size:.74rem; padding-right:10px; }
}

/* --- rezy podľa výkresu (prevedenia.svg) --- */
.rez2 .wall{ fill:#FFFFFF; stroke:#88837A; stroke-width:1.4px; }
.rez2 .foam{ fill:#F1EEE8; stroke:none; }
.rez2 .part, .rez2 .leaf{ fill:#C1B7AA; stroke:#88837A; stroke-width:1.4px; }
.rez2 .leaf{ fill:#D3CABE; }
.rez2 .ln{ fill:none; stroke:#88837A; stroke-width:1.4px; stroke-linecap:round; stroke-linejoin:round; }
.rez2 .ln-thin{ fill:none; stroke:#6F6A62; stroke-width:.9px; stroke-linecap:round; stroke-linejoin:round; }
.rez2 path, .rez2 rect, .rez2 line{ vector-effect:non-scaling-stroke; }
.rez2 .hl{ fill:transparent; stroke:none; transition:fill .25s ease; }
.rez2 .hl.is-on{ fill:rgba(110,38,32,.45); }
.rez2 .part.is-on, .rez2 .leaf.is-on{ fill:#D9A79F; }
.rez2 .foam.is-on{ fill:#E8C9C3; }
.rez2 .lbl{ font-size:40px; letter-spacing:.18em; }
.rez2 .dim text{ font-size:36px; text-anchor:middle; paint-order:normal; stroke:none; }
.rez2 .reg text{ font-size:34px; text-anchor:middle; }
.rez2 .co text{ font-size:42px; }
.rez2.det .lbl.guide-t{ font-size:16px; letter-spacing:.16em; text-anchor:start; }

/* =====================================================
   MOBILNÉ MENU
   ===================================================== */
.nav-mobile-cta{ display:none; }
.nav-toggle{
  width:44px; height:44px; padding:0; margin-left:14px;
  background:transparent; border:1px solid var(--ink); border-radius:2px;
  cursor:pointer; position:relative; flex-shrink:0;
}
.nav-toggle span{
  position:absolute; left:11px; right:11px; height:1.5px; background:var(--ink);
  transition:transform .35s cubic-bezier(.22,1,.36,1), top .35s cubic-bezier(.22,1,.36,1);
}
.nav-toggle span:nth-child(1){ top:17px; }
.nav-toggle span:nth-child(2){ top:25px; }
header.nav-open .nav-toggle span:nth-child(1){ top:21px; transform:rotate(45deg); }
header.nav-open .nav-toggle span:nth-child(2){ top:21px; transform:rotate(-45deg); }

@media (max-width: 980px){
  .nav-toggle{ display:block; }
  .nav-inner{ position:relative; }
  .nav-inner .nav-cta{ margin-left:auto; }
  header nav{
    position:absolute; top:100%; left:0; right:0;
    height:100vh; height:100dvh;
    background:var(--bg);
    border-top:1px solid var(--line);
    padding:14px 24px 40px;
    opacity:0; visibility:hidden; transform:translateY(-8px);
    transition:opacity .35s ease, transform .35s cubic-bezier(.22,1,.36,1), visibility 0s linear .35s;
    overflow-y:auto;
  }
  header.nav-open nav{
    opacity:1; visibility:visible; transform:none;
    transition:opacity .35s ease, transform .35s cubic-bezier(.22,1,.36,1), visibility 0s;
  }
  header nav ul{ display:flex; flex-direction:column; gap:0; }
  header nav li{ border-bottom:1px solid var(--line); }
  header nav a{
    display:block; padding:18px 0;
    font-family:'Fraunces', serif; font-size:1.6rem; color:var(--ink);
  }
  header nav a::after{ display:none; }
  header nav a.active{ color:var(--oxblood); }
  header nav .nav-mobile-cta{ display:block; border-bottom:none; margin-top:28px; }
  header nav .nav-mobile-cta a{
    font-family:'JetBrains Mono', monospace; font-size:.85rem; letter-spacing:.06em; text-transform:uppercase;
    text-align:center; padding:16px; background:var(--ink); color:var(--paper);
  }
  header.nav-open{ background:var(--bg); border-bottom-color:var(--line); }
  body.nav-lock{ overflow:hidden; }

  /* pätička: odkazy viditeľné aj na mobile */
  .footer-top{ flex-direction:column; align-items:flex-start; gap:24px; }
  footer nav ul{ display:flex; flex-wrap:wrap; gap:12px 22px; }
}
@media (max-width: 480px){
  .nav-inner .nav-cta{ display:none; }
  .nav-toggle{ margin-left:auto; }
}

/* --- anatómia: popis vybraného dielu pod schémou (mobil) --- */
.anat-info{ display:none; }
@media (max-width: 980px){
  .anat-info{ display:block; border-top:1px solid var(--line); margin-top:14px; padding:16px 4px 6px; }
  .anat-chips{ display:flex; flex-wrap:wrap; gap:7px; margin-bottom:14px; }
  .anat-chips button{
    width:36px; height:36px; border-radius:50%; border:1px solid var(--ink); background:#fff; color:var(--ink);
    font-family:'JetBrains Mono', monospace; font-size:.85rem; cursor:pointer; transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .anat-chips button[aria-pressed="true"]{ background:var(--oxblood); border-color:var(--oxblood); color:var(--paper); }
  .anat-text{ min-height:148px; }
  .anat-text .anat-hint{ font-size:.88rem; color:var(--ink-faint); }
  .anat-head{ display:flex; align-items:center; gap:10px; margin-bottom:6px; }
  .anat-head .n{ width:24px; height:24px; border-radius:50%; background:var(--oxblood); color:var(--paper);
    font-family:'JetBrains Mono', monospace; font-size:.72rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .anat-head h3{ font-size:1.12rem; }
  .anat-head h3 small{ font-family:'Work Sans', sans-serif; font-size:.8rem; font-weight:400; color:var(--ink-faint); }
  .anat-text p{ font-size:.92rem; color:var(--ink-soft); animation:anatIn .3s ease; }
  @keyframes anatIn{ from{ opacity:0; transform:translateY(4px); } to{ opacity:1; transform:none; } }
}
.rez2 .wall, .rez2 .ln, .rez2 .ln-thin, .rez2 .lbl, .rez2 .dim, .rez2 .reg{ pointer-events:none; }

/* --- rozmery: poradie dôležitosti (priechod › stavebný otvor › zárubňa › krídlo) --- */
.elev .opening-zone{ fill:rgba(176,141,87,.20); }
.elev .opening{ fill:none; stroke:var(--brass); stroke-width:1.2; stroke-dasharray:5 4; }
.elev .ost-hidden{ fill:none; stroke:var(--ink-faint); stroke-width:1; stroke-dasharray:3 3; }
.elev .passage{ fill:#ECE6DA; stroke:var(--oxblood); stroke-width:2; }
.elev .d.so line{ stroke:var(--brass); }
.elev .d.so text{ fill:var(--wood-deep); }
.elev .d.red line{ stroke-width:1.4; }
.elev .d.red text{ font-weight:500; }

.dim-list li.key{ padding:20px 0; }
.dim-list li.so-box{
  background:rgba(176,141,87,.16); border-bottom:none; border-radius:2px;
  padding:18px 18px; margin:10px 0 6px;
}
.dim-list li.so-box .lbl{ color:var(--wood-deep); }
.dim-list li.so-box .val{ font-family:'Fraunces', serif; font-size:1.35rem; color:var(--wood-deep); }
.dim-list li.grp{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  font-family:'JetBrains Mono', monospace; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-faint); padding:26px 0 10px; border-bottom:1px solid var(--ink);
}
.seg.seg-sm button{ padding:6px 11px; font-size:.72rem; letter-spacing:normal; text-transform:none; }
.dim-list li[hidden]{ display:none; }

.data-table td.so{ background:rgba(176,141,87,.16); color:var(--wood-deep); white-space:nowrap; }
.data-table th.so{ background:rgba(176,141,87,.16); padding-right:8px; color:var(--wood-deep); }
.data-table th.so b{ color:var(--wood-deep); }
.data-table td.red{ font-weight:500; }
.data-table tr.is-sel td{ background:rgba(31,27,22,.06); }
.data-table tr.is-sel td.so{ background:rgba(176,141,87,.30); }
.dim-tables{ row-gap:56px; }
@media (max-width: 520px){
  .dim-list li.so-box{ grid-template-columns:1fr; }
  .dim-list li.so-box .val{ font-size:1.5rem; }
  .dim-list li .code{ display:inline-block; }
}

/* --- rozmery: pôdorysný rez celej zárubne --- */
.elev-k{ font-family:'JetBrains Mono', monospace; font-size:.66rem; letter-spacing:.14em; color:var(--ink-faint); margin:4px 2px 6px; }
.elev-k + .elev{ margin-bottom:10px; }
.elev-wrap [data-plan]{ border-top:1px solid var(--line); padding-top:4px; }
.elev-wrap .elev-k:nth-of-type(2){ border-top:1px solid var(--line); padding-top:14px; margin-top:6px; }
.elev-wrap [data-plan]{ border-top:none; }
.plan .wall-fill{ fill:#FFFFFF; stroke:none; }
.plan .wall-line{ stroke:#88837A; stroke-width:1.4px; }
.plan .leaf-mid{ fill:#D3CABE; stroke:none; }
.plan .leaf-edge{ stroke:#88837A; stroke-width:1.4px; }
.plan .brk-bg{ fill:#F6F4EE; }
.plan .brk{ fill:none; stroke:#88837A; stroke-width:1.2px; }
.plan .lbl{ font-size:72px; }
.plan .pd line{ stroke:var(--ink-soft); stroke-width:1px; }
.plan .pd line.ext{ stroke:var(--ink-faint); stroke-width:.6px; opacity:.6; }
.plan .pd text{ font-family:'JetBrains Mono', monospace; font-size:84px; text-anchor:middle; fill:var(--ink);
  paint-order:stroke; stroke:#F6F4EE; stroke-width:18px; stroke-linejoin:round; }
.plan .pd.red line:not(.ext){ stroke:var(--oxblood); stroke-width:1.6px; }
.plan .pd.red text{ fill:var(--oxblood); font-weight:500; }
.plan .pd.so line:not(.ext){ stroke:var(--brass); stroke-width:1.4px; }
.plan .pd.so text{ fill:var(--wood-deep); }
@media (max-width: 520px){ .plan .pd text{ font-size:108px; stroke-width:22px; } }
.plan .pd.leafd line:not(.ext){ stroke:var(--wood); }
.plan .pd.leafd text{ fill:var(--wood-deep); }

/* =====================================================
   KALKULÁCIA
   ===================================================== */
.calc-sec{ padding-top:70px; }
.calc-grid{ display:grid; grid-template-columns:1.25fr 0.75fr; gap:56px; align-items:start; }
.cfg fieldset{ border:none; min-width:0; }
.step{ padding:0 0 34px; margin-bottom:34px; border-bottom:1px solid var(--line); }
.step-h{ font-family:'Fraunces', serif; font-size:1.45rem; display:flex; align-items:baseline; gap:14px; margin-bottom:20px; padding:0; }
.step-h .mono{ font-size:.8rem; color:var(--brass); }
.cfg .k{ font-family:'JetBrains Mono', monospace; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); margin:18px 0 9px; }
.cfg .k:first-child{ margin-top:0; }
.hint-link{ display:inline-block; margin-top:10px; font-size:.82rem; color:var(--wood); border-bottom:1px solid currentColor; }
.hint-link:hover{ color:var(--oxblood); }
.row2{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }

/* kolekcia – karty s obrázkom */
.picks{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.pick{ cursor:pointer; position:relative; display:block; }
.pick input{ position:absolute; opacity:0; pointer-events:none; }
.pick-img{ display:block; aspect-ratio:3/4; overflow:hidden; border:1px solid var(--line); background:var(--bg-warm); transition:border-color .25s ease, box-shadow .25s ease; }
.pick-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.22,1,.36,1); }
.pick:hover .pick-img img{ transform:scale(1.04); }
.pick-t{ display:flex; justify-content:space-between; align-items:baseline; font-family:'Fraunces', serif; font-size:1.05rem; margin-top:9px; }
.pick-t small{ font-family:'JetBrains Mono', monospace; font-size:.66rem; color:var(--ink-faint); }
.pick input:checked + .pick-img{ border-color:var(--ink); box-shadow:0 0 0 1px var(--ink); }
.pick input:checked ~ .pick-t{ color:var(--oxblood); }
.pick input:focus-visible + .pick-img{ outline:2px solid var(--oxblood); outline-offset:3px; }

/* segmenty z rádio tlačidiel */
.seg-radio label{ position:relative; display:block; border-right:1px solid var(--ink); cursor:pointer; }
.seg-radio label:last-child{ border-right:none; }
.seg-radio input{ position:absolute; opacity:0; pointer-events:none; }
.seg-radio span{ display:block; padding:10px 16px; font-family:'JetBrains Mono', monospace; font-size:.8rem; transition:background .2s ease, color .2s ease; }
.seg-radio label:hover span{ background:var(--bg-warm); }
.seg-radio input:checked + span{ background:var(--ink); color:var(--paper); }
.seg-radio input:focus-visible + span{ outline:2px solid var(--oxblood); outline-offset:-4px; }

.sw-radio{ display:flex; gap:20px; }
.sw-radio label{ display:flex; align-items:center; gap:9px; cursor:pointer; position:relative; }
.sw-radio input{ position:absolute; opacity:0; pointer-events:none; }
.sw-radio .sw{ width:34px; height:34px; border-radius:50%; border:2px solid; transition:box-shadow .2s ease; }
.sw-radio .sw-t{ font-size:.9rem; }
.sw-radio input:checked + .sw{ box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--ink); }
.sw-radio input:focus-visible + .sw{ outline:2px solid var(--oxblood); outline-offset:5px; }

.calc-dims{ font-size:.86rem; color:var(--ink-soft); margin-top:14px; }
.calc-dims b{ font-weight:500; color:var(--ink); }
.wall-in{ display:flex; align-items:baseline; gap:10px; border-bottom:1px solid var(--ink); max-width:220px; }
.wall-in input{ border:none; background:transparent; font-family:'Fraunces', serif; font-size:2.4rem; width:100%; outline:none; color:var(--ink); -moz-appearance:textfield; }
.wall-in input::-webkit-outer-spin-button, .wall-in input::-webkit-inner-spin-button, .qty input::-webkit-outer-spin-button, .qty input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.wall-in span{ font-family:'JetBrains Mono', monospace; color:var(--ink-faint); }
.sel{ width:100%; max-width:520px; padding:13px 40px 13px 14px; border:1px solid var(--ink); border-radius:2px; background:#fff; font-family:'Work Sans', sans-serif; font-size:.95rem; color:var(--ink);
  appearance:none; background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);
  background-position:calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size:6px 6px; background-repeat:no-repeat; }
.qty{ display:inline-flex; align-items:center; border:1px solid var(--ink); border-radius:2px; margin-bottom:18px; }
.qty button{ width:42px; height:42px; border:none; background:transparent; font-size:1.2rem; cursor:pointer; color:var(--ink); }
.qty button:hover{ background:var(--bg-warm); }
.qty input{ width:46px; text-align:center; border:none; background:transparent; font-family:'JetBrains Mono', monospace; font-size:1rem; outline:none; -moz-appearance:textfield; }
.qty span{ font-family:'JetBrains Mono', monospace; font-size:.75rem; color:var(--ink-faint); padding-right:8px; }
.chk{ display:flex; align-items:center; gap:10px; margin-top:10px; cursor:pointer; font-size:.95rem; }
.chk input{ width:18px; height:18px; accent-color:var(--ink); }

/* súhrn */
.sum{ position:sticky; top:110px; background:var(--bg-dark); color:var(--paper); padding:32px 30px; border-radius:2px; }
.sum .eyebrow{ color:var(--wood-light); }
.sum .eyebrow::before{ background:var(--wood-light); }
.sum-items{ list-style:none; margin:6px 0 18px; transition:opacity .2s ease; }
.sum.is-loading .sum-items, .sum.is-loading .sum-total strong{ opacity:.45; }
.sum-items li{ display:grid; grid-template-columns:1fr auto; gap:4px 14px; padding:11px 0; border-bottom:1px solid var(--line-dark); font-size:.86rem; }
.sum-items .q{ grid-column:1; font-family:'JetBrains Mono', monospace; font-size:.7rem; color:rgba(246,244,238,.5); }
.sum-items .p{ grid-row:1 / span 2; grid-column:2; align-self:center; font-family:'JetBrains Mono', monospace; font-size:.85rem; white-space:nowrap; }
.sum-items .sum-wait{ display:block; color:rgba(246,244,238,.5); border:none; }
.sum-total{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:6px 0 16px; }
.sum-total span{ font-family:'JetBrains Mono', monospace; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(246,244,238,.55); }
.sum-total strong{ font-family:'Fraunces', serif; font-weight:500; font-size:2.3rem; color:var(--paper); transition:opacity .2s ease; }
.sum-meta{ display:flex; justify-content:space-between; gap:12px; font-size:.86rem; padding:8px 0; border-top:1px solid var(--line-dark); color:rgba(246,244,238,.75); }
.sum-meta[hidden]{ display:none; }
.sum-meta span:first-child{ font-family:'JetBrains Mono', monospace; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(246,244,238,.5); }
.sum-err{ background:rgba(140,56,48,.35); color:var(--paper); font-size:.86rem; padding:12px 14px; margin:14px 0 0; border-radius:2px; }
.sum-btn{ width:100%; margin-top:20px; padding:16px; border:none; border-radius:2px; background:var(--paper); color:var(--ink); font-family:'Work Sans', sans-serif; font-size:.95rem; cursor:pointer; transition:background .3s ease; }
.sum-btn:hover{ background:var(--wood-light); }
.sum-note{ font-size:.78rem; color:rgba(246,244,238,.5); margin-top:12px; }
.sum-bar{ display:none; }

.prefill-note{ background:rgba(185,132,82,.18); color:var(--paper); font-size:.88rem; padding:12px 14px; border-left:2px solid var(--wood-light); }

@media (max-width: 980px){
  .calc-grid{ grid-template-columns:1fr; gap:20px; }
  .sum{ position:static; }
  .sum-bar{
    display:flex; justify-content:space-between; align-items:center;
    position:fixed; left:0; right:0; bottom:0; z-index:90;
    padding:14px 24px calc(14px + env(safe-area-inset-bottom));
    background:var(--bg-dark); color:var(--paper);
    transform:translateY(0); transition:transform .3s ease;
  }
  .sum-bar span{ font-family:'JetBrains Mono', monospace; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(246,244,238,.6); }
  .sum-bar strong{ font-family:'Fraunces', serif; font-weight:500; font-size:1.35rem; }
  .sum-bar.is-hidden{ transform:translateY(110%); }
}
@media (max-width: 560px){
  .picks{ gap:8px; }
  .pick-t{ font-size:.92rem; flex-direction:column; gap:0; }
  .row2{ grid-template-columns:1fr; gap:18px; }
  .seg-radio span{ padding:10px 12px; }
}
.seg-radio + .hint-link{ margin-left:14px; vertical-align:middle; }
@media (max-width: 560px){ .seg-radio + .hint-link{ display:block; margin-left:0; } }
#formular{ scroll-margin-top:120px; }
.sum-demo{ display:inline-block; font-family:'JetBrains Mono', monospace; font-size:.66rem; letter-spacing:.12em; text-transform:uppercase;
  background:var(--wood-light); color:var(--bg-dark); padding:5px 9px; border-radius:2px; margin:-4px 0 10px; }
.sum-demo[hidden]{ display:none; }

/* =====================================================
   CENOVÁ PONUKA (viac položiek)
   ===================================================== */
.nav-quote{ position:relative; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; margin-right:12px; border-radius:2px; color:var(--ink); transition:background .2s ease; flex-shrink:0; }
.nav-quote:hover{ background:var(--bg-warm); }
.nav-quote svg{ width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linejoin:round; stroke-linecap:round; }
.nav-quote::after{ display:none; }
.nav-quote-n{ position:absolute; top:3px; right:1px; min-width:19px; height:19px; padding:0 5px; border-radius:10px; background:var(--oxblood); color:var(--paper);
  font-family:'JetBrains Mono', monospace; font-size:.66rem; line-height:19px; text-align:center; }
.nav-quote-n[hidden]{ display:none; }
@media (min-width: 981px){
  .nav-inner > nav{ flex:1; display:flex; justify-content:center; }
}
@media (max-width: 980px){
  .nav-quote{ margin-left:auto; margin-right:0; }
  .nav-inner .nav-cta{ margin-left:12px; }
}
@media (max-width: 480px){
  .nav-toggle{ margin-left:8px; }
}

.txt{ width:100%; padding:11px 12px; border:1px solid var(--ink); border-radius:2px; background:#fff; font-family:'Work Sans', sans-serif; font-size:.95rem; color:var(--ink); }
.txt:focus{ outline:2px solid var(--oxblood); outline-offset:1px; }
.cfg .k label{ cursor:pointer; }
.sum-edit{ font-size:.82rem; color:var(--wood-light); margin:-2px 0 10px; }
.sum-edit[hidden]{ display:none; }
.sum-toast{ background:rgba(185,132,82,.2); border-left:2px solid var(--wood-light); color:var(--paper); font-size:.84rem; padding:11px 13px; margin-top:14px; }
.sum-toast a{ color:var(--wood-light); border-bottom:1px solid currentColor; }
.sum-toast.is-in{ animation:anatIn .35s ease; }
.sum-view{ display:block; text-align:center; margin-top:12px; font-size:.88rem; color:var(--wood-light); }
.sum-view:hover{ color:var(--paper); }
.sum-view[hidden]{ display:none; }
.sum-btn-ghost{ background:transparent; color:var(--paper); border:1px solid rgba(246,244,238,.35); margin-top:10px; }
.sum-btn-ghost:hover{ background:rgba(246,244,238,.08); }

.q-hero{ padding-bottom:50px; }
.q-meta{ margin-top:18px; font-size:.8rem; color:var(--ink-soft); display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.q-meta .sum-demo{ margin:0; }
.q-print-head, .q-print-foot{ display:none; }
.q-sec{ padding-top:60px; }
.q-grid{ display:grid; grid-template-columns:1.35fr .65fr; gap:48px; align-items:start; }
.q-grid[hidden], .q-empty[hidden]{ display:none; }
.q-empty{ text-align:center; padding:60px 0 20px; }
.q-empty p{ font-family:'Fraunces', serif; font-size:1.5rem; margin-bottom:24px; }
#quote.is-loading .qi-price, #quote.is-loading #qTotal{ opacity:.45; }
.q-list{ border-top:1px solid var(--ink); }
.qi{ padding:24px 0 20px; border-bottom:1px solid var(--line); }
.qi-head{ display:grid; grid-template-columns:40px 1fr auto; gap:14px; align-items:baseline; }
.qi-n{ font-size:.8rem; color:var(--brass); }
.qi-t h3{ font-size:1.35rem; line-height:1.2; }
.qi-t p{ font-size:.86rem; color:var(--ink-soft); margin-top:2px; }
.qi-price{ font-family:'Fraunces', serif; font-size:1.4rem; white-space:nowrap; transition:opacity .2s ease; }
.qi-err{ font-family:'JetBrains Mono', monospace; font-size:.75rem; color:var(--oxblood); }
.qi-dl{ display:grid; grid-template-columns:repeat(4, auto); justify-content:start; gap:6px 28px; margin:14px 0 0 54px; }
.qi-dl dt{ font-family:'JetBrains Mono', monospace; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); }
.qi-dl dd{ font-size:.88rem; }
.qi-msg{ margin:12px 0 0 54px; font-size:.86rem; color:var(--oxblood); }
.qi-lines{ margin:14px 0 0 54px; }
.qi-lines summary{ cursor:pointer; font-size:.82rem; color:var(--wood); width:max-content; }
.qi-lines table{ width:100%; border-collapse:collapse; margin-top:10px; font-size:.82rem; }
.qi-lines th{ font-family:'JetBrains Mono', monospace; font-size:.6rem; font-weight:400; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); text-align:left; padding:0 8px 6px 0; border-bottom:1px solid var(--line); }
.qi-lines td{ padding:7px 8px 7px 0; border-bottom:1px solid var(--line); vertical-align:top; }
.qi-lines .n{ text-align:right; white-space:nowrap; }
.qi-lines .qk{ font-family:'JetBrains Mono', monospace; font-size:.7rem; color:var(--ink-faint); white-space:nowrap; }
.qi-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; margin:16px 0 0 54px; }
.qty.qty-sm{ margin:0; }
.qty.qty-sm button{ width:34px; height:34px; }
.qty.qty-sm input{ width:38px; font-size:.9rem; }
.qi-btn{ background:none; border:none; padding:4px 0; font-family:'Work Sans', sans-serif; font-size:.86rem; color:var(--ink-soft); cursor:pointer; border-bottom:1px solid transparent; }
.qi-btn:hover{ color:var(--ink); border-bottom-color:currentColor; }
.qi-del:hover{ color:var(--oxblood); }
.q-add{ display:inline-block; margin-top:22px; font-size:.95rem; color:var(--wood); border-bottom:1px solid currentColor; }
.q-add:hover{ color:var(--oxblood); }
.q-opts{ display:flex; gap:22px; padding:12px 0 6px; border-top:1px solid var(--line-dark); }
.chk-dark{ color:var(--paper); margin-top:0; }
.chk-dark input{ accent-color:var(--wood-light); }
.q-sluzby{ list-style:none; margin-bottom:10px; }
.q-sluzby li{ display:flex; justify-content:space-between; gap:12px; font-size:.86rem; padding:6px 0; color:rgba(246,244,238,.8); }
.q-sluzby small{ font-family:'JetBrains Mono', monospace; font-size:.68rem; color:rgba(246,244,238,.5); margin-left:6px; }
.q-tools{ display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:16px; padding-top:14px; border-top:1px solid var(--line-dark); }
.q-tools button{ background:none; border:none; padding:0; font-family:'JetBrains Mono', monospace; font-size:.7rem; letter-spacing:.06em; color:rgba(246,244,238,.6); cursor:pointer; border-bottom:1px solid rgba(246,244,238,.25); }
.q-tools button:hover{ color:var(--paper); }
.q-sum{ top:110px; }

@media (max-width: 980px){
  .q-grid{ grid-template-columns:1fr; gap:32px; }
  .q-sum{ position:static; }
  .qi-dl{ grid-template-columns:1fr 1fr; margin-left:0; }
  .qi-msg, .qi-lines, .qi-actions{ margin-left:0; }
  .qi-head{ grid-template-columns:30px 1fr auto; }
}

/* ---- tlač cenovej ponuky ---- */
@media print{
  @page{ margin:14mm 12mm; }
  body{ background:#fff; }
  header, footer, .breadcrumb, .q-add, .qi-actions, .q-tools, .sum-btn, .sum-note, .sum-bar, .q-opts, .q-oblast, .sum-err[hidden], .nav-quote, #qEmpty{ display:none !important; }
  .page-hero{ padding:0 0 10px; border:none; }
  .page-hero h1{ font-size:24pt; }
  .page-hero h1 br{ display:none; }
  .page-hero h1 em::before{ content:' '; }
  .q-print-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; padding-bottom:10px; border-bottom:1px solid #999; font-size:9pt; color:#555; }
  .q-print-head img{ height:34px; }
  .q-sec{ padding:10px 0 0; }
  .wrap{ max-width:none; padding:0; }
  .q-grid{ display:block; }
  .qi{ break-inside:avoid; padding:12px 0; }
  .qi-lines{ display:block; }
  .qi-lines summary{ display:none; }
  .qi-lines[open] table, .qi-lines table{ display:table; }
  .q-sum{ position:static; background:#fff; color:#000; border:1px solid #999; padding:14px 16px; margin-top:16px; break-inside:avoid; }
  .q-sum .eyebrow{ color:#000; }
  .q-sum .sum-meta, .q-sum .q-sluzby li, .q-sum .sum-total span, .q-sum .sum-total strong, .q-sum .q-sluzby small, .q-sum .sum-meta span:first-child{ color:#000 !important; }
  .q-sum .sum-meta{ border-color:#ccc; }
  .q-print-foot{ display:block; margin-top:16px; font-size:8.5pt; color:#555; }
  .reveal{ opacity:1 !important; transform:none !important; }
}

/* --- schematický obrázok dverí --- */
.door-svg{ display:block; width:100%; height:auto; }
.door-prev{ background:#ECE8E1; border-radius:2px; overflow:hidden; margin:2px 0 18px; }
.door-prev{ padding:14px 0 0; }
.door-prev .door-svg{ max-height:320px; margin:0 auto; }
.qi{ display:grid; grid-template-columns:96px 1fr; gap:22px; align-items:start; }
.qi-img{ border:1px solid var(--line); background:#ECE8E1; }
.qi-main{ min-width:0; }
.qi-head{ grid-template-columns:30px 1fr auto; }
.qi-dl, .qi-msg, .qi-lines, .qi-actions{ margin-left:44px; }
@media (max-width: 980px){
  .qi{ grid-template-columns:72px 1fr; gap:14px; }
  .qi-dl, .qi-msg, .qi-lines, .qi-actions{ margin-left:0; }
}

@media print{
  .qi{ grid-template-columns:70px 1fr; }
  .door-prev{ display:none; }
}
.chk-big{ font-size:1rem; margin:0 0 6px; }
.chk-big input{ width:20px; height:20px; }
#stenaWrap[hidden]{ display:none; }
[data-zar]{ transition:opacity .25s ease; }
[data-zar].is-off{ opacity:.35; pointer-events:none; }
.q-opts{ flex-wrap:wrap; }
.q-opts small{ font-size:.74rem; color:rgba(246,244,238,.55); margin-left:4px; }
.q-km{ padding:4px 0 12px; }
.q-oblast{ display:flex; gap:12px; align-items:flex-start; margin:6px 0 14px; padding:13px 15px; border:1px solid var(--wood-light); border-left-width:4px; border-radius:4px; background:rgba(246,244,238,.06); font-size:.9rem; line-height:1.5; color:rgba(246,244,238,.85); }
.q-oblast[hidden]{ display:none; }
.q-oblast strong{ display:block; color:var(--paper); font-weight:600; font-size:.98rem; margin-bottom:3px; }
.q-oblast svg{ width:24px; height:24px; flex:none; margin-top:1px; fill:none; stroke:var(--wood-light); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.q-oblast a{ color:var(--wood-light); }
.q-doprava-b2b{ margin:0 0 10px; font-size:.82rem; color:rgba(246,244,238,.7); }
.q-doprava-b2b[hidden], .chk[hidden]{ display:none; }
.q-km[hidden]{ display:none; }
.q-km label{ display:block; font-family:'JetBrains Mono', monospace; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(246,244,238,.55); margin-bottom:6px; }
.q-km-in{ display:flex; align-items:baseline; gap:8px; border-bottom:1px solid rgba(246,244,238,.35); max-width:160px; }
.q-km-in input{ background:transparent; border:none; outline:none; color:var(--paper); font-family:'Fraunces', serif; font-size:1.5rem; width:100%; -moz-appearance:textfield; }
.q-km-in input::-webkit-outer-spin-button, .q-km-in input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.q-km-in span{ font-family:'JetBrains Mono', monospace; font-size:.8rem; color:rgba(246,244,238,.55); }
.q-km p{ font-size:.76rem; color:rgba(246,244,238,.5); margin-top:6px; }
@media print{ .q-km{ display:none !important; } }

/* ===== kalkulácia: druh položky (dvere / slepá zárubňa), závesy, číslovanie krokov ===== */
.cfg{ counter-reset:krok; }
.cfg .step:not([hidden]){ counter-increment:krok; }
.cfg .step-h .mono::before{ content:counter(krok, decimal-leading-zero); }
.cfg [hidden]{ display:none !important; }
.seg-druh{ flex-wrap:wrap; }
#zavesyWrap{ margin-top:18px; }
#zavesyWrap .k{ margin-top:0; }
.cfg .smer-wrap > .k:first-child{ margin-top:18px; }
#zavesyWrap + #stenaWrap{ margin-top:22px; }
.chk-prah{ margin-top:22px; }
#mriezkaWrap .k{ margin-top:22px; }
.calc-klucka{ margin-top:12px; }
.q-note{ margin-top:22px; font-size:.86rem; color:var(--ink-soft, #6b635a); max-width:60ch; }
@media print{ .q-note{ display:block !important; margin-top:10px; font-size:9pt; } }
#spojWrap{ margin-top:22px; }
#spojWrap .k{ margin-top:0; }
.seg-spoj span{ display:flex !important; align-items:center; gap:10px; }
.spoj-ico{ width:26px; height:26px; flex:none; }
#spojWrap + #stenaWrap{ margin-top:22px; }

/* ===== rozpis ceny (okno) ===== */
.sum-why{ display:flex; justify-content:space-between; width:100%; margin:0 0 14px; padding:9px 0; background:none; border:none; border-top:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark);
  color:rgba(246,244,238,.75); font:inherit; font-size:.86rem; cursor:pointer; text-align:left; }
.sum-why span{ color:var(--brass); font-family:'JetBrains Mono', monospace; font-size:.74rem; }
.sum-why:hover{ color:var(--paper); }
dialog.rz{ width:min(760px, calc(100vw - 32px)); max-height:calc(100vh - 48px); margin:auto; padding:0; border:none; border-radius:4px;
  background:var(--paper); color:var(--ink); box-shadow:0 30px 80px rgba(0,0,0,.35); overflow:hidden; }
dialog.rz[open]{ display:flex; flex-direction:column; }
dialog.rz::backdrop{ background:rgba(23,20,15,.6); }
.rz-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:22px 26px 14px; border-bottom:1px solid var(--line); }
.rz-head .eyebrow{ color:var(--brass); }
.rz-t{ font-size:1.35rem; line-height:1.25; margin-top:4px; }
.rz-x{ background:none; border:none; font-size:2rem; line-height:1; cursor:pointer; color:var(--ink-soft); padding:0 4px; }
.rz-body{ overflow:auto; padding:6px 26px 18px; }
.rz-pol{ padding:16px 0; border-bottom:1px solid var(--line); }
.rz-pol h3{ font-size:1.1rem; display:flex; gap:12px; align-items:baseline; margin-bottom:10px; }
.rz-pol h3 .mono{ font-size:.75rem; color:var(--brass); }
.rz-line{ margin:10px 0 14px; padding:12px 14px; background:var(--bg); border-radius:3px; }
.rz-lh{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:.9rem; margin-bottom:6px; }
.rz-kod{ font-size:.72rem; color:var(--ink-faint); }
.rz table{ width:100%; border-collapse:collapse; font-size:.88rem; }
.rz td{ padding:5px 0; vertical-align:top; border-top:1px dashed var(--line); }
.rz tr:first-child td{ border-top:none; }
.rz td.n{ text-align:right; white-space:nowrap; padding-left:14px; font-family:'JetBrains Mono', monospace; font-size:.82rem; }
.rz td small{ display:block; color:var(--ink-faint); font-size:.76rem; }
.rz-sub td{ border-top:1px solid var(--line) !important; color:var(--ink-soft); }
.rz-z{ display:none; font-size:.68rem; color:var(--wood); margin-top:2px; }
.rz.show-src .rz-z{ display:block; }
.rz-ok{ color:#3B7A3A; font-weight:700; margin-left:4px; }
.rz-bad{ color:#B3261E; font-weight:700; margin-left:4px; }
.rz-ptot{ display:flex; justify-content:space-between; font-size:.95rem; padding-top:4px; }
.rz-total{ display:flex; justify-content:space-between; align-items:baseline; padding:18px 0 6px; }
.rz-total span{ font-family:'JetBrains Mono', monospace; font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); }
.rz-total strong{ font-family:'Fraunces', serif; font-weight:500; font-size:1.9rem; }
.rz-err{ color:#B3261E; font-size:.9rem; }
.rz-note{ font-size:.8rem; color:var(--ink-faint); margin-top:6px; }
.rz-foot{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 26px; border-top:1px solid var(--line); background:var(--bg); }
.rz-src{ font-size:.82rem; color:var(--ink-soft); display:flex; gap:8px; align-items:center; cursor:pointer; }
.rz-close{ background:var(--ink); color:var(--paper); border:none; padding:10px 22px; font:inherit; font-size:.88rem; cursor:pointer; }
@media (max-width:600px){ .rz-head, .rz-body, .rz-foot{ padding-left:16px; padding-right:16px; } .rz-line{ padding:10px; } }
@media print{ dialog.rz{ display:none !important; } }

/* ===== zväčšený nákres ===== */
#doorPrev, .qi-img{ cursor:zoom-in; position:relative; }
#doorPrev::after, .qi-img::after{ content:'⤢'; position:absolute; right:8px; top:6px; width:28px; height:28px; display:grid; place-items:center;
  border-radius:50%; background:rgba(31,27,22,.6); color:#fff; font-size:15px; line-height:1; opacity:.75; pointer-events:none; transition:opacity .2s; }
.qi-img::after{ width:22px; height:22px; font-size:12px; right:4px; top:4px; }
#doorPrev:hover::after, .qi-img:hover::after{ opacity:1; }
dialog.lb{ max-width:none; max-height:none; width:100vw; height:100vh; margin:0; padding:0; border:none; background:rgba(23,20,15,.88);
  cursor:zoom-out; }
dialog.lb[open]{ display:flex; align-items:center; justify-content:center; }
dialog.lb::backdrop{ background:transparent; }
.lb-fig{ margin:0; display:flex; flex-direction:column; align-items:center; gap:14px; max-height:100%; padding:64px 16px 24px; }
.lb-img{ height:min(82vh, 1100px); aspect-ratio:1120/2300; max-width:92vw; background:#ECE8E1; border-radius:4px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.45); }
.lb-img svg{ width:100%; height:100%; display:block; }
.lb-fig figcaption{ color:var(--paper); font-size:.95rem; text-align:center; max-width:60ch; }
.lb-x{ position:fixed; top:14px; right:18px; width:56px; height:56px; border-radius:50%; border:2px solid rgba(246,244,238,.7);
  background:rgba(23,20,15,.6); color:#fff; font-size:2.4rem; line-height:1; cursor:pointer; display:grid; place-items:center; }
.lb-x:hover{ background:var(--oxblood); border-color:var(--oxblood); }
@media print{ dialog.lb{ display:none !important; } #doorPrev::after, .qi-img::after{ display:none; } }

/* ===== rozpis položky v ponuke – mobil: kód pod názvom, riadok ako kartička na celú šírku ===== */
.qk-m, .qx{ display:none; }
@media (max-width: 980px){
  .qi-lines{ margin-left:-86px !important; }
}
@media (max-width: 760px){
  .qi-lines thead{ display:none; }
  .qi-lines table, .qi-lines tbody{ display:block !important; }
  .qi-lines tr{ display:grid; grid-template-columns:1fr auto; gap:4px 12px; padding:10px 0; border-bottom:1px solid var(--line); }
  .qi-lines td{ padding:0; border:none; }
  .qi-lines td.qk, .qi-lines td.q-ks{ display:none; }
  .qi-lines td.qn{ grid-column:1 / -1; line-height:1.45; }
  .qk-m{ display:block; margin-top:3px; font-family:'JetBrains Mono', monospace; font-size:.68rem; color:var(--ink-faint); word-break:break-all; }
  .qi-lines td.q-c{ text-align:left; color:var(--ink-soft); }
  .qx{ display:inline; }
  .qi-lines td.q-s{ font-weight:600; }
}

/* ===== smer otvárania – obrázkové voľby ===== */
.smer-picks{ display:grid; grid-template-columns:repeat(2, minmax(0, 230px)); gap:14px; }
.smer-pick{ position:relative; display:flex; flex-direction:column; align-items:center; gap:10px; padding:16px 12px 14px;
  border:1px solid var(--line); background:transparent; cursor:pointer; transition:border-color .25s, background .25s; }
.smer-pick input{ position:absolute; opacity:0; pointer-events:none; }
.smer-pick::after{ content:''; position:absolute; top:10px; right:10px; width:10px; height:10px; border-radius:50%;
  border:1px solid var(--ink-faint); transition:all .25s; }
.smer-pick:hover{ border-color:var(--ink-faint); }
.smer-pick:has(input:checked){ border-color:var(--oxblood); background:var(--paper); }
.smer-pick:has(input:checked)::after{ border-color:var(--oxblood); background:var(--oxblood); box-shadow:inset 0 0 0 2px var(--paper); }
.smer-pick:has(input:focus-visible){ outline:2px solid var(--brass); outline-offset:2px; }
.smer-ico{ width:100%; max-width:200px; height:auto; display:block; opacity:.55; transition:opacity .25s; }
.smer-pick:hover .smer-ico, .smer-pick:has(input:checked) .smer-ico{ opacity:1; }
.smer-t{ display:flex; flex-direction:column; align-items:center; gap:3px; line-height:1.1; }
.smer-t b{ font-family:'Fraunces', serif; font-weight:400; font-size:1.15rem; }
.smer-pick:has(input:checked) .smer-t b{ font-style:italic; color:var(--oxblood); }
.smer-t small{ font-family:'JetBrains Mono', monospace; font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); }
.smer-hint{ font-size:.78rem; color:var(--ink-faint); margin:10px 0 4px; }

/* rozpis položky (počítač): oddelenie stĺpcov Ks / Cena/ks / Spolu */
.qi-lines th.n, .qi-lines td.n{ padding-left:22px; }
.qi-lines td.q-ks, .qi-lines th.q-ks{ text-align:center; padding-left:18px; padding-right:4px; color:var(--ink-soft); }
.qi-lines td.q-ks::after{ content:' ks'; font-size:.72rem; color:var(--ink-faint); }
.qi-lines td.q-c{ color:var(--ink-soft); }
.qi-lines td.q-s{ font-weight:600; padding-right:0; }
@media (max-width: 760px){ .qi-lines td.n{ padding:0; } }

/* ===== skrátenie na mieru ===== */
.skr{ margin-top:18px; padding:14px 16px; border:1px dashed var(--line); }
.skr .chk{ font-size:.95rem; }
.skr-in{ margin-top:10px; max-width:220px; align-items:baseline; }
.skr-in input{ font-size:1.6rem !important; }
.skr-pre{ font-family:'Fraunces', serif; font-style:italic; color:var(--ink-faint); margin-right:8px; }
.skr .calc-dims{ margin-top:8px; margin-bottom:0; }
#skrIn[hidden]{ display:none !important; }
.skr .chk{ margin-top:0; }
.skr .k{ margin-top:0 !important; }
.k-note{ text-transform:none; letter-spacing:0; font-family:'Work Sans', sans-serif; font-size:.74rem; color:var(--ink-faint); margin-left:6px; }
.skr-row + .skr-row{ margin-top:14px; padding-top:14px; border-top:1px dashed var(--line); }
.skr-zline{ display:flex; align-items:flex-end; gap:16px; flex-wrap:wrap; }
.skr-zline[hidden]{ display:none !important; }
.skr-same{ background:none; border:1px solid var(--line); padding:6px 12px; font-family:'JetBrains Mono', monospace; font-size:.72rem; color:var(--wood); cursor:pointer; }
.skr-same:hover{ border-color:var(--wood); }
.skr-note{ color:var(--wood) !important; margin-top:12px !important; }
.skr-note[hidden]{ display:none; }
.skr-note.is-err{ color:#B3261E !important; font-weight:600; }

/* ===== B2B partneri ===== */
.b2b-bar{ background:var(--oxblood); color:var(--paper); font-size:.82rem; position:relative; z-index:60; }
.b2b-bar .wrap{ display:flex; align-items:center; gap:16px; padding-top:7px; padding-bottom:7px; flex-wrap:wrap; }
.b2b-bar-t{ flex:1; min-width:200px; }
.b2b-bar-t b{ font-family:'JetBrains Mono', monospace; letter-spacing:.12em; margin-right:6px; font-weight:500; }
.b2b-bar a, .b2b-bar button{ color:var(--paper); background:none; border:none; font:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:3px; padding:0; }
.sum-b2b{ font-size:.8rem; color:var(--brass); margin:0 0 12px; line-height:1.4; }
.q-dph{ border-top:1px solid var(--line-dark); padding-top:6px; }
.footer-b2b{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
.b2b-sec{ padding:30px 0 90px; }
.b2b-grid{ display:grid; grid-template-columns:minmax(0, 440px) minmax(0, 1fr); gap:48px; align-items:start; }
.b2b-card{ background:var(--paper); border:1px solid var(--line); padding:28px; }
.b2b-card .eyebrow{ margin-bottom:16px; }
.b2b-form{ display:flex; flex-direction:column; gap:6px; }
.b2b-form label{ font-family:'JetBrains Mono', monospace; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); margin-top:10px; }
.b2b-form input{ border:none; border-bottom:1px solid var(--ink); background:transparent; font:inherit; font-size:1.1rem; padding:8px 0; outline:none; }
.b2b-form input:focus{ border-bottom-color:var(--oxblood); }
.b2b-form .sum-btn{ margin-top:22px; background:var(--ink); color:var(--paper); }
.b2b-form .sum-err{ color:#B3261E; background:none; padding:0; margin-top:8px; }
.b2b-help{ font-size:.82rem; color:var(--ink-faint); margin-top:16px; }
.b2b-card h2{ font-size:1.6rem; margin-bottom:6px; }
.b2b-lvl{ color:var(--ink-soft); margin-bottom:22px; }
.b2b-actions{ display:flex; gap:18px; align-items:center; flex-wrap:wrap; }
.b2b-link{ background:none; border:none; font:inherit; color:var(--wood); cursor:pointer; padding:0; text-decoration:underline; text-underline-offset:3px; }
.b2b-demo-btns{ display:flex; flex-wrap:wrap; gap:10px; margin:14px 0 4px; }
.b2b-info h3{ font-size:1.25rem; margin-bottom:12px; }
.b2b-info ul{ padding-left:18px; color:var(--ink-soft); }
.b2b-info li{ margin-bottom:8px; }
@media (max-width: 860px){ .b2b-grid{ grid-template-columns:1fr; gap:30px; } }
.b2b-bar{ position:fixed; top:0; left:0; right:0; z-index:101; height:34px; }
.b2b-bar .wrap{ height:34px; padding-top:0; padding-bottom:0; flex-wrap:nowrap; overflow:hidden; white-space:nowrap; }
.b2b-bar-t{ overflow:hidden; text-overflow:ellipsis; }
body.is-b2b{ padding-top:34px; }
body.is-b2b header{ top:34px; }
#qMontazWrap[hidden]{ display:none !important; }

/* ===================== ZÁKAZKY (zostava – panel, zakazky.html, sprava.html) ===================== */
.q-zak{ margin-top:22px; padding:16px 0 4px; border-top:1px solid var(--line-dark); }
.q-zak-h{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-family:'JetBrains Mono', monospace; font-size:.66rem; letter-spacing:.14em; color:var(--wood-light); }
.q-zak-h a{ color:rgba(246,244,238,.7); letter-spacing:.04em; text-transform:none; font-size:.74rem; }
.q-zak-h a:hover{ color:var(--paper); }
.q-zak-info{ font-size:.86rem; color:rgba(246,244,238,.78); margin:10px 0 12px; line-height:1.5; }
.q-zak-info a{ color:var(--wood-light); }
.q-zak-warn{ color:#F0B27A; }
.q-zak-l{ display:block; font-family:'JetBrains Mono', monospace; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(246,244,238,.55); margin-bottom:4px; }
.q-zak-in{ width:100%; background:transparent; border:none; border-bottom:1px solid rgba(246,244,238,.35); color:var(--paper); font:inherit; font-size:.98rem; padding:6px 0; outline:none; }
.q-zak-in:focus{ border-bottom-color:var(--wood-light); }
.q-zak .sum-btn{ margin-top:14px; }
.q-zak .sum-btn:disabled{ opacity:.55; cursor:default; background:var(--paper); }
.q-zak-msg{ font-size:.84rem; margin-top:10px; color:#A8D5A2; }
.q-zak-msg.is-err{ color:#F2A49B; }

.zk-sec{ padding:20px 0 100px; }
.zk-msg{ background:var(--paper); border:1px solid var(--line); padding:28px; max-width:620px; }
.zk-msg p{ margin-bottom:16px; color:var(--ink-soft); }
.zk-login{ max-width:440px; }
.zk-top{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
.zk-tabs{ display:flex; flex-wrap:wrap; gap:4px; }
.zk-tabs button{ background:none; border:1px solid var(--line); padding:8px 14px; font:inherit; font-size:.86rem; color:var(--ink-soft); cursor:pointer; border-radius:2px; }
.zk-tabs button:hover{ border-color:var(--ink); color:var(--ink); }
.zk-tabs button.is-on{ background:var(--zk-akcent, var(--ink)); border-color:var(--zk-akcent, var(--ink)); color:var(--paper); }
.zk-n{ font-family:'JetBrains Mono', monospace; font-size:.78rem; }
.zk-new{ color:var(--wood); font-weight:500; }
.zk-who{ font-size:.86rem; color:var(--ink-soft); }
.zk-tw{ overflow-x:auto; background:var(--paper); border:1px solid var(--line); }
.zk-table{ width:100%; border-collapse:collapse; font-size:.9rem; min-width:720px; }
.zk-table th{ text-align:left; font-family:'JetBrains Mono', monospace; font-weight:400; font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); padding:12px 14px; border-bottom:1px solid var(--line); white-space:nowrap; }
.zk-table td{ padding:12px 14px; border-bottom:1px solid var(--line); vertical-align:middle; }
.zk-table tbody tr{ cursor:pointer; transition:background .15s ease; }
.zk-table tbody tr:hover, .zk-table tbody tr:focus{ background:var(--bg-warm); outline:none; }
.zk-table tbody tr.is-on{ background:var(--zk-akcent-svetly, #E9E2D4); box-shadow:inset 4px 0 0 var(--zk-akcent, var(--oxblood)); }
.zk-table tbody tr:last-child td{ border-bottom:none; }
.zk-table .n, .zk-riadky .n, .zk-ex .n{ text-align:right; white-space:nowrap; }
.zk-empty{ padding:22px 0; color:var(--ink-soft); }
.zk-empty a{ color:var(--wood); text-decoration:underline; }
.zk-stav{ display:inline-block; font-size:.76rem; padding:3px 9px; border-radius:20px; background:var(--bg-warm); color:var(--ink-soft); white-space:nowrap; }
.zk-s-objednavka{ background:#F3E3C3; color:#6B4A12; }
.zk-s-potvrdene{ background:#F6D9D3; color:var(--oxblood); }
.zk-s-importovane, .zk-s-vo_vyrobe, .zk-s-pripravene{ background:#DCE7D5; color:#2F5126; }
.zk-s-expedovane, .zk-s-fakturovane, .zk-s-zaplatene, .zk-s-hotove{ background:#D6E1EA; color:#24425A; }
.zk-miss{ color:#B3261E; font-weight:500; }
.zk-imp{ color:#2F5126; font-family:'JetBrains Mono', monospace; font-size:.8rem; }
.zk-load{ color:var(--ink-faint); padding:20px 0; }
.zk-err{ color:#B3261E; font-size:.88rem; }

.zk-detail{ margin-top:34px; background:var(--paper); border:1px solid var(--line); border-top:5px solid var(--zk-akcent, var(--line)); padding:30px; scroll-margin-top:130px; }
.zk-d-head{ display:flex; align-items:flex-start; gap:18px; flex-wrap:wrap; }
.zk-d-head > div{ flex:1; min-width:220px; }
.zk-d-head h2{ font-size:1.9rem; }
.zk-d-head h2 small{ font-size:1rem; color:var(--ink-soft); font-family:'Work Sans', sans-serif; margin-left:8px; }
.zk-x{ background:none; border:none; font-size:1.8rem; line-height:1; cursor:pointer; color:var(--ink-faint); padding:0 4px; }
.zk-x:hover{ color:var(--ink); }
.zk-kroky{ list-style:none; display:flex; margin:22px 0 26px; padding:0; overflow-x:auto; counter-reset:k; }
.zk-kroky li{ flex:1; min-width:86px; position:relative; padding-top:18px; font-size:.72rem; color:var(--ink-faint); text-align:center; }
.zk-kroky li::before{ content:''; position:absolute; top:5px; left:0; right:0; height:2px; background:var(--line); }
.zk-kroky li::after{ content:''; position:absolute; top:0; left:50%; width:12px; height:12px; margin-left:-6px; border-radius:50%; background:var(--paper); border:2px solid #CFC7B8; }
.zk-kroky li.je{ color:var(--ink-soft); }
.zk-kroky li.je::before, .zk-kroky li.teraz::before{ background:var(--wood-light); }
.zk-kroky li.je::after{ background:var(--wood-light); border-color:var(--wood-light); }
.zk-kroky li.teraz{ color:var(--ink); font-weight:600; }
.zk-kroky li.teraz::after{ background:var(--oxblood); border-color:var(--oxblood); box-shadow:0 0 0 4px rgba(110,38,32,.15); }
.zk-info{ margin:-8px 0 20px; color:var(--ink-soft); font-size:.92rem; }
.zk-d-grid{ display:grid; grid-template-columns:minmax(0, 1fr) 360px; gap:32px; align-items:start; }
.zk-cards{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; margin-bottom:26px; }
.zk-box{ border:1px solid var(--line); padding:18px; margin-bottom:16px; background:#FBFAF6; }
.zk-cards .zk-box{ margin-bottom:0; }
.zk-box h3{ font-size:1.08rem; margin-bottom:10px; }
.zk-box h4{ font-family:'JetBrains Mono', monospace; font-weight:400; font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); margin:4px 0 8px; }
.zk-box p{ font-size:.88rem; color:var(--ink-soft); margin-bottom:10px; }
.zk-box-go{ border-color:var(--zk-akcent, var(--ink)); border-top-width:4px; background:#fff; }
.zk-kv{ display:flex; gap:10px; font-size:.86rem; padding:3px 0; }
.zk-kv span{ width:110px; flex:none; color:var(--ink-faint); }
.zk-kv b{ font-weight:500; word-break:break-word; }
.zk-kv-id b{ font-family:'JetBrains Mono', monospace; }
.zk-form{ display:grid; grid-template-columns:1fr; gap:10px; }
.zk-form label{ display:flex; flex-direction:column; gap:4px; font-family:'JetBrains Mono', monospace; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); }
.zk-form input, .zk-form textarea{ font:inherit; font-family:'Work Sans', sans-serif; font-size:.95rem; letter-spacing:0; text-transform:none; color:var(--ink); border:1px solid var(--line); border-radius:2px; padding:9px 10px; background:#fff; }
.zk-form .sel{ max-width:none; letter-spacing:0; text-transform:none; }
.zk-btns{ display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; margin-top:12px; }
.zk-btns-end{ margin:0 0 16px; }
.zk-btn{ border:1px solid var(--ink); background:#fff; color:var(--ink); padding:10px 16px; font:inherit; font-size:.88rem; cursor:pointer; border-radius:2px; }
.zk-btn:hover{ background:var(--bg-warm); }
.zk-btn-dark{ background:var(--zk-akcent, var(--ink)); border-color:var(--zk-akcent, var(--ink)); color:var(--paper); width:100%; padding:13px 16px; }
.zk-btn-dark:hover{ background:var(--oxblood); border-color:var(--oxblood); }
.zk-btn:disabled{ opacity:.45; cursor:not-allowed; }
.zk-btn-dark:disabled:hover{ background:var(--zk-akcent, var(--ink)); border-color:var(--zk-akcent, var(--ink)); }
.zk-btn-l{ border:none; background:none; padding:4px 0; color:var(--wood); text-decoration:underline; text-underline-offset:3px; }
.zk-btn-l:hover{ background:none; color:var(--ink); }
.zk-del{ color:#B3261E; }
.zk-potvrd{ display:flex; gap:10px; align-items:flex-start; font-size:.9rem; line-height:1.45; padding:12px; background:#FBF3E6; border:1px solid #E7CFA6; cursor:pointer; }
.zk-potvrd input{ width:18px; height:18px; margin-top:2px; flex:none; accent-color:var(--oxblood); }
.zk-warn{ padding:10px 12px; background:#F6D9D3; color:var(--oxblood); font-size:.86rem; margin-bottom:10px; }
.zk-kontroly{ list-style:none; padding:0; margin:0 0 14px; font-size:.86rem; }
.zk-kontroly li{ display:grid; grid-template-columns:20px 1fr; padding:3px 0; }
.zk-kontroly li span{ font-weight:700; }
.zk-kontroly li.ok span{ color:#2F7A2A; }
.zk-kontroly li.x{ color:#B3261E; }
.zk-kontroly small{ grid-column:2; color:#B3261E; font-size:.78rem; }
.zk-ex{ width:100%; border-collapse:collapse; font-size:.74rem; margin-top:14px; }
.zk-ex th, .zk-ex td{ text-align:left; padding:4px 6px 4px 0; border-bottom:1px solid var(--line); }
.zk-ex th{ font-weight:500; color:var(--ink-faint); }
.zk-ex .mono{ font-size:.68rem; word-break:break-all; }
.zk-hist ul{ list-style:none; padding:0; margin:0; font-size:.82rem; max-height:320px; overflow:auto; }
.zk-hist li{ padding:5px 0; border-bottom:1px dashed var(--line); color:var(--ink-soft); }
.zk-hist li .mono{ font-size:.72rem; color:var(--ink-faint); margin-right:4px; }
.zk-hist small{ color:var(--ink-faint); }
.zk-msg-line{ margin-top:16px; padding:12px 14px; background:#DCE7D5; color:#2F5126; font-size:.9rem; }
.zk-msg-line.is-err{ background:#F6D9D3; color:#8A1C14; }

.zk-pol{ display:flex; flex-direction:column; gap:12px; }
.zk-p{ display:grid; grid-template-columns:96px minmax(0, 1fr); gap:16px; border:1px solid var(--line); padding:14px; background:#fff; }
.zk-p-img svg{ width:100%; height:auto; display:block; }
.zk-p-head{ display:flex; gap:12px; align-items:baseline; }
.zk-p-head > .mono{ color:var(--ink-faint); font-size:.78rem; }
.zk-p-head > div{ flex:1; min-width:0; }
.zk-p-head b{ display:block; font-weight:500; }
.zk-p-head small{ color:var(--ink-soft); font-size:.82rem; }
.zk-p-ks{ font-size:.86rem; color:var(--ink-soft); white-space:nowrap; }
.zk-p-c{ font-weight:600; white-space:nowrap; }
.zk-riadky{ width:100%; border-collapse:collapse; margin-top:10px; font-size:.78rem; }
.zk-riadky td{ padding:4px 8px 4px 0; border-top:1px solid var(--line); color:var(--ink-soft); }
.zk-riadky td.mono{ font-size:.7rem; white-space:nowrap; }
.zk-sl{ border:1px solid var(--line); padding:10px 14px; background:#fff; font-size:.88rem; }
.zk-sl div{ display:flex; justify-content:space-between; gap:12px; padding:3px 0; }
.zk-sl small{ color:var(--ink-faint); }
.zk-sumy{ align-self:flex-end; min-width:300px; font-size:.92rem; }
.zk-sumy div{ display:flex; justify-content:space-between; padding:4px 0; }
.zk-sumy-t{ border-top:1px solid var(--ink); margin-top:4px; padding-top:8px !important; font-size:1.05rem; }

@media (max-width: 1100px){
  .zk-d-grid{ grid-template-columns:1fr; }
  .zk-cards{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px){
  .zk-detail{ padding:18px; margin-left:-8px; margin-right:-8px; }
  .zk-cards{ grid-template-columns:1fr; }
  .zk-p{ grid-template-columns:64px minmax(0, 1fr); gap:10px; }
  .zk-p-head{ flex-wrap:wrap; }
  .zk-riadky td:nth-child(2){ display:none; }
  .zk-sumy{ min-width:0; width:100%; }
}
@media print{
  .zk-top, .zk-tw, .zk-x, .zk-box-go, .zk-btns, .zk-hist{ display:none !important; }
}

/* ---------- rozlíšenie rozhraní: PARTNER (bordová) × SPRÁVA (petrolejová) ---------- */
.rozhranie-partner{ --zk-akcent:var(--oxblood); --zk-akcent-svetly:#F3E3DF; }
.rozhranie-sprava{ --zk-akcent:#1D5466; --zk-akcent-svetly:#DDEBEF; background:#E6ECEC; }
.rozhranie-sprava .page-hero{ background:linear-gradient(180deg, #DCE7E9 0%, #E6ECEC 100%); }
.rozhranie-sprava .page-hero h1 em{ color:var(--zk-akcent); }
.rozhranie-partner .page-hero h1 em{ color:var(--oxblood); }
.rozhr-stitok{ display:inline-block; margin:2px 0 14px; padding:5px 12px 5px 10px; border-radius:2px; font-family:'JetBrains Mono', monospace; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:#fff; background:var(--zk-akcent); }
.rozhr-stitok::before{ content:'●'; margin-right:8px; font-size:.6rem; vertical-align:1px; }
.rozhr-pas{ position:fixed; top:0; left:0; right:0; z-index:101; height:34px; background:var(--zk-akcent); color:#fff; font-size:.82rem; }
.rozhr-pas .wrap{ display:flex; align-items:center; gap:14px; height:34px; white-space:nowrap; overflow:hidden; }
.rozhr-znak{ font-family:'JetBrains Mono', monospace; letter-spacing:.14em; font-weight:500; background:rgba(255,255,255,.18); padding:2px 8px; border-radius:2px; }
.rozhr-t{ flex:1; overflow:hidden; text-overflow:ellipsis; }
.rozhr-kto{ opacity:.85; }
.rozhranie-sprava{ padding-top:34px; }
.rozhranie-sprava header{ top:34px; }
.rozhranie-sprava .zk-tw, .rozhranie-sprava .zk-detail, .rozhranie-sprava .zk-tools, .rozhranie-sprava .zk-import{ border-color:#C3D3D7; }
.rozhranie-sprava .zk-table thead th{ background:#F1F6F7; }
.rozhranie-partner .zk-table thead th{ background:#FAF4F1; }
@media (max-width: 640px){ .rozhr-t{ display:none; } }

/* ---------- vyhľadávanie, filtre, triedenie ---------- */
.zk-tools{ background:var(--paper); border:1px solid var(--line); border-bottom:none; padding:14px 16px 10px; }
.zk-t-row{ display:flex; flex-wrap:wrap; gap:10px 12px; align-items:flex-end; }
.zk-t-row label{ display:flex; flex-direction:column; gap:4px; font-family:'JetBrains Mono', monospace; font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); }
.zk-t-row input, .zk-t-row .sel{ font-family:'Work Sans', sans-serif; font-size:.88rem; letter-spacing:0; text-transform:none; color:var(--ink); border:1px solid var(--line); border-radius:2px; background:#fff; padding:8px 10px; height:38px; }
.zk-t-row .sel{ width:auto; min-width:150px; max-width:240px; padding-right:32px; }
.zk-q{ flex:1 1 240px; }
.zk-q input{ width:100%; }
.zk-d input{ width:150px; }
.zk-t-row input:focus, .zk-t-row .sel:focus{ outline:none; border-color:var(--zk-akcent, var(--ink)); box-shadow:0 0 0 2px var(--zk-akcent-svetly, rgba(0,0,0,.08)); }
.zk-t-info{ display:flex; gap:16px; align-items:center; margin-top:10px; font-size:.82rem; color:var(--ink-soft); }
.zk-t-info .zk-btn-l{ font-size:.82rem; }
.zk-sort{ cursor:pointer; user-select:none; }
.zk-sort i{ font-style:normal; margin-left:5px; opacity:.35; font-size:.7rem; }
.zk-sort:hover, .zk-sort:focus{ color:var(--ink); outline:none; }
.zk-sort.is-sort{ color:var(--zk-akcent, var(--ink)); }
.zk-sort.is-sort i{ opacity:1; }
.zk-table tbody tr.is-del td{ opacity:.55; }
.zk-table-sp{ min-width:1080px; }

/* ---------- import do interného systému (správa) ---------- */
.zk-import{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; padding:12px 16px; margin-bottom:12px; background:#fff; border:1px solid var(--line); border-left:4px solid var(--zk-akcent, var(--ink)); font-size:.88rem; }
.zk-imp-t{ font-family:'JetBrains Mono', monospace; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--zk-akcent); }
.zk-import .zk-btn{ margin-left:auto; padding:7px 14px; }
.zk-import small{ color:var(--ink-faint); margin-left:auto; }
.zk-table td.mono{ white-space:nowrap; font-size:.84rem; }
.zk-t-row .sel{ min-width:130px; }
.zk-q{ flex:1 1 200px; }
.zk-d input{ width:140px; }
.zk-s-zrusene{ background:#E4E1DC; color:#6B6258; text-decoration:line-through; }
.zk-box-x{ border-color:#E3C4BE; }
.zk-hint{ font-size:.8rem !important; color:var(--zk-akcent, var(--ink-soft)) !important; margin:0 !important; min-height:0; }
.zk-hint:empty{ display:none; }
.zk-form label span{ text-transform:none; letter-spacing:0; font-family:'Work Sans', sans-serif; font-size:.74rem; color:var(--ink-faint); }
.zk-s-samodber{ background:#EDE4F3; color:#4B2E63; }

/* ===================== MÔJ ÚČET (ucet.html) ===================== */
.uc-grid{ display:grid; grid-template-columns:minmax(0, 1fr) 320px; gap:20px; align-items:start; }
.uc-form{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px 14px; margin:6px 0 4px; }
.uc-f{ display:flex; flex-direction:column; gap:4px; font-family:'JetBrains Mono', monospace; font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); }
.uc-f input, .uc-f .sel{ font-family:'Work Sans', sans-serif; font-size:.95rem; letter-spacing:0; text-transform:none; color:var(--ink); border:1px solid var(--line); border-radius:2px; padding:9px 10px; background:#fff; max-width:none; }
.uc-f input:focus, .uc-f .sel:focus{ outline:none; border-color:var(--zk-akcent, var(--ink)); box-shadow:0 0 0 2px var(--zk-akcent-svetly, rgba(0,0,0,.08)); }
.uc-w{ grid-column:1 / -1; }
.uc-form .chk{ margin-top:4px; }
.uc-h4{ font-family:'JetBrains Mono', monospace; font-weight:400; font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); margin:18px 0 8px; }
.uc-head{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:6px; }
.uc-head h3{ margin:0; }
.uc-table{ min-width:640px; }
.uc-table tbody tr{ cursor:default; }
.uc-sub{ display:block; color:var(--ink-faint); font-size:.78rem; }
.uc-akcie{ white-space:nowrap; }
.uc-akcie .zk-btn-l{ margin-right:10px; }
.uc-edit{ margin-top:16px; scroll-margin-top:130px; }
.uc-radio{ display:flex; flex-direction:column; gap:8px; margin-bottom:10px; }
.uc-radio label{ display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border:1px solid var(--line); background:#fff; cursor:pointer; font-size:.9rem; }
.uc-radio input{ margin-top:3px; accent-color:var(--zk-akcent, var(--ink)); }
.uc-narrow{ max-width:480px; }
.uc-info p{ margin-top:10px; }
.uc-st-tools{ border-bottom:1px solid var(--line); margin-bottom:16px; }
.uc-presety{ display:flex; gap:14px; align-items:center; padding-bottom:8px; }
.uc-tiles{ display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:12px; margin-bottom:16px; }
.uc-tile{ background:#fff; border:1px solid var(--line); border-top:3px solid var(--zk-akcent, var(--ink)); padding:14px 16px; display:flex; flex-direction:column; gap:4px; }
.uc-tile span{ font-size:.8rem; color:var(--ink-soft); }
.uc-tile b{ font-family:'Fraunces', serif; font-weight:400; font-size:1.7rem; line-height:1.1; color:var(--ink); }
.uc-tile small{ font-size:.78rem; color:var(--ink-faint); }
.uc-st-grid{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; }
.uc-st-grid .zk-box{ margin:0; }
.uc-st-grid h3 small, .uc-h3b small{ font-family:'Work Sans', sans-serif; font-size:.74rem; color:var(--ink-faint); margin-left:6px; }
.uc-h3b{ margin-top:18px; }
.uc-cols{ display:flex; align-items:stretch; gap:6px; height:220px; padding-top:8px; overflow-x:auto; }
.uc-col{ flex:1 0 46px; display:flex; flex-direction:column; align-items:center; gap:4px; outline:none; }
.uc-col i{ flex:1; width:100%; max-width:42px; display:flex; align-items:flex-end; border-bottom:1px solid var(--line); }
.uc-col em{ display:block; width:100%; background:var(--zk-akcent, var(--ink)); border-radius:4px 4px 0 0; min-height:2px; transition:opacity .15s; }
.uc-col:hover em, .uc-col:focus em{ opacity:.75; }
.uc-col span{ font-size:.7rem; color:var(--ink-faint); white-space:nowrap; }
.uc-col b{ font-size:.66rem; font-weight:500; color:var(--ink-soft); white-space:nowrap; }
.uc-hbars{ display:flex; flex-direction:column; gap:8px; }
.uc-hb{ display:grid; grid-template-columns:minmax(90px, 160px) 1fr auto; gap:10px; align-items:center; font-size:.86rem; }
.uc-hb i, .uc-inl{ display:block; height:10px; background:transparent; }
.uc-hb em, .uc-inl em{ display:block; height:100%; background:var(--zk-akcent, var(--ink)); border-radius:0 4px 4px 0; min-width:2px; }
.uc-hb b{ font-weight:500; min-width:40px; text-align:right; }
.uc-inl{ height:6px; margin-top:6px; max-width:160px; }
@media (max-width: 980px){ .uc-grid, .uc-st-grid{ grid-template-columns:1fr; } }
@media (max-width: 560px){ .uc-form{ grid-template-columns:1fr; } }
.q-zak-sel{ margin-top:2px; }
.q-zak-sel option{ color:var(--ink); }
#qPobWrap{ margin-top:12px; }

/* správa – zákazníci */
.sp-prepinac{ display:inline-flex; margin-bottom:18px; border:1px solid var(--zk-akcent); border-radius:2px; overflow:hidden; }
.sp-prepinac button{ background:#fff; border:none; padding:10px 22px; font:inherit; font-size:.92rem; cursor:pointer; color:var(--zk-akcent); }
.sp-prepinac button.is-on{ background:var(--zk-akcent); color:#fff; }
.sp-badge{ display:inline-block; min-width:20px; padding:1px 7px; border-radius:10px; background:#C2410C; color:#fff; font-size:.72rem; font-weight:600; text-align:center; }
.sp-zmena b{ background:#FFF1D6; padding:0 4px; }
.sp-zmena b small{ display:block; font-weight:400; color:var(--ink-faint); font-size:.74rem; }
.sp-zmeny{ list-style:none; padding:0; margin:0; font-size:.82rem; max-height:260px; overflow:auto; }
.sp-zmeny li{ padding:6px 0; border-bottom:1px dashed var(--line); color:var(--ink-soft); }
.sp-zmeny li.is-nove{ border-left:3px solid #C2410C; padding-left:8px; }
.sp-zmeny li small{ display:block; color:var(--ink-faint); }
.sp-zmeny .mono{ font-size:.7rem; color:var(--ink-faint); }
.sp-id{ white-space:nowrap; }
.sp-id input{ width:130px; font-family:'JetBrains Mono', monospace; font-size:.82rem; border:1px solid var(--line); padding:6px 8px; margin-right:8px; }
.sp-id input.is-miss{ border-color:#B3261E; background:#FDF1EF; }
.sp-pob{ font-size:.86rem; margin-bottom:8px; padding:6px 10px; background:var(--zk-akcent-svetly); }
.sp-fakt{ font-size:.84rem; margin-bottom:10px; padding:8px 10px; background:#FFF1D6; }

/* správa – zálohy */
.sp-zaloha-pas{ display:flex; align-items:center; gap:14px; padding:14px 18px; margin-bottom:16px; background:#FFF1D6; border:1px solid #E7B66A; border-left:5px solid #C2410C; font-size:.92rem; }
.sp-zaloha-pas > span:nth-child(2){ flex:1; }
.sp-zaloha-pas .zk-btn{ background:#C2410C; color:#fff; border-color:#C2410C; white-space:nowrap; }
.sp-zp-ik{ display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:#C2410C; color:#fff; font-weight:700; flex:none; }
.sp-zal-pr{ margin:12px 0 4px; }
@media (max-width: 640px){ .sp-zaloha-pas{ flex-wrap:wrap; } }
.sp-zaloha-pas[hidden], .sp-badge[hidden], .zk-import[hidden]{ display:none !important; }

/* Správa – časti exportu (d.xlsx pre makro Prenos) */
.sp-casti{ margin-top:16px; }
.sp-casti h4{ margin:0 0 8px; font-size:.78rem; }
.sp-casti ul{ list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.sp-casti li{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:8px 10px; border:1px solid var(--line); border-left:3px solid var(--zk-akcent, currentColor); font-size:.8rem; }
.sp-casti li.ok{ border-left-color:var(--line); opacity:.85; }
.sp-casti li small{ display:block; opacity:.7; font-size:.72rem; margin-top:2px; }
.sp-casti li > span{ flex:1 1 140px; min-width:0; }
.sp-casti .zk-btn{ flex:none; padding:7px 12px; font-size:.7rem; }

/* ===== Dostupnosť ponuky (sprava.html → Ponuka; v kalkulácii skryté vypnuté možnosti) ===== */
.is-vyp{ display:none !important; }
.sp-prepinac{ flex-wrap:wrap; }
.sp-dost > p{ color:var(--ink-faint); font-size:.92rem; max-width:70ch; margin-bottom:16px; }
.sp-dost-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:14px; }
.sp-dost-sk{ border:1px solid var(--line); background:#fff; padding:12px 14px 10px; margin:0; min-width:0; }
.sp-dost-sk legend{ padding:0 6px; margin-left:-6px; font-weight:600; font-size:.92rem; }
.sp-dost-sk .chk{ display:flex; align-items:center; gap:10px; padding:5px 0; font-size:.92rem; cursor:pointer; }
.sp-dost-sk .chk input:not(:checked) + span{ color:var(--ink-faint); text-decoration:line-through; }
.sp-dost-sk small{ display:block; margin-top:4px; font-size:.76rem; color:var(--ink-faint); }
.sp-dost-sk.is-prazdna{ border-color:#C2410C; }
.sp-dost-sk.is-prazdna small{ color:#C2410C; }
.sp-dost-pata{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-top:18px; }
.sp-dost-kto{ color:var(--ink-faint); font-size:.86rem; }
.sp-dost-pata .zk-btn-dark{ width:auto; margin-left:auto; padding:11px 22px; }
@media (max-width:560px){ .sp-dost-pata .zk-btn-dark{ width:100%; margin-left:0; } }

/* skratka „Export pre VL – kontrola cien“ (cenová ponuka) */
.q-kontrola{ margin-top:14px; padding-top:12px; border-top:1px dashed rgba(246,244,238,.25); }
.q-kontrola[hidden]{ display:none !important; }
.q-kontrola .sum-btn{ margin-top:0; }
.q-kontrola .sum-btn:disabled{ opacity:.5; cursor:default; }
.q-kontrola-kam{ font-size:.78rem; color:rgba(246,244,238,.6); margin-top:8px; line-height:1.45; }
.q-kontrola-kam b{ color:rgba(246,244,238,.85); font-weight:500; }
.q-kontrola-l{ background:none; border:none; padding:0; font:inherit; color:var(--wood-light); text-decoration:underline; cursor:pointer; }
.q-kontrola-casti{ display:flex; flex-direction:column; gap:4px; margin-top:8px; }
.q-kontrola-casti .q-kontrola-l{ text-align:left; }
.q-kontrola-casti small{ color:rgba(246,244,238,.6); }
.q-kontrola-upoz{ display:block; margin-top:6px; color:#F2A49B; }
/* Správa → Voľby */
.sp-volby{ max-width:820px; }
.sp-volba{ display:flex; align-items:flex-start; gap:12px; padding:12px 0; cursor:pointer; }
.sp-volba input{ margin-top:4px; width:18px; height:18px; flex:none; accent-color:var(--zk-akcent, var(--ink)); }
.sp-volba > span:first-of-type{ flex:1; }
.sp-volba small{ display:block; margin-top:4px; color:var(--ink-soft); line-height:1.5; }
.sp-volba-st{ flex:none; font-size:.78rem; padding:3px 10px; border-radius:2px; background:#ECEAE4; color:var(--ink-soft); }
.sp-volba-st.is-on{ background:#DCE7D5; color:#2F5126; }


/* ---------- Ochrana osobných údajov, právne informácie (12. 10. 2026) ---------- */
.legal{ padding:40px 0 96px; }
.legal-wrap{ display:grid; grid-template-columns:220px minmax(0,1fr); gap:56px; align-items:start; }
.legal-toc{ position:sticky; top:110px; display:flex; flex-direction:column; gap:10px; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; }
.legal-toc a{ color:var(--ink-soft); text-decoration:none; }
.legal-toc a:hover{ color:var(--oxblood); }
.legal-body{ max-width:860px; min-width:0; }
.legal-body h2{ font-family:'Fraunces', serif; font-weight:400; font-size:1.7rem; margin:44px 0 14px; scroll-margin-top:110px; }
.legal-body h2:first-of-type{ margin-top:8px; }
.legal-body p, .legal-body li{ color:var(--ink-soft); line-height:1.65; }
.legal-body p{ margin:0 0 14px; }
.legal-body ul{ margin:0 0 14px 1.2em; }
.legal-body a{ color:var(--oxblood); }
.legal-meta{ font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); }
.legal-dl{ display:grid; grid-template-columns:150px 1fr; gap:6px 18px; margin:0 0 18px; padding:18px 20px; border:1px solid var(--line); }
.legal-dl dt{ font-family:'JetBrains Mono', monospace; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); padding-top:3px; }
.legal-dl dd{ margin:0; color:var(--ink); }
.legal-doplnit{ color:#B3261E; font-weight:600; }
.legal-tw{ overflow-x:auto; margin:0 0 18px; }
.legal-table{ width:100%; border-collapse:collapse; font-size:.88rem; min-width:640px; }
.legal-table th{ font-family:'JetBrains Mono', monospace; font-weight:400; font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); text-align:left; padding:0 12px 10px 0; border-bottom:1px solid var(--ink); }
.legal-table td{ vertical-align:top; padding:12px 12px 12px 0; border-bottom:1px solid var(--line); color:var(--ink-soft); line-height:1.5; }
.legal-table td:first-child{ color:var(--ink); }
@media (max-width: 900px){
  .legal-wrap{ grid-template-columns:minmax(0,1fr); gap:24px; }
  .legal-toc{ position:static; flex-direction:row; flex-wrap:wrap; gap:8px 16px; }
  .legal-dl{ grid-template-columns:1fr; gap:2px; }
  .legal-dl dd{ margin-bottom:8px; }
}
.footer-legal{ margin-top:14px; padding-top:14px; border-top:1px solid rgba(246,244,238,.12); font-size:.72rem; line-height:1.7; opacity:.7; }
.footer-legal a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
.form-privacy{ font-size:.78rem; line-height:1.55; color:var(--ink-faint); margin:14px 0 0; }
.form-privacy a{ color:inherit; text-decoration:underline; text-underline-offset:2px; }

/* ---------- Dopyt z kontaktného formulára (12. 10. 2026) ---------- */
.dopyt-priloha{ display:flex; align-items:center; justify-content:space-between; gap:14px; background:rgba(185,132,82,.18); border-left:2px solid var(--wood-light); padding:12px 14px; color:var(--paper); }
.dopyt-priloha .mono{ display:block; font-size:.62rem; letter-spacing:.14em; color:var(--wood-light); margin-bottom:3px; }
.dopyt-priloha b{ display:block; font-weight:500; }
.dopyt-priloha small{ display:block; font-size:.8rem; opacity:.75; margin-top:2px; }
.dopyt-priloha-x{ background:none; border:1px solid rgba(246,244,238,.3); color:var(--paper); width:30px; height:30px; flex-shrink:0; cursor:pointer; font-size:1.1rem; line-height:1; }
.dopyt-priloha-x:hover{ border-color:var(--paper); }
.field-hp{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.dopyt-msg{ font-size:.9rem; line-height:1.5; margin:14px 0 0; padding:10px 12px; border-left:2px solid currentColor; }
.dopyt-msg.is-ok{ color:#9FD8A4; }
.dopyt-msg.is-err{ color:#FF8A80; }
.form-submit:disabled{ opacity:.55; cursor:wait; }
.sp-dopyty td{ vertical-align:top; }
.sp-dopyt-txt{ max-width:360px; font-size:.86rem; line-height:1.45; }
.sp-dopyt-txt details{ margin-top:6px; }
.sp-dopyt-txt summary{ cursor:pointer; color:var(--ink-faint); font-size:.78rem; }
.sp-dopyt-txt pre{ white-space:pre-wrap; font-size:.74rem; line-height:1.4; margin:6px 0 0; }
.sp-dopyty .zk-btn-l{ display:block; margin-bottom:2px; }
.sp-dopyt-vyb{ white-space:nowrap; font-size:.82rem; cursor:pointer; }

/* ===== katalóg: kolekcia / dekor mimo ponuky („Pripravujeme“) ===== */
.pick.is-pripravujeme{ cursor:not-allowed; }
.pick.is-pripravujeme .pick-img{ opacity:.45; filter:grayscale(.7); }
.pick.is-pripravujeme:hover .pick-img img{ transform:none; }
.pick.is-pripravujeme .pick-t{ color:var(--ink-faint); }
.sw-radio{ flex-wrap:wrap; row-gap:12px; }
.sw-radio label.is-pripravujeme{ cursor:not-allowed; opacity:.5; }
.sw-radio .sw-t small{ font-family:'JetBrains Mono', monospace; font-size:.62rem; color:var(--ink-faint); }
.coll-card-link.is-pripravujeme .coll-image img{ filter:grayscale(.5); opacity:.8; }
.coll-card-link.is-pripravujeme .coll-status{ color:var(--ink-faint); }
span.text-link.is-pripravujeme{ color:var(--ink-faint); cursor:default; }
.sp-kontrola{ margin:0 0 18px; padding:12px 16px; border:1px solid #b3261e; background:#fdf1f0; color:#b3261e; }
.sp-kontrola h4{ margin:0 0 6px; font-size:.95rem; }
.sp-kontrola ul{ margin:0; padding-left:18px; font-size:.86rem; }
.sp-kontrola.is-ok{ border-color:#2e7d32; background:#f1f8f1; color:#2e7d32; }

/* skrytá kolekcia: menej kariet v prehľade – rovnaká veľkosť kariet, vycentrované */
@media (min-width:981px){
  .collections-grid[style*="--n"]{ grid-template-columns:repeat(var(--n), 1fr); max-width:calc((100% + 28px) * var(--n) / 3 - 28px); margin-left:auto; margin-right:auto; }
}

/* zárubňa s rozšírením: názov zostavy (F220) + skladba (F130 + R90) */
.range-table td.cfg small{ color:var(--ink-faint); font-size:.8em; white-space:nowrap; }
.calc-out .res .res-skladba{ display:block; font-size:.42em; margin-top:6px; letter-spacing:.02em; }

/* maloobchod len Košice a okolie do 20 km (partnerom sa neukazuje) */
body.is-b2b .len-b2c{ display:none !important; }
.oblast-info{ margin-top:22px; max-width:640px; padding:12px 16px; border-left:3px solid var(--oxblood); background:rgba(122,40,32,.06); font-size:.92rem; line-height:1.55; color:var(--ink-soft); }
.oblast-info b{ color:var(--ink); }
.oblast-info a{ color:var(--oxblood); text-decoration:underline; }
.sum-oblast{ margin-bottom:4px; }
.q-km-var{ margin-top:8px; color:#F2A49B !important; font-weight:600; }
.q-km-var a{ color:inherit; text-decoration:underline; }

/* Správa → Dopyty: predpripravené odpovede */
.sp-odp-top{ margin:0 0 12px; }
.sp-odp-btn{ display:inline-block; margin-top:6px; }
.sp-odp-hist{ color:#2e7d32; }
.sp-odp-row > td{ background:var(--bg-warm); }
.sp-odp{ display:grid; gap:10px; max-width:820px; padding:6px 0; }
.sp-odp label{ display:grid; gap:4px; font-size:.82rem; }
.sp-odp label.chk{ display:flex; }
.sp-odp input[type=text], .sp-odp select, .sp-odp textarea, .sp-odp-edit input[type=text], .sp-odp-edit textarea{ width:100%; font:inherit; font-size:.9rem; padding:7px 9px; border:1px solid var(--line); background:#fff; box-sizing:border-box; }
.sp-odp textarea, .sp-odp-edit textarea{ font-family:inherit; line-height:1.45; resize:vertical; }
.sp-odp-akcie{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.sp-odp-msg{ font-size:.85rem; color:#2e7d32; }
.sp-odp-msg.is-err{ color:#b3261e; }
.sp-odp-edit .sp-odp-sab{ display:grid; gap:6px; padding:12px 0; border-bottom:1px solid var(--line); }
.sp-odp-sab-h{ display:flex; gap:10px; align-items:center; }
.sp-odp-sab-h input{ font-weight:600; }
.sp-odp-podpis{ display:grid; gap:4px; margin-top:14px; font-size:.82rem; }
.sp-odp-akcie .zk-btn{ width:auto; flex:0 0 auto; margin:0; }

/* Správa → Zákazníci: úpravy správcom */
.sp-u-akcie{ display:flex; flex-wrap:wrap; gap:14px; margin-top:8px; }
.sp-u-zmaz{ color:#b3261e !important; }
.sp-u-stav{ margin:6px 0 0; font-size:.82rem; font-weight:600; color:#b3261e; }
.sp-u-upr{ float:right; font-size:.78rem; font-weight:400; }
.sp-u-riadok{ white-space:nowrap; }
.sp-u-riadok .zk-btn-l + .zk-btn-l{ margin-left:10px; }
.sp-u-form{ margin:0 0 18px; border-left:4px solid var(--zk-akcent, var(--ink)); }
.sp-u-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(210px, 1fr)); gap:10px 14px; margin:8px 0 12px; }
.sp-u-grid label, .sp-u-fakt{ display:grid; gap:4px; font-size:.78rem; color:var(--ink-faint); }
.sp-u-grid input, .sp-u-grid .sel, .sp-u-fakt .sel{ font:inherit; font-size:.9rem; color:var(--ink); padding:7px 9px; border:1px solid var(--line); background:#fff; width:100%; box-sizing:border-box; }
.sp-u-fakt{ max-width:320px; margin:10px 0 4px; }

/* ---------- výraznejší horný pás B2B a Správy (15. 10. 2026) – vyšší, väčšie písmo, voľby ako tlačidlá ---------- */
.b2b-bar, .rozhr-pas{ height:48px; font-size:.95rem; box-shadow:0 2px 10px rgba(0,0,0,.22); border-bottom:2px solid rgba(255,255,255,.22); }
.b2b-bar .wrap, .rozhr-pas .wrap{ height:48px; gap:10px; }
.b2b-bar-t{ font-weight:500; }
.b2b-bar-t b, .rozhr-znak{ display:inline-block; font-family:'JetBrains Mono', monospace; font-size:.8rem; font-weight:700; letter-spacing:.14em;
  background:#fff; color:var(--oxblood); padding:4px 10px; border-radius:3px; margin-right:10px; }
.rozhr-znak{ color:var(--zk-akcent); margin-right:0; }
.rozhr-t{ font-weight:500; }
.rozhr-kto{ opacity:1; font-weight:600; }
.b2b-bar a, .b2b-bar button{ text-decoration:none; font-weight:600; padding:7px 14px; border:1px solid rgba(255,255,255,.55); border-radius:3px; line-height:1.1;
  transition:background .15s ease, color .15s ease; }
.b2b-bar a:hover, .b2b-bar button:hover, .b2b-bar a:focus-visible, .b2b-bar button:focus-visible{ background:#fff; color:var(--oxblood); }
.b2b-bar a[aria-current="page"]{ background:#fff; color:var(--oxblood); }
.b2b-bar button{ border-color:transparent; opacity:.9; }
body.is-b2b, .rozhranie-sprava{ padding-top:48px; }
body.is-b2b header, .rozhranie-sprava header{ top:48px; }
@media (max-width: 640px){
  .b2b-bar a, .b2b-bar button{ padding:6px 9px; font-size:.85rem; }
  .b2b-bar-t{ min-width:0; }
}

/* ---------- B2B a Správa: kompaktný nadpis stránky (15. 10. 2026) – jeden riadok, menšie písmo, menej miesta ---------- */
.rozhranie-partner .page-hero, .rozhranie-sprava .page-hero{ padding:128px 0 26px; }
.rozhranie-partner .page-hero .breadcrumb, .rozhranie-sprava .page-hero .breadcrumb{ margin-bottom:14px; }
.rozhranie-partner .page-hero h1, .rozhranie-sprava .page-hero h1{ font-size:clamp(1.6rem, 2.4vw, 2.05rem); line-height:1.15; }
.rozhranie-partner .page-hero h1 br, .rozhranie-sprava .page-hero h1 br{ display:none; }
.rozhranie-partner .page-hero h1 em::before, .rozhranie-sprava .page-hero h1 em::before{ content:' '; }
.rozhranie-partner .page-hero .rozhr-stitok, .rozhranie-sprava .page-hero .rozhr-stitok{ margin:0 0 10px; }
.rozhranie-partner .page-hero p.lead, .rozhranie-sprava .page-hero p.lead{ font-size:.95rem; margin-top:10px; max-width:720px; }

/* ---------- farba zákazky podľa štádia (15. 10. 2026) – riadok v zozname aj detail, B2B aj Správa ----------
   ponuka = béžová · objednávka = jantárová · odoslané do výroby (čaká na spracovanie) = červenkastá ·
   prijaté / vo výrobe / pripravené = zelená · expedované / fakturované / zaplatené = modrá · zrušené = sivá */
.zk-table tbody tr[class*="st-"] td:first-child{ box-shadow:inset 5px 0 0 var(--st-pas, transparent); }
.zk-table tbody tr[class*="st-"]{ background:var(--st-bg, transparent); }
.st-ponuka{ --st-bg:#FBF8F1; --st-pas:#C9BCA6; }
.st-objednavka{ --st-bg:#FBF0DA; --st-pas:#D9A441; }
.st-potvrdene{ --st-bg:#FBE6E1; --st-pas:#B5473A; }
.st-importovane, .st-vo_vyrobe, .st-pripravene{ --st-bg:#E7F0E1; --st-pas:#5E8C4F; }
.st-expedovane, .st-fakturovane, .st-zaplatene, .st-hotove{ --st-bg:#E3ECF3; --st-pas:#4F7596; }
.st-zrusene{ --st-bg:#EEEBE7; --st-pas:#A49A8E; }
.zk-table tbody tr[class*="st-"]:hover, .zk-table tbody tr[class*="st-"]:focus{ background:var(--st-bg); filter:brightness(.97); }
.zk-table tbody tr[class*="st-"].is-on{ background:var(--st-bg); filter:none; box-shadow:inset 0 0 0 2px var(--zk-akcent, var(--oxblood)); }
.zk-detail[data-stav="ponuka"]{ --st-bg:#FBF8F1; --st-pas:#C9BCA6; }
.zk-detail[data-stav="objednavka"]{ --st-bg:#FBF0DA; --st-pas:#D9A441; }
.zk-detail[data-stav="potvrdene"]{ --st-bg:#FBE6E1; --st-pas:#B5473A; }
.zk-detail[data-stav="importovane"], .zk-detail[data-stav="vo_vyrobe"], .zk-detail[data-stav="pripravene"]{ --st-bg:#E7F0E1; --st-pas:#5E8C4F; }
.zk-detail[data-stav="expedovane"], .zk-detail[data-stav="fakturovane"], .zk-detail[data-stav="zaplatene"], .zk-detail[data-stav="hotove"]{ --st-bg:#E3ECF3; --st-pas:#4F7596; }
.zk-detail[data-stav="zrusene"]{ --st-bg:#EEEBE7; --st-pas:#A49A8E; }
.zk-detail[data-stav]{ background:var(--st-bg, var(--paper)); border-top-color:var(--st-pas, var(--line)); border-top-width:7px; }
@media print{ .zk-table tbody tr[class*="st-"], .zk-detail[data-stav]{ background:#fff !important; } }

/* ---------- poradie položiek a limit 32 položiek pre výrobu (15. 10. 2026) ---------- */
.qi-head{ grid-template-columns:58px 1fr auto; align-items:start; }
.qi-n{ display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:46px; padding:6px 4px 5px; border-radius:4px;
  background:var(--ink); color:var(--paper); font-size:1.15rem; font-weight:700; line-height:1; }
.qi-n small{ font-size:.6rem; font-weight:500; letter-spacing:.02em; margin-top:4px; opacity:.8; white-space:nowrap; }
.zk-p-head > .zk-p-n{ display:inline-flex; flex-direction:column; align-items:center; min-width:42px; padding:5px 4px; border-radius:4px;
  background:var(--ink); color:var(--paper); font-size:1rem; font-weight:700; line-height:1; align-self:flex-start; }
.zk-p-head > .zk-p-n small{ font-size:.58rem; font-weight:500; margin-top:3px; color:inherit; opacity:.8; white-space:nowrap; }
#qVyr.is-err{ color:#FF9C8F; font-weight:700; }
.q-add.is-plna{ display:block; border:1px solid #B3261E; color:#B3261E; background:#FBE6E1; padding:10px 14px; border-radius:3px; cursor:default; }
.sum-btn:disabled{ opacity:.45; cursor:not-allowed; }
.sum-btn:disabled:hover{ background:var(--paper); }
@media print{ .qi-n, .zk-p-head > .zk-p-n{ background:none; color:#000; border:1px solid #000; } }

/* ---------- výraznejšie Označenie zákazky v cenovej ponuke (15. 10. 2026) ---------- */
label.q-zak-l[for="qRef"]{ font-size:.78rem; font-weight:700; letter-spacing:.14em; color:var(--wood-light); margin:6px 0 8px; }
#qRef{ background:var(--paper); color:var(--ink); border:2px solid var(--wood-light); border-radius:3px; padding:11px 13px; font-size:1.08rem; font-weight:500; }
#qRef::placeholder{ color:#9A9086; font-weight:400; }
#qRef:focus{ border-color:#fff; box-shadow:0 0 0 3px rgba(185,132,82,.45); }

/* ---------- farby štádií (15. 10. 2026): Vo výrobe = modrá, Hotové = zelená ---------- */
.st-vo_vyrobe, .zk-detail[data-stav="vo_vyrobe"]{ --st-bg:#E3ECF3; --st-pas:#4F7596; }
.st-hotove, .zk-detail[data-stav="hotove"]{ --st-bg:#E7F0E1; --st-pas:#5E8C4F; }
.zk-s-vo_vyrobe{ background:#D6E1EA; color:#24425A; }
.zk-s-hotove{ background:#DCE7D5; color:#2F5126; }

/* ---------- záložky zákaziek vo farbách štádií (15. 10. 2026) – jemné pozadie + farebný pruh, aktívna plnou farbou ---------- */
.zk-tabs button[data-f="rozpracovane"]{ --t-bg:#FBF8F1; --t-pas:#B9A98E; --t-tx:#6B5D47; }
.zk-tabs button[data-f="odoslane"], .zk-tabs button[data-f="cakajuce"]{ --t-bg:#FBEDEA; --t-pas:#B5473A; --t-tx:#8C3830; }
.zk-tabs button[data-f="vyroba"], .zk-tabs button[data-f="vo_vyrobe"]{ --t-bg:#EAF0F5; --t-pas:#4F7596; --t-tx:#24425A; }
.zk-tabs button[data-f="hotove"]{ --t-bg:#ECF3E7; --t-pas:#5E8C4F; --t-tx:#2F5126; }
.zk-tabs button[style], .zk-tabs button[data-f="rozpracovane"], .zk-tabs button[data-f="odoslane"], .zk-tabs button[data-f="cakajuce"],
.zk-tabs button[data-f="vyroba"], .zk-tabs button[data-f="vo_vyrobe"], .zk-tabs button[data-f="hotove"]{
  background:var(--t-bg); color:var(--t-tx); border-color:color-mix(in srgb, var(--t-pas) 35%, transparent);
  box-shadow:inset 3px 0 0 var(--t-pas); transition:background .15s ease, color .15s ease, border-color .15s ease; }
.zk-tabs button[data-f="rozpracovane"]:hover, .zk-tabs button[data-f="odoslane"]:hover, .zk-tabs button[data-f="cakajuce"]:hover,
.zk-tabs button[data-f="vyroba"]:hover, .zk-tabs button[data-f="vo_vyrobe"]:hover, .zk-tabs button[data-f="hotove"]:hover{
  border-color:var(--t-pas); color:var(--t-tx); }
.zk-tabs button[data-f="rozpracovane"].is-on, .zk-tabs button[data-f="odoslane"].is-on, .zk-tabs button[data-f="cakajuce"].is-on,
.zk-tabs button[data-f="vyroba"].is-on, .zk-tabs button[data-f="vo_vyrobe"].is-on, .zk-tabs button[data-f="hotove"].is-on{
  background:var(--t-pas); border-color:var(--t-pas); color:#fff; box-shadow:none; }

/* ---------- staršia rozpracovaná ponuka (maloobchod) ---------- */
.q-stara{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin:0 0 18px; padding:12px 16px; border:1px solid var(--wood-light); border-left-width:4px; background:#FBF6EE; border-radius:3px; }
.q-stara[hidden]{ display:none; }
.q-stara span{ flex:1; min-width:220px; font-size:.95rem; }

/* ---------- OZNAMY: vyskakovacie okno (15. 10. 2026) ---------- */
.oznam-dlg{ border:none; padding:0; max-width:520px; width:calc(100% - 32px); border-radius:6px; box-shadow:0 20px 60px rgba(0,0,0,.35); background:var(--paper); color:var(--ink); }
.oznam-dlg::backdrop{ background:rgba(26,22,18,.55); }
.oznam-in{ padding:30px 32px 28px; border-top:6px solid var(--oxblood); }
.oznam-in h2{ font-size:1.45rem; line-height:1.25; margin:6px 0 4px; }
.oznam-t{ font-size:1.05rem; line-height:1.6; margin:14px 0 22px; }
.oznam-chk{ display:flex; align-items:center; gap:10px; font-weight:600; margin-bottom:18px; cursor:pointer; }
.oznam-chk input{ width:20px; height:20px; accent-color:var(--oxblood); }
.oznam-ok{ width:100%; border:none; cursor:pointer; }
.oznam-ok:disabled{ opacity:.4; cursor:not-allowed; }
/* Správa → Oznamy */
.sp-oz-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:16px; align-items:start; margin-bottom:16px; }
@media (max-width:900px){ .sp-oz-grid{ grid-template-columns:1fr; } }
.sp-oz-l{ display:flex; flex-direction:column; gap:4px; margin-bottom:10px; font-family:'JetBrains Mono', monospace; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); }
.sp-oz-l input, .sp-oz-l textarea, .sp-oz-l select{ font-family:'Work Sans', sans-serif; font-size:.95rem; letter-spacing:0; text-transform:none; color:var(--ink); padding:8px 10px; border:1px solid var(--line); background:#fff; border-radius:2px; }
.sp-oz-row{ display:grid; grid-template-columns:1.4fr 1fr .6fr; gap:10px; }
.sp-oz-akt{ margin:6px 0 12px; }
.sp-oz-txt{ white-space:pre-line; font-size:.88rem; color:var(--ink-soft); }
.sp-oz-pot{ margin:6px 0 0 16px; font-size:.82rem; }
.sp-oz-sabl{ list-style:none; padding:0; margin:0 0 16px; }
.sp-oz-sabl li{ display:flex; gap:12px; justify-content:space-between; align-items:flex-start; padding:9px 0; border-bottom:1px solid var(--line); }
.sp-oz-sabl li div{ display:flex; flex-direction:column; gap:2px; font-size:.86rem; }
.sp-oz-sabl li div span{ color:var(--ink-soft); white-space:pre-line; }
.sp-oz-sab h4{ margin:4px 0 8px; font-size:1rem; }

.oznam-in{ position:relative; }
.oznam-x{ position:absolute; top:10px; right:12px; width:36px; height:36px; border:none; background:none; font-size:1.7rem; line-height:1; color:var(--ink-soft); cursor:pointer; border-radius:50%; }
.oznam-x:hover{ background:rgba(0,0,0,.06); color:var(--ink); }

/* kompaktný nadpis stránky Pre partnerov (menší, jeden riadok, aj na mobile) */
.page-hero.hero-mala{ padding:120px 0 22px; }
.page-hero.hero-mala .breadcrumb{ margin-bottom:12px; }
.page-hero.hero-mala h1{ font-size:clamp(1.5rem, 2.2vw, 1.9rem); line-height:1.15; }
.page-hero.hero-mala h1 br{ display:none; }
.page-hero.hero-mala h1 em::before{ content:' '; }
@media (max-width: 980px){ .page-hero.hero-mala{ padding:96px 0 16px; } }

/* tlač: okraj 12 mm na každej strane každej stránky – nezávisle od nastavenia okrajov v dialógu tlače */
@media print{
  @page{ margin:0; }
  html, body{ background:#fff !important; }
  body{ padding:12mm !important; margin:0 !important; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
}

/* označenie položky (napr. „Spálňa“) za názvom modelovej rady */
.qi-oznac{ font-family:'Fraunces', Georgia, serif; font-style:italic; font-weight:400; font-size:.92em; letter-spacing:0; color:var(--oxblood); margin-left:.3em; white-space:nowrap; }
.qi-oznac .qi-sep{ font-style:normal; font-weight:300; color:var(--ink-faint); margin-right:.35em; }
@media print{ .qi-oznac{ color:#000; } }

/* počet × cena (napr. „3 ks × −5,00 €“) sa nikdy nerozdelí na dva riadky */
.q-sluzby small, .zk-sl small, .rz small, .rz-sub td, .qx, .sum-lines .q{ white-space:nowrap; }

/* hlavné menu: položky sa nelámu do dvoch riadkov; na užších obrazovkách menšie medzery */
header nav a{ white-space:nowrap; }
@media (min-width: 981px) and (max-width: 1180px){ header nav ul{ gap:22px; } }
@media (min-width: 981px) and (max-width: 1060px){ header nav ul{ gap:16px; } header nav a{ font-size:.84rem; } }

/* úvodná sekcia stránok (nadpis + text): kompaktnejšia, jednotne menší nadpis */
.page-hero{ padding:122px 0 40px; }
.page-hero .breadcrumb{ margin-bottom:14px; }
.page-hero h1{ font-size:clamp(1.85rem, 3.1vw, 2.6rem); line-height:1.1; }
.page-hero p.lead{ font-size:1rem; margin-top:14px; max-width:600px; }
@media (max-width: 980px){
  .page-hero{ padding:100px 0 28px; }
  .page-hero h1{ font-size:clamp(1.65rem, 6.4vw, 2.1rem); }
}

.page-hero p.lead a{ color:var(--oxblood); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.page-hero p.lead a:hover{ text-decoration-thickness:2px; }

.info-line .v a{ color:inherit; text-decoration:none; border-bottom:1px solid transparent; transition:border-color .2s, color .2s; }
.info-line .v a:hover{ border-bottom-color:currentColor; }

/* ===== PREDAJNÉ MIESTA (predajne-miesta.html) ===== */
.pm-sec{ padding:34px 0 90px; }
.pm-form{ max-width:760px; }
.pm-hladaj{ display:grid; grid-template-columns:1fr auto; gap:6px 12px; align-items:end; }
.pm-hladaj label{ grid-column:1 / -1; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); }
.pm-input{ position:relative; }
.pm-input input{ width:100%; font:inherit; font-size:1.05rem; padding:13px 14px; border:1px solid var(--line); border-radius:2px; background:var(--paper); color:var(--ink); }
.pm-input input:focus{ outline:none; border-color:var(--ink-soft); }
.pm-hladaj .btn-primary{ padding:14px 26px; border:none; cursor:pointer; }
.pm-navrhy{ position:absolute; left:0; right:0; top:calc(100% + 2px); z-index:20; list-style:none; background:var(--paper); border:1px solid var(--line); box-shadow:0 10px 26px rgba(31,27,22,.12); max-height:320px; overflow:auto; }
.pm-navrhy li{ display:flex; justify-content:space-between; gap:12px; padding:9px 14px; cursor:pointer; font-size:.95rem; }
.pm-navrhy li small{ color:var(--ink-faint); font-size:.78rem; white-space:nowrap; }
.pm-navrhy li:hover, .pm-navrhy li.is-akt{ background:var(--bg-warm); }
.pm-chk{ margin-top:14px; }
.pm-msg{ max-width:760px; margin-top:22px; padding:12px 15px; border-left:3px solid var(--ink-soft); background:var(--paper); font-size:.93rem; }
.pm-msg.is-err{ border-left-color:#B3261E; color:#8E1F18; background:#FBEDEB; }
.pm-msg a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
.pm-vysledky{ max-width:760px; margin-top:28px; }
.pm-nadpis{ font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:10px; }
.pm-karta{ display:grid; grid-template-columns:78px 1fr; gap:18px; padding:20px 0; border-top:1px solid var(--line); }
.pm-karta:last-child{ border-bottom:1px solid var(--line); }
.pm-km{ text-align:center; padding-top:2px; }
.pm-km b{ display:block; font-family:'Fraunces', serif; font-weight:400; font-size:1.9rem; line-height:1; color:var(--oxblood); }
.pm-km span{ font-family:'JetBrains Mono', monospace; font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); }
.pm-telo h3{ font-family:'Fraunces', serif; font-weight:500; font-size:1.3rem; line-height:1.2; }
.pm-typ{ color:var(--ink-soft); font-size:.88rem; margin-top:2px; }
.pm-sluzby{ list-style:none; display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 4px; }
.pm-sluzby li{ font-family:'JetBrains Mono', monospace; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; padding:3px 8px; border:1px solid var(--line); border-radius:2px; color:var(--ink-soft); }
.pm-adr, .pm-kont, .pm-hod{ font-size:.93rem; margin-top:6px; }
.pm-kont{ display:flex; flex-wrap:wrap; gap:4px 10px; }
.pm-kont span{ color:var(--ink-faint); }
.pm-kont a, .pm-mapa{ color:var(--oxblood); text-decoration:none; border-bottom:1px solid transparent; }
.pm-kont a:hover, .pm-mapa:hover{ border-bottom-color:currentColor; }
.pm-hod{ color:var(--ink-soft); }
.pm-mapa{ display:inline-block; margin-top:8px; font-size:.82rem; }
.pm-vyrobca .pm-telo h3::after{ content:'VÝROBCA'; margin-left:10px; vertical-align:3px; font-family:'JetBrains Mono', monospace; font-size:.6rem; letter-spacing:.12em; padding:2px 7px; background:var(--oxblood); color:var(--paper); border-radius:2px; }
.pm-pozn{ max-width:760px; margin-top:16px; font-size:.78rem; color:var(--ink-faint); }
.pm-pozn a{ color:inherit; }
@media (max-width: 560px){
  .pm-hladaj{ grid-template-columns:1fr; }
  .pm-hladaj .btn-primary{ width:100%; }
  .pm-karta{ grid-template-columns:58px 1fr; gap:12px; }
  .pm-km b{ font-size:1.5rem; }
}
/* Správa → Predajné miesta */
.pm-edit-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 14px; margin-top:10px; }
.pm-edit-2{ display:grid; grid-template-columns:.45fr 1fr; gap:10px; }
.pm-edit-sl{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 18px; margin:4px 0 12px; }
.pm-edit-sl .sp-oz-l{ margin:0; width:100%; }
.pm-edit-sl .chk{ margin-top:0; }
.pm-tools{ display:flex; gap:10px; flex-wrap:wrap; }
.pm-tools input{ flex:1; min-width:200px; font:inherit; padding:8px 10px; border:1px solid var(--line); background:#fff; border-radius:2px; }
.pm-pocet{ margin:8px 0 4px; }
.pm-tab tr.pm-on td{ background:rgba(220,231,213,.45); }
.pm-sw input{ width:18px; height:18px; accent-color:var(--zk-akcent, var(--ink)); cursor:pointer; }
.pm-zle{ color:#B3261E; font-size:.88rem; }
.pm-sl{ font-size:.75rem; white-space:nowrap; }
@media (max-width: 760px){ .pm-edit-grid{ grid-template-columns:1fr; } }
/* rozdiel údajov firmy oproti partneri.csv (Správa → Zákazníci, 16. 10. 2026) */
.sp-csv-badge{ display:inline-block; padding:1px 7px; border-radius:10px; background:#FFF1D6; color:#8A5A00; border:1px solid #F0D9A8; font-size:.72rem; font-weight:600; white-space:nowrap; }


/* ===================== MOBILNÁ APLIKÁCIA A MOBILNÉ ZOBRAZENIE B2B / SPRÁVY (22. 10. 2026) ===================== */
/* ponuka „Inštalovať aplikáciu“ (Android / Chrome) */
.app-ponuka{ position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom, 0px)); z-index:120; max-width:520px; margin:0 auto;
  display:flex; align-items:center; gap:12px; padding:12px 12px 12px 14px; background:var(--bg-dark); color:var(--paper); border-radius:6px;
  box-shadow:0 10px 30px rgba(0,0,0,.35); animation:appPonuka .3s ease; }
@keyframes appPonuka{ from{ transform:translateY(20px); opacity:0; } to{ transform:none; opacity:1; } }
.app-ponuka img{ width:40px; height:40px; flex:none; }
.app-ponuka-t{ flex:1; min-width:0; line-height:1.3; }
.app-ponuka-t b{ display:block; font-weight:600; font-size:.95rem; }
.app-ponuka-t small{ display:block; font-size:.78rem; color:rgba(246,244,238,.7); margin-top:2px; }
.app-ponuka-ok{ flex:none; font:inherit; font-size:.9rem; font-weight:600; background:var(--paper); color:var(--ink); border:none; border-radius:3px; padding:10px 14px; cursor:pointer; }
.app-ponuka-x{ flex:none; background:none; border:none; color:rgba(246,244,238,.7); font-size:1.6rem; line-height:1; width:36px; height:40px; cursor:pointer; }
@media print{ .app-ponuka{ display:none !important; } }

/* bez internetu – červený pás dole */
.offline-pas{ position:fixed; left:0; right:0; bottom:0; z-index:130; padding:12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); background:#B3261E; color:#fff;
  font-size:.92rem; font-weight:600; line-height:1.4; text-align:center; box-shadow:0 -4px 16px rgba(0,0,0,.25); }
@media print{ .offline-pas{ display:none !important; } }

/* triedenie zákaziek výberom – len na mobile (hlavička tabuľky je skrytá) */
.zk-sort-m, .zk-filtre-m{ display:none !important; }

@media (max-width: 640px){
  /* nižšia hlavička v B2B zóne a Správe = viac miesta na obsah */
  body.is-b2b header, .rozhranie-sprava header, .rozhranie-partner header{ padding:8px 0; }
  .rozhranie-partner .page-hero, .rozhranie-sprava .page-hero{ padding:116px 0 18px; }
  .rozhranie-partner .page-hero .breadcrumb, .rozhranie-sprava .page-hero .breadcrumb{ display:none; }
  .zk-sec{ padding-bottom:64px; }

  /* prsty: väčšie tlačidlá a polia; písmo 16 px = telefón pri písaní nepribližuje stránku */
  .zk-t-row input, .zk-t-row .sel, .zk-form input, .zk-form textarea, .zk-form .sel, .sp-u-grid input, .sp-u-grid .sel,
  .sp-odp input[type=text], .sp-odp select, .sp-odp textarea, .uc-form input, .uc-form .sel, .b2b-card input, .zk-login input{ font-size:16px; }
  .zk-t-row input, .zk-t-row .sel{ height:44px; }
  .zk-tabs button, .sp-prepinac button{ min-height:44px; }
  .zk-btn{ min-height:44px; }
  .zk-btn-l{ min-height:32px; }

  /* filtre zákaziek: hľadanie na celú šírku, ostatné po dvoch */
  .zk-tools{ padding:12px; }
  .zk-t-row{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .zk-t-row > label{ min-width:0; }
  .zk-t-row .zk-q{ grid-column:1 / -1; }
  .zk-t-row .sel, .zk-t-row input, .zk-d input{ width:100%; min-width:0; max-width:none; }
  .zk-sort-m{ display:flex !important; grid-column:1 / -1; }
  .zk-filtre-m{ display:inline-block !important; margin-left:auto; }
  .zk-tools:not(.is-filtre) .zk-t-row > label:not(.zk-q):not(.zk-sort-m){ display:none; }
  .zk-t-info{ flex-wrap:wrap; gap:6px 14px; }

  /* zákazky (B2B aj Správa), dopyty a oznamy ako karty – bez posúvania tabuľky do strany */
  .zk-tw:has(> table.zk-karty){ overflow:visible; background:none; border:none; }
  table.zk-karty{ min-width:0 !important; display:block; font-size:.92rem; }
  table.zk-karty thead{ display:none; }
  table.zk-karty tbody{ display:flex; flex-direction:column; gap:10px; padding-top:10px; }
  table.zk-karty tbody tr{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px 14px; padding:12px 14px 12px 18px;
    background:var(--st-bg, var(--paper)); border:1px solid var(--line); border-radius:4px; box-shadow:inset 5px 0 0 var(--st-pas, var(--line)); }
  .rozhranie-sprava table.zk-karty tbody tr{ border-color:#C3D3D7; }
  table.zk-karty tbody tr.is-on{ box-shadow:inset 5px 0 0 var(--st-pas, var(--zk-akcent)), 0 0 0 2px var(--zk-akcent, var(--oxblood)); }
  table.zk-karty tbody tr[class*="st-"] td:first-child{ box-shadow:none; }
  table.zk-karty td{ display:block; padding:0; border:none !important; min-width:0; text-align:left !important; white-space:normal; overflow-wrap:anywhere; }
  table.zk-karty td[data-l]::before{ content:attr(data-l); display:block; margin-bottom:2px; font-family:'JetBrains Mono', monospace; font-size:.58rem;
    letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); }
  table.zk-karty td:first-child{ grid-column:1 / -1; font-size:1rem; font-weight:600; }
  table.zk-karty td:first-child::before{ display:none; }
  table.zk-karty td:empty, table.zk-karty td[data-l=""]::before{ display:none; }
  table.zk-karty td[colspan]{ grid-column:1 / -1; }
  table.zk-karty td.mono{ white-space:normal; }
  /* dopyty a oznamy: dlhší text na celú šírku karty */
  table.sp-dopyty td:nth-child(2), table.sp-dopyty td:nth-child(4), table.sp-oz-tab td:nth-child(2){ grid-column:1 / -1; }
  .sp-dopyt-txt{ max-width:none; }
  .sp-dopyty .zk-btn-l{ display:inline-block; }

  /* ostatné tabuľky (zákazníci, predajné miesta, pobočky…): posúvajú sa do strany, prvý stĺpec ostáva viditeľný */
  .zk-tw{ -webkit-overflow-scrolling:touch; }
  .zk-tw > table.zk-table:not(.zk-karty) tbody td:first-child, .zk-tw > table.zk-table:not(.zk-karty) thead th:first-child{
    position:sticky; left:0; z-index:1; background:var(--st-bg, var(--paper)); box-shadow:1px 0 0 var(--line); }
  .rozhranie-sprava .zk-tw > table.zk-table:not(.zk-karty) thead th:first-child{ background:#F1F6F7; }
  .zk-tw > table.zk-table:not(.zk-karty) tbody td:first-child{ max-width:46vw; }

  /* detail zákazky: položky bez rozpadnutých riadkov */
  .zk-d-head h2{ font-size:1.5rem; }
  .zk-p{ grid-template-columns:52px minmax(0, 1fr); gap:10px; padding:12px; }
  .zk-p-head{ display:grid; grid-template-columns:auto minmax(0, 1fr) auto; gap:6px 10px; align-items:baseline; }
  .zk-p-head > div{ grid-column:2 / -1; }
  .zk-p-head > .zk-p-ks{ grid-column:2; }
  .zk-p-head > .zk-p-c{ grid-column:3; text-align:right; }
  .zk-riadky, .zk-riadky tbody{ display:block; }
  .zk-riadky tr{ display:grid; grid-template-columns:auto 1fr auto; gap:0 10px; padding:6px 0; border-top:1px solid var(--line); }
  .zk-riadky td{ border:none; padding:0; }
  .zk-riadky td.mono{ grid-column:1 / -1; white-space:normal; overflow-wrap:anywhere; }
  .zk-riadky td:nth-child(2){ display:none; }
  .zk-riadky td:nth-child(4){ text-align:left; color:var(--ink-faint); }
  .zk-kv{ display:grid; grid-template-columns:96px minmax(0, 1fr); gap:10px; }
  .zk-kv span{ width:auto; }
  .zk-kv b{ overflow-wrap:anywhere; }
  .zk-ex{ display:block; overflow-x:auto; }
  .zk-sl div{ flex-wrap:wrap; }

  /* Správa: prepínač pohľadov ako mriežka 2 × 4 – všetky voľby viditeľné naraz */
  .sp-prepinac{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--zk-akcent); width:100%; }
  .sp-prepinac button{ padding:10px 8px; white-space:nowrap; font-size:.9rem; }
  .sp-zaloha-pas > *{ flex:1 1 100%; }
  .sp-zaloha-pas > span:first-child{ flex:none; }
  .sp-zaloha-pas > span:nth-child(2){ flex:1 1 calc(100% - 60px); }
  .sp-zaloha-pas .zk-btn{ width:100%; }
  .zk-import .zk-btn{ margin-left:0; width:100%; }
  .zk-who{ display:block; margin-top:8px; }
  /* Správa → Oznamy: Komu na celý riadok, dátum a počet dní vedľa seba */
  .sp-oz-row{ grid-template-columns:1fr 1fr; }
  .sp-oz-row > :first-child{ grid-column:1 / -1; }
  .sp-oz-l input, .sp-oz-l textarea, .sp-oz-l select{ font-size:16px; min-width:0; width:100%; box-sizing:border-box; }
}

/* v nainštalovanej aplikácii: bez veľkej pätičky webu – rýchlejšie k veci */
.je-aplikacia body.rozhranie-partner footer .footer-top, .je-aplikacia body.rozhranie-sprava footer .footer-top, .je-aplikacia body.is-b2b footer .footer-top{ display:none; }

/* ===== Dostupnosť zo skladu – B2B (3. 11. 2026) ===== */
.sk-st{ display:inline-flex; align-items:center; gap:6px; padding:2px 10px 2px 8px; border-radius:999px; font-size:.82rem; font-weight:600; line-height:1.5; white-space:nowrap; }
.sk-st::before{ content:""; width:8px; height:8px; border-radius:50%; background:currentColor; flex:none; }
.sk-skladom{ background:#E6F4EA; color:#1E7B34; }
.sk-posledne{ background:#FFF1E0; color:#B45A00; }
.sk-na_objednavku{ background:#FDECEA; color:#B3261E; }
.qi-sklad, .zk-p-sklad{ margin:4px 0 6px; }
.zk-sklad{ margin:0 0 12px; display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:.9rem; }
.zk-sklad small{ color:#7A7268; }
.zk-box p.zk-sk-warn, .zk-sk-warn{ color:#B3261E !important; font-weight:600; font-size:.9rem; margin:0 0 10px; }
@media print{ .sk-st{ background:none !important; border:1px solid currentColor; } }
.sum-meta span.sk-st{ font-family:inherit; font-size:.8rem; letter-spacing:0; text-transform:none; width:auto; }
span.sk-st.sk-skladom{ color:#1E7B34; } span.sk-st.sk-posledne{ color:#B45A00; } span.sk-st.sk-na_objednavku{ color:#B3261E; }
#sumDod, #qDod{ display:flex; justify-content:flex-end; text-align:right; }

/* ---------- B2B: ceny pre zákazníka – prepínač VOC / MOC, zľava a tlač ponuky s logom predajcu (5. 11. 2026) ---------- */
.moc-prep-wrap{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 14px; }
.moc-prep-l{ font-family:'JetBrains Mono', monospace; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(246,244,238,.55); }
.moc-prep{ display:inline-flex; border:1px solid rgba(246,244,238,.35); border-radius:2px; overflow:hidden; }
.moc-prep button{ background:transparent; border:none; color:rgba(246,244,238,.75); font:inherit; font-size:.8rem; padding:7px 12px; cursor:pointer; line-height:1.2; min-height:36px; }
.moc-prep button b{ font-family:'JetBrains Mono', monospace; font-weight:600; letter-spacing:.04em; margin-right:4px; }
.moc-prep button + button{ border-left:1px solid rgba(246,244,238,.35); }
.moc-prep button[aria-pressed="true"]{ background:var(--paper); color:var(--ink); }
.moc-prep-wrap.is-moc .moc-prep button[aria-pressed="true"]{ background:var(--brass); color:#1b150e; }
.moc-prep button:focus-visible{ outline:2px solid var(--wood-light); outline-offset:-2px; }
.b2b-moc{ display:none; }
body.ceny-moc .b2b-moc{ display:inline; }
body.ceny-moc .b2b-voc{ display:none; }
.q-prezak{ margin:14px 0 6px; padding:14px 0 4px; border-top:1px solid rgba(246,244,238,.18); border-bottom:1px solid rgba(246,244,238,.18); }
.q-prezak .q-zak-l{ margin-top:10px; }
.q-prezak .q-zak-l small{ text-transform:none; letter-spacing:0; font-family:'Work Sans', sans-serif; }
.q-prezak-g{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-top:12px; }
.q-prezak-g label > span:first-child{ display:block; font-family:'JetBrains Mono', monospace; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(246,244,238,.55); margin-bottom:4px; }
.q-in-j{ display:flex; align-items:baseline; gap:4px; border-bottom:1px solid rgba(246,244,238,.35); }
.q-in-j input{ width:100%; min-width:0; background:transparent; border:none; color:var(--paper); font:inherit; font-size:1rem; padding:6px 0; outline:none; text-align:right; }
.q-in-j i{ font-style:normal; color:rgba(246,244,238,.6); font-size:.85rem; }
.q-in-j:focus-within{ border-bottom-color:var(--wood-light); }
.q-in-j input.is-zle{ color:#ff8f86; }
.q-in-j:has(input.is-zle){ border-bottom-color:#e0574c; }
.q-prezak-pozn{ font-size:.76rem; color:rgba(246,244,238,.62); line-height:1.45; margin:10px 0 8px; }
.q-prezak-pozn a{ color:var(--wood-light); }
@media print{ .moc-prep-wrap, .q-prezak{ display:none !important; } }

/* hlavička ponuky pre zákazníka (tlač aj náhľad v Mojom účte) */
.tz-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:24px; padding-bottom:14px; border-bottom:2px solid var(--oxblood); }
.tz-brand img{ display:block; height:42px; width:auto; }
.tz-brand span{ display:block; margin-top:6px; font-family:'JetBrains Mono', monospace; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); }
.tz-predajca{ display:flex; gap:14px; align-items:flex-start; text-align:right; max-width:60%; }
.tz-predajca > div{ display:flex; flex-direction:column; font-size:.82rem; line-height:1.4; color:var(--ink-soft); }
.tz-predajca small{ font-family:'JetBrains Mono', monospace; font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); }
.tz-predajca b{ font-size:1rem; color:var(--ink); }
.tz-logo{ display:block; max-height:64px; max-width:170px; width:auto; height:auto; object-fit:contain; }
.uc-pr-nahlad{ background:#fff; padding:16px; border:1px solid var(--line); margin:4px 0 16px; }
.uc-pr-file{ display:inline-block; cursor:pointer; }

.tlac-zak{ display:none; }
@media print{
  body.tlac-zak-on > *:not(#tlacZak){ display:none !important; }
  body.tlac-zak-on #tlacZak{ display:block; color:#000; font-size:9.5pt; line-height:1.4; }
  .tlac-zak .tz-head{ border-bottom-color:#6E2620; }
  .tlac-zak .tz-predajca > div{ color:#333; }
  .tz-h1{ font-family:'Fraunces', Georgia, serif; font-weight:400; font-size:22pt; margin:16px 0 2px; color:#000; }
  .tz-meta{ font-size:9pt; color:#444; margin-bottom:12px; }
  .tz-t{ width:100%; border-collapse:collapse; }
  .tz-t th{ text-align:left; font-family:'JetBrains Mono', monospace; font-weight:500; font-size:7pt; letter-spacing:.1em; text-transform:uppercase; color:#555; border-bottom:1px solid #999; padding:4px 6px; }
  .tz-t td{ padding:3px 6px; vertical-align:top; }
  .tz-t .n{ text-align:right; white-space:nowrap; }
  .tz-pol{ break-inside:avoid; }
  .tz-h td{ border-top:1px solid #ccc; padding-top:8px; }
  .tz-h td span{ color:#444; font-size:8.5pt; }
  .tz-img{ width:52px; }
  .tz-img .door-svg{ width:46px; border:1px solid #ddd; }
  .tz-r td{ font-size:8.5pt; color:#333; }
  .tz-err{ color:#b3261e !important; }
  .tz-sum{ margin:14px 0 0 auto; width:62%; min-width:260px; border-top:1px solid #999; padding-top:6px; break-inside:avoid; }
  .tz-s{ display:flex; justify-content:space-between; gap:16px; padding:3px 0; }
  .tz-s span:last-child{ white-space:nowrap; }
  .tz-zl span:last-child{ color:#000; }
  .tz-tot{ border-top:1px solid #000; margin-top:4px; padding-top:6px; font-size:12pt; font-weight:600; }
  .tz-dph{ font-size:8.5pt; color:#555; }
  .tz-note{ margin-top:16px; font-size:8pt; color:#555; }
  .tz-foot{ margin-top:10px; padding-top:8px; border-top:1px solid #ccc; font-size:8pt; color:#555; }
}
@media (max-width: 640px){ .tz-head{ flex-direction:column; } .tz-predajca{ text-align:left; max-width:none; flex-direction:row-reverse; justify-content:flex-end; } }
.uc-pozn{ font-size:.82rem; color:var(--ink-faint); line-height:1.45; margin:6px 0 10px; }
.uc-pr-nahlad{ flex-direction:column; gap:14px; }
.uc-pr-nahlad .tz-predajca{ text-align:left; max-width:none; flex-direction:row-reverse; justify-content:flex-end; }
.uc-pr-nahlad .tz-logo{ max-width:140px; max-height:56px; }
/* P4 (5. 11. 2026): poznámka k dostupnosti v kalkulácii (započítaná ponuka) */
.sk-pozn{ display:block; margin-top:4px; font-size:.78rem; line-height:1.35; color:#B3261E; white-space:normal; }
/* P5 (5. 11. 2026): obchodný referent – prepínač „Moji partneri / Nepriradení / Všetci“, štítok referenta */
.sp-moji{ display:flex; flex-wrap:wrap; align-items:center; gap:4px; margin:10px 0 2px; }
.sp-moji-t{ font-size:.8rem; color:var(--ink-soft); margin-right:6px; }
.sp-moji button{ background:none; border:1px solid var(--line); padding:5px 12px; font:inherit; font-size:.82rem; color:var(--ink-soft); cursor:pointer; border-radius:999px; }
.sp-moji button:hover{ border-color:var(--ink); color:var(--ink); }
.sp-moji button.is-on{ background:#1D5466; border-color:#1D5466; color:#fff; }
.sp-moji button .zk-n{ opacity:.75; }
.sp-ref{ display:inline-block; font-size:.78rem; padding:1px 8px; border-radius:999px; background:#EEF3F5; color:#1D5466; white-space:nowrap; }
.sp-ref.is-ja{ background:#1D5466; color:#fff; }
.zk-miss-s{ color:var(--ink-soft); }
/* P6 + P7 (5. 11. 2026): potvrdenie objednávky – predbežný termín výroby, PDF partnerovi */
.zk-err-t{ color:#B3261E; }
.sp-prij{ border-left:3px solid #B45A00; }
.sp-prij.is-ok{ border-left-color:#1E7B34; }
.sp-prij h4{ margin:12px 0 4px; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-soft); }
.sp-termin, .zk-termin b{ font-weight:700; color:#1D5466; }
.sp-terminy, .sp-emaily{ list-style:none; margin:4px 0 8px; padding:0; font-size:.82rem; }
.sp-terminy li, .sp-emaily li{ padding:3px 0; border-bottom:1px dotted var(--line); }
.sp-emaily li.ok{ color:#1E7B34; } .sp-emaily li.x{ color:#B3261E; }
.sp-emaily li small{ display:block; color:#B3261E; }
.sp-termin-zmen{ margin-top:10px; } .sp-termin-zmen summary{ cursor:pointer; font-size:.86rem; color:#1D5466; }
.zk-prijate{ border-left:3px solid #1E7B34; }
.zk-odoslane{ border-left:3px solid #B4473A; }   /* P10/P11: odoslaná objednávka, termín výroby čaká */
.zk-termin{ font-size:1rem; margin:4px 0; }
/* P9 (5. 11. 2026): detail zákazníka / zákazky priamo pod kliknutým riadkom zoznamu */
.zk-table tbody tr.zk-detail-r{ cursor:auto; background:transparent !important; filter:none !important; box-shadow:none !important; }
.zk-table tbody tr.zk-detail-r > td{ padding:6px 0 22px; border-bottom:2px solid var(--zk-akcent, var(--oxblood)); background:transparent; position:static; max-width:none; box-shadow:none !important; white-space:normal; }
.zk-table tbody tr.zk-detail-r > td > .zk-detail{ margin:0; }
/* oprava 9. 11. 2026: blokový riadok detailu len pre karty na mobile (na počítači rozbíjal tabuľku) */
@media (max-width: 640px){ table.zk-karty tbody tr.zk-detail-r{ display:block; padding:0; border:none; background:none; } }
/* P12 (9. 11. 2026): ikona oka pri poli hesla */
.heslo-obal{ position:relative; display:block; }
.heslo-obal > input{ width:100%; padding-right:44px !important; box-sizing:border-box; }
.heslo-oko{ position:absolute; right:4px; top:50%; transform:translateY(-50%); width:36px; height:36px; display:flex; align-items:center; justify-content:center;
  border:0; background:transparent; color:#7A7268; cursor:pointer; border-radius:6px; padding:0; }
.heslo-oko:hover, .heslo-oko:focus-visible{ color:var(--oxblood, #6E2620); background:rgba(110,38,32,.07); outline:none; }
.heslo-oko[aria-pressed="true"]{ color:var(--oxblood, #6E2620); }
input::-ms-reveal{ display:none; }   /* Edge: vlastné oko prehliadača by bolo druhé */
/* 9. 11. 2026: Správa a B2B zóna využijú širokú obrazovku (tabuľky zákaziek majú veľa stĺpcov) */
.rozhranie-sprava .zk-sec > .wrap, .rozhranie-partner .zk-sec > .wrap{ max-width:1760px; }
/* detail pod riadkom: šírka viditeľnej časti tabuľky, pri posúvaní tabuľky do strany ostáva na mieste */
.zk-table tbody tr.zk-detail-r > td > .zk-detail.zk-detail-pin{ position:sticky; left:0; box-sizing:border-box; }
