/* ═══ KP DESIGN TOKENY (KROK 2 — tokenizace bez vizuální změny; hodnoty = původní paleta) ═══ */
:root {
  --kp-bg: #0A0A0F;
  --kp-bg-rgb: 10,10,15;
  --kp-surface: #19191E;
  --kp-surface-2: #242429;
  --kp-bg-deep: #0F0F13;      /* #0E0E13 sjednocen na tento nejbližší odstín */
  --kp-border: #2C2C2C;
  --kp-text: #F5F5F5;
  --kp-text-2: #DCDCDC;
  --kp-text-3: #9A9AA0;
  --kp-accent: #D62839;
  --kp-accent-rgb: 214,40,57;
  --kp-on-accent: #FFFFFF;    /* bílý text/ikony na červené ploše */
  --kp-tint: #2A1614;         /* rezerva pro pozdější použití */
  --kp-weak: #3A1618;         /* rezerva pro pozdější použití */
  /* rozšíření pro Bricks homepage (KPH) — podpůrné odstíny z CD návrhu */
  --kp-surface-3: #1E1E24;    /* světlejší plocha (gradienty mockupů, blog thumb) */
  --kp-tint-deep: #1A1013;    /* nejtmavší červený nádech (marquee gradient) */
  --kp-text-rgb: 245,245,245;
  --kp-surface-rgb: 25,25,30;
  --kp-bg-deep-rgb: 15,15,19;
  --kp-weak-rgb: 58,22,24;
  /* rozšíření pro stránku Co je kanna (KCK) — obrysy mapy z CD návrhu */
  --kp-border-rgb: 44,44,44;
  --kp-border-2: #3A3A3F;    /* světlejší linka (obrys pevniny, Lesotho) */
  --kp-border-3: #4A4A4F;    /* nejsvětlejší linka (vrchní obrys mapy) */
  /* sémantické — při flipu se NEmění */
  --kp-error: #EF4444;
  --kp-success: #22C55E;
  --kp-warning: #FFC107;
}

/* ============================================================
   kp-global.css — KannaPower
   Generated by _build/extract-css.cjs
   = base reset (union 7 stránek) + 40 sdílených responsive pravidel
   ============================================================ */

/* ── BASE RESET (union) ── */
@font-face { font-family: 'Montserrat'; src: url('fonts/Montserrat-VariableFont_wght.ttf') format('truetype'); font-weight: 100 900; font-style: normal; font-display: swap; }
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { background: var(--kp-bg); }
body { font-family: 'Montserrat', system-ui, sans-serif; color: var(--kp-text); -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font-family: inherit; color: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--kp-bg); }
::-webkit-scrollbar-thumb { background: var(--kp-border); border-radius: 6px; }
img { display: block; max-width: 100%; }
[data-r="hamburger"] { display: none !important; }
a { color: inherit; text-decoration: none; cursor: pointer; }
ul { list-style: none; }
[data-r="weight-pills"] { display: flex; flex-wrap: wrap; gap: 6px; }
[data-r="weight-pills"] > * { flex: 0 0 auto; width: auto; }
[data-r="weight-pills"] button { background: transparent !important; color: var(--kp-text-2) !important; border: 1px solid var(--kp-border) !important; cursor: pointer; }
[data-r="weight-pills"] button.is-active { background: var(--kp-accent) !important; color: var(--kp-on-accent) !important; border-color: var(--kp-accent) !important; }
[data-r="product-card"] .kp-rating { display: inline-flex; align-items: center; gap: 8px; }
[data-r="product-card"] .kp-stars { position: relative; display: inline-block; font-size: 14px; line-height: 1; letter-spacing: 2px; }
[data-r="product-card"] .kp-stars-empty { color: var(--kp-border); }
[data-r="product-card"] .kp-stars-full { position: absolute; top: 0; left: 0; color: var(--kp-accent); overflow: hidden; white-space: nowrap; }
[data-r="product-card"] .kp-rating-text { color: #9A9A9A; font-size: 12px; }
[data-r="product-image"] { container-type: size; }
[data-r="product-image"] img { width: auto !important; height: auto !important; min-width: 0 !important; min-height: 0 !important; max-width: 100cqw !important; max-height: 100cqh !important; object-fit: contain !important; object-position: center !important; aspect-ratio: auto !important; }
.kp-title-accent { color: var(--kp-accent); }
[data-r="seo-text"] p { margin: 0; }
[data-r="seo-text"] p + p { margin-top: 12px; }
[data-r="seo-text"] p:last-child:not(:first-child) { color: var(--kp-text-3); }
[data-r="breadcrumb"] .brxe-shortcode { display: flex; align-items: center; width: 100%; }
[data-r="breadcrumb"] .rank-math-breadcrumb { width: 100%; }
[data-r="breadcrumb"] .rank-math-breadcrumb p { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 11px; line-height: 1; letter-spacing: 0.1em; text-transform: uppercase; }
[data-r="breadcrumb"] .rank-math-breadcrumb a { color: var(--kp-text-3); text-decoration: none; transition: color .15s ease; }
[data-r="breadcrumb"] .rank-math-breadcrumb a:hover, [data-r="breadcrumb"] .rank-math-breadcrumb a:focus-visible { color: var(--kp-accent); }
[data-r="breadcrumb"] .rank-math-breadcrumb .last { color: var(--kp-accent); }
[data-r="breadcrumb"] .rank-math-breadcrumb .separator { font-size: 0; display: inline-block; width: 0; height: 0; border-style: solid; border-width: 3px 0 3px 5px; border-color: transparent transparent transparent var(--kp-text-3); }
[data-r="breadcrumb"] > div, [data-r="filter-bar-inner"], [data-r="main-grid"] { max-width: 1280px !important; }
[data-r="page-hero-inner"], [data-r="seo-section"] > div { max-width: 1280px !important; width: 100% !important; }
[data-r="pagination"] .brxe-woocommerce-products-pagination, [data-r="pagination"] .woocommerce-pagination { width: 100%; }
[data-r="pagination"] .woocommerce-pagination ul.page-numbers { width: 100%; list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
[data-r="pagination"] .woocommerce-pagination li { margin: 0; line-height: 0; }
[data-r="pagination"] li .page-numbers { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; box-sizing: border-box; border-radius: 8px; border: 1px solid var(--kp-border); background: transparent; color: var(--kp-text-2); font: 800 13px/1 'Montserrat', sans-serif; text-decoration: none; transition: border-color .15s ease, color .15s ease, background .15s ease; }
[data-r="pagination"] a.page-numbers:hover, [data-r="pagination"] a.page-numbers:focus-visible { border-color: var(--kp-accent); color: var(--kp-accent); }
[data-r="pagination"] .page-numbers.current { background: var(--kp-accent); border-color: var(--kp-accent); color: var(--kp-on-accent); }
[data-r="pagination"] .page-numbers.dots { width: auto; min-width: 0; border: 0; background: transparent; color: var(--kp-text-3); padding: 0 6px; }
[data-r="pagination"] .page-numbers.prev, [data-r="pagination"] .page-numbers.next { width: auto; height: 44px; padding: 0 16px; gap: 8px; font: 700 11px/1 'Montserrat', sans-serif; letter-spacing: 0.08em; text-transform: uppercase; }
[data-r="pagination"] .page-numbers.prev { color: var(--kp-text-3); }
[data-r="pagination"] .page-numbers.next { color: var(--kp-text); }
[data-r="pagination"] a.page-numbers.prev:hover, [data-r="pagination"] a.page-numbers.next:hover, [data-r="pagination"] a.page-numbers.prev:focus-visible, [data-r="pagination"] a.page-numbers.next:focus-visible { border-color: var(--kp-accent); color: var(--kp-accent); }
[data-r="pagination"] .page-numbers.prev::before, [data-r="pagination"] .page-numbers.next::after { content: ""; width: 0; height: 0; border-style: solid; flex: 0 0 auto; }
[data-r="pagination"] .page-numbers.prev::before { border-width: 4px 6px 4px 0; border-color: transparent currentColor transparent transparent; }
[data-r="pagination"] .page-numbers.next::after { border-width: 4px 0 4px 6px; border-color: transparent transparent transparent currentColor; }
.kp-drawer-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.6); opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility .3s; z-index: 9998; }
.kp-drawer-overlay.is-open { opacity: 1; visibility: visible; }
html:has(body.kp-drawer-lock), html:has(body.no-scroll) { overflow: hidden; }
body.no-scroll { overflow: visible; }
.kp-drawer { position: fixed; top: 0; height: 100dvh; display: flex; flex-direction: column; width: min(88%, 360px); background: var(--kp-bg-deep); z-index: 9999; overflow: hidden; transition: transform .3s ease; will-change: transform; }
.kp-drawer[data-kp-drawer-side="left"] { left: 0; border-right: 1px solid var(--kp-border); transform: translateX(-100%); }
.kp-drawer[data-kp-drawer-side="right"] { right: 0; border-left: 1px solid var(--kp-border); transform: translateX(100%); }
.kp-drawer.is-open { transform: translateX(0); }
.kp-drawer-head { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; background: var(--kp-bg-deep); border-bottom: 1px solid var(--kp-surface-2); }
.kp-drawer-head-title { font: 900 13px Montserrat, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--kp-text); display: inline-flex; align-items: center; gap: 8px; }
.kp-drawer-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.kp-drawer-close { width: 32px; height: 32px; margin-left: auto; border: 1px solid var(--kp-border); border-radius: 8px; background: transparent; color: var(--kp-text-3); font: 700 15px/1 Montserrat, sans-serif; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: border-color .15s, color .15s; }
.kp-drawer-close:hover, .kp-drawer-close:focus { border-color: var(--kp-accent); color: var(--kp-accent); }
.kp-drawer-foot { flex: 0 0 auto; padding: 14px 16px; border-top: 1px solid var(--kp-surface-2); background: var(--kp-bg); }
.kp-drawer-apply { display: block; width: 100%; text-align: center; background: var(--kp-accent); color: var(--kp-on-accent); font: 800 12px/1 Montserrat, sans-serif; letter-spacing: .05em; text-transform: uppercase; padding: 14px; border: 0; border-radius: 8px; cursor: pointer; }
.kp-drawer-apply:hover { filter: brightness(1.06); }
[data-kp-drawer-open="filters"] { display: none; align-items: center; justify-content: center; gap: 9px; width: 100%; height: 46px; background: var(--kp-accent); color: var(--kp-on-accent); border: 0; border-radius: 8px; font: 800 12px Montserrat, sans-serif; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
[data-kp-drawer-open="filters"] svg { width: 15px; height: 15px; flex: 0 0 auto; }
[data-kp-drawer-open="filters"]::before { content: ""; width: 15px; height: 15px; flex: 0 0 auto; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A0A0F' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='4' y1='6' x2='20' y2='6'/%3E%3Cline x1='7' y1='12' x2='17' y2='12'/%3E%3Cline x1='10' y1='18' x2='14' y2='18'/%3E%3C/svg%3E") center / contain no-repeat; }
#brxe-e91871:has(.kp-sort) select.brxe-filter-select { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; border: 0 !important; clip: rect(0 0 0 0) !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }
.kp-sort { position: relative; flex: 0 0 auto; }
.kp-sort-trigger { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; height: 36px; width: 200px; max-width: 100%; padding: 0 14px; background: var(--kp-bg); border: 1px solid var(--kp-border); border-radius: 8px; font: 700 11px/1 Montserrat, sans-serif; letter-spacing: 0.04em; color: var(--kp-text); cursor: pointer; transition: border-color .15s; }
.kp-sort-trigger::after { content: ""; width: 12px; height: 12px; flex: 0 0 auto; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DCDCDC' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .2s; }
.kp-sort-trigger:hover, .kp-sort-trigger:focus, .kp-sort.is-open .kp-sort-trigger { border-color: var(--kp-accent); }
.kp-sort-trigger:hover::after, .kp-sort.is-open .kp-sort-trigger::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D62839' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); }
.kp-sort.is-open .kp-sort-trigger::after { transform: rotate(180deg); }
.kp-sort-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kp-sort-panel { position: absolute; top: calc(100% + 6px); right: 0; min-width: 100%; width: max-content; max-width: 78vw; background: var(--kp-bg-deep); border: 1px solid var(--kp-border); border-radius: 8px; padding: 6px; box-shadow: 0 16px 36px rgba(0,0,0,.55); z-index: 900; display: none; }
.kp-sort.is-open .kp-sort-panel { display: block; }
.kp-sort-option { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 9px 12px; background: transparent; border: 0; border-radius: 6px; text-align: left; color: var(--kp-text-2); font: 700 11px/1.2 Montserrat, sans-serif; letter-spacing: 0.04em; cursor: pointer; transition: background .12s, color .12s; }
.kp-sort-option:hover, .kp-sort-option:focus { background: var(--kp-surface); color: var(--kp-accent); }
.kp-sort-option[aria-selected="true"] { color: var(--kp-accent); }
.kp-sort-option[aria-selected="true"]::after { content: "✓"; font-weight: 800; }
.kp-cart-drawer .kp-drawer-body { padding: 4px 16px 12px; }
.kp-cart-drawer ul.woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.kp-cart-drawer li.woocommerce-mini-cart-item { position: relative; margin: 0; padding: 14px 36px 14px 0; border-bottom: 1px solid var(--kp-surface-2); }
.kp-cart-drawer li.woocommerce-mini-cart-item a:not(.remove) { display: flex; align-items: center; gap: 12px; color: var(--kp-text); font: 700 12px/1.45 Montserrat, sans-serif; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; }
.kp-cart-drawer li.woocommerce-mini-cart-item a:not(.remove):hover { color: var(--kp-accent); }
.kp-cart-drawer li.woocommerce-mini-cart-item img { width: 56px; height: 56px; flex: 0 0 auto; object-fit: contain; background: var(--kp-bg); border: 1px solid var(--kp-border); border-radius: 8px; padding: 4px; margin: 0; }
.kp-cart-drawer li.woocommerce-mini-cart-item .quantity { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-left: 68px; margin-top: 8px; color: var(--kp-text-3); font: 600 12px Montserrat, sans-serif; }
.kp-cart-drawer li.woocommerce-mini-cart-item .quantity .woocommerce-Price-amount { color: var(--kp-text-2); font-weight: 800; }
.kp-cart-drawer .kp-qty-stepper { display: inline-flex; align-items: center; border: 1px solid var(--kp-border); border-radius: 8px; overflow: hidden; transition: opacity .15s; }
.kp-cart-drawer .kp-qty-stepper button { width: 30px; height: 30px; padding: 0; display: flex; align-items: center; justify-content: center; background: transparent; border: 0; color: var(--kp-text); font: 700 15px/1 Montserrat, sans-serif; cursor: pointer; transition: color .15s, opacity .15s; }
.kp-cart-drawer .kp-qty-stepper button:hover:not(:disabled), .kp-cart-drawer .kp-qty-stepper button:focus:not(:disabled) { color: var(--kp-accent); }
.kp-cart-drawer .kp-qty-stepper button:disabled { opacity: .35; cursor: default; }
.kp-cart-drawer .kp-qty-val { min-width: 26px; text-align: center; color: var(--kp-text); font: 800 12px Montserrat, sans-serif; }
.kp-cart-drawer .kp-qty-stepper.is-busy { opacity: .55; pointer-events: none; }
.kp-cart-badge { background: var(--kp-bg); color: var(--kp-accent); font: 800 10px/1 Montserrat, sans-serif; padding: 3px 7px; border-radius: 999px; }
[data-kp-drawer-open="cart"] span:last-child:not(.kp-cart-badge) { display: none; }
.kp-cart-drawer li.woocommerce-mini-cart-item dl.variation { display: flex; flex-wrap: wrap; gap: 2px 6px; margin: 4px 0 0; padding-left: 68px; color: var(--kp-text-3); font: 600 10px Montserrat, sans-serif; text-transform: uppercase; letter-spacing: .04em; }
.kp-cart-drawer li.woocommerce-mini-cart-item dl.variation dt, .kp-cart-drawer li.woocommerce-mini-cart-item dl.variation dd { margin: 0; }
.kp-cart-drawer a.remove_from_cart_button { position: absolute; right: 0; top: 16px; width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--kp-border); border-radius: 999px; background: transparent; color: var(--kp-text-3) !important; font: 700 15px/1 Montserrat, sans-serif; text-decoration: none; transition: border-color .15s, color .15s; }
.kp-cart-drawer a.remove_from_cart_button:hover, .kp-cart-drawer a.remove_from_cart_button:focus { border-color: var(--kp-error); color: var(--kp-error) !important; }
.kp-cart-drawer .woocommerce-mini-cart__total, .kp-cart-drawer .woocommerce-mini-cart__buttons { display: none; }
.kp-cart-drawer .woocommerce-mini-cart__empty-message { margin: 42px 0 16px; text-align: center; color: var(--kp-text-3); font: 600 13px Montserrat, sans-serif; }
.kp-cart-subtotal-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; color: var(--kp-text-3); font: 800 12px Montserrat, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.kp-cart-subtotal-row .kp-cart-subtotal { color: var(--kp-accent); font-size: 15px; }
.kp-cart-btn { display: block; width: 100%; text-align: center; padding: 13px; border-radius: 8px; font: 800 12px Montserrat, sans-serif; letter-spacing: .05em; text-transform: uppercase; text-decoration: none; }
.kp-cart-btn--outline { border: 1px solid var(--kp-border); color: var(--kp-text-2); margin-bottom: 10px; transition: border-color .15s, color .15s; }
.kp-cart-btn--outline:hover { border-color: var(--kp-accent); color: var(--kp-accent); }
.kp-cart-btn--lime { background: var(--kp-accent); color: var(--kp-on-accent); }
.kp-cart-btn--lime:hover { filter: brightness(1.06); }
[data-r="nav"] ul.bricks-nav-menu { display: flex; align-items: center; gap: 20px; margin: 0; padding: 0; list-style: none; }
[data-r="nav"] ul.bricks-nav-menu > li { margin: 0; }
[data-r="nav"] ul.bricks-nav-menu > li > a { display: inline-block; color: var(--kp-text); text-decoration: none; text-transform: uppercase; font: 700 11px/1 Montserrat, sans-serif; letter-spacing: .05em; white-space: nowrap; padding-bottom: 4px; border-bottom: 2px solid transparent; transition: color .15s ease, border-color .15s ease; }
[data-r="nav"] ul.bricks-nav-menu > li > a:hover, [data-r="nav"] ul.bricks-nav-menu > li > a:focus-visible { color: var(--kp-accent); }
[data-r="nav"] ul.bricks-nav-menu > li.current-menu-item > a, [data-r="nav"] ul.bricks-nav-menu > li.current-menu-parent > a, [data-r="nav"] ul.bricks-nav-menu > li[aria-current] > a { color: var(--kp-accent); border-bottom-color: var(--kp-accent); }
.kp-menu-drawer-body { padding: 8px 0; }
.kp-menu-drawer .kp-menu-list { list-style: none; margin: 0; padding: 0; }
.kp-menu-drawer .kp-menu-list > li { border-bottom: 1px solid var(--kp-surface-2); }
.kp-menu-drawer .kp-menu-list > li > a { display: block; padding: 16px 20px; color: var(--kp-text); text-decoration: none; text-transform: uppercase; font: 700 13px/1 Montserrat, sans-serif; letter-spacing: .08em; transition: color .15s ease, background .15s ease; }
.kp-menu-drawer .kp-menu-list > li > a:hover, .kp-menu-drawer .kp-menu-list > li > a:focus-visible { color: var(--kp-accent); background: var(--kp-surface); }
.kp-menu-drawer .kp-menu-list > li.current-menu-item > a, .kp-menu-drawer .kp-menu-list > li[aria-current] > a { color: var(--kp-accent); box-shadow: inset 3px 0 0 var(--kp-accent); }
.kp-menu-drawer .kp-menu-list .sub-menu { list-style: none; margin: 0; padding: 0; }
.kp-menu-drawer .kp-menu-list .sub-menu > li > a { display: block; padding: 12px 20px 12px 36px; color: var(--kp-text-3); text-decoration: none; text-transform: uppercase; font: 600 12px/1 Montserrat, sans-serif; letter-spacing: .06em; transition: color .15s ease; }
.kp-menu-drawer .kp-menu-list .sub-menu > li > a:hover { color: var(--kp-accent); }
.brxe-woocommerce-products-filter { list-style: none; margin: 0; padding: 0; }
.brxe-woocommerce-products-filter .filter-item { border-bottom: 1px solid var(--kp-surface-2); padding: 16px 0; }
.brxe-woocommerce-products-filter .filter-item > .title { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; }
.brxe-woocommerce-products-filter .title-tag { margin: 0; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: #FFFFFF; }
.brxe-woocommerce-products-filter .toggle { color: #8A8A8F; font-size: 20px; line-height: 1; flex: 0 0 auto; }
.brxe-woocommerce-products-filter .checkboxes { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.brxe-woocommerce-products-filter .checkboxes > li { display: flex; align-items: center; gap: 12px; }
.brxe-woocommerce-products-filter .checkboxes input[type="checkbox"] { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; margin: 0; flex: 0 0 auto; border: 1px solid var(--kp-border); border-radius: 5px; background: var(--kp-bg); cursor: pointer; transition: background .15s, border-color .15s; }
.brxe-woocommerce-products-filter .checkboxes input[type="checkbox"]:checked { border-color: var(--kp-accent); background: var(--kp-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A0A0F' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 13px no-repeat; }
.brxe-woocommerce-products-filter .checkboxes label { margin: 0; font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: var(--kp-text-2); cursor: pointer; }
#brxe-ozdhjc .checkboxes label::before { content: ""; display: inline-block; width: 6px; height: 18px; border-radius: 3px; margin-right: 10px; vertical-align: middle; background: #555; }
#brxe-ozdhjc .checkboxes input[value="24"] + label::before { background: var(--kp-success); }
#brxe-ozdhjc .checkboxes input[value="25"] + label::before { background: var(--kp-text); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.15); }
#brxe-ozdhjc .checkboxes input[value="26"] + label::before { background: var(--kp-warning); }
#brxe-ozdhjc .checkboxes input[value="27"] + label::before { background: var(--kp-error); }
.brxe-accordion-nested { border-bottom: 1px solid var(--kp-surface-2); }
.brxe-accordion-nested .accordion-title-wrapper { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; padding: 16px 0; }
.brxe-accordion-nested .accordion-title-wrapper .brxe-heading { margin: 0; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: #FFFFFF; }
.brxe-accordion-nested .accordion-title-wrapper .brxe-icon { color: #8A8A8F; font-size: 20px; line-height: 1; flex: 0 0 auto; }
.brxe-accordion-nested .accordion-content-wrapper { padding-bottom: 16px; }
.brxe-filter-checkbox { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.brxe-filter-checkbox > li { margin: 0; }
.brxe-filter-checkbox label.depth-0 { display: flex; align-items: center; gap: 12px; margin: 0; cursor: pointer; }
.brxe-filter-checkbox .brx-input-indicator { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; flex: 0 0 auto; border: 1px solid var(--kp-border); border-radius: 5px; background: var(--kp-bg); cursor: pointer; transition: background .15s, border-color .15s; --brx-indicator-check-color-checked: var(--kp-bg); }
.brxe-filter-checkbox input:checked + .brx-input-indicator { border-color: var(--kp-accent); background-color: var(--kp-accent); background-image: none; }
.brxe-filter-checkbox .brx-option-text { font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: var(--kp-text-2); }
.brxe-filter-checkbox .brx-option-count { margin-left: auto; vertical-align: baseline; font-family: 'Montserrat', sans-serif; font-size: 10px; font-weight: 600; color: var(--kp-text-3); }
.brxe-filter-checkbox .brx-option-count::before { content: "("; }
.brxe-filter-checkbox .brx-option-count::after { content: ")"; }
.brxe-filter-checkbox[data-mode="default"] .brx-option-text { flex: 1; display: flex; align-items: center; }
#brxe-gaybjx .brx-option-text { text-transform: none; }
.brxe-filter-checkbox input[value="zeleny"] ~ .brx-option-text::before, .brxe-filter-checkbox input[value="bily"] ~ .brx-option-text::before, .brxe-filter-checkbox input[value="zlaty"] ~ .brx-option-text::before, .brxe-filter-checkbox input[value="cerveny"] ~ .brx-option-text::before { content: ""; display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 10px; flex: 0 0 auto; vertical-align: middle; }
.brxe-filter-checkbox input[value="zeleny"] ~ .brx-option-text::before { background: var(--kp-success); }
.brxe-filter-checkbox input[value="bily"] ~ .brx-option-text::before { background: var(--kp-text); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.15); }
.brxe-filter-checkbox input[value="zlaty"] ~ .brx-option-text::before { background: var(--kp-warning); }
.brxe-filter-checkbox input[value="cerveny"] ~ .brx-option-text::before { background: var(--kp-error); }
.brxe-filter-range .double-slider-wrap { position: relative; display: flex; flex-direction: column; margin-top: 0; }
.brxe-filter-range .min-max-wrap { display: flex !important; align-items: center; justify-content: space-between; gap: 8px; order: -1; margin-bottom: 0; }
.brxe-filter-range .min-wrap, .brxe-filter-range .max-wrap { flex: 0 0 auto; width: auto; display: inline-flex; align-items: center; gap: 0; background: var(--kp-bg); border: 1px solid var(--kp-border); border-radius: 6px; padding: 4px 9px; line-height: 1; }
.brxe-filter-range .min-max-wrap input[type="number"] { width: 24px; height: auto; line-height: 1; text-align: right; border: 0; background: transparent; color: var(--kp-text); font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 700; padding: 0; -moz-appearance: textfield; appearance: textfield; }
.brxe-filter-range .min-max-wrap input[type="number"]::-webkit-outer-spin-button, .brxe-filter-range .min-max-wrap input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.brxe-filter-range .min-wrap::after, .brxe-filter-range .max-wrap::after { content: "Kč"; font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 700; color: #9A9A9A; margin-left: 4px; }
.brxe-filter-range .slider-wrap { position: relative; height: 18px; display: flex; align-items: center; order: 0; }
.brxe-filter-range .slider-base { position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); height: 6px; border: none; border-radius: 3px; background: var(--kp-border); }
.brxe-filter-range .slider-track { position: absolute; top: 50%; transform: translateY(-50%); height: 6px; border: none; border-radius: 3px; background: var(--kp-accent); }
.brxe-filter-range input[type="range"] { position: absolute; left: 0; top: 0; width: 100%; height: 18px; margin: 0; background: transparent; pointer-events: none; outline: none; -webkit-appearance: none; appearance: none; }
.brxe-filter-range input[type="range"]::-webkit-slider-runnable-track { height: 6px; background: transparent; border: none; }
.brxe-filter-range input[type="range"]::-moz-range-track { height: 6px; background: transparent; border: none; }
.brxe-filter-range input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; pointer-events: auto; box-sizing: border-box; width: 16px; height: 16px; margin-top: -5px; border-radius: 50%; background: var(--kp-text); border: 3px solid var(--kp-accent); cursor: pointer; position: relative; z-index: 2; }
.brxe-filter-range input[type="range"]::-moz-range-thumb { pointer-events: auto; box-sizing: border-box; width: 16px; height: 16px; border-radius: 50%; background: var(--kp-text); border: 3px solid var(--kp-accent); cursor: pointer; }
.brxe-filter-range .value-wrap { display: flex; justify-content: space-between; order: 1; margin-top: 8px; }
.brxe-filter-range .value-wrap .value { font-family: 'Montserrat', sans-serif; font-size: 9px; font-weight: 600; color: #9A9A9A; }
.brxe-filter-range .value-wrap .value::after { content: " Kč"; }
.brxe-filter-range .min-max-wrap { position: relative; }
.brxe-filter-range .min-max-wrap::after { display: none; }
.brxe-filter-active-filters { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.brxe-filter-active-filters li { margin: 0; }
.brxe-filter-active-filters li button { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--kp-on-accent); background: var(--kp-accent); border: 0; border-radius: 999px; cursor: pointer; }
.brxe-filter-active-filters li button::after { content: "\00D7"; font-size: 14px; line-height: 1; font-weight: 800; }
.brxe-filter-submit[type="reset"] { background: transparent; border: 1px solid var(--kp-border); color: var(--kp-text-2); border-radius: 8px; padding: 11px 18px; font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0.04em; text-transform: none; text-decoration: none; width: 100%; text-align: center; cursor: pointer; transition: border-color .18s ease, color .18s ease; }
.brxe-filter-submit[type="reset"]:hover, .brxe-filter-submit[type="reset"]:focus { border-color: var(--kp-accent); color: var(--kp-accent); }
.brxe-filter-select { font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 600; color: var(--kp-text-2); background: var(--kp-bg); border: 1px solid var(--kp-border); border-radius: 8px; padding: 10px 34px 10px 14px; cursor: pointer; -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D62839' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 14px; }
[data-brx-qr-count] { font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 600; color: #FFFFFF; }
[data-brx-af-count] { font-family: 'Montserrat', sans-serif; font-weight: 800; color: var(--kp-accent); }
#brxe-e91871 select { -webkit-appearance: none; -moz-appearance: none; appearance: none; height: 36px; width: 200px; max-width: 100%; padding: 0 34px 0 14px; background-color: var(--kp-bg); border: 1px solid var(--kp-border); border-radius: 8px; font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.04em; color: var(--kp-text); cursor: pointer; transition: border-color .15s; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DCDCDC' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 14px; }
#brxe-e91871 select::-ms-expand { display: none; }
#brxe-e91871 select:hover, #brxe-e91871 select:focus { border-color: var(--kp-accent); outline: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D62839' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); }
#brxe-e91871 .brxe-text-basic { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.04em; color: var(--kp-text-3); }
#brxe-e91871 .brxe-text-basic [data-brx-qr-count] { color: var(--kp-text); font-weight: 800; }
input::placeholder, textarea::placeholder { color: #6E6E76; }
select { appearance: none; -webkit-appearance: none; }

/* ── SHARED RESPONSIVE (header / footer / container) ── */

@media (max-width: 1100px) {
  [data-r="topbar-legal"] { display: none !important; }
}

@media (max-width: 1024px) {
  [data-r="container"] { padding: 0 24px !important; }
  [data-r="header-bar-wrap"] { gap: 10px !important; }
  [data-r="nav"] { gap: 14px !important; font-size: 10px !important; }
  [data-r="cart-label"] { display: none !important; }
}

@media (max-width: 1023px) {
  [data-r="footer-grid"] { grid-template-columns: repeat(3, 1fr) !important; gap: 32px !important; padding-top: 40px !important; }
  [data-r="footer-brand"] { grid-column: 1 / -1 !important; align-items: center !important; text-align: center !important; padding-bottom: 8px !important; }
  [data-r="footer-brand"] p { margin-left: auto !important; margin-right: auto !important; max-width: 460px !important; }
  [data-r="footer-socials"] { justify-content: center !important; }
  [data-r="footer-contact"] { align-items: center !important; }
  [data-r="footer-grid"] > div:not([data-r="footer-brand"]) { text-align: center !important; }
  [data-r="footer-grid"] > div:not([data-r="footer-brand"]) ul { align-items: center !important; }
}

@media (max-width: 950px) {
  [data-r="topbar"] { display: none !important; }
  [data-r="header-bar-wrap"] { height: 60px !important; gap: 8px !important; position: relative !important; justify-content: space-between !important; padding: 0 16px !important; }
  [data-r="header-logo"] { height: 22px !important; position: absolute !important; left: 50% !important; top: 50% !important; transform: translate(-50%, -50%) !important; }
  [data-r="nav"] { display: none !important; }
  [data-r="hamburger"] { display: inline-flex !important; }
  [data-r="cart-btn"] span:nth-of-type(1) { display: none; }
  [data-r="cart-btn"] { padding: 0 10px !important; }
  [data-r="footer-bottom"] { flex-direction: column; gap: 14px; align-items: flex-start !important; text-align: left; }
  [data-r="container"] { padding: 0 20px !important; }
  [data-r="cart-label"] { display: none !important; }
  [data-r="footer-socials"] { margin-bottom: 8px; }
  [data-r="cart-btn"] [data-r="cart-label"] { display: none !important; }
}

@media (max-width: 480px) {
  [data-r="header-logo"] { height: 20px !important; }
  [data-r="footer-payments"] { flex-wrap: wrap !important; }
  [data-r="footer-grid"] { grid-template-columns: 1fr !important; text-align: center; padding-top: 32px !important; gap: 24px !important; }
  [data-r="footer-socials"] { justify-content: center; }
  [data-r="container"] { padding: 0 16px !important; }
  [data-r="footer-socials"] button { width: 48px !important; height: 48px !important; }
  [data-r="footer-bottom"] { align-items: center !important; text-align: center; }
  [data-r="footer-bottom"] > span:last-child { flex-wrap: wrap; justify-content: center; gap: 12px !important; }
}

@media (max-width: 380px) {
  [data-r="header-bar-wrap"] { gap: 6px !important; }
  [data-r="cart-btn"] { padding: 0 10px !important; }
}

/* ── KP MANUAL GLOBALS (not derived from pages; see extract-css.cjs) ── */
[data-r="marquee"] { animation: kp-marquee 32s linear infinite; }
[data-r="marquee"] > span { margin-right: 48px !important; flex-shrink: 0 !important; }
@keyframes kp-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { [data-r="marquee"] { animation: none; } }

/* (E) Bricks under-fills some containers → USP box looked more indented than the rest. */
[data-r="container"] { width: 100% !important; }

/* Header košík — mobilní kompakt (≤950px = breakpoint hamburgeru): skrýt text „KOŠÍK",
   zůstává ikona + count badge. Selektor bez data-r hooku → nejde přes SHARED_HOOKS,
   proto manuální global (header je site-wide). Badge = poslední span (fragment .kp-cart-badge). */
@media (max-width: 950px) {
  [data-kp-drawer-open="cart"] span:not(:last-child) { display: none !important; }
}

/* Header — odkaz „Můj účet" (text-link → /muj-ucet/, user ikona ghost, VLEVO od košíku ve stejném header-bar-wrap).
   data-r hook → manuální global (header site-wide). Ikona = CSS mask (currentColor → hover lime; žádný Bricks svg
   = obchází signature blok nepodepsaného code-svg). font-size:0 skryje fallback text „Účet". Gap 12 + mr 4 = ~16px. */
[data-r="header-account"] { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; margin-right: 4px; color: var(--kp-text); cursor: pointer; text-decoration: none; font-size: 0; line-height: 0; transition: color .15s ease; }
[data-r="header-account"]:hover { color: var(--kp-accent); }
[data-r="header-account"]::before { content: ""; width: 23px; height: 23px; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M5.5 21a6.5 6.5 0 0 1 13 0'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M5.5 21a6.5 6.5 0 0 1 13 0'/%3E%3C/svg%3E") center / contain no-repeat; }
/* Mobil (≤950): ikona z baru PRYČ → „Můj účet" se přesouvá do hamburger menu (.kp-menu-drawer). */
@media (max-width: 950px) {
  [data-r="header-account"] { display: none !important; }
}
/* „Můj účet" je v kp_primary → renderuje se v DESKTOP nav i mobilním draweru (2 separátní DOM instance).
   Na DESKTOPu (>950) ji z horizontální nav skryj (tam je místo ní ikona); v .kp-menu-drawer (mobil) zůstává.
   Cíl přes href (bez závislosti na menu-item class). */
@media (min-width: 951px) {
  [data-r="nav"] ul li:has(a[href*="muj-ucet"]) { display: none !important; }
}
/* „Můj účet" v hamburger draweru — user ikona před textem (stejná jako header ikona, currentColor → dědí barvu
   položky var(--kp-text) i hover lime). Cíl přes href; jen tato položka má ikonu (ostatní nav položky beze změny). */
.kp-menu-drawer .kp-menu-list > li > a[href*="muj-ucet"] { display: flex; align-items: center; gap: 12px; }
.kp-menu-drawer .kp-menu-list > li > a[href*="muj-ucet"]::before { content: ""; flex: 0 0 auto; width: 20px; height: 20px; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M5.5 21a6.5 6.5 0 0 1 13 0'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M5.5 21a6.5 6.5 0 0 1 13 0'/%3E%3C/svg%3E") center / contain no-repeat; }

/* Výška in-flow sticky headeru (viz 4.8) jako proměnná → odsazení odvozená od ní nezkostnatí
   při budoucí změně výšky headeru. Desktop 110px, mobil 61px (drží header skutečnou výšku). */
:root { --kp-header-h: 110px; }
@media (max-width: 950px) { :root { --kp-header-h: 61px; } }
/* Desktop sticky filtr sidebar (>950px; na ≤950 je z něj drawer) — přilepit s ČISTOU 20px mezerou
   pod headerem. Přebíjí inline top:100px (z předlohy = magické číslo < výška headeru → tuckoval se za
   header). top = výška headeru + 20px → 130px. !important kvůli inline; media guard ať drawer netknutý. */
@media (min-width: 951px) {
  [data-r="sidebar"] { top: calc(var(--kp-header-h) + 20px) !important; }
}

/* ── Add-to-cart toast (site-wide; okamžitá zpětná vazba AJAX add-to-cart → brand toast místo
   nahromaděných raw WC notice po reloadu). Fixed → bez reflow layoutu. Bez data-r hooku → manuální. */
.kp-toast-wrap { position: fixed; top: calc(var(--kp-header-h) + 16px); left: 50%; transform: translateX(-50%); z-index: 1000; display: flex; flex-direction: column; gap: 10px; width: max-content; max-width: min(92vw, 440px); pointer-events: none; }
.kp-toast { pointer-events: auto; display: flex; align-items: flex-start; gap: 12px; padding: 13px 16px; background: var(--kp-surface); border: 1px solid var(--kp-border); border-left: 3px solid var(--kp-border); border-radius: 10px; color: var(--kp-text); font-size: 13px; font-weight: 600; line-height: 1.45; box-shadow: 0 12px 32px rgba(0,0,0,.45); opacity: 0; transform: translateY(-8px); transition: opacity .18s ease, transform .18s ease; }
.kp-toast.is-in { opacity: 1; transform: translateY(0); }
.kp-toast--error { border-left-color: var(--kp-error); }
.kp-toast-msg { flex: 1 1 auto; }
.kp-toast-x { margin: -2px -4px 0 0; padding: 0 2px; background: none; border: 0; color: var(--kp-text-3); font-size: 18px; line-height: 1; cursor: pointer; flex-shrink: 0; }
.kp-toast-x:hover { color: var(--kp-text); }
@media (prefers-reduced-motion: reduce) { .kp-toast { transition: none; } }

/* GLOBAL notice-box skin (site-wide, ať produkt/obchod/košík vypadá 1:1 jako checkout/účet — dark karta
   var(--kp-surface) + 1px var(--kp-border) + lime levý okraj + radius 10 + padding; error = červený akcent). Checkout má vlastní
   scoped kompaktní banner (!important) a účet vlastní scoped padding/color (16/20, var(--kp-text-2)) → ty přebíjejí
   tyto hodnoty 1:1 a zůstávají beze změny. list-style:none drží kvůli ul.woocommerce-error. */
.woocommerce-message, .woocommerce-info, .woocommerce-error { background: var(--kp-surface) !important; border: 1px solid var(--kp-border) !important; border-left: 3px solid var(--kp-accent) !important; border-radius: 10px !important; color: var(--kp-text-2) !important; padding: 16px 20px !important; list-style: none !important; }
.woocommerce-error { border-left-color: #ff4d4d !important; }
/* WC fokusuje notice (tabindex="-1", role=alert) při renderu kvůli čtečkám → theme/Bricks :focus-visible nakreslí
   3px BÍLÝ (var(--kp-text)) outline = vypadá jako bílý rámeček kolem boxu (a překryje lime levý proužek). Programově
   fokusovaný alert nepotřebuje viditelný ring → zrušit, ať zůstane jen dark box + lime levý proužek (jako checkout). */
.woocommerce-message:focus, .woocommerce-info:focus, .woocommerce-error:focus, .woocommerce-message:focus-visible, .woocommerce-info:focus-visible, .woocommerce-error:focus-visible { outline: none !important; box-shadow: none !important; }
.woocommerce-message::before, .woocommerce-error::before, .woocommerce-info::before { color: var(--kp-text) !important; }
/* notice TEXT-odkazy lime BEZ zeleného bloku (Bricks dává .woocommerce-message a → background var(--bricks-text-success),
   spec (0,2,1)) — :not(.button) (0,3,1)+!important přebije; tlačítko a.button.wc-forward si nechává lime-outline (níž). */
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button), .woocommerce-error a:not(.button) { background: transparent !important; color: var(--kp-accent) !important; }

/* Notice tlačítka („Zobrazit košík" = a.button.wc-forward) na cart/shop/produkt: bez vlastního scoped
   skinu padají na Bricks zelenou (.woocommerce-notices-wrapper .woocommerce-message a → var(--bricks-text-success),
   spec (0,2,1)). Sjednotit na brand lime-outline (jako checkout A10/A11). Selektor (0,3,0) BEZ !important:
   přebije Bricks (3 třídy > 2 třídy+typ), ale TIE/prohra s account (0,3,0 plná lime pilulka, načteno PO kp-global)
   i checkout (!important) → ty si svůj skin nechávají. */
.woocommerce-message .button.wc-forward, .woocommerce-error .button.wc-forward, .woocommerce-info .button.wc-forward { background: transparent; border: 1px solid var(--kp-accent); color: var(--kp-accent); border-radius: 8px; padding: 8px 16px; font-weight: 600; text-transform: uppercase; font-size: 12px; letter-spacing: .04em; }
.woocommerce-message .button.wc-forward:hover, .woocommerce-error .button.wc-forward:hover, .woocommerce-info .button.wc-forward:hover { background: var(--kp-accent); color: var(--kp-on-accent); }

/* Produkt: notice wrapper je SAMOSTATNÝ Bricks brxe-container ~1100px FLUSH-LEFT (left:0, margin:0) → vypadá
   jako bar u levého kraje. Sevřít na obsahovou šířku + vycentrovat + svislý margin, ať sedí s obsahem (1216 @left:32)
   a má gutter i na mobilu (calc(100%-32px) → 16px po stranách). Scope .single-product: na košíku/checkoutu/účtu je
   wrapper už contained (left:32, nested .brxe-container) → netknout. */
.single-product .woocommerce-notices-wrapper { width: calc(100% - 32px) !important; max-width: 1216px !important; margin: 28px auto 8px !important; box-sizing: border-box; }

/* Produkt/obchod: add-to-cart success notice = 1:1 KOMPAKTNÍ ✓ banner jako checkout (A10/A11) — NE full-width bar.
   ✓ lime kolečko + zpráva + „Zobrazit košík" lime-outline; dark var(--kp-surface) + var(--kp-border) border (NE bílý) + lime levý
   proužek 3px + radius 10. width:fit-content !important přebíjí Bricks .woocommerce-notices-wrapper .woocommerce-message
   {width:100%} (0,2,1). Scope single-product + shop archiv → účet/košík/checkout mají vlastní skin (netknout).
   Hodnoty 1:1 kopírují checkout-responsive (A10/A11). */
.single-product .woocommerce-message, .post-type-archive-product .woocommerce-message, .woocommerce-shop .woocommerce-message { display: inline-flex !important; align-items: center; gap: 14px; width: fit-content !important; max-width: 100%; align-self: flex-start; margin: 0 !important; padding: 13px 18px !important; background: var(--kp-surface) !important; border: 1px solid var(--kp-border) !important; border-left: 3px solid var(--kp-accent) !important; border-radius: 10px !important; color: var(--kp-text) !important; font-size: 15px; }
.single-product .woocommerce-message::before, .post-type-archive-product .woocommerce-message::before, .woocommerce-shop .woocommerce-message::before { content: "\2713" !important; position: static !important; margin: 0 !important; flex: 0 0 auto; width: 22px !important; height: 22px !important; display: inline-flex !important; align-items: center; justify-content: center; background: var(--kp-accent) !important; color: var(--kp-on-accent) !important; border-radius: 50%; font: 700 14px/1 'Montserrat', sans-serif !important; }
.single-product .woocommerce-message > .button, .single-product .woocommerce-message > a.wc-forward, .post-type-archive-product .woocommerce-message > .button, .post-type-archive-product .woocommerce-message > a.wc-forward, .woocommerce-shop .woocommerce-message > .button, .woocommerce-shop .woocommerce-message > a.wc-forward { order: 2; flex: 0 0 auto; margin: 0 !important; background: transparent !important; border: 1px solid var(--kp-accent) !important; color: var(--kp-accent) !important; border-radius: 8px !important; padding: 8px 16px !important; font-weight: 600; text-transform: uppercase; font-size: 12px; letter-spacing: .04em; white-space: nowrap; }
.single-product .woocommerce-message > .button:hover, .single-product .woocommerce-message > a.wc-forward:hover, .post-type-archive-product .woocommerce-message > .button:hover, .post-type-archive-product .woocommerce-message > a.wc-forward:hover, .woocommerce-shop .woocommerce-message > .button:hover, .woocommerce-shop .woocommerce-message > a.wc-forward:hover { background: var(--kp-accent) !important; color: var(--kp-on-accent) !important; }
/* Mobil = jako checkout @media(950): full-width karta, ✓ absolutně vlevo, tlačítko celý řádek dole.
   row-gap:0 (zruší wrap-gap z gap:14px) → mezeru text↔tlačítko řídí jen margin-top; ✓ top:17 = svisle
   srovnané s 1. řádkem textu (text line-box top ~17, ✓ h22 → střed 28 == střed 1. řádku). */
@media (max-width: 950px) {
  .single-product .woocommerce-message, .post-type-archive-product .woocommerce-message, .woocommerce-shop .woocommerce-message { width: 100% !important; max-width: none; align-self: stretch; align-items: flex-start; flex-wrap: wrap; row-gap: 0 !important; position: relative; padding-left: 52px !important; }
  .single-product .woocommerce-message::before, .post-type-archive-product .woocommerce-message::before, .woocommerce-shop .woocommerce-message::before { position: absolute !important; left: 18px; top: 17px; }
  .single-product .woocommerce-message > .button, .single-product .woocommerce-message > a.wc-forward, .post-type-archive-product .woocommerce-message > .button, .post-type-archive-product .woocommerce-message > a.wc-forward, .woocommerce-shop .woocommerce-message > .button, .woocommerce-shop .woocommerce-message > a.wc-forward { order: 3; flex: 1 1 100%; margin-top: 8px !important; text-align: center; }
}

/* §K83 (P43) — NAČÍTÁNÍ (jQuery blockUI) na celém front-endu stejně jako v pokladně: průhledný překryv + červené kolečko kpspin
   místo šedého překryvu (#fff / 0.6 inline z blockUI) a výchozího kolečka WC / Bricks. Platí pro formulář a souhrn košíku
   (odebrání ×, kupon, změna dopravy, Bricks AJAX), pokladnu (přehled objednávky, platba, odeslání) a mini-košík WC.
   Deklarace 1:1 z checkout-responsive.css ř. 81–83 (P17); tam odebrány → pokladna beze změny. !important přebíjí inline styl blockUI.
   prefers-reduced-motion: pokladna dosud nic neměla → beze změny. */
.blockUI.blockOverlay { background-color: transparent !important; background-image: none !important; opacity: 1 !important; }
.blockUI.blockOverlay::before { content: "" !important; position: absolute !important; top: 50% !important; left: 50% !important; width: 30px !important; height: 30px !important; margin: -15px 0 0 -15px !important; background: none !important; filter: none !important; border: 3px solid rgba(var(--kp-accent-rgb), .25) !important; border-top-color: var(--kp-accent) !important; border-radius: 50% !important; animation: kpspin .7s linear infinite !important; }
@keyframes kpspin { to { transform: rotate(360deg); } }

/* (A) Restore decorative SVG sizes Bricks inflates */
.brxe-svg[width="5"] { width: 5px !important; height: 5px !important; }
.brxe-svg[width="6"] { width: 6px !important; height: 6px !important; }
.brxe-svg[width="7"] { width: 7px !important; height: 7px !important; }
.brxe-svg[width="8"] { width: 8px !important; height: 8px !important; }
.brxe-svg[width="9"] { width: 9px !important; height: 9px !important; }
.brxe-svg[width="10"] { width: 10px !important; height: 10px !important; }
.brxe-svg[width="11"] { width: 11px !important; height: 11px !important; }
.brxe-svg[width="12"] { width: 12px !important; height: 12px !important; }
.brxe-svg[width="13"] { width: 13px !important; height: 13px !important; }
.brxe-svg[width="14"] { width: 14px !important; height: 14px !important; }
.brxe-svg[width="15"] { width: 15px !important; height: 15px !important; }
.brxe-svg[width="16"] { width: 16px !important; height: 16px !important; }
.brxe-svg[width="18"] { width: 18px !important; height: 18px !important; }
.brxe-svg[width="20"] { width: 20px !important; height: 20px !important; }
.brxe-svg[width="22"] { width: 22px !important; height: 22px !important; }
.brxe-svg[width="24"] { width: 24px !important; height: 24px !important; }
.brxe-svg[width="26"] { width: 26px !important; height: 26px !important; }
.brxe-svg[width="28"] { width: 28px !important; height: 28px !important; }

/* ── PRODUCT CARD — SDÍLENÝ vzhled (FÁZE 2b). Zrcadlo inline stylů archivní karty #126 cílené na
   STABILNÍ hooky → platí na featured (.kp-prodcard, BEZ inline) i archiv ([data-r], kde inline #126
   PŘEBÍJÍ → archiv beze změny). CSS = ZDROJ PRAVDY; #126 inline = legacy k pozdější migraci (strip
   inline → spadne sem). Scope [data-r="product-card"] → netýká se PDP buy-panelu ani jiných .kp-price/
   .kp-buy. Vzor = rating (už sdílený výš). ── */
[data-r="product-card"] { background: var(--kp-surface); border: 1px solid var(--kp-border); border-radius: 10px; padding: 14px; display: flex; flex-direction: column; gap: 12px; position: relative; transition: border-color .15s ease, transform .15s ease; }
.kp-prodcard:hover { border-color: #3A3A3A; transform: translateY(-2px); }
[data-r="product-card"] a { text-decoration: none; color: inherit; }
[data-r="product-card"] [data-r="product-image"] { background: var(--kp-bg); border-radius: 8px; padding: 12px; height: 220px; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
[data-r="product-card"] [data-r="product-image"] img { max-height: 95%; max-width: 95%; object-fit: contain; filter: drop-shadow(0 12px 24px rgba(0,0,0,.55)); }
[data-r="product-card"] .kp-prodcard-img--placeholder { width: 100%; height: 100%; }
[data-r="product-card"] .kp-prodcard-info { display: flex; flex-direction: column; gap: 6px; }
[data-r="product-card"] .kp-prodcard-title { font-size: 16px; font-weight: 900; text-transform: uppercase; letter-spacing: -.005em; color: var(--kp-text); line-height: 1.1; margin: 0; }
[data-r="product-card"] .kp-prodcard-title a { color: inherit; text-decoration: none; }
[data-r="product-card"] .kp-prodcard-sub { font-size: 10px; font-weight: 700; color: var(--kp-text-3); letter-spacing: .1em; text-transform: uppercase; }
[data-r="product-card"] .kp-price { font-size: 22px; font-weight: 900; color: var(--kp-text); line-height: 1; }
[data-r="product-card"] .kp-prodcard-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid var(--kp-border); margin-top: auto; }
[data-r="product-card"] :is(.kp-buy, .kp-card-detail) { background: var(--kp-accent); color: var(--kp-on-accent); border: 0; border-radius: 8px; height: 40px; padding: 0 16px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; text-decoration: none; white-space: nowrap; transition: filter .15s ease; }
[data-r="product-card"] :is(.kp-buy, .kp-card-detail):hover { filter: brightness(1.08); } /* §K89 (P49): „DETAIL ▶“ nedostupného = stejné tlačítko jako KOUPIT (titulka i obchod) */
/* strain badge (barva dle pa_barva; tečka přes ::before) */
[data-r="product-card"] .kp-prodcard-badge { position: absolute; top: 18px; /* §K76 (P38b): 22 → 18 px, víčko lahvičky 32–35 px pod hranou obrázku */ left: 22px; z-index: 2; color: var(--kp-bg); font-size: 9px; font-weight: 900; padding: 4px 9px; border-radius: 4px; letter-spacing: .12em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 6px; }
[data-r="product-card"] .kp-prodcard-badge::before { content: ""; width: 5px; height: 5px; border-radius: 999px; background: var(--kp-bg); }
[data-r="product-card"] .kp-prodcard-badge--zeleny { background: var(--kp-success); }
[data-r="product-card"] .kp-prodcard-badge--bily { background: var(--kp-text); }
[data-r="product-card"] .kp-prodcard-badge--zlaty { background: var(--kp-warning); }
[data-r="product-card"] .kp-prodcard-badge--cerveny { background: var(--kp-error); }
/* MIT badge */
[data-r="product-card"] .kp-prodcard-mit { position: absolute; top: 18px; /* §K76 (P38b) */ right: 22px; z-index: 2; background: var(--kp-bg); color: var(--kp-accent); border: 1px solid var(--kp-accent); font-size: 9px; font-weight: 800; padding: 4px 8px; border-radius: 4px; letter-spacing: .12em; text-transform: uppercase; }
/* GRAMÁŽ label + weight-pills TVAR (FÁZE 2c) — barvy/flex pillů řeší kp-global výš (ř. button / .is-active,
   !important); doplňujeme jen tvar + label, scoped pod product-card → netýká se PDP buy-panelu. Hodnoty =
   zrcadlo inline #126 (legacy). Featured pills = <button> (proto je karta <div>, ne <a>). */
[data-r="product-card"] .kp-prodcard-gram { font-size: 9px; font-weight: 700; color: var(--kp-text-3); letter-spacing: .14em; margin-bottom: 8px; text-transform: uppercase; }
[data-r="product-card"] [data-r="weight-pills"] button { padding: 6px 11px; font-size: 10px; font-weight: 800; border-radius: 999px; letter-spacing: .04em; }
/* featured grid: rozpustit Bricks shortcode wrapper + list → karty spadnou do tracků [data-r=featured-grid] (4→2→1) */
[data-r="featured-grid"] > .brxe-shortcode, .kp-featured-list { display: contents; }
.kp-featured-empty { grid-column: 1 / -1; color: var(--kp-text-3); font-size: 14px; text-align: center; padding: 24px; }

/* ── Age-gate 18+ overlay (FÁZE B) — blokující modal. Default display:flex = blokuje hned (žádný flash
   obsahu); kp-agegate.js schová/odstraní při session cookie kp_age_ok. z-index 100000 (nad header sticky
   900 / drawery 9998–9999). Scroll-lock přes root html:has(body.kp-agegate-lock) (vzor §3.12, NE overflow
   na body). Obsah webu zůstává v HTML za overlayem = SEO-safe. ── */
html:has(body.kp-agegate-lock) { overflow: hidden; }
.kp-agegate { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.kp-agegate-backdrop { position: absolute; inset: 0; background: rgba(var(--kp-bg-rgb), .92); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.kp-agegate-card { position: relative; z-index: 1; width: 100%; max-width: 480px; background: var(--kp-surface); border: 1px solid var(--kp-border); border-radius: 16px; padding: 48px 40px; text-align: center; box-shadow: 0 24px 64px rgba(0,0,0,.6); overflow: hidden; }
.kp-agegate-tri { position: absolute; width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 11px solid var(--kp-accent); }
.kp-agegate-tri:nth-child(1) { top: 18px; left: 22px; opacity: .22; }
.kp-agegate-tri:nth-child(2) { top: 30px; right: 26px; transform: rotate(18deg); opacity: .16; }
.kp-agegate-tri:nth-child(3) { bottom: 20px; left: 34px; transform: rotate(-12deg); opacity: .13; }
.kp-agegate-logo { height: 28px; width: auto; display: block; margin: 0 auto 22px; }
.kp-agegate-wordmark { display: inline-flex; margin: 0 auto 22px; font-size: 23px; }
.kp-agegate-title { font: 900 32px/1.1 'Montserrat', system-ui, sans-serif; text-transform: uppercase; letter-spacing: -.01em; color: var(--kp-text); margin: 0 0 14px; }
.kp-agegate-sub { font-size: 14px; line-height: 1.6; color: var(--kp-text-3); margin: 0 0 28px; }
.kp-agegate-actions { display: flex; flex-direction: column; gap: 12px; }
.kp-agegate-yes { background: var(--kp-accent); color: var(--kp-on-accent); border: 0; border-radius: 10px; padding: 16px 24px; font: 800 14px/1 'Montserrat', system-ui, sans-serif; text-transform: uppercase; letter-spacing: .06em; cursor: pointer; width: 100%; transition: filter .15s ease; }
.kp-agegate-yes:hover { filter: brightness(1.08); }
.kp-agegate-no { background: transparent; color: var(--kp-text-2); border: 1px solid var(--kp-border); border-radius: 10px; padding: 14px 24px; font: 700 13px/1 'Montserrat', system-ui, sans-serif; text-transform: uppercase; letter-spacing: .04em; cursor: pointer; width: 100%; transition: border-color .15s ease, color .15s ease; }
.kp-agegate-no:hover { border-color: #3A3A3A; color: var(--kp-text); }
.kp-agegate-fine { font-size: 11px; line-height: 1.5; color: var(--kp-text-3); margin: 22px 0 0; }
.kp-agegate-fine a { color: var(--kp-accent); text-decoration: none; }
.kp-agegate-fine a:hover { text-decoration: underline; }
@media (max-width: 480px) { .kp-agegate-card { padding: 36px 22px; border-radius: 14px; } .kp-agegate-title { font-size: 26px; } .kp-agegate-sub { font-size: 13px; } }

/* ── Age-gate FÁZE C — denied stránka #368 (/pristup-odepren/) jako samostatná obrazovka. Chrome-hide
   SCOPED na body.page-id-368 (jinde header/footer netknuté). Skin navazuje na gate (dark+lime). ── */
body.page-id-368 #brx-header, body.page-id-368 #brx-footer { display: none !important; }
body.page-id-368 { display: block !important; } /* Bricks brx-body je flex (sticky-footer) → #brx-content jen ~1100px; po skrytí chrome přepni na block ať je #brx-content full-width a karta se vycentruje */
body.page-id-368 #brx-content { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
body.page-id-368 #brx-content > h1 { display: none; } /* potlač duplicitní theme page-title „Přístup odepřen" (můj h1 je v .kp-denied) */
.kp-denied { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--kp-bg); padding: 24px; box-sizing: border-box; }
.kp-denied-card { position: relative; width: 100%; max-width: 560px; background: var(--kp-surface); border: 1px solid var(--kp-border); border-radius: 16px; padding: 56px 48px; text-align: center; overflow: hidden; box-shadow: 0 24px 64px rgba(0,0,0,.5); }
.kp-denied-tri { position: absolute; width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 11px solid var(--kp-accent); }
.kp-denied-tri:nth-child(1) { top: 22px; left: 26px; opacity: .2; }
.kp-denied-tri:nth-child(2) { top: 30px; right: 30px; transform: rotate(18deg); opacity: .14; }
.kp-denied-tri:nth-child(3) { bottom: 24px; left: 38px; transform: rotate(-12deg); opacity: .12; }
.kp-denied-logo { height: 30px; width: auto; display: block; margin: 0 auto 28px; }
.kp-denied-title { font: 900 34px/1.12 'Montserrat', system-ui, sans-serif; text-transform: uppercase; letter-spacing: -.01em; color: var(--kp-text); margin: 0 0 18px; }
.kp-denied-text { font-size: 15px; line-height: 1.65; color: var(--kp-text-3); max-width: 460px; margin: 0 auto 26px; }
.kp-denied-link { display: inline-block; color: var(--kp-accent); text-decoration: none; font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.kp-denied-link:hover { text-decoration: underline; }
@media (max-width: 480px) { .kp-denied-card { padding: 40px 24px; border-radius: 14px; } .kp-denied-title { font-size: 26px; } .kp-denied-text { font-size: 14px; } }

/* ── CookieYes POD age-gate (FÁZE C) — age-gate z-index 100000 < CookieYes (bar 9999999 / modal 999999999)
   → dokud běží 18+ brána (body.kp-agegate-lock), cookie lištu/modal SKRYJ; po „ANO" (lock pryč) naskočí. ── */
body.kp-agegate-lock .cky-consent-container,
body.kp-agegate-lock .cky-overlay,
body.kp-agegate-lock .cky-modal { display: none !important; }

/* ── Právní stránky — .kp-legal skin (FÁZE B). Scope .kp-legal (wrapper) → použitelné i pro #3 později.
   Page-scope (body.page-id-371) jen pro chrome-neutralizaci OP. Dark+lime, max-780, lime ▲ h2, žluté todo. ── */
body.page-id-371, body.page-id-372, body.page-id-373, body.page-id-374, body.page-id-375 { display: block !important; } /* brx-body flex → #brx-content full-width (header/footer zůstávají). 371=Obchodní podmínky, 372=Doprava a platba, 373=O nás, 374=Slovník pojmů, 375=Často kladené dotazy */
body.page-id-371 #brx-content, body.page-id-372 #brx-content, body.page-id-373 #brx-content, body.page-id-374 #brx-content, body.page-id-375 #brx-content { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
body.page-id-371 #brx-content > h1, body.page-id-372 #brx-content > h1, body.page-id-373 #brx-content > h1, body.page-id-374 #brx-content > h1, body.page-id-375 #brx-content > h1 { display: none; } /* B2: skryj duplicitní theme page-title; viditelný .kp-legal-h1 */
.kp-legal { background: var(--kp-bg); padding: 56px 24px 96px; }
.kp-legal-wrap { max-width: 780px; margin: 0 auto; color: var(--kp-text-2); font-size: 15px; line-height: 1.7; }
.kp-legal-draft { background: rgba(var(--kp-accent-rgb), .07); border: 1px solid var(--kp-accent); border-radius: 10px; padding: 16px 20px; font-size: 13px; line-height: 1.55; color: var(--kp-text-2); margin-bottom: 36px; }
.kp-legal-draft strong { color: var(--kp-accent); }
.kp-legal-h1 { font: 900 40px/1.1 'Montserrat', system-ui, sans-serif; text-transform: uppercase; letter-spacing: -.01em; color: var(--kp-text); margin: 0 0 6px; }
.kp-legal-sub { color: var(--kp-text-3); font-size: 14px; margin: 0 0 40px; }
.kp-legal-h2 { font: 800 20px/1.3 'Montserrat', system-ui, sans-serif; text-transform: uppercase; letter-spacing: -.005em; color: var(--kp-text); margin: 40px 0 16px; display: flex; align-items: baseline; gap: 10px; }
.kp-legal-h2::before { content: ""; flex: 0 0 auto; align-self: center; width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 9px solid var(--kp-accent); }
.kp-legal-seller { background: var(--kp-surface); border: 1px solid var(--kp-border); border-radius: 12px; padding: 22px 28px; margin: 0 0 8px; }
.kp-legal-seller .kp-legal-h2 { margin-top: 0; }
.kp-legal-dl { margin: 0; }
.kp-legal-row { display: flex; gap: 12px; padding: 6px 0; border-bottom: 1px solid #232327; }
.kp-legal-row:last-child { border-bottom: 0; }
.kp-legal-row dt { flex: 0 0 150px; color: var(--kp-text-3); font-weight: 600; }
.kp-legal-row dd { margin: 0; color: var(--kp-text); }
.kp-legal-note { color: var(--kp-text-3); font-size: 13px; font-style: italic; margin: 14px 0 0; }
.kp-legal-clause { margin: 0 0 14px; padding-left: 44px; }
.kp-legal-num { display: inline-block; width: 36px; margin-left: -44px; margin-right: 8px; color: var(--kp-accent); font-weight: 800; }
.kp-legal-todo { background: #FFE600; color: var(--kp-bg); padding: 1px 6px; border-radius: 3px; font-weight: 600; }
.kp-legal a { color: var(--kp-accent); text-decoration: underline; }
.kp-legal-annex { list-style: none; padding: 0; margin: 8px 0 0; display: flex; flex-direction: column; gap: 10px; }
.kp-legal-annex li a { display: inline-flex; align-items: center; gap: 8px; background: var(--kp-surface); border: 1px solid var(--kp-border); border-radius: 8px; padding: 12px 18px; color: var(--kp-accent); text-decoration: none; font-weight: 700; font-size: 14px; transition: border-color .15s ease; }
.kp-legal-annex li a:hover { border-color: var(--kp-accent); }
@media (max-width: 600px) { .kp-legal { padding: 40px 16px 64px; } .kp-legal-h1 { font-size: 30px; } .kp-legal-clause { padding-left: 0; } .kp-legal-num { margin-left: 0; display: block; margin-bottom: 2px; } .kp-legal-row { flex-direction: column; gap: 2px; } .kp-legal-row dt { flex-basis: auto; } }

/* ════════════════════════════════════════════════════════════════
   HOMEPAGE (KPH) — Bricks import z CD návrhu (Code2Bricks)
   Markup: _bricks_import/homepage-kanna.html. Prefix kph- (nekoliduje
   se starým PHP renderem kp-hp-*). Barvy VÝHRADNĚ tokeny --kp-*.
   data-r hooky drží position/transform/overlay, které Bricks import
   neponese. Pozn.: tuto sekci synchronizuj i do Bricks → Settings →
   Custom Code, pokud tam kp-global.css zrcadlíš.
   ════════════════════════════════════════════════════════════════ */

/* — základ — */
/* Bricks core: .brxe-section je flex column s align-items:center → vnitřní divy
   se smršťují na obsah. Naše sekce musí stretchovat na plnou šířku. */
.brxe-section.kph-section, .brxe-section.kph-hero { align-items: stretch; }
.kph-section > div { width: 100%; }
.kph-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.brxe-svg.kph-defs, svg.kph-defs[width="0"] { width: 0 !important; height: 0 !important; }
.kph-section { max-width: 1280px; margin: 0 auto; padding: 96px 24px 0; }
.kph-news.kph-section { padding-bottom: 96px; }
.kph-benefits.kph-section { padding-top: 64px; }
.kph-accent { color: var(--kp-accent); }
.kph-mono { font-family: ui-monospace, Menlo, monospace; }
.kph-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--kp-accent); margin-bottom: 12px; }
.kph-h2 { margin: 0; font-weight: 900; font-size: clamp(32px, 4vw, 44px); letter-spacing: -1.5px; text-transform: uppercase; line-height: 1; color: var(--kp-text); }
.kph-h2-md { font-size: clamp(28px, 3.6vw, 42px); line-height: 1.08; }
.kph-sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 36px; }
.kph-link-more { display: inline-flex; align-items: center; gap: 8px; color: var(--kp-text-2); font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; text-decoration: none; border-bottom: 2px solid var(--kp-accent); padding-bottom: 6px; transition: color .25s ease; }
.kph-link-more:hover { color: var(--kp-on-accent); }
.kph-dot { width: 8px; height: 8px; background: var(--kp-accent); transform: rotate(45deg); flex: none; display: inline-block; }
.kph-dot-round { border-radius: 50%; transform: none; }
.kph-btn { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; padding: 16px 28px; border-radius: 10px; text-decoration: none; cursor: pointer; }
.kph-btn-primary { background: var(--kp-accent); color: var(--kp-on-accent); padding: 17px 30px; box-shadow: 0 12px 34px rgba(var(--kp-accent-rgb), .35); transition: transform .25s ease, box-shadow .25s ease; }
.kph-btn-primary:hover { transform: translateY(-3px); box-shadow: 0 18px 44px rgba(var(--kp-accent-rgb), .5); }
.kph-btn-ghost { background: transparent; color: var(--kp-text); border: 1px solid var(--kp-border); font-weight: 700; transition: border-color .25s ease, background .25s ease; }
.kph-btn-ghost:hover { border-color: var(--kp-accent); background: rgba(var(--kp-accent-rgb), .08); }
.kph-btn-outline { color: var(--kp-text); border: 1px solid var(--kp-accent); font-size: 12px; padding: 15px 26px; transition: background .25s ease; }
.kph-btn-outline:hover { background: rgba(var(--kp-accent-rgb), .14); }

/* — HERO — */
.kph-hero, [data-r="kph-hero"] { position: relative; overflow: hidden; border-bottom: 1px solid var(--kp-border); }
[data-r="kph-hero-bg"] { position: absolute; inset: 0; background: radial-gradient(900px 500px at 78% 30%, rgba(var(--kp-accent-rgb), .10), transparent 65%), radial-gradient(600px 400px at 10% 90%, rgba(var(--kp-weak-rgb), .5), transparent 70%); pointer-events: none; }
[data-r="kph-hero-watermark"] { position: absolute; right: -60px; top: -70px; width: 640px; height: 1024px; color: rgba(var(--kp-accent-rgb), .13); transform: rotate(16deg); pointer-events: none; }
[data-r="kph-hero-grid"] { width: 100%; position: relative; max-width: 1280px; margin: 0 auto; padding: 84px 24px 96px; display: grid; grid-template-columns: 1.08fr .92fr; gap: 48px; align-items: center; }
.kph-pill { display: inline-flex; align-items: center; gap: 10px; border: 1px solid var(--kp-border); background: rgba(var(--kp-surface-rgb), .7); border-radius: 100px; padding: 8px 16px; margin-bottom: 30px; }
.kph-pill .kph-dot { width: 7px; height: 7px; }
.kph-pill-txt { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--kp-text-2); }
.kph-hero-h1 { margin: 0 0 26px; font-weight: 900; font-size: clamp(54px, 6.6vw, 88px); line-height: .96; letter-spacing: -2.5px; text-transform: uppercase; color: var(--kp-text); }
.kph-hero-h1 > span { display: block; }
.kph-hero-sub { margin: 0 0 34px; max-width: 480px; font-size: 16px; line-height: 1.7; color: var(--kp-text-3); }
.kph-hero-sub em, .kph-teaser-txt em { color: var(--kp-text-2); font-style: italic; }
.kph-hero-ctas { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.kph-btn-arrow { font-size: 15px; }
.kph-hero-fine { margin: 0 0 44px; font-size: 11.5px; color: var(--kp-text-3); }
[data-r="kph-hero-stats"] { display: flex; gap: 44px; flex-wrap: wrap; border-top: 1px solid var(--kp-border); padding-top: 28px; }
.kph-hero-stat-big { font-weight: 800; font-size: 19px; letter-spacing: -.5px; color: var(--kp-text); }
.kph-hero-stat-sub { font-size: 11px; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase; color: var(--kp-text-3); margin-top: 5px; }

/* hero vizuál (mockup sáčku) — vše absolutní přes data-r */
[data-r="kph-hero-visual"] { position: relative; height: 600px; }
[data-r="kph-hero-glow"] { position: absolute; left: 50%; top: 50%; width: 480px; height: 480px; transform: translate(-50%, -50%); background: radial-gradient(circle, rgba(var(--kp-accent-rgb), .32), transparent 68%); filter: blur(30px); animation: kphGlow 5.5s ease-in-out infinite; }
[data-r="kph-hero-pack"] { position: absolute; left: 50%; top: 50%; margin: -235px 0 0 -165px; width: 330px; height: 470px; transform: rotate(6deg); animation: kphFloat 7s ease-in-out infinite; background: linear-gradient(160deg, var(--kp-surface-3), var(--kp-bg-deep) 70%); border: 1px solid var(--kp-border); border-radius: 16px; box-shadow: 0 50px 90px rgba(0, 0, 0, .65), inset 0 1px 0 rgba(255, 255, 255, .06); overflow: hidden; }
[data-r="kph-pack-zip"] { height: 14px; background: repeating-linear-gradient(90deg, var(--kp-border) 0 6px, var(--kp-surface) 6px 12px); border-bottom: 1px solid var(--kp-border); }
[data-r="kph-pack-brand"] { background: var(--kp-accent); color: var(--kp-on-accent); font-size: 10px; font-weight: 800; letter-spacing: 3px; text-transform: uppercase; text-align: center; padding: 8px 0; }
[data-r="kph-pack-leaf"] { position: absolute; left: -30px; bottom: -20px; width: 260px; height: 416px; color: rgba(var(--kp-text-rgb), .06); }
[data-r="kph-pack-vert"] { position: absolute; top: 64px; right: 18px; writing-mode: vertical-rl; font-weight: 900; font-size: 74px; letter-spacing: 8px; line-height: 1; color: var(--kp-text); text-transform: uppercase; }
[data-r="kph-pack-name"] { position: absolute; left: 24px; bottom: 64px; }
.kph-pack-name-label { font-size: 10px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--kp-text-3); margin-bottom: 8px; }
.kph-pack-name-main { font-weight: 900; font-size: 24px; letter-spacing: -.5px; line-height: 1.05; text-transform: uppercase; color: var(--kp-text); }
.kph-pack-name-main.kph-accent { color: var(--kp-accent); }
[data-r="kph-pack-foot"] { position: absolute; left: 0; right: 0; bottom: 0; border-top: 1px solid var(--kp-border); background: rgba(var(--kp-bg-deep-rgb), .85); padding: 9px 0; text-align: center; font-size: 9px; font-weight: 700; letter-spacing: 1.8px; text-transform: uppercase; color: var(--kp-text-3); }
[data-r="kph-hero-badge"] { position: absolute; top: 34px; right: 6px; background: var(--kp-accent); color: var(--kp-on-accent); font-size: 11px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; padding: 10px 18px; border-radius: 8px; transform: rotate(4deg); box-shadow: 0 14px 30px rgba(var(--kp-accent-rgb), .4); }
[data-r="kph-hero-tag"] { position: absolute; bottom: 48px; left: 0; display: flex; align-items: center; gap: 10px; background: var(--kp-surface); border: 1px solid var(--kp-border); border-radius: 10px; padding: 12px 18px; transform: rotate(-3deg); box-shadow: 0 18px 40px rgba(0, 0, 0, .5); }
[data-r="kph-hero-tag"] span:last-child { font-size: 11.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--kp-text-2); }

/* — MARQUEE (čistě CSS) — */
[data-r="kph-marquee"] { background: linear-gradient(90deg, var(--kp-bg-deep), var(--kp-tint-deep) 50%, var(--kp-bg-deep)); border-bottom: 1px solid var(--kp-border); overflow: hidden; padding: 15px 0; }
[data-r="kph-marquee-track"] { display: flex; width: max-content; gap: 44px; animation: kphMarquee 30s linear infinite; }
.kph-marquee-group { display: flex; gap: 44px; align-items: center; }
.kph-marquee-item { display: flex; align-items: center; gap: 14px; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--kp-text-2); white-space: nowrap; }
.kph-marquee-item-hl { color: var(--kp-text); }

/* — BENEFITY — */
.kph-benefits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
.kph-benefit-card { background: var(--kp-surface); border: 1px solid var(--kp-border); border-radius: 12px; padding: 24px; display: flex; gap: 16px; align-items: flex-start; transition: border-color .3s ease, transform .3s ease; }
.kph-benefit-card:hover { border-color: rgba(var(--kp-accent-rgb), .55); transform: translateY(-4px); }
.kph-benefit-ico { width: 44px; height: 44px; flex: none; background: var(--kp-tint); border-radius: 10px; display: flex; align-items: center; justify-content: center; }
.kph-benefit-ico svg { width: 21px; height: 21px; stroke: var(--kp-accent); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.kph-benefit-title { font-weight: 800; font-size: 13.5px; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 6px; color: var(--kp-text); }
.kph-benefit-txt { font-size: 12.5px; line-height: 1.6; color: var(--kp-text-3); }

/* — FORMY — */
.kph-forms-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.kph-form-tile { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; min-height: 250px; background: linear-gradient(165deg, var(--kp-surface), var(--kp-bg-deep)); border: 1px solid var(--kp-border); border-radius: 14px; padding: 22px; text-decoration: none; transition: transform .3s ease, border-color .3s ease, background .3s ease; }
.kph-form-tile:hover { transform: translateY(-6px); border-color: var(--kp-accent); background: linear-gradient(165deg, var(--kp-tint), var(--kp-bg-deep)); }
.kph-form-tile-top { display: flex; align-items: flex-start; justify-content: space-between; }
[data-r="kph-form-num"] { font-weight: 900; font-size: 44px; line-height: 1; color: rgba(var(--kp-text-rgb), .08); letter-spacing: -2px; }
.kph-form-ico { width: 26px; height: 26px; stroke: var(--kp-accent); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.kph-form-name { font-weight: 800; font-size: 16px; letter-spacing: .5px; text-transform: uppercase; color: var(--kp-text); margin-bottom: 7px; }
.kph-form-desc { font-size: 12px; line-height: 1.55; color: var(--kp-text-3); }
.kph-form-go { margin-top: 14px; font-size: 11px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--kp-accent); }

/* — PRODUKTY (featured slot; karty renderuje [kp_featured] = .kp-prodcard skin) — */
[data-r="kph-featured-slot"] .kp-featured-list,
.kph-featured .kp-featured-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 18px; }
.kph-featured-note { border: 1px dashed var(--kp-border); border-radius: 12px; padding: 34px 24px; text-align: center; font-size: 12.5px; line-height: 1.7; color: var(--kp-text-3); margin: 0; }
.kph-featured-note code { color: var(--kp-accent); font-family: ui-monospace, Menlo, monospace; }

/* — TEASER „CO JE KANNA" — */
[data-r="kph-teaser-panel"] { position: relative; overflow: hidden; background: linear-gradient(140deg, var(--kp-surface), var(--kp-bg-deep) 65%); border: 1px solid var(--kp-border); border-radius: 16px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: center; padding: 60px 56px; }
.kph-teaser-txt { margin: 0 0 30px; max-width: 520px; font-size: 15px; line-height: 1.75; color: var(--kp-text-3); }
.kph-teaser-copy .kph-h2 { margin-bottom: 20px; }
[data-r="kph-teaser-visual"] { position: relative; display: flex; align-items: center; justify-content: center; min-height: 320px; }
.kph-orbit { position: absolute; border-radius: 50%; }
[data-r="kph-orbit-1"] { width: 330px; height: 330px; border: 1px dashed rgba(var(--kp-accent-rgb), .35); }
[data-r="kph-orbit-2"] { width: 250px; height: 250px; border: 1px solid var(--kp-border); }
.kph-teaser-leaf { width: 170px; height: 272px; color: var(--kp-accent); filter: drop-shadow(0 0 24px rgba(var(--kp-accent-rgb), .35)); }
[data-r="kph-teaser-coords"] { position: absolute; bottom: 6px; left: 50%; transform: translateX(-50%); text-align: center; white-space: nowrap; }
[data-r="kph-teaser-coords"] .kph-mono { font-size: 11px; letter-spacing: 2px; color: var(--kp-text-3); }
.kph-teaser-coords-sub { font-size: 10.5px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--kp-text-2); margin-top: 6px; }
[data-r="kph-teaser-note"] { position: absolute; top: 10px; right: 6px; font-size: 10px; letter-spacing: 1.5px; color: var(--kp-text-3); text-align: right; line-height: 1.8; }

/* kreslení listu (JS přidá .is-in; bez JS plně vykreslený) */
html.kp-hp-js .kph-leaf-draw path { stroke-dasharray: 1200; stroke-dashoffset: 1200; }
html.kp-hp-js .is-in .kph-leaf-draw path, html.kp-hp-js .kph-leaf-draw.is-in path { animation: kphLeafDraw 2.6s ease forwards; }

/* — RECENZE — */
.kph-heureka-pill { display: inline-flex; align-items: center; gap: 10px; border: 1px solid var(--kp-border); background: var(--kp-surface); border-radius: 10px; padding: 12px 18px; }
.kph-heureka-pill span:last-child { font-size: 11.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--kp-text-2); }
.kph-reviews-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; }
.kph-review-card { background: var(--kp-surface); border: 1px solid var(--kp-border); border-radius: 14px; padding: 28px; position: relative; transition: border-color .3s ease, transform .3s ease; }
.kph-review-card:hover { border-color: rgba(var(--kp-accent-rgb), .5); transform: translateY(-4px); }
[data-r="kph-review-tag"] { position: absolute; top: 16px; right: 16px; font-size: 9px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--kp-text-3); border: 1px solid var(--kp-border); border-radius: 5px; padding: 4px 8px; }
.kph-review-quote { font-weight: 900; font-size: 44px; line-height: .6; color: var(--kp-accent); margin-bottom: 18px; }
.kph-review-txt { margin: 0 0 22px; font-size: 13.5px; line-height: 1.75; color: var(--kp-text-2); }
.kph-review-foot { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--kp-border); padding-top: 16px; }
.kph-review-name { font-size: 12px; font-weight: 700; color: var(--kp-text); }
.kph-review-stars { font-size: 12px; letter-spacing: 2px; color: var(--kp-accent); }

/* — BLOG — */
.kph-blog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; }
.kph-blog-card { display: block; background: var(--kp-surface); border: 1px solid var(--kp-border); border-radius: 14px; overflow: hidden; text-decoration: none; transition: transform .3s ease, border-color .3s ease; }
.kph-blog-card:hover { transform: translateY(-6px); border-color: rgba(var(--kp-accent-rgb), .55); }
[data-r="kph-blog-media"] { position: relative; height: 180px; background: repeating-linear-gradient(45deg, var(--kp-surface) 0 14px, var(--kp-surface-3) 14px 28px); border-bottom: 1px solid var(--kp-border); display: flex; align-items: center; justify-content: center; }
.kph-blog-media-note { font-size: 10.5px; letter-spacing: 1px; color: var(--kp-text-3); }
[data-r="kph-blog-cat"] { position: absolute; top: 14px; left: 14px; background: var(--kp-accent); color: var(--kp-on-accent); font-size: 10px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; padding: 6px 10px; border-radius: 6px; }
.kph-blog-body { padding: 22px; }
.kph-blog-title { font-weight: 800; font-size: 16px; line-height: 1.35; letter-spacing: -.2px; color: var(--kp-text); margin-bottom: 12px; }
.kph-blog-meta { font-size: 11.5px; color: var(--kp-text-3); }
.kph-blog-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.kph-blog-media--ph { flex-direction: column; gap: 0; }
.kph-blog-leaf { width: 54px; height: 90px; opacity: .5; }
.kph-blog-leaf path, .kph-blog-leaf use { fill: none; stroke: currentColor; }
.kph-blog-excerpt { font-size: 12.5px; line-height: 1.6; color: var(--kp-text-3); margin-bottom: 12px; }
.kph-blog-empty { grid-column: 1 / -1; text-align: center; color: var(--kp-text-3); padding: 30px; }

/* — NEWSLETTER — */
[data-r="kph-news-panel"] { position: relative; overflow: hidden; background: linear-gradient(120deg, var(--kp-tint), var(--kp-surface) 60%); border: 1px solid var(--kp-border); border-radius: 16px; padding: 64px 56px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: center; }
[data-r="kph-news-watermark"] { position: absolute; right: -40px; top: -60px; width: 300px; height: 480px; color: rgba(var(--kp-accent-rgb), .14); transform: rotate(22deg); pointer-events: none; }
.kph-news-right { position: relative; }
.kph-news-row { display: flex; gap: 10px; flex-wrap: wrap; }
.kph-news-input { flex: 1; min-width: 220px; background: var(--kp-bg-deep); border: 1px solid var(--kp-border); border-radius: 10px; color: var(--kp-text); font-family: 'Montserrat', sans-serif; font-size: 13.5px; padding: 16px 18px; outline: none; transition: border-color .2s ease; }
.kph-news-input:focus { border-color: var(--kp-accent); }
.kph-news-btn { padding: 16px 26px; font-size: 12px; box-shadow: none; transition: filter .25s ease; }
.kph-news-btn:hover { transform: none; filter: brightness(1.15); box-shadow: none; }
.kph-news-fine { margin: 14px 0 0; font-size: 11px; line-height: 1.6; color: var(--kp-text-3); }
.kph-news-msg { display: none; margin: 12px 0 0; font-size: 12px; color: var(--kp-text-2); }
.kph-news-msg.is-visible { display: block; }

/* — reveal (JS přidá .is-in; bez JS viditelné) — */
html.kp-hp-js [data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1); }
html.kp-hp-js [data-reveal].is-in { opacity: 1; transform: none; }

/* — animace — */
@keyframes kphGlow { 0%, 100% { opacity: .7; } 50% { opacity: 1; } }
@keyframes kphFloat { 0%, 100% { transform: rotate(6deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-14px); } }
@keyframes kphMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes kphLeafDraw { to { stroke-dashoffset: 0; } }

/* — responsivita — */
@media (max-width: 1100px) {
  [data-r="kph-hero-grid"] { grid-template-columns: 1fr; gap: 24px; }
  [data-r="kph-hero-visual"] { order: -1; height: 540px; max-width: 480px; margin: 0 auto; width: 100%; }
}
@media (max-width: 950px) {
  .kph-section { padding: 64px 20px 0; }
  .kph-news.kph-section { padding-bottom: 64px; }
  [data-r="kph-hero-grid"] { padding: 56px 20px 64px; }
  [data-r="kph-teaser-panel"], [data-r="kph-news-panel"] { grid-template-columns: 1fr; padding: 40px 28px; gap: 32px; }
  [data-r="kph-hero-watermark"] { width: 440px; height: 704px; right: -140px; }
}
@media (max-width: 640px) {
  [data-r="kph-hero-visual"] { height: 460px; }
  [data-r="kph-hero-pack"] { margin: -195px 0 0 -132px; width: 264px; height: 376px; }
  [data-r="kph-pack-vert"] { font-size: 58px; top: 52px; }
  [data-r="kph-hero-badge"] { top: 10px; right: 0; font-size: 10px; padding: 8px 12px; }
  [data-r="kph-hero-tag"] { bottom: 16px; }
  [data-r="kph-hero-stats"] { gap: 20px 28px; }
  .kph-sec-head { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  [data-r="kph-marquee-track"], [data-r="kph-hero-glow"], [data-r="kph-hero-pack"] { animation: none !important; }
  html.kp-hp-js [data-reveal] { opacity: 1; transform: none; transition: none; }
  html.kp-hp-js .kph-leaf-draw path { stroke-dasharray: none; stroke-dashoffset: 0; animation: none !important; }
}

/* ════════════════════════════════════════════════════════════════
   CO JE KANNA (KCK) — Bricks import z CD návrhu (Code2Bricks)
   Markup: _bricks_import/co-je-kanna.html. Prefix kck- (nekoliduje
   s kph-*). Barvy VÝHRADNĚ tokeny --kp-*; mapa/SVG stylované přes
   třídy (currentColor / fill / stroke z CSS). data-r hooky drží
   position/transform/overlay. Reveal jede přes html.kp-hp-js
   [data-reveal] (definováno v sekci HOMEPAGE KPH).
   ════════════════════════════════════════════════════════════════ */

/* — základ — */
.kck-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.brxe-svg.kck-defs, svg.kck-defs[width="0"] { width: 0 !important; height: 0 !important; }
.kck-section { max-width: 1280px; margin: 0 auto; padding: 96px 24px 0; }
.kck-outro.kck-section { padding-bottom: 96px; }
.brxe-section.kck-section, .brxe-section.kck-hero, .brxe-section.kck-band { align-items: stretch; }
.kck-section > div, .kck-band > div { width: 100%; }
.kck-band { margin-top: 96px; background: var(--kp-bg-deep); border-top: 1px solid var(--kp-border); border-bottom: 1px solid var(--kp-border); }
.kck-band-inner, .kck-origin-grid { max-width: 1280px; margin: 0 auto; padding: 88px 24px; }
.kck-accent { color: var(--kp-accent); }
.kck-mono { font-family: ui-monospace, Menlo, monospace; }
.kck-dot { width: 7px; height: 7px; background: var(--kp-accent); transform: rotate(45deg); flex: none; display: inline-block; }
.kck-dot-sm { width: 6px; height: 6px; }
.kck-h2 { margin: 0 0 22px; font-weight: 900; font-size: clamp(30px, 4vw, 46px); letter-spacing: -1.5px; text-transform: uppercase; line-height: 1.02; color: var(--kp-text); }
.kck-h2-md { font-size: clamp(28px, 3.6vw, 42px); line-height: 1.05; margin-bottom: 20px; }
.kck-lead { margin: 0 0 22px; max-width: 540px; font-size: 15.5px; line-height: 1.8; color: var(--kp-text-2); }
.kck-lead em { color: var(--kp-text); font-style: italic; }
.kck-lead strong { color: var(--kp-text); font-weight: 700; }
.kck-lead-muted { color: var(--kp-text-3); }
.kck-lead-muted em { color: var(--kp-text); } .kck-lead-muted strong { color: var(--kp-text-2); }
.kck-fine { margin: 0 0 30px; font-size: 11.5px; line-height: 1.7; color: var(--kp-text-3); }
.kck-note { margin: 26px 0 0; font-size: 12.5px; line-height: 1.7; color: var(--kp-text-3); max-width: 760px; }
.kck-chapter { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.kck-chapter-num { font-size: 12px; letter-spacing: 2px; color: var(--kp-accent); }
.kck-chapter-line { flex: 1; height: 1px; background: var(--kp-border); max-width: 60px; }
.kck-chapter-line-accent { background: rgba(var(--kp-accent-rgb), .3); }
.kck-chapter-name { font-size: 11px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--kp-text-3); }
.kck-sec-head2 { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: flex-end; margin-bottom: 44px; }
.kck-sec-head2 .kck-h2 { margin-bottom: 0; }
.kck-sec-head2 > p { margin: 0; font-size: 15px; }
.kck-btn { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; padding: 16px 28px; border-radius: 10px; text-decoration: none; cursor: pointer; }
.kck-btn-primary { background: var(--kp-accent); color: var(--kp-on-accent); box-shadow: 0 12px 34px rgba(var(--kp-accent-rgb), .32); transition: transform .25s ease, box-shadow .25s ease; }
.kck-btn-primary:hover { transform: translateY(-3px); box-shadow: 0 18px 44px rgba(var(--kp-accent-rgb), .48); }
.kck-btn-ghost { background: transparent; color: var(--kp-text); border: 1px solid var(--kp-border); font-weight: 700; padding: 15px 26px; transition: border-color .25s ease, background .25s ease; }
.kck-btn-ghost:hover { border-color: var(--kp-accent); background: rgba(var(--kp-accent-rgb), .08); }
.kck-btn-outline { background: transparent; color: var(--kp-text); border: 1px solid rgba(var(--kp-accent-rgb), .5); font-weight: 700; transition: background .25s ease; }
.kck-btn-outline:hover { background: rgba(var(--kp-accent-rgb), .12); }
.kck-pill { display: inline-flex; align-items: center; gap: 10px; border: 1px solid var(--kp-border); background: rgba(var(--kp-surface-rgb), .7); border-radius: 100px; padding: 8px 16px; margin-bottom: 30px; }
.kck-pill-txt { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--kp-text-2); }
.kck-orbit { position: absolute; border-radius: 50%; }

/* — HERO — */
.kck-hero, [data-r="kck-hero"] { position: relative; overflow: hidden; border-bottom: 1px solid var(--kp-border); }
[data-r="kck-hero-bg"] { position: absolute; inset: 0; background: radial-gradient(900px 520px at 76% 34%, rgba(var(--kp-accent-rgb), .11), transparent 65%), radial-gradient(620px 420px at 8% 92%, rgba(var(--kp-weak-rgb), .5), transparent 70%); pointer-events: none; }
[data-r="kck-hero-watermark"] { position: absolute; left: -120px; bottom: -180px; width: 520px; height: 832px; color: rgba(var(--kp-text-rgb), .04); transform: rotate(-14deg); pointer-events: none; }
[data-r="kck-hero-grid"] { width: 100%; position: relative; max-width: 1280px; margin: 0 auto; padding: 88px 24px 92px; display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.kck-hero-h1 { margin: 0 0 26px; font-weight: 900; font-size: clamp(58px, 7.4vw, 104px); line-height: .94; letter-spacing: -3px; text-transform: uppercase; color: var(--kp-text); }
.kck-hero-h1 > span { display: block; }
.kck-hero-sub { margin: 0 0 30px; max-width: 470px; font-size: 17px; line-height: 1.7; color: var(--kp-text-2); font-weight: 500; }
.kck-hero-meta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 11.5px; letter-spacing: 1.2px; color: var(--kp-text-3); margin-bottom: 34px; }
.kck-hero-meta .kck-dot-sm { width: 5px; height: 5px; }
.kck-hero-meta-hl { color: var(--kp-text-2); }
.kck-hero-ctas { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
[data-r="kck-hero-visual"] { position: relative; height: 520px; }
[data-r="kck-hero-glow"] { position: absolute; left: 50%; top: 50%; width: 400px; height: 400px; transform: translate(-50%, -50%); background: radial-gradient(circle, rgba(var(--kp-accent-rgb), .28), transparent 68%); filter: blur(34px); animation: kphGlow 6s ease-in-out infinite; }
[data-r="kck-hero-orbits"] { position: relative; height: 520px; display: flex; align-items: center; justify-content: center; animation: kphFloat 7.5s ease-in-out infinite; }
[data-r="kck-orbit-1"] { width: 430px; height: 430px; border: 1px dashed rgba(var(--kp-accent-rgb), .28); }
[data-r="kck-orbit-2"] { width: 320px; height: 320px; border: 1px solid var(--kp-border); }
.kck-hero-leaf { width: 236px; height: 378px; color: var(--kp-accent); filter: drop-shadow(0 0 26px rgba(var(--kp-accent-rgb), .4)); }
[data-r="kck-hero-note"] { position: absolute; top: 34px; right: 2px; font-size: 10.5px; letter-spacing: 1.2px; color: var(--kp-text-3); text-align: right; line-height: 1.9; }
[data-r="kck-hero-coords"] { position: absolute; bottom: 26px; left: 2px; font-size: 10.5px; letter-spacing: 1.2px; color: var(--kp-text-3); line-height: 1.9; }
.kck-hero-coords-hl { color: var(--kp-text-2); }
[data-r="kck-hero-cap"] { position: absolute; top: 6px; left: 52%; transform: translateX(-50%); font-size: 9.5px; font-weight: 800; letter-spacing: 3px; text-transform: uppercase; color: var(--kp-text-3); }

/* — OBSAH KAPITOL — */
[data-r="kck-toc"] { background: var(--kp-bg-deep); border-bottom: 1px solid var(--kp-border); }
.kck-toc-inner { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; align-items: stretch; flex-wrap: wrap; }
.kck-toc-label { display: flex; align-items: center; gap: 10px; padding: 16px 24px 16px 0; font-size: 10.5px; font-weight: 800; letter-spacing: 2.5px; text-transform: uppercase; color: var(--kp-text-3); border-right: 1px solid var(--kp-border); margin-right: 8px; }
.kck-toc-link { display: inline-flex; align-items: center; gap: 9px; padding: 16px 20px; text-decoration: none; color: var(--kp-text-2); transition: color .2s ease; }
.kck-toc-link:hover { color: var(--kp-on-accent); }
.kck-toc-link > span:last-child { font-size: 11.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.kck-toc-num { font-size: 11px; color: var(--kp-accent); }

/* — 01 BOTANIKA — */
.kck-botany-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 56px; align-items: center; }
[data-r="kck-plate-wrap"] { position: relative; }
[data-r="kck-plate"] { position: relative; margin: 0; background: linear-gradient(160deg, var(--kp-surface), var(--kp-bg-deep) 70%); border: 1px solid var(--kp-border); border-radius: 16px; aspect-ratio: 4 / 5; overflow: hidden; box-shadow: 0 40px 80px rgba(0, 0, 0, .5); }
[data-r="kck-plate-grid"] { position: absolute; inset: 0; background: repeating-linear-gradient(0deg, transparent 0 38px, rgba(var(--kp-border-rgb), .5) 38px 39px), repeating-linear-gradient(90deg, transparent 0 38px, rgba(var(--kp-border-rgb), .5) 38px 39px); }
[data-r="kck-plate-fig"] { position: absolute; top: 16px; left: 18px; font-size: 10px; letter-spacing: 1.5px; color: var(--kp-text-3); }
[data-r="kck-plate-size"] { position: absolute; top: 16px; right: 18px; font-size: 10px; letter-spacing: 1.5px; color: var(--kp-text-3); }
[data-r="kck-plate-orbit"] { position: absolute; left: 50%; top: 52%; transform: translate(-50%, -50%); width: 230px; height: 230px; border: 1px dashed rgba(var(--kp-accent-rgb), .3); border-radius: 50%; }
[data-r="kck-plate-leaf"] { position: absolute; left: 50%; top: 52%; transform: translate(-50%, -50%); width: 170px; height: 272px; color: var(--kp-accent); filter: drop-shadow(0 0 20px rgba(var(--kp-accent-rgb), .35)); }
[data-r="kck-callout-l"] { position: absolute; left: 18px; top: 34%; display: flex; align-items: center; gap: 8px; }
[data-r="kck-callout-r"] { position: absolute; right: 18px; top: 60%; display: flex; align-items: center; gap: 8px; flex-direction: row-reverse; }
.kck-callout-dot { width: 7px; height: 7px; background: var(--kp-accent); border-radius: 50%; flex: none; box-shadow: 0 0 0 4px rgba(var(--kp-accent-rgb), .18); }
.kck-callout-line { width: 44px; height: 1px; background: var(--kp-border); flex: none; }
[data-r="kck-callout-txt-l"] { position: absolute; left: 18px; top: calc(34% - 24px); font-size: 10px; letter-spacing: .8px; color: var(--kp-text-2); max-width: 120px; line-height: 1.5; }
[data-r="kck-callout-txt-r"] { position: absolute; right: 18px; top: calc(60% - 24px); text-align: right; font-size: 10px; letter-spacing: .8px; color: var(--kp-text-2); max-width: 130px; line-height: 1.5; }
[data-r="kck-callout-txt-l"] > span { color: var(--kp-text-3); }
[data-r="kck-plate-foot"] { position: absolute; left: 0; right: 0; bottom: 0; border-top: 1px solid var(--kp-border); background: rgba(var(--kp-bg-deep-rgb), .86); padding: 11px 18px; display: flex; align-items: center; justify-content: space-between; margin: 0; }
[data-r="kck-plate-foot"] > span:first-child { font-size: 10px; font-weight: 800; letter-spacing: 1.6px; text-transform: uppercase; color: var(--kp-text-2); }
[data-r="kck-plate-foot"] > span:last-child { font-size: 9.5px; letter-spacing: 1px; color: var(--kp-text-3); }
.kck-chips { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 28px; }
.kck-chip { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--kp-border); background: var(--kp-surface); border-radius: 100px; padding: 9px 15px; font-size: 11px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--kp-text-2); }
.kck-namebox { display: flex; align-items: flex-start; gap: 16px; background: linear-gradient(140deg, var(--kp-tint), var(--kp-surface) 70%); border: 1px solid var(--kp-border); border-radius: 14px; padding: 22px 24px; }
.kck-namebox-leaf { width: 26px; height: 42px; color: var(--kp-accent); flex: none; margin-top: 2px; }
.kck-namebox-label { font-size: 11px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--kp-accent); margin-bottom: 7px; }
.kck-namebox-txt { font-size: 13.5px; line-height: 1.65; color: var(--kp-text-2); }
.kck-namebox-txt em { color: var(--kp-text); font-style: italic; }

/* — 02 MAPA — */
.kck-origin-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 56px; align-items: center; }
.kck-legend { display: flex; flex-direction: column; gap: 10px; }
.kck-legend-row { display: flex; align-items: center; gap: 12px; border: 1px solid var(--kp-border); background: var(--kp-surface); border-radius: 10px; padding: 13px 16px; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--kp-text-2); }
.kck-legend-region { width: 14px; height: 14px; background: rgba(var(--kp-accent-rgb), .35); border: 1px solid var(--kp-accent); border-radius: 3px; flex: none; }
.kck-legend-pin { width: 12px; height: 12px; background: var(--kp-accent); border-radius: 50%; flex: none; box-shadow: 0 0 0 4px rgba(var(--kp-accent-rgb), .2); }
[data-r="kck-map-panel"] { position: relative; background: var(--kp-bg); border: 1px solid var(--kp-border); border-radius: 16px; padding: 18px; overflow: hidden; box-shadow: 0 40px 80px rgba(0, 0, 0, .5); }
[data-r="kck-map-badge"] { position: absolute; top: 16px; left: 20px; z-index: 3; display: inline-flex; align-items: center; gap: 9px; background: rgba(var(--kp-bg-deep-rgb), .8); border: 1px solid var(--kp-border); border-radius: 100px; padding: 8px 14px; }
[data-r="kck-map-badge"] > span:last-child { font-size: 10.5px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--kp-text-2); }
[data-r="kck-map-coords"] { position: absolute; bottom: 16px; left: 20px; font-size: 10.5px; letter-spacing: 1px; color: var(--kp-text-3); line-height: 1.6; }
[data-r="kck-map-coords"] > span { color: var(--kp-text-2); }
.kck-map { width: 100%; height: auto; display: block; }
.kck-map text { font-family: ui-monospace, Menlo, monospace; }
.kck-map-hatch { stroke: var(--kp-accent); stroke-width: 1.4; opacity: .22; }
.kck-map-grat line { stroke: var(--kp-border); stroke-width: 1.2; stroke-dasharray: 2 7; opacity: .55; }
.kck-map-grat-lbl text { font-size: 15px; fill: var(--kp-text-3); letter-spacing: 1px; }
.kck-map-land { fill: var(--kp-surface); stroke: var(--kp-border-2); stroke-width: 2; }
.kck-map-region-fill { fill: rgba(var(--kp-accent-rgb), .2); }
.kck-map-region-line { fill: none; stroke: var(--kp-accent); stroke-width: 2; stroke-dasharray: 6 5; opacity: .85; }
.kck-map-outline { fill: none; stroke: var(--kp-border-3); stroke-width: 2; }
.kck-map-lesotho { fill: var(--kp-bg); stroke: var(--kp-border-2); stroke-width: 1.6; }
.kck-map-region-lbl { font-size: 16px; fill: rgba(var(--kp-text-rgb), .55); letter-spacing: 3px; }
.kck-map-city { fill: none; stroke: var(--kp-text-2); stroke-width: 2; }
.kck-map-city-line { stroke: var(--kp-text-3); stroke-width: 1.4; }
.kck-map-city-lbl { font-size: 14px; fill: var(--kp-text-3); letter-spacing: 1px; }
.kck-map-ring { fill: rgba(var(--kp-accent-rgb), .5); transform-origin: 196px 330px; }
html.kp-hp-js .is-in .kck-map-ring { animation: kckPulse 3s ease-out infinite; }
html.kp-hp-js .is-in .kck-map-ring-2 { animation-delay: 1.5s; }
html:not(.kp-hp-js) .kck-map-ring { opacity: .25; }
.kck-map-pin { fill: var(--kp-accent); stroke: var(--kp-bg); stroke-width: 2; }
.kck-map-pin-core { fill: var(--kp-on-accent); }
.kck-map-pin-line { stroke: var(--kp-accent); stroke-width: 1.6; }
.kck-map-pin-lbl { font-size: 15px; fill: var(--kp-text); letter-spacing: 1.5px; font-weight: bold; }
.kck-map-compass line { stroke: var(--kp-border); stroke-width: 1.6; }
.kck-map-compass path { fill: var(--kp-accent); }
.kck-map-compass text { font-size: 15px; fill: var(--kp-text-2); font-weight: bold; }

/* — 03 TIMELINE — */
[data-r="kck-tl"] { position: relative; padding-left: 6px; }
[data-r="kck-tl-line"] { display: none; } /* nahrazeno segmenty na itemech níže — absolutní linka neseděla na středy markerů (6px posun) a přetékala pod poslední marker */
[data-r="kck-tl-item"], .kck-tl-item { position: relative; padding-left: 56px; padding-bottom: 26px; }
/* linka = segment v každém itemu: left 16px → střed 17px = střed markeru (left 8 + půlka 18px); fade dolů po segmentech */
.kck-tl-item::before { content: ''; position: absolute; left: 16px; top: 0; bottom: 0; width: 2px; background: var(--kp-accent); opacity: .2; }
.kck-tl-item:nth-child(2)::before { top: calc(50% - 13px); opacity: .9; } /* první item (child 1 = skrytá linka): start ve středu markeru = střed karty (item = karta + 26px padding-bottom) */
.kck-tl-item:nth-child(3)::before { opacity: .7; }
.kck-tl-item:nth-child(4)::before { opacity: .55; }
.kck-tl-item:nth-child(5)::before { opacity: .4; }
.kck-tl-item:nth-child(6)::before { opacity: .3; }
.kck-tl-item-now::before { bottom: auto; height: 50%; } /* poslední (Dnes, bez padding-bottom): konec ve středu markeru = střed karty */
.kck-tl-item:last-child { padding-bottom: 0; }
[data-r="kck-tl-marker"], .kck-tl-marker { position: absolute; left: 8px; top: calc(50% - 22px); width: 18px; height: 18px; background: var(--kp-bg); border: 2px solid var(--kp-accent); transform: rotate(45deg); } /* vertikálně na střed karty: 50 % itemu − 13 (půlka 26px padding-bottom) − 9 (půlka markeru) */
.kck-tl-item-now .kck-tl-marker { top: calc(50% - 9px); } /* poslední item nemá padding-bottom */
.kck-tl-marker-now { background: var(--kp-accent); box-shadow: 0 0 0 5px rgba(var(--kp-accent-rgb), .2); }
.kck-tl-card { background: var(--kp-surface); border: 1px solid var(--kp-border); border-radius: 14px; padding: 22px 26px; transition: border-color .3s ease, transform .3s ease; }
.kck-tl-card:hover { border-color: rgba(var(--kp-accent-rgb), .5); transform: translateX(4px); }
.kck-tl-card-now { background: linear-gradient(140deg, var(--kp-tint), var(--kp-surface) 70%); border-color: rgba(var(--kp-accent-rgb), .35); }
.kck-tl-card-now:hover { transform: none; }
.kck-tl-head { display: flex; align-items: center; gap: 14px; margin-bottom: 8px; flex-wrap: wrap; }
.kck-tl-year { font-weight: 900; font-size: 26px; letter-spacing: -1px; color: var(--kp-text); }
.kck-tl-tag { font-size: 10px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; color: var(--kp-accent); border: 1px solid rgba(var(--kp-accent-rgb), .4); border-radius: 5px; padding: 4px 9px; }
.kck-tl-tag-now { color: var(--kp-on-accent); background: var(--kp-accent); border: none; padding: 5px 10px; }
.kck-tl-txt { font-size: 13.5px; line-height: 1.65; color: var(--kp-text-3); }
.kck-tl-txt strong { color: var(--kp-text-2); font-weight: 600; }
.kck-tl-txt em { color: var(--kp-text-2); font-style: italic; }
.kck-tl-txt-now { color: var(--kp-text-2); }

/* — 04 KOUGOED — */
.kck-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; position: relative; }
.kck-step { background: var(--kp-surface); border: 1px solid var(--kp-border); border-radius: 14px; padding: 28px; position: relative; overflow: hidden; transition: border-color .3s ease, transform .3s ease; }
.kck-step:hover { border-color: rgba(var(--kp-accent-rgb), .5); transform: translateY(-4px); }
[data-r="kck-step-num"] { position: absolute; top: 14px; right: 18px; font-weight: 900; font-size: 52px; line-height: 1; color: rgba(var(--kp-text-rgb), .06); letter-spacing: -2px; }
.kck-step-ico { width: 52px; height: 52px; background: var(--kp-tint); border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.kck-step-ico svg { width: 26px; height: 26px; stroke: var(--kp-accent); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.kck-step-title { font-weight: 800; font-size: 16px; letter-spacing: .4px; text-transform: uppercase; color: var(--kp-text); margin-bottom: 9px; }
.kck-step-txt { font-size: 13px; line-height: 1.65; color: var(--kp-text-3); }

/* — 05 FORMY — */
.kck-forms-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.kck-form-card { background: linear-gradient(165deg, var(--kp-surface), var(--kp-bg-deep)); border: 1px solid var(--kp-border); border-radius: 14px; padding: 24px 20px; min-height: 230px; display: flex; flex-direction: column; transition: transform .3s ease, border-color .3s ease; }
.kck-form-card:hover { transform: translateY(-6px); border-color: var(--kp-accent); }
.kck-form-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }
.kck-form-num { font-size: 12px; color: var(--kp-text-3); }
.kck-form-ico { width: 26px; height: 26px; stroke: var(--kp-accent); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.kck-form-body { margin-top: auto; }
.kck-form-name { font-weight: 800; font-size: 15px; letter-spacing: .3px; text-transform: uppercase; color: var(--kp-text); margin-bottom: 8px; }
.kck-form-desc { font-size: 12px; line-height: 1.55; color: var(--kp-text-3); }
.kck-alkaloid-bar { margin-top: 18px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; background: linear-gradient(120deg, var(--kp-surface), var(--kp-bg-deep)); border: 1px solid var(--kp-border); border-radius: 14px; padding: 22px 26px; }
.kck-alkaloid-left { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 260px; }
.kck-alkaloid-ico { width: 24px; height: 24px; stroke: var(--kp-accent); fill: none; stroke-width: 1.8; stroke-linecap: round; flex: none; }
.kck-alkaloid-txt { font-size: 13px; line-height: 1.6; color: var(--kp-text-2); }
.kck-alkaloid-txt strong { color: var(--kp-text); font-weight: 700; }
.kck-alkaloid-meta { font-size: 10.5px; letter-spacing: 1px; color: var(--kp-text-3); white-space: nowrap; }

/* — 06 ZÁVĚR — */
[data-r="kck-outro-panel"] { position: relative; overflow: hidden; background: linear-gradient(125deg, var(--kp-tint), var(--kp-surface) 62%); border: 1px solid var(--kp-border); border-radius: 18px; padding: 66px 60px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 48px; align-items: center; }
[data-r="kck-outro-watermark"] { position: absolute; right: -50px; top: -70px; width: 340px; height: 544px; color: rgba(var(--kp-accent-rgb), .13); transform: rotate(20deg); pointer-events: none; }
[data-r="kck-outro-copy"] { position: relative; }
.kck-outro-ctas { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
[data-r="kck-outro-visual"] { position: relative; display: flex; align-items: center; justify-content: center; min-height: 260px; }
[data-r="kck-orbit-3"] { width: 250px; height: 250px; border: 1px dashed rgba(var(--kp-accent-rgb), .3); }
[data-r="kck-orbit-4"] { width: 180px; height: 180px; border: 1px solid rgba(var(--kp-accent-rgb), .22); }
.kck-outro-leaf { width: 130px; height: 208px; color: var(--kp-accent); filter: drop-shadow(0 0 22px rgba(var(--kp-accent-rgb), .4)); }
[data-r="kck-outro-cap"] { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); text-align: center; white-space: nowrap; font-size: 10px; letter-spacing: 1.5px; color: var(--kp-text-3); }

/* kreslení listu na botanické desce (sdílí keyframe kphLeafDraw) */
html.kp-hp-js .kck-leaf-draw path { stroke-dasharray: 1200; stroke-dashoffset: 1200; }
html.kp-hp-js .is-in .kck-leaf-draw path, html.kp-hp-js .kck-leaf-draw.is-in path { animation: kphLeafDraw 2.6s ease forwards; }

/* — animace — */
@keyframes kckPulse { 0% { transform: scale(.4); opacity: .9; } 70%, 100% { transform: scale(2.4); opacity: 0; } }

/* — responsivita — */
@media (max-width: 1100px) {
  [data-r="kck-hero-grid"] { grid-template-columns: 1fr; gap: 28px; }
  [data-r="kck-hero-visual"] { order: -1; height: 460px; max-width: 480px; margin: 0 auto; width: 100%; }
  [data-r="kck-hero-orbits"] { height: 460px; }
  .kck-botany-grid, .kck-origin-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 950px) {
  .kck-section { padding: 64px 20px 0; }
  .kck-outro.kck-section { padding-bottom: 64px; }
  .kck-band { margin-top: 64px; }
  .kck-band-inner, .kck-origin-grid { padding: 56px 20px; }
  [data-r="kck-hero-grid"] { padding: 56px 20px 64px; }
  .kck-sec-head2 { grid-template-columns: 1fr; gap: 18px; margin-bottom: 32px; }
  .kck-steps { grid-template-columns: 1fr; }
  .kck-forms-grid { grid-template-columns: repeat(2, 1fr); }
  [data-r="kck-outro-panel"] { grid-template-columns: 1fr; padding: 40px 28px; gap: 36px; }
}
@media (max-width: 640px) {
  .kck-forms-grid { grid-template-columns: 1fr; }
  .kck-form-card { min-height: 0; }
  [data-r="kck-hero-visual"] { height: 400px; }
  [data-r="kck-hero-orbits"] { height: 400px; }
  [data-r="kck-orbit-1"] { width: 320px; height: 320px; }
  [data-r="kck-orbit-2"] { width: 240px; height: 240px; }
  .kck-hero-leaf { width: 180px; height: 288px; }
  .kck-toc-label { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  [data-r="kck-hero-glow"], [data-r="kck-hero-orbits"] { animation: none !important; }
  html.kp-hp-js .is-in .kck-map-ring { animation: none; opacity: .25; }
  html.kp-hp-js .kck-leaf-draw path { stroke-dasharray: none; stroke-dashoffset: 0; animation: none !important; }
  .kck-tl-card:hover, .kck-step:hover, .kck-form-card:hover { transform: none; }
}

/* ════════════════════════════════════════════════════════════════
   O NAŠÍ KANĚ (ONK) — Bricks import z CD návrhu (Code2Bricks)
   Markup: _bricks_import/o-nasi-kanne.html. Prefix onk- (nekoliduje
   s kph-/kck-). Barvy VÝHRADNĚ tokeny --kp-*. data-r hooky drží
   position/transform/overlay. Reveal jede přes html.kp-hp-js
   [data-reveal] (sekce HOMEPAGE KPH). POZN. boxy = klientské
   placeholdery, viditelné záměrně.
   ════════════════════════════════════════════════════════════════ */

/* — základ — */
.onk-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.brxe-svg.onk-defs, svg.onk-defs[width="0"] { width: 0 !important; height: 0 !important; }
.onk-section { max-width: 1280px; margin: 0 auto; padding: 96px 24px 0; }
.onk-outro.onk-section { padding-bottom: 96px; }
.brxe-section.onk-section, .brxe-section.onk-hero, .brxe-section.onk-band { align-items: stretch; }
.onk-section > div, .onk-band > div { width: 100%; }
.onk-band { margin-top: 96px; background: var(--kp-bg-deep); border-top: 1px solid var(--kp-border); border-bottom: 1px solid var(--kp-border); }
.onk-band-inner { max-width: 1280px; margin: 0 auto; padding: 88px 24px; }
.onk-accent { color: var(--kp-accent); }
.onk-mono { font-family: ui-monospace, Menlo, monospace; }
.onk-dot { width: 7px; height: 7px; background: var(--kp-accent); transform: rotate(45deg); flex: none; display: inline-block; }
.onk-h2 { margin: 0 0 22px; font-weight: 900; font-size: clamp(30px, 4vw, 46px); letter-spacing: -1.5px; text-transform: uppercase; line-height: 1.02; color: var(--kp-text); }
.onk-h2-md { font-size: clamp(28px, 3.6vw, 42px); line-height: 1.05; margin-bottom: 20px; }
.onk-lead { margin: 0 0 22px; max-width: 540px; font-size: 15.5px; line-height: 1.8; color: var(--kp-text-2); }
.onk-lead em { color: var(--kp-text); font-style: italic; }
.onk-lead strong { color: var(--kp-text); font-weight: 700; }
.onk-lead-muted { color: var(--kp-text-3); }
.onk-lead-muted strong { color: var(--kp-text-2); }
.onk-fine { margin: 0 0 30px; font-size: 11.5px; line-height: 1.7; color: var(--kp-text-3); }
.onk-chapter { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.onk-chapter-num { font-size: 12px; letter-spacing: 2px; color: var(--kp-accent); }
.onk-chapter-line { flex: 1; height: 1px; background: var(--kp-border); max-width: 60px; }
.onk-chapter-line-accent { background: rgba(var(--kp-accent-rgb), .3); }
.onk-chapter-name { font-size: 11px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--kp-text-3); }
.onk-sec-head2 { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: flex-end; margin-bottom: 44px; }
.onk-sec-head2 .onk-h2 { margin-bottom: 0; }
.onk-sec-head2 > p { margin: 0; font-size: 15px; }
.onk-btn { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; padding: 16px 28px; border-radius: 10px; text-decoration: none; cursor: pointer; }
.onk-btn-primary { background: var(--kp-accent); color: var(--kp-on-accent); box-shadow: 0 12px 34px rgba(var(--kp-accent-rgb), .32); transition: transform .25s ease, box-shadow .25s ease; }
.onk-btn-primary:hover { transform: translateY(-3px); box-shadow: 0 18px 44px rgba(var(--kp-accent-rgb), .48); }
.onk-btn-ghost { background: transparent; color: var(--kp-text); border: 1px solid var(--kp-border); font-weight: 700; padding: 15px 26px; transition: border-color .25s ease, background .25s ease; }
.onk-btn-ghost:hover { border-color: var(--kp-accent); background: rgba(var(--kp-accent-rgb), .08); }
.onk-btn-outline { background: transparent; color: var(--kp-text); border: 1px solid rgba(var(--kp-accent-rgb), .5); font-weight: 700; transition: background .25s ease; }
.onk-btn-outline:hover { background: rgba(var(--kp-accent-rgb), .12); }
.onk-pill { display: inline-flex; align-items: center; gap: 10px; border: 1px solid var(--kp-border); background: rgba(var(--kp-surface-rgb), .7); border-radius: 100px; padding: 8px 16px; margin-bottom: 30px; }
.onk-pill-txt { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--kp-text-2); }
.onk-orbit { position: absolute; border-radius: 50%; }
.onk-client-note { display: inline-flex; align-items: flex-start; gap: 10px; border: 1px dashed rgba(var(--kp-accent-rgb), .4); border-radius: 10px; padding: 12px 16px; font-size: 10.5px; letter-spacing: .6px; line-height: 1.6; color: var(--kp-text-3); }
.onk-client-note > span { color: var(--kp-accent); flex: none; }

/* — HERO — */
.onk-hero, [data-r="onk-hero"] { position: relative; overflow: hidden; border-bottom: 1px solid var(--kp-border); }
[data-r="onk-hero-bg"] { position: absolute; inset: 0; background: radial-gradient(880px 500px at 24% 30%, rgba(var(--kp-accent-rgb), .10), transparent 65%), radial-gradient(640px 440px at 92% 88%, rgba(var(--kp-weak-rgb), .5), transparent 70%); pointer-events: none; }
[data-r="onk-hero-watermark"] { position: absolute; right: -90px; top: -140px; width: 560px; height: 896px; color: rgba(var(--kp-text-rgb), .045); transform: rotate(16deg); pointer-events: none; }
[data-r="onk-hero-grid"] { width: 100%; position: relative; max-width: 1280px; margin: 0 auto; padding: 96px 24px 88px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: end; }
.onk-hero-h1 { margin: 0 0 26px; font-weight: 900; font-size: clamp(56px, 7.2vw, 100px); line-height: .94; letter-spacing: -3px; text-transform: uppercase; color: var(--kp-text); }
.onk-hero-h1 > span { display: block; }
.onk-hero-sub { margin: 0 0 32px; max-width: 490px; font-size: 17px; line-height: 1.7; color: var(--kp-text-2); font-weight: 500; }
.onk-hero-ctas { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
[data-r="onk-hero-visual"] { position: relative; height: 440px; }
[data-r="onk-hero-glow"] { position: absolute; left: 50%; top: 48%; width: 360px; height: 360px; transform: translate(-50%, -50%); background: radial-gradient(circle, rgba(var(--kp-accent-rgb), .26), transparent 68%); filter: blur(34px); animation: kphGlow 6s ease-in-out infinite; }
[data-r="onk-hero-orbits"] { position: relative; height: 440px; display: flex; align-items: center; justify-content: center; animation: kphFloat 7.5s ease-in-out infinite; }
[data-r="onk-orbit-1"] { width: 380px; height: 380px; border: 1px dashed rgba(var(--kp-accent-rgb), .28); }
[data-r="onk-orbit-2"] { width: 280px; height: 280px; border: 1px solid var(--kp-border); }
.onk-hero-leaf { width: 206px; height: 330px; color: var(--kp-accent); filter: drop-shadow(0 0 26px rgba(var(--kp-accent-rgb), .4)); }
[data-r="onk-hero-note"] { position: absolute; top: 20px; right: 2px; font-size: 10.5px; letter-spacing: 1.2px; color: var(--kp-text-3); text-align: right; line-height: 1.9; }
[data-r="onk-hero-coords"] { position: absolute; bottom: 14px; left: 2px; font-size: 10.5px; letter-spacing: 1.2px; color: var(--kp-text-3); line-height: 1.9; }
.onk-hero-coords-hl { color: var(--kp-text-2); }

/* — PÁSMO FAKTŮ — */
[data-r="onk-facts"] { background: var(--kp-bg-deep); border-bottom: 1px solid var(--kp-border); }
.onk-facts-inner { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: repeat(3, 1fr); }
.onk-fact { display: flex; align-items: center; gap: 14px; padding: 20px 24px; border-right: 1px solid var(--kp-border); }
.onk-fact:first-child { padding-left: 0; }
.onk-fact:last-child { border-right: none; padding-right: 0; }
.onk-fact-num { font-size: 11px; color: var(--kp-accent); }
.onk-fact-label { font-size: 10px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--kp-text-3); margin-bottom: 3px; }
.onk-fact-val { font-size: 13px; font-weight: 700; color: var(--kp-text); }

/* — 01 NÁŠ PŘÍBĚH — */
.onk-story-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 56px; }
[data-r="onk-quote"], .onk-quote { position: relative; border-left: 2px solid var(--kp-accent); padding: 6px 0 6px 24px; margin-bottom: 26px; }
.onk-quote p { margin: 0; font-size: 19px; line-height: 1.6; color: var(--kp-text); font-weight: 600; }
[data-r="onk-story-right"] { padding-top: 56px; }
[data-r="onk-story-right"] .onk-lead { font-size: 16.5px; line-height: 1.85; max-width: none; }
.onk-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 34px; }
.onk-value { border: 1px solid var(--kp-border); background: var(--kp-surface); border-radius: 12px; padding: 20px; transition: border-color .3s ease; }
.onk-value:hover { border-color: rgba(var(--kp-accent-rgb), .5); }
.onk-value-num { font-size: 11px; color: var(--kp-accent); margin-bottom: 10px; }
.onk-value-name { font-weight: 800; font-size: 13.5px; letter-spacing: .5px; text-transform: uppercase; color: var(--kp-text); }

/* — 02 PŮVOD DODÁVEK — */
[data-r="onk-route"] { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; position: relative; border: 1px solid var(--kp-border); border-radius: 16px; background: var(--kp-surface); overflow: hidden; }
[data-r="onk-route-line"] { position: absolute; left: 16.6667%; right: 16.6667%; top: 59px; height: 2px; background: repeating-linear-gradient(90deg, var(--kp-accent) 0 8px, transparent 8px 16px); opacity: .5; }
/* ikony centrované ve sloupcích (margin auto níže) → středy na 16,67 % / 50 % / 83,33 % šířky boxu; linka vede od 1. ke 3. ikoně a celek je na středu (kruhy ji maskují neprůhledným pozadím, y 60px = padding 34 + půlka 52px kruhu) */
.onk-route-step { position: relative; padding: 34px 30px; border-right: 1px solid var(--kp-border); }
.onk-route-step:last-child { border-right: none; }
[data-r="onk-route-ico"], .onk-route-ico { width: 52px; height: 52px; background: var(--kp-tint); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; position: relative; z-index: 1; }
.onk-route-ico svg { width: 24px; height: 24px; stroke: var(--kp-accent); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.onk-route-meta { font-size: 10.5px; letter-spacing: 1.5px; color: var(--kp-text-3); margin-bottom: 8px; }
.onk-route-title { font-weight: 800; font-size: 16px; letter-spacing: .4px; text-transform: uppercase; color: var(--kp-text); margin-bottom: 9px; }
.onk-route-txt { font-size: 13px; line-height: 1.65; color: var(--kp-text-3); }
.onk-band .onk-client-note { margin-top: 18px; }

/* — 03 KVALITA — */
.onk-quality-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.onk-quality-card { background: linear-gradient(165deg, var(--kp-surface), var(--kp-bg-deep)); border: 1px solid var(--kp-border); border-radius: 14px; padding: 26px 22px; min-height: 250px; display: flex; flex-direction: column; transition: transform .3s ease, border-color .3s ease; }
.onk-quality-card:hover { transform: translateY(-6px); border-color: var(--kp-accent); }
.onk-quality-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }
.onk-quality-num { font-size: 12px; color: var(--kp-text-3); }
.onk-quality-ico { width: 26px; height: 26px; stroke: var(--kp-accent); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.onk-quality-body { margin-top: auto; }
.onk-quality-name { font-weight: 800; font-size: 15px; letter-spacing: .3px; text-transform: uppercase; color: var(--kp-text); margin-bottom: 8px; }
.onk-quality-txt { font-size: 12.5px; line-height: 1.6; color: var(--kp-text-3); }
.onk-quality-txt em { color: var(--kp-text-2); font-style: italic; }

/* — 04 O SPOLEČNOSTI — */
.onk-company-grid { max-width: 1280px; margin: 0 auto; padding: 88px 24px; display: grid; grid-template-columns: .95fr 1.05fr; gap: 56px; align-items: center; }
.onk-company-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.onk-company-card { background: var(--kp-surface); border: 1px solid var(--kp-border); border-radius: 14px; padding: 26px; transition: border-color .3s ease, transform .3s ease; }
.onk-company-card:hover { border-color: rgba(var(--kp-accent-rgb), .5); transform: translateY(-4px); }
.onk-company-ico { width: 48px; height: 48px; background: var(--kp-tint); border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.onk-company-ico svg { width: 24px; height: 24px; stroke: var(--kp-accent); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.onk-company-name { font-weight: 800; font-size: 15px; letter-spacing: .4px; text-transform: uppercase; color: var(--kp-text); margin-bottom: 8px; }
.onk-company-txt { font-size: 12.5px; line-height: 1.65; color: var(--kp-text-3); }
.onk-company-wide { grid-column: 1 / -1; background: linear-gradient(140deg, var(--kp-tint), var(--kp-surface) 70%); border: 1px solid var(--kp-border); border-radius: 14px; padding: 24px 26px; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.onk-company-wide-left { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 220px; }
.onk-company-leaf { width: 22px; height: 36px; color: var(--kp-accent); flex: none; }
.onk-company-wide-txt { font-size: 13px; line-height: 1.6; color: var(--kp-text-2); }
.onk-company-wide-txt strong { color: var(--kp-text); font-weight: 700; }
.onk-company-ico-meta { font-size: 10.5px; letter-spacing: 1px; color: var(--kp-text-3); white-space: nowrap; }

/* — 05 ZÁVĚR — */
[data-r="onk-outro-panel"] { position: relative; overflow: hidden; background: linear-gradient(125deg, var(--kp-tint), var(--kp-surface) 62%); border: 1px solid var(--kp-border); border-radius: 18px; padding: 66px 60px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 48px; align-items: center; }
[data-r="onk-outro-watermark"] { position: absolute; right: -50px; top: -70px; width: 340px; height: 544px; color: rgba(var(--kp-accent-rgb), .13); transform: rotate(20deg); pointer-events: none; }
[data-r="onk-outro-copy"] { position: relative; }
.onk-outro-ctas { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
[data-r="onk-outro-visual"] { position: relative; display: flex; align-items: center; justify-content: center; min-height: 260px; }
[data-r="onk-orbit-3"] { width: 250px; height: 250px; border: 1px dashed rgba(var(--kp-accent-rgb), .3); }
[data-r="onk-orbit-4"] { width: 180px; height: 180px; border: 1px solid rgba(var(--kp-accent-rgb), .22); }
.onk-outro-leaf { width: 130px; height: 208px; color: var(--kp-accent); filter: drop-shadow(0 0 22px rgba(var(--kp-accent-rgb), .4)); }
[data-r="onk-outro-cap"] { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); text-align: center; white-space: nowrap; font-size: 10px; letter-spacing: 1.5px; color: var(--kp-text-3); }

/* — responsivita — */
@media (max-width: 1100px) {
  [data-r="onk-hero-grid"] { grid-template-columns: 1fr; gap: 28px; align-items: start; }
  [data-r="onk-hero-visual"] { order: -1; height: 400px; max-width: 460px; margin: 0 auto; width: 100%; }
  [data-r="onk-hero-orbits"] { height: 400px; }
  .onk-story-grid, .onk-company-grid { grid-template-columns: 1fr; gap: 40px; }
  [data-r="onk-story-right"] { padding-top: 0; }
}
@media (max-width: 950px) {
  .onk-section { padding: 64px 20px 0; }
  .onk-outro.onk-section { padding-bottom: 64px; }
  .onk-band { margin-top: 64px; }
  .onk-band-inner { padding: 56px 20px; }
  .onk-company-grid { padding: 56px 20px; }
  [data-r="onk-hero-grid"] { padding: 56px 20px 64px; }
  .onk-sec-head2 { grid-template-columns: 1fr; gap: 18px; margin-bottom: 32px; }
  .onk-facts-inner { grid-template-columns: 1fr; }
  .onk-fact { border-right: none; border-bottom: 1px solid var(--kp-border); padding: 14px 0; }
  .onk-fact:last-child { border-bottom: none; }
  [data-r="onk-route"] { grid-template-columns: 1fr; }
  .onk-route-step { border-right: none; border-bottom: 1px solid var(--kp-border); }
  .onk-route-step:last-child { border-bottom: none; }
  [data-r="onk-route-line"] { display: none; }
  [data-r="onk-route-ico"], .onk-route-ico { margin-left: 0; margin-right: 0; } /* stack: ikona zpět vlevo k textu */
  .onk-quality-grid { grid-template-columns: repeat(2, 1fr); }
  [data-r="onk-outro-panel"] { grid-template-columns: 1fr; padding: 40px 28px; gap: 36px; }
}
@media (max-width: 640px) {
  .onk-quality-grid, .onk-values, .onk-company-cards { grid-template-columns: 1fr; }
  .onk-quality-card { min-height: 0; }
  [data-r="onk-hero-visual"] { height: 360px; }
  [data-r="onk-hero-orbits"] { height: 360px; }
  [data-r="onk-orbit-1"] { width: 300px; height: 300px; }
  [data-r="onk-orbit-2"] { width: 220px; height: 220px; }
  .onk-hero-leaf { width: 160px; height: 256px; }
}
@media (prefers-reduced-motion: reduce) {
  [data-r="onk-hero-glow"], [data-r="onk-hero-orbits"] { animation: none !important; }
  .onk-quality-card:hover, .onk-company-card:hover, .onk-value:hover { transform: none; }
}

/* ── WORDMARK (textové logo v headeru — prozatímní, než bude finální grafika) ── */
.kp-wordmark { font-family: 'Montserrat', sans-serif; font-size: 21px; font-weight: 900; letter-spacing: -0.5px; text-transform: lowercase; color: var(--kp-text); line-height: 1; display: inline-flex; align-items: center; white-space: nowrap; text-decoration: none; }
.kp-wordmark--footer { font-size: 26px; }
.kp-wordmark .kp-wordmark-power { color: var(--kp-accent); }
@media (max-width: 950px) { .kp-wordmark { font-size: 19px; } }

/* ════════════════════════════════════════════════════════════════
   SLOVNÍK (SLP) — Bricks import (Code2Bricks), stránka 374
   Markup: _bricks_import/slovnik-pojmu.html. Prefix slp-. Jen tokeny
   --kp-*. Statická stránka (text/karty), reveal přes html.kp-hp-js.
   ════════════════════════════════════════════════════════════════ */

.brxe-section.slp-hero, .brxe-section.slp-section { align-items: stretch; }
.slp-section > div, .slp-hero > div { width: 100%; }
.slp-accent { color: var(--kp-accent); }
.slp-dot { width: 7px; height: 7px; background: var(--kp-accent); transform: rotate(45deg); flex: none; display: inline-block; }

/* — HERO — */
.slp-hero, [data-r="slp-hero"] { position: relative; overflow: hidden; border-bottom: 1px solid var(--kp-border); background: radial-gradient(760px 420px at 82% -10%, rgba(var(--kp-accent-rgb), .09), transparent 62%), var(--kp-bg); }
[data-r="slp-hero-grid"] { width: 100%; max-width: 1280px; margin: 0 auto; padding: 84px 24px 68px; }
.slp-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--kp-accent); margin-bottom: 16px; }
.slp-hero-h1 { margin: 0 0 18px; font-weight: 900; font-size: clamp(40px, 6vw, 76px); line-height: .96; letter-spacing: -2px; text-transform: uppercase; color: var(--kp-text); }
.slp-hero-sub { margin: 0; max-width: 560px; font-size: 16px; line-height: 1.7; color: var(--kp-text-3); }

/* — JUMP NAV (pilulky) — */
[data-r="slp-jump"] { background: var(--kp-bg-deep); border-bottom: 1px solid var(--kp-border); }
.slp-jump-inner { max-width: 1280px; margin: 0 auto; padding: 18px 24px; display: flex; flex-wrap: wrap; gap: 10px; }
.slp-jump-pill { display: inline-flex; align-items: center; font-size: 11.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--kp-text-2); text-decoration: none; background: var(--kp-tint); border: 1px solid var(--kp-border); border-radius: 100px; padding: 9px 16px; transition: border-color .25s ease, background .25s ease, color .25s ease; }
.slp-jump-pill:hover { border-color: var(--kp-accent); background: var(--kp-weak); color: var(--kp-text); }

/* — SEKCE — */
.slp-section { max-width: 1280px; margin: 0 auto; padding: 72px 24px 0; }
.slp-section:last-of-type { padding-bottom: 96px; }
.slp-sec-head { display: flex; align-items: baseline; gap: 16px; margin-bottom: 28px; padding-bottom: 18px; border-bottom: 1px solid var(--kp-border); }
.slp-sec-count { font-family: ui-monospace, Menlo, monospace; font-size: 13px; font-weight: 700; color: var(--kp-accent); flex: none; }
.slp-h2 { margin: 0; font-weight: 900; font-size: clamp(24px, 3.2vw, 36px); letter-spacing: -1px; text-transform: uppercase; line-height: 1; color: var(--kp-text); }

/* — MŘÍŽKA KARET HESEL — */
.slp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 0; }
.slp-card { background: var(--kp-surface); border: 1px solid var(--kp-border); border-radius: 12px; padding: 22px 22px 20px; transition: border-color .25s ease, transform .25s ease, background .25s ease; }
.slp-card:hover { border-color: rgba(var(--kp-accent-rgb), .5); transform: translateY(-3px); background: linear-gradient(160deg, var(--kp-surface), var(--kp-bg-deep)); }
.slp-term { font-weight: 800; font-size: 15px; letter-spacing: .2px; color: var(--kp-accent); margin: 0 0 8px; line-height: 1.25; }
.slp-term em { font-style: italic; }
.slp-def { margin: 0; font-size: 13px; line-height: 1.65; color: var(--kp-text-2); }
.slp-def em { color: var(--kp-text); font-style: italic; }

/* — responsivita — */
@media (max-width: 950px) {
  [data-r="slp-hero-grid"] { padding: 56px 20px 48px; }
  .slp-section { padding: 56px 20px 0; }
  .slp-section:last-of-type { padding-bottom: 64px; }
  .slp-grid { grid-template-columns: repeat(2, 1fr); }
  /* jump-nav: jeden řádek s horizontálním posunem (jako blog na mobilu) */
  .slp-jump-inner { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .slp-jump-inner::-webkit-scrollbar { display: none; }
  .slp-jump-pill { flex-shrink: 0; }
}
@media (max-width: 640px) {
  .slp-grid { grid-template-columns: 1fr; }
  .slp-jump-inner { padding: 14px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .slp-card:hover { transform: none; }
}

/* ════════════════════════════════════════════════════════════════
   FAQ — Bricks import (Code2Bricks), stránka 375 (caste-dotazy)
   Markup: _bricks_import/faq.html. Prefix faq-. Jen tokeny --kp-*.
   Akordeon = nativní <details>/<summary> (funguje BEZ JS). Reveal
   přes html.kp-hp-js. [POZN.] placeholdery = .faq-note (odlišené).
   ════════════════════════════════════════════════════════════════ */

.brxe-section.faq-hero, .brxe-section.faq-section { align-items: stretch; }
.faq-section > div, .faq-hero > div { width: 100%; }
.faq-accent { color: var(--kp-accent); }
.faq-dot { width: 7px; height: 7px; background: var(--kp-accent); transform: rotate(45deg); flex: none; display: inline-block; }

/* — HERO — */
.faq-hero, [data-r="faq-hero"] { position: relative; overflow: hidden; border-bottom: 1px solid var(--kp-border); background: radial-gradient(760px 420px at 82% -10%, rgba(var(--kp-accent-rgb), .09), transparent 62%), var(--kp-bg); }
[data-r="faq-hero-grid"] { width: 100%; max-width: 1280px; margin: 0 auto; padding: 84px 24px 68px; }
.faq-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--kp-accent); margin-bottom: 16px; }
.faq-hero-h1 { margin: 0 0 18px; font-weight: 900; font-size: clamp(40px, 6vw, 76px); line-height: .96; letter-spacing: -2px; text-transform: uppercase; color: var(--kp-text); }
.faq-hero-sub { margin: 0; max-width: 580px; font-size: 16px; line-height: 1.7; color: var(--kp-text-3); }

/* — JUMP NAV (pilulky) — */
[data-r="faq-jump"] { background: var(--kp-bg-deep); border-bottom: 1px solid var(--kp-border); }
.faq-jump-inner { max-width: 1280px; margin: 0 auto; padding: 18px 24px; display: flex; flex-wrap: wrap; gap: 10px; }
.faq-jump-pill { display: inline-flex; align-items: center; font-size: 11.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--kp-text-2); text-decoration: none; background: var(--kp-tint); border: 1px solid var(--kp-border); border-radius: 100px; padding: 9px 16px; transition: border-color .25s ease, background .25s ease, color .25s ease; }
.faq-jump-pill:hover { border-color: var(--kp-accent); background: var(--kp-weak); color: var(--kp-text); }

/* — SEKCE — */
.faq-section { max-width: 900px; margin: 0 auto; padding: 64px 24px 0; }
.faq-section:last-of-type { padding-bottom: 96px; }
.faq-sec-head { display: flex; align-items: baseline; gap: 16px; margin-bottom: 22px; padding-bottom: 16px; border-bottom: 1px solid var(--kp-border); }
.faq-sec-count { font-family: ui-monospace, Menlo, monospace; font-size: 13px; font-weight: 700; color: var(--kp-accent); flex: none; }
.faq-h2 { margin: 0; font-weight: 900; font-size: clamp(22px, 3vw, 32px); letter-spacing: -1px; text-transform: uppercase; line-height: 1; color: var(--kp-text); }

/* — AKORDEON (<details>/<summary>) — */
.faq-list { display: flex; flex-direction: column; gap: 10px; }
.faq-item { background: var(--kp-surface); border: 1px solid var(--kp-border); border-radius: 12px; overflow: hidden; transition: border-color .25s ease; }
.faq-item[open] { border-color: rgba(var(--kp-accent-rgb), .5); }
.faq-item:hover { border-color: rgba(var(--kp-accent-rgb), .35); }
.faq-q { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 14px; padding: 18px 22px; font-size: 14.5px; font-weight: 700; color: var(--kp-text); line-height: 1.4; user-select: none; }
.faq-q::-webkit-details-marker { display: none; }
.faq-q::after { content: ""; flex: none; margin-left: auto; width: 10px; height: 10px; border-right: 2px solid var(--kp-text-3); border-bottom: 2px solid var(--kp-text-3); transform: rotate(45deg); transition: transform .25s ease, border-color .25s ease; }
.faq-item[open] .faq-q::after { transform: rotate(-135deg); border-color: var(--kp-accent); }
.faq-q:hover::after { border-color: var(--kp-accent); }
.faq-item:focus-within .faq-q { outline: none; }
.faq-q:focus-visible { outline: 2px solid var(--kp-accent); outline-offset: -2px; border-radius: 12px; }
.faq-a { padding: 0 22px 20px; }
.faq-a p { margin: 0; font-size: 13.5px; line-height: 1.75; color: var(--kp-text-2); }
.faq-a strong { color: var(--kp-text); font-weight: 700; }
.faq-a em { color: var(--kp-text); font-style: italic; }

/* — [POZN.] placeholder marker — */
.faq-note { display: inline; font-family: ui-monospace, Menlo, monospace; font-size: 12px; color: var(--kp-text-3); background: var(--kp-tint); border: 1px dashed rgba(var(--kp-accent-rgb), .4); border-radius: 6px; padding: 1px 7px; }

/* — responsivita — */
@media (max-width: 950px) {
  [data-r="faq-hero-grid"] { padding: 56px 20px 48px; }
  .faq-section { padding: 48px 20px 0; }
  .faq-section:last-of-type { padding-bottom: 64px; }
  /* jump-nav: jeden řádek s horizontálním posunem (jako blog na mobilu) */
  .faq-jump-inner { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .faq-jump-inner::-webkit-scrollbar { display: none; }
  .faq-jump-pill { flex-shrink: 0; }
}
@media (max-width: 640px) {
  .faq-jump-inner { padding: 14px 20px; }
  .faq-q { padding: 16px 18px; font-size: 14px; }
  .faq-a { padding: 0 18px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .faq-q::after, .faq-item { transition: none; }
}

/* ── BADGE PRODUKTU (nativní pole text+barva; render kp_product_badge) ── */
.kp-badge-chip { display: inline-flex; align-items: center; font-size: 9px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; padding: 4px 8px; border-radius: 4px; white-space: nowrap; }
.kp-prodcard-badge--field { background: none !important; border: none; padding: 0; }

/* ── INFO PRUH (trust-mini) v buy panelu PDP ──
   Desktop: flex space-between, položky display:contents → texty i staré
   1px oddělovače jsou samostatné flex položky ⇒ oddělovač sedí PŘESNĚ
   uprostřed mezery mezi sousedními texty (ne na hranici čtvrtin, kde
   kolidoval s dlouhým prvním textem). Mobil: 2×2 grid bez čar. */
@media (min-width: 768px) {
  [data-r="trust-mini"] { display: flex !important; justify-content: space-between; align-items: center; gap: 0 !important; padding: 14px 28px !important; }
  [data-r="trust-mini"] > * { display: contents !important; }
  [data-r="trust-mini"] > * > .brxe-div.brxe-div { display: block !important; width: 1px !important; height: 12px !important; background: var(--kp-border) !important; margin: 0 !important; flex: none; }
  [data-r="trust-mini"] > * > .brxe-text-basic { white-space: nowrap; }
}
@media (max-width: 640px) {
  /* 2×2, vycentrované, bez svislých čar (čistší u zalomení) */
  [data-r="trust-mini"] { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0 !important; row-gap: 10px !important; padding: 14px 20px !important; }
  [data-r="trust-mini"] > * { display: flex !important; align-items: center; justify-content: center !important; min-width: 0; border-left: none !important; text-align: center; padding: 0 !important; }
  [data-r="trust-mini"] > * > .brxe-div { display: none !important; }
  [data-r="trust-mini"] > * > .brxe-text-basic { white-space: normal !important; }
}
@media (max-width: 400px) {
  /* velmi úzké displeje: 1 sloupec pod sebou */
  [data-r="trust-mini"] { grid-template-columns: 1fr; row-gap: 8px !important; }
}

/* ── RELATED PRODUKTY (PDP): grid na plnou šířku sekce ──
   .brxe-section je flex align-items:center a width:100% má jen hlavička
   (product-responsive:79) → grid se na mobilu smršťoval. */
[data-r="related-grid"] { width: 100%; }

/* ── KATEGORIE-LIŠTA (kp-catnav) na archivu obchodu ── */
.kp-catnav-wrap { background: var(--kp-bg); border-bottom: 1px solid var(--kp-border); }
.kp-catnav { max-width: 1280px; margin: 0 auto; padding: 16px 32px; display: flex; flex-wrap: wrap; gap: 10px; }
/* šířka srovnaná s archivními kontejnery ([data-r="page-hero-inner"] ap. jsou svřené na 1280px !important, řádek ~77) */
.kp-catnav-pill { display: inline-flex; align-items: center; gap: 8px; padding: 11px 18px; border-radius: 999px; background: transparent; border: 1px solid var(--kp-border); color: var(--kp-text-2); text-decoration: none; font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; transition: border-color .2s ease, color .2s ease, background .2s ease; }
.kp-catnav-pill svg { flex: none; }
.kp-catnav-count { background: var(--kp-surface-2); color: var(--kp-text-3); border-radius: 999px; padding: 2px 8px; font-size: 10px; font-weight: 800; transition: background .2s ease, color .2s ease; }
.kp-catnav-pill:hover { border-color: var(--kp-accent); color: var(--kp-accent); }
.kp-catnav-pill.is-active { background: var(--kp-accent); border-color: var(--kp-accent); color: #FFFFFF; }
.kp-catnav-pill.is-active .kp-catnav-count { background: rgba(255, 255, 255, .25); color: #FFFFFF; }
@media (max-width: 640px) {
  .kp-catnav { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 12px 20px; gap: 8px; }
  .kp-catnav::-webkit-scrollbar { display: none; }
  .kp-catnav-pill { flex: none; }
}

/* ── KONTAKTY: nativní Bricks formulář (kpform1) ── */
#brxe-kpform1 { display: flex; flex-wrap: wrap; column-gap: 16px; }
#brxe-kpform1 .form-group { width: 100%; padding: 0 0 18px; }
#brxe-kpform1 .form-group:nth-child(1), #brxe-kpform1 .form-group:nth-child(2) { width: calc(50% - 8px); }
#brxe-kpform1 label { font-size: 10px; font-weight: 800; color: var(--kp-text-2); letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 8px; }
#brxe-kpform1 label.required::after { content: ' *'; color: var(--kp-accent); }
#brxe-kpform1 input[type="text"], #brxe-kpform1 input[type="email"], #brxe-kpform1 input[type="tel"], #brxe-kpform1 textarea { height: 50px; background: var(--kp-surface-2); border: 1px solid var(--kp-border); border-radius: 10px; padding: 0 16px; font-family: inherit; font-size: 13px; font-weight: 500; color: var(--kp-text); outline: none; transition: border-color .15s ease, background .15s ease; }
#brxe-kpform1 textarea { height: auto; min-height: 140px; padding: 14px 16px; resize: vertical; }
#brxe-kpform1 input:focus, #brxe-kpform1 textarea:focus { border-color: var(--kp-accent); }
#brxe-kpform1 input::placeholder, #brxe-kpform1 textarea::placeholder { color: var(--kp-text-3); }
#brxe-kpform1 .options-wrapper { list-style: none; margin: 0; padding: 0; }
#brxe-kpform1 .options-wrapper li { display: flex; align-items: flex-start; gap: 10px; }
#brxe-kpform1 .options-wrapper input[type="checkbox"] { width: 16px; height: 16px; margin-top: 1px; accent-color: var(--kp-accent); flex: none; }
#brxe-kpform1 .options-wrapper label { font-size: 12px; font-weight: 600; color: var(--kp-text-2); letter-spacing: 0; text-transform: none; margin: 0; }
.kp-form-gdpr-note { margin: 0; font-size: 11px; line-height: 1.6; color: var(--kp-text-3); }
.kp-form-gdpr-note a { color: var(--kp-accent); text-decoration: underline; }
#brxe-kpform1 .form-group:has(> input[name="firma"]) { display: none !important; } /* honeypot */
#brxe-kpform1 .submit-button-wrapper { padding-bottom: 0; }
#brxe-kpform1 .bricks-button { height: 52px; padding: 0 28px; background: var(--kp-accent); color: var(--kp-on-accent); border: 0; border-radius: 10px; font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; transition: filter .15s ease; }
#brxe-kpform1 .bricks-button:hover { filter: brightness(1.1); }
@media (max-width: 950px) {
  #brxe-kpform1 .form-group:nth-child(1), #brxe-kpform1 .form-group:nth-child(2) { width: 100%; }
}

/* ── KONTAKTY: online indikátor (kontakty.js přepíná is-on/is-off; bez JS neutrální) ── */
.kp-online-badge { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; background: var(--kp-surface-2); border: 1px solid var(--kp-border-2); border-radius: 999px; font-size: 11px; font-weight: 800; color: var(--kp-text-3); letter-spacing: 0.1em; text-transform: uppercase; }
.kp-online-dot { width: 8px; height: 8px; border-radius: 999px; background: var(--kp-text-3); flex: none; }
.kp-online-badge.is-on { color: var(--kp-success); border-color: rgba(34, 197, 94, 0.4); background: rgba(34, 197, 94, 0.1); }
.kp-online-badge.is-on .kp-online-dot { background: var(--kp-success); box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.15); }

/* ═══════════ DOPRAVA A PLATBA (DAP) ═══════════ */
/* stretch fix: .brxe-section má align-items:center → děti se smršťují */
.brxe-section.dap-hero, .brxe-section.dap-section { align-items: stretch; }
.brxe-section.dap-hero > div, .brxe-section.dap-section > div { width: 100%; }

.dap-hero { background: var(--kp-bg); border-bottom: 1px solid var(--kp-border); }
.dap-hero-grid { width: 100%; max-width: 1280px; margin: 0 auto; padding: 72px 32px 56px; }
.dap-eyebrow { display: flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--kp-accent); margin-bottom: 16px; }
.dap-dot { width: 7px; height: 7px; background: var(--kp-accent); transform: rotate(45deg); flex: none; }
.dap-hero-h1 { font-weight: 900; font-size: 64px; line-height: 0.95; letter-spacing: -0.02em; text-transform: uppercase; color: var(--kp-text); margin: 0 0 18px; }
.dap-accent { color: var(--kp-accent); }
.dap-hero-sub { font-size: 15px; line-height: 1.6; color: var(--kp-text-2); max-width: 520px; margin: 0; }

.dap-section { background: var(--kp-bg); }
.dap-inner { max-width: 1280px; margin: 0 auto; padding: 56px 32px 8px; }
.dap-section-last .dap-inner { padding-bottom: 72px; }
.dap-sec-head { margin-bottom: 28px; }
.dap-kicker { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: var(--kp-text-3); margin-bottom: 10px; }
.dap-h2 { font-weight: 900; font-size: 32px; line-height: 1.1; letter-spacing: -0.01em; text-transform: uppercase; color: var(--kp-text); margin: 0; }
.dap-sec-sub { font-size: 14px; line-height: 1.6; color: var(--kp-text-2); margin: 12px 0 0; max-width: 560px; }

.dap-grid { display: grid; gap: 16px; }
.dap-grid-3 { grid-template-columns: repeat(3, 1fr); }
.dap-grid-2 { grid-template-columns: repeat(2, 1fr); }
.dap-card { background: var(--kp-surface); border: 1px solid var(--kp-border); border-radius: 14px; padding: 24px 26px; }
.dap-card-hl { background: linear-gradient(140deg, var(--kp-tint), var(--kp-surface) 70%); border-color: rgba(var(--kp-accent-rgb), 0.35); }
.dap-card-meta { display: inline-block; font-family: 'Montserrat', sans-serif; font-size: 10px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--kp-accent); border: 1px solid rgba(var(--kp-accent-rgb), 0.4); border-radius: 5px; padding: 4px 9px; margin-bottom: 14px; }
.dap-card-h { font-weight: 800; font-size: 16px; line-height: 1.3; color: var(--kp-text); margin: 0 0 8px; }
.dap-card-t { font-size: 13.5px; line-height: 1.65; color: var(--kp-text-3); margin: 0; }
.dap-card-t strong { color: var(--kp-text-2); }

.dap-rows { margin-top: 20px; border: 1px solid var(--kp-border); border-radius: 14px; background: var(--kp-surface); overflow: hidden; }
.dap-row { display: grid; grid-template-columns: 180px 1fr; gap: 18px; padding: 16px 26px; border-bottom: 1px solid var(--kp-border); }
.dap-row:last-child { border-bottom: none; }
.dap-row-k { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--kp-text-2); padding-top: 2px; }
.dap-row-v { font-size: 13.5px; line-height: 1.65; color: var(--kp-text-3); }
.dap-row-v strong { color: var(--kp-text-2); }

.dap-aside { margin: 18px 0 0; font-size: 13px; color: var(--kp-text-3); }
.dap-note { color: var(--kp-warning); font-style: normal; }

.dap-goodbox { display: flex; align-items: flex-start; gap: 22px; background: linear-gradient(140deg, var(--kp-tint), var(--kp-surface) 70%); border: 1px solid rgba(var(--kp-accent-rgb), 0.35); border-radius: 16px; padding: 30px 32px; }
.dap-goodbox-badge { flex: none; width: 54px; height: 54px; border-radius: 12px; background: var(--kp-accent); color: var(--kp-on-accent); display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 16px; letter-spacing: 0.02em; }
.dap-h3 { font-weight: 900; font-size: 20px; text-transform: uppercase; color: var(--kp-text); margin: 0 0 8px; }
.dap-goodbox-t { font-size: 13.5px; line-height: 1.7; color: var(--kp-text-2); margin: 0; max-width: 720px; }

@media (max-width: 950px) {
  .dap-hero-grid { padding: 48px 20px 40px; }
  .dap-hero-h1 { font-size: 40px; }
  .dap-inner { padding: 40px 20px 4px; }
  .dap-section-last .dap-inner { padding-bottom: 56px; }
  .dap-grid-3 { grid-template-columns: 1fr; }
  .dap-grid-2 { grid-template-columns: 1fr; }
  .dap-row { grid-template-columns: 1fr; gap: 6px; padding: 14px 20px; }
}
@media (max-width: 640px) {
  .dap-hero-h1 { font-size: 32px; }
  .dap-h2 { font-size: 24px; }
  .dap-goodbox { flex-direction: column; padding: 24px 20px; }
}

/* ── PDP: vlastní lightbox trigger (kp-shop.js) — jistota klikatelnosti nad Bricks pravidly ── */
.single-product .woocommerce-product-gallery__trigger { pointer-events: auto !important; cursor: zoom-in; }

/* ═══════════ O NÁS (ONAS) ═══════════ */
/* stretch fix: .brxe-section má align-items:center → děti se smršťují */
.brxe-section.onas-hero, .brxe-section.onas-section { align-items: stretch; }
.brxe-section.onas-hero > div, .brxe-section.onas-section > div { width: 100%; }

.onas-hero { background: var(--kp-bg); border-bottom: 1px solid var(--kp-border); }
.onas-hero-grid { width: 100%; max-width: 1280px; margin: 0 auto; padding: 72px 32px 56px; }
.onas-eyebrow { display: flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--kp-accent); margin-bottom: 16px; }
.onas-dot { width: 7px; height: 7px; background: var(--kp-accent); transform: rotate(45deg); flex: none; }
.onas-hero-h1 { font-weight: 900; font-size: 64px; line-height: 0.95; letter-spacing: -0.02em; text-transform: uppercase; color: var(--kp-text); margin: 0 0 18px; }
.onas-accent { color: var(--kp-accent); }
.onas-hero-sub { font-size: 15px; line-height: 1.6; color: var(--kp-text-2); max-width: 520px; margin: 0; }

.onas-section { background: var(--kp-bg); }
.onas-inner { max-width: 1280px; margin: 0 auto; padding: 56px 32px 8px; }
.onas-inner-narrow { max-width: 880px; }
.onas-section-last .onas-inner { padding-bottom: 72px; }
.onas-chapter { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.onas-chapter-num { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 800; color: var(--kp-accent); letter-spacing: 0.1em; }
.onas-chapter-name { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--kp-text-3); }
.onas-h2 { font-weight: 900; font-size: 32px; line-height: 1.1; text-transform: uppercase; color: var(--kp-text); margin: 0 0 20px; }
.onas-lead { font-size: 15px; line-height: 1.75; color: var(--kp-text-2); margin: 0 0 16px; }
.onas-lead strong { color: var(--kp-text); }
.onas-lead em { font-style: italic; }
.onas-lead-muted { color: var(--kp-text-3); }
.onas-lead-muted strong { color: var(--kp-text-2); }

.onas-values-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.onas-value { background: var(--kp-surface); border: 1px solid var(--kp-border); border-radius: 14px; padding: 24px 24px 22px; }
.onas-value-num { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 800; color: var(--kp-accent); letter-spacing: 0.1em; margin-bottom: 12px; }
.onas-value-h { font-weight: 800; font-size: 15px; line-height: 1.3; color: var(--kp-text); margin-bottom: 7px; }
.onas-value-t { font-size: 13px; line-height: 1.6; color: var(--kp-text-3); }

.onas-cta-panel { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; background: linear-gradient(140deg, var(--kp-tint), var(--kp-surface) 70%); border: 1px solid rgba(var(--kp-accent-rgb), 0.35); border-radius: 16px; padding: 32px 36px; }
.onas-cta-provozovatel { font-size: 13px; font-weight: 600; color: var(--kp-text-2); }
.onas-cta-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.onas-btn { display: inline-flex; align-items: center; gap: 8px; height: 50px; padding: 0 26px; border-radius: 10px; font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; transition: filter .15s ease, border-color .15s ease, color .15s ease; }
.onas-btn-primary { background: var(--kp-accent); color: var(--kp-on-accent); }
.onas-btn-primary:hover { filter: brightness(1.1); color: var(--kp-on-accent); }
.onas-btn-ghost { background: transparent; border: 1px solid var(--kp-border-2); color: var(--kp-text-2); }
.onas-btn-ghost:hover { border-color: var(--kp-accent); color: var(--kp-accent); }

@media (max-width: 950px) {
  .onas-hero-grid { padding: 48px 20px 40px; }
  .onas-hero-h1 { font-size: 40px; }
  .onas-inner { padding: 40px 20px 4px; }
  .onas-section-last .onas-inner { padding-bottom: 56px; }
  .onas-h2 { font-size: 26px; }
  .onas-values-grid { grid-template-columns: repeat(2, 1fr); }
  .onas-cta-panel { padding: 26px 24px; }
}
@media (max-width: 640px) {
  .onas-hero-h1 { font-size: 32px; }
  .onas-values-grid { grid-template-columns: 1fr; }
  .onas-cta-panel { flex-direction: column; align-items: stretch; text-align: center; }
  .onas-cta-btns { justify-content: center; }
  .onas-btn { justify-content: center; flex: 1 1 auto; }
}

/* ── JEDNOTNÝ EYEBROW KOSOČTVEREC (vzor .slp-dot) — homepage sekce + kontakty hero ── */
.kph-eyebrow, #brxe-42c42c { display: flex; align-items: center; gap: 10px; }
.kph-eyebrow::before, #brxe-42c42c::before { content: ''; width: 7px; height: 7px; background: var(--kp-accent); transform: rotate(45deg); flex: none; }
