/* ===== FEIFER — obsahové stránky O firmě (navazuje na hala.css) ===== */
/* breadcrumb (jako v katalogu) */
.A__crumb { border-bottom:1px solid var(--line); }
.A__crumb .wrap { display:flex; align-items:center; gap:9px; height:46px; font-family:var(--mono); font-size:12px; color:var(--faint); }
.A__crumb a:hover { color:#fff; }
body.light .A__crumb a:hover { color:var(--ink); }
.A__crumb .sep { opacity:.5; }
.A__crumb .cur { color:var(--red); }
.fp__hero { position:relative; overflow:hidden; background:#0f1014 !important; border-bottom:1px solid var(--line); }
.fp__herobp { position:absolute; inset:0; background-image:none; background-size:42px 42px; mask-image:radial-gradient(120% 100% at 75% 20%,#000 35%,transparent 80%); }
.fp__herobp::after { content:""; position:absolute; inset:0; background:none; }
body.light .fp__hero { background:#1d1f25 !important; }
.fp__heroin { position:relative; padding:54px var(--gutter) 46px; }
.fp__eyebrow { display:inline-flex; align-items:center; font-family:var(--mono); font-size:11px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:#fff; background:var(--red); padding:6px 12px; }
.fp__hero h1 { color:#fff; font-size:52px; font-weight:900; text-transform:uppercase; letter-spacing:-.02em; line-height:1; margin-top:12px; }
.fp__hero p { color:#d4d7dd; font-size:17px; line-height:1.55; max-width:60ch; margin-top:16px; }

.fp { padding:50px 0 60px; }
.fp__grid { display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start; }
.fp__rich h2 { font-size:26px; font-weight:800; text-transform:uppercase; margin:0 0 14px; }
.fp__rich h3 { font-size:18px; font-weight:700; margin:26px 0 8px; }
.fp__rich p { color:var(--mut); font-size:15.5px; line-height:1.7; margin-bottom:14px; }
.fp__rich .lead { font-size:18px; color:#fff; line-height:1.65; }
body.light .fp__rich .lead { color:var(--ink); }
.fp__rich ul { list-style:none; margin:14px 0; padding:0; display:flex; flex-direction:column; gap:11px; }
.fp__rich li { display:flex; gap:11px; color:var(--mut); font-size:15px; line-height:1.5; }
.fp__rich li svg { color:var(--red); flex-shrink:0; margin-top:3px; }
.fp__rich a.inl { color:var(--red); font-weight:700; }

.fp__aside { border:1px solid var(--line); background:var(--char-2); padding:26px; position:sticky; top:96px; }
body.light .fp__aside { background:#fff; }
.fp__aside h4 { font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); margin-bottom:16px; }
.fp__aside .stat { padding:14px 0; border-top:1px solid var(--line); }
.fp__aside .stat:first-of-type { border-top:none; }
.fp__aside .stat b { font-size:30px; font-weight:900; font-style:italic; display:block; line-height:1; }
.fp__aside .stat b i { color:var(--red); font-style:italic; }
.fp__aside .stat span { font-family:var(--mono); font-size:11px; color:var(--faint); text-transform:uppercase; letter-spacing:.04em; margin-top:5px; display:block; }
.fp__aside .A__btn { width:100%; justify-content:center; margin-top:18px; }

/* cards grid (služby, výrobní možnosti) */
.fp__cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:8px; }
.fp__card { background:var(--char-2); padding:28px; transition:background .2s; }
body.light .fp__card { background:#fff; }
.fp__card:hover { background:var(--char-3); }
body.light .fp__card:hover { background:#f4f5f7; }
.fp__card .num { font-family:var(--mono); font-size:12px; color:var(--red); }
.fp__card__ic { width:48px; height:48px; background:var(--red); color:#fff; display:grid; place-items:center; margin:14px 0 16px; }
.fp__card h3 { font-size:18px; font-weight:700; text-transform:uppercase; }
.fp__card p { color:var(--mut); font-size:14px; line-height:1.55; margin-top:8px; }

/* certifikáty / badge grid */
.fp__certs { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:8px; }
.fp__cert { border:1px solid var(--line); background:var(--char-2); padding:26px; display:flex; gap:16px; align-items:flex-start; }
body.light .fp__cert { background:#fff; }
.fp__cert__ic { width:52px; height:52px; flex-shrink:0; border:1px solid var(--red); color:var(--red); display:grid; place-items:center; }
.fp__cert h3 { font-size:16px; font-weight:800; }
.fp__cert p { color:var(--mut); font-size:13.5px; line-height:1.5; margin-top:6px; }

/* EU projekty list */
.fp__eu { display:flex; flex-direction:column; gap:14px; margin-top:8px; }
.fp__euitem { border:1px solid var(--line); background:var(--char-2); padding:22px 24px; border-left:3px solid var(--red); }
body.light .fp__euitem { background:#fff; }
.fp__euitem .tag { font-family:var(--mono); font-size:11px; color:var(--red); letter-spacing:.04em; }
.fp__euitem h3 { font-size:17px; font-weight:700; margin:7px 0; }
.fp__euitem p { color:var(--mut); font-size:14px; line-height:1.55; }

/* novinky list */
.fp__news { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:8px; }
.fp__art { border:1px solid var(--line); background:var(--char-2); overflow:hidden; display:flex; flex-direction:column; transition:.2s; }
body.light .fp__art { background:#fff; }
.fp__art:hover { border-color:#52565f; transform:translateY(-3px); }
.fp__art__img { aspect-ratio:16/9; background:#fff; display:grid; place-items:center; overflow:hidden; border-bottom:1px solid var(--line); }
.fp__art__img img { width:100%; height:100%; object-fit:cover; }
.fp__art__b { padding:20px 22px; }
.fp__art__date { font-family:var(--mono); font-size:11px; color:var(--red); letter-spacing:.04em; }
.fp__art h3 { font-size:18px; font-weight:700; margin:8px 0 8px; line-height:1.25; }
.fp__art p { color:var(--mut); font-size:14px; line-height:1.55; }
.fp__art__more { display:inline-flex; align-items:center; gap:7px; margin-top:14px; font-weight:700; font-size:13px; color:var(--red); }

/* factory foto banner */
.fp__banner { position:relative; overflow:hidden; border:1px solid var(--line); }
.fp__banner img { width:100%; height:320px; object-fit:cover; display:block; }
.fp__banner__cap { position:absolute; left:0; bottom:0; right:0; padding:28px; background:linear-gradient(transparent,rgba(15,16,20,.92)); color:#fff; }
.fp__banner__cap h3 { font-size:26px; font-weight:800; text-transform:uppercase; margin-top:6px; }
.fp__banner__cap p { color:#c7cbd2; font-size:14.5px; margin-top:6px; }
@media (max-width:560px){ .fp__banner img { height:220px; } }
/* cross-sell — další kategorie */
.xsell { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.xsell__c { display:flex; flex-direction:column; border:1px solid var(--line); background:var(--char-2); padding:18px; transition:.18s; }
body.light .xsell__c { background:#fff; }
.xsell__c:hover { border-color:#52565f; transform:translateY(-3px); }
.xsell__img { width:64px; height:64px; background:#fff; border:1px solid var(--line); border-radius:8px; display:grid; place-items:center; overflow:hidden; margin-bottom:14px; }
.xsell__img img { width:100%; height:100%; object-fit:contain; padding:7px; }
.xsell__t { font-size:16px; font-weight:800; text-transform:uppercase; letter-spacing:-.01em; }
.xsell__d { color:var(--mut); font-size:13px; line-height:1.5; margin-top:7px; flex:1; }
.xsell__a { font-family:var(--mono); font-size:12px; font-weight:600; color:var(--red); margin-top:14px; }
.xsell__c:hover .xsell__a { letter-spacing:.02em; }
@media (max-width:980px){ .xsell { grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .xsell { grid-template-columns:1fr; } }

/* subnav — řada podkategorií nad katalogem */
.subnav { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-bottom:22px; }
.subnav__c { display:flex; align-items:center; gap:11px; padding:10px 12px; border:1px solid var(--line); background:var(--char-2); transition:.15s; }
body.light .subnav__c { background:#fff; }
.subnav__c:hover { border-color:#52565f; }
.subnav__c.on { border-color:var(--red); background:rgba(219,10,10,.06); }
.subnav__img { width:46px; height:46px; flex-shrink:0; background:#fff; border:1px solid var(--line); border-radius:6px; display:grid; place-items:center; overflow:hidden; }
.subnav__img img { width:100%; height:100%; object-fit:contain; padding:4px; }
.subnav__tx { display:flex; flex-direction:column; min-width:0; flex:1; }
.subnav__tx b { font-size:13.5px; font-weight:700; color:#fff; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
body.light .subnav__tx b { color:var(--ink); }
.subnav__c.on .subnav__tx b { color:var(--red); }
.subnav__tx span { font-family:var(--mono); font-size:10.5px; color:var(--faint); margin-top:3px; }
@media (max-width:980px){ .subnav { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .subnav { grid-template-columns:1fr; } }

/* subkategorie — landing karty */
.subcats { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.subcat { display:flex; flex-direction:column; border:1px solid var(--line); background:var(--char-2); overflow:hidden; transition:.18s; }
body.light .subcat { background:#fff; }
.subcat:hover { border-color:#52565f; transform:translateY(-3px); }
.subcat__img { aspect-ratio:4/3; background:#fff; display:grid; place-items:center; overflow:hidden; border-bottom:1px solid var(--line); }
.subcat__img img { width:100%; height:100%; object-fit:contain; padding:22px; transition:transform .25s; }
.subcat:hover .subcat__img img { transform:scale(1.05); }
.subcat__b { padding:20px 22px 22px; display:flex; flex-direction:column; flex:1; }
.subcat__n { font-family:var(--mono); font-size:11px; color:var(--red); letter-spacing:.04em; }
.subcat__b h3 { font-size:19px; font-weight:800; text-transform:uppercase; letter-spacing:-.01em; margin:7px 0 8px; }
.subcat__b p { color:var(--mut); font-size:14px; line-height:1.5; flex:1; }
.subcat__more { display:inline-flex; align-items:center; gap:8px; margin-top:16px; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.02em; color:var(--red); }
.subcat:hover .subcat__more { gap:12px; }
@media (max-width:980px){ .subcats { grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .subcats { grid-template-columns:1fr; } }

/* hodnotové odznaky */
.vbadges { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.vbadge { display:flex; align-items:center; gap:14px; padding:20px 22px; background:var(--char-2); }
body.light .vbadge { background:#fff; }
.vbadge__ic { width:48px; height:48px; flex-shrink:0; display:grid; place-items:center; color:var(--red); border:1px solid var(--red); }
.vbadge b { display:block; font-size:20px; font-weight:900; font-style:italic; line-height:1; }
.vbadge span { font-family:var(--mono); font-size:11px; color:var(--faint); text-transform:uppercase; letter-spacing:.03em; margin-top:5px; display:block; }
@media (max-width:680px){ .vbadges { grid-template-columns:1fr 1fr; } }

/* strojní park — karty strojů */
.mpark { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.mpark__card { background:var(--char-2); padding:22px 24px; transition:background .15s; }
body.light .mpark__card { background:#fff; }
.mpark__card:hover { background:var(--char-3); }
body.light .mpark__card:hover { background:#f7f8fa; }
.mpark__head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:11px; }
.mpark__cat { font-family:var(--mono); font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:#fff; background:var(--red); padding:4px 9px; }
.mpark__ax { font-family:var(--mono); font-size:11px; color:var(--faint); }
.mpark__card h3 { font-size:17px; font-weight:800; letter-spacing:-.01em; margin-bottom:13px; }
.mpark__specs { display:flex; flex-wrap:wrap; gap:7px; }
.mpark__specs span { font-size:12px; color:var(--mut); background:var(--char); border:1px solid var(--line); padding:5px 9px; }
body.light .mpark__specs span { background:#f1f2f4; border-color:#e4e5e8; }
.mpark__specs b { color:#fff; font-weight:700; }
body.light .mpark__specs b { color:var(--ink); }
.mpark__more { display:flex; gap:16px; align-items:flex-start; margin-top:16px; border:1px solid var(--line); border-left:3px solid var(--red); background:var(--char-2); padding:18px 22px; }
body.light .mpark__more { background:#fff; }
.mpark__moreic { flex-shrink:0; width:40px; height:40px; display:grid; place-items:center; color:var(--red); border:1px solid var(--red); }
.mpark__more p { color:var(--mut); font-size:14px; line-height:1.6; }
.mpark__more b { color:#fff; font-weight:600; }
body.light .mpark__more b { color:var(--ink); }
@media (max-width:680px){ .mpark { grid-template-columns:1fr; } .mpark__more { flex-direction:column; gap:12px; } }

.fp__doc { max-width:80ch; }
.fp__doc h2 { font-size:22px; font-weight:800; text-transform:uppercase; margin:30px 0 12px; }
.fp__doc h2:first-child { margin-top:0; }
.fp__doc p, .fp__doc li { color:var(--mut); font-size:15px; line-height:1.7; }
.fp__doc ul { margin:12px 0; padding-left:20px; }
.fp__doc li { margin-bottom:7px; }

@media (max-width:980px){
  .fp__grid { grid-template-columns:1fr; gap:28px; }
  .fp__aside { position:static; }
  .fp__cards, .fp__certs { grid-template-columns:1fr 1fr; }
  .fp__news { grid-template-columns:1fr; }
  .fp__hero h1 { font-size:38px; }
}
@media (max-width:560px){
  .fp__cards, .fp__certs { grid-template-columns:1fr; }
  .fp__hero h1 { font-size:30px; }
}

/* ===== KARIÉRA ===== */
.kar__intro { display:grid; grid-template-columns:1fr 340px; gap:40px; align-items:start; }
.kar__lead b { color:#fff; } body.light .kar__lead b { color:var(--ink); }
.kar__benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:8px; }
.kar__ben { background:var(--char-2); padding:22px; display:flex; gap:14px; align-items:flex-start; } body.light .kar__ben { background:#fff; }
.kar__ben__ic { width:42px; height:42px; flex-shrink:0; display:grid; place-items:center; color:var(--red); border:1px solid var(--red); }
.kar__ben p { color:var(--mut); font-size:14px; line-height:1.5; } .kar__ben b { color:#fff; } body.light .kar__ben b { color:var(--ink); }
.kar__contact { border:1px solid var(--line); border-left:3px solid var(--red); background:var(--char-2); padding:24px; } body.light .kar__contact { background:#fff; }
.kar__contact h3 { font-size:17px; font-weight:800; text-transform:uppercase; }
.kar__contact p { color:var(--mut); font-size:14px; line-height:1.6; margin-top:10px; } .kar__contact a { color:var(--red); font-weight:700; }
.kar__contact .A__btn { width:100%; justify-content:center; margin-top:16px; }
.kar__jobs { display:flex; flex-direction:column; gap:14px; }
.kar__job { border:1px solid var(--line); background:var(--char-2); } body.light .kar__job { background:#fff; }
.kar__job__h { width:100%; display:flex; align-items:center; gap:16px; padding:22px 24px; background:none; border:none; cursor:pointer; font-family:var(--exo); text-align:left; }
.kar__job__h h3 { font-size:20px; font-weight:800; text-transform:uppercase; color:#fff; flex:1; } body.light .kar__job__h h3 { color:var(--ink); }
.kar__job__tag { font-family:var(--mono); font-size:11px; color:var(--red); border:1px solid var(--red); padding:4px 9px; white-space:nowrap; }
.kar__job__chev { color:var(--faint); transition:transform .2s; flex-shrink:0; } .kar__job.open .kar__job__chev { transform:rotate(180deg); color:var(--red); }
.kar__job__body { display:none; padding:0 24px 26px; } .kar__job.open .kar__job__body { display:block; }
.kar__job__cols { display:grid; grid-template-columns:1fr 1fr 1fr; gap:28px; padding-top:6px; }
.kar__col h4 { font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--red); margin-bottom:12px; }
.kar__col ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.kar__col li { display:flex; gap:9px; color:var(--mut); font-size:13.5px; line-height:1.45; } .kar__col li svg { color:var(--red); flex-shrink:0; margin-top:3px; width:14px; height:14px; }
.kar__job__foot { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }
.kar__job__foot span { color:var(--mut); font-size:13.5px; } .kar__job__foot b { color:#fff; } body.light .kar__job__foot b { color:var(--ink); }
@media (max-width:980px){ .kar__intro { grid-template-columns:1fr; } .kar__benefits { grid-template-columns:1fr 1fr; } .kar__job__cols { grid-template-columns:1fr; gap:20px; } }
@media (max-width:560px){ .kar__benefits { grid-template-columns:1fr; } }

/* ===== Kariéra — přihláškový formulář ===== */
.kar__modal { position:fixed; inset:0; z-index:300; display:none; align-items:center; justify-content:center; padding:24px; }
.kar__modal.open { display:flex; }
.kar__modal__bd { position:absolute; inset:0; background:rgba(8,9,12,.72); backdrop-filter:blur(3px); }
.kar__modal__box { position:relative; width:100%; max-width:620px; max-height:90vh; overflow-y:auto; background:var(--char-2); border:1px solid var(--line); box-shadow:0 40px 90px -30px rgba(0,0,0,.8); }
body.light .kar__modal__box { background:#fff; }
.kar__modal__head { position:relative; padding:24px 28px 20px; border-bottom:1px solid var(--line); overflow:hidden; }
.kar__modal__head .bp { display:none; }
.kar__modal__eyebrow { position:relative; font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--red); }
.kar__modal__head h3 { position:relative; font-size:24px; font-weight:900; text-transform:uppercase; margin-top:6px; }
.kar__modal__x { position:absolute; top:16px; right:16px; width:38px; height:38px; display:grid; place-items:center; color:#fff; background:rgba(255,255,255,.12); border:none; cursor:pointer; z-index:2; }
body.light .kar__modal__x { color:var(--ink); background:#eef0f3; }
.kar__modal__x:hover { background:var(--red); color:#fff; }
.kar__form { padding:24px 28px 28px; display:flex; flex-direction:column; gap:18px; }
.kar__row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.kar__field { display:flex; flex-direction:column; gap:7px; }
.kar__field label { font-family:var(--mono); font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--faint); }
.kar__field label .req { color:var(--red); }
.kar__field input[type=text], .kar__field input[type=email], .kar__field input[type=tel], .kar__field textarea, .kar__field select { width:100%; background:var(--char); border:1px solid var(--line); padding:12px 14px; font-family:var(--exo); font-size:15px; color:#fff; color-scheme:dark; transition:border-color .15s, box-shadow .15s; }
.kar__field select { -webkit-appearance:none; appearance:none; padding-right:38px; cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239aa1ad' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 13px center; }
.kar__field input::placeholder, .kar__field textarea::placeholder { color:#7a808a; }
body.light .kar__field input[type=text], body.light .kar__field input[type=email], body.light .kar__field input[type=tel], body.light .kar__field textarea, body.light .kar__field select { background:#fbfbfc; color:var(--ink); color-scheme:light; border-color:#dcdee2; }
.kar__field input:focus, .kar__field textarea:focus, .kar__field select:focus { outline:none; border-color:var(--red); box-shadow:0 0 0 3px rgba(219,10,10,.12); }
.kar__field textarea { resize:vertical; min-height:84px; }
/* file upload */
.kar__file { border:1.5px dashed #4a4e58; background:var(--char); padding:18px; display:flex; align-items:center; gap:14px; cursor:pointer; transition:.15s; }
/* custom dropdown */
.kar__cs { position:relative; }
.kar__cs select { position:absolute; opacity:0; pointer-events:none; width:0; height:0; }
.kar__cs__btn { width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px; background:var(--char); border:1px solid var(--line); padding:12px 14px; font-family:var(--exo); font-size:15px; color:#fff; cursor:pointer; text-align:left; transition:border-color .15s, box-shadow .15s; }
body.light .kar__cs__btn { background:#fbfbfc; color:var(--ink); border-color:#dcdee2; }
.kar__cs__btn svg { color:var(--red); flex-shrink:0; transition:transform .2s; }
.kar__cs.open .kar__cs__btn { border-color:var(--red); box-shadow:0 0 0 3px rgba(219,10,10,.12); }
.kar__cs.open .kar__cs__btn svg { transform:rotate(180deg); }
.kar__cs__list { position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:20; background:var(--char-2); border:1px solid var(--line); box-shadow:0 24px 50px -20px rgba(0,0,0,.6); max-height:280px; overflow-y:auto; display:none; }
body.light .kar__cs__list { background:#fff; box-shadow:0 24px 50px -20px rgba(22,23,28,.22); }
.kar__cs.open .kar__cs__list { display:block; }
.kar__cs__opt { padding:11px 14px; font-size:14.5px; color:#cfd3da; cursor:pointer; border-left:2px solid transparent; transition:.12s; }
body.light .kar__cs__opt { color:var(--text); }
.kar__cs__opt:hover { background:rgba(219,10,10,.1); color:#fff; border-left-color:var(--red); }
body.light .kar__cs__opt:hover { color:var(--ink); }
.kar__cs__opt.sel { color:var(--red); font-weight:700; border-left-color:var(--red); }
body.light .kar__file { background:#fbfbfc; border-color:#d2d4d9; }
.kar__file:hover, .kar__file.drag { border-color:var(--red); background:rgba(219,10,10,.05); }
.kar__file__ic { width:44px; height:44px; flex-shrink:0; display:grid; place-items:center; color:var(--red); border:1px solid var(--red); }
.kar__file__tx b { font-size:14px; font-weight:700; color:#fff; display:block; }
body.light .kar__file__tx b { color:var(--ink); }
.kar__file__tx span { font-size:12px; color:var(--faint); font-family:var(--mono); }
.kar__file.has-file { border-style:solid; border-color:var(--ok); }
.kar__file.has-file .kar__file__ic { color:var(--ok); border-color:var(--ok); }
.kar__file.err { border-color:var(--red); }
.kar__file input[type=file] { display:none; }
.kar__gdpr { display:flex; align-items:flex-start; gap:12px; font-size:13.5px; color:var(--text); line-height:1.55; background:rgba(0,0,0,.025); border:1px solid var(--line); padding:14px 16px; cursor:pointer; transition:.15s; }
body:not(.light) .kar__gdpr { background:rgba(255,255,255,.03); }
.kar__gdpr:hover { border-color:#c9ccd2; }
.kar__gdpr__tx { flex:1; min-width:0; }
.kar__gdpr input { margin-top:1px; accent-color:var(--red); width:19px; height:19px; flex-shrink:0; cursor:pointer; }
.kar__gdpr a { color:var(--red); font-weight:700; white-space:nowrap; }
.kar__form__submit { height:54px; justify-content:center; margin-top:4px; }
.kar__form__note { font-family:var(--mono); font-size:11px; color:var(--faint); text-align:center; }
.kar__done { padding:50px 28px; text-align:center; }
.kar__done__ic { width:64px; height:64px; margin:0 auto 18px; display:grid; place-items:center; color:#fff; background:var(--ok); border-radius:50%; }
.kar__done h3 { font-size:24px; font-weight:900; text-transform:uppercase; }
.kar__done p { color:var(--mut); font-size:15px; line-height:1.6; margin-top:12px; max-width:42ch; margin-left:auto; margin-right:auto; }
@media (max-width:560px){ .kar__row { grid-template-columns:1fr; } }

/* ===== KONTAKT ===== */
.kon__cards { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.kon__card { display:flex; flex-direction:column; border:1px solid var(--line); background:var(--char-2); padding:24px; transition:.18s; }
body.light .kon__card { background:#fff; }
.kon__card:hover { border-color:var(--red); transform:translateY(-3px); }
.kon__card__ic { width:46px; height:46px; display:grid; place-items:center; color:#fff; background:var(--red); margin-bottom:16px; }
.kon__card__sub { font-family:var(--mono); font-size:11px; color:var(--faint); text-transform:uppercase; letter-spacing:.04em; }
.kon__card__t { font-size:17px; font-weight:800; text-transform:uppercase; margin-top:4px; }
.kon__card__v { font-family:var(--mono); font-size:16px; color:var(--red); margin-top:12px; }
.kon__grid { display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start; }
.kon__addr { border:1px solid var(--line); border-left:3px solid var(--red); background:var(--char-2); padding:24px; }
body.light .kon__addr { background:#fff; }
.kon__addr h3 { font-size:18px; font-weight:800; text-transform:uppercase; }
.kon__addr p { color:var(--mut); font-size:15px; line-height:1.6; margin-top:10px; }
.kon__addr b { color:#fff; } body.light .kon__addr b { color:var(--ink); }
.kon__ico { display:flex; gap:24px; margin-top:14px; font-family:var(--mono); font-size:12px; color:var(--mut); }
.kon__hours { border-top:1px solid var(--line); padding-top:14px; margin-top:16px !important; }
.kon__depts { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.kon__dept { border:1px solid var(--line); background:var(--char-2); padding:18px; display:flex; flex-direction:column; gap:5px; }
body.light .kon__dept { background:#fff; }
.kon__dept h4 { font-size:14px; font-weight:700; }
.kon__dept a { font-family:var(--mono); font-size:13px; color:var(--mut); }
.kon__dept a:hover { color:var(--red); }
.kon__form { display:flex; flex-direction:column; gap:16px; border:1px solid var(--line); background:var(--char-2); padding:26px; }
body.light .kon__form { background:#fff; }
.kon__done { align-items:center; gap:10px; color:var(--ok); font-weight:700; font-size:14px; }
.kon__map { position:relative; height:300px; border:1px solid var(--line); overflow:hidden; background:#1a1c22; display:flex; align-items:center; justify-content:center; }
body.light .kon__map { background:#e9ebee; }
.kon__map__bp { position:absolute; inset:0; background-image:none; background-size:38px 38px; }
body.light .kon__map__bp { background-image:none; }
.kon__map__pin { position:relative; color:var(--red); animation:konpin 1.8s ease-in-out infinite; }
@keyframes konpin { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);} }
@media (prefers-reduced-motion:reduce){ .kon__map__pin { animation:none; } }
.kon__map__lbl { position:absolute; left:20px; bottom:20px; background:var(--char-2); border:1px solid var(--line); padding:14px 18px; display:flex; flex-direction:column; gap:3px; }
body.light .kon__map__lbl { background:#fff; }
.kon__map__lbl b { font-size:15px; font-weight:800; }
.kon__map__lbl span { font-family:var(--mono); font-size:12px; color:var(--mut); }
.kon__map__lbl a { color:var(--red); font-weight:700; font-size:13px; margin-top:4px; }
@media (max-width:980px){ .kon__cards { grid-template-columns:1fr; } .kon__grid { grid-template-columns:1fr; gap:30px; } }
@media (max-width:560px){ .kon__depts { grid-template-columns:1fr; } .kon__ico { flex-direction:column; gap:6px; } }

/* ===== NOVINKY ===== */
.nov__chips { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:26px; }
.nov__chip { font-family:var(--exo); font-size:13.5px; font-weight:700; color:var(--mut); background:var(--char-2); border:1px solid var(--line); padding:9px 16px; cursor:pointer; transition:.12s; text-transform:uppercase; letter-spacing:.02em; }
body.light .nov__chip { background:#fff; }
.nov__chip:hover { color:#fff; border-color:#52565f; } body.light .nov__chip:hover { color:var(--ink); }
.nov__chip.on { background:var(--red) !important; border-color:var(--red) !important; color:#fff !important; }
.nov__cat { font-family:var(--mono); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.03em; color:#fff; background:var(--red); padding:4px 9px; align-self:flex-start; }
.nov__date { font-family:var(--mono); font-size:12px; color:var(--faint); }
.nov__more { display:inline-flex; align-items:center; gap:7px; font-weight:700; font-size:13px; color:var(--red); margin-top:14px; }
/* featured */
.nov__feat { display:grid; grid-template-columns:1.1fr 1fr; border:1px solid var(--line); background:var(--char-2); overflow:hidden; margin-bottom:18px; transition:.18s; }
body.light .nov__feat { background:#fff; }
.nov__feat:hover { border-color:#52565f; }
.nov__feat__img { background:#fff; overflow:hidden; aspect-ratio:4/3; display:grid; place-items:center; border-right:1px solid var(--line); }
.nov__feat__img img { width:100%; height:100%; object-fit:contain; padding:26px; }
.nov__feat__b { padding:36px; display:flex; flex-direction:column; justify-content:center; }
.nov__feat__b .nov__date { margin-top:12px; }
.nov__feat__b h2 { font-size:28px; font-weight:900; text-transform:uppercase; line-height:1.05; margin:8px 0 12px; }
.nov__feat__b p { color:var(--mut); font-size:15px; line-height:1.6; flex:1; }
/* grid */
.nov__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.nov__card { display:flex; flex-direction:column; border:1px solid var(--line); background:var(--char-2); overflow:hidden; transition:.18s; }
body.light .nov__card { background:#fff; }
.nov__card:hover { border-color:#52565f; transform:translateY(-3px); }
.nov__card__img { position:relative; aspect-ratio:16/10; background:#fff; overflow:hidden; border-bottom:1px solid var(--line); display:grid; place-items:center; }
.nov__card__img img { width:100%; height:100%; object-fit:contain; padding:22px; }
.nov__card__img .nov__cat { position:absolute; top:12px; left:12px; }
.nov__card__b { padding:20px 22px; display:flex; flex-direction:column; flex:1; }
.nov__card__b h3 { font-size:18px; font-weight:700; line-height:1.25; margin:8px 0 8px; }
.nov__card__b p { color:var(--mut); font-size:14px; line-height:1.55; flex:1; }
.nov__empty { text-align:center; color:var(--mut); padding:40px; font-size:15px; }
@media (max-width:980px){ .nov__feat { grid-template-columns:1fr; } .nov__feat__img { border-right:none; border-bottom:1px solid var(--line); min-height:200px; } .nov__grid { grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .nov__grid { grid-template-columns:1fr; } .nov__feat__b h2 { font-size:22px; } }

/* dvě hlavní novinky vedle sebe */
.nov__feats { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
.nov__feat2 { display:flex; flex-direction:column; border:1px solid var(--line); background:var(--char-2); overflow:hidden; transition:.18s; }
body.light .nov__feat2 { background:#fff; }
.nov__feat2:hover { border-color:#52565f; transform:translateY(-3px); }
.nov__feat2__img { position:relative; aspect-ratio:16/7; background:linear-gradient(125deg,#16171c,#23252c 60%,#2a2d35); overflow:hidden; display:grid; place-items:center; border-bottom:1px solid var(--line); }
.nov__feat2__img::before { content:""; position:absolute; inset:0; background:none; }
.nov__feat2__img::after { content:""; position:absolute; inset:0; background-image:none; background-size:30px 30px; mask-image:radial-gradient(120% 100% at 70% 30%,#000 30%,transparent 80%); }
body.light .nov__feat2__img { background:linear-gradient(125deg,#16171c,#23252c 60%,#2a2d35); }
.nov__feat2__img img { position:relative; z-index:1; width:auto; height:auto; max-width:72%; max-height:86%; object-fit:contain; filter:drop-shadow(0 18px 26px rgba(0,0,0,.6)); }
.nov__feat2__img .nov__cat { position:absolute; z-index:2; top:14px; left:14px; }
.nov__feat2__b { padding:20px 24px 22px; display:flex; flex-direction:column; flex:1; }
.nov__feat2__b h2 { font-size:20px; font-weight:800; text-transform:uppercase; line-height:1.12; margin:7px 0 8px; }
.nov__feat2__b p { color:var(--mut); font-size:14px; line-height:1.55; flex:1; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
@media (max-width:760px){ .nov__feats { grid-template-columns:1fr; } }

/* ROUNDED — Novinky (zaoblení) */
.nov__chip { border-radius:999px; }
.nov__cat { border-radius:999px; }
.nov__card, .nov__feat2, .nov__feat { border-radius:var(--rad-lg); }
.nov__card__img img, .nov__feat2__img img { border-radius:0; }

/* ROUNDED — Kontakt */
.kon__card, .kon__addr, .kon__dept, .kon__form, .kon__map { border-radius:var(--rad-lg); overflow:hidden; }
.kon__card__ic { border-radius:var(--rad-sm); }
.kon__map__lbl { border-radius:var(--rad-md); }

/* ROUNDED — O firmě (fp) */
.fp__eyebrow { border-radius:999px; }
.fp__aside { border-radius:var(--rad-lg); }
.fp__cards { border-radius:var(--rad-lg); overflow:hidden; }
.fp__card__ic { border-radius:var(--rad-sm); }
.fp__certs .fp__cert { border-radius:var(--rad-lg); }
.fp__cert__ic { border-radius:var(--rad-sm); }
.fp__aside .A__btn { border-radius:var(--rad-sm); }

/* ===== SERVIS ===== */
.srv__band { position:relative; overflow:hidden; background:#0f1014; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
body.light .srv__band { background:#1d1f25; }
.srv__band__bp { position:absolute; inset:0; background:none; }
.srv__band__in { position:relative; display:grid; grid-template-columns:repeat(4,1fr); }
.srv__stat { padding:30px 26px; border-left:1px solid rgba(255,255,255,.1); }
.srv__stat:first-child { border-left:none; }
.srv__stat b { display:block; font-size:38px; font-weight:900; font-style:italic; color:#fff; line-height:1; }
.srv__stat span { font-family:var(--mono); font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:#c7cbd2; margin-top:8px; display:block; }
.srv__steps { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.srv__step { border:1px solid var(--line); border-top:3px solid var(--red); background:var(--char-2); padding:24px; }
body.light .srv__step { background:#fff; }
.srv__step__n { font-family:var(--mono); font-size:13px; color:var(--red); font-weight:600; }
.srv__step h3 { font-size:18px; font-weight:800; text-transform:uppercase; margin:14px 0 8px; }
.srv__step p { color:var(--mut); font-size:14px; line-height:1.55; }
.srv__cta { position:relative; overflow:hidden; background:linear-gradient(120deg,#a30707,#db0a0a); padding:40px 44px; display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; }
.srv__cta__bp { position:absolute; inset:0; background-image:none; background-size:30px 30px; }
.srv__cta__l { position:relative; }
.srv__cta__l h2 { color:#fff; font-size:30px; font-weight:900; text-transform:uppercase; margin-top:6px; }
.srv__cta__l p { color:rgba(255,255,255,.9); font-size:15px; margin-top:8px; max-width:46ch; }
.srv__cta__r { position:relative; display:flex; flex-direction:column; gap:12px; align-items:flex-start; }
.srv__cta__phone { display:inline-flex; align-items:center; gap:11px; background:#fff; color:#16171c; font-family:var(--mono); font-size:19px; font-weight:700; padding:14px 22px; }
.srv__cta__phone:hover { background:#16171c; color:#fff; }
.fp__cards--3 { grid-template-columns:repeat(3,1fr); }
/* produkty-vse — kategorie dlaždice */
.pcatgrid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.pcat { display:flex; flex-direction:column; border:1px solid var(--line); background:var(--char-2); overflow:hidden; transition:.18s; }
body.light .pcat { background:#fff; }
.pcat:hover { border-color:#52565f; transform:translateY(-3px); }
.pcat__img { aspect-ratio:4/3; background:#fff; display:grid; place-items:center; overflow:hidden; border-bottom:1px solid var(--line); }
.pcat__img img { width:78%; height:78%; object-fit:contain; transition:transform .3s ease; }
.pcat:hover .pcat__img img { transform:scale(1.06); }
.pcat__b { padding:16px 18px 18px; display:flex; flex-direction:column; flex:1; }
.pcat__top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.pcat__b h3 { font-size:16px; font-weight:800; text-transform:uppercase; }
.pcat:hover .pcat__b h3 { color:var(--red); }
.pcat__n { font-family:var(--mono); font-size:11px; font-weight:600; color:#fff; background:var(--red); padding:3px 8px; flex-shrink:0; }
.pcat__b p { color:var(--mut); font-size:13px; line-height:1.5; margin-top:8px; flex:1; }
.pcat__foot { display:flex; align-items:center; justify-content:space-between; margin-top:14px; padding-top:12px; border-top:1px solid var(--line); font-family:var(--mono); font-size:11px; color:var(--faint); }
.pcat__go { display:inline-flex; align-items:center; gap:6px; color:var(--red); font-weight:700; }
@media (max-width:980px){ .pcatgrid { grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .pcatgrid { grid-template-columns:1fr; } }
.fp__cards--3 .fp__card:last-child:nth-child(3n+1) { grid-column:1 / -1; }
.fp__cards--3 .fp__card:last-child:nth-child(3n+1) p { max-width:80ch; }
.srv__cta__in { position:relative; display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; width:100%; }
.srv__cta__in h2 { color:#fff; font-size:28px; font-weight:900; text-transform:uppercase; margin-top:6px; }
.srv__cta__in p { color:rgba(255,255,255,.9); font-size:15px; margin-top:8px; max-width:46ch; }
.srv__cta__act { display:flex; flex-direction:column; gap:12px; align-items:flex-start; flex-shrink:0; }
@media (max-width:560px){ .srv__cta__in { flex-direction:column; align-items:flex-start; } }
@media (max-width:980px){ .srv__band__in { grid-template-columns:1fr 1fr; } .srv__stat:nth-child(3){ border-left:none; } .srv__steps { grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .srv__band__in, .srv__steps { grid-template-columns:1fr; } .srv__stat { border-left:none; border-top:1px solid rgba(255,255,255,.1); } .srv__stat:first-child{border-top:none;} }
