/* CPS eShop header additions */
/* Topbar marquee */
  .kimo-topbar-center {
    flex: 1;
    overflow: hidden;
    text-align: center;
  }
  .kimo-topbar-marquee {
    display: inline-flex;
    animation: kimoMarquee 30s linear infinite;
    white-space: nowrap;
  }
  .kimo-topbar-marquee span {
    padding: 0 28px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }

  /* Topbar language */
  .kimo-topbar-lang { position: relative; }
  .kimo-topbar-lang-btn {
    background: none;
    border: none;
    color: inherit;
    font-weight: 800;
    font-size: 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 4px;
    letter-spacing: .5px;
    text-transform: uppercase;
    transition: all .15s ease;
  }
  .kimo-topbar-lang-btn:hover { opacity: .8; }

  /* Language switcher dropdown */
  .kimo-lang { position: relative; }
  .kimo-lang-menu {
    display: none;
    position: absolute;
    inset-inline-end: 0;
    top: 56px;
    min-width: 180px;
    background: rgba(255, 255, 255, .98);
    backdrop-filter: blur(24px);
    border: 1px solid #EAEAEA;
    border-radius: 16px;
    padding: 8px;
    box-shadow: 0 12px 50px rgba(0, 0, 0, .10);
    z-index: 40;
  }
  .kimo-lang-menu a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 12px;
    text-decoration: none;
    color: #4A4A5A;
    font-weight: 900;
    transition: all .15s ease;
  }
  .kimo-lang-menu a:hover {
    background: #FFF9E6;
    color: #B8860B;
  }

  /* Login button with label */
  .kimo-icbtn-login {
    width: auto !important;
    padding: 0 14px;
    gap: 6px;
    font-size: 13px;
    font-weight: 800;
  }
  .kimo-icbtn-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .5px;
  }

  /* Cart button accent */
  .kimo-icbtn-cart:hover {
    background: var(--kimo-accent, #FFC107) !important;
    border-color: var(--kimo-accent, #FFC107) !important;
  }

  /* Nav home link */
  .kimo-nav-home {
    color: var(--kimo-primary-dark, #F59E0B) !important;
    font-weight: 800;
  }

  /* Mobile search */
  .kimo-mobile-search {
    display: block;
    max-width: none;
    margin-bottom: 16px;
  }

  @media (max-width: 992px) {
    .kimo-topbar-marquee { animation-duration: 20s; }
    .kimo-topbar-marquee span { padding: 0 16px; font-size: 10px; }
    .kimo-icbtn-label { display: none; }
    .kimo-icbtn-login { width: 44px !important; padding: 0 !important; }
  }

  @media (max-width: 768px) {
    .kimo-topbar-left { display: none; }
    .kimo-topbar-right { display: none; }
    .kimo-topbar .kimo-wrap { justify-content: center; }
  }

.kimo-mobile-extras { margin-block-start:16px; padding-block-start:16px; border-block-start:1px solid var(--kimo-border, #eaeaea); }
.kimo-mobile-languages { display:flex; gap:8px; margin-block-end:10px; }
.kimo-mobile-languages .kimo-mitem { flex:1; justify-content:center; }
.kimo-search-dropdown[hidden], [data-kimo-sub][hidden] { display:none !important; }


/* Persistent header language action: SVG avoids missing emoji glyphs. */
.kimo-main-lang { position: relative; display: inline-flex; }
.kimo-language-toggle { width: auto; min-width: 58px; padding-inline: 10px; gap: 5px; overflow: visible; flex-shrink: 0; }
.kimo-language-icon { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.kimo-language-code { font-size: 10px; font-weight: 900; letter-spacing: .04em; }
.kimo-main-lang .kimo-lang-menu { top: calc(100% + 10px); }
@media (max-width: 640px) { .kimo-language-toggle { width: 44px; min-width: 44px; padding-inline: 0; } .kimo-language-code { display:none; } }
.kimo-lang-menu:not([hidden]) { display: block; }

/* Category visuals are part of the navigation contract. Keep existing Item
   Group images and provide a stable icon fallback rather than dropping them. */
.kimo-nav-link { display: inline-flex; align-items: center; gap: 7px; }
.kimo-nav-category-icon,
.kimo-mobile-category-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  inline-size: 24px;
  block-size: 24px;
  overflow: hidden;
  border-radius: 7px;
  background: #fff;
  font-size: 15px;
  line-height: 1;
}
.kimo-nav-category-icon img,
.kimo-mobile-category-icon img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: contain;
  background: #fff;
}
.kimo-mobile-category-label { display: inline-flex; align-items: center; gap: 9px; min-inline-size: 0; }
.kimo-mobile-category-icon { inline-size: 30px; block-size: 30px; font-size: 18px; }


/* Hierarchical Item Group navigation: root is a boundary, direct children are
   parents, and every descendant remains nested under its real parent. */
.cps-category-mega { min-inline-size: min(760px, 92vw); }
.cps-category-mega__inner { display: block; padding: 22px 26px; }
.cps-category-mega__heading { margin-block-end: 10px; padding-block-end: 10px; border-block-end: 1px solid var(--kimo-border, #ececec); }
.cps-category-mega__parent { display: inline-flex !important; align-items: center; gap: 9px; font-weight: 900 !important; color: var(--kimo-text, #20202c) !important; }
.cps-mega-tree, .cps-mega-tree__children { list-style: none; margin: 0; padding: 0; }
.cps-mega-tree { columns: 3 180px; column-gap: 22px; }
.cps-mega-tree__item { break-inside: avoid; margin-block-end: 4px; }
.cps-mega-tree__item > a { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cps-mega-tree__children { margin-inline-start: 13px; padding-inline-start: 10px; border-inline-start: 1px solid var(--kimo-border, #e6e6e6); }
.cps-mega-tree__children a { font-size: .92em; font-weight: 600; padding-block: 7px; }
.cps-mega-tree__arrow { opacity: .55; }

.cps-mobile-category-tree { display: grid; gap: 8px; }
.cps-mobile-category-node { margin: 0; }
.cps-mobile-category-node > summary { list-style: none; cursor: pointer; margin-block-end: 0; }
.cps-mobile-category-node > summary::-webkit-details-marker { display: none; }
.cps-mobile-category-node[open] > summary { background: var(--kimo-yellow-soft, #fff8dc); border-color: var(--kimo-accent, #d4af37); }
.cps-mobile-category-chevron { transition: transform .2s ease; }
.cps-mobile-category-node[open] > summary .cps-mobile-category-chevron { transform: rotate(180deg); }
.cps-mobile-category-children { margin-inline-start: 16px; padding-inline-start: 10px; border-inline-start: 1px solid var(--kimo-border, #e7e7e7); }
.cps-mobile-category-children .kimo-mitem { padding-block: 11px; font-size: .94rem; }
.cps-mobile-category-all { color: var(--kimo-accent, #9a7612); }

@media (max-width: 1100px) { .cps-mega-tree { columns: 2 180px; } }
@media (max-width: 992px) { .cps-category-mega { display: none !important; } }
