:root {
  --kl-ink: #19231f;
  --kl-muted: #5a6861;
  --kl-paper: #f7f8f4;
  --kl-white: #fff;
  --kl-line: rgba(25, 35, 31, .15);
  --kl-green: #315f49;
  --kl-green-dark: #173c2e;
  --kl-red: #a94332;
  --kl-signal: #e3ad42;
  --kl-mint: #e4eeea;
  --kl-warm: #eee5d7;
}

.city-site--kolodischi { background: var(--kl-paper); color: var(--kl-ink); }
.city-site--kolodischi i[data-lucide] { display: none; }
.city-site--kolodischi .page { background: var(--kl-paper); }
.city-site--kolodischi .site-header { border-bottom: 1px solid var(--kl-line); background: rgba(247, 248, 244, .96); }
.city-site--kolodischi .brand-copy { display: grid; gap: 2px; }
.city-site--kolodischi .brand-copy strong { font-size: 23px; }
.city-site--kolodischi .brand-copy small { color: var(--kl-red); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.city-site--kolodischi img { max-width: 100%; }
.city-site--kolodischi .quick-order { margin: 0; padding: clamp(42px, 6vw, 88px) var(--side); border: 0; border-radius: 0; box-shadow: none; background: #fff; }
.city-site--kolodischi .product-card { border-color: var(--kl-line); border-radius: 4px; box-shadow: none; }
.city-site--kolodischi .product-card img { border-radius: 2px; }
.city-site--kolodischi .product-card button { border-color: var(--kl-green); color: var(--kl-green-dark); }
.city-site--kolodischi .faq-list details { border-color: var(--kl-line); border-radius: 2px; box-shadow: none; }

.kl-label {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--kl-green-dark);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.kl-label svg { width: 17px; height: 17px; }
.kl-label--light { color: #f2ce73; }
.kl-index { color: var(--kl-red); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.kl-inline-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 28px; color: var(--kl-green-dark); font-size: 13px; font-weight: 850; }
.kl-inline-link svg { width: 18px; height: 18px; }
.kl-section { padding: clamp(64px, 7vw, 112px) var(--side); }
.kl-heading { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(280px, .55fr); align-items: end; gap: 48px; margin-bottom: 36px; }
.kl-heading h2 { max-width: 820px; margin: 10px 0 0; font-size: clamp(34px, 3.8vw, 58px); line-height: 1.02; }
.kl-heading > p { margin: 0; color: var(--kl-muted); line-height: 1.7; }
.kl-heading > a { justify-self: end; display: inline-flex; align-items: center; gap: 8px; color: var(--kl-green); font-size: 13px; font-weight: 850; }
.kl-heading > a svg { width: 18px; height: 18px; }

.kl-hero { min-height: 700px; position: relative; overflow: hidden; border-bottom: 1px solid var(--kl-line); background: #eff2ed; }
.kl-hero-media, .kl-hero-media img, .kl-hero-veil { width: 100%; height: 100%; position: absolute; inset: 0; }
.kl-hero-media img { object-fit: cover; object-position: center; }
.kl-hero-veil { width: 68%; right: auto; background: linear-gradient(90deg, #f8f9f6 0%, rgba(248,249,246,.98) 58%, rgba(248,249,246,0) 100%); }
.kl-hero-copy { width: min(700px, 50vw); min-height: 700px; position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; margin-left: var(--side); padding: 58px 0 48px; }
.kl-hero h1 { max-width: 690px; margin: 25px 0 0; font-size: clamp(49px, 5.7vw, 88px); font-weight: 850; line-height: .95; letter-spacing: 0; }
.kl-hero h1 span { display: block; color: var(--kl-red); }
.kl-hero-copy > p { max-width: 620px; margin: 25px 0 0; color: #3e4d46; font-size: 17px; line-height: 1.68; }
.kl-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 30px; }
.kl-hero-actions .btn { min-height: 51px; background: var(--kl-green-dark); }
.kl-price-link { display: inline-flex; align-items: center; gap: 10px; color: var(--kl-green-dark); }
.kl-price-link > svg { width: 23px; height: 23px; }
.kl-price-link span { display: grid; gap: 2px; font-size: 12px; font-weight: 850; }
.kl-price-link small { color: var(--kl-muted); font-size: 9px; font-weight: 600; }
.kl-hero-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 38px 0 0; border-block: 1px solid var(--kl-line); }
.kl-hero-facts div { min-width: 0; padding: 16px 18px; border-right: 1px solid var(--kl-line); }
.kl-hero-facts div:first-child { padding-left: 0; }
.kl-hero-facts div:last-child { border-right: 0; }
.kl-hero-facts dt { font-size: 17px; font-weight: 900; }
.kl-hero-facts dd { margin: 4px 0 0; color: var(--kl-muted); font-size: 10px; line-height: 1.35; }
.kl-hero-route { width: min(440px, 34vw); position: absolute; z-index: 3; right: var(--side); bottom: 26px; padding: 14px 17px; border-left: 4px solid var(--kl-signal); background: rgba(23,60,46,.94); color: #fff; }
.kl-hero-route > span { color: #f2ce73; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.kl-hero-route ol { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); margin: 10px 0 0; padding: 0; list-style: none; }
.kl-hero-route li { position: relative; padding-top: 15px; color: rgba(255,255,255,.62); font-size: 9px; text-align: center; }
.kl-hero-route li:before { content: ""; height: 1px; position: absolute; left: 0; right: 0; top: 4px; background: rgba(255,255,255,.3); }
.kl-hero-route li:after { content: ""; width: 9px; height: 9px; position: absolute; left: 50%; top: 0; transform: translateX(-50%); border: 2px solid #fff; border-radius: 50%; background: var(--kl-green-dark); }
.kl-hero-route li.is-active { color: #fff; font-weight: 850; }
.kl-hero-route li.is-active:after { background: var(--kl-signal); }

.kl-route-strip { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); padding: 0 var(--side); border-bottom: 1px solid var(--kl-line); background: #fff; }
.kl-route-strip > div { min-width: 0; min-height: 118px; display: grid; grid-template-columns: 26px 28px minmax(0,1fr); align-items: center; gap: 11px; padding: 17px 22px; border-right: 1px solid var(--kl-line); }
.kl-route-strip > div:first-child { padding-left: 0; }
.kl-route-strip > div:last-child { border-right: 0; }
.kl-route-strip > div > span { color: var(--kl-red); font-size: 9px; font-weight: 900; }
.kl-route-strip svg { width: 25px; height: 25px; color: var(--kl-green); stroke-width: 1.6; }
.kl-route-strip p { min-width: 0; display: grid; gap: 3px; margin: 0; }
.kl-route-strip b { font-size: 12px; }
.kl-route-strip small { color: var(--kl-muted); font-size: 9px; line-height: 1.35; }

.kl-delivery { width: 100%; min-height: 460px; max-height: 650px; position: relative; aspect-ratio: 2170 / 725; overflow: hidden; border-bottom: 1px solid var(--kl-line); background: #f0ece2; }
.kl-delivery-media, .kl-delivery-media img, .kl-delivery-veil { width: 100%; height: 100%; position: absolute; inset: 0; display: block; }
.kl-delivery-media img { object-fit: cover; object-position: center; }
.kl-delivery-veil { width: 72%; right: auto; background: linear-gradient(90deg, #f7f5ee 0%, rgba(247,245,238,.99) 52%, rgba(247,245,238,.82) 70%, rgba(247,245,238,0) 100%); }
.kl-delivery-copy { width: min(720px, 55vw); height: 100%; position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: clamp(40px,4.5vw,74px) 24px clamp(40px,4.5vw,74px) var(--side); }
.kl-delivery h2 { max-width: 650px; margin: 13px 0 0; font-size: clamp(37px,3.8vw,60px); line-height: 1; }
.kl-delivery h2 span { display: block; color: var(--kl-red); }
.kl-delivery-copy > p { max-width: 615px; margin: 19px 0 0; color: #47564f; font-size: 14px; line-height: 1.65; }
.kl-delivery-points { max-width: 620px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 24px 0 0; border-top: 1px solid var(--kl-line); border-left: 1px solid var(--kl-line); }
.kl-delivery-points div { min-width: 0; padding: 11px 13px; border-right: 1px solid var(--kl-line); border-bottom: 1px solid var(--kl-line); }
.kl-delivery-points dt { color: var(--kl-green-dark); font-size: 11px; font-weight: 900; }
.kl-delivery-points dd { margin: 4px 0 0; color: var(--kl-muted); font-size: 9px; line-height: 1.35; }
.kl-delivery-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 19px; margin-top: 22px; }
.kl-delivery-actions .btn { min-height: 45px; }
.kl-delivery-actions > a:not(.btn) { display: inline-flex; align-items: center; gap: 8px; color: var(--kl-green-dark); font-size: 11px; font-weight: 850; }
.kl-delivery-actions > a:not(.btn) svg { width: 17px; height: 17px; }

.kl-picker { background: #f8f8f4; }
.kl-picker-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); border-top: 1px solid var(--kl-line); border-left: 1px solid var(--kl-line); }
.kl-picker-card { min-width: 0; min-height: 270px; position: relative; display: flex; flex-direction: column; color: #fff; overflow: hidden; border-right: 1px solid var(--kl-line); border-bottom: 1px solid var(--kl-line); background: #d9e3de; }
.kl-picker-card img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; transition: transform .32s ease; }
.kl-picker-card--contained img { object-fit: contain; padding: 15px; background: #f1eee7; }
.kl-picker-card:after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(180deg, transparent, rgba(17,31,24,.9)); }
.kl-picker-card > span { min-width: 0; position: relative; z-index: 2; display: grid; gap: 5px; margin-top: auto; padding: 20px; }
.kl-picker-card small { color: rgba(255,255,255,.72); font-size: 8px; font-weight: 750; text-transform: uppercase; }
.kl-picker-card b { font-size: 15px; line-height: 1.25; }
.kl-picker-card > svg { width: 19px; height: 19px; position: absolute; z-index: 2; right: 15px; top: 15px; padding: 3px; background: rgba(23,60,46,.72); }
@media (hover:hover) { .kl-picker-card:hover img { transform: scale(1.035); } }

.kl-bundle { padding: clamp(68px, 8vw, 128px) var(--side); background: var(--kl-warm); }
.kl-bundle > header { max-width: 800px; }
.kl-bundle h2 { margin: 10px 0 0; font-size: clamp(36px, 4.2vw, 64px); line-height: 1.02; }
.kl-bundle header p { max-width: 680px; margin: 20px 0 0; color: var(--kl-muted); line-height: 1.68; }
.kl-bundle > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 44px; border-block: 1px solid var(--kl-line); }
.kl-bundle article { min-width: 0; min-height: 300px; display: flex; flex-direction: column; padding: 22px; border-right: 1px solid var(--kl-line); }
.kl-bundle article:last-child { border-right: 0; }
.kl-bundle article > span { color: var(--kl-red); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.kl-bundle article svg { width: 38px; height: 38px; margin-top: 38px; color: var(--kl-green); stroke-width: 1.5; }
.kl-bundle h3 { margin: auto 0 0; font-size: 18px; }
.kl-bundle article p { margin: 8px 0 0; color: var(--kl-muted); font-size: 12px; line-height: 1.55; }
.kl-bundle article a { margin-top: 16px; color: var(--kl-green); font-size: 10px; font-weight: 850; }

.kl-local { min-height: 690px; display: grid; grid-template-columns: minmax(390px,.8fr) minmax(0,1.2fr); background: #202a25; color: #fff; }
.kl-local-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(52px, 6vw, 94px) clamp(42px, 6vw, 90px) clamp(52px, 6vw, 94px) var(--side); }
.kl-local-copy h2 { margin: 13px 0 0; color: #fff; font-size: clamp(37px, 4.2vw, 62px); line-height: 1.02; }
.kl-local-copy > p { margin: 24px 0 0; color: rgba(255,255,255,.7); line-height: 1.7; }
.kl-place-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 23px; }
.kl-place-list span { padding: 7px 9px; border: 1px solid rgba(255,255,255,.22); font-size: 9px; font-weight: 800; }
.kl-local-copy > a { display: inline-flex; align-items: center; gap: 8px; margin-top: 29px; color: #f2ce73; font-size: 12px; font-weight: 850; }
.kl-local-copy > a svg { width: 18px; height: 18px; }
.kl-map-figure { min-width: 0; min-height: 690px; position: relative; margin: 0; overflow: hidden; }
.kl-map-figure picture, .kl-map-figure picture img { width: 100%; height: 100%; display: block; }
.kl-map-figure img { object-fit: cover; object-position: center; }
.kl-map-figure:after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); pointer-events: none; }
.kl-map-pin { position: absolute; z-index: 3; left: var(--pin-x); top: var(--pin-y); display: flex; align-items: center; gap: 6px; transform: translate(-5px,-50%); white-space: nowrap; }
.kl-map-pin i { width: 11px; height: 11px; flex: 0 0 auto; border: 3px solid #fff; border-radius: 50%; background: var(--kl-green); box-shadow: 0 3px 12px rgba(0,0,0,.35); }
.kl-map-pin b { padding: 5px 7px; background: rgba(23,60,46,.92); color: #fff; font-size: 8px; }
.kl-map-pin--main i, .kl-map-pin--main b { background: var(--kl-red); }
.kl-map-pin--left { flex-direction: row-reverse; transform: translate(calc(-100% + 5px),-50%); }
.kl-map-figure figcaption { position: absolute; z-index: 4; left: 16px; bottom: 14px; display: grid; gap: 3px; padding: 9px 11px; border-left: 3px solid var(--kl-signal); background: rgba(247,248,244,.93); color: var(--kl-ink); }
.kl-map-figure figcaption b { font-size: 10px; }
.kl-map-figure figcaption span { color: var(--kl-muted); font-size: 8px; }

.kl-products { background: var(--kl-mint); }
.kl-offer-card { min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--kl-line); border-radius: 4px; background: #fff; box-shadow: 0 18px 38px rgba(28,48,39,.07); }
.kl-offer-card__media { min-width: 0; position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #ede9df; }
.kl-offer-card__media img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; transition: transform .3s ease; }
.kl-offer-card--contained .kl-offer-card__media img { object-fit: contain; padding: 15px; background: #f1eee7; }
.kl-offer-card__media > span { max-width: calc(100% - 24px); position: absolute; left: 12px; bottom: 12px; overflow: hidden; padding: 6px 8px; background: rgba(247,248,244,.94); color: var(--kl-green-dark); font-size: 8px; font-weight: 900; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.kl-offer-card__body { min-height: 250px; display: flex; flex: 1 1 auto; flex-direction: column; padding: 17px; }
.kl-offer-card__type { margin: 0; color: var(--kl-red); font-size: 8px; font-weight: 900; text-transform: uppercase; }
.kl-offer-card h3 { min-height: 43px; margin: 8px 0 0; font-size: 15px; line-height: 1.38; }
.kl-offer-card__variants { display: -webkit-box; min-height: 38px; margin: 9px 0 0; overflow: hidden; color: var(--kl-muted); font-size: 10px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.kl-offer-card__price { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 7px; align-items: baseline; margin-top: auto; padding-top: 15px; border-top: 1px solid var(--kl-line); }
.kl-offer-card__price span, .kl-offer-card__price small { color: var(--kl-muted); font-size: 9px; }
.kl-offer-card__price strong { font-size: 20px; }
.kl-offer-card__price--request { grid-template-columns: 1fr; }
.kl-offer-card__price--request strong { font-size: 15px; }
.kl-offer-card__actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 14px; }
.kl-offer-card__actions form { min-width: 0; width: 100%; }
.kl-offer-card__actions .btn { width: 100%; min-width: 0; min-height: 42px; padding: 0 10px; font-size: 11px; }
@media (hover:hover) { .kl-offer-card__media:hover img { transform: scale(1.025); } }
.kl-directory { padding: clamp(68px, 8vw, 128px) var(--side); background: #fff; }
.kl-directory > header { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1fr); gap: 60px; align-items: end; }
.kl-directory h2 { margin: 10px 0 0; font-size: clamp(36px, 4vw, 60px); line-height: 1.02; }
.kl-directory header p { margin: 0; color: var(--kl-muted); line-height: 1.68; }
.kl-directory > div { margin-top: 42px; border-top: 1px solid var(--kl-line); }
.kl-directory > div > section { display: grid; grid-template-columns: 48px minmax(230px,.52fr) minmax(0,1.48fr); gap: 26px; padding: 24px 0; border-bottom: 1px solid var(--kl-line); }
.kl-directory > div > section > span { color: var(--kl-red); font-size: 10px; font-weight: 900; }
.kl-directory h3 { margin: 0; font-size: 17px; }
.kl-directory section p { margin: 6px 0 0; color: var(--kl-muted); font-size: 11px; line-height: 1.5; }
.kl-directory nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px 18px; }
.kl-directory nav a { min-width: 0; display: flex; justify-content: space-between; gap: 8px; padding-bottom: 7px; border-bottom: 1px solid var(--kl-line); font-size: 10px; font-weight: 750; }
.kl-directory nav small { color: var(--kl-red); }

.kl-wholesale { display: grid; grid-template-columns: minmax(0,.82fr) minmax(480px,1.18fr); gap: clamp(50px, 8vw, 140px); padding: clamp(64px, 7vw, 110px) var(--side); background: #edf0e5; }
.kl-wholesale h2 { max-width: 700px; margin: 12px 0 0; font-size: clamp(35px, 3.8vw, 56px); line-height: 1.03; }
.kl-wholesale p { margin: 22px 0 0; color: var(--kl-muted); line-height: 1.7; }
.kl-wholesale > div > a { display: inline-flex; align-items: center; gap: 8px; margin-top: 26px; color: var(--kl-green); font-size: 12px; font-weight: 850; }
.kl-wholesale dl { margin: 0; border-top: 1px solid var(--kl-line); }
.kl-wholesale dl div { display: grid; grid-template-columns: minmax(0,1fr) 198px; gap: 18px; align-items: center; padding: 19px 0; border-bottom: 1px solid var(--kl-line); }
.kl-wholesale dt { font-weight: 850; }
.kl-wholesale dd { display: grid; grid-template-columns: 90px 90px; gap: 18px; align-items: center; margin: 0; color: var(--kl-muted); font-size: 11px; }
.kl-wholesale strong { text-align: right; }

.kl-faq { padding: clamp(65px, 7vw, 112px) var(--side); background: #f8f8f4; }
.kl-faq > header { display: grid; grid-template-columns: minmax(0,1fr) max-content; grid-template-areas: "index link" "title link"; align-items: end; column-gap: 30px; row-gap: 0; margin-bottom: 32px; }
.kl-faq > header > .kl-index { grid-area: index; }
.kl-faq h2 { margin: 10px 0 0; font-size: clamp(34px, 3.6vw, 54px); line-height: 1.04; }
.kl-faq > header h2 { grid-area: title; }
.kl-faq header > a { grid-area: link; color: var(--kl-green); font-size: 12px; font-weight: 850; white-space: nowrap; }
.kl-faq > .faq-list { max-width: 1100px; }

.kl-page-hero { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(260px,.45fr); gap: clamp(48px, 8vw, 140px); padding: clamp(62px, 7vw, 112px) var(--side); border-bottom: 1px solid var(--kl-line); background: #edf1ed; }
.kl-page-hero h1 { max-width: 980px; margin: 18px 0 0; font-size: clamp(44px, 5vw, 76px); line-height: .99; }
.kl-page-hero p { max-width: 780px; margin: 23px 0 0; color: var(--kl-muted); font-size: 16px; line-height: 1.7; }
.kl-page-hero aside { align-self: end; padding-top: 20px; border-top: 3px solid var(--kl-red); }
.kl-page-hero aside span { color: var(--kl-muted); font-size: 10px; }
.kl-page-hero aside strong { display: block; margin-top: 4px; font-size: 31px; }
.kl-page-hero aside p { margin: 7px 0 0; font-size: 11px; }
.kl-page-hero aside a { display: inline-block; margin-top: 17px; color: var(--kl-green); font-size: 11px; font-weight: 850; }
.kl-category-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 28px; }
.kl-category-actions > a:not(.btn) { display: inline-flex; align-items: center; gap: 8px; color: var(--kl-green-dark); font-size: 12px; font-weight: 850; }
.kl-category-actions svg { width: 18px; height: 18px; }

.kl-catalog-nav { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); padding: 0 var(--side); border-bottom: 1px solid var(--kl-line); background: #fff; }
.kl-catalog-nav a { min-width: 0; min-height: 105px; display: grid; grid-template-columns: 30px minmax(0,1fr); align-items: center; gap: 12px; padding: 17px 20px; border-right: 1px solid var(--kl-line); }
.kl-catalog-nav a:first-child { padding-left: 0; }
.kl-catalog-nav a:last-child { border-right: 0; }
.kl-catalog-nav svg { width: 27px; height: 27px; color: var(--kl-green); stroke-width: 1.5; }
.kl-catalog-nav span { display: grid; gap: 3px; font-size: 12px; font-weight: 850; }
.kl-catalog-nav small { color: var(--kl-muted); font-size: 8px; font-weight: 600; }
.kl-catalog-groups { padding: clamp(54px, 6vw, 96px) var(--side); background: #f8f8f4; }
.kl-catalog-groups > section { display: grid; grid-template-columns: minmax(230px,.42fr) minmax(0,1.58fr); gap: 42px; padding: 36px 0; border-bottom: 1px solid var(--kl-line); scroll-margin-top: 100px; }
.kl-catalog-groups > section:first-child { padding-top: 0; }
.kl-catalog-groups header { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 15px; align-content: start; }
.kl-catalog-groups header > span { color: var(--kl-red); font-size: 10px; font-weight: 900; }
.kl-catalog-groups h2 { margin: 0; font-size: 25px; line-height: 1.1; }
.kl-catalog-groups header p { margin: 9px 0 0; color: var(--kl-muted); font-size: 11px; line-height: 1.5; }
.kl-catalog-groups > section > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--kl-line); border-left: 1px solid var(--kl-line); }
.kl-category-row { min-width: 0; display: grid; grid-template-columns: 88px minmax(0,1fr) 20px; align-items: center; gap: 12px; min-height: 106px; padding: 9px; border-right: 1px solid var(--kl-line); border-bottom: 1px solid var(--kl-line); background: #fff; }
.kl-category-row img { width: 88px; height: 86px; object-fit: cover; }
.kl-category-row--contained img { object-fit: contain; padding: 7px; background: #f2efe8; }
.kl-category-row span { min-width: 0; display: grid; gap: 5px; }
.kl-category-row b { font-size: 11px; line-height: 1.3; }
.kl-category-row small { color: var(--kl-muted); font-size: 8px; }
.kl-category-row > svg { width: 16px; height: 16px; color: var(--kl-green); }
.kl-search { display: grid; grid-template-columns: minmax(0,.9fr) minmax(400px,1.1fr); gap: 70px; align-items: center; padding: clamp(52px, 6vw, 90px) var(--side); background: var(--kl-green-dark); color: #fff; }
.kl-search h2 { margin: 12px 0 0; color: #fff; font-size: clamp(34px, 3.6vw, 54px); line-height: 1.03; }
.kl-search > div > p { margin: 17px 0 0; color: rgba(255,255,255,.67); }
.kl-search .catalog-tools { color: var(--kl-ink); }
.kl-product-sections { background: #f8f8f4; }
.kl-product-sections .catalog-band { margin: 0; padding: clamp(52px, 6vw, 92px) var(--side); border-bottom: 1px solid var(--kl-line); }
.kl-product-sections .section-head { margin-bottom: 28px; }
.kl-checkout-note { display: grid; grid-template-columns: minmax(280px,.65fr) minmax(0,1.35fr); gap: 60px; padding: clamp(56px, 6vw, 96px) var(--side); background: var(--kl-warm); }
.kl-checkout-note h2 { margin: 10px 0 0; font-size: clamp(32px, 3.4vw, 52px); line-height: 1.04; }
.kl-checkout-note p { margin: 18px 0 0; color: var(--kl-muted); line-height: 1.65; }
.kl-checkout-note ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; padding: 0; border-block: 1px solid var(--kl-line); list-style: none; }
.kl-checkout-note li { min-width: 0; display: flex; flex-direction: column; padding: 18px; border-right: 1px solid var(--kl-line); }
.kl-checkout-note li:last-child { border-right: 0; }
.kl-checkout-note li > span { color: var(--kl-red); font-size: 9px; font-weight: 900; }
.kl-checkout-note li p { display: grid; gap: 4px; margin: auto 0 0; }
.kl-checkout-note li b { font-size: 13px; }
.kl-checkout-note li small { color: var(--kl-muted); font-size: 9px; }

.kl-route-map { padding: clamp(62px, 7vw, 112px) var(--side); background: var(--kl-warm); }
.kl-route-map > header { max-width: 780px; }
.kl-route-map h2 { margin: 10px 0 0; font-size: clamp(36px, 4vw, 60px); line-height: 1.03; }
.kl-route-map header p { margin: 20px 0 0; color: var(--kl-muted); line-height: 1.68; }
.kl-route-map ol { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin: 42px 0 0; padding: 0; border-top: 1px solid var(--kl-line); list-style: none; }
.kl-route-map li { min-width: 0; min-height: 270px; display: flex; flex-direction: column; padding: 20px; border-right: 1px solid var(--kl-line); }
.kl-route-map li:last-child { border-right: 0; }
.kl-route-map li > span { color: var(--kl-red); font-size: 9px; font-weight: 900; }
.kl-route-map li > svg { width: 28px; height: 28px; margin-top: 38px; color: var(--kl-green); }
.kl-route-map li > div { margin-top: auto; }
.kl-route-map h3 { margin: 0; font-size: 16px; }
.kl-route-map li p { margin: 7px 0 0; color: var(--kl-muted); font-size: 11px; line-height: 1.5; }
.kl-type-groups { padding: clamp(56px, 6vw, 96px) var(--side); background: #fff; }
.kl-type-groups > section { display: grid; grid-template-columns: minmax(220px,.42fr) minmax(0,1.58fr); gap: 44px; padding: 38px 0; border-bottom: 1px solid var(--kl-line); }
.kl-type-groups > section > header { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 14px; align-content: start; }
.kl-type-groups header > span { color: var(--kl-red); font-size: 10px; font-weight: 900; }
.kl-type-groups h2 { margin: 0; font-size: 25px; }
.kl-type-groups header p { margin: 8px 0 0; color: var(--kl-muted); font-size: 11px; line-height: 1.5; }
.kl-type-groups > section > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.kl-type-card { min-width: 0; display: grid; grid-template-columns: 78px minmax(0,1fr) 18px; align-items: center; gap: 12px; min-height: 94px; padding: 8px; border-right: 1px solid var(--kl-line); border-bottom: 1px solid var(--kl-line); }
.kl-type-card img { width: 78px; height: 76px; object-fit: cover; }
.kl-type-card--contained img { object-fit: contain; padding: 7px; background: #f2efe8; }
.kl-type-card span { min-width: 0; display: grid; gap: 4px; }
.kl-type-card b { font-size: 11px; line-height: 1.3; }
.kl-type-card small { color: var(--kl-muted); font-size: 8px; }
.kl-type-card > svg { width: 15px; height: 15px; color: var(--kl-green); }

.kl-category-hero { min-height: 630px; display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); border-bottom: 1px solid var(--kl-line); background: #edf1ed; }
.kl-category-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(48px, 6vw, 92px) clamp(42px, 6vw, 94px) clamp(48px, 6vw, 92px) var(--side); }
.kl-category-copy h1 { max-width: 780px; margin: 18px 0 0; font-size: clamp(42px, 4.8vw, 72px); line-height: .99; }
.kl-category-copy > p { max-width: 680px; margin: 23px 0 0; color: var(--kl-muted); line-height: 1.7; }
.kl-category-copy dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 34px 0 0; border-block: 1px solid var(--kl-line); }
.kl-category-copy dl div { min-width: 0; padding: 15px; border-right: 1px solid var(--kl-line); }
.kl-category-copy dl div:first-child { padding-left: 0; }
.kl-category-copy dl div:last-child { border-right: 0; }
.kl-category-copy dt { font-size: 14px; font-weight: 900; }
.kl-category-copy dd { margin: 4px 0 0; color: var(--kl-muted); font-size: 9px; }
.kl-category-hero > figure { min-width: 0; min-height: 630px; position: relative; margin: 0; overflow: hidden; background: #e7ece8; }
.kl-category-hero > figure img { width: 100%; height: 100%; object-fit: cover; }
.kl-category-hero--contained > figure img { object-fit: contain; padding: 30px; background: #f2efe8; }
.kl-category-hero figcaption { position: absolute; left: 16px; bottom: 16px; display: grid; gap: 3px; padding: 9px 11px; border-left: 3px solid var(--kl-signal); background: rgba(247,248,244,.93); }
.kl-category-hero figcaption span { font-size: 9px; font-weight: 850; }
.kl-category-hero figcaption small { color: var(--kl-muted); font-size: 8px; }
.kl-category-guide { display: grid; grid-template-columns: minmax(260px,.62fr) minmax(0,1.1fr) minmax(260px,.48fr); gap: 44px; padding: clamp(58px, 6vw, 98px) var(--side); background: var(--kl-warm); }
.kl-category-guide h2 { margin: 10px 0 0; font-size: clamp(32px, 3.4vw, 50px); line-height: 1.04; }
.kl-category-guide header p { margin: 18px 0 0; color: var(--kl-muted); line-height: 1.65; }
.kl-category-guide ol { margin: 0; padding: 0; border-top: 1px solid var(--kl-line); list-style: none; }
.kl-category-guide li { display: grid; grid-template-columns: 28px 22px minmax(0,1fr); gap: 12px; align-items: center; padding: 17px 0; border-bottom: 1px solid var(--kl-line); }
.kl-category-guide li span { color: var(--kl-red); font-size: 9px; font-weight: 900; }
.kl-category-guide li svg { width: 18px; height: 18px; color: var(--kl-green); }
.kl-category-guide li p { margin: 0; font-size: 12px; }
.kl-category-guide aside { align-self: end; display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 14px; padding: 20px; background: var(--kl-green-dark); color: #fff; }
.kl-category-guide aside > svg { width: 27px; height: 27px; color: #f2ce73; }
.kl-category-guide aside b { font-size: 11px; }
.kl-category-guide aside p { margin: 7px 0 0; color: rgba(255,255,255,.68); font-size: 10px; line-height: 1.55; }
.kl-category-products { padding: clamp(62px, 7vw, 112px) var(--side); background: #f8f8f4; }
.kl-inventory { display: grid; grid-template-columns: minmax(0,.82fr) minmax(360px,.58fr); gap: 72px; padding: clamp(58px, 6vw, 98px) var(--side); background: #fff; }
.kl-inventory h2 { margin: 10px 0 0; font-size: clamp(33px, 3.6vw, 54px); line-height: 1.04; }
.kl-inventory p { margin: 19px 0 0; color: var(--kl-muted); line-height: 1.68; }
.kl-inventory dl { margin: 25px 0 0; border-top: 1px solid var(--kl-line); }
.kl-inventory dl div { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 18px; padding: 11px 0; border-bottom: 1px solid var(--kl-line); }
.kl-inventory dt { color: var(--kl-red); font-size: 9px; font-weight: 900; }
.kl-inventory dd { margin: 0; font-size: 11px; }
.kl-inventory nav { align-self: end; border-top: 1px solid var(--kl-line); }
.kl-inventory nav > span { display: block; padding: 12px 0; color: var(--kl-muted); font-size: 9px; text-transform: uppercase; }
.kl-inventory nav a { display: grid; grid-template-columns: minmax(0,1fr) 20px; gap: 14px; align-items: center; padding: 14px 0; border-top: 1px solid var(--kl-line); }
.kl-inventory nav a span { min-width: 0; display: grid; gap: 4px; }
.kl-inventory nav b { font-size: 11px; }
.kl-inventory nav small { color: var(--kl-muted); font-size: 9px; }
.kl-inventory nav svg { width: 17px; height: 17px; color: var(--kl-green); }
.kl-category-links { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(300px,.52fr); gap: 70px; padding: clamp(62px, 7vw, 110px) var(--side); background: var(--kl-green-dark); color: #fff; }
.kl-category-links h2 { max-width: 720px; margin: 12px 0 0; color: #fff; font-size: clamp(35px, 3.8vw, 56px); line-height: 1.03; }
.kl-category-links > div > p { margin: 21px 0 0; color: rgba(255,255,255,.7); line-height: 1.68; }
.kl-category-links ul { display: grid; gap: 9px; margin: 25px 0 0; padding: 0; list-style: none; }
.kl-category-links li { display: flex; gap: 9px; color: rgba(255,255,255,.8); font-size: 11px; }
.kl-category-links li svg { width: 18px; height: 18px; flex: 0 0 auto; color: #f2ce73; }
.kl-category-links nav { align-self: end; border-top: 1px solid rgba(255,255,255,.2); }
.kl-category-links nav > span { display: block; padding: 12px 0; color: #f2ce73; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.kl-category-links nav a { display: flex; justify-content: space-between; gap: 12px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.86); font-size: 11px; font-weight: 750; }
.kl-category-links nav svg { width: 16px; height: 16px; }
.kl-category-faq > header { grid-template-columns: minmax(0,.8fr) minmax(300px,.52fr); }
.kl-category-faq > header > p { align-self: end; margin: 0; color: var(--kl-muted); line-height: 1.65; }

.kl-price-key { display: grid; grid-template-columns: minmax(280px,.62fr) minmax(0,1.38fr); gap: 60px; padding: clamp(58px, 6vw, 98px) var(--side); background: var(--kl-warm); }
.kl-price-key h2 { margin: 10px 0 0; font-size: clamp(33px, 3.5vw, 52px); line-height: 1.04; }
.kl-price-key header p { margin: 18px 0 0; color: var(--kl-muted); line-height: 1.65; }
.kl-price-key dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; border-block: 1px solid var(--kl-line); }
.kl-price-key dl div { min-width: 0; display: flex; flex-direction: column; padding: 18px; border-right: 1px solid var(--kl-line); }
.kl-price-key dl div:last-child { border-right: 0; }
.kl-price-key dt { color: var(--kl-red); font-size: 9px; font-weight: 900; }
.kl-price-key dd { display: grid; gap: 4px; margin: auto 0 0; }
.kl-price-key b { font-size: 13px; }
.kl-price-key small { color: var(--kl-muted); font-size: 9px; }
.kl-price-nav { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); padding: 0 var(--side); border-bottom: 1px solid var(--kl-line); background: #fff; }
.kl-price-nav a { min-width: 0; min-height: 78px; display: flex; align-items: center; gap: 10px; padding: 13px 18px; border-right: 1px solid var(--kl-line); font-size: 10px; font-weight: 800; }
.kl-price-nav a:first-child { padding-left: 0; }
.kl-price-nav a:last-child { border-right: 0; }
.kl-price-nav span { color: var(--kl-red); font-size: 9px; }
.kl-price-list { background: #f8f8f4; }
.kl-price-list > section { padding: clamp(54px, 6vw, 96px) var(--side); border-bottom: 1px solid var(--kl-line); scroll-margin-top: 92px; }
.kl-price-list > section > header { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.kl-price-list h2 { margin: 8px 0 0; font-size: clamp(31px, 3.2vw, 48px); }
.kl-price-list header p { margin: 4px 0 0; color: var(--kl-muted); font-size: 10px; }
.kl-price-list header > a { display: inline-flex; align-items: center; gap: 8px; color: var(--kl-green); font-size: 11px; font-weight: 850; }

.kl-opt-hero { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(420px,.95fr); min-height: 610px; background: #203027; color: #fff; }
.kl-opt-hero > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(52px, 6vw, 94px) clamp(44px, 6vw, 94px) clamp(52px, 6vw, 94px) var(--side); }
.kl-opt-hero h1 { max-width: 830px; margin: 18px 0 0; color: #fff; font-size: clamp(44px, 5vw, 74px); line-height: .99; }
.kl-opt-hero p { max-width: 720px; margin: 23px 0 0; color: rgba(255,255,255,.7); line-height: 1.7; }
.kl-opt-hero .kl-hero-actions a:not(.btn) { color: #f2ce73; font-size: 12px; font-weight: 850; }
.kl-opt-hero .btn { background: var(--kl-signal); color: var(--kl-ink); }
.kl-opt-hero > dl { display: grid; align-content: center; margin: 0; padding: clamp(50px,6vw,94px) var(--side) clamp(50px,6vw,94px) clamp(40px,5vw,78px); background: var(--kl-signal); color: var(--kl-ink); }
.kl-opt-hero dl div { display: grid; grid-template-columns: minmax(0,1fr) 100px 90px; gap: 15px; align-items: center; padding: 22px 0; border-bottom: 1px solid rgba(25,35,31,.25); }
.kl-opt-hero dt { font-size: 18px; font-weight: 900; }
.kl-opt-hero dd { margin: 0; font-size: 11px; }
.kl-opt-hero strong { text-align: right; font-size: 17px; }
.kl-opt-route, .kl-doc-chain, .kl-company-flow, .kl-delivery-steps { padding: clamp(62px,7vw,110px) var(--side); background: var(--kl-warm); }
.kl-opt-route > header, .kl-doc-chain > header, .kl-company-flow > header, .kl-delivery-steps > header { max-width: 820px; }
.kl-opt-route h2, .kl-doc-chain h2, .kl-company-flow h2, .kl-delivery-steps h2 { margin: 10px 0 0; font-size: clamp(35px,3.8vw,56px); line-height: 1.03; }
.kl-opt-route header p, .kl-doc-chain header p, .kl-company-flow header p, .kl-delivery-steps header p { margin: 19px 0 0; color: var(--kl-muted); line-height: 1.67; }
.kl-opt-route ol, .kl-doc-chain ol, .kl-company-flow ol, .kl-delivery-steps ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 40px 0 0; padding: 0; border-block: 1px solid var(--kl-line); list-style: none; }
.kl-opt-route li, .kl-doc-chain li, .kl-company-flow li, .kl-delivery-steps li { min-width: 0; min-height: 260px; display: flex; flex-direction: column; padding: 20px; border-right: 1px solid var(--kl-line); }
.kl-opt-route li:last-child, .kl-doc-chain li:last-child, .kl-company-flow li:last-child, .kl-delivery-steps li:last-child { border-right: 0; }
.kl-opt-route li > span, .kl-doc-chain li > span, .kl-company-flow li > span, .kl-delivery-steps li > span { color: var(--kl-red); font-size: 9px; font-weight: 900; }
.kl-opt-route li > svg, .kl-doc-chain li > svg { width: 33px; height: 33px; margin-top: 34px; color: var(--kl-green); stroke-width: 1.5; }
.kl-opt-route li > div, .kl-doc-chain li > div, .kl-company-flow li > div, .kl-delivery-steps li > div { margin-top: auto; }
.kl-opt-route h3, .kl-doc-chain h3, .kl-company-flow h3, .kl-delivery-steps h3 { margin: 0; font-size: 16px; }
.kl-opt-route li p, .kl-doc-chain li p, .kl-company-flow li p, .kl-delivery-steps li p { margin: 8px 0 0; color: var(--kl-muted); font-size: 11px; line-height: 1.55; }
.kl-opt-confirm { display: grid; grid-template-columns: minmax(280px,.68fr) minmax(0,1.32fr); gap: 70px; padding: clamp(58px,6vw,98px) var(--side); background: #fff; }
.kl-opt-confirm h2 { margin: 10px 0 0; font-size: clamp(34px,3.6vw,54px); line-height: 1.04; }
.kl-opt-confirm p { margin: 18px 0 0; color: var(--kl-muted); line-height: 1.68; }
.kl-opt-confirm dl { margin: 0; border-top: 1px solid var(--kl-line); }
.kl-opt-confirm dl div { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 22px; padding: 14px 0; border-bottom: 1px solid var(--kl-line); }
.kl-opt-confirm dt { color: var(--kl-red); font-size: 10px; font-weight: 900; }
.kl-opt-confirm dd { margin: 0; font-size: 11px; }

.kl-producers { padding: clamp(62px,7vw,112px) var(--side); background: #f8f8f4; }
.kl-producers > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--kl-line); }
.kl-producers article { min-width: 0; min-height: 250px; display: flex; flex-direction: column; padding: 21px; border-right: 1px solid var(--kl-line); border-bottom: 1px solid var(--kl-line); }
.kl-producers article:nth-child(3n) { border-right: 0; }
.kl-producers article > span { color: var(--kl-red); font-size: 9px; font-weight: 900; }
.kl-producers article svg { width: 34px; height: 34px; margin-top: 35px; color: var(--kl-green); }
.kl-producers h3 { margin: auto 0 0; font-size: 17px; }
.kl-producers article p { margin: 8px 0 0; color: var(--kl-muted); font-size: 11px; line-height: 1.55; }

.kl-help-hero { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 60px; align-items: end; padding: clamp(62px,7vw,110px) var(--side); background: var(--kl-green-dark); color: #fff; }
.kl-help-hero h1 { max-width: 900px; margin: 17px 0 0; color: #fff; font-size: clamp(44px,5vw,74px); line-height: .99; }
.kl-help-hero p { max-width: 760px; margin: 22px 0 0; color: rgba(255,255,255,.7); line-height: 1.7; }
.kl-help-hero > a { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 13px; align-items: center; padding: 18px; border-left: 3px solid var(--kl-signal); background: rgba(255,255,255,.08); }
.kl-help-hero > a svg { width: 30px; height: 30px; color: #f2ce73; }
.kl-help-hero > a span { display: grid; gap: 4px; }
.kl-help-hero > a small { color: rgba(255,255,255,.65); font-size: 9px; }
.kl-help-hero > a strong { font-size: 17px; white-space: nowrap; }
.kl-faq-hub { padding: clamp(60px,7vw,110px) var(--side); background: #f8f8f4; }
.kl-faq-hub > section { display: grid; grid-template-columns: minmax(230px,.45fr) minmax(0,1.55fr); gap: 48px; padding: 34px 0; border-bottom: 1px solid var(--kl-line); }
.kl-faq-hub header { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 13px; align-content: start; }
.kl-faq-hub header > span { color: var(--kl-red); font-size: 9px; font-weight: 900; }
.kl-faq-hub header small { color: var(--kl-muted); font-size: 8px; text-transform: uppercase; }
.kl-faq-hub h2 { margin: 5px 0 0; font-size: 25px; }

.kl-about-hero { min-height: 620px; display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); background: #edf1ed; }
.kl-about-hero > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(48px,6vw,92px) clamp(42px,6vw,92px) clamp(48px,6vw,92px) var(--side); }
.kl-about-hero h1 { margin: 18px 0 0; font-size: clamp(43px,4.8vw,72px); line-height: .99; }
.kl-about-hero p { margin: 23px 0 0; color: var(--kl-muted); line-height: 1.7; }
.kl-about-hero figure { min-width: 0; min-height: 620px; position: relative; margin: 0; overflow: hidden; }
.kl-about-hero picture, .kl-about-hero picture img { width: 100%; height: 100%; display: block; }
.kl-about-hero img { object-fit: cover; object-position: center; }
.kl-about-hero figcaption { position: absolute; left: 15px; bottom: 14px; padding: 7px 9px; background: rgba(247,248,244,.9); color: var(--kl-muted); font-size: 8px; }
.kl-company-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 0 var(--side); border-bottom: 1px solid var(--kl-line); background: #fff; }
.kl-company-facts > div { min-width: 0; min-height: 112px; display: grid; grid-template-columns: 25px 28px minmax(0,1fr); align-items: center; gap: 11px; padding: 17px 20px; border-right: 1px solid var(--kl-line); }
.kl-company-facts > div:first-child { padding-left: 0; }
.kl-company-facts > div:last-child { border-right: 0; }
.kl-company-facts > div > span { color: var(--kl-red); font-size: 9px; font-weight: 900; }
.kl-company-facts svg { width: 25px; height: 25px; color: var(--kl-green); }
.kl-company-facts p { display: grid; gap: 4px; margin: 0; }
.kl-company-facts b { font-size: 12px; }
.kl-company-facts small { color: var(--kl-muted); font-size: 8px; line-height: 1.35; }
.kl-legal { display: grid; grid-template-columns: minmax(260px,.55fr) minmax(0,1.45fr); gap: 70px; padding: clamp(56px,6vw,98px) var(--side); background: #fff; }
.kl-legal h2 { margin: 10px 0 0; font-size: clamp(34px,3.6vw,54px); }
.kl-legal dl { margin: 0; border-top: 1px solid var(--kl-line); }
.kl-legal dl div { display: grid; grid-template-columns: 145px minmax(0,1fr); gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--kl-line); }
.kl-legal dt { color: var(--kl-red); font-size: 9px; font-weight: 900; }
.kl-legal dd { margin: 0; font-size: 11px; }

.kl-contact-layout { display: grid; grid-template-columns: minmax(360px,.72fr) minmax(0,1.28fr); min-height: 740px; }
.kl-contact-channels { padding: clamp(52px,6vw,92px) clamp(40px,5vw,80px) clamp(52px,6vw,92px) var(--side); background: var(--kl-warm); }
.kl-contact-channels h2, .kl-contact-form h2 { margin: 10px 0 0; font-size: clamp(33px,3.5vw,52px); line-height: 1.04; }
.kl-contact-channels > p, .kl-contact-form > p { margin: 18px 0 0; color: var(--kl-muted); line-height: 1.65; }
.kl-contact-channels nav { margin-top: 28px; border-top: 1px solid var(--kl-line); }
.kl-contact-channels nav a { min-width: 0; display: grid; grid-template-columns: 25px minmax(0,1fr) 18px; gap: 13px; align-items: center; padding: 15px 0; border-bottom: 1px solid var(--kl-line); }
.kl-contact-channels nav a > svg:first-child { width: 22px; height: 22px; color: var(--kl-green); }
.kl-contact-channels nav a > svg:last-child { width: 16px; height: 16px; }
.kl-contact-channels nav span { min-width: 0; display: grid; gap: 4px; }
.kl-contact-channels nav b { font-size: 12px; }
.kl-contact-channels nav small { color: var(--kl-muted); font-size: 9px; }
.kl-contact-channels dl { margin: 28px 0 0; border-top: 1px solid var(--kl-line); }
.kl-contact-channels dl div { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--kl-line); }
.kl-contact-channels dt { color: var(--kl-red); font-size: 9px; font-weight: 900; }
.kl-contact-channels dd { margin: 0; font-size: 10px; }
.kl-contact-form { padding: clamp(52px,6vw,92px) var(--side) clamp(52px,6vw,92px) clamp(40px,5vw,82px); background: #fff; }
.kl-contact-form .order-form { margin-top: 28px; }

.kl-delivery-hero { width: 100%; min-height: 460px; max-height: 680px; position: relative; aspect-ratio: 2170 / 725; overflow: hidden; background: #f0ece2; }
.kl-delivery-hero > picture, .kl-delivery-hero > picture img { width: 100%; height: 100%; position: absolute; inset: 0; display: block; }
.kl-delivery-hero > picture img { object-fit: cover; object-position: center; }
.kl-delivery-hero > div { width: min(730px,56vw); height: 100%; position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: clamp(48px,5vw,86px) 24px clamp(48px,5vw,86px) var(--side); }
.kl-delivery-hero h1 { max-width: 720px; margin: 18px 0 0; font-size: clamp(42px,4.6vw,70px); line-height: .99; }
.kl-delivery-hero > div > p:not(.kl-delivery-mode) { max-width: 620px; margin: 20px 0 0; color: #47564f; line-height: 1.65; }
.kl-delivery-hero .kl-hero-actions { margin-top: 23px; }
.kl-delivery-hero .kl-hero-actions a:not(.btn) { color: var(--kl-green-dark); font-size: 12px; font-weight: 850; }
.kl-delivery-mode { width: fit-content; display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 11px; align-items: center; margin: 22px 0 0; padding-top: 14px; border-top: 1px solid var(--kl-line); }
.kl-delivery-mode > svg { width: 22px; height: 22px; color: var(--kl-green); }
.kl-delivery-mode span { display: grid; gap: 3px; }
.kl-delivery-mode b { font-size: 11px; }
.kl-delivery-mode small { color: var(--kl-muted); font-size: 9px; }
.kl-delivery-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 0 var(--side); border-bottom: 1px solid var(--kl-line); background: #fff; }
.kl-delivery-facts > div { min-width: 0; min-height: 110px; display: grid; grid-template-columns: 30px minmax(0,1fr); align-items: center; gap: 13px; padding: 16px 22px; border-right: 1px solid var(--kl-line); }
.kl-delivery-facts > div:first-child { padding-left: 0; }
.kl-delivery-facts > div:last-child { border-right: 0; }
.kl-delivery-facts svg { width: 27px; height: 27px; color: var(--kl-green); }
.kl-delivery-facts p { display: grid; gap: 4px; margin: 0; }
.kl-delivery-facts b { font-size: 12px; }
.kl-delivery-facts small { color: var(--kl-muted); font-size: 9px; }
.kl-delivery-local { grid-template-columns: minmax(390px,.82fr) minmax(0,1.18fr); }
.kl-delivery-rules { padding: clamp(62px,7vw,110px) var(--side); background: #f8f8f4; }
.kl-delivery-rules > header { max-width: 780px; }
.kl-delivery-rules h2 { margin: 10px 0 0; font-size: clamp(35px,3.8vw,56px); line-height: 1.03; }
.kl-delivery-rules > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; margin-top: 38px; border-block: 1px solid var(--kl-line); }
.kl-delivery-rules article { padding: 27px; border-right: 1px solid var(--kl-line); }
.kl-delivery-rules article:last-child { border-right: 0; }
.kl-delivery-rules article > svg { width: 34px; height: 34px; color: var(--kl-green); }
.kl-delivery-rules h3 { margin: 28px 0 0; font-size: 20px; }
.kl-delivery-rules ul { display: grid; gap: 8px; margin: 18px 0 0; padding-left: 18px; color: var(--kl-muted); font-size: 12px; }

.kl-price-card, .kl-opt-card { min-height: 0; overflow: hidden; padding: 0 16px 16px; border-color: var(--kl-line); border-radius: 4px; box-shadow: 0 16px 34px rgba(28,48,39,.06); }
.kl-price-card__media, .kl-opt-card__media { width: calc(100% + 32px); display: block; aspect-ratio: 3 / 2; margin: 0 -16px 15px; overflow: hidden; background: #f1eee7; }
.kl-price-card__media img, .kl-opt-card__media img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; border-radius: 0; }
.kl-price-card.product-card--contained-image img, .kl-opt-card.product-card--contained-image img { object-fit: contain; padding: 15px; background: #f1eee7; }
.kl-price-card .eyebrow, .kl-opt-card .eyebrow { margin-top: 2px; color: var(--kl-red); font-size: 8px; }
.kl-price-card h3, .kl-opt-card h3 { min-height: 0; margin: 8px 0 0; font-size: 15px; font-weight: 850; line-height: 1.35; }
.kl-price-card .city-catalog-intro { margin: 9px 0 5px; color: var(--kl-muted); font-size: 10px; line-height: 1.45; }
.kl-price-card__delivery { margin-top: 10px; border-top: 1px solid var(--kl-line); border-bottom: 1px solid var(--kl-line); }
.kl-price-card__delivery summary { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--kl-green-dark); cursor: pointer; font-size: 9px; font-weight: 850; list-style: none; }
.kl-price-card__delivery summary::-webkit-details-marker { display: none; }
.kl-price-card__delivery summary svg { width: 14px; height: 14px; flex: 0 0 auto; transition: transform .2s ease; }
.kl-price-card__delivery[open] summary svg { transform: rotate(180deg); }
.kl-price-card__delivery p { margin: 0; padding: 0 0 11px; color: var(--kl-muted); font-size: 9px; line-height: 1.55; }
.kl-price-variant { display: grid; grid-template-columns: minmax(0,1fr) auto 94px; gap: 9px; align-items: center; margin-top: 9px; padding-top: 9px; border-top: 1px solid var(--kl-line); }
.kl-price-variant > span { color: var(--kl-muted); font-size: 10px; }
.kl-price-variant > strong { margin: 0; font-size: 14px; }
.kl-price-variant .cart-button { min-height: 36px; margin: 0; font-size: 10px; }
.kl-opt-card > p { margin: 15px 0 0; color: var(--kl-muted); }
.kl-opt-card > .btn { width: 100%; margin-top: 18px; }

@media (max-width: 1180px) {
  .kl-delivery, .kl-delivery-hero { min-height: 0; max-height: none; display: flex; flex-direction: column; aspect-ratio: auto; }
  .kl-delivery-media, .kl-delivery-hero > picture { width: 100%; height: auto; position: relative; inset: auto; order: 2; aspect-ratio: 2170 / 725; }
  .kl-delivery-media img, .kl-delivery-hero > picture img { position: absolute; object-fit: cover; object-position: center; }
  .kl-delivery-veil { display: none; }
  .kl-delivery-copy, .kl-delivery-hero > div { width: auto; height: auto; order: 1; padding: 56px var(--side); }
  .kl-picker-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .kl-directory nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kl-catalog-groups > section > div, .kl-type-groups > section > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kl-category-guide { grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); }
  .kl-category-guide aside { grid-column: 1 / -1; }
}

@media (max-width: 960px) {
  .kl-hero { min-height: 650px; }
  .kl-hero-copy { width: 57vw; min-height: 650px; }
  .kl-hero-route { display: none; }
  .kl-route-strip, .kl-company-facts, .kl-delivery-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kl-route-strip > div:nth-child(2), .kl-company-facts > div:nth-child(2), .kl-delivery-facts > div:nth-child(2) { border-right: 0; }
  .kl-route-strip > div:nth-child(-n+2), .kl-company-facts > div:nth-child(-n+2), .kl-delivery-facts > div:nth-child(-n+2) { border-bottom: 1px solid var(--kl-line); }
  .kl-route-strip > div:nth-child(3), .kl-company-facts > div:nth-child(3), .kl-delivery-facts > div:nth-child(3) { padding-left: 0; }
  .kl-delivery, .kl-local, .kl-opt-hero, .kl-delivery-hero { grid-template-columns: minmax(340px,.95fr) minmax(0,1.05fr); }
  .kl-picker-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kl-bundle > div, .kl-opt-route ol, .kl-doc-chain ol, .kl-company-flow ol, .kl-delivery-steps ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kl-bundle article:nth-child(2), .kl-opt-route li:nth-child(2), .kl-doc-chain li:nth-child(2), .kl-company-flow li:nth-child(2), .kl-delivery-steps li:nth-child(2) { border-right: 0; }
  .kl-bundle article:nth-child(-n+2), .kl-opt-route li:nth-child(-n+2), .kl-doc-chain li:nth-child(-n+2), .kl-company-flow li:nth-child(-n+2), .kl-delivery-steps li:nth-child(-n+2) { border-bottom: 1px solid var(--kl-line); }
  .kl-directory > header, .kl-wholesale, .kl-category-links { grid-template-columns: 1fr; }
  .kl-directory > div > section { grid-template-columns: 40px minmax(200px,.45fr) minmax(0,1.55fr); }
  .kl-catalog-nav { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .kl-catalog-nav a:nth-child(3) { border-right: 0; }
  .kl-catalog-nav a:nth-child(-n+3) { border-bottom: 1px solid var(--kl-line); }
  .kl-route-map ol { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .kl-route-map li:nth-child(3) { border-right: 0; }
  .kl-route-map li:nth-child(-n+3) { border-bottom: 1px solid var(--kl-line); }
  .kl-category-hero, .kl-about-hero { grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); }
  .kl-contact-layout { grid-template-columns: minmax(320px,.82fr) minmax(0,1.18fr); }
}

@media (max-width: 760px) {
  .city-site--kolodischi .brand-copy strong { font-size: 20px; }
  .city-site--kolodischi .quick-order { grid-template-columns: 1fr; }
  .kl-heading, .kl-page-hero, .kl-price-key, .kl-opt-confirm, .kl-checkout-note, .kl-inventory, .kl-legal { grid-template-columns: 1fr; gap: 28px; }
  .kl-heading > a { justify-self: start; }
  .kl-faq > header { grid-template-columns: 1fr; grid-template-areas: "index" "title" "link"; row-gap: 0; }
  .kl-faq header > a { justify-self: start; margin-top: 16px; }
  .kl-hero { min-height: 0; display: flex; flex-direction: column; }
  .kl-hero-media { height: auto; aspect-ratio: 1122 / 1402; position: relative; order: 2; }
  .kl-hero-media img { object-fit: cover; object-position: center; }
  .kl-hero-veil { display: none; }
  .kl-hero-copy { width: auto; min-height: 0; order: 1; margin: 0; padding: 34px var(--side) 28px; }
  .kl-hero h1 { margin-top: 18px; font-size: clamp(38px,11vw,54px); line-height: .99; }
  .kl-hero-copy > p { margin-top: 18px; font-size: 14px; line-height: 1.58; }
  .kl-hero-actions { gap: 16px; margin-top: 22px; }
  .kl-hero-actions .btn { min-height: 46px; }
  .kl-hero-facts { margin-top: 24px; }
  .kl-hero-facts div { padding: 12px 9px; }
  .kl-hero-facts dt { font-size: 13px; }
  .kl-hero-facts dd { font-size: 8px; }
  .kl-route-strip > div { min-height: 88px; grid-template-columns: 18px 22px minmax(0,1fr); gap: 8px; padding: 12px 10px; }
  .kl-route-strip svg { width: 21px; height: 21px; }
  .kl-route-strip b { font-size: 10px; }
  .kl-route-strip small { font-size: 8px; }
  .kl-delivery, .kl-local, .kl-opt-hero, .kl-delivery-hero, .kl-category-hero, .kl-about-hero, .kl-contact-layout { grid-template-columns: 1fr; min-height: 0; }
  .kl-delivery-copy, .kl-local-copy, .kl-opt-hero > div, .kl-delivery-hero > div, .kl-category-copy, .kl-about-hero > div, .kl-contact-channels, .kl-contact-form { padding: 44px var(--side); }
  .kl-delivery h2, .kl-local h2 { font-size: clamp(35px,10vw,48px); }
  .kl-delivery-media, .kl-delivery-hero > picture { height: auto; aspect-ratio: 1198 / 574; }
  .kl-delivery-media img, .kl-delivery-hero > picture img { object-position: center; }
  .kl-picker-grid { gap: 0; }
  .kl-picker-card { min-height: 230px; }
  .kl-picker-card > span { padding: 15px; }
  .kl-bundle > div, .kl-directory > header, .kl-wholesale, .kl-category-links, .kl-category-guide, .kl-search, .kl-price-key, .kl-opt-confirm { grid-template-columns: 1fr; }
  .kl-bundle article { min-height: 235px; }
  .kl-local-copy { order: 2; }
  .kl-map-figure { min-height: 0; aspect-ratio: 1536/1024; order: 1; }
  .kl-map-pin { gap: 3px; transform: translate(-3px,-50%); }
  .kl-map-pin i { width: 8px; height: 8px; border-width: 2px; }
  .kl-map-pin b { padding: 4px 5px; font-size: 7px; }
  .kl-map-pin--left { transform: translate(calc(-100% + 3px),-50%); }
  .kl-map-figure figcaption { left: 8px; bottom: 8px; padding: 6px 7px; }
  .kl-map-figure figcaption span { display: none; }
  .kl-directory > header { gap: 18px; }
  .kl-directory > div > section { grid-template-columns: 30px minmax(0,1fr); gap: 14px; }
  .kl-directory nav { grid-column: 2; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kl-wholesale { gap: 34px; }
  .kl-page-hero h1 { font-size: clamp(39px,10.5vw,52px); }
  .kl-page-hero aside { max-width: 320px; }
  .kl-catalog-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kl-catalog-nav a, .kl-catalog-nav a:first-child { min-height: 86px; padding: 12px; }
  .kl-catalog-nav a:nth-child(3) { border-right: 1px solid var(--kl-line); }
  .kl-catalog-nav a:nth-child(2n) { border-right: 0; }
  .kl-catalog-nav a:nth-child(-n+4) { border-bottom: 1px solid var(--kl-line); }
  .kl-catalog-groups > section, .kl-type-groups > section, .kl-faq-hub > section { grid-template-columns: 1fr; gap: 22px; }
  .kl-catalog-groups > section > div, .kl-type-groups > section > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kl-search { gap: 30px; }
  .kl-checkout-note ol, .kl-price-key dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kl-checkout-note li:nth-child(2), .kl-price-key dl div:nth-child(2) { border-right: 0; }
  .kl-checkout-note li:nth-child(-n+2), .kl-price-key dl div:nth-child(-n+2) { border-bottom: 1px solid var(--kl-line); }
  .kl-route-map ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kl-route-map li, .kl-route-map li:nth-child(3) { border-right: 1px solid var(--kl-line); }
  .kl-route-map li:nth-child(2n) { border-right: 0; }
  .kl-route-map li:nth-child(-n+4) { border-bottom: 1px solid var(--kl-line); }
  .kl-category-hero > figure, .kl-about-hero figure { min-height: 0; aspect-ratio: 3/2; }
  .kl-category-copy h1, .kl-about-hero h1, .kl-opt-hero h1, .kl-delivery-hero h1, .kl-help-hero h1 { font-size: clamp(38px,10.5vw,52px); }
  .kl-category-copy dl { margin-top: 26px; }
  .kl-category-guide { gap: 28px; }
  .kl-category-guide aside { grid-column: auto; }
  .kl-inventory nav { align-self: auto; }
  .kl-category-links { gap: 36px; }
  .kl-category-faq > header { grid-template-columns: 1fr; }
  .kl-price-nav { display: flex; overflow-x: auto; padding: 0 var(--side); scrollbar-width: thin; }
  .kl-price-nav a, .kl-price-nav a:first-child { min-width: 170px; padding: 13px; }
  .kl-price-list > section > header { align-items: start; flex-direction: column; }
  .kl-opt-hero > dl { padding: 38px var(--side); }
  .kl-help-hero { grid-template-columns: 1fr; align-items: start; gap: 30px; }
  .kl-help-hero > a { width: fit-content; }
  .kl-company-facts > div { min-height: 90px; padding: 12px 10px; }
  .kl-legal dl div, .kl-opt-confirm dl div { grid-template-columns: 110px minmax(0,1fr); }
  .kl-delivery-local .kl-local-copy { order: 1; }
  .kl-delivery-local .kl-map-figure { order: 2; }
}

@media (max-width: 520px) {
  .kl-label { font-size: 9px; }
  .kl-hero-actions { align-items: stretch; flex-direction: column; }
  .kl-hero-actions .btn, .kl-price-link { width: 100%; }
  .kl-price-link { min-height: 44px; }
  .kl-delivery-points { grid-template-columns: 1fr; }
  .kl-delivery-actions { align-items: stretch; flex-direction: column; }
  .kl-delivery-actions .btn, .kl-delivery-actions > a:not(.btn) { width: 100%; }
  .kl-delivery-actions > a:not(.btn) { min-height: 42px; }
  .kl-products .product-grid { grid-template-columns: 1fr; }
  .kl-offer-card__body { min-height: 235px; }
  .kl-price-variant { grid-template-columns: minmax(0,1fr) auto; }
  .kl-price-variant .cart-button { grid-column: 1 / -1; }
  .kl-route-strip > div, .kl-route-strip > div:first-child, .kl-route-strip > div:nth-child(3) { min-height: 102px; grid-template-columns: 22px minmax(0,1fr); grid-template-areas: "step copy"; align-items: center; gap: 9px; padding: 15px 10px; }
  .kl-route-strip > div:first-child, .kl-route-strip > div:nth-child(3) { padding-left: 0; }
  .kl-route-strip > div > span { grid-area: step; }
  .kl-route-strip > div > p { width: 100%; grid-area: copy; }
  .kl-route-strip > div > svg, .kl-route-strip > div > i { display: none; }
  .kl-route-strip b, .kl-route-strip small { overflow-wrap: normal; word-break: normal; hyphens: none; }
  .kl-picker-card { min-height: 195px; }
  .kl-picker-card b { font-size: 12px; }
  .kl-bundle > div, .kl-opt-route ol, .kl-doc-chain ol, .kl-company-flow ol, .kl-delivery-steps ol, .kl-route-map ol { grid-template-columns: 1fr; }
  .kl-bundle article, .kl-bundle article:nth-child(2), .kl-opt-route li, .kl-opt-route li:nth-child(2), .kl-doc-chain li, .kl-doc-chain li:nth-child(2), .kl-company-flow li, .kl-company-flow li:nth-child(2), .kl-delivery-steps li, .kl-delivery-steps li:nth-child(2), .kl-route-map li, .kl-route-map li:nth-child(3) { min-height: 210px; border-right: 0; border-bottom: 1px solid var(--kl-line); }
  .kl-bundle article:last-child, .kl-opt-route li:last-child, .kl-doc-chain li:last-child, .kl-company-flow li:last-child, .kl-delivery-steps li:last-child, .kl-route-map li:last-child { border-bottom: 0; }
  .kl-directory nav { grid-template-columns: 1fr; }
  .kl-wholesale dl div { grid-template-columns: minmax(0,1fr) 156px; gap: 8px; }
  .kl-wholesale dd { grid-template-columns: 72px 76px; gap: 8px; }
  .kl-opt-hero dl div { grid-template-columns: minmax(0,1fr) 72px 76px; gap: 8px; }
  .kl-catalog-groups > section > div, .kl-type-groups > section > div { grid-template-columns: 1fr; }
  .kl-category-row, .kl-type-card { grid-template-columns: 78px minmax(0,1fr) 18px; }
  .kl-category-row img { width: 78px; height: 76px; }
  .kl-checkout-note ol, .kl-price-key dl, .kl-company-facts, .kl-delivery-facts { grid-template-columns: 1fr; }
  .kl-checkout-note li, .kl-checkout-note li:nth-child(2), .kl-price-key dl div, .kl-price-key dl div:nth-child(2), .kl-company-facts > div, .kl-company-facts > div:nth-child(2), .kl-company-facts > div:nth-child(3), .kl-delivery-facts > div, .kl-delivery-facts > div:nth-child(2), .kl-delivery-facts > div:nth-child(3) { min-height: 0; padding: 17px 0; border-right: 0; border-bottom: 1px solid var(--kl-line); }
  .kl-checkout-note li:last-child, .kl-price-key dl div:last-child, .kl-company-facts > div:last-child, .kl-delivery-facts > div:last-child { border-bottom: 0; }
  .kl-category-copy dl { grid-template-columns: 1fr; }
  .kl-category-copy dl div, .kl-category-copy dl div:first-child { padding: 11px 0; border-right: 0; border-bottom: 1px solid var(--kl-line); }
  .kl-category-copy dl div:last-child { border-bottom: 0; }
  .kl-category-guide li { grid-template-columns: 24px 18px minmax(0,1fr); }
  .kl-inventory dl div, .kl-legal dl div, .kl-opt-confirm dl div, .kl-contact-channels dl div { grid-template-columns: 1fr; gap: 4px; }
  .kl-producers > div, .kl-delivery-rules > div { grid-template-columns: 1fr; }
  .kl-producers article, .kl-producers article:nth-child(3n), .kl-delivery-rules article { border-right: 0; }
  .kl-delivery-rules article:first-child { border-bottom: 1px solid var(--kl-line); }
  .kl-help-hero > a { width: 100%; }
  .kl-contact-form .order-form { grid-template-columns: 1fr; }
}
