/* FASSET – společné prvky webu (hlavička, patička a obsahové bloky).
   Barvy a písma přebírá z proměnných, které definuje každá stránka (:root). */

/* ---------- hlavička: telefon vedle poptávky ---------- */
.nav-right{display:flex; align-items:center; gap:22px;}
.nav-tel{display:none; align-items:center; gap:8px; font-family:var(--mono); font-size:.76rem; letter-spacing:.04em; color:var(--ink); white-space:nowrap;}
.nav-tel svg{width:15px; height:15px; color:var(--orange); flex-shrink:0;}
.nav-tel:hover{color:var(--orange);}
@media (min-width:1180px){ .nav-tel{display:inline-flex;} }
.mobile-menu a.mm-tel{color:var(--steel); letter-spacing:.04em;}

/* ---------- úvod podstránky ---------- */
section.page-intro{padding:152px 0 60px; border-bottom:1px solid var(--line);}
.page-intro h1{font-size:clamp(2.1rem,4vw,3.25rem); max-width:22ch; margin-bottom:20px;}
.page-intro .lead{font-size:1.08rem; color:#3A4650; max-width:62ch;}
.page-intro + section{padding-top:80px;}
.chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:32px;}
.chips a{font-family:var(--mono); font-size:.68rem; letter-spacing:.07em; text-transform:uppercase; padding:9px 14px; border:1px solid var(--line); background:rgba(255,255,255,.5); transition:border-color .2s ease, color .2s ease, background .2s ease;}
.chips a:hover{border-color:var(--orange); color:var(--orange); background:var(--white);}
.lead-text{font-size:1.04rem; color:#3A4650; max-width:64ch; margin:-28px 0 44px;}

/* ---------- úvodní stránka: tři čísla, ať se na mobilu zalomí ---------- */
.hero-stats{flex-wrap:wrap; row-gap:20px;}

/* ---------- pás výhod pod úvodem ---------- */
section.trust{padding:0; border-bottom:1px solid var(--line); background:var(--white);}
.trust-grid{display:grid; grid-template-columns:repeat(4,1fr);}
.trust-item{padding:26px 26px 28px; border-left:1px solid var(--line);}
.trust-item:first-child{border-left:0; padding-left:0;}
.trust-item b{display:block; font-family:var(--display); font-weight:600; font-size:1.02rem; margin-bottom:4px;}
.trust-item span{display:block; font-size:.86rem; color:#4A5560;}
.trust-item b::before{content:''; display:block; width:18px; height:2px; background:var(--orange); margin-bottom:14px;}

/* ---------- karty služeb jako odkazy ---------- */
a.service{color:inherit;}
a.service .tag-line{display:flex; justify-content:space-between; align-items:center; gap:10px;}
a.service .tag-line::after{content:'→'; color:var(--ink); transition:transform .2s ease;}
a.service:hover .tag-line::after{transform:translateX(4px); color:var(--orange);}

/* ---------- technický list (specializace) ---------- */
section.spec-band{background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.spec{display:grid; grid-template-columns:.9fr 1.1fr; gap:72px; align-items:start;}
.spec h2{font-family:var(--display); font-weight:700; font-size:clamp(1.8rem,3vw,2.5rem); letter-spacing:-.01em; line-height:1.1; margin-bottom:20px;}
.spec p{color:#3A4650; max-width:46ch; margin-bottom:16px;}
.spec .btn{margin-top:14px;}
.spec-sheet{background:var(--white); border:1px solid var(--ink); box-shadow:6px 6px 0 rgba(22,31,39,.08);}
.spec-sheet-head{display:flex; justify-content:space-between; gap:12px; background:var(--ink); color:var(--paper); font-family:var(--mono); font-size:.64rem; letter-spacing:.1em; text-transform:uppercase; padding:11px 18px;}
.spec-sheet-head span:last-child{color:var(--steel-light);}
.spec-sheet dl{margin:0;}
.spec-row{display:grid; grid-template-columns:170px 1fr; border-top:1px solid var(--line);}
.spec-row:first-child{border-top:0;}
.spec-row dt{display:flex; align-items:center; font-family:var(--mono); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:var(--steel); padding:17px 18px; border-right:1px solid var(--line); background:#F7F9F6;}
.spec-row dd{margin:0; padding:14px 18px; font-family:var(--display); font-size:1.04rem; font-weight:600; display:flex; flex-direction:column; justify-content:center;}
.spec-row dd small{font-family:var(--body); font-weight:400; font-size:.8rem; color:#5A6570; margin-top:2px;}

/* ---------- výhody (tmavý pás) ---------- */
section.why{background:var(--ink); color:var(--paper);}
.why .eyebrow{color:var(--steel-light);}
.why-head{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:end; padding-bottom:44px; margin-bottom:8px; border-bottom:1px solid rgba(238,241,236,.18);}
.why-head h2{font-family:var(--display); font-weight:700; font-size:clamp(1.8rem,3vw,2.5rem); letter-spacing:-.01em; line-height:1.1;}
.why-head p{color:#B7C2C9; max-width:52ch;}
.why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:0;}
.why-item{padding:36px 28px 8px 0; border-right:1px solid rgba(238,241,236,.12); margin-right:28px;}
.why-item:last-child{border-right:0; margin-right:0;}
.why-item .wnum{font-family:var(--mono); font-size:.8rem; color:var(--orange); letter-spacing:.06em; display:block; margin-bottom:16px;}
.why-item h3{font-family:var(--display); font-size:1.08rem; font-weight:600; margin-bottom:10px;}
.why-item p{font-size:.9rem; color:#B7C2C9;}

/* ---------- ukázky výroby ---------- */
.ref-strip{display:grid; grid-template-columns:repeat(6,1fr); gap:12px;}
.ref-strip a{display:block; aspect-ratio:4/3; overflow:hidden; background:var(--white);}
.ref-strip img{width:100%; height:100%; object-fit:cover; transition:transform .35s cubic-bezier(.22,.61,.36,1);}
.ref-strip a:hover img{transform:scale(1.05);}
.ref-foot{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-top:28px;}
.ref-foot p{color:#4A5560; font-size:.95rem; max-width:60ch;}

/* ---------- kroky spolupráce (světlé) ---------- */
section.section-tight-top{padding-top:24px;}
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:0;}
.step{position:relative; padding:30px 28px 0 0; border-top:1px solid var(--ink);}
.step::before{content:''; position:absolute; top:-4px; left:0; width:7px; height:7px; background:var(--orange); border-radius:50%;}
.step .snum{font-family:var(--mono); font-size:.72rem; color:var(--steel); letter-spacing:.08em; text-transform:uppercase; display:block; margin-bottom:12px;}
.step h3{font-family:var(--display); font-size:1.08rem; font-weight:600; margin-bottom:8px;}
.step p{font-size:.9rem; color:#4A5560;}

/* ---------- výzva k poptávce ---------- */
section.cta-band{background:var(--ink); color:var(--paper); padding:96px 0;}
.cta-band .wrap{display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:center;}
.cta-band .eyebrow{color:var(--steel-light);}
.cta-band h2{font-family:var(--display); font-weight:700; font-size:clamp(1.9rem,3.3vw,2.8rem); letter-spacing:-.01em; line-height:1.08; margin-bottom:18px;}
.cta-band p{color:#B7C2C9; max-width:52ch;}
.cta-box{border:1px solid rgba(238,241,236,.22); padding:28px;}
.cta-box .btn{width:100%; justify-content:center;}
.cta-lines{margin-top:18px;}
.cta-lines a{display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:13px 0; border-top:1px solid rgba(238,241,236,.14); font-family:var(--display); font-size:1.06rem; font-weight:500; color:var(--paper);}
.cta-lines a span{font-family:var(--mono); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; color:var(--steel-light);}
.cta-lines a:hover{color:var(--orange);}

/* ---------- služby: podrobné bloky ---------- */
.svc{display:grid; grid-template-columns:250px 1fr 280px; gap:48px; padding:52px 0; border-top:1px solid var(--line); scroll-margin-top:90px;}
.svc:first-of-type{border-top:0; padding-top:0;}
.svc-title .snum{font-family:var(--mono); font-size:.8rem; color:var(--orange); letter-spacing:.06em; display:block; margin-bottom:14px;}
.svc-title h2{font-family:var(--display); font-weight:700; font-size:1.55rem; line-height:1.15; letter-spacing:-.01em; margin-bottom:10px;}
.svc-title .tag-line{font-family:var(--mono); font-size:.66rem; letter-spacing:.07em; color:var(--steel); text-transform:uppercase;}
.svc-body p{color:#3A4650; margin-bottom:18px; max-width:62ch;}
.ticks{list-style:none; margin:0; padding:0; display:grid; gap:0;}
.ticks li{position:relative; padding:9px 0 9px 26px; border-top:1px solid var(--line); font-size:.94rem; color:#26313B;}
.ticks li:last-child{border-bottom:1px solid var(--line);}
.ticks li::before{content:''; position:absolute; left:2px; top:17px; width:10px; height:6px; border-left:1.6px solid var(--orange); border-bottom:1.6px solid var(--orange); transform:rotate(-45deg);}
.svc-aside{background:var(--white); border:1px solid var(--line); padding:22px 22px 24px; align-self:start;}
.svc-aside .k{font-family:var(--mono); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; color:var(--steel); display:block; margin-bottom:6px;}
.svc-aside .v{font-family:var(--display); font-weight:700; font-size:1.3rem; display:block; margin-bottom:16px; line-height:1.2;}
.svc-aside a.more{font-family:var(--mono); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:14px; transition:color .2s ease;}
.svc-aside a.more:hover{color:var(--orange);}

/* ---------- co poslat + časté dotazy ---------- */
.send{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;}
.about .section-head + .about-timeline{margin-top:0; border-top:0;}
.send h2{font-family:var(--display); font-weight:700; font-size:clamp(1.7rem,2.8vw,2.3rem); letter-spacing:-.01em; line-height:1.12; margin-bottom:16px;}
.send > div > p{color:#3A4650; max-width:48ch; margin-bottom:22px;}
.note{background:var(--white); border-left:3px solid var(--orange); padding:16px 18px; font-size:.94rem; color:#26313B; margin-top:22px;}
.faq{border-top:1px solid var(--line);}
.section-head + .faq{border-top:0;}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 0; font-family:var(--display); font-weight:600; font-size:1.05rem;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+'; font-family:var(--mono); font-size:1.2rem; color:var(--orange); transition:transform .2s ease; flex-shrink:0;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq summary:hover{color:var(--orange);}
.faq summary:focus-visible{outline:2px solid var(--orange); outline-offset:3px;}
.faq details p{color:#3A4650; padding:0 40px 22px 0; max-width:70ch;}

/* ---------- O nás: hodnoty a místa ---------- */
.values{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.value{background:var(--paper); padding:34px 30px;}
.value h3{font-family:var(--display); font-size:1.1rem; font-weight:600; margin-bottom:10px;}
.value h3::before{content:''; display:block; width:18px; height:2px; background:var(--orange); margin-bottom:16px;}
.value p{font-size:.92rem; color:#4A5560;}
.places{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.place{background:var(--white); padding:24px;}
.place b{display:block; font-family:var(--display); font-size:1.1rem; font-weight:600; margin-bottom:4px;}
.place span{font-family:var(--mono); font-size:.64rem; letter-spacing:.06em; text-transform:uppercase; color:var(--steel);}
.place.main{background:var(--ink); color:var(--paper);}
.place.main span{color:var(--orange);}

/* ---------- nadpis H1 v hlavičce sekce (stránka o cookies) ---------- */
.section-head h1{font-family:var(--display); font-weight:700; font-size:clamp(1.8rem,3vw,2.5rem); letter-spacing:-.01em; line-height:1.1; margin:0;}

/* ---------- kontakt ---------- */
.contact h1.contact-title{font-size:clamp(1.9rem,3.2vw,2.7rem); line-height:1.08; margin-bottom:22px;}

/* ---------- patička ---------- */
footer.site-footer{padding:64px 0 0; border-top:1px solid var(--line); background:var(--paper-2);}
footer.site-footer .wrap{display:block;}
.f-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:48px;}
.f-brand .fmark{font-family:var(--display); font-weight:700; font-size:1.2rem; letter-spacing:.02em; display:block; margin-bottom:12px;}
.f-brand p{font-family:var(--body); font-size:.9rem; color:#4A5560; letter-spacing:0; max-width:34ch;}
.f-col h4{font-family:var(--mono); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--steel); font-weight:500; margin-bottom:14px;}
.f-col ul{list-style:none; margin:0; padding:0;}
.f-col li{padding:4px 0; font-size:.92rem; color:#26313B;}
.site-footer .f-col a{text-decoration:none; color:#26313B;}
.site-footer .f-col a:hover{color:var(--orange);}
.f-col li.small{font-family:var(--mono); font-size:.68rem; letter-spacing:.04em; color:var(--steel); padding-top:10px;}
.f-bottom{display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; border-top:1px solid var(--line); padding:20px 0 26px;}
.site-footer .f-bottom p{font-family:var(--mono); font-size:.66rem; letter-spacing:.04em; color:var(--steel);}
.site-footer .f-bottom a{color:var(--steel);}
.site-footer .f-bottom a:hover{color:var(--orange);}

/* ---------- kotvy pod pevnou hlavičkou ---------- */
[id]{scroll-margin-top:92px;}

/* ---------- tablet ---------- */
@media (max-width:980px){
  .trust-grid{grid-template-columns:1fr 1fr;}
  .trust-item:nth-child(3){border-left:0; padding-left:0;}
  .trust-item:nth-child(n+3){border-top:1px solid var(--line);}
  .spec{grid-template-columns:1fr; gap:40px;}
  .why-head{grid-template-columns:1fr; gap:18px;}
  .why-grid{grid-template-columns:1fr 1fr;}
  .why-item{border-right:0; margin-right:0; padding-right:24px;}
  .ref-strip{grid-template-columns:repeat(3,1fr);}
  .steps{grid-template-columns:1fr 1fr; row-gap:36px;}
  .cta-band .wrap{grid-template-columns:1fr; gap:36px;}
  .svc{grid-template-columns:1fr; gap:22px;}
  .send{grid-template-columns:1fr; gap:48px;}
  .values{grid-template-columns:1fr;}
  .places{grid-template-columns:1fr 1fr;}
  .f-grid{grid-template-columns:1fr 1fr;}
}

/* ---------- telefon ---------- */
@media (max-width:600px){
  section.page-intro{padding:120px 0 44px;}
  .hero-stats{column-gap:22px;}
  .hero-stats .stat b{font-size:1.45rem;}
  .page-intro + section{padding-top:56px;}
  section.trust{padding:0;}
  .trust-grid{grid-template-columns:1fr;}
  .trust-item, .trust-item:nth-child(3){border-left:0; padding:20px 0;}
  .trust-item + .trust-item{border-top:1px solid var(--line);}
  .spec-row{grid-template-columns:1fr;}
  .spec-row dt{border-right:0; border-bottom:1px solid var(--line); padding:10px 16px;}
  .spec-row dd{padding:12px 16px;}
  .why-grid{grid-template-columns:1fr;}
  .why-item{padding:28px 0 4px;}
  .ref-strip{grid-template-columns:1fr 1fr;}
  .steps{grid-template-columns:1fr; row-gap:0;}
  .step{padding:28px 0 26px;}
  section.cta-band{padding:72px 0;}
  .cta-box{padding:22px;}
  .places{grid-template-columns:1fr;}
  .f-grid{grid-template-columns:1fr; gap:32px;}
  .faq details p{padding-right:0;}
}
