:root{
  --bg:#0d1d13;--panel:#f7f2e7;--text:#f9f6ec;--muted:#d5dfd2;
  --green:#3aa76d;--green2:#b7d8a8;--gold:#dfc27d;--ink:#142018;
  --shadow:0 24px 70px rgba(0,0,0,.28);--radius:28px;--max:1180px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
img{max-width:100%;height:auto}a{color:inherit}.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:#fff;color:#000;padding:12px;z-index:9999}
.header{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(7,18,11,.72);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav{max-width:var(--max);margin:auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900}.brand img{display:block;width:92px;height:auto}.links{display:flex;gap:18px;align-items:center}.links a{text-decoration:none;color:var(--muted);font-weight:700;font-size:.95rem}.links a:hover{color:white}.nav-cta{background:var(--green);color:white!important;padding:10px 16px;border-radius:999px}.menu{display:none;background:none;border:0;color:white;font-size:30px}
.hero{padding:148px 22px 76px;position:relative;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(58,167,109,.18),transparent 32%),linear-gradient(135deg,#07120b,#132a1b)}
.hero-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.02fr .98fr;gap:46px;align-items:center}.eyebrow{color:var(--green2);font-weight:900;letter-spacing:.14em;text-transform:uppercase;font-size:.84rem}.hero h1{font-size:clamp(42px,7vw,86px);line-height:.95;margin:12px 0 22px;letter-spacing:-.06em}.lead{font-size:clamp(18px,2.2vw,24px);color:var(--muted);max-width:670px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 21px;border-radius:999px;background:var(--green);color:white;text-decoration:none;font-weight:900;border:1px solid rgba(255,255,255,.1);box-shadow:0 12px 32px rgba(58,167,109,.24)}.btn.secondary{background:rgba(255,255,255,.08);color:white}.hero-card{border-radius:36px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.12);background:#102116}.hero-card img{display:block;width:100%}.trust{max-width:var(--max);margin:26px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.trust div{background:rgba(255,255,255,.07);padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.08)}.trust strong{display:block;font-size:1.2rem}
section{padding:86px 22px}.wrap{max-width:var(--max);margin:auto}.section-head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:30px}.section-head h2{font-size:clamp(32px,5vw,56px);line-height:1;margin:0;letter-spacing:-.04em}.section-head p{max-width:520px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.09);border-radius:var(--radius);padding:26px;box-shadow:0 16px 45px rgba(0,0,0,.14)}.card h3{font-size:1.35rem;margin:0 0 10px}.card p{color:var(--muted);margin:0}.icon{width:54px;height:54px;border-radius:18px;background:rgba(58,167,109,.18);display:grid;place-items:center;font-size:26px;margin-bottom:16px}
.light{background:var(--panel);color:var(--ink)}.light .section-head p,.light .card p{color:#415044}.light .card{background:#fff;border:1px solid #eee7d8}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:step}.step{background:#fff;color:var(--ink);border-radius:24px;padding:23px;border:1px solid #eee7d8}.step:before{counter-increment:step;content:"0" counter(step);display:inline-grid;place-items:center;background:#16351f;color:#b7d8a8;border-radius:999px;width:42px;height:42px;font-weight:900;margin-bottom:16px}
.gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.gallery img{border-radius:30px;box-shadow:var(--shadow);background:#244}.gallery .stack{display:grid;gap:18px}
.cta{margin-bottom:0;background:linear-gradient(135deg,#0f2417,#2d6f45);border-radius:36px;padding:42px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;box-shadow:var(--shadow)}.cta h2{margin:0;color:#fff;font-size:clamp(30px,5vw,54px);line-height:1}.cta p{color:#fff;opacity:.9}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form{background:#fff;color:var(--ink);border-radius:30px;padding:26px;box-shadow:var(--shadow)}label{display:block;font-weight:900;margin:10px 0 6px}input,textarea,select{width:100%;padding:14px 15px;border:1px solid #d9d5c9;border-radius:16px;font:inherit;background:#fff}textarea{min-height:130px}.full{grid-column:1/-1}.submit{width:100%;margin-top:16px;border:0;cursor:pointer}.contact-box{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:30px;padding:26px}.map{border:0;width:100%;height:260px;border-radius:22px;filter:saturate(.85)}
.footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.small{font-size:.9rem;color:#aebcad}
.chat{position:fixed;right:20px;bottom:20px;width:min(360px,calc(100vw - 40px));z-index:80}.chat-panel{display:none;background:#fff;color:#152016;border-radius:26px;box-shadow:var(--shadow);overflow:hidden;border:1px solid #e8e1d2}.chat.open .chat-panel{display:block}.chat-head{background:#0f2a19;color:white;padding:16px 18px;font-weight:900}.chat-messages{padding:16px;max-height:280px;overflow:auto}.msg{margin:8px 0;padding:10px 12px;border-radius:16px;background:#f0eadc}.msg.bot{background:#e7f2e2}.chat-input{display:flex;gap:8px;padding:12px;border-top:1px solid #eee}.chat-input input{border-radius:999px}.chat-input button{border:0;border-radius:999px;background:var(--green);color:white;font-weight:900;padding:0 14px}.chat-toggle{float:right;border:0;background:var(--green);color:white;border-radius:999px;padding:14px 18px;font-weight:900;box-shadow:var(--shadow);cursor:pointer}
@media(max-width:880px){.links{display:none;position:absolute;top:72px;left:14px;right:14px;background:#07120b;border-radius:22px;padding:18px;flex-direction:column}.links.open{display:flex}.menu{display:block}.hero-grid,.gallery,.cta{grid-template-columns:1fr}.trust,.cards,.process{grid-template-columns:1fr}.section-head{display:block}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.hero{padding-top:120px}}
@media(prefers-reduced-motion:no-preference){.card,.step,.hero-card{transition:transform .25s ease}.card:hover,.step:hover,.hero-card:hover{transform:translateY(-4px)}}.city-card{
  text-decoration:none;
  color:inherit;
  transition:.35s;
  cursor:pointer;
}

.city-card:hover{
  transform:translateY(-8px);
}

.city-card .btn{
  margin-top:20px;
  display:inline-flex;
  pointer-events:none;
}

.city-card .icon{
  font-size:2rem;
  margin-bottom:12px;
}.cards a{
  color:inherit;
  text-decoration:none;
}

.cards .card{
  transition:.3s;
  cursor:pointer;
}

.cards .card:hover{
  transform:translateY(-8px);
}

.cards .card h3{
  margin-top:15px;
}
.galerie {
  margin-top: 40px;
}

.galerie h2 {
  margin: 45px 0 20px;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.gallery-item {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 18px;
  cursor: pointer;
  background: #142018;
}

.gallery-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.gallery-item:hover img {
  transform: scale(1.05);
  
}

/* Otevřená fotografie */

#lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 70px 30px 30px;
  background: rgba(0, 0, 0, 0.94);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.25s ease,
    visibility 0.25s ease;
}

#lightbox.active {
  opacity: 1;
  visibility: visible;
}

#lightbox-img {
  display: block;
  max-width: 92vw;
  max-height: 86vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 10px;
}

#lightbox-close {
  position: absolute;
  top: 18px;
  right: 25px;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 0;
  background: transparent;
  color: white;
  font-size: 48px;
  line-height: 1;
  cursor: pointer;
}

body.lightbox-open {
  overflow: hidden;
}

@media (max-width: 800px) {
  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 500px) {
  .gallery-grid {
    grid-template-columns: 1fr;
  }
}/* ==================================================
   MEZISTRÁNKA TĚRLICKO – PRÉMIOVÉ KARTY ZAKÁZEK
================================================== */

.project-list-hero {
  padding: 150px 20px 75px;
  text-align: center;
}

.project-list-hero .wrap {
  max-width: 850px;
}

.project-list-hero .lead {
  max-width: 720px;
  margin: 20px auto 0;
}

.project-list-hero .actions {
  justify-content: center;
  margin-top: 30px;
}

.project-list-section {
  padding: 80px 0 110px;
}

.project-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

.project-card {
  position: relative;
  overflow: hidden;
  min-height: 320px;
  padding: 30px;

  border: 1px solid rgba(223, 194, 125, 0.25);
  border-radius: 30px;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.08),
      rgba(255, 255, 255, 0.02)
    );

  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}

.project-card::before {
  content: "";
  position: absolute;
  top: -90px;
  right: -90px;

  width: 210px;
  height: 210px;

  border-radius: 50%;

  background: rgba(183, 216, 168, 0.08);
  filter: blur(4px);

  pointer-events: none;
}

.project-card:hover {
  transform: translateY(-8px);

  border-color: rgba(223, 194, 125, 0.55);

  box-shadow:
    0 34px 75px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.project-card-top {
  position: relative;
  z-index: 1;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;

  margin-bottom: 34px;
}

.project-number,
.project-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 36px;
  padding: 8px 15px;

  border-radius: 999px;

  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.project-number {
  border: 1px solid rgba(223, 194, 125, 0.4);
  background: rgba(223, 194, 125, 0.1);
  color: var(--gold);
}

.project-status {
  border: 1px solid rgba(183, 216, 168, 0.28);
  background: rgba(183, 216, 168, 0.09);
  color: var(--green2);
}

.project-card-content {
  position: relative;
  z-index: 1;

  display: flex;
  flex-direction: column;
  height: calc(100% - 70px);
}

.project-location {
  margin: 0 0 10px;

  color: var(--green2);

  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.project-card-content h2 {
  margin: 0 0 16px;

  color: var(--text);

  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.15;
}

.project-card-content p {
  margin: 0 0 28px;
  color: var(--muted);
}

.project-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;

  width: fit-content;
  margin-top: auto;

  color: var(--gold);

  font-weight: 800;
  text-decoration: none;

  transition:
    color 0.25s ease,
    gap 0.25s ease;
}

.project-link:hover {
  gap: 14px;
  color: var(--green2);
}

.project-link.disabled {
  color: rgba(213, 223, 210, 0.45);
  pointer-events: none;
  cursor: default;
}

@media (max-width: 850px) {
  .project-grid {
    grid-template-columns: 1fr;
  }

  .project-card {
    min-height: 290px;
  }
}

@media (max-width: 520px) {
  .project-list-hero {
    padding: 120px 20px 55px;
  }

  .project-list-section {
    padding: 55px 0 80px;
  }

  .project-card {
    min-height: auto;
    padding: 24px;
    border-radius: 24px;
  }

  .project-card-top {
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: 26px;
  }
}
.cena-text {
  text-align: right;
}

/* ==================================================
   OPRAVA HLAVIČKY CENÍKU
   ================================================== */
#cenik.price-section .wrap > .section-head {
  display: grid !important;
  grid-template-columns: 500px minmax(0, 620px) !important;
  justify-content: space-between !important;
  align-items: start !important;
  gap: 60px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-bottom: 40px !important;
}

#cenik.price-section .wrap > .section-head h2 {
  width: 100% !important;
  max-width: 500px !important;
  margin: 0 !important;
  font-size: clamp(58px, 6vw, 76px) !important;
  line-height: .95 !important;
  letter-spacing: -.04em !important;
}

#cenik.price-section .wrap > .section-head .cena-text {
  width: 620px !important;
  max-width: 620px !important;
  margin: 0 !important;
  justify-self: end !important;
  text-align: left !important;
  line-height: 1.6 !important;
}

@media (max-width: 900px) {
  #cenik.price-section .wrap > .section-head {
    grid-template-columns: 420px minmax(0, 1fr) !important;
    gap: 40px !important;
  }

  #cenik.price-section .wrap > .section-head .cena-text {
    width: 100% !important;
  }
}

@media (max-width: 880px) {
  #cenik.price-section .wrap > .section-head {
    display: block !important;
  }

  #cenik.price-section .wrap > .section-head h2 {
    max-width: none !important;
    margin-bottom: 20px !important;
  }

  #cenik.price-section .wrap > .section-head .cena-text {
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
  }
}
.terlicko_hero-card{
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 16px 40px rgba(0,0,0,.22);
}

.terlicko_hero-card img{
  display:block;
  width: 800px;
  height:800px;
}
.footer-socials{
  display:flex;
  align-items:center;
  gap:10px;
}

.footer-socials a{
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;
  color:#fff;
  text-decoration:none;

  font-size:15px;

  box-shadow:0 5px 14px rgba(0,0,0,.18);

  transition:transform .25s ease;
}

.footer-socials a:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 18px rgba(0,0,0,.24);
}

.footer-socials .facebook{
  background:#1877f2;
}

.footer-socials .instagram{
  background:linear-gradient(
    135deg,
    #833ab4 0%,
    #fd1d1d 55%,
    #fcb045 100%
  );
}

.footer-socials .tiktok{
  background:#000;
}

.footer-socials .youtube{
  background:#ff0000;
}

.footer-socials i{
  line-height:1;
}
.footer{
  padding:34px 22px 24px;
  background:var(--panel);
  color:#f9f6ec;
  border-top:1px solid rgba(20,32,24,.12);
}
.footer-inner{
  width:min(1300px,100%);
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:80px;
}

.footer-left{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  flex-shrink:0;
}

.footer-logo{
  display:inline-flex;
  margin-bottom:10px;
}

.footer-logo img{
  display:block;
  width:180px;
  height:auto;
  max-width:180px;
  border-radius:0;
  box-shadow:none;
}

.footer-motto{
  margin:0 0 12px;
  color:#111;
  font-size:17px;
}

.footer-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:14px;
  margin-left:auto;
}

.footer-links{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:38px;
  flex-wrap:wrap;
}

.footer-links a{
  color:#111;
  text-decoration:none;
  font-size:15px;
}

.footer-links a:hover{
  color:#176a42;
}

.footer-copy{
  margin:0;
  color:#9a9a9a;
  font-size:14px;
}

@media(max-width:800px){
  .footer-inner{
    flex-direction:column;
    align-items:flex-start;
    gap:35px;
  }

  .footer-right{
    align-items:flex-start;
    margin-left:0;
  }

  .footer-links{
    justify-content:flex-start;
    gap:18px 28px;
  }
}

@media(max-width:480px){
  .footer-logo img{
    width:150px;
    max-width:150px;
  }

  .footer-links{
    flex-direction:column;
    align-items:flex-start;
  }
}
/* Sekce s CTA */
.cta-section{
  padding-bottom:30px;
}

.gallery-slider,
.gallery-slider img,
.wood-slider,
.wood-slider img{
  cursor:pointer !important;
}
@media (max-width: 700px) {
  .project-card,
  .portfolio-card {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 26px 22px 30px !important;
  }

  .project-card-content,
  .portfolio-card-content {
    height: auto !important;
    min-height: 0 !important;
  }

  .project-card a,
  .portfolio-card a {
    position: static !important;
    display: inline-flex !important;
    margin-top: 28px !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}
.footer-logo img{
  width: 70px;          /* uprav dle potřeby */
  height: 70px;
  object-fit: cover;
  border-radius: 18px;  /* zaoblení rohů */
  display: block;
  transition: transform .25s ease;
}

.footer-logo:hover img{
  transform: scale(1.05);
}
.logo img,
.nav-logo img,
header img {
    width: 92px;
    height: 92px;
    object-fit: cover;
    border-radius: 18px;
    display: block;
}

/* Jednotné logo Kosí Zahrady v hlavičce a patičce */
.header .brand img {
  width: 92px;
  height: 92px;
  object-fit: cover;
  border-radius: 18px;
  display: block;
}
.footer .footer-logo img {
  width: 92px;
  height: 92px;
  object-fit: cover;
  border-radius: 18px;
  display: block;
}
