/* Crystal Mega Menu frontend */
.cmm-wrap{position:relative;display:inline-flex;align-items:center;z-index:9999;font-family:inherit;color:#252b3b}
.cmm-trigger{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 15px;border:0;border-radius:12px;background:#f7f1f8;color:#994db0;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}
.cmm-trigger:hover,.cmm-wrap.cmm-open .cmm-trigger{background:#f0e4f4;color:#823c9b}
.cmm-chevron{font-size:16px;transition:transform .2s ease}.cmm-open .cmm-chevron{transform:rotate(180deg)}
.cmm-panel{position:absolute;top:calc(100% + 9px);left:50%;transform:translateX(-50%);width:690px;max-width:calc(100vw - 28px);max-height:min(700px,calc(100vh - 110px));overflow:auto;padding:20px;background:#fff;border:1px solid #eee6f1;border-radius:22px;box-shadow:0 22px 60px rgba(40,24,55,.17);box-sizing:border-box;color:#252b3b;z-index:999999}
.cmm-panel[hidden]{display:none!important}
.cmm-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 14px;margin-bottom:14px;border-bottom:1px solid #eeeaf1}
.cmm-panel-title{display:flex;align-items:center;gap:10px;font-size:14px;color:#252b3b}.cmm-sparkle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#eaf8ff;color:#129edb;font-size:23px}
.cmm-view-all{color:#139ed9;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}.cmm-view-all:hover{color:#8d43a4}
.cmm-search-box{display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;margin-bottom:17px;border:1px solid #e2e5eb;border-radius:10px;background:#fafbfc;box-sizing:border-box;color:#818a99}
.cmm-search-symbol{font-size:24px;line-height:1}.cmm-search{width:100%;min-width:0;height:34px!important;padding:0!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#252b3b!important;font:inherit!important;font-size:12px!important}
.cmm-search::placeholder{color:#8b93a1}.cmm-section-label{margin:0 2px 9px;color:#98a0af;font-size:10px;font-weight:800;letter-spacing:.7px}
.cmm-popular{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:19px}
.cmm-item{display:flex;align-items:center;gap:8px;min-width:0;color:#596276;text-decoration:none;box-sizing:border-box;transition:background .18s,color .18s}
.cmm-item:hover{color:#8e43a7;background:#f8f2fa}
.cmm-chip{padding:8px;border-radius:9px;background:#f8f4f9;color:#29283a;font-size:11px;font-weight:650;line-height:1.35}
.cmm-item-icon{display:block;flex:0 0 23px;width:23px;height:23px;object-fit:contain;border-radius:6px}
.cmm-chip .cmm-item-icon{width:22px;height:22px;flex-basis:22px}
.cmm-item-fallback{display:inline-flex;align-items:center;justify-content:center;flex:0 0 23px;width:23px;height:23px;border:1px solid #e1d6e9;border-radius:6px;background:#f4edf8;color:#9b6bb6;font-size:12px;font-weight:700}
.cmm-item-name{min-width:0;overflow-wrap:anywhere}
.cmm-all-grid{display:grid;grid-template-columns:repeat(var(--cmm-columns,4),minmax(0,1fr));column-gap:10px;row-gap:4px}
.cmm-category{min-height:34px;padding:4px 3px;border-radius:7px;font-size:11.5px;line-height:1.4}
.cmm-category:hover{background:#f8f3fa}
.cmm-no-results{padding:20px 4px;margin:0;text-align:center;color:#777f90;font-size:13px}
.cmm-panel [hidden]{display:none!important}
@media(min-width:768px){
 .cmm-behavior-both:hover>.cmm-panel,.cmm-behavior-hover:hover>.cmm-panel{display:block}
 .cmm-behavior-both:hover>.cmm-panel[hidden],.cmm-behavior-hover:hover>.cmm-panel[hidden]{display:block!important}
}
@media(max-width:767px){
 .cmm-wrap{width:100%}.cmm-trigger{width:100%;justify-content:space-between}
 .cmm-panel{position:fixed;top:80px;left:12px;transform:none;width:calc(100vw - 24px);max-width:none;max-height:calc(100dvh - 96px);padding:15px;border-radius:17px}
 .cmm-popular{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cmm-all-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cmm-chip{font-size:12px}.cmm-category{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.cmm-trigger,.cmm-chevron,.cmm-item{transition:none}}

/* Existing WordPress navigation item integration */
.cmm-nav-assigned{position:relative!important}
.cmm-nav-assigned>.cmm-panel{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:8px}
.cmm-nav-assigned.cmm-open>.cmm-panel{display:block}
@media(min-width:768px){
 .cmm-nav-assigned:hover>.cmm-panel{display:block}
}
@media(max-width:767px){
 .cmm-nav-assigned>.cmm-panel{position:fixed;top:80px;left:12px;right:12px;transform:none;margin-top:0;width:auto}
}

/* Visibility states for both assigned navigation items and optional shortcode mode */
.cmm-wrap>.cmm-panel{display:none}
.cmm-wrap.cmm-open>.cmm-panel{display:block}
@media(min-width:768px){
 .cmm-wrap.cmm-behavior-both:hover>.cmm-panel,
 .cmm-wrap.cmm-behavior-hover:hover>.cmm-panel{display:block}
}

/* Assignment mode: closed by default; open only on hover or click */
.cmm-nav-assigned{position:relative!important}
.cmm-nav-assigned>.cmm-panel{display:none;position:fixed;left:0;right:auto;transform:none;width:100vw;max-width:100vw;margin-top:0;box-sizing:border-box}
.cmm-nav-assigned>.cmm-panel[hidden]{display:none!important}
.cmm-nav-assigned.cmm-open>.cmm-panel{display:block}
.cmm-nav-assigned.cmm-open>.cmm-panel[hidden]{display:none!important}
.cmm-nav-assigned>a:after{content:"⌄";display:inline-block;margin-left:7px;font-size:.78em;line-height:1;vertical-align:middle;transition:transform .2s ease}
.cmm-nav-assigned.cmm-open>a:after{transform:rotate(180deg)}
@media(min-width:768px){
 .cmm-nav-assigned:hover>.cmm-panel{display:block}
}
@media(max-width:767px){
 .cmm-nav-assigned>.cmm-panel{position:fixed;top:80px;left:12px;right:12px;transform:none;width:auto;max-width:none;max-height:calc(100dvh - 96px);margin-top:0}
}

/* v1.0.3: compact dropdown panel, not full viewport width */
.cmm-nav-assigned>.cmm-panel{
  position:absolute;
  top:calc(100% + 8px);
  left:50%;
  right:auto;
  transform:translateX(-50%);
  width:690px;
  max-width:calc(100vw - 28px);
  margin-top:0;
}
@media(max-width:767px){
  .cmm-nav-assigned>.cmm-panel{
    position:fixed;
    top:80px;
    left:12px;
    right:12px;
    transform:none;
    width:auto;
    max-width:none;
    max-height:calc(100dvh - 96px);
  }
}

/* v1.0.4: enforce compact dropdown on desktop; do not span viewport */
@media (min-width: 768px) {
  .cmm-nav-assigned { position: relative !important; }
  .cmm-nav-assigned > .cmm-panel {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 50% !important;
    right: auto !important;
    width: 690px !important;
    max-width: calc(100vw - 28px) !important;
    transform: translateX(-50%) !important;
    margin-top: 0 !important;
    box-sizing: border-box !important;
  }
}

/* v1.1.0 admin-controlled visual styles */
.cmm-nav-assigned>.cmm-panel,
.cmm-wrap>.cmm-panel{
  width:var(--cmm-panel-width,690px);
  background:var(--cmm-panel-bg,#fff);
  color:var(--cmm-text,#252b3b);
  border-color:var(--cmm-border,#eee6f1);
  border-radius:var(--cmm-radius,22px);
  padding:var(--cmm-padding,20px);
}
.cmm-panel .cmm-panel-title,
.cmm-panel .cmm-item{color:var(--cmm-text,#252b3b)}
.cmm-panel .cmm-view-all{color:var(--cmm-accent,#994db0)}
.cmm-panel .cmm-chip{background:var(--cmm-chip-bg,#f8f4f9)}
.cmm-panel .cmm-category{font-size:var(--cmm-font-size,12px)}
.cmm-panel .cmm-item:hover{color:var(--cmm-accent,#994db0)}
.cmm-panel .cmm-sparkle{color:var(--cmm-accent,#994db0);border:1px solid var(--cmm-border,#eee6f1)}
.cmm-panel.cmm-layout-list .cmm-popular{grid-template-columns:1fr 1fr}
.cmm-panel.cmm-layout-list .cmm-all-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cmm-panel.cmm-layout-list .cmm-chip{background:transparent;border:1px solid var(--cmm-border,#eee6f1);font-weight:500}
.cmm-panel.cmm-layout-colors .cmm-popular{grid-template-columns:repeat(4,minmax(0,1fr))}
.cmm-panel.cmm-layout-colors .cmm-item-icon,
.cmm-panel.cmm-layout-colors .cmm-item-fallback{width:18px;height:18px;flex-basis:18px;border-radius:50%;object-fit:cover}
.cmm-panel.cmm-layout-colors .cmm-item-fallback{font-size:0;background:#d9dce2;border:1px solid #c9cdd5}
.cmm-panel.cmm-layout-colors .cmm-all-grid .cmm-item:nth-child(4n+1) .cmm-item-fallback{background:#202124}
.cmm-panel.cmm-layout-colors .cmm-all-grid .cmm-item:nth-child(4n+2) .cmm-item-fallback{background:#4285f4}
.cmm-panel.cmm-layout-colors .cmm-all-grid .cmm-item:nth-child(4n+3) .cmm-item-fallback{background:#a45116}
.cmm-panel.cmm-layout-colors .cmm-all-grid .cmm-item:nth-child(4n) .cmm-item-fallback{background:#e6e8ed}
@media(max-width:767px){
 .cmm-nav-assigned>.cmm-panel,.cmm-wrap>.cmm-panel{width:auto;max-width:none}
}

/* v1.1.1: simple vertical dropdown matching the compact reference menu */
.cmm-panel.cmm-layout-simple{
  width:var(--cmm-panel-width,300px);
  max-width:calc(100vw - 28px);
  padding:8px;
  border-radius:var(--cmm-radius,16px);
}
.cmm-panel.cmm-layout-simple .cmm-simple-list{display:flex;flex-direction:column;gap:2px}
.cmm-panel.cmm-layout-simple .cmm-category{
  display:flex;align-items:center;gap:10px;
  min-height:38px;padding:8px 10px;border-radius:9px;
  font-size:var(--cmm-font-size,13px);color:var(--cmm-text,#596276);
}
.cmm-panel.cmm-layout-simple .cmm-category:hover{
  color:var(--cmm-accent,#994db0);background:var(--cmm-chip-bg,#f8f4f9);
}
.cmm-panel.cmm-layout-simple .cmm-item-icon,
.cmm-panel.cmm-layout-simple .cmm-item-fallback{
  width:22px;height:22px;flex-basis:22px;border-radius:6px;
}
.cmm-panel.cmm-layout-simple .cmm-no-results{display:none}
@media(max-width:767px){
 .cmm-panel.cmm-layout-simple{width:auto;max-width:none;padding:8px}
}
