@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/InterVariable.woff2") format("woff2");
}

:root {
  --kvw-ink: #102e2b;
  --kvw-ink-soft: #3f5350;
  --kvw-green: #0f5548;
  --kvw-green-deep: #0a4037;
  --kvw-green-soft: #e6f0e5;
  --kvw-cream: #f8f5ed;
  --kvw-paper: #fffefa;
  --kvw-sand: #eee6d8;
  --kvw-orange: #dc6f2d;
  --kvw-orange-dark: #c85e20;
  --kvw-blue: #a7d7ff;
  --kvw-pink: #f3a8c8;
  --kvw-border: rgba(16, 46, 43, .13);
  --kvw-shadow: 0 12px 34px rgba(33, 49, 43, .09);
  --kvw-radius: 20px;
  --kvw-container: min(1470px, calc(100vw - 80px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html body { background: #fbfaf7; color: var(--kvw-ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.55; margin: 0; min-width: 320px; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
img { height: auto; max-width: 100%; }
a { color: inherit; }
button { color: inherit; }
svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.kvw-container { margin-inline: auto; max-width: var(--kvw-container); width: 100%; }
.kvw-skip-link { background: #fff; left: 16px; padding: 12px 16px; position: fixed; top: -100px; z-index: 999999; }
.kvw-skip-link:focus { top: 16px; }
.kvw-system-notice, .kvw-demo-banner { background: #fff2d9; border-bottom: 1px solid #efd3a0; color: #654616; font-size: .875rem; padding: .65rem 1rem; text-align: center; }

/* Header */
.kvw-site-header { background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(16,46,43,.08); position: sticky; top: 0; z-index: 1000; }
.admin-bar .kvw-site-header { top: 32px; }
.kvw-site-header__inner { align-items: center; display: grid; gap: 20px; grid-template-columns: auto minmax(500px, 1fr) auto; min-height: 72px; }
.kvw-logo { align-items: center; color: var(--kvw-ink); display: inline-flex; flex: 0 0 auto; font-size: clamp(1.25rem, 1.35vw, 1.5rem); font-weight: 850; gap: 10px; letter-spacing: -.045em; line-height: 1; text-decoration: none; white-space: nowrap; }
.kvw-logo__mark { color: var(--kvw-green); height: 29px; width: 48px; }
.kvw-nav { justify-self: center; }
.kvw-nav__list { align-items: center; display: flex; gap: clamp(16px, 1.3vw, 27px); list-style: none; margin: 0; padding: 0; }
.kvw-nav__list > li { position: relative; }
.kvw-nav__list a { color: #172d2a; display: block; font-size: 1rem; font-weight: 680; padding: 25px 0; text-decoration: none; white-space: nowrap; }
.kvw-nav__list a:hover, .kvw-nav__list .current-menu-item > a { color: var(--kvw-green); }
.kvw-nav__list .menu-item-has-children > a::after { content: "⌄"; font-size: .75em; margin-left: 6px; }
.kvw-nav__list .sub-menu { background: #fff; border: 1px solid var(--kvw-border); border-radius: 13px; box-shadow: var(--kvw-shadow); display: none; left: -16px; list-style: none; margin: 0; min-width: 210px; padding: 8px; position: absolute; top: calc(100% - 8px); }
.kvw-nav__list li:hover > .sub-menu, .kvw-nav__list li:focus-within > .sub-menu { display: block; }
.kvw-nav__list .sub-menu a { border-radius: 9px; padding: 10px 12px; }
.kvw-nav__list .sub-menu a:hover { background: var(--kvw-green-soft); }
.kvw-header-tools { align-items: center; display: flex; gap: 14px; justify-content: flex-end; }
.kvw-header-search { align-items: center; background: #fff; border: 1px solid rgba(16,46,43,.17); border-radius: 999px; box-shadow: 0 2px 10px rgba(20,45,40,.04); display: flex; height: 44px; min-width: 255px; overflow: hidden; width: clamp(255px, 17vw, 310px); }
.kvw-header-search input { background: transparent; border: 0; color: var(--kvw-ink); flex: 1; font-size: .94rem; min-width: 0; outline: 0; padding: 0 6px 0 18px; }
.kvw-header-search button { align-items: center; background: none; border: 0; cursor: pointer; display: flex; height: 44px; justify-content: center; width: 44px; }
.kvw-header-search svg { height: 19px; width: 19px; }
.kvw-header-icon-link, .kvw-header-account { align-items: center; color: #102724; display: flex; font-size: .94rem; font-weight: 710; gap: 8px; text-decoration: none; white-space: nowrap; }
.kvw-header-icon-link svg, .kvw-header-account > svg { height: 23px; width: 23px; }
.kvw-header-account span { display: grid; line-height: 1.08; }
.kvw-header-account strong { font-size: .94rem; }
.kvw-header-account small { font-size: .82rem; font-weight: 540; margin-top: 3px; }
.kvw-mobile-toggle { background: none; border: 0; cursor: pointer; display: none; padding: 10px; }
.kvw-mobile-toggle > span:not(.screen-reader-text) { background: var(--kvw-ink); border-radius: 2px; display: block; height: 2px; margin: 5px 0; width: 26px; }

/* Hero */
.kvw-home { overflow: hidden; }
.kvw-home-hero { background: radial-gradient(circle at 25% 15%, rgba(255,255,255,.97), rgba(248,244,235,.86) 44%, rgba(238,232,220,.76)); border-bottom: 1px solid rgba(16,46,43,.08); isolation: isolate; overflow: hidden; padding: 30px 0 32px; position: relative; }
.kvw-home-hero::before { background: url("../images/hero-cat-v120.webp") center / cover no-repeat; content: ""; filter: blur(36px); inset: -90px 58% -90px -90px; opacity: .09; pointer-events: none; position: absolute; z-index: -1; }
.kvw-home-hero__grid { align-items: stretch; display: grid; gap: 22px; grid-template-columns: minmax(390px, 1.02fr) minmax(420px, 1fr) minmax(390px, .94fr); }
.kvw-home-hero__copy { align-self: center; min-width: 0; padding: 12px 12px 12px 0; }
.kvw-home-hero h1 { color: #103b34; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3rem, 3.5vw, 3.55rem); font-weight: 700; letter-spacing: -.045em; line-height: .98; margin: 0 0 20px; max-width: 610px; }
.kvw-home-hero h1 .kvw-title-line { display: block; white-space: nowrap; }
.kvw-home-hero__lead { color: #253e3a; font-size: 1.12rem; line-height: 1.55; margin: 0 0 24px; max-width: 510px; }
.kvw-home-hero__cta-row { align-items: center; display: flex; }
.kvw-primary-cta { align-items: center; background: linear-gradient(180deg, #e07b3e, #d56626); border: 0; border-radius: 999px; box-shadow: 0 8px 18px rgba(195,87,30,.18); color: #fff; cursor: pointer; display: inline-flex; font-size: 1.06rem; font-weight: 820; gap: 34px; justify-content: space-between; min-height: 50px; padding: 0 27px; white-space: nowrap; }
.kvw-primary-cta:hover { background: linear-gradient(180deg, #e78649, #c95b20); transform: translateY(-1px); }
.kvw-cat-canvas { align-self: center; aspect-ratio: 4 / 3; border: 2px solid rgba(255,255,255,.94); border-radius: 18px; box-shadow: 0 11px 28px rgba(45,47,40,.13); min-height: 0; overflow: hidden; position: relative; width: 100%; }
.kvw-cat-canvas::after { background: linear-gradient(90deg, rgba(246,242,233,.22), transparent 30%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.kvw-cat-canvas > img { height: 100%; inset: 0; object-fit: cover; object-position: center; position: absolute; width: 100%; }
.kvw-photo-callout { align-items: center; background: rgba(255,255,255,.95); border: 1px solid rgba(16,46,43,.08); border-radius: 14px; bottom: 10px; box-shadow: 0 7px 22px rgba(32,45,39,.12); cursor: pointer; display: flex; gap: 9px; padding: 9px 12px; position: absolute; right: 10px; z-index: 3; }
.kvw-photo-callout__icon { align-items: center; background: var(--kvw-green-soft); border-radius: 9px; display: flex; height: 36px; justify-content: center; width: 36px; }
.kvw-photo-callout__icon svg { height: 21px; width: 21px; }
.kvw-photo-callout > span:last-child { display: grid; line-height: 1.12; text-align: left; }
.kvw-photo-callout strong { font-size: .9rem; }
.kvw-photo-callout small { color: #52625f; font-size: .8rem; margin-top: 3px; }

.kvw-my-cats-panel { align-self: stretch; background: rgba(255,255,255,.94); border: 1px solid rgba(16,46,43,.1); border-radius: 18px; box-shadow: 0 10px 30px rgba(28,44,38,.1); display: grid; gap: 8px; grid-template-rows: auto minmax(0, 1fr) auto auto; padding: 16px; }
.kvw-my-cats-panel__heading { align-items: center; display: flex; justify-content: space-between; padding: 0 3px 2px; }
.kvw-my-cats-panel__heading h2 { font-size: clamp(1.45rem, 1.55vw, 1.65rem); letter-spacing: -.035em; margin: 0; }
.kvw-my-cats-panel__heading h2 small { font-size: .9rem; font-weight: 650; }
.kvw-my-cats-panel__heading button { align-items: center; background: #eef6eb; border: 0; border-radius: 999px; cursor: pointer; display: inline-flex; font-size: .9rem; font-weight: 760; gap: 6px; padding: 8px 13px; }
.kvw-my-cats-panel__heading button span { font-size: 1.1em; }
.kvw-my-cats-panel__profile { align-items: center; background: #fff; border: 1px solid rgba(16,46,43,.08); border-radius: 13px; display: grid; padding: 11px; }
.kvw-my-cats-panel .kvw-mini-cat { gap: 12px; grid-template-columns: 78px minmax(0, 1fr) 34px; }
.kvw-my-cats-panel .kvw-mini-cat__avatar { height: 78px; width: 78px; }
.kvw-my-cats-panel .kvw-mini-cat__body strong { font-size: 1.08rem; }
.kvw-my-cats-panel .kvw-mini-cat__body > span { font-size: .88rem; line-height: 1.4; }
.kvw-my-cats-panel .kvw-mini-cat__tags { gap: 4px; margin-top: 6px; }
.kvw-my-cats-panel .kvw-profile-tag { font-size: .78rem; padding: 4px 7px; }
.kvw-my-cats-panel .kvw-mini-cat__arrow { font-size: 1.75rem; height: 32px; width: 32px; }
.kvw-current-food-row { align-items: center; background: #fff; border: 1px solid rgba(16,46,43,.08); border-radius: 13px; display: grid; gap: 9px; grid-template-columns: 78px 44px minmax(0,1fr) auto; min-height: 72px; padding: 9px 11px; }
.kvw-current-food-row > span:first-child { font-size: .9rem; font-weight: 750; }
.kvw-current-food-row img { height: 49px; object-fit: contain; width: 40px; }
.kvw-current-food-row strong { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; font-size: .95rem; line-height: 1.3; max-height: 3.9em; min-width: 0; overflow: hidden; overflow-wrap: anywhere; }
.kvw-current-food-row a { font-size: 1.6rem; line-height: 1; text-decoration: none; }
.kvw-current-food-row__placeholder { background: #f0efe9; border-radius: 7px; height: 62px; width: 48px; }
.kvw-current-food-row.is-empty { grid-template-columns: 78px minmax(0,1fr) auto; }
.kvw-current-food-row.is-empty [data-kvw-current-food-image], .kvw-current-food-row.is-empty .kvw-current-food-row__placeholder { display: none; }
.kvw-current-food-row.is-empty strong { overflow-wrap: normal; word-break: normal; }
.kvw-current-food-row:not(.is-empty) img[hidden] + strong { grid-column: 2 / 4; }
.kvw-profile-privacy { color: #4a625e; font-size: .86rem; line-height: 1.4; margin: 0 0 12px; }
.kvw-photo-status { position: absolute; inset: 25% 8% auto; color: #264b43; background: #fff; border-radius: 12px; padding: 20px; font-size: 1rem; line-height: 1.5; }
/* Public first paint stays visible. Revalidate private content before showing it again. */
.kvw-personal-loading[data-kvw-personalized="true"] .kvw-my-cats-panel,
.kvw-personal-loading[data-kvw-personalized="true"] .kvw-recommendations-section,
.kvw-personal-loading[data-kvw-personalized="true"] [data-kvw-cat-photo],
.kvw-personal-loading [data-kvw-cat-list],
.kvw-personal-loading [data-kvw-header-account-detail] { visibility: hidden; }
.kvw-stock-row { align-items: center; background: #fffaf2; border: 1px solid #f1dfc9; border-radius: 13px; display: grid; gap: 10px; grid-template-columns: 36px minmax(0,1fr) auto; min-height: 76px; padding: 9px 11px; }
.kvw-stock-row__icon { align-items: center; color: var(--kvw-orange); display: flex; justify-content: center; }
.kvw-stock-row__icon svg { height: 24px; width: 24px; }
.kvw-stock-row > div { display: grid; line-height: 1.15; }
.kvw-stock-row strong { font-size: .9rem; }
.kvw-stock-row small { color: #5a5e58; font-size: .8rem; margin-top: 4px; }
.kvw-stock-row button { background: #fff; border: 1px solid rgba(15,85,72,.5); border-radius: 9px; cursor: pointer; font-size: .84rem; font-weight: 750; padding: 10px 12px; white-space: nowrap; }
.kvw-stock-row button:disabled { border-color: rgba(16,46,43,.15); color: #87918f; cursor: not-allowed; }

/* Common headings */
.kvw-category-section, .kvw-recommendations-section { background: #fbfaf7; }
.kvw-category-section { padding: 34px 0 40px; }
.kvw-recommendations-section { border-top: 1px solid rgba(16,46,43,.07); padding: 38px 0 48px; }
.kvw-section-heading { align-items: center; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 18px; }
.kvw-section-heading h2 { color: #102c31; font-size: clamp(1.7rem, 2vw, 2rem); letter-spacing: -.035em; line-height: 1.12; margin: 0; }
.kvw-section-heading a { color: #133937; font-size: .95rem; font-weight: 780; text-decoration: none; white-space: nowrap; }
.kvw-section-heading a span { margin-left: 7px; }
.kvw-section-heading--recommend { align-items: end; }
.kvw-recommendations-section .kvw-section-heading { margin-bottom: 18px; }
.kvw-section-heading--recommend > div { align-items: baseline; display: flex; gap: 18px; min-width: 0; }
.kvw-demo-badge { background: #fff1d7; border: 1px solid #efd3a0; border-radius: 999px; color: #73501b; flex: 0 0 auto; font-size: .86rem; font-weight: 760; line-height: 1; padding: 8px 11px; }

/* Categories */
.kvw-category-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kvw-category-card { background: #fff; border: 1px solid rgba(16,46,43,.08); border-radius: 16px; box-shadow: 0 7px 20px rgba(31,42,36,.06); color: #102d31; min-width: 0; overflow: hidden; text-decoration: none; transition: transform .16s ease, box-shadow .16s ease; }
.kvw-category-card:hover { box-shadow: 0 10px 22px rgba(31,42,36,.1); transform: translateY(-2px); }
.kvw-category-card img { aspect-ratio: 12 / 5; display: block; height: auto; object-fit: contain; width: 100%; }
.kvw-category-card > span { align-items: center; display: grid; min-height: 72px; padding: 9px 12px 11px; text-align: center; }
.kvw-category-card strong { font-size: 1.02rem; line-height: 1.2; }
.kvw-category-card small { color: #51635f; font-size: .87rem; line-height: 1.25; margin-top: 3px; }

/* Recommendations and cards */
.kvw-recommendation-layout { display: grid; grid-template-columns: minmax(0, 1fr); }
.kvw-recommendation-products { min-width: 0; }
.kvw-product-card-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; }
.kvw-product-card[hidden] { display: none !important; }
.kvw-recommendation-empty { background: #f4f7f1; border: 1px dashed rgba(15,85,72,.32); border-radius: 14px; padding: 28px; }
.kvw-recommendation-empty[hidden] { display: none !important; }
.kvw-recommendation-empty strong { display: block; font-size: 1.08rem; margin-bottom: 6px; }
.kvw-recommendation-empty p { color: #52645f; line-height: 1.55; margin: 0 0 14px; }
.kvw-recommendation-empty a { color: var(--kvw-green); font-weight: 800; text-decoration: none; }
.kvw-product-card { background: #fff; border: 1px solid rgba(16,46,43,.08); border-radius: 11px; box-shadow: 0 7px 18px rgba(25,40,34,.065); display: flex; flex-direction: column; min-height: 225px; min-width: 0; overflow: hidden; padding: 34px 12px 10px; position: relative; }
.kvw-product-card__badge { border-radius: 7px 7px 7px 2px; font-size: .75rem; font-weight: 850; left: 11px; line-height: 1; padding: 5px 9px; position: absolute; top: 8px; z-index: 1; }
.kvw-product-card__badge--green { background: #92dc74; }
.kvw-product-card__badge--blue { background: #a7d7ff; }
.kvw-product-card__badge--pink { background: #f5a5c8; }
.kvw-product-card__main { display: grid; flex: 1; gap: 10px; grid-template-columns: 76px minmax(0,1fr); min-height: 0; }
.kvw-product-card__image { align-items: center; display: flex; justify-content: center; min-height: 120px; }
.kvw-product-card__image img { height: 120px; object-fit: contain; width: 100%; }
.kvw-product-card__content { min-width: 0; }
.kvw-product-card__brand { color: #495c58; display: none; font-size: .8rem; font-weight: 720; }
.kvw-product-card h3 { font-size: .9rem; letter-spacing: -.02em; line-height: 1.18; margin: 1px 0 5px; min-height: 2.36em; }
.kvw-product-card h3 a { text-decoration: none; }
.kvw-rating { align-items: center; display: flex; gap: 4px; line-height: 1; margin-bottom: 6px; white-space: nowrap; }
.kvw-rating > span { color: #ffb000; font-size: .8rem; letter-spacing: -.08em; }
.kvw-rating b { color: #687572; font-size: .75rem; font-weight: 650; }
.kvw-rating small { color: #8a9491; font-size: .75rem; }
.kvw-product-card__labels { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 9px; }
.kvw-product-card__labels span { background: #edf5eb; border: 1px solid #cadfca; border-radius: 6px; color: #23423d; font-size: .8rem; line-height: 1; padding: 5px 7px; }
.kvw-home .kvw-product-card__labels { display: none; }
.kvw-product-card__reasons { display: grid; gap: 5px; list-style: none; margin: 0; padding: 0; }
.kvw-product-card__reasons li { color: #324b47; font-size: .68rem; line-height: 1.25; padding-left: 12px; position: relative; }
.kvw-product-card__reasons li::before { color: #16815e; content: "✓"; font-weight: 900; left: 0; position: absolute; top: -1px; }
.kvw-product-card__footer { align-items: end; display: grid; gap: 8px; grid-template-columns: minmax(0,1fr) auto; margin-top: 7px; }
.kvw-product-card__price { display: grid; line-height: 1.05; min-width: 0; }
.kvw-product-card__price strong { font-size: 1rem; }
.kvw-product-card__price > span { color: #81908c; font-size: .75rem; margin-left: 3px; }
.kvw-product-card__price small { color: #183a36; font-size: .75rem; font-weight: 650; margin-top: 3px; white-space: nowrap; }
.kvw-card-button { align-items: center; background: var(--kvw-green); border-radius: 999px; color: #fff; display: inline-flex; font-size: .75rem; font-weight: 820; gap: 7px; min-height: 38px; padding: 0 9px; text-decoration: none; white-space: nowrap; }
.kvw-card-button:hover { background: var(--kvw-green-deep); }

.kvw-home .kvw-product-card { border-radius: 16px; min-height: 335px; padding: 44px 18px 17px; }
.kvw-home .kvw-product-card__badge { font-size: .82rem; left: 15px; padding: 6px 10px; top: 12px; }
.kvw-home .kvw-product-card__main { gap: 16px; grid-template-columns: 112px minmax(0,1fr); }
.kvw-home .kvw-product-card__image { min-height: 155px; }
.kvw-home .kvw-product-card__image img { height: 155px; }
.kvw-home .kvw-product-card h3 { font-size: 1.08rem; line-height: 1.23; margin-bottom: 8px; min-height: 2.46em; }
.kvw-home .kvw-rating { margin-bottom: 10px; }
.kvw-home .kvw-rating > span, .kvw-home .kvw-rating b, .kvw-home .kvw-rating small { font-size: .84rem; }
.kvw-home .kvw-product-card__reasons { gap: 7px; }
.kvw-home .kvw-product-card__reasons li { font-size: .88rem; line-height: 1.35; padding-left: 17px; }
.kvw-home .kvw-product-card__reasons li:nth-child(n+3) { display: none; }
.kvw-home .kvw-product-card__footer { border-top: 1px solid var(--kvw-border); gap: 12px; margin-top: 16px; padding-top: 14px; }
.kvw-home .kvw-product-card__price strong { font-size: 1.3rem; }
.kvw-home .kvw-product-card__price > span, .kvw-home .kvw-product-card__price small { font-size: .84rem; line-height: 1.35; white-space: normal; }
.kvw-home .kvw-card-button { font-size: .92rem; min-height: 44px; padding: 0 15px; }

/* Calm account call-to-action */
.kvw-home-account { background: #f2f6ee; border-top: 1px solid rgba(16,46,43,.08); padding: 38px 0; }
.kvw-home-account__card { align-items: center; background: linear-gradient(115deg, #e5f0e1, #f7f4eb); border: 1px solid rgba(16,46,43,.1); border-radius: 22px; display: grid; gap: 30px; grid-template-columns: minmax(0,1.25fr) auto auto; padding: 30px 34px; }
.kvw-home-account__copy { max-width: 650px; }
.kvw-home-account__eyebrow { color: var(--kvw-green); display: block; font-size: .82rem; font-weight: 850; letter-spacing: .06em; margin-bottom: 5px; text-transform: uppercase; }
.kvw-home-account h2 { font-size: clamp(1.65rem, 2vw, 2rem); letter-spacing: -.035em; line-height: 1.15; margin: 0 0 7px; }
.kvw-home-account p { color: #405852; font-size: 1rem; line-height: 1.55; margin: 0; }
.kvw-home-account__features { display: grid; gap: 8px; list-style: none; margin: 0; padding: 0; }
.kvw-home-account__features li { align-items: center; display: flex; font-size: .94rem; font-weight: 700; gap: 8px; white-space: nowrap; }
.kvw-home-account__features li span { align-items: center; background: #cbe2c6; border-radius: 50%; color: var(--kvw-green); display: inline-flex; font-size: .76rem; font-weight: 900; height: 24px; justify-content: center; width: 24px; }
.kvw-home-account__cta { align-items: center; background: var(--kvw-green); border-radius: 999px; color: #fff; display: inline-flex; font-size: .98rem; font-weight: 820; gap: 20px; justify-content: center; min-height: 48px; padding: 0 22px; text-decoration: none; white-space: nowrap; }
.kvw-home-account__cta:hover { background: var(--kvw-green-deep); }

/* Internal page shell */
.kvw-main { min-height: 60vh; padding: clamp(26px, 4vw, 64px) 0; }
.kvw-page-hero { background: linear-gradient(135deg, #f3eee4, #eaf1e6); border-bottom: 1px solid var(--kvw-border); padding: clamp(35px, 6vw, 80px) 0; }
.kvw-page-hero__inner { max-width: min(850px, var(--kvw-container)); }
.kvw-page-hero h1, .kvw-page-hero .kvw-breadcrumbs { overflow-wrap: anywhere; word-break: normal; }
.kvw-page-hero h1 { font-size: clamp(2.6rem, 6vw, 5.4rem); letter-spacing: -.055em; line-height: .96; margin: 0 0 18px; }
.kvw-page-hero p { color: var(--kvw-ink-soft); font-size: 1.12rem; margin: 0; max-width: 720px; }
.kvw-breadcrumbs { color: #60716d; font-size: .8rem; margin-bottom: 16px; }
.kvw-breadcrumbs a { text-decoration: none; }
.kvw-content-layout { align-items: start; display: grid; gap: 32px; grid-template-columns: minmax(0,1fr) 310px; }
.kvw-entry-card { background: #fff; border: 1px solid var(--kvw-border); border-radius: 22px; box-shadow: 0 9px 28px rgba(25,45,38,.07); padding: clamp(24px, 4vw, 52px); }
.kvw-entry-card > :first-child { margin-top: 0; }
.kvw-entry-card h2 { font-size: clamp(1.5rem, 2.7vw, 2.2rem); letter-spacing: -.035em; line-height: 1.15; margin-top: 1.65em; }
.kvw-entry-card h3 { font-size: 1.25rem; margin-top: 1.5em; }
.kvw-entry-card p, .kvw-entry-card li { color: #334d48; }
.kvw-entry-card a { color: var(--kvw-green); font-weight: 700; }
.kvw-sidebar-card { background: #edf4e9; border: 1px solid var(--kvw-border); border-radius: 18px; padding: 22px; position: sticky; top: 100px; }
.kvw-sidebar-card h2 { font-size: 1.35rem; margin: 0 0 8px; }
.kvw-sidebar-card p { color: #4d625d; }

/* Catalog */
.kvw-page-hero--catalog { background: linear-gradient(135deg, #f5f1e8, #edf3e9); padding: 24px 0 22px; }
.kvw-page-hero--catalog .kvw-page-hero__inner { max-width: var(--kvw-container); }
.kvw-page-hero--catalog .kvw-breadcrumbs { font-size: 13px; margin-bottom: 7px; }
.kvw-page-hero--catalog h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(34px, 2.6vw, 44px); font-weight: 700; letter-spacing: -.035em; line-height: 1.08; margin: 0 0 8px; max-width: none; }
.kvw-page-hero--catalog p { font-size: 16px; line-height: 1.5; margin: 0; max-width: 920px; }
.kvw-main--catalog { padding: 20px 0 64px; }
.kvw-catalog-toolbar { align-items: center; background: #fff; border: 1px solid var(--kvw-border); border-radius: 18px; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; margin-bottom: 22px; padding: 12px; }
.kvw-catalog-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.kvw-filter-pill { background: #f0f4ed; border: 1px solid transparent; border-radius: 999px; color: var(--kvw-ink); font-size: .82rem; font-weight: 720; padding: 8px 13px; text-decoration: none; }
.kvw-filter-pill.is-active, .kvw-filter-pill:hover { background: var(--kvw-green); color: #fff; }
.kvw-catalog-count { color: #64736f; font-size: .84rem; }
.kvw-catalog-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0,1fr)); }
.kvw-catalog-page .kvw-catalog-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.kvw-catalog-page .kvw-catalog-toolbar { border-radius: 14px; min-height: 58px; padding: 10px 12px; }
.kvw-catalog-page .kvw-filter-pill { font-size: 14px; line-height: 1.2; padding: 9px 14px; }
.kvw-catalog-page .kvw-catalog-count { font-size: 14px; }
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card { border-radius: 16px; min-height: 500px; padding: 44px 20px 19px; }
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__badge { font-size: 13px; left: 15px; padding: 6px 10px; top: 12px; }
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__main { gap: 12px; grid-template-columns: 1fr; }
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__image { min-height: 170px; }
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__image img { height: 170px; max-width: 190px; }
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__brand { display: block; font-size: 13px; margin-bottom: 3px; }
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card h3 { font-size: 1.12rem; line-height: 1.24; margin-bottom: 8px; min-height: 2.48em; }
.kvw-catalog-page .kvw-catalog-grid .kvw-rating { margin-bottom: 9px; }
.kvw-catalog-page .kvw-catalog-grid .kvw-rating > span, .kvw-catalog-page .kvw-catalog-grid .kvw-rating b, .kvw-catalog-page .kvw-catalog-grid .kvw-rating small { font-size: 13px; }
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__labels { gap: 6px; margin-bottom: 11px; }
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__labels span { font-size: .82rem; line-height: 1.2; padding: 6px 8px; }
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__reasons { gap: 6px; }
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__reasons li { font-size: .91rem; line-height: 1.35; padding-left: 17px; }
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__footer { border-top: 1px solid var(--kvw-border); gap: 10px; margin-top: 16px; padding-top: 14px; }
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__price { line-height: 1.15; }
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__price strong { font-size: 1.32rem; }
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__price > span, .kvw-catalog-page .kvw-catalog-grid .kvw-product-card__price small { font-size: .8rem; line-height: 1.35; white-space: normal; }
.kvw-catalog-page .kvw-catalog-grid .kvw-card-button { font-size: .88rem; min-height: 44px; padding: 0 14px; }
.kvw-pagination { margin-top: 32px; }
.kvw-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.kvw-pagination a, .kvw-pagination span { align-items: center; background: #fff; border: 1px solid var(--kvw-border); border-radius: 9px; display: flex; height: 42px; justify-content: center; min-width: 42px; padding: 0 12px; text-decoration: none; }
.kvw-pagination .current { background: var(--kvw-green); color: #fff; }

/* Product page */
.kvw-product-hero { background: linear-gradient(135deg, #f5f1e9, #eef5eb); padding: 34px 0; }
.kvw-product-hero__grid { align-items: center; display: grid; gap: 42px; grid-template-columns: minmax(280px,.8fr) minmax(0,1.4fr) minmax(300px,.8fr); }
.kvw-product-hero__image { align-items: center; background: #fff; border: 1px solid var(--kvw-border); border-radius: 24px; display: flex; justify-content: center; min-height: 390px; padding: 25px; }
.kvw-product-hero__image img { max-height: 340px; object-fit: contain; }
.kvw-product-hero__info h1 { font-size: clamp(2.4rem, 5vw, 4.5rem); letter-spacing: -.055em; line-height: .98; margin: 0 0 12px; }
.kvw-product-hero__brand { color: var(--kvw-green); font-size: .85rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.kvw-product-hero__summary { color: #435954; font-size: 1.03rem; }
.kvw-product-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 16px 0; }
.kvw-product-tags span { background: #e7f1e4; border: 1px solid #c8ddc5; border-radius: 7px; font-size: .82rem; padding: 6px 9px; }
.kvw-buy-card { background: #fff; border: 1px solid var(--kvw-border); border-radius: 22px; box-shadow: var(--kvw-shadow); padding: 22px; }
.kvw-buy-card__label { color: #62716e; font-size: .82rem; font-weight: 800; }
.kvw-buy-card__price { display: block; font-size: 2rem; line-height: 1.1; margin: 5px 0 3px; }
.kvw-buy-card__merchant { color: #53635f; font-size: .85rem; }
.kvw-buy-card__meta { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; margin: 18px 0; }
.kvw-buy-card__meta div { background: #f5f5f0; border-radius: 10px; display: grid; padding: 9px; }
.kvw-buy-card__meta span { color: #6b7774; font-size: .8rem; }
.kvw-buy-card__meta strong { font-size: .84rem; }
.kvw-buy-card__actions { display: grid; gap: 8px; }
.kvw-buy-card__shop { align-items: center; background: var(--kvw-green); border-radius: 999px; color: #fff; display: flex; font-weight: 850; justify-content: center; min-height: 46px; padding: 0 18px; text-decoration: none; }
.kvw-buy-card__shop.is-disabled { background: #d9dfdc; color: #61706c; pointer-events: none; }
.kvw-product-content { padding: 42px 0 70px; }
.kvw-product-content__grid { align-items: start; display: grid; gap: 28px; grid-template-columns: minmax(0,1.1fr) minmax(360px,.9fr); }
.kvw-facts-card, .kvw-offers-card { background: #fff; border: 1px solid var(--kvw-border); border-radius: 20px; padding: 24px; }
.kvw-facts-card h2, .kvw-offers-card h2 { margin-top: 0; }
.kvw-nutrition-table { display: grid; gap: 1px; grid-template-columns: 1fr 1fr; }
.kvw-nutrition-table div { align-items: center; background: #f5f6f1; display: flex; gap: 12px; justify-content: space-between; min-width: 0; padding: 10px 12px; }
.kvw-nutrition-table strong { text-align: right; }
.kvw-nutrition-sources { color: #52635f; font-size: .85rem; line-height: 1.5; margin-top: 18px; overflow-wrap: anywhere; }
.kvw-nutrition-sources > strong { color: var(--kvw-ink); }
.kvw-nutrition-sources ul { list-style: none; margin: 6px 0 0; padding: 0; }
.kvw-nutrition-sources li + li { margin-top: 9px; }
.kvw-nutrition-sources li > span { display: block; }
.kvw-offer-list { display: grid; gap: 10px; }
/* Keep shop identity and the action separate from the price breakdown at every width. */
.kvw-offer-row { border: 1px solid var(--kvw-border); border-radius: 13px; display: grid; gap: 14px; min-width: 0; padding: 16px; }
.kvw-offer-row.is-best { background: #eef7eb; border-color: rgba(15,85,72,.35); }
.kvw-offer-row__head { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; }
.kvw-offer-row__merchant { display: grid; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.kvw-offer-row small, .kvw-offer-row dt { color: #65736f; font-size: .8rem; }
.kvw-offer-row__prices { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 92px), 1fr)); margin: 0; }
.kvw-offer-row__prices > div { display: grid; gap: 4px; min-width: 0; }
.kvw-offer-row dd { font-size: 1rem; font-variant-numeric: tabular-nums; font-weight: 750; line-height: 1.3; margin: 0; white-space: nowrap; }
.kvw-offer-row__total dd { color: var(--kvw-green-deep); font-weight: 850; }
.kvw-offer-row a { align-items: center; background: var(--kvw-green); border-radius: 999px; color: #fff; display: inline-flex; flex: 0 0 auto; font-size: .82rem; font-weight: 800; justify-content: center; min-height: 44px; padding: 9px 16px; text-decoration: none; white-space: nowrap; }
.kvw-offer-row .is-unavailable { color: #798581; font-size: .82rem; }
@media (max-width: 480px) {
  .kvw-offer-row__prices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kvw-offer-row__prices > .kvw-offer-row__total { align-items: center; border-top: 1px solid var(--kvw-border); display: flex; grid-column: 1 / -1; justify-content: space-between; padding-top: 10px; }
}

/* Knowledge base */
.kvw-topic-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.kvw-article-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0,1fr)); }
.kvw-article-card { background: #fff; border: 1px solid var(--kvw-border); border-radius: 20px; box-shadow: 0 8px 24px rgba(23,42,35,.06); display: flex; flex-direction: column; min-height: 330px; overflow: hidden; }
.kvw-article-card__visual { background: linear-gradient(135deg, #dcebd8, #f3ede1); min-height: 145px; overflow: hidden; position: relative; }
.kvw-article-card__visual img { height: 100%; object-fit: cover; position: absolute; width: 100%; }
.kvw-article-card__visual span { align-items: center; color: var(--kvw-green); display: flex; font-size: 4rem; height: 100%; justify-content: center; opacity: .45; position: absolute; width: 100%; }
.kvw-article-card__body { display: flex; flex: 1; flex-direction: column; padding: 18px; }
.kvw-article-card__topic { color: var(--kvw-green); font-size: .8rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.kvw-article-card h2 { font-size: 1.25rem; letter-spacing: -.03em; line-height: 1.16; margin: 8px 0; }
.kvw-article-card h2 a { text-decoration: none; }
.kvw-article-card p { color: #52645f; font-size: .88rem; margin: 0 0 14px; }
.kvw-article-card__link { color: var(--kvw-green); font-size: .82rem; font-weight: 850; margin-top: auto; text-decoration: none; }
.kvw-article-shell { max-width: min(1120px, var(--kvw-container)); }
.kvw-article-header { background: linear-gradient(135deg, #eef5ea, #f5efe4); padding: 30px 0 34px; }
.kvw-article-header__inner { max-width: min(1120px, var(--kvw-container)); }
.kvw-article-header h1 { font-size: clamp(2.75rem, 4.1vw, 4.1rem); letter-spacing: -.052em; line-height: 1; margin: 0 0 14px; max-width: 940px; }
.kvw-article-header p { color: #52635f; font-size: 1.08rem; line-height: 1.55; margin: 0 0 14px; max-width: 790px; }
.kvw-article-meta { color: #65736f; display: flex; flex-wrap: wrap; font-size: .8rem; gap: 12px; }
.kvw-article-body { padding: 34px 0 70px; }
.kvw-article-body__grid { align-items: start; display: grid; gap: 32px; grid-template-columns: minmax(0,780px) minmax(270px,300px); justify-content: center; }
.kvw-article-content { font-size: 1.04rem; line-height: 1.72; padding: clamp(30px, 3vw, 44px); }
.kvw-article-content h2 { font-size: clamp(1.65rem, 2vw, 1.95rem); letter-spacing: -.04em; line-height: 1.15; margin-top: 1.55em; }
.kvw-article-content p, .kvw-article-content li { color: #334c47; }
.kvw-article-aside { background: #edf5e9; border: 1px solid var(--kvw-border); border-radius: 18px; padding: 24px; position: sticky; top: 100px; }
.kvw-article-aside h2 { font-size: 1.45rem; line-height: 1.15; margin: 0 0 10px; }
.kvw-article-aside p { color: #405852; line-height: 1.55; margin: 0; }
.kvw-article-aside__actions { border-top: 1px solid rgba(16,46,43,.18); display: grid; gap: 12px; margin-top: 20px; padding-top: 18px; }
.kvw-article-aside__actions .kvw-button { justify-content: center; width: 100%; }
.kvw-article-aside__actions a { color: var(--kvw-green-deep); font-size: .88rem; font-weight: 700; text-decoration: none; }
.kvw-medical-note { background: #fff7e8; border: 1px solid #efd8ae; border-left: 4px solid var(--kvw-orange); border-radius: 12px; margin-top: 32px; padding: 16px 18px; }
.kvw-medical-note p { margin: 4px 0 0; }

/* Generic search / 404 */
.kvw-search-results { display: grid; gap: 15px; }
.kvw-search-result { background: #fff; border: 1px solid var(--kvw-border); border-radius: 14px; padding: 18px; }
.kvw-search-result h2 { margin: 0 0 7px; }
.kvw-search-result a { text-decoration: none; }

/* Footer */
.kvw-site-footer { background: #0e342e; color: #eef6f1; padding: 52px 0 18px; }
.kvw-site-footer .kvw-logo { color: #fff; font-size: 1.35rem; }
.kvw-site-footer .kvw-logo__mark { color: #a9d1b5; }
.kvw-site-footer__grid { display: grid; gap: 40px; grid-template-columns: 1.5fr repeat(3,1fr); }
.kvw-site-footer__brand p { color: #b8cbc5; max-width: 390px; }
.kvw-site-footer h2 { color: #fff; font-size: .88rem; letter-spacing: .05em; margin: 0 0 14px; text-transform: uppercase; }
.kvw-site-footer ul { display: grid; gap: 8px; list-style: none; margin: 0; padding: 0; }
.kvw-site-footer a, .kvw-site-footer button { background: none; border: 0; color: #c4d3ce; cursor: pointer; font: inherit; padding: 0; text-align: left; text-decoration: none; }
.kvw-site-footer a:hover, .kvw-site-footer button:hover { color: #fff; }
.kvw-site-footer__bottom { border-top: 1px solid rgba(255,255,255,.12); color: #aabdb7; display: flex; font-size: .8rem; gap: 20px; justify-content: space-between; margin-top: 38px; padding-top: 17px; }

/* Responsive */
@media (max-width: 1350px) {
  :root { --kvw-container: min(1280px, calc(100vw - 44px)); }
  .kvw-site-header__inner { gap: 16px; grid-template-columns: auto minmax(360px,1fr) auto; }
  .kvw-header-search { display: none; }
  .kvw-header-icon-link span { display: none; }
  .kvw-home-hero__grid { grid-template-columns: minmax(360px,1.08fr) minmax(390px,1fr) minmax(350px,.92fr); }
  .kvw-home-hero h1 { font-size: clamp(2.9rem, 3.4vw, 3.35rem); }
  .kvw-catalog-page .kvw-catalog-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 1130px) {
  .kvw-site-header__inner { grid-template-columns: auto 1fr auto; }
  .kvw-mobile-toggle { display: block; justify-self: end; order: 2; }
  .kvw-nav { background: #fff; border-top: 1px solid var(--kvw-border); display: none; grid-column: 1 / -1; grid-row: 2; justify-self: stretch; margin-inline: calc((100vw - var(--kvw-container))/ -2); padding: 0 calc((100vw - var(--kvw-container))/2); }
  .kvw-nav.is-open { display: block; }
  .kvw-nav__list { align-items: stretch; display: grid; gap: 0; grid-template-columns: repeat(3,1fr); }
  .kvw-nav__list a { padding: 13px 10px; }
  .kvw-header-tools { order: 1; }
  .kvw-header-account { display: none; }
  .kvw-home-hero__grid { grid-template-columns: minmax(360px,1fr) minmax(340px,.92fr); }
  .kvw-home-hero__copy { grid-column: 1 / -1; max-width: 720px; padding-block: 8px 6px; }
  .kvw-my-cats-panel { grid-column: auto; grid-template-rows: auto minmax(0, 1fr) auto auto; }
  .kvw-my-cats-panel__heading { grid-column: auto; }
  .kvw-category-grid { grid-template-columns: repeat(4,1fr); }
  .kvw-recommendation-layout { grid-template-columns: 1fr; }
  .kvw-home-account__card { gap: 22px; padding: 28px; }
  .kvw-product-hero__grid { grid-template-columns: 280px minmax(0,1fr); }
  .kvw-buy-card { grid-column: 1 / -1; }
  .kvw-content-layout { grid-template-columns: 1fr; }
  .kvw-sidebar-card { position: static; }
}

@media (max-width: 1050px) {
  .kvw-article-shell { max-width: min(780px, var(--kvw-container)); }
  .kvw-article-body__grid { grid-template-columns: 1fr; }
  .kvw-article-aside { display: grid; gap: 28px; grid-template-columns: minmax(0,1fr) 220px; position: static; }
  .kvw-article-aside__actions { border-left: 1px solid rgba(16,46,43,.18); border-top: 0; margin: 0; padding: 0 0 0 24px; }
  .kvw-catalog-page .kvw-catalog-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 900px) {
  :root { --kvw-container: calc(100vw - 32px); }
  .admin-bar .kvw-site-header { top: 46px; }
  .kvw-site-header__inner { min-height: 62px; }
  .kvw-logo { font-size: 1.2rem; }
  .kvw-logo__mark { height: 27px; width: 44px; }
  .kvw-header-search { min-width: 205px; width: 34vw; }
  .kvw-header-icon-link { display: none; }
  .kvw-home-hero__grid { grid-template-columns: 1fr; }
  .kvw-home-hero__copy { padding: 8px 0; }
  .kvw-home-hero h1 { max-width: 690px; }
  .kvw-cat-canvas { min-height: 0; }
  .kvw-my-cats-panel { grid-template-columns: 1fr; }
  .kvw-my-cats-panel__profile, .kvw-current-food-row, .kvw-stock-row { min-height: initial; }
  .kvw-category-grid { grid-template-columns: repeat(2,1fr); }
  .kvw-product-card-grid, .kvw-catalog-grid { grid-template-columns: 1fr 1fr; }
  .kvw-home-account__card { grid-template-columns: 1fr; }
  .kvw-home-account__features { grid-template-columns: repeat(3,auto); justify-content: start; }
  .kvw-home-account__cta { justify-self: start; }
  .kvw-product-content__grid { grid-template-columns: 1fr; }
  .kvw-article-grid { grid-template-columns: 1fr 1fr; }
  .kvw-site-footer__grid { grid-template-columns: 1.5fr 1fr 1fr; }
  .kvw-site-footer__grid > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  :root { --kvw-container: calc(100vw - 24px); }
  .kvw-site-header__inner { gap: 10px; grid-template-columns: auto 1fr auto; }
  .kvw-logo { font-size: 1.05rem; gap: 7px; }
  .kvw-logo__mark { height: 24px; width: 39px; }
  .kvw-header-tools { min-width: 0; }
  .kvw-header-search { height: 36px; min-width: 0; width: min(42vw, 190px); }
  .kvw-header-search input { font-size: .875rem; padding-left: 12px; }
  .kvw-nav__list { grid-template-columns: 1fr 1fr; }
  .kvw-home-hero { padding: 24px 0 28px; }
  .kvw-home-hero h1 { font-size: clamp(2.65rem, 12vw, 4rem); }
  .kvw-home-hero h1 .kvw-title-line { white-space: normal; }
  .kvw-home-hero__lead { font-size: 1.04rem; }
  .kvw-home-hero__cta-row { align-items: stretch; display: grid; }
  .kvw-primary-cta { width: 100%; }
  .kvw-cat-canvas { min-height: 0; }
  .kvw-photo-callout { bottom: 9px; right: 9px; }
  .kvw-photo-callout small { display: none; }
  .kvw-my-cats-panel { padding: 10px; }
  .kvw-current-food-row { grid-template-columns: 62px 34px minmax(0,1fr) auto; }
  .kvw-stock-row { grid-template-columns: 30px minmax(0,1fr); }
  .kvw-stock-row button { grid-column: 1 / -1; width: 100%; }
  .kvw-section-heading { align-items: flex-end; }
  .kvw-section-heading--recommend > div { align-items: start; display: grid; gap: 2px; }
  .kvw-section-heading a { font-size: .86rem; }
  .kvw-category-section .kvw-section-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .kvw-category-grid { gap: 12px; }
  .kvw-product-card-grid, .kvw-catalog-grid { grid-template-columns: 1fr; }
  .kvw-product-card-grid .kvw-product-card:nth-child(3) { display: flex; }
  .kvw-product-card { min-height: 240px; }
  .kvw-product-card__main { grid-template-columns: 112px minmax(0,1fr); }
  .kvw-product-card__image img { height: 142px; }
  .kvw-product-card h3 { font-size: .92rem; }
  .kvw-product-card__reasons li { font-size: .82rem; }
  .kvw-product-card__footer { grid-template-columns: 1fr auto; }
  .kvw-home-account { padding: 28px 0; }
  .kvw-home-account__card { padding: 24px 20px; }
  .kvw-home-account__features { grid-template-columns: 1fr; }
  .kvw-home-account__cta { width: 100%; }
  .kvw-page-hero h1, .kvw-product-hero__info h1 { font-size: clamp(2.25rem, 12vw, 3.7rem); }
  .kvw-page-hero--catalog { padding: 18px 0 16px; }
  .kvw-page-hero--catalog h1 { font-size: 32px; }
  .kvw-page-hero--catalog p { font-size: 15px; }
  .kvw-main--catalog { padding-top: 14px; }
  .kvw-catalog-page .kvw-catalog-toolbar { margin-bottom: 15px; overflow: hidden; }
  .kvw-catalog-page .kvw-catalog-filters { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; width: 100%; }
  .kvw-catalog-page .kvw-catalog-filters::-webkit-scrollbar { display: none; }
  .kvw-catalog-page .kvw-filter-pill { flex: 0 0 auto; }
  .kvw-catalog-page .kvw-catalog-grid { gap: 16px; grid-template-columns: 1fr; }
  .kvw-article-header { padding: 24px 0 27px; }
  .kvw-article-header h1 { font-size: clamp(2.2rem, 10vw, 3.1rem); }
  .kvw-article-body { padding: 24px 0 48px; }
  .kvw-article-content { border-radius: 16px; padding: 22px 20px; }
  .kvw-article-aside { display: block; padding: 20px; }
  .kvw-article-aside__actions { border-left: 0; border-top: 1px solid rgba(16,46,43,.18); margin-top: 18px; padding: 16px 0 0; }
  .kvw-product-hero__grid { grid-template-columns: 1fr; }
  .kvw-product-hero__image { min-height: 300px; }
  .kvw-buy-card { grid-column: auto; }
  .kvw-nutrition-table { grid-template-columns: 1fr; }
  .kvw-article-grid { grid-template-columns: 1fr; }
  .kvw-site-footer__grid { grid-template-columns: 1fr 1fr; }
  .kvw-site-footer__brand { grid-column: 1 / -1; }
  .kvw-site-footer__grid > div:last-child { grid-column: auto; }
  .kvw-site-footer__bottom { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 430px) {
  .kvw-logo span { max-width: 205px; overflow: hidden; text-overflow: ellipsis; }
  .kvw-header-search { display: none; }
  .kvw-site-header__inner { grid-template-columns: 1fr auto; }
  .kvw-mobile-toggle { order: initial; }
  .kvw-header-tools { display: none; }
  .kvw-nav { grid-column: 1 / -1; }
  .kvw-nav__list { grid-template-columns: 1fr; }
  .kvw-cat-canvas { min-height: 290px; }
  .kvw-product-card__main { grid-template-columns: 92px minmax(0,1fr); }
  .kvw-product-card__image img { height: 120px; }
  .kvw-product-card__footer { align-items: stretch; grid-template-columns: 1fr; }
  .kvw-card-button { justify-content: center; width: 100%; }
  .kvw-site-footer__grid { grid-template-columns: 1fr; }
  .kvw-site-footer__brand, .kvw-site-footer__grid > div:last-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Catalogue 2.0 — filters follow the document; the product page is bounded. */
.kvw-catalog-page .kvw-page-hero__inner{padding-top:24px;padding-bottom:22px}
.kvw-catalog-page .kvw-page-hero h1{font-size:clamp(1.8rem,2.6vw,2.65rem);margin:6px 0 9px}
.kvw-catalog-page .kvw-page-hero p{font-size:1rem;max-width:850px;margin:0}
.kvw-catalog-page .kvw-main--catalog{padding-top:26px;padding-bottom:100px}
.kvw-catalog-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:26px;align-items:start}
.kvw-filter-panel{position:static;align-self:start;overflow:visible;max-height:none;height:auto;background:#f6f8f2;border:1px solid var(--kvw-border);border-radius:18px;padding:22px;min-width:0}
.kvw-filter-disclosure>summary{display:none}
.kvw-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--kvw-border)}
.kvw-filter-heading h2{font-size:1.3rem;margin:0}
.kvw-filter-heading a{color:var(--kvw-green);font-size:.94rem;font-weight:750}
.kvw-filter-field{display:grid;gap:8px;margin:0 0 20px;min-width:0;font-size:.94rem;font-weight:700}
.kvw-filter-field select,.kvw-filter-field input,.kvw-sort-form select{width:100%;min-width:0;min-height:46px;max-width:100%;font:inherit;font-size:1rem;font-weight:500;background:#fff;color:var(--kvw-ink);border:1px solid #c5d0c6;border-radius:10px;padding:11px 12px;box-sizing:border-box}
.kvw-filter-field option:disabled{color:#8b958f}
.kvw-more-filters{margin:0 0 22px}
.kvw-more-filters>summary{font-size:1rem;font-weight:760;cursor:pointer;padding:5px 0 14px}
.kvw-filter-note{color:#61716a;font-size:.87rem;line-height:1.6;margin:0 0 18px}
.kvw-filter-note a{color:var(--kvw-green)}
.kvw-filter-result-count{font-size:.91rem;font-weight:700;margin:6px 0 15px;line-height:1.5}
.kvw-filter-panel form>button{width:100%}
.kvw-catalog-results{min-width:0}
.kvw-catalog-page .kvw-catalog-toolbar{align-items:start;border:0;box-shadow:none;background:transparent;padding:0;margin:0 0 22px;gap:15px;border-radius:0;flex-wrap:nowrap}
.kvw-catalog-toolbar h2{font-size:1.55rem;margin:0 0 9px}
.kvw-catalog-toolbar p{font-size:.9rem;color:#64746c;max-width:660px;line-height:1.5;margin:0}
.kvw-sort-form{flex:0 0 235px}
.kvw-sort-form select{font-size:.95rem}
.kvw-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.kvw-active-filters a{background:#edf3e8;border:1px solid #d4dfcf;border-radius:9px;font-size:.85rem;padding:8px 10px;line-height:1.4;text-decoration:none;display:flex;gap:10px;align-items:center}
.kvw-active-filters a span{font-size:1.15rem}
.kvw-cost-explanation{background:#f0f4e7;border-left:3px solid #80a265;border-radius:7px;padding:14px 17px;margin:0 0 22px;line-height:1.6;font-size:.93rem}
.kvw-cost-explanation a{font-weight:650;color:var(--kvw-green)}
.kvw-catalog-page .kvw-catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.kvw-catalog-tile{display:flex;flex-direction:column;gap:8px;min-width:0}
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card{padding:20px 16px 16px;min-height:0;flex:1;box-shadow:0 2px 5px rgba(25,40,34,.035)}
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__main{display:flex;flex-direction:column;gap:14px}
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__image{min-height:190px;position:relative;margin-top:12px}
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__image img{height:190px;max-width:100%;width:100%;object-fit:contain}
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__brand{font-size:.84rem;color:var(--kvw-green);font-weight:730;margin:0 0 5px}
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card h3{font-size:1rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 8px;min-height:0}
.kvw-product-weight{font-size:.88rem;color:#6b786f;margin:0 0 10px}
.kvw-catalog-page .kvw-product-card__labels{display:none}
.kvw-catalog-page .kvw-product-card__reasons{display:none}
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__footer{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:17px;padding-top:14px}
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__price strong{font-size:1.3rem;line-height:1.25}
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__price>span{font-size:.87rem;color:var(--kvw-ink);margin:4px 0 0}
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__price small{font-size:.81rem;line-height:1.5;margin-top:5px;color:#6a786f}
.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__price .kvw-product-monthly{color:var(--kvw-green);font-weight:750;font-size:.94rem;margin:11px 0 5px}
.kvw-catalog-page .kvw-card-button{justify-content:space-between;border-radius:10px;width:100%}
.kvw-product-favorite{position:absolute;z-index:2;right:9px;top:8px;width:35px;height:35px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:var(--kvw-ink);font-size:1.65rem;line-height:1;cursor:pointer}
.kvw-product-favorite.is-favorite{color:#ad3858;background:#fcedf1}
.kvw-compare-check{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--kvw-border);border-radius:11px;padding:12px 6px;font-size:.88rem;font-weight:650;cursor:pointer;background:#fff}
.kvw-compare-check input{width:18px;height:18px;accent-color:var(--kvw-green);flex:0 0 18px}
.kvw-compare-floating{position:fixed;z-index:35;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));width:auto;background:transparent;border:0;padding:0;box-shadow:none}
.kvw-compare-floating[hidden]{display:none}
.kvw-compare-floating button{box-shadow:0 5px 18px rgba(10,40,25,.2);border-radius:12px;padding:0 20px;font-size:.94rem;min-height:48px}
.kvw-compare-floating button:disabled{opacity:.65;cursor:default}
.kvw-empty-suggestions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.kvw-comparison{background:#f5f8f1;border:1px solid var(--kvw-border);border-radius:18px;padding:22px;margin:0 0 30px;scroll-margin-top:110px}
.kvw-comparison-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}
.kvw-comparison-heading h2{font-size:1.4rem;margin:0}
.kvw-comparison-heading a{font-size:.9rem;font-weight:650}
.kvw-comparison-grid{display:grid;grid-template-columns:repeat(var(--compare-count,3),minmax(0,1fr));gap:20px}
.kvw-comparison-item{min-width:0;background:#fff;border:1px solid var(--kvw-border);border-radius:12px;padding:18px;display:flex;flex-direction:column}
.kvw-comparison-item>a:first-child{text-decoration:none}
.kvw-comparison-item img{height:160px;max-width:100%;object-fit:contain;display:block;margin:0 auto 14px}
.kvw-comparison-item h3{font-size:1rem;line-height:1.4;margin:0 0 12px;min-height:4.2em}
.kvw-comparison-item dl{margin:0 0 18px;flex:1}
.kvw-comparison-item dl>div{border-top:1px solid var(--kvw-border);padding:10px 0}
.kvw-comparison-item dt{font-size:.81rem;color:#67766e;margin-bottom:4px}
.kvw-comparison-item dd{font-size:.92rem;margin:0;font-weight:650;overflow-wrap:anywhere}
.kvw-comparison-item .kvw-button{padding:0 10px;font-size:.87rem}
@media(max-width:1350px) and (min-width:1001px){.kvw-catalog-layout{grid-template-columns:225px minmax(0,1fr);gap:22px}.kvw-filter-panel{padding:18px}.kvw-catalog-page .kvw-catalog-grid{gap:12px}.kvw-catalog-page .kvw-catalog-grid .kvw-product-card{padding:17px 11px 12px}.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__image img{height:165px}.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__image{min-height:165px}.kvw-catalog-page .kvw-catalog-grid .kvw-product-card h3{font-size:.93rem}.kvw-catalog-page .kvw-card-button{padding:0 9px;font-size:.8rem}.kvw-sort-form{flex-basis:210px}}
@media(max-width:1000px){.kvw-catalog-page .kvw-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kvw-catalog-layout{grid-template-columns:225px minmax(0,1fr);gap:20px}.kvw-filter-panel{padding:18px}.kvw-catalog-page .kvw-catalog-toolbar{flex-wrap:wrap}.kvw-sort-form{flex-basis:100%}}
@media(max-width:760px){.kvw-catalog-layout{grid-template-columns:minmax(0,1fr);gap:20px}.kvw-filter-panel{padding:0;border-radius:13px}.kvw-filter-disclosure>summary{display:list-item;cursor:pointer;padding:16px 20px;font-weight:750;font-size:1rem}.kvw-filter-disclosure>form{padding:0 20px 20px}.kvw-filter-heading{padding-top:10px;margin-bottom:18px}.kvw-catalog-page .kvw-page-hero__inner{padding-top:18px;padding-bottom:18px}.kvw-catalog-page .kvw-catalog-grid{gap:13px}.kvw-catalog-page .kvw-catalog-grid .kvw-product-card{padding:13px 12px;min-height:0}.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__image img{height:165px}.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__image{min-height:165px}.kvw-catalog-page .kvw-catalog-grid .kvw-product-card h3{font-size:.95rem}.kvw-catalog-page .kvw-catalog-toolbar{gap:12px;margin-bottom:18px}.kvw-catalog-toolbar h2{font-size:1.4rem}.kvw-sort-form select{max-width:none}.kvw-comparison{padding:16px}.kvw-comparison-grid{grid-template-columns:minmax(0,1fr)}.kvw-comparison-item h3{min-height:0}.kvw-comparison-heading{align-items:start}.kvw-compare-floating{right:14px;bottom:14px}.kvw-compare-floating button{min-height:44px;font-size:.87rem}.kvw-catalog-page .kvw-catalog-grid .kvw-card-button{font-size:.83rem;padding:0 10px}}
@media(max-width:390px){.kvw-catalog-page .kvw-catalog-grid{gap:9px}.kvw-catalog-page .kvw-catalog-grid .kvw-product-card{padding:12px 9px}.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__image img{height:140px}.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__image{min-height:140px}.kvw-catalog-page .kvw-catalog-grid .kvw-product-card h3{font-size:.89rem}.kvw-compare-check{font-size:.79rem;gap:6px}.kvw-catalog-page .kvw-catalog-grid .kvw-product-card__price strong{font-size:1.15rem}}
/* Keep the complete desktop navigation clear of the logo and search tools. */
@media(min-width:1351px){.kvw-site-header__inner{grid-template-columns:auto minmax(0,1fr) auto;gap:22px}.kvw-nav__list{gap:16px}.kvw-nav__list a{font-size:.94rem}.kvw-header-search{min-width:190px;width:clamp(190px,14vw,225px)}.kvw-header-tools{gap:12px}.kvw-header-icon-link span{display:none}}
.kvw-main--account{padding-top:26px;padding-bottom:38px}
.kvw-main--account .kvw-account-page{padding-top:0}
.kvw-main--account .kvw-account-shell{padding-top:0}

/* Other websites: keep long domain names inside the reading column. */
.kvw-other-websites .kvw-entry-card h3,
.kvw-other-websites .kvw-entry-card a { overflow-wrap: anywhere; }
