/* ===========================================================
   Spacivo Category Menu — maroon category bar with per-item configurable
   dropdown submenus. Self-contained plugin CSS (no theme dependency
   beyond the theme's own .container wrapper and --color-accent variable).
   =========================================================== */

.spacivo-cm {
  background-color: var(--color-accent, #8A1748);
  border-top: 1px solid rgba(255,255,255,.15);
}
.spacivo-cm .container { overflow: visible; }

.spacivo-cm__list {
  display: flex; list-style: none; margin: 0; padding: .1rem 0;
  gap: 0; overflow-x: auto; -webkit-overflow-scrolling: touch;
}
.spacivo-cm__list::-webkit-scrollbar { height: 4px; }
.spacivo-cm__list::-webkit-scrollbar-track { background: transparent; }
.spacivo-cm__list::-webkit-scrollbar-thumb { background: rgba(255,255,255,.4); border-radius: 2px; }

.spacivo-cm__item { flex-shrink: 0; position: relative; }

.spacivo-cm__link {
  display: flex; align-items: center; gap: .3rem;
  padding: .65rem 1rem; color: #fff; text-decoration: none;
  font-weight: 500; font-size: .9rem; white-space: nowrap;
  border-bottom: 2px solid transparent; transition: opacity .2s ease;
}
.spacivo-cm__link:hover { opacity: .85; text-decoration: none; }
.spacivo-cm__caret { flex-shrink: 0; transition: transform .2s ease; }

.spacivo-cm__submenu {
  list-style: none; margin: 0; padding: .5rem 0;
  position: absolute; top: 100%; left: 0; min-width: 200px; z-index: 40;
  background: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.15); border-radius: 0 0 6px 6px;
  display: none;
}
.spacivo-cm__submenu a {
  display: block; padding: .55rem 1.1rem; color: #2A211D; text-decoration: none;
  font-size: .88rem; white-space: nowrap;
}
.spacivo-cm__submenu a:hover { background: #F1ECE5; color: #8A1748; }

/* Desktop: hover reveals the dropdown. */
@media (hover: hover) {
  .spacivo-cm__item.has-submenu:hover .spacivo-cm__submenu { display: block; }
  .spacivo-cm__item.has-submenu:hover .spacivo-cm__caret { transform: rotate(180deg); }
}

/* Touch / keyboard: JS toggles this class (see assets/js/category-menu.js). */
.spacivo-cm__item.is-open .spacivo-cm__submenu { display: block; }
.spacivo-cm__item.is-open .spacivo-cm__caret { transform: rotate(180deg); }

.spacivo-cm-unconfigured-notice {
  font-size: .85rem; color: #a22022; background: #fff3f3; border: 1px dashed #a22022;
  padding: .75rem 1rem; margin: 1rem auto; max-width: 1280px;
}

@media (max-width: 1024px) {
  .spacivo-cm__list { padding: .1rem 1rem; }
}

@media (max-width: 750px) {
  .spacivo-cm { display: none; }
}
