/* IN Platform 0.3.7 / shared shell 0.4.3.
 * The existing dock is one page footer, not a second floating navigation.
 * Layout declarations are layered so late legacy CSS cannot move it again.
 * No gallery nodes, slides, zoom, gestures, form values or click handlers change.
 */
:root {
  --krs-safe-top: env(safe-area-inset-top, 0px);
  --krs-safe-bottom: env(safe-area-inset-bottom, 0px);
  --krs-safe-left: env(safe-area-inset-left, 0px);
  --krs-safe-right: env(safe-area-inset-right, 0px);
  --krs-vv-height: 100dvh;
  --krs-vv-top: 0px;
  --krs-keyboard: 0px;
  --krs-admin-height: 0px;
  --krs-top-height: 0px;
  --krs-dock-height: 0px;
  --krs-dock-effective: 0px;
  --krs-dock-gap: 0px;
  --krs-dock-row-size: 52px;
}
/* The native host's SafeAreaView already owns OS insets. */
:root.krs-native { --krs-safe-top: 0px; --krs-safe-bottom: 0px; --krs-safe-left: 0px; --krs-safe-right: 0px; }
@layer in-platform-mobile-navigation {
  body .kia-mobile-dock[data-krs-duplicate] { display: none !important; }
  :root.krs-ready.krs-mobile.krs-has-dock { scroll-padding-bottom: calc(var(--krs-dock-height) + 16px) !important; }
  :root.krs-ready.krs-mobile.krs-has-dock body { padding-bottom: calc(var(--krs-dock-height) + 12px) !important; }
  /* Remove only the old IN body clearance when this page has no actual dock. */
  :root.krs-ready.krs-mobile:not(.krs-has-dock) body.in-unified-ui { padding-bottom: 0 !important; }
  :root.krs-ready.krs-mobile.krs-has-dock :is(#stm_sell_a_car_form,#kia-seller-cabinet,#krist-in-chat) :is(input,textarea,select,button) { scroll-margin-bottom: calc(var(--krs-dock-effective) + 16px); }
  :root.krs-ready.krs-mobile body #in-section-bar[data-krs-top] {
    position: fixed !important;
    inset: calc(var(--krs-vv-top) + var(--krs-safe-top) + var(--krs-admin-height)) 0 auto !important;
    width: auto !important; max-width: none !important; min-height: 52px !important;
    margin: 0 !important; padding: 5px max(8px,var(--krs-safe-right)) 5px max(8px,var(--krs-safe-left)) !important;
    display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    align-items: stretch !important; gap: 4px !important;
    transform: none !important; opacity: 1 !important; visibility: visible !important;
    background: #fff !important; border: 0 !important; border-bottom: 1px solid #e7e9ed !important;
    border-radius: 0 !important; box-shadow: none !important;
    z-index: 100151 !important; box-sizing: border-box !important;
  }
  :root.krs-ready.krs-mobile #in-section-space { height: calc(var(--krs-top-height) + var(--krs-safe-top)) !important; }
  :root.krs-ready.krs-mobile body #in-section-bar[data-krs-top] > a {
    min-width: 0 !important; min-height: 42px !important; display: flex !important;
    align-items: center !important; justify-content: center !important;
    padding: 6px 3px !important; margin: 0 !important;
    font-size: clamp(11px,2.9vw,14px) !important; line-height: 1.2 !important;
    text-align: center !important; text-decoration: none !important; white-space: normal !important;
  }
  :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] {
    position: fixed !important; inset: auto 0 0 !important;
    width: 100% !important; max-width: none !important;
    height: calc(var(--krs-dock-row-size) + var(--krs-safe-bottom)) !important; min-height: 0 !important;
    margin: 0 !important; padding: 4px max(6px,var(--krs-safe-right)) calc(4px + var(--krs-safe-bottom)) max(6px,var(--krs-safe-left)) !important;
    display: grid !important; grid-template-columns: repeat(5,minmax(0,1fr)) !important;
    align-items: center !important; gap: 2px !important;
    transform: none !important; opacity: 1 !important; visibility: visible !important;
    border-radius: 0 !important; border: 0 !important; border-top: 1px solid var(--in-button-border,#E6D8A2) !important;
    background: rgb(255 253 246 / 97%) !important; box-shadow: none !important;
    backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
    z-index: 100152 !important; box-sizing: border-box !important;
    isolation: isolate; overflow-anchor: none;
  }
  :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] > :is(a,button) {
    position: relative !important; min-width: 0 !important; width: 100% !important;
    height: 52px !important; min-height: 48px !important; margin: 0 !important; padding: 2px !important;
    display: grid !important; grid-template-rows: 30px 14px !important;
    align-content: center !important; align-items: center !important; justify-items: center !important; gap: 2px !important;
    border: 1px solid transparent !important; background: transparent !important;
    color: var(--in-button-text,#3D3524) !important; -webkit-text-fill-color: currentColor !important;
    transform: none !important; box-shadow: none !important; border-radius: 10px !important;
    box-sizing: border-box !important; text-decoration: none !important;
    touch-action: manipulation !important; -webkit-tap-highlight-color: transparent;
  }
  :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] > :is(a,button)[aria-current="page"] {
    background: var(--in-button-bg,#F6EFCF) !important; border-color: var(--in-button-border,#E6D8A2) !important;
  }
  :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] > :is(a,button):active {
    background: var(--in-button-active,#E8D9A5) !important; transform: none !important;
  }
  :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] > :is(a,button):focus-visible {
    outline: 2px solid var(--in-button-focus,#84713F) !important; outline-offset: -2px !important;
  }
  :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] > :is(a,button) > span {
    display: grid !important; place-items: center !important; width: 30px !important; height: 30px !important;
    margin: 0 !important; padding: 0 !important; line-height: 1 !important; transform: none !important;
  }
  :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] > :is(a,button) > span > :is(svg,img) {
    width: 24px !important; height: 24px !important; max-width: 100% !important; object-fit: cover;
  }
  :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] small {
    display: block !important; color: inherit !important; -webkit-text-fill-color: currentColor !important;
    font-size: 10px !important; line-height: 14px !important; max-width: 100% !important;
    white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
  }
  :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] > [aria-current="page"] small { font-weight: 800 !important; }
  :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] .kia-mobile-dock-create > span {
    background: var(--in-button-bg,#F6EFCF) !important; color: var(--in-button-text,#3D3524) !important;
    border: 1px solid var(--in-button-border,#E6D8A2) !important; box-shadow: none !important; border-radius: 9px !important;
  }
  /* The badge is never reset or rebuilt. Its own module still controls counts. */
  :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] :is(.in-message-alert-badge,[data-in-notification-badge]) {
    position: absolute !important; top: 0 !important; right: max(2px,calc(50% - 24px)) !important;
    width: auto !important; min-width: 16px !important; max-width: 50% !important;
    height: 16px !important; min-height: 0 !important; padding: 1px 4px !important; margin: 0 !important;
    font-size: 10px !important; line-height: 14px !important; border-radius: 8px !important;
    box-sizing: border-box !important; pointer-events: none;
  }
  :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] :is(svg,small,span,img) { pointer-events: none; }
  /* Hide, but do not collapse: the page's scroll position and footer space stay. */
  :root.krs-ready.krs-mobile body :is(.kia-mobile-dock[data-krs-dock],#in-section-bar[data-krs-top])[data-krs-suspended],
  :root.krs-media-open.krs-mobile body :is(.kia-mobile-dock,#in-section-bar),
  :root.krs-keyboard-open.krs-mobile body .kia-mobile-dock,
  body.lg-on :is(.kia-mobile-dock,#in-section-bar),
  :root.in-content-open body :is(.kia-mobile-dock,#in-section-bar),
  :root.in-reel-open body :is(.kia-mobile-dock,#in-section-bar),
  :root.in-video-open body :is(.kia-mobile-dock,#in-section-bar) {
    opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; transition: none !important;
  }
  :root.krs-ready.krs-mobile.krs-chat-open,
  :root.krs-ready.krs-mobile.krs-chat-open body { overflow: hidden !important; overscroll-behavior: none; }
  #krist-mobile-chat-slot[hidden] { display: none !important; }
  :root.krs-ready.krs-mobile body #krist-mobile-chat-slot:not([hidden]) {
    position: fixed !important;
    inset: calc(var(--krs-vv-top) + var(--krs-safe-top) + var(--krs-admin-height) + var(--krs-top-height)) 0 auto !important;
    width: auto !important; max-width: none !important; min-height: 0 !important;
    height: max(0px,calc(var(--krs-vv-height) - var(--krs-top-height) - var(--krs-admin-height) - var(--krs-safe-top) - var(--krs-dock-effective))) !important;
    padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important;
    background: #fff !important; overflow: hidden !important; z-index: 100150 !important; box-sizing: border-box !important;
  }
  :root.krs-ready.krs-mobile body #krist-mobile-chat-slot #krist-in-chat[data-krs-chat][open] {
    position: relative !important; inset: auto !important; width: 100% !important; height: 100% !important;
    max-width: none !important; max-height: none !important; min-height: 0 !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
    transform: none !important; box-shadow: none !important; overflow: hidden !important;
  }
  :root.krs-ready.krs-mobile body #krist-mobile-chat-slot #krist-in-chat .kic-chat-composer { padding-bottom: 10px !important; }
  :root.krs-ready.krs-mobile body #krist-mobile-chat-slot #krist-in-chat :is(.kic-chat-log,.kic-chat-sidebar,.kic-chat-center-panel) { min-height: 0 !important; overscroll-behavior: contain !important; }
  @media (max-width:1023px) {
    /* Initial server-rendered dock already sits on the bottom edge, before JS. */
    :root:not(.krs-ready) body .kia-mobile-dock[data-in-mobile-dock] {
      position: fixed !important; inset: auto 0 0 !important; width: 100% !important; max-width: none !important;
      box-sizing: border-box !important; height: calc(52px + var(--krs-safe-bottom)) !important;
      padding: 4px 6px calc(4px + var(--krs-safe-bottom)) !important; margin: 0 !important;
      border-radius: 0 !important; box-shadow: none !important; transform: none !important;
    }
  }
  @media (max-height:500px) {
    :root.krs-ready.krs-mobile body #krist-mobile-chat-slot #krist-in-chat[open] { grid-template-rows: 40px minmax(0,1fr) !important; }
    :root.krs-ready.krs-mobile body #krist-mobile-chat-slot #krist-in-chat.has-center-tabs[open] { grid-template-rows: 40px auto minmax(0,1fr) !important; }
    :root.krs-ready.krs-mobile body #krist-mobile-chat-slot #krist-in-chat :is(.kic-chat-top,.kic-chat-heading) { height: 40px !important; min-height: 40px !important; padding-block: 3px !important; }
  }
  @media (forced-colors:active) {
    :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] { background: Canvas !important; border-color: CanvasText !important; }
    :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] > :is(a,button) { color: ButtonText !important; }
    :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] > [aria-current="page"] { background: Highlight !important; color: HighlightText !important; border-color: Highlight !important; forced-color-adjust: none; }
    :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] .kia-mobile-dock-create > span { background: ButtonFace !important; color: ButtonText !important; border-color: ButtonText !important; }
  }
  @media (prefers-reduced-motion:reduce) {
    :root.krs-ready :is(#in-section-bar,.kia-mobile-dock,#krist-mobile-chat-slot) { transition: none !important; scroll-behavior: auto !important; }
  }
}

/* Empty Services must never fall back to the mixed feed or show car cards. */
:root.krs-services [data-kia-discovery-feed][data-feed-context="home"] [data-kia-feed-item]:not([data-kia-feed-type="service"]),
body.krs-services-route [data-kia-discovery-feed][data-feed-context="home"] [data-kia-feed-item]:not([data-kia-feed-type="service"]),
[data-kia-discovery-feed][data-krs-services] [data-kia-feed-item]:not([data-kia-feed-type="service"]) { display: none !important; }
[data-krs-service-status] { margin: 12px 0 !important; padding: 18px !important; border: 1px solid #e7e9ed; border-radius: 12px; background: #fff; color: #647080; font: 400 14px/1.5 system-ui,sans-serif; }
[data-krs-service-status][hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) {
  :root.krs-ready :is(#in-section-bar,.kia-mobile-dock,#krist-mobile-chat-slot) { transition: none !important; scroll-behavior: auto !important; }
}


/* Services route is a real catalog, not a filtered copy of the mixed discovery feed. */
.krs-service-market { width:min(1180px,100%); margin:0 auto 24px; padding:0 12px 32px; box-sizing:border-box; }
.krs-service-market-inner { display:grid; gap:14px; }
.krs-service-market-head { display:flex; align-items:end; justify-content:space-between; gap:14px; padding:18px 2px 2px; }
.krs-service-market-head h2 { margin:0!important; color:#111; font:800 clamp(22px,3vw,30px)/1.15 system-ui,-apple-system,sans-serif!important; letter-spacing:-.025em; }
.krs-service-market-head p { margin:5px 0 0; color:#737373; font:400 13px/1.4 system-ui,-apple-system,sans-serif; }
.krs-service-add,.krs-service-filter-button,.krs-service-more { min-height:42px; padding:9px 15px; border:1px solid #0a0a0a; border-radius:12px; background:#0a0a0a; color:#fff; font:700 12px/1.2 system-ui,-apple-system,sans-serif; cursor:pointer; }
.krs-service-filters { display:grid; grid-template-columns:minmax(180px,1.7fr) minmax(140px,1fr) minmax(110px,.7fr) minmax(110px,.7fr) minmax(150px,.9fr) auto auto; gap:8px; align-items:end; padding:12px; border:1px solid #e6e6e6; border-radius:16px; background:#fff; }
.krs-service-filters :is(input,select) { width:100%; min-height:42px; padding:9px 11px; border:1px solid #dbdbdb; border-radius:10px; background:#fff; color:#111; font:500 13px/1.2 system-ui,-apple-system,sans-serif; outline:none; box-sizing:border-box; }
.krs-service-filters :is(input,select):focus { border-color:#8e8e8e; box-shadow:0 0 0 2px rgb(0 0 0 / 5%); }
.krs-service-reset { min-height:42px; padding:9px 12px; border:0; border-radius:10px; background:#f4f4f4; color:#262626; font:700 12px/1.2 system-ui,-apple-system,sans-serif; cursor:pointer; }
.krs-service-result { margin:0!important; min-height:21px; color:#737373; font:500 12px/1.4 system-ui,-apple-system,sans-serif; }
.krs-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.krs-service-card { display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid #e6e6e6; border-radius:16px; background:#fff; box-shadow:0 2px 10px rgb(0 0 0 / 3%); }
.krs-service-card-head { display:flex; align-items:center; gap:9px; padding:12px 13px 10px; border-bottom:1px solid #efefef; }
.krs-service-avatar { flex:0 0 38px; width:38px; height:38px; border-radius:50%; object-fit:cover; background:#f2f2f2; }
.krs-service-author { display:grid; min-width:0; gap:2px; }
.krs-service-author strong { overflow:hidden; color:#111; font:700 12px/1.25 system-ui,-apple-system,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.krs-service-author span { color:#8e8e8e; font:500 10px/1.25 system-ui,-apple-system,sans-serif; }
.krs-service-card-body { display:grid; align-content:start; gap:8px; flex:1; padding:13px; }
.krs-service-card-body h3 { margin:0!important; color:#111!important; font:800 17px/1.25 system-ui,-apple-system,sans-serif!important; letter-spacing:-.015em; }
.krs-service-card-body p { display:-webkit-box; margin:0!important; overflow:hidden; color:#4a4a4a; font:400 13px/1.48 system-ui,-apple-system,sans-serif; -webkit-line-clamp:4; -webkit-box-orient:vertical; }
.krs-service-price { margin-top:auto; color:#111; font:800 14px/1.3 system-ui,-apple-system,sans-serif; }
.krs-service-card-actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; padding:0 13px 13px; }
.krs-service-card-actions a { display:flex; align-items:center; justify-content:center; min-height:40px; padding:8px 10px; border-radius:10px; font:700 12px/1.2 system-ui,-apple-system,sans-serif; text-decoration:none!important; }
.krs-service-secondary { border:1px solid #dbdbdb; background:#fff; color:#262626!important; }
.krs-service-primary { border:1px solid #0a0a0a; background:#0a0a0a; color:#fff!important; }
.krs-service-more { justify-self:center; margin-top:2px; }
.krs-service-more[hidden] { display:none!important; }
@media (max-width:900px) {
  .krs-service-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .krs-service-search { grid-column:1/-1; }
  .krs-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .krs-service-market { padding-inline:10px; }
  .krs-service-market-head { align-items:center; padding-top:12px; }
  .krs-service-market-head p { display:none; }
  .krs-service-add { padding-inline:11px; }
  .krs-service-filters { grid-template-columns:1fr 1fr; gap:7px; padding:9px; border-radius:14px; }
  .krs-service-filters [name="sort"] { grid-column:1/-1; }
  .krs-service-filter-button,.krs-service-reset { width:100%; }
  .krs-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .krs-service-card { border-radius:13px; }
  .krs-service-card-head { padding:9px; }
  .krs-service-avatar { width:32px; height:32px; flex-basis:32px; }
  .krs-service-card-body { padding:10px; gap:6px; }
  .krs-service-card-body h3 { font-size:14px!important; }
  .krs-service-card-body p { font-size:11.5px; -webkit-line-clamp:3; }
  .krs-service-price { font-size:12px; }
  .krs-service-card-actions { grid-template-columns:1fr; padding:0 10px 10px; }
  .krs-service-card-actions a { min-height:36px; font-size:11px; }
}

/* 0.3.11: compact icon-only navigation. Text remains available to assistive technology. */
@layer in-platform-mobile-navigation {
 @media (max-width:1023px) {
  :root body .kia-mobile-dock[data-in-mobile-dock] {
   display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
   height:calc(52px + var(--krs-safe-bottom))!important;
   padding:4px max(8px,var(--krs-safe-right)) calc(4px + var(--krs-safe-bottom)) max(8px,var(--krs-safe-left))!important;
  }
 }
 :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock]>:is(a,button) {
  height:44px!important;min-height:44px!important;grid-template-rows:1fr!important;gap:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;
 }
 :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] small {
  position:absolute!important;width:1px!important;height:1px!important;max-width:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;
 }
 :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] {
  background:rgba(255,255,255,.97)!important;border-top:1px solid rgba(40,44,42,.10)!important;
 }
 :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock]>:is(a,button)[aria-current="page"] {
  background:transparent!important;border-color:transparent!important;
 }
 :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] .kia-mobile-dock-create>span {
  background:transparent!important;border:0!important;border-radius:0!important;
 }
 :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] [aria-current="page"] svg {stroke-width:2.4!important}
 @media (forced-colors:active) {
  :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock] {background:Canvas!important;border-color:CanvasText!important}
  :root.krs-ready.krs-mobile body .kia-mobile-dock[data-krs-dock]>:is(a,button)[aria-current="page"] {outline:2px solid Highlight!important;outline-offset:-3px!important}
 }
}

/* Match the same compact geometry before the deferred shell initializes. */
@layer in-platform-mobile-navigation {
 @media (max-width:1023px) {
  :root:not(.krs-ready) body .kia-mobile-dock[data-in-mobile-dock]>:is(a,button) {
   position:relative!important;display:grid!important;place-items:center!important;
   grid-template-rows:1fr!important;width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important;
   margin:0!important;padding:2px!important;border:0!important;background:transparent!important;box-shadow:none!important;
  }
  :root:not(.krs-ready) body .kia-mobile-dock[data-in-mobile-dock] small {
   position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
   overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;
  }
  :root:not(.krs-ready) body .kia-mobile-dock[data-in-mobile-dock] svg {width:24px!important;height:24px!important}
  :root:not(.krs-ready) body .kia-mobile-dock[data-in-mobile-dock] {
   background:rgba(255,255,255,.97)!important;border:0!important;border-top:1px solid rgba(40,44,42,.10)!important;
  }
  @supports selector(body:has(nav)) {
   :root:not(.krs-ready) body:has(.kia-mobile-dock[data-in-mobile-dock]) {padding-bottom:calc(64px + var(--krs-safe-bottom))!important}
  }
 }
}
