/* ═══════════════════════════════════════════════════════
   KOUSKYSVETA DESIGN SYSTEM — LANDING KIT
   ───────────────────────────────────────────────────────
   Komponenty landing/obsahových stránek (doprava, kontakt,
   reference, velkoobchod, b2b…). VŠE scopováno pod .ksw-page,
   aby generická jména (.stat, .ghost, .n, .cap…) NEunikla na
   zbytek webu (WooCommerce/Elementor/téma).

   Použití: <div class="ksw-page"> …obsah… </div> — stránka pak
   nepotřebuje vlastní <style>; vše bere odsud + z components.css.

   Vlastní paleta (cream/ink) je definovaná na .ksw-page, brand
   tokeny dědí z :root (tokens.css). Base třídy (.btn, .heading-*,
   .faq-item/question/answer) jsou globální v components.css.
   ═══════════════════════════════════════════════════════ */

/* ── ZÁKLAD + LANDING PALETA ── */
.ksw-page {
  --cream: #FAF7F1;
  --cream-edge: #ECE6D9;
  --ink: #1c1c1c;
  --ink-soft: #2a2a2a;
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--cream);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
.ksw-page *, .ksw-page *::before, .ksw-page *::after { box-sizing: border-box; margin: 0; padding: 0; }
.ksw-page a { color: inherit; text-decoration: none; }
.ksw-page button { cursor: pointer; font-family: inherit; border: none; background: none; }
.ksw-page img { max-width: 100%; display: block; }

/* ── LAYOUT ── */
.ksw-page .wrap { max-width: 1280px; margin: 0 auto; padding: 0 var(--s-xl); }

/* ── SECTION TAG (eyebrow s číslem) ── */
.ksw-page .section-tag { display: flex; align-items: center; gap: 14px; font-family: var(--font-display); font-size: 11px; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase; color: var(--color-grey); margin-bottom: 18px; }
.ksw-page .section-tag::before { content: ""; width: 34px; height: 1px; background: var(--color-primary); }
.ksw-page .section-tag .num { color: var(--color-primary); }

/* ── SECTION HEAD ── */
.ksw-page .sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: var(--s-xl); flex-wrap: wrap; }
.ksw-page .sec-head h2 { font-family: var(--font-display); font-weight: 700; text-transform: uppercase; letter-spacing: .4px; line-height: 1; font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.4rem); }
.ksw-page .sec-head h2 em { font-style: normal; color: var(--color-primary); }
.ksw-page .sec-head .lead { font-size: 14px; color: var(--color-grey-accent); max-width: 440px; line-height: 1.55; }

/* ── FAQ chevron (base .faq-* jsou v components.css) ── */
.ksw-page .faq-chevron { width: 18px; height: 18px; fill: none; stroke: var(--color-grey); stroke-width: 2; transition: transform var(--transition-normal); flex-shrink: 0; }
.ksw-page .faq-item.open .faq-chevron { transform: rotate(180deg); }
.ksw-page .faq-sec { padding: var(--s-2xl) 0; background: #fff; border-top: 1px solid var(--cream-edge); }
.ksw-page .faq-wrap { max-width: 760px; margin: 0 auto; }
.ksw-page .faq-list { margin-top: var(--s-lg); }

/* ── HERO ── */
.ksw-page .page-hero { background: var(--ink); color: #fff; position: relative; overflow: hidden; padding: var(--s-2xl) 0; }
.ksw-page .page-hero::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--color-primary); }
.ksw-page .page-hero .crumbs { display: flex; align-items: center; gap: 10px; font-family: var(--font-display); font-size: 11px; font-weight: 500; letter-spacing: 1.4px; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: var(--s-xl); }
.ksw-page .page-hero .crumbs a:hover { color: #fff; }
.ksw-page .page-hero .crumbs .sep { color: #444; }
.ksw-page .page-hero .crumbs .here { color: var(--color-primary); }
.ksw-page .page-hero .eyebrow { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-display); font-size: 11px; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase; color: var(--color-primary); }
.ksw-page .page-hero .eyebrow::before { content: ""; width: 24px; height: 1px; background: var(--color-primary); }
.ksw-page .page-hero h1 { font-family: var(--font-display); font-weight: 700; text-transform: uppercase; letter-spacing: .5px; line-height: .98; font-size: clamp(2.4rem, 1.7rem + 3vw, 4.2rem); margin-top: 16px; color: #fff; }
.ksw-page .page-hero h1 em { font-style: normal; color: var(--color-primary); }
.ksw-page .page-hero .sub { font-size: 15px; line-height: 1.65; color: rgba(255,255,255,.66); max-width: 540px; margin-top: 18px; }
.ksw-page .page-hero .hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: var(--s-2xl); align-items: center; margin-top: var(--s-lg); }
.ksw-page .page-hero .hero-actions { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; margin-top: var(--s-lg); }
.ksw-page .page-hero .hero-ghost { font-family: var(--font-display); font-size: 12px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: #fff; display: inline-flex; align-items: center; gap: 8px; padding: 14px 4px; border-bottom: 1.5px solid rgba(255,255,255,.4); transition: border-color var(--transition-fast); }
.ksw-page .page-hero .hero-ghost:hover { border-color: var(--color-primary); }
.ksw-page .page-hero .hero-ghost::after { content: "→"; }
.ksw-page .page-hero .hero-photo { position: relative; border-radius: var(--radius-m); overflow: hidden; aspect-ratio: 3/2; box-shadow: var(--shadow-s); }
.ksw-page .page-hero .hero-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 880px) { .ksw-page .page-hero .hero-grid { grid-template-columns: 1fr; gap: var(--s-xl); } }

/* ── FOTO PLACEHOLDER ── */
.ksw-page .ph { position: absolute; inset: 0; background: #222; color: rgba(255,255,255,.5); background-image: repeating-linear-gradient(45deg, rgba(255,255,255,.05) 0 2px, transparent 2px 14px), linear-gradient(160deg, #2a2a2a, #161616); display: flex; align-items: flex-end; justify-content: flex-start; }
.ksw-page .ph .ph-tag { font-family: var(--font-display); font-size: 10px; font-weight: 600; letter-spacing: 1.6px; text-transform: uppercase; padding: 6px 10px; background: rgba(0,0,0,.45); color: #fff; margin: 12px; border-radius: 3px; }

/* ── PROOF (loga / stockists) ── */
.ksw-page .proof { padding: var(--s-xl) 0; background: #fff; border-bottom: 1px solid var(--cream-edge); }
.ksw-page .proof .plabel { font-family: var(--font-display); font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--color-grey); text-align: center; margin-bottom: var(--s-md); }
.ksw-page .proof .logos { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 12px; }
.ksw-page .proof .logo-chip { font-family: var(--font-display); font-size: 13px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; color: var(--ink-soft); background: var(--cream); border: 1px solid var(--cream-edge); border-radius: var(--radius-xl); padding: 9px 16px; white-space: nowrap; }

/* ── STATS ── */
.ksw-page .stats { padding: var(--s-2xl) 0; }
.ksw-page .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--cream-edge); border-bottom: 1px solid var(--cream-edge); }
.ksw-page .stat { padding: var(--s-lg) var(--s-md); }
.ksw-page .stat + .stat { border-left: 1px solid var(--cream-edge); }
.ksw-page .stat .n { font-family: var(--font-display); font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.6rem); font-weight: 700; color: var(--color-primary); line-height: 1; }
.ksw-page .stat .n em { font-style: normal; color: var(--ink); }
.ksw-page .stat .l { font-family: var(--font-display); font-size: 11px; font-weight: 600; letter-spacing: 1.4px; text-transform: uppercase; color: var(--color-grey-accent); margin-top: 10px; line-height: 1.3; }
@media (max-width: 720px) { .ksw-page .stats-grid { grid-template-columns: 1fr 1fr; } .ksw-page .stat:nth-child(3) { border-left: none; } .ksw-page .stat:nth-child(n+3) { border-top: 1px solid var(--cream-edge); } }

/* ── CAPS / KARTY (ic + tname + tdesc) ── */
.ksw-page .caps { padding: var(--s-2xl) 0; }
.ksw-page .cap-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s-md); }
.ksw-page .cap { background: #fff; border: 1px solid var(--cream-edge); border-radius: var(--radius-m); padding: var(--s-lg); display: flex; flex-direction: column; gap: 12px; }
.ksw-page .cap .ic { width: 52px; height: 52px; border-radius: var(--radius-s); background: var(--color-primary-light); color: var(--color-primary); display: flex; align-items: center; justify-content: center; }
.ksw-page .cap .ic svg { width: 26px; height: 26px; stroke: currentColor; stroke-width: 1.5; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.ksw-page .cap .tname { font-family: var(--font-display); font-size: 16px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; line-height: 1.15; color: var(--ink); }
.ksw-page .cap .tdesc { font-size: 13px; color: var(--color-grey-accent); line-height: 1.55; }
@media (max-width: 880px) { .ksw-page .cap-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .ksw-page .cap-grid { grid-template-columns: 1fr; } }
.ksw-page .support-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-md); }
@media (max-width: 880px) { .ksw-page .support-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .ksw-page .support-grid { grid-template-columns: 1fr; } }

/* ── TERMS / PARAMS / SORTIMENT ── */
.ksw-page .terms { padding: var(--s-2xl) 0; }
.ksw-page .terms-inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--s-2xl); align-items: start; }
@media (max-width: 880px) { .ksw-page .terms-inner { grid-template-columns: 1fr; gap: var(--s-xl); } }
.ksw-page .param-list { display: flex; flex-direction: column; border: 1px solid var(--cream-edge); border-radius: var(--radius-s); overflow: hidden; background: #fff; }
.ksw-page .param-row { display: flex; align-items: flex-start; gap: 16px; padding: var(--s-md); border-bottom: 1px solid var(--cream-edge); }
.ksw-page .param-row:last-child { border-bottom: none; }
.ksw-page .param-row .k { font-family: var(--font-display); font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--color-grey); min-width: 150px; flex-shrink: 0; padding-top: 2px; }
.ksw-page .param-row .v { font-size: 14px; color: var(--ink); line-height: 1.5; }
.ksw-page .param-row .v strong { font-family: var(--font-display); font-weight: 600; }
.ksw-page .todo { display: inline-block; font-family: var(--font-display); font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--color-primary); background: var(--color-primary-light); border-radius: 4px; padding: 2px 7px; }
.ksw-page .sortiment { background: var(--color-secondary-light); border-radius: var(--radius-m); padding: var(--s-xl); }
.ksw-page .sortiment h3 { font-family: var(--font-display); font-size: var(--t-xl); font-weight: 700; text-transform: uppercase; letter-spacing: .3px; color: var(--ink); line-height: 1.1; margin-bottom: 14px; }
.ksw-page .sortiment ul { list-style: none; display: grid; gap: 10px; }
.ksw-page .sortiment li { position: relative; padding-left: 28px; font-size: 14px; color: var(--ink-soft); line-height: 1.5; }
.ksw-page .sortiment li::before { content: ""; position: absolute; left: 0; top: 1px; width: 18px; height: 18px; border-radius: 50%; background: var(--color-secondary); background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 8l3 3 7-7'/></svg>"); background-repeat: no-repeat; background-position: center; background-size: 12px; }
.ksw-page .sortiment .more { margin-top: 16px; font-family: var(--font-display); font-size: 12px; font-weight: 600; letter-spacing: .6px; text-transform: uppercase; color: var(--color-secondary-hover); }

/* ── PROC (tmavý postup s kroky) ── */
.ksw-page .proc { background: var(--ink); color: #fff; padding: var(--s-2xl) 0; }
.ksw-page .proc-head h2 { font-family: var(--font-display); font-weight: 700; text-transform: uppercase; letter-spacing: .4px; line-height: 1; font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.4rem); }
.ksw-page .proc-head h2 em { font-style: normal; color: var(--color-primary); }
.ksw-page .proc-head .lead { font-size: 14px; color: rgba(255,255,255,.6); max-width: 460px; line-height: 1.6; margin-top: 14px; }
.ksw-page .proc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: var(--s-xl); border-top: 1px solid #2a2a2a; }
.ksw-page .proc-step { padding: var(--s-lg) var(--s-md) 0 0; position: relative; }
.ksw-page .proc-step + .proc-step { padding-left: var(--s-md); border-left: 1px solid #2a2a2a; }
.ksw-page .proc-step .n { font-family: var(--font-display); font-size: 40px; font-weight: 700; color: var(--color-primary); line-height: 1; }
.ksw-page .proc-step h4 { font-family: var(--font-display); font-size: 14px; font-weight: 600; letter-spacing: .6px; text-transform: uppercase; color: #fff; margin-top: 14px; line-height: 1.2; }
.ksw-page .proc-step p { font-size: 13px; color: rgba(255,255,255,.6); line-height: 1.6; margin-top: 8px; }
@media (max-width: 880px) { .ksw-page .proc-grid { grid-template-columns: 1fr 1fr; } .ksw-page .proc-step:nth-child(3) { border-left: none; } .ksw-page .proc-step:nth-child(n+3) { border-top: 1px solid #2a2a2a; padding-top: var(--s-lg); } }
@media (max-width: 520px) { .ksw-page .proc-grid { grid-template-columns: 1fr; } .ksw-page .proc-step + .proc-step { border-left: none; border-top: 1px solid #2a2a2a; padding-left: 0; } }

/* ── PERSON (kontaktní karta) ── */
.ksw-page .person { padding: var(--s-2xl) 0; }
.ksw-page .person-card { display: grid; grid-template-columns: auto 1fr auto; gap: var(--s-xl); align-items: center; background: var(--ink); color: #fff; border-radius: var(--radius-m); padding: var(--s-xl); }
.ksw-page .person-photo { width: 104px; height: 104px; border-radius: 50%; overflow: hidden; position: relative; flex-shrink: 0; background: #2a2a2a; border: 2px solid var(--color-primary); }
.ksw-page .person-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ksw-page .person-photo .ph { align-items: center; justify-content: center; }
.ksw-page .person-photo .ph .ph-tag { margin: 0; }
.ksw-page .person-info .pe { font-family: var(--font-display); font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--color-primary); }
.ksw-page .person-info h3 { font-family: var(--font-display); font-size: var(--t-xl); font-weight: 700; text-transform: uppercase; letter-spacing: .3px; margin-top: 6px; }
.ksw-page .person-info p { font-size: 14px; color: rgba(255,255,255,.7); line-height: 1.6; margin-top: 10px; max-width: 460px; }
.ksw-page .person-contact { display: flex; flex-direction: column; gap: 10px; flex-shrink: 0; }
.ksw-page .person-contact a { font-family: var(--font-display); font-size: 14px; font-weight: 600; letter-spacing: .4px; color: #fff; display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; }
.ksw-page .person-contact a:hover { color: var(--color-primary); }
.ksw-page .person-contact svg { width: 16px; height: 16px; stroke: var(--color-primary); stroke-width: 1.7; fill: none; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
@media (max-width: 820px) { .ksw-page .person-card { grid-template-columns: 1fr; text-align: center; } .ksw-page .person-photo { margin: 0 auto; } .ksw-page .person-info p { margin-left: auto; margin-right: auto; } .ksw-page .person-contact { align-items: center; } }

/* ── HELP CTA (oranžový blok) ── */
.ksw-page .help { padding: var(--s-2xl) 0; }
.ksw-page .help-card { background: var(--color-primary); color: #fff; border-radius: var(--radius-m); padding: var(--s-2xl) var(--s-xl); display: flex; align-items: center; justify-content: space-between; gap: var(--s-xl); flex-wrap: wrap; }
.ksw-page .help-card h3 { font-family: var(--font-display); font-weight: 700; text-transform: uppercase; letter-spacing: .4px; line-height: 1.05; font-size: clamp(1.6rem, 1.1rem + 1.4vw, 2.3rem); }
.ksw-page .help-card h3 em { font-style: normal; color: #fff; text-decoration: underline; text-decoration-color: rgba(255,255,255,.5); text-underline-offset: 5px; }
.ksw-page .help-card p { font-size: 14px; color: rgba(255,255,255,.85); margin-top: 12px; max-width: 440px; line-height: 1.6; }
.ksw-page .help-card .actions { display: flex; gap: 14px; flex-wrap: wrap; }
.ksw-page .help-card .btn-white { background: #fff; color: var(--color-primary); font-family: var(--font-display); font-weight: 600; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; padding: 16px 28px; border-radius: var(--radius-s); transition: transform var(--transition-fast); }
.ksw-page .help-card .btn-white:hover { transform: translateY(-1px); }
.ksw-page .help-card .ghost { font-family: var(--font-display); font-size: 12px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: #fff; display: inline-flex; align-items: center; gap: 8px; padding: 16px 4px; border-bottom: 1.5px solid rgba(255,255,255,.5); transition: border-color var(--transition-fast); }
.ksw-page .help-card .ghost:hover { border-color: #fff; }


/* ═══ b2b-en (auto-migrace) ═══ */
.ksw-page .ways{padding:var(--s-2xl) 0}
.ksw-page .way-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-md)}
.ksw-page .way{background:#fff;border:1px solid var(--cream-edge);border-radius:var(--radius-m);overflow:hidden;display:flex;flex-direction:column}
.ksw-page .way.featured{border-color:var(--color-secondary);box-shadow:var(--shadow-s)}
.ksw-page .way-photo{position:relative;aspect-ratio:16/10;background:#1c1c1c}
.ksw-page .way-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ksw-page .way .badge{position:absolute;left:14px;top:14px;z-index:1;font-family:var(--font-display);font-size:9px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;background:rgba(255,255,255,.92);color:var(--ink);padding:5px 9px;border-radius:3px}
.ksw-page .way.featured .badge{background:var(--color-secondary);color:#fff}
.ksw-page .way-body{padding:var(--s-lg);display:flex;flex-direction:column;gap:12px;flex:1}
.ksw-page .way .wn{font-family:var(--font-display);font-size:19px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;line-height:1.12;color:var(--ink)}
.ksw-page .way .wd{font-size:14px;color:var(--color-grey-accent);line-height:1.6;flex:1}
.ksw-page .way .wnote{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--color-primary);padding-top:12px;border-top:1px solid var(--cream-edge)}
.ksw-page .ways-compare{margin-top:var(--s-lg);font-size:14px;color:var(--color-grey-accent);text-align:center}
.ksw-page .ways-compare a{font-family:var(--font-display);font-weight:600;letter-spacing:.4px;text-transform:uppercase;font-size:12px;color:var(--color-primary);white-space:nowrap}
@media (max-width:880px){.ksw-page .way-grid{grid-template-columns:1fr}}
.ksw-page .quotes{padding:var(--s-2xl) 0}
.ksw-page .quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-md)}
.ksw-page .qcard{background:#fff;border:1px solid var(--cream-edge);border-radius:var(--radius-m);padding:var(--s-xl);display:flex;flex-direction:column;gap:14px}
.ksw-page .qcard .qmark{font-family:var(--font-display);font-size:46px;line-height:.5;color:var(--color-primary);height:24px}
.ksw-page .qcard .qtext{font-size:15px;line-height:1.7;color:var(--ink-soft);flex:1}
.ksw-page .qcard .qwho{display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid var(--cream-edge)}
.ksw-page .qcard .qav{width:40px;height:40px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:13px;flex-shrink:0;letter-spacing:.5px}
.ksw-page .qcard .qn{font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--ink)}
.ksw-page .qcard .qc{font-size:12px;color:var(--color-grey)}
@media (max-width:760px){.ksw-page .quote-grid{grid-template-columns:1fr}}
.ksw-page .eco-card{background:var(--color-secondary-light);border-radius:var(--radius-m);padding:var(--s-xl);position:relative;overflow:hidden}
.ksw-page .eco-card .ic{width:48px;height:48px;border-radius:50%;background:var(--color-secondary);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.ksw-page .eco-card .ic svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ksw-page .eco-card h3{font-family:var(--font-display);font-size:var(--t-xl);font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--ink);line-height:1.1}
.ksw-page .eco-card p{font-size:14px;line-height:1.7;color:var(--ink-soft);margin-top:14px}


/* ═══ b2b-cz (auto-migrace) ═══ */
.ksw-page .cap:hover{border-color:var(--color-primary);box-shadow:var(--shadow-s);transform:translateY(-2px)}
.ksw-page .audience{padding:0 0 var(--s-2xl)}
.ksw-page .aud-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-md)}
.ksw-page .aud{background:var(--color-secondary-light);border-radius:var(--radius-m);padding:var(--s-lg);display:flex;flex-direction:column;gap:10px}
.ksw-page .aud .ic{width:42px;height:42px;border-radius:50%;background:var(--color-secondary);color:#fff;display:flex;align-items:center;justify-content:center}
.ksw-page .aud .ic svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ksw-page .aud .an{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:var(--ink);margin-top:4px}
.ksw-page .aud .ad{font-size:13px;color:var(--ink-soft);line-height:1.5}
@media (max-width:880px){.ksw-page .aud-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.ksw-page .aud-grid{grid-template-columns:1fr}}


/* ═══ doprava-en (auto-migrace) ═══ */
.ksw-page .ship-intro{padding:var(--s-2xl) 0 var(--s-xl)}
.ksw-page .freeband{background:var(--color-primary);color:#fff;border-radius:var(--radius-m);overflow:hidden;display:grid;grid-template-columns:1.4fr 1fr;align-items:center}
.ksw-page .freeband .copy{padding:var(--s-xl) var(--s-xl)}
.ksw-page .freeband .eyebrow{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.8)}
.ksw-page .freeband h2{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.4px;line-height:1;font-size:clamp(1.7rem,1.2rem + 1.8vw,2.6rem);margin-top:12px}
.ksw-page .freeband p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.85);margin-top:14px;max-width:420px}
.ksw-page .freeband .big{padding:var(--s-xl);border-left:1px solid rgba(255,255,255,.25);text-align:center}
.ksw-page .freeband .big .n{font-family:var(--font-display);font-size:clamp(3rem,2rem + 4vw,5rem);font-weight:700;line-height:.9}
.ksw-page .freeband .big .l{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:rgba(255,255,255,.8);margin-top:10px}
@media (max-width:720px){.ksw-page .freeband{grid-template-columns:1fr}.ksw-page .freeband .big{border-left:none;border-top:1px solid rgba(255,255,255,.25)}}
.ksw-page .carriers{padding:var(--s-2xl) 0}
.ksw-page .carrier-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-md)}
.ksw-page .carrier{background:#fff;border:1px solid var(--cream-edge);border-radius:var(--radius-m);padding:var(--s-lg);display:flex;flex-direction:column;gap:var(--s-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}
.ksw-page .carrier:hover{border-color:var(--color-primary);box-shadow:var(--shadow-s)}
.ksw-page .carrier .top{display:flex;align-items:flex-start;gap:14px}
.ksw-page .carrier .ic{width:52px;height:52px;border-radius:var(--radius-s);background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ksw-page .carrier .ic svg{width:26px;height:26px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ksw-page .carrier .tname{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;line-height:1;color:var(--ink)}
.ksw-page .carrier .tdesc{font-size:13px;color:var(--color-grey-accent);line-height:1.5;margin-top:6px}
.ksw-page .carrier .rows{margin-top:auto;border-top:1px solid var(--cream-edge);padding-top:var(--s-md);display:flex;flex-direction:column;gap:10px}
.ksw-page .carrier .r{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ksw-page .carrier .r .k{font-size:12px;color:var(--color-grey);display:flex;align-items:center;gap:8px}
.ksw-page .carrier .r .k svg{width:14px;height:14px;stroke:var(--color-grey);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ksw-page .carrier .r .v{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--ink)}
.ksw-page .carrier .r .v.free{color:var(--color-secondary)}
.ksw-page .carrier .tag-best{align-self:flex-start;font-family:var(--font-display);font-size:9px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;background:var(--color-secondary);color:#fff;padding:4px 9px;border-radius:3px}
@media (max-width:720px){.ksw-page .carrier-grid{grid-template-columns:1fr}}
.ksw-page .zones{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-md);margin-top:var(--s-md)}
.ksw-page .zone{background:#fff;border:1px solid var(--cream-edge);border-radius:var(--radius-s);padding:var(--s-lg)}
.ksw-page .zone .flag{font-size:22px;line-height:1}
.ksw-page .zone .z-name{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--ink);margin-top:10px}
.ksw-page .zone .z-time{font-size:12px;color:var(--color-grey);margin-top:4px}
.ksw-page .zone .z-price{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--ink);margin-top:12px}
.ksw-page .zone .z-price .from{font-size:9px;color:var(--color-grey);letter-spacing:1px;text-transform:uppercase;margin-right:4px;font-weight:500}
@media (max-width:720px){.ksw-page .zones{grid-template-columns:1fr}}
.ksw-page .flow{background:var(--ink);color:#fff;padding:var(--s-2xl) 0}
.ksw-page .flow-head h2{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.4px;line-height:1;font-size:clamp(1.7rem,1.2rem + 1.6vw,2.4rem)}
.ksw-page .flow-head h2 em{font-style:normal;color:var(--color-primary)}
.ksw-page .flow-head .lead{font-size:14px;color:rgba(255,255,255,.6);max-width:460px;line-height:1.6;margin-top:14px}
.ksw-page .flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:var(--s-xl);border-top:1px solid #2a2a2a}
.ksw-page .flow-step{padding:var(--s-lg) var(--s-md) 0 0;position:relative}
.ksw-page .flow-step + .flow-step{padding-left:var(--s-md);border-left:1px solid #2a2a2a}
.ksw-page .flow-step .n{font-family:var(--font-display);font-size:40px;font-weight:700;color:var(--color-primary);line-height:1}
.ksw-page .flow-step h4{font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:#fff;margin-top:14px;line-height:1.2}
.ksw-page .flow-step p{font-size:13px;color:rgba(255,255,255,.6);line-height:1.6;margin-top:8px}
@media (max-width:880px){.ksw-page .flow-grid{grid-template-columns:1fr 1fr}.ksw-page .flow-step:nth-child(3){border-left:none}.ksw-page .flow-step:nth-child(n+3){border-top:1px solid #2a2a2a;padding-top:var(--s-lg)}}
@media (max-width:520px){.ksw-page .flow-grid{grid-template-columns:1fr}.ksw-page .flow-step + .flow-step{border-left:none;border-top:1px solid #2a2a2a;padding-left:0}}
.ksw-page .traveler{padding:var(--s-2xl) 0}
.ksw-page .trav-card{background:var(--color-secondary-light);border-radius:var(--radius-m);padding:var(--s-2xl) var(--s-xl);display:grid;grid-template-columns:1.4fr .9fr;gap:var(--s-2xl);align-items:center}
.ksw-page .trav-card .eyebrow{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--color-secondary-hover)}
.ksw-page .trav-card h2{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.3px;line-height:1.05;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem);color:var(--ink);margin-top:10px}
.ksw-page .trav-card h2 em{font-style:normal;color:var(--color-secondary-hover)}
.ksw-page .trav-card .lead{font-size:14px;line-height:1.7;color:var(--ink-soft);margin-top:14px;max-width:520px}
.ksw-page .trav-points{list-style:none;margin-top:var(--s-lg);display:grid;gap:12px}
.ksw-page .trav-points li{position:relative;padding-left:30px;font-size:14px;line-height:1.5;color:var(--ink-soft)}
.ksw-page .trav-points li strong{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.3px;font-weight:600;color:var(--ink)}
.ksw-page .trav-points li::before{content:"";position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;background:var(--color-secondary);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 8l3 3 7-7'/></svg>");background-repeat:no-repeat;background-position:center;background-size:12px}
.ksw-page .trav-aside{background:#fff;border-radius:var(--radius-m);padding:var(--s-xl);text-align:center;box-shadow:var(--shadow-s)}
.ksw-page .trav-aside .ic{width:54px;height:54px;border-radius:50%;background:var(--color-secondary);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto var(--s-md)}
.ksw-page .trav-aside .ic svg{width:26px;height:26px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ksw-page .trav-aside .n{font-family:var(--font-display);font-size:clamp(2.4rem,1.8rem + 2vw,3.4rem);font-weight:700;color:var(--color-secondary-hover);line-height:1}
.ksw-page .trav-aside .l{font-size:13px;color:var(--color-grey-accent);line-height:1.5;margin-top:8px;max-width:210px;margin-left:auto;margin-right:auto}
@media (max-width:780px){.ksw-page .trav-card{grid-template-columns:1fr;gap:var(--s-xl)}}
.ksw-page .split{padding:var(--s-2xl) 0}
.ksw-page .split-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--s-2xl);align-items:start}
@media (max-width:880px){.ksw-page .split-inner{grid-template-columns:1fr;gap:var(--s-xl)}}
.ksw-page .pay-list{display:flex;flex-direction:column;border:1px solid var(--cream-edge);border-radius:var(--radius-s);overflow:hidden;background:#fff}
.ksw-page .pay-row{display:flex;align-items:center;gap:14px;padding:var(--s-md);border-bottom:1px solid var(--cream-edge)}
.ksw-page .pay-row:last-child{border-bottom:none}
.ksw-page .pay-row .ic{width:40px;height:40px;border-radius:var(--radius-s);background:var(--color-grey-light);color:var(--ink);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ksw-page .pay-row .ic svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ksw-page .pay-row .t{font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:var(--ink)}
.ksw-page .pay-row .s{font-size:12px;color:var(--color-grey);margin-top:2px}
.ksw-page .pay-row .fee{margin-left:auto;font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--color-secondary)}
.ksw-page .eco-card p strong{font-weight:600}
.ksw-page .faq-list .faq-item .faq-question{font-family:var(--font-body);font-size:15px}
.ksw-page .faq-list .faq-chevron{width:18px;height:18px;fill:none;stroke:var(--color-grey);stroke-width:2;transition:transform var(--transition-normal);flex-shrink:0}
.ksw-page .faq-list .faq-item.open .faq-chevron{transform:rotate(180deg)}
.ksw-page .faq-list .faq-answer{font-size:14px;line-height:1.7}
.ksw-page .help-card .btn-primary{background:var(--color-primary);font-size:13px;letter-spacing:1.5px;padding:16px 26px}
.ksw-page .help-card .btn-primary:hover{background:var(--color-primary-hover)}
.ksw-page .help-card .ghost::after{content:"→"}


/* ═══ doprava-cz (auto-migrace) ═══ */
.ksw-page .page-hero .crumbs a{transition:color var(--transition-fast)}
.ksw-page .pay-row .fee.cost{color:var(--color-grey-accent)}
.ksw-page .zone.zone-link{display:flex;flex-direction:column;background:var(--ink);color:#fff;border-color:var(--ink)}
.ksw-page .zone.zone-link .z-name{color:#fff}
.ksw-page .zone.zone-link .z-lead{font-size:13px;color:rgba(255,255,255,.7);line-height:1.55;margin-top:8px}
.ksw-page .zone.zone-link .z-cta{margin-top:auto;padding-top:14px;font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--color-primary);display:inline-flex;align-items:center;gap:8px}
.ksw-page .zone.zone-link .z-cta::after{content:"→"}


/* ═══ kontakt-en (auto-migrace) ═══ */
.ksw-page .page-hero .ph{position:absolute;inset:0;background:#222;color:rgba(255,255,255,.5);background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 2px,transparent 2px 14px),linear-gradient(160deg,#2a2a2a,#161616);display:flex;align-items:flex-end;justify-content:flex-start}
.ksw-page .page-hero .ph .ph-tag{font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;padding:6px 10px;background:rgba(0,0,0,.45);color:#fff;margin:12px;border-radius:3px}
.ksw-page .methods{padding:var(--s-2xl) 0 var(--s-xl)}
.ksw-page .method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-md)}
.ksw-page .method{background:#fff;border:1px solid var(--cream-edge);border-radius:var(--radius-m);padding:var(--s-lg);display:flex;flex-direction:column;gap:12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}
.ksw-page .method:hover{border-color:var(--color-primary);box-shadow:var(--shadow-s);transform:translateY(-2px)}
.ksw-page .method .ic{width:48px;height:48px;border-radius:var(--radius-s);background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center}
.ksw-page .method .ic svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ksw-page .method .lbl{font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--color-grey)}
.ksw-page .method .val{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:.2px;color:var(--ink);line-height:1.2;word-break:break-word}
.ksw-page .method .note{font-size:12px;color:var(--color-grey);line-height:1.5;margin-top:auto}
.ksw-page .method .socials{display:flex;gap:8px;margin-top:4px}
.ksw-page .method .socials a{width:34px;height:34px;border-radius:50%;background:var(--color-grey-light);color:var(--ink);display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast)}
.ksw-page .method .socials a:hover{background:var(--color-primary);color:#fff}
.ksw-page .method .socials svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:980px){.ksw-page .method-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ksw-page .method-grid{grid-template-columns:1fr}}
.ksw-page .contact-main{padding:var(--s-xl) 0 var(--s-2xl)}
.ksw-page .cm-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:var(--s-2xl);align-items:start}
@media (max-width:920px){.ksw-page .cm-grid{grid-template-columns:1fr;gap:var(--s-xl)}}
.ksw-page .form-card{background:#fff;border:1px solid var(--cream-edge);border-radius:var(--radius-m);padding:var(--s-xl)}
.ksw-page .form-card .intro{font-size:14px;color:var(--color-grey-accent);line-height:1.65;margin-top:8px;margin-bottom:var(--s-lg);max-width:520px}
.ksw-page .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-md)}
.ksw-page .field{display:flex;flex-direction:column;gap:7px}
.ksw-page .field.full{grid-column:1 / -1}
.ksw-page .field label{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--color-grey-accent)}
.ksw-page .field label .req{color:var(--color-primary)}
.ksw-page .field textarea.input-field{resize:vertical;min-height:130px;font-family:var(--font-body);line-height:1.6}
.ksw-page .field select.input-field{appearance:none;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none' stroke='%237A7A7A' stroke-width='2'><path d='M4 7l5 5 5-5'/></svg>") no-repeat right 14px center/16px;cursor:pointer}
.ksw-page .form-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-md);margin-top:var(--s-lg);flex-wrap:wrap}
.ksw-page .consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--color-grey);line-height:1.5;max-width:340px}
.ksw-page .consent input{margin-top:3px;width:16px;height:16px;accent-color:var(--color-primary);flex-shrink:0}
.ksw-page .consent a{color:var(--color-primary)}
.ksw-page .form-card .btn-primary{font-size:13px;letter-spacing:1.5px;padding:15px 30px}
.ksw-page .form-note{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--color-grey);margin-top:var(--s-md)}
.ksw-page .form-note svg{width:15px;height:15px;stroke:var(--color-secondary);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.ksw-page .form-sent{display:none;align-items:center;gap:14px;background:var(--color-secondary-light);border-radius:var(--radius-s);padding:var(--s-md) var(--s-lg);margin-top:var(--s-md)}
.ksw-page .form-sent.show{display:flex}
.ksw-page .form-sent .dot{width:38px;height:38px;border-radius:50%;background:var(--color-secondary);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ksw-page .form-sent .dot svg{width:20px;height:20px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ksw-page .form-sent .t{font-family:var(--font-display);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--ink)}
.ksw-page .form-sent .s{font-size:12px;color:var(--ink-soft)}
.ksw-page .aside-card{background:var(--ink);color:#fff;border-radius:var(--radius-m);padding:var(--s-xl);margin-bottom:var(--s-md)}
.ksw-page .aside-card h3{font-family:var(--font-display);font-size:var(--t-lg);font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#fff;margin-bottom:var(--s-md)}
.ksw-page .aside-card .resp{display:flex;align-items:center;gap:12px}
.ksw-page .aside-card .resp .ic{width:38px;height:38px;border-radius:50%;background:rgba(210,132,61,.15);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ksw-page .aside-card .resp .ic svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ksw-page .aside-card .resp .t{font-family:var(--font-display);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.ksw-page .aside-card .resp .s{font-size:12px;color:rgba(255,255,255,.55)}
.ksw-page .bill-card{background:#fff;border:1px solid var(--cream-edge);border-radius:var(--radius-m);padding:var(--s-xl)}
.ksw-page .bill-card h3{font-family:var(--font-display);font-size:var(--t-lg);font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--ink);margin-bottom:var(--s-md)}
.ksw-page .bill-list{display:flex;flex-direction:column;gap:0}
.ksw-page .bill-list .b-row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--cream-edge);font-size:13px}
.ksw-page .bill-list .b-row:last-child{border-bottom:none}
.ksw-page .bill-list .b-k{color:var(--color-grey)}
.ksw-page .bill-list .b-v{font-family:var(--font-display);font-weight:600;color:var(--ink);text-align:right}
.ksw-page .b2b{padding:0 0 var(--s-2xl)}
.ksw-page .b2b-card{background:var(--color-secondary-light);border-radius:var(--radius-m);padding:var(--s-xl) var(--s-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--s-xl);flex-wrap:wrap}
.ksw-page .b2b-card .eyebrow{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--color-secondary-hover)}
.ksw-page .b2b-card h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.3px;line-height:1.05;font-size:clamp(1.4rem,1.1rem + 1.2vw,2rem);color:var(--ink);margin-top:10px}
.ksw-page .b2b-card p{font-size:14px;line-height:1.6;color:var(--ink-soft);margin-top:10px;max-width:460px}
.ksw-page .b2b-card .btn-primary{background:var(--color-secondary);font-size:13px;letter-spacing:1.5px;padding:15px 26px}
.ksw-page .b2b-card .btn-primary:hover{background:var(--color-secondary-hover)}


/* ═══ kontakt-cz (auto-migrace) ═══ */
.ksw-page .hours{display:flex;flex-direction:column;gap:0}
.ksw-page .hours .h-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid #2a2a2a;font-size:13px}
.ksw-page .hours .h-row:last-child{border-bottom:none}
.ksw-page .hours .h-day{color:rgba(255,255,255,.7);font-family:var(--font-display);letter-spacing:.4px;text-transform:uppercase;font-size:12px;font-weight:500}
.ksw-page .hours .h-time{font-family:var(--font-display);font-weight:600;color:#fff;font-size:13px}
.ksw-page .hours .h-time.closed{color:var(--color-grey)}
.ksw-page .studio{padding:0 0 var(--s-2xl)}
.ksw-page .studio-card{display:grid;grid-template-columns:1.2fr 1fr;background:#fff;border:1px solid var(--cream-edge);border-radius:var(--radius-m);overflow:hidden}
.ksw-page .studio-visual{position:relative;min-height:380px;background:#1c1c1c}
.ksw-page .studio-visual iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ksw-page .studio-visual .ph{position:absolute;inset:0;background:#EFE9DD;color:rgba(0,0,0,.45);background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.035) 0 2px,transparent 2px 14px),linear-gradient(160deg,#EFE9DD 0%,#E1D9C7 100%);display:flex;align-items:flex-start;justify-content:flex-start}
.ksw-page .studio-visual .ph .ph-tag{font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;padding:6px 10px;background:rgba(255,255,255,.85);color:#1c1c1c;display:inline-flex;align-items:center;gap:6px;margin:12px;border-radius:3px}
.ksw-page .studio-visual .ph .ph-tag::before{content:"●";font-size:8px;color:var(--color-primary)}
.ksw-page .studio-visual .pin{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff;z-index:1}
.ksw-page .studio-visual .pin .dot{width:44px;height:44px;border-radius:50% 50% 50% 0;background:var(--color-primary);transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(210,132,61,.5)}
.ksw-page .studio-visual .pin .dot svg{width:20px;height:20px;stroke:#fff;stroke-width:2;fill:none;transform:rotate(45deg)}
.ksw-page .studio-visual .pin .lbl{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;background:rgba(28,28,28,.8);padding:6px 12px;border-radius:3px}
.ksw-page .studio-copy{padding:var(--s-2xl) var(--s-xl);display:flex;flex-direction:column;justify-content:center}
.ksw-page .studio-copy .eyebrow{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--color-primary)}
.ksw-page .studio-copy h2{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.3px;line-height:1.05;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.2rem);margin-top:12px}
.ksw-page .studio-copy p{font-size:14px;line-height:1.7;color:var(--color-grey-accent);margin-top:16px;max-width:420px}
.ksw-page .studio-copy .addr{display:flex;align-items:flex-start;gap:12px;margin-top:var(--s-lg);padding-top:var(--s-lg);border-top:1px solid var(--cream-edge)}
.ksw-page .studio-copy .addr .ic{width:38px;height:38px;border-radius:var(--radius-s);background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ksw-page .studio-copy .addr .ic svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ksw-page .studio-copy .addr .a-name{font-family:var(--font-display);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--ink)}
.ksw-page .studio-copy .addr .a-line{font-size:13px;color:var(--color-grey-accent);line-height:1.5;margin-top:3px}
.ksw-page .studio-copy .directions{margin-top:var(--s-md);font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink);display:inline-flex;align-items:center;gap:8px;border-bottom:1.5px solid var(--ink);padding-bottom:3px;align-self:flex-start;transition:color var(--transition-fast),border-color var(--transition-fast)}
.ksw-page .studio-copy .directions:hover{color:var(--color-primary);border-color:var(--color-primary)}
.ksw-page .studio-copy .directions::after{content:"→"}
@media (max-width:880px){.ksw-page .studio-card{grid-template-columns:1fr}.ksw-page .studio-visual{min-height:280px}}


/* ═══ reference-en (auto-migrace) ═══ */
.ksw-page .ref-stats{padding:var(--s-2xl) 0}
.ksw-page .ref-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--cream-edge);border-bottom:1px solid var(--cream-edge)}
.ksw-page .ref-stat{padding:var(--s-lg) var(--s-md)}
.ksw-page .ref-stat + .ref-stat{border-left:1px solid var(--cream-edge)}
.ksw-page .ref-stat .n{font-family:var(--font-display);font-size:clamp(1.8rem,1.3rem + 1.6vw,2.6rem);font-weight:700;color:var(--color-primary);line-height:1}
.ksw-page .ref-stat .n em{font-style:normal;color:var(--ink)}
.ksw-page .ref-stat .l{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--color-grey-accent);margin-top:10px;line-height:1.3}
@media (max-width:720px){.ksw-page .ref-stats-grid{grid-template-columns:1fr 1fr}.ksw-page .ref-stat:nth-child(3){border-left:none}.ksw-page .ref-stat:nth-child(n+3){border-top:1px solid var(--cream-edge)}}
.ksw-page .case-feature{padding:var(--s-2xl) 0}
.ksw-page .cf-card{display:grid;grid-template-columns:1.05fr 1fr;background:#fff;border:1px solid var(--cream-edge);border-radius:var(--radius-m);overflow:hidden}
.ksw-page .cf-visual{position:relative;min-height:480px;background:#1c1c1c}
.ksw-page .cf-visual .badge{position:absolute;left:22px;top:22px;background:var(--color-primary);color:#fff;font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;padding:6px 11px;border-radius:3px;z-index:1}
.ksw-page .cf-copy{padding:var(--s-2xl) var(--s-xl);display:flex;flex-direction:column;justify-content:center}
.ksw-page .cf-copy .eyebrow{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--color-primary)}
.ksw-page .cf-copy h2{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.3px;line-height:1.02;font-size:clamp(1.7rem,1.3rem + 1.6vw,2.6rem);margin-top:12px}
.ksw-page .cf-copy h2 em{font-style:normal;color:var(--color-primary)}
.ksw-page .cf-copy .lead{font-size:15px;line-height:1.7;color:var(--color-grey-accent);margin-top:18px;max-width:440px}
.ksw-page .cf-copy .quote{font-family:var(--font-display);font-size:18px;font-weight:500;line-height:1.45;color:var(--ink);border-left:3px solid var(--color-primary);padding:4px 0 4px 18px;margin-top:var(--s-lg)}
.ksw-page .cf-copy .who{font-size:13px;color:var(--color-grey);margin-top:12px}
.ksw-page .cf-copy .who strong{font-family:var(--font-display);color:var(--ink);text-transform:uppercase;letter-spacing:.4px;font-weight:600}
.ksw-page .cf-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:var(--s-lg);border-top:1px solid var(--cream-edge);border-bottom:1px solid var(--cream-edge)}
.ksw-page .cf-specs > div{padding:16px 14px 16px 0}
.ksw-page .cf-specs > div + div{padding-left:14px;border-left:1px solid var(--cream-edge)}
.ksw-page .cf-specs .n{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--ink);line-height:1}
.ksw-page .cf-specs .l{font-family:var(--font-display);font-size:9px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--color-grey);margin-top:6px}
@media (max-width:880px){.ksw-page .cf-card{grid-template-columns:1fr}.ksw-page .cf-visual{min-height:340px}}
.ksw-page .cases{padding:0 0 var(--s-2xl)}
.ksw-page .case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-md)}
.ksw-page .case{background:#fff;border:1px solid var(--cream-edge);border-radius:var(--radius-m);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}
.ksw-page .case:hover{transform:translateY(-3px);box-shadow:var(--shadow-m);border-color:var(--color-primary)}
.ksw-page .case .media{position:relative;aspect-ratio:1.3;background:#1c1c1c;overflow:hidden}
.ksw-page .case .media .tag{position:absolute;left:14px;top:14px;z-index:1;font-family:var(--font-display);font-size:9px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;background:rgba(255,255,255,.92);color:var(--ink);padding:5px 9px;border-radius:3px}

/* ── HOVER / TAP přepnutí fotky na kartách (.case, .cf-card) ──
   Markup: do .media / .cf-visual dej dvě fotky:
     <img class="r-img" src="VÝCHOZÍ.jpg" alt="">
     <img class="r-img r-img--alt" src="HOVER.jpg" alt="">
   Desktop = hover, mobil/dotyk = tap (třída .is-flipped přidává JS). */
.ksw-page .cf-visual{overflow:hidden}
.ksw-page .cf-visual .r-img,
.ksw-page .case .media .r-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:opacity .45s ease}
.ksw-page .cf-visual .r-img--alt,
.ksw-page .case .media .r-img--alt{opacity:0}
@media (hover:hover){
  .ksw-page .cf-card:hover .cf-visual .r-img--alt,
  .ksw-page .case:hover .media .r-img--alt{opacity:1}
}
.ksw-page .cf-card.is-flipped .cf-visual .r-img--alt,
.ksw-page .case.is-flipped .media .r-img--alt{opacity:1}
.ksw-page .case .body{padding:var(--s-md);display:flex;flex-direction:column;gap:8px;flex:1}
.ksw-page .case .client{font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--color-primary)}
.ksw-page .case .title{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;line-height:1.15;color:var(--ink)}
.ksw-page .case .desc{font-size:13px;color:var(--color-grey-accent);line-height:1.55}
.ksw-page .case .foot{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid var(--cream-edge);font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--color-grey)}
.ksw-page .case .foot .dot{width:3px;height:3px;border-radius:50%;background:var(--color-grey)}
@media (max-width:880px){.ksw-page .case-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ksw-page .case-grid{grid-template-columns:1fr}}
.ksw-page .reviews-head{padding:var(--s-2xl) 0 0}
.ksw-page .tpr-foot{display:flex;align-items:center;justify-content:center;gap:10px;padding:var(--s-xl) 0;font-size:13px;color:var(--color-grey);text-align:center;flex-wrap:wrap}
.ksw-page .tpr-foot a{color:var(--color-primary);font-weight:600;font-family:var(--font-display);letter-spacing:.5px;text-transform:uppercase;font-size:12px}
.ksw-page .refcta{padding:0 0 var(--s-2xl)}
.ksw-page .refcta-card{background:var(--color-primary);color:#fff;border-radius:var(--radius-m);padding:var(--s-2xl) var(--s-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--s-xl);flex-wrap:wrap}
.ksw-page .refcta-card h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.4px;line-height:1.04;font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem)}
.ksw-page .refcta-card p{font-size:14px;color:rgba(255,255,255,.85);margin-top:12px;max-width:440px;line-height:1.6}
.ksw-page .refcta-card .actions{display:flex;gap:14px;flex-wrap:wrap}
.ksw-page .refcta-card .btn-white{background:#fff;color:var(--color-primary);font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;padding:16px 28px;border-radius:var(--radius-s);transition:transform var(--transition-fast)}
.ksw-page .refcta-card .btn-white:hover{transform:translateY(-1px)}
.ksw-page .refcta-card .ghost{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#fff;display:inline-flex;align-items:center;gap:8px;padding:16px 4px;border-bottom:1.5px solid rgba(255,255,255,.5);transition:border-color var(--transition-fast)}
.ksw-page .refcta-card .ghost:hover{border-color:#fff}
.ksw-page .refcta-card .ghost::after{content:"→"}
