.header-category-item.is-open:not(.is-intent) .dropdown-arrow,
.header-category-item:hover:not(.is-intent) .dropdown-arrow,
.header-category-item:focus-within:not(.is-intent) .dropdown-arrow { transform: none; }
.header-category-item.is-intent .dropdown-arrow { transform: rotate(180deg); }
.header-category-link { cursor: pointer; }
.header-category-link .dropdown-arrow { color: #a1a1a6; font-size: .72em; margin-left: 2px; transition: transform .15s ease; }

.cp-menu { position: relative; display: flex; align-items: center; }
.cp-menu__btn {
  display: inline-flex; align-items: center; gap: 9px; height: 40px; padding: 0 16px;
  border-radius: 10px; border: 1px solid #cfd5dd; background: transparent; color: #1d1d1f;
  font: inherit; font-size: 14.5px; font-weight: 600; cursor: pointer; white-space: nowrap;
  transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
.cp-menu__btn i { color: #3c4043; font-size: 14px; }
.cp-menu__btn:hover { border-color: #aeb6c1; }
.cp-menu__btn.is-expanded, .cp-menu__btn[aria-expanded="true"] { border-color: #0071e3; background: #f0f6fe; color: #0071e3; }
.cp-menu__btn.is-expanded i, .cp-menu__btn[aria-expanded="true"] i { color: #0071e3; }
.cp-menu__btn:focus-visible { outline: 2px solid #0071e3; outline-offset: 2px; }

.cp-menu__pop {
  position: absolute; right: 0; top: calc(100% + 8px); width: 380px; z-index: 10090;
  background: #fff; border: 1px solid #e6e9ee; border-radius: 18px;
  box-shadow: 0 24px 60px -12px rgba(15, 23, 42, .38); overflow: hidden;
  display: flex; flex-direction: column; text-align: left;
}
.cp-menu__pop[hidden] { display: none !important; }
.cp-menu__list {
  position: relative; max-height: min(470px, calc(100dvh - 190px)); overflow-y: auto;
  overscroll-behavior: contain; padding: 4px 8px 40px; box-sizing: border-box;
  -webkit-mask-image: linear-gradient(#000 calc(100% - 48px), transparent);
          mask-image: linear-gradient(#000 calc(100% - 48px), transparent);
}
.cp-mg__head {
  display: flex; align-items: center; gap: 8px; width: 100%; padding: 12px 10px 6px;
  border: 0; background: none; font: inherit; font-size: 12.5px; font-weight: 700; color: #6b7280;
  text-align: left; cursor: default;
}
.cp-mg__title { flex-grow: 1; }
.cp-mg__icon, .cp-mg__count, .cp-mg__caret { display: none; }
.cp-mg__items { list-style: none; margin: 0; padding: 0; }
.cp-mi {
  display: flex; align-items: center; gap: 11px; min-height: 38px; padding: 0 10px; border-radius: 9px;
  color: #1d1d1f; font-size: 14px; text-decoration: none;
}
.cp-mi i { width: 16px; text-align: center; font-size: 13px; }
.cp-mi:hover, .cp-mi:focus-visible { background: #f2f6fb; color: #1d1d1f; outline: none; }
.cp-mi.is-current { color: #0071e3; font-weight: 600; }
.cp-menu__pref { display: flex; flex-wrap: wrap; gap: 16px; padding: 12px 18px; border-top: 1px solid rgba(15, 23, 42, .08); }
.cp-menu__pref-item {
  display: inline-flex; align-items: center; gap: 7px; padding: 4px 0; border: 0; background: none;
  font: inherit; font-size: 13px; color: #3c4043; cursor: pointer; text-decoration: none;
}
.cp-menu__pref-item i { color: #6b7280; font-size: 12px; }
.cp-menu__pref-item:hover { color: #0071e3; }
.cp-sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.cp-color--blue { color: #0d6efd; } .cp-color--pink { color: #d63384; }
.cp-color--green { color: #198754; } .cp-color--yellow { color: #e0a800; }

@media (max-width: 991px) {
  .hamburger-button { display: none !important; }
  .cp-menu { position: static; }
  .cp-menu__btn { height: 40px; padding: 0 12px; font-size: 14px; gap: 7px; }
  .cp-menu__pop { position: fixed; left: 8px; right: 8px; width: auto; top: var(--cp-menu-top, 96px); max-height: calc(100dvh - var(--cp-menu-top, 96px) - 12px); box-shadow: 0 24px 60px -12px rgba(15, 23, 42, .45); }
  .cp-menu__list { max-height: none; flex: 1 1 auto; padding: 0; -webkit-mask-image: none; mask-image: none; }
  .cp-mg + .cp-mg { border-top: 1px solid #eef1f4; }
  .cp-mg__head { min-height: 52px; padding: 0 16px; font-size: 15.5px; color: #1d1d1f; cursor: pointer; gap: 10px; }
  .cp-mg__icon { display: inline-block; color: #6b7280; font-size: 15px; width: 18px; text-align: center; }
  .cp-mg__count { display: inline; font-size: 12.5px; color: #86868b; font-weight: 500; }
  .cp-mg__caret { display: inline-block; color: #86868b; font-size: 12px; transform: rotate(-90deg); transition: transform .15s ease; }
  .cp-mg.is-expanded .cp-mg__head { color: #0071e3; }
  .cp-mg.is-expanded .cp-mg__icon { color: #0071e3; }
  .cp-mg.is-expanded .cp-mg__caret { transform: none; }
  .cp-mg__items { display: none; padding: 0 8px 8px; }
  .cp-mg.is-expanded .cp-mg__items { display: block; }
  .cp-mi { min-height: 44px; }
  .cp-menu__pref { gap: 18px; padding: 14px 18px; background: #f7f8fa; border-top-color: #eef1f4; }
  body.cp-menu-open::after { content: ""; position: fixed; inset: var(--cp-menu-backdrop-top, 90px) 0 0 0; background: rgba(15, 23, 42, .35); z-index: 10001; } }

body.dark-mode .cp-menu__btn { border-color: #48484a; color: #f5f5f7; }
body.dark-mode .cp-menu__btn i { color: #d1d5db; }
body.dark-mode .cp-menu__btn:hover { border-color: #6e6e73; }
body.dark-mode .cp-menu__btn.is-expanded, body.dark-mode .cp-menu__btn[aria-expanded="true"] { border-color: #0a84ff; background: rgba(10, 132, 255, .14); color: #4faeff; }
body.dark-mode .cp-menu__btn.is-expanded i, body.dark-mode .cp-menu__btn[aria-expanded="true"] i { color: #4faeff; }
body.dark-mode .cp-menu__pop { background: #1c1c1e; border-color: #3a3a3c; box-shadow: 0 24px 60px -12px rgba(0, 0, 0, .7); }
body.dark-mode .cp-mg__head { color: #9ca3af; }
body.dark-mode .cp-mi { color: #f5f5f7; }
body.dark-mode .cp-mi:hover, body.dark-mode .cp-mi:focus-visible { background: #2c2c2e; color: #f5f5f7; }
body.dark-mode .cp-mi.is-current { color: #4faeff; }
body.dark-mode .cp-menu__pref { border-top-color: #3a3a3c; }
body.dark-mode .cp-menu__pref-item { color: #d1d5db; }
body.dark-mode .cp-menu__pref-item i { color: #9ca3af; }
body.dark-mode .cp-color--blue { color: #4d94ff; } body.dark-mode .cp-color--pink { color: #f06aa8; }
body.dark-mode .cp-color--green { color: #34c77b; } body.dark-mode .cp-color--yellow { color: #ffd23f; }
@media (max-width: 991px) {
  body.dark-mode .cp-mg + .cp-mg { border-top-color: #3a3a3c; }
  body.dark-mode .cp-mg__head { color: #f5f5f7; }
  body.dark-mode .cp-mg.is-expanded .cp-mg__head, body.dark-mode .cp-mg.is-expanded .cp-mg__icon { color: #4faeff; }
  body.dark-mode .cp-menu__pref { background: #242426; border-top-color: #3a3a3c; }
  body.dark-mode.cp-menu-open::after { background: rgba(0, 0, 0, .55); }
}
@media (max-width: 1099px) { .site-header-fixed .header-primary-nav { display: none !important; } }
@media (max-width: 1259px) { .site-header-fixed .header-container:has(.cp-header-divisor) .header-primary-nav { display: none !important; } }

body .header-primary-nav-list .header-category-item > .header-category-menu { width: max-content !important; max-width: min(460px, calc(100vw - 24px)) !important; }
body .header-primary-nav-list .header-category-menu .dropdown-item { display: flex !important; align-items: flex-start; gap: 0; white-space: normal !important; overflow-wrap: break-word; text-overflow: clip; overflow: visible; }
body .header-primary-nav-list .header-category-menu .dropdown-item i { flex: 0 0 auto; width: 18px; margin-top: .15em; text-align: center; }
.cp-mi { padding: 7px 10px; line-height: 1.3; }
.cp-mi span { min-width: 0; overflow-wrap: break-word; }
.cp-mi i { flex: 0 0 auto; }
