@font-face {
  font-family: Geist;
  src: url("/assets/fonts/geist-latin-ext-wght-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0100-02FF,U+1E00-1EFF;
}
@font-face {
  font-family: Geist;
  src: url("/assets/fonts/geist-latin-wght-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root {
  color-scheme: light;
  --kp-paper: #fbfcf9;
  --kp-surface: #fff;
  --kp-ink: #192820;
  --kp-muted: #55675d;
  --kp-line: #e0e8e0;
  --kp-accent: #185f46;
  --kp-button: #186248;
  --kp-button-hover: #104d37;
  --kp-on-button: #fff;
  --kp-tint: #eaf4ed;
  --kp-hover: #f0f5f0;
  --kp-hero: #e6f1e7;
  --kp-hero-title: #123b2b;
  --kp-hero-accent: #196549;
  --kp-hero-muted: #395448;
  --kp-search-bg: #fff;
  --kp-shadow: 0 2px 3px #1c332208, 0 10px 32px #29453308;
  --kp-focus: #20745a;
}
html[data-theme="dark"] {
  color-scheme: dark;
  --kp-paper: #111d18;
  --kp-surface: #192920;
  --kp-ink: #edf6ef;
  --kp-muted: #b2c5b9;
  --kp-line: #34493e;
  --kp-accent: #99dfb9;
  --kp-button: #a5e1bf;
  --kp-button-hover: #c2efcf;
  --kp-on-button: #113624;
  --kp-tint: #253d31;
  --kp-hover: #253a2f;
  --kp-hero: #1d3429;
  --kp-hero-title: #f1f9f1;
  --kp-hero-accent: #a5e6be;
  --kp-hero-muted: #c8dbce;
  --kp-search-bg: #22372c;
  --kp-shadow: 0 4px 24px #0002;
  --kp-focus: #a3e3bd;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-padding-top: 18px; }
.kp-body {
  margin: 0;
  font: 15px/1.5 Geist, Arial, sans-serif;
  color: var(--kp-ink);
  background: var(--kp-paper);
  -webkit-text-size-adjust: 100%;
}
.kp-body h1, .kp-body h2, .kp-body h3, .kp-body p { margin: 0; }
.kp-body a { color: inherit; text-decoration: none; }
.kp-body button, .kp-body input, .kp-body select, .kp-body textarea { font: inherit; color: inherit; }
.kp-body button, .kp-body summary { cursor: pointer; }
.kp-body :focus-visible { outline: 2px solid var(--kp-focus); outline-offset: 3px; }
.kp-body a, .kp-body button { -webkit-tap-highlight-color: transparent; }
.kp-body .kp-sr, .kp-skip:not(:focus) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.kp-skip:focus { position: fixed; top: 10px; left: 10px; z-index: 20; background: var(--kp-surface); padding: 10px; }
.kp-shell { width: min(1232px, calc(100% - 56px)); margin-inline: auto; }
.kp-i { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; vertical-align: middle; }
.kp-masthead { background: var(--kp-surface); border-bottom: 1px solid var(--kp-line); }
.kp-head { min-height: 73px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.kp-brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 810; font-size: 25px; letter-spacing: -.065em; line-height: 1.06; min-width: 0; }
.kp-brand > img { width: 38px; height: 38px; flex: 0 0 auto; display: block; }
.kp-brand b { color: var(--kp-accent); font-weight: 810; }
.kp-topnav, .kp-head-actions { display: flex; align-items: center; }
.kp-topnav { gap: clamp(16px, 2.2vw, 33px); font-size: 14px; font-weight: 630; }
.kp-topnav a { padding-block: 13px; white-space: nowrap; }
.kp-topnav a:hover, .kp-account:hover, .kp-footer nav a:hover { color: var(--kp-accent); }
.kp-head-actions { gap: 15px; }
.kp-account { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 650; white-space: nowrap; }
.kp-button, .kp-icon-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--kp-line); border-radius: 9px; font-weight: 680; min-height: 43px; padding: 9px 13px; background: var(--kp-surface); }
.kp-body button.kp-button, .kp-body button.kp-icon-button { font-weight: 680; }
.kp-body .kp-primary { background: var(--kp-button); border-color: var(--kp-button); color: var(--kp-on-button); white-space: nowrap; }
.kp-body .kp-primary:hover { background: var(--kp-button-hover); border-color: var(--kp-button-hover); }
.kp-icon-button { width: 42px; min-height: 42px; padding: 0; flex: 0 0 auto; }
.kp-icon-button:hover, .kp-button:hover { background: var(--kp-hover); }
.kp-theme { border-color: transparent; color: var(--kp-muted); }
.kp-theme-sun, [data-theme="dark"] .kp-theme-moon { display: none; }
[data-theme="dark"] .kp-theme-sun { display: inline-flex; }
.kp-hero {
  overflow: hidden;
  position: relative;
  isolation: isolate;
  margin-top: 24px;
  min-height: 287px;
  border: 1px solid #ccdfd0;
  border-radius: 20px;
  background-color: var(--kp-hero);
}
.kp-hero::before, .kp-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.kp-hero::before { left: 39%; background: url("/assets/images/kompas-hero.webp") 56% 57% / cover no-repeat; }
.kp-hero::after { background: linear-gradient(90deg, var(--kp-hero) 0%, var(--kp-hero) 39%, #e6f1e7c7 45%, #e6f1e700 68%); }
[data-theme="dark"] .kp-hero { border-color: var(--kp-line); }
[data-theme="dark"] .kp-hero::before { filter: brightness(.73) saturate(.83); }
[data-theme="dark"] .kp-hero::after { background: linear-gradient(90deg, var(--kp-hero) 0%, var(--kp-hero) 39%, #1d3429d2 46%, #1d342900 71%); }
.kp-hero-inner { padding: 29px 36px 26px; }
.kp-hero h1 { font-size: clamp(42px, 4.4vw, 66px); line-height: .99; font-weight: 790; letter-spacing: -.075em; color: var(--kp-hero-title); }
.kp-hero h1 > span { display: block; color: var(--kp-hero-accent); }
.kp-hero p { margin-top: 13px; color: var(--kp-hero-muted); font-size: clamp(14px, 1.5vw, 17px); font-weight: 540; }
.kp-search { width: min(660px, 77%); display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, .83fr) auto; gap: 5px; padding: 5px; margin-top: 17px; border: 1px solid var(--kp-line); border-radius: 13px; background: var(--kp-search-bg); box-shadow: 0 5px 20px #112f1b16; }
.kp-search label { min-width: 0; display: flex; align-items: center; padding-inline: 12px 3px; gap: 8px; color: var(--kp-accent); }
.kp-search-city { border-left: 1px solid var(--kp-line); }
.kp-search input { background: transparent; border: 0; width: 100%; min-width: 0; min-height: 39px; font-size: 16px; color: var(--kp-ink); padding: 3px 0; }
.kp-search input::placeholder { opacity: 1; color: var(--kp-muted); }
.kp-search button { min-height: 43px; padding-inline: 23px; }
.kp-suggestions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 12px; font-size: 12px; color: var(--kp-hero-muted); }
.kp-suggestions > span { font-weight: 650; margin-right: 3px; }
.kp-suggestions a { background: var(--kp-search-bg); border: 1px solid var(--kp-line); padding: 3px 9px; border-radius: 6px; color: var(--kp-ink); font-weight: 580; }
.kp-suggestions a:hover { color: var(--kp-accent); border-color: var(--kp-accent); }
.kp-category-section { margin-top: 24px; }
.kp-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 11px; min-width: 0; }
.kp-section-head h2 { font-size: clamp(22px, 2.4vw, 29px); line-height: 1.1; letter-spacing: -.05em; font-weight: 770; }
.kp-body .kp-text-link { display: inline-flex; align-items: center; gap: 6px; color: var(--kp-accent); font-size: 13px; font-weight: 690; }
.kp-text-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.kp-text-link .kp-i { width: 17px; height: 17px; }
.kp-categories { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 9px; }
.kp-category { min-height: 79px; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; padding: 7px 4px; border: 1px solid var(--kp-line); border-radius: 12px; background: var(--kp-surface); font-size: 12px; font-weight: 690; line-height: 1.2; transition: border-color .15s, transform .15s; }
.kp-category:hover { border-color: var(--kp-accent); transform: translateY(-2px); }
.kp-category-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; background: var(--cat-bg, #eaf5ed); color: var(--cat-ink, #246346); }
.kp-category-icon .kp-i { width: 21px; height: 21px; }
.kp-tone-clay { --cat-bg: #f9ebdf; --cat-ink: #9a4e31; }
.kp-tone-blue { --cat-bg: #e8f0f9; --cat-ink: #376084; }
.kp-tone-olive { --cat-bg: #edf1da; --cat-ink: #59703b; }
.kp-tone-sand { --cat-bg: #f7eedf; --cat-ink: #8d5d31; }
.kp-tone-green { --cat-bg: #e4f3eb; --cat-ink: #287056; }
.kp-tone-lilac { --cat-bg: #f0eaf9; --cat-ink: #73588e; }
.kp-tone-amber { --cat-bg: #f9efd9; --cat-ink: #8d611d; }
.kp-tone-rose { --cat-bg: #f7e9ec; --cat-ink: #91546b; }
[data-theme="dark"] .kp-category-icon { background: color-mix(in srgb, var(--cat-ink, #67bc8b) 32%, #21382c); color: var(--cat-bg, #eaf5ed); }
.kp-content { display: grid; grid-template-columns: minmax(0, 1fr) 306px; gap: 22px; margin-top: 27px; align-items: start; }
.kp-feed { min-width: 0; scroll-margin-top: 20px; }
.kp-feed-head { margin-bottom: 9px; }
.kp-feed-note { color: var(--kp-muted); font-size: 12px; margin-top: 4px !important; }
.kp-feed-note:empty { display: none; }
.kp-feed-all { white-space: nowrap; }
.kp-filters { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 13px; }
.kp-filters a { display: inline-flex; align-items: center; gap: 5px; background: var(--kp-surface); padding: 6px 10px; border: 1px solid var(--kp-line); border-radius: 7px; font-size: 12px; font-weight: 640; }
.kp-filters a:hover { border-color: var(--kp-accent); }
.kp-filters a[aria-current="true"] { border-color: color-mix(in srgb, var(--kp-accent) 30%, var(--kp-line)); color: var(--kp-accent); background: var(--kp-tint); }
.kp-filters .kp-i { width: 15px; height: 15px; }
.kp-listings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.kp-card { min-width: 0; position: relative; overflow: hidden; background: var(--kp-surface); border: 1px solid var(--kp-line); border-radius: 13px; box-shadow: var(--kp-shadow); }
.kp-card:hover { border-color: color-mix(in srgb, var(--kp-accent) 43%, var(--kp-line)); }
.kp-card-photo { position: relative; aspect-ratio: 1.59; display: block; overflow: hidden; background: var(--kp-tint); }
.kp-card-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kp-no-photo { position: absolute; inset: 0; display: grid; place-items: center; color: var(--kp-accent); }
.kp-no-photo .kp-i { width: 38px; height: 38px; }
.kp-card-favorite { position: absolute; top: 8px; right: 8px; background: var(--kp-surface); width: 36px; min-height: 36px; border-color: transparent; box-shadow: 0 2px 12px #101c2030; border-radius: 50%; }
.kp-card-favorite .kp-i { width: 18px; height: 18px; }
.kp-card-favorite[aria-pressed="true"] { color: var(--kp-accent); }
.kp-card-favorite[aria-pressed="true"] .kp-i { fill: currentColor; }
.kp-badges { position: absolute; inset: 9px 49px auto 8px; display: flex; gap: 4px; flex-wrap: wrap; }
.kp-badges span { border-radius: 5px; background: #fbf8ef; color: #74511a; font-size: 10px; font-weight: 750; padding: 3px 6px; }
.kp-badges .kp-drop { background: #e7f5e9; color: #15553b; }
.kp-card-body { padding: 11px 12px 12px; }
.kp-card-category { color: var(--kp-muted); font-size: 11px; font-weight: 610; }
.kp-card h3 { margin-top: 2px; font-size: 15px; line-height: 1.25; letter-spacing: -.025em; overflow-wrap: anywhere; }
.kp-card h3 a:hover { color: var(--kp-accent); }
.kp-card-price { color: var(--kp-accent); display: inline-block; margin-top: 6px; font-weight: 790; font-size: 19px; letter-spacing: -.035em; }
.kp-card-before { margin-left: 4px; font-size: 11px; color: var(--kp-muted); }
.kp-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 7px; font-size: 11px; color: var(--kp-muted); margin-top: 5px; }
.kp-card-meta span:first-child { display: inline-flex; align-items: center; min-width: 0; gap: 3px; overflow-wrap: anywhere; }
.kp-card-meta .kp-i { width: 14px; height: 14px; }
.kp-card-meta time { white-space: nowrap; }
.kp-widgets { display: grid; gap: 12px; min-width: 0; }
.kp-panel { min-width: 0; background: var(--kp-surface); border: 1px solid var(--kp-line); border-radius: 13px; padding: 13px; box-shadow: var(--kp-shadow); }
.kp-local { background: var(--kp-tint); border-color: color-mix(in srgb, var(--kp-accent) 15%, var(--kp-line)); }
.kp-widget-heading { display: flex; align-items: center; gap: 10px; }
.kp-widget-heading h2 { font-size: 17px; font-weight: 770; letter-spacing: -.045em; line-height: 1.12; }
.kp-widget-heading p { font-size: 12px; color: var(--kp-muted); margin-top: 3px; overflow-wrap: anywhere; }
.kp-widget-icon { width: 38px; height: 38px; border-radius: 9px; display: grid; place-items: center; flex: 0 0 auto; background: var(--kp-surface); color: var(--kp-accent); }
.kp-widget-icon .kp-i { width: 22px; height: 22px; }
.kp-wanted-icon { background: #f6eedd; color: #896025; }
.kp-guide-icon { background: var(--kp-tint); }
.kp-widget-arrow { border-color: transparent; margin-left: auto; width: 32px; min-height: 32px; color: var(--kp-accent); }
.kp-body .kp-local-button { margin-top: 11px; display: flex; justify-content: flex-start; color: var(--kp-accent); min-height: 38px; width: 100%; font-size: 12px; gap: 6px; padding: 7px 9px; }
.kp-local-button .kp-i { width: 16px; height: 16px; }
.kp-local-button .kp-i:last-child { margin-left: auto; }
.kp-wanted-items { margin-top: 9px; }
.kp-wanted-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; align-items: center; border-bottom: 1px solid var(--kp-line); padding: 8px 0; font-size: 12px; }
.kp-wanted-row:hover strong { color: var(--kp-accent); }
.kp-wanted-row small { display: block; font-size: 11px; color: var(--kp-muted); }
.kp-wanted-row strong { display: block; overflow-wrap: anywhere; }
.kp-wanted-row b { text-align: right; font-size: 11px; color: var(--kp-accent); }
.kp-wanted-action { margin-top: 10px; }
.kp-wanted-empty { color: var(--kp-muted); font-size: 12px; padding: 3px 0; }
.kp-guide > a { display: flex; align-items: center; justify-content: space-between; font-size: 12px; font-weight: 630; padding: 7px 0 0; color: var(--kp-accent); }
.kp-guide > a:hover { text-decoration: underline; }
.kp-guide > a .kp-i { width: 15px; height: 15px; }
.kp-empty { grid-column: 1/-1; border: 1px dashed var(--kp-line); background: var(--kp-surface); border-radius: 13px; min-height: 185px; padding: 22px; display: grid; justify-items: start; align-content: center; gap: 8px; }
.kp-empty > p { color: var(--kp-muted); }
.kp-empty > h3 { font-size: 18px; }
.kp-bottom { margin-top: 18px; }
.kp-all-details { border-top: 1px solid var(--kp-line); padding-top: 10px; }
.kp-all-details summary { display: flex; align-items: center; gap: 7px; width: fit-content; font-size: 13px; color: var(--kp-muted); list-style: none; }
.kp-all-details summary::-webkit-details-marker { display: none; }
.kp-all-details summary .kp-i { width: 15px; height: 15px; }
.kp-all-details[open] summary .kp-i { transform: rotate(90deg); }
.kp-all-categories { display: grid; grid-template-columns: repeat(4,minmax(0, 1fr)); gap: 7px; margin: 12px 0 0; }
.kp-all-categories a { display: flex; align-items: center; gap: 7px; padding: 9px; border: 1px solid var(--kp-line); border-radius: 8px; min-width: 0; font-weight: 630; font-size: 12px; }
.kp-all-categories a:hover { color: var(--kp-accent); border-color: var(--kp-accent); }
.kp-all-categories a .kp-i { width: 16px; height: 16px; color: var(--kp-accent); }
.kp-footer { margin-top: 28px; border-top: 1px solid var(--kp-line); background: var(--kp-surface); }
.kp-footer-inner { display: flex; align-items: center; gap: 16px; min-height: 68px; }
.kp-footer .kp-brand { font-size: 20px; }
.kp-footer .kp-brand > img { width: 29px; height: 29px; }
.kp-footer small { color: var(--kp-muted); }
.kp-footer nav { margin-left: auto; display: flex; gap: 17px; flex-wrap: wrap; color: var(--kp-muted); font-size: 12px; }
.kp-mobile { display: none; }
.kp-dialog { color: var(--kp-ink); background: var(--kp-surface); border: 1px solid var(--kp-line); border-radius: 16px; width: min(720px,calc(100% - 24px)); max-height: 88dvh; padding: 18px; box-shadow: 0 18px 70px #0004; }
.kp-dialog-small { width: min(440px,calc(100% - 24px)); }
.kp-dialog::backdrop { background: #111e18a8; }
.kp-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.kp-dialog h2 { font-size: 22px; letter-spacing: -.04em; }
.kp-dialog p { color: var(--kp-muted); margin-bottom: 8px; }
.kp-location-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; margin-top: 12px; max-width: 420px; }
.kp-location-form label { display: flex; min-width: 0; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 650; }
.kp-location-form input, .kp-location-form select, .kp-preview-form input, .kp-preview-form select { width: 100%; min-width: 0; min-height: 41px; padding: 7px; border: 1px solid var(--kp-line); border-radius: 8px; background: var(--kp-paper); font-size: 16px; }
.kp-location-form .kp-primary { grid-column: 1/-1; justify-self: start; }
.kp-preview-image { max-height: 320px; width: 100%; object-fit: contain; background: var(--kp-tint); border-radius: 10px; }
.kp-preview-detail-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 14px; align-items: start; }
.kp-preview-detail-grid h3 { font-size: 17px; }
.kp-preview-detail-grid .kp-panel { margin-bottom: 8px; }
.kp-preview-form { display: grid; gap: 8px; margin-top: 10px; }
.kp-preview-form label { display: grid; gap: 3px; font-weight: 620; }
.kp-preview-form button { justify-self: start; }
.kp-preview-link { display: block; color: var(--kp-accent) !important; text-decoration: underline !important; font-weight: 650; }
.kp-toast:not(:empty) { position: fixed; z-index: 10; bottom: 19px; left: 50%; transform: translateX(-50%); width: max-content; max-width: calc(100% - 28px); color: var(--kp-on-button); background: var(--kp-button); border-radius: 9px; padding: 9px 14px; box-shadow: 0 6px 24px #0003; font-size: 13px; }
@media (max-width: 1080px) {
  .kp-head { gap: 14px; }
  .kp-head-actions { gap: 8px; }
  .kp-topnav { gap: 15px; }
  .kp-content { grid-template-columns: minmax(0, 1fr) 255px; gap: 15px; }
}
@media (max-width: 890px) {
  .kp-head { flex-wrap: wrap; row-gap: 2px; padding-top: 9px; min-height: 0; }
  .kp-head-actions { margin-left: auto; }
  .kp-topnav { order: 3; flex: 1 0 100%; gap: 22px; }
  .kp-topnav a { padding-block: 8px; }
  .kp-hero-inner { padding-inline: 25px; }
  .kp-hero { min-height: 255px; }
  .kp-hero::before { left: 38%; }
  .kp-content { grid-template-columns: minmax(0, 1fr) 225px; }
  .kp-listings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kp-category { font-size: 11px; }
}
@media (max-width: 690px) {
  .kp-shell { width: calc(100% - 26px); }
  .kp-head { padding-top: 7px; }
  .kp-brand { font-size: 23px; gap: 6px; }
  .kp-brand > img { width: 33px; height: 33px; }
  .kp-account > span { display: none; }
  .kp-account { width: 36px; min-height: 39px; justify-content: center; }
  .kp-head-actions { gap: 2px; }
  .kp-head .kp-theme { width: 37px; min-height: 39px; }
  .kp-post { display: none; }
  .kp-topnav { gap: 16px; justify-content: space-between; font-size: 12px; }
  .kp-hero { margin-top: 12px; min-height: 0; border-radius: 14px; }
  .kp-hero-inner { padding: 17px 13px 12px; }
  .kp-hero h1 { font-size: clamp(35px,9.1vw,48px); }
  .kp-hero p { font-size: 13px; max-width: 65%; line-height: 1.35; margin-top: 8px; }
  .kp-hero::before { left: 34%; bottom: 52px; background-position: 62% 55%; }
  .kp-hero::after { background: linear-gradient(0deg,var(--kp-hero) 4%,transparent 52%),linear-gradient(90deg,var(--kp-hero) 0%,var(--kp-hero) 32%,#e6f1e79c 58%,#e6f1e71a 100%); }
  [data-theme="dark"] .kp-hero::after { background: linear-gradient(0deg,var(--kp-hero) 4%,transparent 52%),linear-gradient(90deg,var(--kp-hero) 0%,var(--kp-hero) 32%,#1d3429a0 58%,#1d342935 100%); }
  .kp-search { width: 100%; margin-top: 13px; grid-template-columns: minmax(0, 1.45fr) minmax(0, .84fr) auto; gap: 3px; }
  .kp-search label { padding-left: 4px; gap: 3px; }
  .kp-search label .kp-i { width: 15px; height: 15px; }
  .kp-search input { text-overflow: ellipsis; }
  .kp-search button { padding-inline: 10px; min-height: 39px; font-size: 13px; }
  .kp-suggestions { gap: 5px; margin-top: 8px; font-size: 10px; }
  .kp-suggestions a { padding: 3px 5px; }
  .kp-category-section { margin-top: 17px; }
  .kp-section-head { margin-bottom: 8px; }
  .kp-section-head h2 { font-size: 22px; }
  .kp-body .kp-text-link { font-size: 11px; gap: 3px; }
  .kp-text-link .kp-i { width: 14px; height: 14px; }
  .kp-categories { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }
  .kp-category { min-height: 67px; gap: 4px; }
  .kp-category-icon { width: 31px; height: 31px; }
  .kp-category-icon .kp-i { width: 18px; height: 18px; }
  .kp-content { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 18px; }
  .kp-widgets { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .kp-local, .kp-wanted { grid-column: 1/-1; }
  .kp-guide { grid-column: 1/-1; }
  .kp-listings { gap: 7px; }
  .kp-card-body { padding: 8px; }
  .kp-card h3 { font-size: 14px; }
  .kp-card-price { font-size: 17px; }
  .kp-card-meta { gap: 4px; font-size: 10px; }
  .kp-card-meta .kp-i { width: 12px; height: 12px; }
  .kp-card-favorite { width: 31px; min-height: 31px; top: 5px; right: 5px; }
  .kp-card-favorite .kp-i { width: 16px; height: 16px; }
  .kp-all-categories { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kp-footer { padding-bottom: calc(63px + env(safe-area-inset-bottom)); }
  .kp-footer-inner { flex-wrap: wrap; justify-content: space-between; gap: 9px; padding-block: 12px; }
  .kp-footer nav { margin: 0; flex: 1 0 100%; }
  .kp-mobile { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); position: fixed; z-index: 5; left: 0; right: 0; bottom: 0; padding: 6px 4px max(6px,env(safe-area-inset-bottom)); background: var(--kp-surface); border-top: 1px solid var(--kp-line); }
  .kp-mobile a { min-height: 42px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 3px; color: var(--kp-muted); font-size: 10px; font-weight: 660; }
  .kp-mobile .kp-mobile-post { color: var(--kp-accent); }
  .kp-mobile-post .kp-i { padding: 4px; width: 28px; height: 28px; border-radius: 8px; background: var(--kp-button); color: var(--kp-on-button); margin-top: -6px; }
  .kp-toast:not(:empty) { bottom: calc(64px + env(safe-area-inset-bottom)); }
}
@media (max-width: 460px) {
  .kp-preview-detail-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 345px) {
  .kp-shell { width: calc(100% - 20px); }
  .kp-search-city .kp-i { display: none; }
  .kp-search button { padding-inline: 7px; }
  .kp-section-head h2 { font-size: 20px; }
  .kp-filters a { padding-inline: 6px; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto !important; transition: none !important; } }
