/* ==========================================================================
   KUSING — produkčný web. Dizajn tokeny + základné komponenty.
   Tokeny prevzaté z design-export/colors_and_type.css (zdroj pravdy).
   Fonty sú self-hosted (assets/css/fonts.css, woff2 v assets/fonts/).
   ========================================================================== */
:root {
  /* Brand green */
  --green-50:#F0F6E6; --green-100:#DFEFC8; --green-200:#C4E29C; --green-300:#A6D26E;
  --green-400:#8FC74F; --green-500:#78B833; --green-600:#689F2C; --green-700:#557F24;
  --green-800:#43621D; --green-900:#324817;
  /* Ink / warm neutral */
  --ink-900:#1B1D1A; --ink-800:#2C2F2A; --ink-700:#44483F; --ink-600:#5A5F52;
  --ink-500:#6E7365; --ink-400:#939889; --ink-300:#BFC3B6; --ink-200:#DCDED3; --ink-100:#E9EAE1;
  /* Backgrounds */
  --bg:#F4F2EA; --bg-subtle:#ECEAE0; --surface:#FFFFFF; --surface-2:#FBFAF5; --ink-on-dark:#F4F2EA;
  /* States */
  --success:#2F8F4E; --warning:#E08A1E; --danger:#C0492F;
  /* Aliases */
  --text:var(--ink-900); --text-muted:var(--ink-500); --text-subtle:var(--ink-600);
  --border:var(--ink-200); --border-strong:var(--ink-300); --focus-ring:rgba(120,184,51,0.40);
  /* Type */
  --font-display:'Archivo','Arial Narrow',system-ui,sans-serif;
  --font-body:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',monospace;
  --fs-display:64px; --fs-h1:48px; --fs-h2:36px; --fs-h3:28px; --fs-h4:22px;
  --fs-body-lg:19px; --fs-body:16px; --fs-small:14px; --fs-caption:12px; --fs-overline:13px;
  --lh-display:1.04; --lh-heading:1.14; --lh-snug:1.30; --lh-body:1.60; --lh-tight:1.20;
  --ls-display:-0.02em; --ls-heading:-0.01em; --ls-overline:0.16em; --ls-mono:0.02em;
  /* Space (4px grid) */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px;
  --space-8:32px; --space-10:40px; --space-12:48px; --space-16:64px; --space-20:80px; --space-24:96px;
  /* Radius */
  --radius-sm:4px; --radius-md:8px; --radius-lg:12px; --radius-xl:16px; --radius-pill:999px; --radius-image:0px;
  /* Shadow (soft, diffused) */
  --shadow-subtle:0 1px 2px rgba(27,29,26,.05),0 2px 4px rgba(27,29,26,.04);
  --shadow-medium:0 4px 10px rgba(27,29,26,.07),0 2px 6px rgba(27,29,26,.05);
  --shadow-elevated:0 18px 44px rgba(27,29,26,.13),0 6px 16px rgba(27,29,26,.08);
  --shadow-focus:0 0 0 4px var(--focus-ring);
  --maxw:1200px;
}

/* ----------------------------------------------------------------- RESET */
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body {
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--font-body); font-size:var(--fs-body); line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
}
img { max-width:100%; height:auto; display:block; }
picture { display:contents; }
a { color:inherit; text-decoration:none; }

/* ----------------------------------------------------------------- TYPE */
h1 { font-family:var(--font-display); font-weight:700; font-size:var(--fs-h1); line-height:var(--lh-heading); letter-spacing:var(--ls-heading); margin:0 0 var(--space-4); }
h2 { font-family:var(--font-display); font-weight:700; font-size:var(--fs-h2); line-height:var(--lh-heading); letter-spacing:var(--ls-heading); margin:0 0 var(--space-4); }
h3 { font-family:var(--font-display); font-weight:600; font-size:var(--fs-h3); line-height:var(--lh-snug); margin:0 0 var(--space-3); }
p  { margin:0 0 var(--space-4); color:var(--ink-700); }
.k-body-lg { font-size:var(--fs-body-lg); line-height:var(--lh-body); color:var(--ink-700); }
.k-overline {
  font-family:var(--font-mono); font-weight:500; font-size:var(--fs-overline); line-height:1.2;
  letter-spacing:var(--ls-overline); text-transform:uppercase; color:var(--green-700);
  margin:0 0 var(--space-3);
}

/* --------------------------------------------------------------- LAYOUT */
.container { max-width:var(--maxw); margin:0 auto; padding:0 var(--space-6); }
.container--narrow { max-width:760px; }
.section { padding:var(--space-20) 0; }
.section--center { text-align:center; }

.skip-link {
  position:absolute; left:-9999px; top:0; background:var(--ink-900); color:var(--bg);
  padding:var(--space-3) var(--space-4); z-index:100; border-radius:0 0 var(--radius-md) 0;
}
.skip-link:focus { left:0; }

/* ----------------------------------------------------------------- BUTTONS */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:var(--space-2);
  font-family:var(--font-body); font-weight:600; font-size:var(--fs-body);
  padding:var(--space-3) var(--space-5); border-radius:var(--radius-md);
  border:1px solid transparent; cursor:pointer; transition:background .18s ease-out,border-color .18s ease-out,transform .12s ease-out;
}
.btn:focus-visible { outline:none; box-shadow:var(--shadow-focus); }
.btn--primary { background:var(--green-500); color:#fff; }
.btn--primary:hover { background:var(--green-600); }
.btn--primary:active { background:var(--green-700); transform:translateY(1px); }
.btn--ghost { background:transparent; color:var(--ink-900); border-color:var(--border-strong); }
.btn--ghost:hover { background:var(--green-50); border-color:var(--ink-900); }

/* -------------------------------------------------------------------- NAV */
.nav { position:sticky; top:0; z-index:50; background:rgba(244,242,234,.88); backdrop-filter:blur(8px); border-bottom:1px solid var(--ink-100); }
.nav__inner { max-width:var(--maxw); margin:0 auto; padding:var(--space-3) var(--space-6); display:flex; align-items:center; gap:var(--space-6); }
.nav__logo { display:flex; align-items:center; }
.nav__logo img { height:26px; width:auto; }
.nav__links { display:flex; gap:var(--space-6); margin-left:var(--space-4); }
.nav__link { font-weight:500; color:var(--ink-700); padding:var(--space-2) 0; position:relative; }
.nav__link:hover { color:var(--ink-900); }
.nav__link.is-active { color:var(--ink-900); }
.nav__link.is-active::after { content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--green-500); }
.nav__right { display:flex; align-items:center; gap:var(--space-4); margin-left:auto; }

.lang-switch { display:flex; gap:var(--space-1); font-family:var(--font-mono); font-size:var(--fs-caption); }
.lang-switch__item { padding:var(--space-1) var(--space-2); color:var(--ink-500); border-radius:var(--radius-sm); letter-spacing:var(--ls-mono); }
.lang-switch__item:hover { color:var(--ink-900); }
.lang-switch__item.is-active { color:var(--green-700); font-weight:600; }

.nav__burger { display:none; flex-direction:column; gap:4px; background:none; border:none; padding:var(--space-2); cursor:pointer; }
.nav__burger span { width:22px; height:2px; background:var(--ink-900); display:block; transition:transform .18s ease-out,opacity .18s ease-out; }

/* -------------------------------------------------------------------- HERO */
.hero { padding:var(--space-24) 0; }
.hero__inner { max-width:var(--maxw); margin:0 auto; padding:0 var(--space-6); max-width:880px; }
.hero__title { font-size:var(--fs-display); line-height:var(--lh-display); letter-spacing:var(--ls-display); margin:var(--space-3) 0 var(--space-5); }
.hero__lead { max-width:640px; margin-bottom:var(--space-8); }
.hero__actions { display:flex; gap:var(--space-3); flex-wrap:wrap; }

/* ------------------------------------------------------------- CONTACT/MISC */
.contact-list { list-style:none; padding:0; margin:var(--space-6) 0 0; font-family:var(--font-mono); }
.contact-list li { margin-bottom:var(--space-2); }

/* ----------------------------------------------------------------- FOOTER */
.footer { background:var(--ink-900); color:var(--ink-on-dark); margin-top:var(--space-24); }
.footer__inner { max-width:var(--maxw); margin:0 auto; padding:var(--space-16) var(--space-6) var(--space-12); display:grid; grid-template-columns:2fr 1fr 1fr; gap:var(--space-12); }
.footer__brand img { height:24px; width:auto; }
.footer__tagline { color:var(--ink-300); max-width:320px; margin-top:var(--space-4); }
.footer__heading { color:var(--green-400); }
.footer__list { list-style:none; padding:0; margin:var(--space-3) 0 0; }
.footer__list li { margin-bottom:var(--space-2); }
.footer__list a { color:var(--ink-200); }
.footer__list a:hover { color:#fff; }
.footer__bar { border-top:1px solid rgba(255,255,255,.08); padding:var(--space-5) var(--space-6); }
.footer__bar span { max-width:var(--maxw); margin:0 auto; display:block; color:var(--ink-400); font-size:var(--fs-small); }

/* ------------------------------------------------------------- RESPONSIVE */
@media (max-width:820px) {
  :root { --fs-display:40px; --fs-h1:34px; --fs-h2:28px; }
  .nav__links, .nav__cta { display:none; }
  .nav__burger { display:flex; }
  .nav[data-open] .nav__links {
    display:flex; flex-direction:column; position:absolute; top:100%; left:0; right:0;
    background:var(--bg); border-bottom:1px solid var(--ink-100); padding:var(--space-4) var(--space-6); gap:var(--space-3); margin:0;
  }
  .footer__inner { grid-template-columns:1fr; gap:var(--space-8); }
}

/* ==========================================================================
   KATALÓG — kategórie, karty strojov, produkt, galéria, tabuľka, prípadovka
   ========================================================================== */

/* Sekčné hlavičky a varianty sekcií */
.section--alt { background:var(--bg-subtle); }
.section--top { padding-top:var(--space-12); }
.section__head { margin-bottom:var(--space-10); max-width:720px; }
.section__head h2 { margin:0; }
.section__head--row { display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-4); }
.page-head { padding:var(--space-16) 0 var(--space-8); }
.page-head--tight { padding:var(--space-8) 0 0; }

.btn--lg { padding:var(--space-4) var(--space-6); font-size:var(--fs-body-lg); }

/* Trust bar */
.trust { border-top:1px solid var(--ink-100); border-bottom:1px solid var(--ink-100); background:var(--surface-2); }
.trust__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust__item {
  font-family:var(--font-mono); font-size:var(--fs-small); letter-spacing:var(--ls-mono);
  color:var(--ink-700); text-transform:uppercase; padding:var(--space-5) var(--space-4);
  text-align:center; border-left:1px solid var(--ink-100);
}
.trust__item:first-child { border-left:none; }

/* Mriežka kategórií */
.cat-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-6); }
.cat-card {
  display:flex; flex-direction:column; background:var(--surface); border-radius:var(--radius-lg);
  overflow:hidden; box-shadow:var(--shadow-subtle); transition:box-shadow .18s ease-out,transform .12s ease-out;
}
.cat-card:hover { box-shadow:var(--shadow-elevated); transform:translateY(-2px); }
.cat-card__media { aspect-ratio:16/10; background:var(--ink-800); overflow:hidden; }
.cat-card__media img { width:100%; height:100%; object-fit:cover; border-radius:var(--radius-image); }
.cat-card__body { padding:var(--space-6); display:flex; flex-direction:column; gap:var(--space-2); }
.cat-card__count { margin:0; }
.cat-card__name { margin:0; }
.cat-card__text { margin:var(--space-1) 0 var(--space-3); color:var(--ink-600); }
.cat-card__cta { font-weight:600; color:var(--green-700); font-size:var(--fs-small); margin-top:auto; }

/* Value props */
.vp-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-10); margin-top:var(--space-6); }
.vp__title { margin-bottom:var(--space-3); }
.vp__text { margin:0; }

/* CTA band */
.cta-band { background:var(--ink-900); color:var(--ink-on-dark); }
.cta-band__inner { display:flex; align-items:center; justify-content:space-between; gap:var(--space-8); padding:var(--space-16) var(--space-6); }
.cta-band__title { color:#fff; margin:0 0 var(--space-3); max-width:640px; }
.cta-band__text { color:var(--ink-300); margin:0; max-width:560px; }

/* Karty strojov */
.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-6); }
.card {
  display:flex; flex-direction:column; background:var(--surface); border-radius:var(--radius-lg);
  overflow:hidden; box-shadow:var(--shadow-subtle); transition:box-shadow .18s ease-out,transform .12s ease-out;
}
.card:hover { box-shadow:var(--shadow-elevated); transform:translateY(-2px); }
.card__media { position:relative; aspect-ratio:4/3; background:var(--ink-800); overflow:hidden; }
.card__media img { width:100%; height:100%; object-fit:cover; border-radius:var(--radius-image); }
.card__body { padding:var(--space-5); display:flex; flex-direction:column; gap:var(--space-3); flex:1; }
.card__head { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-3); }
.card__name { margin:0; font-size:var(--fs-h4); font-family:var(--font-display); font-weight:700; }
.card__short { margin:0; color:var(--ink-600); font-size:var(--fs-small); flex:1; }
.card__key { list-style:none; margin:0; padding:var(--space-3) 0 0; border-top:1px solid var(--ink-100); display:flex; gap:var(--space-5); flex-wrap:wrap; }
.card__key li { display:flex; flex-direction:column; }
.card__key-val { font-family:var(--font-mono); font-size:var(--fs-small); color:var(--ink-900); font-weight:600; }
.card__key-lbl { font-size:var(--fs-caption); color:var(--ink-500); }

/* Tag a status */
.tag {
  position:absolute; top:var(--space-3); left:var(--space-3); z-index:1;
  font-family:var(--font-mono); font-size:var(--fs-caption); letter-spacing:var(--ls-mono);
  text-transform:uppercase; padding:var(--space-1) var(--space-2); border-radius:var(--radius-sm);
  background:var(--green-500); color:#fff;
}
.tag--ink { background:var(--ink-900); color:var(--bg); }
.product__info .tag { position:static; display:inline-block; margin-bottom:var(--space-3); }
.status { font-family:var(--font-mono); font-size:var(--fs-caption); letter-spacing:var(--ls-mono); text-transform:uppercase; white-space:nowrap; padding:2px var(--space-2); border-radius:var(--radius-pill); }
.status--ok { color:var(--success-fg, #1E6235); background:var(--success-bg, #E6F2EA); }
.status--wait { color:var(--warning-fg, #8A4F08); background:var(--warning-bg, #FBEFD9); }
.status--lg { font-size:var(--fs-small); padding:var(--space-2) var(--space-3); }

/* Breadcrumb */
.breadcrumb { display:flex; align-items:center; gap:var(--space-2); font-family:var(--font-mono); font-size:var(--fs-caption); letter-spacing:var(--ls-mono); color:var(--ink-500); margin-bottom:var(--space-5); }
.breadcrumb a { color:var(--ink-600); }
.breadcrumb a:hover { color:var(--green-700); }

/* Štatistiky kategórie */
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-6); margin-top:var(--space-10); border-top:1px solid var(--ink-200); padding-top:var(--space-8); }
.stats__item { display:flex; flex-direction:column; gap:var(--space-1); }
.stats__val { font-family:var(--font-display); font-weight:700; font-size:var(--fs-h3); }
.stats__lbl { font-family:var(--font-mono); font-size:var(--fs-caption); text-transform:uppercase; letter-spacing:var(--ls-mono); color:var(--ink-500); }
.category__lead { max-width:760px; }
.category__intro { max-width:820px; margin-bottom:var(--space-12); }

/* Prípadová štúdia */
.casestudy { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-12); align-items:center; }
.casestudy__media { aspect-ratio:4/3; background:var(--ink-800); }
.casestudy__media img { width:100%; height:100%; object-fit:cover; border-radius:var(--radius-image); }
.casestudy__title { margin:var(--space-2) 0 var(--space-4); }
.casestudy__quote { margin:var(--space-6) 0; padding-left:var(--space-5); border-left:3px solid var(--green-500); }
.casestudy__quote p { font-size:var(--fs-body-lg); color:var(--ink-800); font-style:italic; margin:0 0 var(--space-2); }
.casestudy__quote cite { font-style:normal; font-family:var(--font-mono); font-size:var(--fs-caption); color:var(--ink-500); }
.metrics { display:flex; gap:var(--space-8); margin-top:var(--space-6); }
.metrics__item { display:flex; flex-direction:column; }
.metrics__val { font-family:var(--font-display); font-weight:700; font-size:var(--fs-h4); color:var(--green-700); }
.metrics__lbl { font-size:var(--fs-caption); color:var(--ink-500); }

/* Proces */
.process { list-style:none; counter-reset:none; padding:0; margin:0; display:grid; gap:var(--space-6); }
.process__step { display:flex; gap:var(--space-5); align-items:flex-start; padding-bottom:var(--space-6); border-bottom:1px solid var(--ink-200); }
.process__step:last-child { border-bottom:none; padding-bottom:0; }
.process__num { font-family:var(--font-mono); font-size:var(--fs-h4); color:var(--green-600); font-weight:600; min-width:48px; }
.process__title { margin:0 0 var(--space-1); font-size:var(--fs-h4); }
.process__text { margin:0; }

/* ----------------------------------------------------------------- PRODUKT */
.product__grid { display:grid; grid-template-columns:1.1fr 1fr; gap:var(--space-16); align-items:start; }
.product__name { margin:0 0 var(--space-2); }
.product__line { font-family:var(--font-mono); font-size:var(--fs-small); text-transform:uppercase; letter-spacing:var(--ls-mono); color:var(--ink-500); margin:0 0 var(--space-5); }
.product__desc { margin-bottom:var(--space-8); }
.product__key { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-5); padding:var(--space-6) 0; border-top:1px solid var(--ink-200); border-bottom:1px solid var(--ink-200); }
.product__key-item { display:flex; flex-direction:column; gap:var(--space-1); }
.product__key-val { font-family:var(--font-mono); font-weight:600; font-size:var(--fs-body-lg); color:var(--ink-900); }
.product__key-lbl { font-size:var(--fs-caption); color:var(--ink-500); text-transform:uppercase; letter-spacing:var(--ls-mono); font-family:var(--font-mono); }
.product__actions { display:flex; align-items:center; gap:var(--space-4); margin-top:var(--space-8); }

/* Galéria */
.gallery__main { aspect-ratio:4/3; background:var(--ink-800); }
.gallery__main img { width:100%; height:100%; object-fit:cover; border-radius:var(--radius-image); }
.gallery__thumbs { display:flex; gap:var(--space-3); margin-top:var(--space-3); flex-wrap:wrap; }
.gallery__thumb { width:88px; height:66px; padding:0; border:1px solid var(--ink-200); background:var(--ink-800); cursor:pointer; overflow:hidden; }
.gallery__thumb img { width:100%; height:100%; object-fit:cover; }
.gallery__thumb.is-active { border-color:var(--green-500); box-shadow:0 0 0 2px var(--green-500); }
.gallery__thumb:focus-visible { outline:none; box-shadow:var(--shadow-focus); }

/* Feature showcase */
.feature-showcase { display:grid; gap:var(--space-16); }
.feature { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-12); align-items:center; }
.feature--rev .feature__media { order:2; }
.feature__media { aspect-ratio:4/3; background:var(--ink-800); }
.feature__media img { width:100%; height:100%; object-fit:cover; border-radius:var(--radius-image); }
.feature__title { margin:var(--space-2) 0 var(--space-3); }
.feature__body p:last-child { margin:0; }

/* Tabuľka parametrov */
.spec-table { width:100%; border-collapse:collapse; }
.spec-table th, .spec-table td { text-align:left; padding:var(--space-3) var(--space-4); border-bottom:1px solid var(--ink-100); vertical-align:top; }
.spec-table th { font-weight:500; color:var(--ink-600); width:48%; font-family:var(--font-body); }
.spec-table td { font-family:var(--font-mono); font-size:var(--fs-small); color:var(--ink-900); }
.spec-table tr:nth-child(even) { background:var(--surface-2); }

/* ------------------------------------------------------------- RESPONSIVE */
@media (max-width:900px) {
  .cat-grid, .card-grid, .vp-grid { grid-template-columns:repeat(2,1fr); }
  .product__grid, .casestudy, .feature, .feature--rev .feature__media { grid-template-columns:1fr; }
  .feature--rev .feature__media { order:0; }
  .product__grid { gap:var(--space-8); }
  .cta-band__inner { flex-direction:column; align-items:flex-start; }
}
@media (max-width:560px) {
  .cat-grid, .card-grid, .vp-grid, .stats, .trust__grid, .product__key { grid-template-columns:repeat(2,1fr); }
  .vp-grid { grid-template-columns:1fr; }
  .metrics { flex-wrap:wrap; gap:var(--space-5); }
}

/* ==========================================================================
   FORMULÁR · KONTAKT · TOAST
   ========================================================================== */
.contact-grid { display:grid; grid-template-columns:1.6fr 1fr; gap:var(--space-16); align-items:start; }

.form__row { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-5); }
.field { display:flex; flex-direction:column; gap:var(--space-2); margin-bottom:var(--space-5); }
.field label { font-size:var(--fs-small); font-weight:600; color:var(--ink-800); }
.field .opt { font-weight:400; color:var(--ink-400); font-family:var(--font-mono); font-size:var(--fs-caption); text-transform:lowercase; letter-spacing:var(--ls-mono); }
.req { color:var(--green-700); }
.field input, .field textarea {
  font-family:var(--font-body); font-size:var(--fs-body); color:var(--ink-900);
  background:var(--surface); border:1px solid var(--ink-200); border-radius:var(--radius-md);
  padding:var(--space-3) var(--space-4); width:100%; transition:border-color .18s ease-out, box-shadow .18s ease-out;
}
.field input:hover, .field textarea:hover { border-color:var(--ink-300); }
.field input:focus, .field textarea:focus { outline:none; border-color:var(--green-500); box-shadow:var(--shadow-focus); }
.field input[aria-invalid="true"], .field textarea[aria-invalid="true"] { border-color:var(--danger); }
.field textarea { resize:vertical; min-height:120px; }
.field__err { font-size:var(--fs-caption); color:var(--danger); }

.field--check { margin-top:var(--space-2); }
.check { flex-direction:row; display:flex; gap:var(--space-3); align-items:flex-start; cursor:pointer; font-weight:400; }
.check input { width:18px; height:18px; margin-top:2px; accent-color:var(--green-500); flex:none; }
.check span { font-size:var(--fs-small); color:var(--ink-700); }

.form__alert { background:var(--danger-bg,#F6E5DF); color:var(--danger-fg,#8A2E1A); border-radius:var(--radius-md); padding:var(--space-3) var(--space-4); font-size:var(--fs-small); margin-bottom:var(--space-5); }
.form__foot { display:flex; align-items:center; gap:var(--space-5); margin-top:var(--space-2); flex-wrap:wrap; }
.form__note { font-size:var(--fs-caption); color:var(--ink-500); font-family:var(--font-mono); letter-spacing:var(--ls-mono); }
.form.is-busy { opacity:.6; pointer-events:none; }

/* Honeypot — vizuálne aj prístupnostne skryté, ale v DOM */
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* Úspešný stav */
.form-success { background:var(--surface); border-radius:var(--radius-lg); box-shadow:var(--shadow-subtle); padding:var(--space-12); text-align:center; }
.form-success__mark { display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:var(--radius-pill); background:var(--green-50); color:var(--green-700); font-size:28px; margin-bottom:var(--space-5); }
.form-success__title { margin:0 0 var(--space-3); }
.form-success .btn { margin-top:var(--space-5); }

.contact-info .contact-list { margin-top:var(--space-4); }

/* Toast */
.toast-host { position:fixed; right:var(--space-6); bottom:var(--space-6); z-index:200; display:flex; flex-direction:column; gap:var(--space-3); max-width:380px; }
.toast {
  background:var(--ink-900); color:var(--bg); border-radius:var(--radius-md); box-shadow:var(--shadow-elevated);
  padding:var(--space-4) var(--space-5); font-size:var(--fs-small); display:flex; gap:var(--space-3); align-items:flex-start;
  opacity:0; transform:translateY(8px); transition:opacity .2s ease-out, transform .2s ease-out;
}
.toast.is-in { opacity:1; transform:translateY(0); }
.toast__mark { color:var(--green-400); font-weight:700; }
.toast--error .toast__mark { color:var(--danger); }

@media (max-width:900px) {
  .contact-grid { grid-template-columns:1fr; gap:var(--space-10); }
}
@media (max-width:560px) {
  .form__row { grid-template-columns:1fr; }
  .toast-host { left:var(--space-4); right:var(--space-4); bottom:var(--space-4); max-width:none; }
}

/* ==========================================================================
   QUOTE MODAL — „Žiadosť o cenu" (otvára sa z CTA tlačidiel)
   ========================================================================== */
.modal { position:fixed; inset:0; z-index:300; display:flex; align-items:flex-start; justify-content:center; padding:var(--space-8) var(--space-4); overflow-y:auto; }
.modal[hidden] { display:none; }
.modal__scrim { position:fixed; inset:0; background:rgba(27,29,26,.32); backdrop-filter:blur(2px); }
.modal__dialog {
  position:relative; z-index:1; width:100%; max-width:640px; background:var(--surface);
  border-radius:var(--radius-lg); box-shadow:var(--shadow-elevated); padding:var(--space-10);
  margin:auto; animation:modal-in .2s ease-out;
}
@keyframes modal-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
.modal__close {
  position:absolute; top:var(--space-4); right:var(--space-4); width:36px; height:36px;
  border:none; background:var(--bg-subtle); color:var(--ink-700); border-radius:var(--radius-pill);
  font-size:20px; line-height:1; cursor:pointer; transition:background .15s ease-out;
}
.modal__close:hover { background:var(--ink-200); color:var(--ink-900); }
.modal__close:focus-visible { outline:none; box-shadow:var(--shadow-focus); }
.modal__title { margin:0 0 var(--space-2); }
.modal__lead { color:var(--ink-600); margin-bottom:var(--space-6); }
body.modal-open { overflow:hidden; }

@media (max-width:560px) {
  .modal { padding:0; }
  .modal__dialog { border-radius:0; min-height:100%; padding:var(--space-8) var(--space-5); }
}

/* ==========================================================================
   NA STIAHNUTIE — produktová stránka (katalóg / produktový list)
   ========================================================================== */
.downloads { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-4); }
.download {
  display:flex; align-items:center; gap:var(--space-4); padding:var(--space-5);
  background:var(--surface); border:1px solid var(--ink-200); border-radius:var(--radius-md);
  transition:border-color .15s ease-out, box-shadow .15s ease-out;
}
.download:hover { border-color:var(--green-500); box-shadow:var(--shadow-subtle); }
.download__icon { width:40px; height:40px; flex:none; display:flex; align-items:center; justify-content:center;
  background:var(--green-50); color:var(--green-700); border-radius:var(--radius-md);
  font-family:var(--font-mono); font-size:var(--fs-caption); font-weight:600; letter-spacing:.04em; }
.download__title { font-weight:600; color:var(--ink-900); margin:0; }
.download__meta { font-size:var(--fs-caption); color:var(--ink-500); font-family:var(--font-mono); }
@media (max-width:560px) { .downloads { grid-template-columns:1fr; } }
