/* Sdílený styl pro server-vykreslované stránky (zakazka.php, kategorie.php).
   Barevné tokeny odpovídají hlavnímu webu (index.html), jde ale o samostatný,
   zjednodušený list — beze SPA. */

:root{
  --bg:#0a0a0a; --bg-rgb:10,10,10;
  --text-rgb:255,255,255;
  --orange:#ff4e00; --orange-hover:#ff6a26;
  --line: rgba(255,255,255,0.14);
  --muted: rgba(255,255,255,0.72);
  --faint: rgba(255,255,255,0.5);
}
@media (prefers-color-scheme: light){
  :root{
    --bg:#f8f6f3; --bg-rgb:248,246,243;
    --text-rgb:23,20,37;
    --orange:#7c3aed; --orange-hover:#8f57f7;
    --line: rgba(23,20,37,0.14);
    --muted: rgba(23,20,37,0.72);
    --faint: rgba(23,20,37,0.5);
  }
}
*{box-sizing:border-box;}
html,body{margin:0; padding:0;}
body{
  background:var(--bg); color:rgb(var(--text-rgb));
  font-family:'Inter', Arial, sans-serif; font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.kt-display{
  font-family:'Big Shoulders Display', Arial, sans-serif;
  text-transform:uppercase; font-weight:800; letter-spacing:0.01em; line-height:0.98;
  margin:0 0 0.4em;
}
a{color:inherit; text-decoration:none;}
.kt-wrap{max-width:1100px; margin:0 auto; padding:0 24px;}

.kt-header{position:sticky; top:0; z-index:20; background:rgba(var(--bg-rgb),0.86); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.kt-header-inner{display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px 24px;}
.kt-brand{font-family:'Big Shoulders Display', Arial, sans-serif; font-weight:800; letter-spacing:0.02em; font-size:1.05rem; text-transform:uppercase; white-space:nowrap;}
.kt-header nav{display:flex; align-items:center; gap:22px; flex-wrap:wrap;}
.kt-header nav a{font-size:0.92rem; color:var(--muted);}
.kt-header nav a:hover{color:rgb(var(--text-rgb));}
.kt-header nav a.kt-cta{background:var(--orange); color:#fff; padding:9px 16px; border-radius:999px; font-weight:600;}
.kt-header nav a.kt-cta:hover{background:var(--orange-hover); color:#fff;}

.kt-breadcrumb{padding:22px 0 0; font-size:0.85rem; color:var(--faint);}
.kt-breadcrumb a:hover{color:var(--orange);}

.kt-hero{padding:28px 0 8px;}
.kt-hero .kt-tag{color:var(--orange); font-weight:600; font-size:0.85rem; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:10px; display:block;}
.kt-hero h1{font-size:clamp(2.2rem, 5vw, 3.6rem);}
.kt-hero .kt-sub{color:var(--muted); font-size:1.15rem; max-width:70ch; margin-top:10px;}
.kt-hero p.kt-intro{color:var(--muted); max-width:75ch; margin-top:18px; font-size:1.02rem;}

.kt-meta-row{display:flex; flex-wrap:wrap; gap:28px; margin:26px 0; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.kt-meta-row .m{font-size:0.82rem; color:var(--faint); text-transform:uppercase; letter-spacing:0.04em;}
.kt-meta-row .m strong{display:block; color:rgb(var(--text-rgb)); font-size:1rem; text-transform:none; letter-spacing:0; margin-top:4px; font-weight:600;}

.kt-desc{max-width:75ch; color:var(--muted); font-size:1.05rem; margin:8px 0 36px;}

.kt-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; margin:24px 0 48px;}
@media(max-width:800px){ .kt-grid{grid-template-columns:repeat(2, 1fr);} }
@media(max-width:520px){ .kt-grid{grid-template-columns:1fr;} }
.kt-grid img{width:100%; height:100%; display:block; object-fit:cover; aspect-ratio:4/3; border-radius:10px;}
.kt-grid a{display:block; border-radius:10px; overflow:hidden; background:rgba(var(--text-rgb),0.06);}

.kt-empty{color:var(--faint); font-style:italic; padding:18px 0 40px;}

.kt-cards{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin:28px 0 56px;}
@media(max-width:820px){ .kt-cards{grid-template-columns:repeat(2, 1fr);} }
@media(max-width:560px){ .kt-cards{grid-template-columns:1fr;} }
.kt-card{display:block; border-radius:14px; overflow:hidden; background:rgba(var(--text-rgb),0.05); border:1px solid var(--line); transition:transform .15s ease, border-color .15s ease;}
.kt-card:hover{border-color:var(--orange); transform:translateY(-2px);}
.kt-card .kt-card-img{aspect-ratio:4/3; width:100%; object-fit:cover; display:block; background:linear-gradient(135deg, rgba(255,78,0,0.35), rgba(255,255,255,0.05));}
.kt-card .kt-card-body{padding:16px 18px 20px;}
.kt-card .kt-card-cat{font-size:0.76rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--orange); font-weight:600;}
.kt-card h3{font-size:1.2rem; text-transform:none; font-weight:700; margin:6px 0 4px; letter-spacing:0;}
.kt-card p{color:var(--muted); font-size:0.92rem; margin:0;}

.kt-services{margin:20px 0 8px; padding-top:8px; border-top:1px solid var(--line);}
.kt-service-row{display:flex; gap:18px; align-items:baseline; padding:16px 0; border-bottom:1px solid var(--line);}
.kt-service-row .n{font-family:'Big Shoulders Display', Arial, sans-serif; color:var(--faint); font-size:1.1rem; width:28px; flex:none;}
.kt-service-row .t{font-weight:700; flex:1 1 220px;}
.kt-service-row .d{color:var(--muted); font-size:0.94rem; flex:2 1 320px;}

.kt-related{margin:16px 0 40px;}
.kt-related h2{font-size:1.5rem; margin-bottom:16px;}

.kt-back{display:inline-flex; align-items:center; gap:6px; color:var(--muted); font-size:0.92rem; margin:26px 0 6px;}
.kt-back:hover{color:var(--orange);}

.kt-cta-block{margin:40px 0 60px; padding:36px; border-radius:18px; background:rgba(var(--text-rgb),0.05); border:1px solid var(--line); text-align:center;}
.kt-cta-block h2{font-size:1.7rem; margin-bottom:10px;}
.kt-cta-block p{color:var(--muted); margin-bottom:18px;}
.kt-cta-block a.kt-btn{display:inline-block; background:var(--orange); color:#fff; padding:13px 26px; border-radius:999px; font-weight:600;}
.kt-cta-block a.kt-btn:hover{background:var(--orange-hover);}

.kt-footer{border-top:1px solid var(--line); margin-top:40px; padding:48px 0 28px;}
.kt-footer-top{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:36px; margin-bottom:36px;}
@media(max-width:760px){ .kt-footer-top{grid-template-columns:1fr;} }
.kt-footer-brand{font-family:'Big Shoulders Display', Arial, sans-serif; font-weight:800; text-transform:uppercase; font-size:1.3rem; margin-bottom:10px;}
.kt-footer-top p{color:var(--muted); font-size:0.9rem; max-width:36ch; margin:0 0 8px;}
.kt-footer-top h5{font-size:0.76rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--faint); margin:0 0 14px; font-weight:600;}
.kt-footer-top a{display:block; color:var(--muted); font-size:0.9rem; margin-bottom:9px;}
.kt-footer-top a:hover{color:var(--orange);}
.kt-footer-bottom{display:flex; flex-wrap:wrap; gap:6px 18px; font-size:0.78rem; color:var(--faint); border-top:1px solid var(--line); padding-top:20px;}
.kt-footer-bottom a{color:var(--faint);}
.kt-footer-bottom a:hover{color:var(--orange);}

main{min-height:40vh;}
