/* KIKIA storefront global shell — density matches Cheonyu; palette is KIKIA pastel. */

:root {
  --kk-pink: #ff6fa5;
  --kk-lilac: #7c5cff;
  --kk-mint: #4ecdc4;
  /* Customer 2026-10-08: "블루도 섞여있으면" — informational accent next to the
     pink CTA. cheonyu's #0068c7 softened to sit with the pastel set. */
  --kk-blue: #3f7fe0;
  --kk-blue-soft: #eaf2ff;
  --kk-cream: #ffffff;
  --kk-paper: #ffffff;
  --kk-ink: #2e2a33;
  --kk-heading: #3d2b45;
  --kk-rule: #eadfe5;
  --kk-muted: #8a7a90;
  --kk-shell-max: 1240px;
  --kk-bottom-tabs-h: calc(64px + env(safe-area-inset-bottom, 0px));
  --kk-quickpanel-w: 72px;
  --kk-font-body: "Nunito Sans", system-ui, sans-serif;
  --kk-font-title: "Quicksand", system-ui, sans-serif;
}

/* Density: Cheonyu-scale body (12–13px), not airy pastel padding. */
body.kikia-storefront {
  font-family: var(--kk-font-body);
  font-size: 13px;
  line-height: 1.45;
  color: var(--kk-ink);
  background: var(--kk-paper);
}

body.kikia-storefront h1,
body.kikia-storefront h2,
body.kikia-storefront h3,
body.kikia-storefront h4 {
  font-family: var(--kk-font-title);
  color: var(--kk-heading);
}

.kikia-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100000;
  background: var(--kk-pink);
  color: #fff;
  padding: 8px 12px;
}
.kikia-skip-link:focus {
  left: 8px;
  top: 8px;
}

/* Hide stock Astra masthead if anything still renders. */
body.kikia-storefront #masthead,
body.kikia-storefront .ast-mobile-header-wrap,
body.kikia-storefront .main-header-bar-wrap {
  display: none !important;
}

/* ---------- Row 0: promo ---------- */
.kikia-promo {
  position: relative;
  display: block;
  background: linear-gradient(90deg, #ffe3ef 0%, #fff7fb 50%, #e8e0ff 100%);
  border-bottom: 1px solid var(--kk-rule);
}
body.kikia-promo-dismissed .kikia-promo {
  display: none;
}
.kikia-promo__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: var(--kk-shell-max);
  margin: 0 auto;
  min-height: 56px;
}
.kikia-promo__cell {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  padding: 10px 28px;
  text-decoration: none;
  color: var(--kk-heading);
}
.kikia-promo__cell--left {
  border-right: 1px solid rgba(255, 111, 165, 0.25);
}
.kikia-promo__eyebrow {
  font-size: 11px;
  color: var(--kk-muted);
}
.kikia-promo__title {
  font-family: var(--kk-font-title);
  font-size: 15px;
  font-weight: 700;
  color: var(--kk-pink);
}
.kikia-promo__cell--right .kikia-promo__title {
  color: var(--kk-lilac);
}
.kikia-promo__close {
  position: absolute;
  top: 8px;
  right: 12px;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.8);
  color: var(--kk-heading);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

/* ---------- Row 1: notice ---------- */
.kikia-notice {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 32px;
  padding: 6px 12px;
  background: var(--kk-pink);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.kikia-notice__badge {
  font-size: 13px;
}

/* ---------- Header shell ---------- */
.kikia-header {
  background: var(--kk-paper);
  border-bottom: 1px solid var(--kk-rule);
  z-index: 1000;
}
.kikia-header.is-sticky .kikia-main {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1001;
  box-shadow: 0 4px 16px rgba(61, 43, 69, 0.08);
  background: var(--kk-paper);
}
.kikia-header.is-sticky .kikia-main__inner {
  min-height: 52px;
  padding-top: 6px;
  padding-bottom: 6px;
}
.kikia-header.is-sticky .kikia-logo__lockup {
  width: 166px;
  height: 48px;
}
.kikia-header.is-sticky .kikia-quick__label {
  display: none;
}
.kikia-header.is-sticky .kikia-search__form {
  min-height: 36px;
}
.admin-bar .kikia-header.is-sticky .kikia-main {
  top: 32px;
}
@media (max-width: 782px) {
  .admin-bar .kikia-header.is-sticky .kikia-main {
    top: 46px;
  }
}

/* ---------- Row 2: util ---------- */
.kikia-util {
  border-bottom: 1px solid var(--kk-rule);
  background: var(--kk-paper);
  font-size: 12px;
}
.kikia-util__inner {
  max-width: var(--kk-shell-max);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 30px;
  padding: 4px 16px;
}
.kikia-util__left,
.kikia-util__right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.kikia-util__link {
  color: var(--kk-ink);
  text-decoration: none;
}
.kikia-util__link:hover {
  color: var(--kk-pink);
}
.kikia-util__link--accent {
  color: var(--kk-lilac);
  font-weight: 600;
}
.kikia-util__sep {
  color: var(--kk-rule);
}

/* ---------- Row 3: main ---------- */
.kikia-main {
  background: var(--kk-paper);
}
/* Two-row header (customer 2026-09-21). Cheonyu uses a saturated brand bar over
   a lighter category bar; KIKIA keeps its own pink rather than Cheonyu's blue,
   per the same instruction. */
.kikia-header--two-row .kikia-main {
  background: linear-gradient(180deg, #fff 0%, var(--kk-paper, #fff7fb) 100%);
  border-bottom: 1px solid var(--kk-rule, #f0d9e6);
}
.kikia-header--two-row .kikia-nav {
  background: var(--kk-paper, #fff7fb);
  border-top: 0;
  border-bottom: 1px solid var(--kk-rule, #f0d9e6);
}
.kikia-quick__lang {
  display: flex;
  align-items: center;
  margin-right: 4px;
}
.kikia-quick__lang .trp-language-switcher {
  width: auto;
  min-width: 72px;
}
.kikia-main__inner {
  max-width: var(--kk-shell-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-height: 64px;
  padding: 6px 16px;
}

.kikia-logo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--kk-heading);
  min-width: 208px;
}
.kikia-logo__lockup {
  display: block;
  width: 208px;
  height: auto;
  aspect-ratio: 166 / 48;
}
.kikia-search__form {
  display: flex;
  align-items: stretch;
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  border: 1px solid var(--kk-rule);
  border-radius: 999px;
  background: #fff;
  overflow: hidden;
  min-height: 42px;
}
.kikia-search__scope {
  flex: 0 0 auto;
  max-width: 120px;
  border: 0;
  border-right: 1px solid var(--kk-rule);
  background: var(--kk-cream);
  color: var(--kk-heading);
  font-size: 12px;
  padding: 0 10px;
  outline: none;
  cursor: pointer;
}
.kikia-search__field-wrap {
  flex: 1 1 auto;
  min-width: 0;
  position: relative;
  display: flex;
  align-items: center;
}
.kikia-search__fibo {
  width: 100%;
}
.kikia-search__fibo .dgwt-wcas-search-wrapp,
.kikia-search__fibo .dgwt-wcas-sf-wrapp {
  max-width: none !important;
  margin: 0 !important;
  width: 100% !important;
}
/* FiboSearch: leave room for magnifier so it never overlaps placeholder. */
.kikia-search__fibo .dgwt-wcas-sf-wrapp {
  position: relative !important;
  padding: 0 !important;
}
.kikia-search__fibo .dgwt-wcas-sf-wrapp input[type="search"],
.kikia-search__fibo input[type="search"].dgwt-wcas-search-input,
.kikia-search__fibo input[type="search"] {
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  min-height: 40px !important;
  background: transparent !important;
  font-size: 13px !important;
  /* Icon (left) + submit (right) clearance */
  padding: 0 44px 0 20px !important;
  width: 100% !important;
}
.kikia-search__fibo .dgwt-wcas-ico-magnifier,
.kikia-search__fibo .dgwt-wcas-sf-wrapp .dgwt-wcas-ico-magnifier,
.kikia-search__fibo .dgwt-wcas-search-icon {
  left: auto !important;
  right: 10px !important;
  top: 50% !important;
  width: 18px !important;
  height: 18px !important;
  margin-top: -9px !important;
  color: var(--kk-pink) !important;
  opacity: 1 !important;
  pointer-events: none;
}
.kikia-search__fibo .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit,
.kikia-search__fibo .dgwt-wcas-search-submit {
  right: 4px !important;
  left: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 36px !important;
  min-width: 36px !important;
}
.kikia-search__field-wrap {
  position: relative;
}
.kikia-search__icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--kk-pink);
  pointer-events: none;
  z-index: 1;
  display: inline-flex;
}
.kikia-search__input {
  flex: 1;
  border: 0;
  outline: none;
  min-height: 44px;
  padding: 0 44px 0 40px;
  font-size: 13px;
  background: transparent;
  width: 100%;
}
.kikia-search__submit {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: var(--kk-pink);
  padding: 6px 10px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.kikia-quick {
  display: flex;
  align-items: stretch;
  gap: 4px;
}
.kikia-quick__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 64px;
  padding: 4px 8px;
  text-decoration: none;
  color: var(--kk-heading);
  font-size: 11px;
  line-height: 1.2;
  border-radius: 8px;
}
.kikia-quick__item:hover {
  background: var(--kk-cream);
  color: var(--kk-pink);
}
.kikia-quick__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  color: inherit;
}
.kikia-quick__icon .kikia-icon {
  display: block;
}
.kikia-quick__label {
  white-space: nowrap;
}
.kikia-quick__item--cart {
  color: var(--kk-heading);
}
.kikia-cart-badge {
  position: absolute;
  top: 0;
  right: 6px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--kk-pink);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
}
.kikia-mobile__cart .kikia-cart-badge {
  top: -2px;
  right: -2px;
}

/* ---------- Row 4: nav ---------- */
.kikia-nav {
  background: var(--kk-paper);
  border-top: 1px solid var(--kk-rule);
}
.kikia-util__languages .trp-language-switcher,
.kikia-mobile__languages .trp-language-switcher {
  width: auto;
  min-width: 72px;
}
.kikia-mobile__languages .trp-language-switcher > div {
  min-height: 44px;
}
.kikia-nav__inner {
  max-width: var(--kk-shell-max);
  margin: 0 auto;
  padding: 0 8px;
  /* Customer 2026-09-21, two-row header: the All-categories button, the inline
     categories and the despatch notice share one line. */
  display: flex;
  align-items: center;
  gap: 8px;
}
.kikia-nav__menu-wrap {
  min-width: 0;
  flex: 1 1 auto;
}
.kikia-nav__notice {
  margin: 0 0 0 auto;
  padding-left: 12px;
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 600;
  color: var(--kk-pink, #ff6fa5);
  white-space: nowrap;
}
@media (max-width: 1400px) {
  .kikia-nav__notice {
    display: none;
  }
}

/* All-categories entry point.
   Eleven top-level categories cannot sit on one readable line, so the complete
   L1-L3 tree lives behind this button (it opens the existing category panel)
   and only the first few categories stay inline. */
.kikia-nav__all {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 34px;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  background: var(--kk-pink, #ff6fa5);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.kikia-nav__all:hover {
  background: var(--kk-heading, #3d2b45);
}
.kikia-nav__all-bars {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  width: 14px;
}
.kikia-nav__all-bars span {
  display: block;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
}
@media (max-width: 560px) {
  .kikia-nav__all-label {
    display: none;
  }
  .kikia-nav__all {
    padding: 0 12px;
  }
}
.kikia-nav__menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  min-height: 48px;
}
.kikia-nav__menu > li > a,
.kikia-nav__menu > .menu-item > a,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
  display: block;
  padding: 10px 12px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--kk-heading) !important;
  text-decoration: none;
  white-space: nowrap;
}
.kikia-nav__menu > li > a:hover,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover {
  color: var(--kk-pink) !important;
  background: var(--kk-cream) !important;
}
#mega-menu-wrap-primary,
#mega-menu-wrap-primary #mega-menu-primary {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Unified line icons */
.kikia-icon {
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
}
.kikia-notice__badge {
  display: inline-flex;
  align-items: center;
  color: #fff;
}

/* ---------- Quick panel (desktop right) ---------- */
.kikia-quickpanel {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 1100;
  width: var(--kk-quickpanel-w);
  background: var(--kk-paper);
  border: 1px solid var(--kk-rule);
  border-right: 0;
  border-radius: 12px 0 0 12px;
  box-shadow: -4px 0 16px rgba(61, 43, 69, 0.08);
  display: flex;
  flex-direction: column;
  font-size: 11px;
}
.kikia-quickpanel.is-collapsed .kikia-quickpanel__body {
  display: none;
}
.kikia-quickpanel__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 10px 6px;
}
.kikia-quickpanel__block {
  width: 100%;
  text-align: center;
  text-decoration: none;
  color: var(--kk-heading);
}
.kikia-quickpanel__label {
  display: block;
  font-size: 10px;
  color: var(--kk-muted);
  margin-bottom: 2px;
}
.kikia-quickpanel__value {
  display: block;
  font-weight: 700;
  color: var(--kk-pink);
  font-size: 11px;
  word-break: break-all;
}
.kikia-quickpanel__thumbs {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
}
.kikia-quickpanel__thumb-link img,
.kikia-quickpanel__thumb {
  width: 40px !important;
  height: 40px !important;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--kk-rule);
}
.kikia-quickpanel__empty {
  color: var(--kk-muted);
}
.kikia-quickpanel__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--kk-heading);
  font-size: 10px;
  text-decoration: none;
  cursor: pointer;
  padding: 6px 2px;
  border-radius: 8px;
}
.kikia-quickpanel__btn:hover {
  background: var(--kk-cream);
  color: var(--kk-pink);
}
.kikia-quickpanel__btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  color: inherit;
}
.kikia-quickpanel__close {
  border: 0;
  border-top: 1px solid var(--kk-rule);
  background: var(--kk-cream);
  color: var(--kk-heading);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 8px 4px;
  cursor: pointer;
  border-radius: 0 0 0 12px;
}

/* Content offset for fixed quick panel on wide screens */
@media (min-width: 768px) {
  body.kikia-storefront .kikia-site-content {
    padding-right: 12px;
  }
}

/* ---------- Mobile block (hidden on desktop) ---------- */
.kikia-mobile {
  display: none;
}
.kikia-bottom-tabs {
  display: none;
}

@media (max-width: 767px) {
  html { overflow-anchor: none; }

  /* Hide desktop header rows 2–4 and promo width, show mobile chrome */
  .kikia-promo,
  .kikia-header .kikia-util,
  .kikia-header .kikia-main,
  .kikia-header .kikia-nav,
  .kikia-quickpanel {
    display: none !important;
  }

  /* Kill Max Mega Menu mobile toggle (was rendering 0×0 / clipped white disc). */
  .mega-menu-toggle,
  #mega-menu-wrap-primary,
  #mega-menu-wrap-primary .mega-menu-toggle,
  #mega-menu-wrap-primary .mega-menu-toggle::before,
  #mega-menu-wrap-primary .mega-menu-toggle::after,
  .mega-menu-toggle .mega-toggle-block,
  .mega-menu-toggle .mega-toggle-animated,
  button.mega-menu-toggle {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    left: -9999px !important;
    clip: rect(0, 0, 0, 0) !important;
  }

  /* Keep notice strip visible above mobile chrome via shared notice */
  .kikia-notice {
    display: none; /* mobile has its own notice in .kikia-mobile */
  }

  .kikia-mobile {
    display: block;
    background: var(--kk-paper);
    border-bottom: 1px solid var(--kk-rule);
    position: sticky;
    top: 0;
    z-index: 1000;
  }
  .admin-bar .kikia-mobile {
    top: 46px;
  }
  @media (max-width: 600px) {
    .admin-bar .kikia-mobile {
      top: 0;
    }
  }

  .kikia-mobile__notice {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    background: var(--kk-pink);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
  }
  .kikia-mobile__notice-badge {
    flex: 0 0 auto;
    background: #fff;
    color: var(--kk-pink);
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 10px;
  }
  .kikia-mobile__notice-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .kikia-mobile__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 64px;
    padding: 8px 12px;
  }
  .kikia-mobile__logo {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    color: var(--kk-heading);
    font-family: var(--kk-font-title);
    font-weight: 700;
    font-size: 16px;
  }
  .kikia-mobile__logo-lockup {
    display: block;
    width: 180px;
    height: auto;
    aspect-ratio: 166 / 48;
  }
  .kikia-mobile__actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 4px;
  }
  .kikia-mobile__icon-btn {
    flex: 0 0 48px;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 0;
    background: transparent;
    text-decoration: none;
    color: var(--kk-blue-strong, #2f6ac4);
    font-size: 18px;
    cursor: pointer;
    border-radius: 999px;
  }
  .kikia-mobile__burger-lines {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    width: 18px;
    height: 14px;
  }
  .kikia-mobile__burger-lines span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background: var(--kk-heading);
  }

  .kikia-mobile__search {
    padding: 0 12px 10px;
  }
  .kikia-mobile__search form {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--kk-rule);
    border-radius: 999px;
    padding: 0 12px;
    min-height: 44px;
    background: #fff;
  }
  .kikia-mobile__search input[type="search"] {
    flex: 1;
    border: 0;
    outline: none;
    min-width: 0;
    min-height: 42px;
    font-size: 16px;
    background: transparent;
    padding: 0;
  }
  .kikia-mobile__search-icon {
    margin: 0;
    cursor: text;
    color: var(--kk-blue-strong, #2f6ac4);
    display: inline-flex;
    flex: 0 0 auto;
  }

  .kikia-mobile__chips {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 12px 10px;
    scrollbar-width: none;
  }
  .kikia-mobile__chips::-webkit-scrollbar {
    display: none;
  }
  .kikia-chip {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    height: 30px;
    padding: 0 14px;
    border-radius: 999px;
    background: var(--kk-cream);
    border: 1px solid var(--kk-rule);
    color: var(--kk-heading);
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
  }
  .kikia-chip.is-active,
  .kikia-chip:hover {
    background: var(--kk-pink);
    border-color: var(--kk-pink);
    color: #fff;
  }

  /* Equal five-item navigation: route, focus and pressed states stay distinct. */
  .kikia-bottom-tabs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1200;
    box-sizing: border-box;
    height: var(--kk-bottom-tabs-h);
    padding: 4px 0 calc(4px + env(safe-area-inset-bottom, 0px));
    background: var(--kk-paper);
    border-top: 1px solid var(--kk-rule);
  }
  .kikia-bottom-tabs__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    min-height: 0;
    height: 100%;
    box-sizing: border-box;
    text-decoration: none;
    color: var(--kk-heading);
    font-size: 11px;
    font-weight: 600;
    line-height: 16px;
    position: relative;
    border: 0;
    border-radius: 6px;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
  }
  .kikia-bottom-tabs__item.is-active { color: var(--kk-blue-strong, #2f6ac4); }
  .kikia-bottom-tabs__item.is-active::before {
    content: "";
    position: absolute;
    top: 0;
    width: 20px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
  }
  .kikia-bottom-tabs__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    line-height: 1;
    color: inherit;
  }
  .kikia-bottom-tabs__label {
    font-size: 11px;
    font-weight: 600;
    line-height: 16px;
    white-space: nowrap;
  }

  .kikia-mobile.is-compact .kikia-mobile__notice,
  .kikia-mobile.is-compact .kikia-mobile__search,
  .kikia-mobile.is-compact .kikia-mobile__chips {
    display: none;
  }

  body:not(.home) .kikia-mobile__chips { display: none; }

  /* Body padding for bottom tabs */
  body.kikia-storefront {
    padding-bottom: calc(var(--kk-bottom-tabs-h) + 12px);
  }
  body.kikia-storefront .site-footer {
    margin-bottom: 0;
  }
}

/* ---------- Category bottom sheet (mobile) ---------- */
.kikia-cat-sheet {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.kikia-cat-sheet[hidden] {
  display: none !important;
}
.kikia-cat-sheet__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(46, 42, 51, 0.45);
  border: 0;
  cursor: pointer;
}
.kikia-cat-sheet__panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 480px;
  max-height: min(78vh, 640px);
  background: var(--kk-paper);
  border-radius: 16px 16px 0 0;
  box-shadow: 0 -8px 32px rgba(61, 43, 69, 0.16);
  display: flex;
  flex-direction: column;
  outline: none;
  animation: kikia-sheet-up 0.22s ease-out;
}
@keyframes kikia-sheet-up {
  from {
    transform: translateY(24px);
    opacity: 0.6;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.kikia-cat-sheet__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--kk-rule);
  flex: 0 0 auto;
}
.kikia-cat-sheet__title {
  margin: 0;
  font-family: var(--kk-font-title);
  font-size: 16px;
  font-weight: 700;
  color: var(--kk-heading);
}
.kikia-cat-sheet__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: var(--kk-cream);
  color: var(--kk-heading);
  cursor: pointer;
}
.kikia-cat-sheet__body {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 8px 16px 20px;
  flex: 1 1 auto;
}
.kikia-cat-sheet__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.kikia-cat-sheet__group {
  padding: 10px 0;
  border-bottom: 1px solid var(--kk-rule);
}
.kikia-cat-sheet__parent {
  display: block;
  font-family: var(--kk-font-title);
  font-size: 14px;
  font-weight: 700;
  color: var(--kk-heading);
  text-decoration: none;
  margin-bottom: 6px;
}
.kikia-cat-sheet__parent:hover {
  color: var(--kk-pink);
}
.kikia-cat-sheet__children {
  list-style: none;
  margin: 0;
  padding: 0 0 0 4px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
}
.kikia-cat-sheet__child {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--kk-cream);
  border: 1px solid var(--kk-rule);
  color: var(--kk-ink);
  text-decoration: none;
  font-size: 12px;
  font-weight: 600;
}
.kikia-cat-sheet__child:hover {
  border-color: var(--kk-pink);
  color: var(--kk-pink);
}
.kikia-cat-sheet__grandchildren {
  width: 100%;
  margin: 6px 0 0 12px;
  padding: 0;
  list-style: none;
}
.kikia-cat-sheet__grandchildren a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: var(--kk-ink);
  font-size: 14px;
}
.kikia-cat-sheet__footer {
  margin-top: 14px;
  padding-top: 10px;
}
.kikia-cat-sheet__shop-all {
  display: block;
  text-align: center;
  font-weight: 700;
  color: var(--kk-pink);
  text-decoration: none;
  font-size: 13px;
}
body.kikia-cat-sheet-open {
  overflow: hidden;
}

@media (min-width: 768px) {
  /* Sheet is mobile-first; still available if opened but rare on desktop. */
  .kikia-cat-sheet__panel {
    max-width: 420px;
    border-radius: 16px;
    margin-bottom: 24px;
  }
  .kikia-cat-sheet {
    align-items: center;
  }
}

/* Sticky spacer when main bar is fixed */
.kikia-main-spacer {
  display: none;
}
.kikia-header.is-sticky .kikia-main-spacer {
  display: block;
  height: 52px;
}

/* Screen reader */
.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;
  width: 1px;
  word-wrap: normal !important;
}

/* CookieYes pins a revisit-consent circle to the bottom-left in its own blue.
   The banner row's revisitConsent.status is off, which suppresses it on load,
   but the script still reveals it immediately after a visitor clicks Accept —
   measured 2026-08-09. Keep it out of the layout either way; cookie settings
   stay reachable from the footer policy page. */
.cky-btn-revisit-wrapper { display: none !important; }

/* ---------- Footer 3-col (Cheonyu density, KIKIA palette) ---------- */
/* Hide residual Astra footer chrome if any still prints. */
body.kikia-storefront .site-primary-footer-wrap,
body.kikia-storefront .site-below-footer-wrap,
body.kikia-storefront .ast-small-footer {
  display: none !important;
}

.kikia-footer {
  /* Cheonyu's footer sits on white with grey rules; keep that read and take the
     tint from the KIKIA page background rather than inverting to a dark slab. */
  background: var(--kk-paper);
  color: #57505c;
  font-size: 12px;
  line-height: 1.45;
  margin-top: 0;
  border-top: 1px solid var(--kk-rule);
}
.kikia-footer a {
  color: #7c5cff;
  text-decoration: none;
}
.kikia-footer a:hover {
  color: #ff6fa5;
  text-decoration: underline;
}
.kikia-footer__inner {
  max-width: var(--kk-shell-max);
  margin: 0 auto;
  padding: 22px 16px 18px;
}
.kikia-footer__cols {
  display: grid;
  grid-template-columns: 1.15fr 1.2fr 1fr;
  gap: 0;
  align-items: start;
}
.kikia-footer-col {
  padding: 4px 18px;
  min-width: 0;
}
.kikia-footer-col + .kikia-footer-col {
  border-left: 1px solid var(--kk-rule);
}
.kikia-footer-col__head {
  position: relative;
  margin: 0 0 10px;
  padding-right: 28px;
}
/* Beat body.kikia-storefront h2 { color: heading } so column titles keep their size. */
body.kikia-storefront .kikia-footer .kikia-footer-col__title {
  margin: 0;
  font-family: var(--kk-font-title);
  font-size: 15px;
  font-weight: 600;
  color: #3d2b45;
  letter-spacing: -0.02em;
  line-height: 1.25;
}
.kikia-footer-col__list-link {
  position: absolute;
  right: 0;
  top: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #7c5cff;
  line-height: 1;
}
.kikia-footer-col__list-link:hover {
  color: #ff6fa5;
}
.kikia-footer-col__empty {
  margin: 0;
  color: #6b6470;
  font-size: 12px;
}

/* Col 1 notices */
.kikia-footer-notices {
  list-style: none;
  margin: 0;
  padding: 0;
}
.kikia-footer-notices__item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 5px 0;
  border-bottom: 1px solid var(--kk-rule);
  font-size: 12px;
  line-height: 1.35;
}
.kikia-footer-notices__item:last-child {
  border-bottom: 0;
}
.kikia-footer-notices__title {
  color: #3d2b45;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kikia-footer-notices__title:hover {
  color: #ff6fa5;
}
.kikia-footer-notices__date {
  flex: 0 0 auto;
  color: #7d7684;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

/* Col 2 customer service */
.kikia-footer-cs__phone-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 8px;
}
.kikia-footer-cs__phone {
  font-family: var(--kk-font-title);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #ff6fa5;
  line-height: 1.1;
  text-decoration: none;
}
.kikia-footer-cs__phone:hover {
  color: #ff8fba;
  text-decoration: none;
}
.kikia-footer-cs__demo-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #3d2b45;
  background: #ffd6e8;
  border-radius: 999px;
  padding: 2px 8px;
  line-height: 1.4;
}
.kikia-footer-cs__faq-wrap {
  margin: 0 0 8px;
}
.kikia-footer a.kikia-footer-cs__faq {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  background: #7c5cff;
  border-radius: 999px;
  padding: 5px 14px;
  text-decoration: none;
  line-height: 1.3;
}
.kikia-footer a.kikia-footer-cs__faq:hover {
  background: #ff6fa5;
  color: #fff;
  text-decoration: none;
}
.kikia-footer-cs__topics {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin: 0 0 8px;
  font-size: 11px;
  color: #57505c;
}
.kikia-footer-cs__hours {
  list-style: none;
  margin: 0 0 8px;
  padding: 0;
  font-size: 12px;
  color: #3d2b45;
  line-height: 1.4;
}
.kikia-footer-cs__hours li {
  margin: 0;
  padding: 1px 0;
}
.kikia-footer-cs__closed {
  color: #ff6fa5;
  font-weight: 700;
}
.kikia-footer-cs__email {
  margin: 0;
  font-size: 12px;
}
.kikia-footer-cs__email a {
  color: #7c5cff;
}

/* Col 3 payment — never bank account numbers */
.kikia-footer-pay__methods {
  list-style: none;
  margin: 0 0 10px;
  padding: 0;
}
.kikia-footer-pay__method {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  padding: 5px 0;
  border-bottom: 1px solid var(--kk-rule);
  font-size: 12px;
}
.kikia-footer-pay__method:last-child {
  border-bottom: 0;
}
.kikia-footer-pay__label {
  color: #3d2b45;
  font-weight: 600;
}
.kikia-footer-pay__via {
  color: #7d7684;
  font-size: 11px;
}
.kikia-footer-pay__net30 {
  margin: 0 0 10px;
  font-size: 12px;
  color: #3d2b45;
  line-height: 1.4;
}
.kikia-footer-pay__cta-wrap {
  margin: 0;
}
/* `.kikia-footer a` outranks a bare class, so the label rendered in the link
   colour on top of the pink pill and vanished. Scope it to win. */
.kikia-footer a.kikia-footer-pay__cta {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  background: #ff6fa5;
  border-radius: 999px;
  padding: 7px 16px;
  text-decoration: none;
  line-height: 1.3;
}
.kikia-footer a.kikia-footer-pay__cta:hover {
  background: #7c5cff;
  color: #fff;
  text-decoration: none;
}

/* Util row */
.kikia-footer__util {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid rgba(240, 217, 230, 0.14);
}
.kikia-footer-util__list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  margin: 0;
  padding: 0;
  font-size: 12px;
}
.kikia-footer-util__list a {
  color: #7c5cff;
}
.kikia-footer-util__list a:hover {
  color: #ff6fa5;
}

/* Company + copyright */
.kikia-footer__company {
  margin-top: 10px;
  font-size: 11px;
  color: #6b6470;
  line-height: 1.45;
}
.kikia-footer__address,
.kikia-footer__company-email {
  margin: 0 0 2px;
}
.kikia-footer__company-email a {
  color: #57505c;
}
.kikia-footer__copy {
  margin: 10px 0 0;
  padding-top: 8px;
  border-top: 1px solid var(--kk-rule);
  font-size: 11px;
  color: #7d7684;
}

/* Responsive: tablet 2-col, mobile 1-col stack (not accordion) */
@media (max-width: 960px) {
  .kikia-footer__cols {
    grid-template-columns: 1fr 1fr;
  }
  .kikia-footer-col--payment {
    grid-column: 1 / -1;
    border-left: 0;
    border-top: 1px solid var(--kk-rule);
    margin-top: 8px;
    padding-top: 12px;
  }
  .kikia-footer-col + .kikia-footer-col {
    border-left: 1px solid var(--kk-rule);
  }
  .kikia-footer-col--payment + .kikia-footer-col,
  .kikia-footer-col--service + .kikia-footer-col--payment {
    border-left: 0;
  }
}
@media (max-width: 640px) {
  .kikia-footer__inner {
    padding: 18px 14px calc(var(--kk-bottom-tabs-h) + 28px);
  }
  .kikia-footer__cols {
    grid-template-columns: 1fr;
  }
  .kikia-footer-col {
    padding: 10px 0;
  }
  .kikia-footer-col + .kikia-footer-col {
    border-left: 0;
    border-top: 1px solid var(--kk-rule);
  }
  .kikia-footer-col--payment {
    margin-top: 0;
    padding-top: 10px;
  }
  .kikia-footer-cs__phone {
    font-size: 20px;
  }
}

/* Mega-menu sub-panels must not push the page into a horizontal scroll.
   Measured 2026-09-21: the right-most primary items opened panels ending at
   1741px inside a 1677px viewport. Capping the panel to the visible width and
   right-aligning the last items keeps every panel on screen. */
#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item ul.mega-sub-menu {
  max-width: min(var(--kk-shell-max, 1240px), calc(100vw - 24px)) !important;
  box-sizing: border-box;
}
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:nth-last-child(-n + 3) > ul.mega-sub-menu {
  left: auto !important;
  right: 0 !important;
}
.kikia-nav__menu .sub-menu {
  max-width: calc(100vw - 24px);
}

/* The category panel is the desktop entry point for all eleven categories now,
   not just a mobile sheet, so above the mobile breakpoint it becomes a centred
   dialog wide enough to show the tree in columns. */
@media (min-width: 921px) {
  .kikia-cat-sheet {
    align-items: flex-start;
    padding-top: 84px;
  }
  .kikia-cat-sheet__panel {
    max-width: min(var(--kk-shell-max, 1240px), calc(100vw - 48px));
    max-height: min(74vh, 720px);
    border-radius: 18px;
  }
  .kikia-cat-sheet__list {
    column-count: 3;
    column-gap: 28px;
  }
  .kikia-cat-sheet__list > li {
    break-inside: avoid;
  }
}

/* Category row stays one line. If a renderer still emits more items than fit,
   they scroll rather than wrap into a second and third row — the All-categories
   panel remains the complete list either way. */
.kikia-nav__menu,
#mega-menu-wrap-primary #mega-menu-primary {
  flex-wrap: nowrap !important;
  overflow-x: auto;
  scrollbar-width: none;
}
.kikia-nav__menu::-webkit-scrollbar,
#mega-menu-wrap-primary #mega-menu-primary::-webkit-scrollbar {
  display: none;
}

/* Reference navigation keeps the seven shared departments in one visible row. */
@media (min-width:921px) {
  .kikia-nav__notice { display:none; }
  .kikia-nav__inner { gap:8px; }
  .kikia-nav__menu-wrap { flex:1 1 0; }
  .kikia-nav__menu, #mega-menu-wrap-primary #mega-menu-primary { justify-content:space-between; }
  .kikia-nav__menu > li > a,
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link { padding:10px 8px !important; font-size:13px !important; }
}
/* Woo/Astra's catalog wrapper must use the same content width on shop and taxonomy pages. */
body.post-type-archive-product .kikia-site-content .ast-container,
body.tax-product_cat .kikia-site-content .ast-container,
body.tax-product_brand .kikia-site-content .ast-container { max-width:1240px; width:100%; display:block; }
body.post-type-archive-product .kikia-shop,
body.tax-product_cat .kikia-shop,
body.tax-product_brand .kikia-shop { width:100%; max-width:none; }

@media (max-width:767px) {
  /* The header already has a language switcher; the plugin floater covered tabs. */
  #trp-floater-ls { display:none !important; }
}

@media (min-width:921px) {
  .kikia-nav__menu { overflow:visible; }
  .kikia-nav__menu > li { position:relative; }
  .kikia-nav__menu .sub-menu { display:none; position:absolute; z-index:1005; top:100%; left:0; min-width:210px; width:max-content; max-width:min(350px,calc(100vw - 24px)); padding:8px; margin:0; list-style:none; background:#fff; border:1px solid var(--kk-rule); border-radius:8px; box-shadow:0 12px 28px rgba(61,43,69,.12); }
  .kikia-nav__menu > li:nth-last-child(-n+2) .sub-menu { left:auto; right:0; }
  .kikia-nav__menu > li:hover .sub-menu,
  .kikia-nav__menu > li:focus-within .sub-menu { display:block; }
  .kikia-nav__menu .sub-menu a { display:block; padding:10px 12px; color:var(--kk-heading); text-decoration:none; white-space:nowrap; }
  .kikia-nav__menu .sub-menu a:hover,
  .kikia-nav__menu .sub-menu a:focus-visible { color:var(--kk-pink); background:#fff5f9; }
}

/* Only the native, current-page language links appear on mobile. */
@media (max-width:767px) {
  .trp-language-switcher.trp-floating-switcher { display:none !important; }
  .kikia-mobile { padding-top: env(safe-area-inset-top, 0px); }
  .kikia-mobile__notice { gap: 8px; padding: 4px 12px; }
  .kikia-mobile__notice-text { flex: 1; min-width: 0; }
  .kikia-mobile__languages { position: relative; flex: 0 0 44px; }
  .kikia-mobile__languages summary {
    display: flex; align-items: center; justify-content: center; gap: 4px;
    min-height: 44px; list-style: none; cursor: pointer;
    color: var(--kk-blue-strong, #2f6ac4); font-size: 11px; font-weight: 700;
    border-radius: 6px;
  }
  .kikia-mobile__languages summary::-webkit-details-marker { display: none; }
  .kikia-mobile__languages nav {
    position: absolute; top: calc(100% + 4px); right: 0; z-index: 1003;
    min-width: 140px; padding: 4px; background: var(--kk-paper);
    border: 1px solid var(--kk-rule); border-radius: 6px;
    box-shadow: 0 4px 12px rgba(61,43,69,.08);
  }
  .kikia-mobile__languages nav a {
    display: flex; align-items: center; min-height: 44px; padding: 0 12px;
    color: var(--kk-heading); font-size: 14px; text-decoration: none; border-radius: 2px;
  }
  .kikia-mobile__languages nav a[aria-current],
  .kikia-mobile__languages nav a:hover { background: var(--kk-blue-soft); color: var(--kk-blue-strong); }
  .kikia-mobile__cart .kikia-cart-badge {
    box-sizing: border-box; top: -2px; right: 0; min-width: 18px; height: 18px;
    padding: 0 4px; font-size: 11px; line-height: 16px;
    border: 1px solid var(--kk-paper); pointer-events: none;
  }
  .kikia-mobile__search form:focus-within {
    outline: 2px solid var(--kk-blue-strong, #2f6ac4); outline-offset: 2px;
  }
  .kikia-bottom-tabs__item:focus-visible,
  .kikia-mobile__icon-btn:focus-visible,
  .kikia-mobile__languages summary:focus-visible,
  .kikia-mobile__languages a:focus-visible {
    outline: 2px solid var(--kk-blue-strong, #2f6ac4); outline-offset: -2px;
  }
  .kikia-bottom-tabs__item:active,
  .kikia-mobile__icon-btn:active { background: var(--kk-blue-soft); }
}

/* Avoid consuming the entire search column with utilities at tablet widths. */
@media (min-width:768px) and (max-width:1100px) {
  .kikia-main__inner { grid-template-columns: auto minmax(0, 1fr); row-gap: 8px; padding-top: 8px; padding-bottom: 12px; }
  .kikia-quick { grid-column: 2; grid-row: 1; justify-content: flex-end; }
  .kikia-search { grid-column: 1 / -1; grid-row: 2; }
}
.kikia-nav__menu .sub-menu { display: none; }
@media (min-width:921px) {
  .kikia-nav__menu > li:hover .sub-menu,
  .kikia-nav__menu > li:focus-within .sub-menu { display: block; }
}
/* FiboSearch uses a filled SVG: color alone does not recolor its artwork. */
.kikia-search__fibo .dgwt-wcas-ico-magnifier,
.kikia-search__fibo .dgwt-wcas-ico-magnifier path,
.kikia-search__fibo .dgwt-wcas-style-pirx.dgwt-wcas-has-submit .dgwt-wcas-search-submit svg path {
  fill: var(--kk-blue-strong, #2f6ac4);
}
.kikia-search__fibo .dgwt-wcas-search-submit:focus-visible {
  outline: 2px solid var(--kk-blue-strong, #2f6ac4); outline-offset: -2px;
}

/* Customer 2026-10-19: seven clear primary departments. */
@media (min-width: 921px) {
  .kikia-nav__menu > li > a { font-size: 15px !important; padding: 12px 8px !important; }
}
.kikia-cat-sheet__parent { font-size: 20px; line-height: 1.2; padding: 12px 0; }
.kikia-cat-sheet__children .kikia-cat-sheet__child { height: auto; min-height: 36px; }
.kikia-cat-sheet__grandchildren .kikia-cat-sheet__grandchildren { margin-left: 8px; }

/* ---------- Customer feedback 2026-10-26 ----------
   1. "The header and category bar look cramped — give them more vertical room,
      compare with cheonyu.com." Taller brand row and category row on desktop.
      The sticky (scrolled) header keeps its compact size: its selectors are more
      specific than these.
   2. "The All categories panel looks messy, nothing lines up and the circles
      don't look good." Pills are replaced by plain text lists. On desktop each
      department is one row: name on the left, its sub-categories in aligned
      columns on the right. */
@media (min-width: 1101px) {
  .kikia-header--two-row .kikia-main__inner {
    min-height: 92px;
    padding-top: 14px;
    padding-bottom: 14px;
  }
}
@media (min-width: 1101px) {
  .kikia-header--two-row .kikia-nav__inner { padding: 0 16px; }
  .kikia-header--two-row .kikia-nav__menu { min-height: 58px; }
  .kikia-nav__menu > li > a { padding: 17px 8px !important; }
  .kikia-nav__all { height: 40px; padding: 0 18px; font-size: 14px; }
}

.kikia-cat-sheet__group { padding: 14px 0; }
.kikia-cat-sheet__parent {
  font-size: 16px;
  line-height: 1.3;
  padding: 0;
  margin: 0 0 8px;
}
.kikia-cat-sheet__children {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px 16px;
  padding: 0;
}
.kikia-cat-sheet__grandchildren,
.kikia-cat-sheet__grandchildren .kikia-cat-sheet__grandchildren {
  width: auto;
  margin: 0;
  padding: 0;
  list-style: none;
}
.kikia-cat-sheet .kikia-cat-sheet__child,
.kikia-cat-sheet .kikia-cat-sheet__grandchildren a {
  display: flex;
  align-items: center;
  height: auto;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: #5d5463;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.35;
  text-decoration: none;
}
.kikia-cat-sheet .kikia-cat-sheet__child--d1 {
  color: var(--kk-heading, #3d2b45);
  font-weight: 700;
}
/* A level-2 link that has its own list reads as a small heading; its
   level-3 items are indented under it. */
.kikia-cat-sheet .kikia-cat-sheet__item--d2:has(> ul) > .kikia-cat-sheet__child {
  color: var(--kk-heading, #3d2b45);
  font-weight: 600;
}
.kikia-cat-sheet .kikia-cat-sheet__grandchildren .kikia-cat-sheet__child--d3 {
  padding-left: 12px;
  font-size: 13px;
  color: #6b6470;
}
.kikia-cat-sheet .kikia-cat-sheet__child:hover,
.kikia-cat-sheet .kikia-cat-sheet__child:focus-visible {
  color: var(--kk-pink, #ff6fa5);
  border: 0;
  background: none;
  text-decoration: underline;
}

@media (min-width: 921px) {
  .kikia-cat-sheet__panel { max-height: min(82vh, 780px); }
  .kikia-cat-sheet__body { padding: 4px 28px 20px; }
  .kikia-cat-sheet__list { column-count: auto; columns: auto; }
  .kikia-cat-sheet__list > .kikia-cat-sheet__group {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 0 28px;
    padding: 18px 0;
    break-inside: auto;
  }
  .kikia-cat-sheet__parent {
    font-size: 17px;
    margin: 0;
    padding-top: 2px;
  }
  .kikia-cat-sheet__children {
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 10px 28px;
  }
  .kikia-cat-sheet .kikia-cat-sheet__child,
  .kikia-cat-sheet .kikia-cat-sheet__grandchildren a {
    min-height: 0;
    padding: 4px 0;
    font-size: 13px;
  }
  .kikia-cat-sheet .kikia-cat-sheet__child--d1 {
    padding: 2px 0 6px;
    margin-bottom: 2px;
    border-bottom: 1px solid var(--kk-rule, #f0d9e6);
    font-size: 14px;
  }
  .kikia-cat-sheet .kikia-cat-sheet__child--d1:hover { border-bottom: 1px solid var(--kk-rule, #f0d9e6); }
  .kikia-cat-sheet .kikia-cat-sheet__grandchildren .kikia-cat-sheet__child--d3 { padding: 3px 0 3px 12px; font-size: 12.5px; }
}
