.icmsm-root{display:inline-flex;align-items:center;font-family:var(--icmsm-font-family,inherit)}
.icmsm-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:var(--icmsm-trigger-w);height:var(--icmsm-trigger-h);padding:var(--icmsm-trigger-pt) var(--icmsm-trigger-pr) var(--icmsm-trigger-pb) var(--icmsm-trigger-pl);margin:var(--icmsm-trigger-mt) var(--icmsm-trigger-mr) var(--icmsm-trigger-mb) var(--icmsm-trigger-ml);transform:translate(calc(var(--icmsm-trigger-move-right) - var(--icmsm-trigger-move-left)),calc(var(--icmsm-trigger-move-down) - var(--icmsm-trigger-move-up)));color:var(--icmsm-trigger-color);background:var(--icmsm-trigger-bg);border:var(--icmsm-trigger-border-width) solid var(--icmsm-trigger-border);border-radius:var(--icmsm-trigger-radius);cursor:pointer;line-height:1;box-sizing:border-box}
.icmsm-trigger-icon{display:inline-flex;font-size:var(--icmsm-trigger-icon-size)}
.icmsm-trigger-icon svg{display:block}
.icmsm-trigger-label{font-size:14px;white-space:nowrap}
.icmsm-overlay{position:fixed;inset:0;background:var(--icmsm-overlay);opacity:0;z-index:999998;transition:opacity .28s ease}
.icmsm-overlay.is-visible{opacity:var(--icmsm-overlay-opacity)}
.icmsm-panel{position:fixed;z-index:999999;background:var(--icmsm-panel-bg);color:var(--icmsm-text);font-size:var(--icmsm-font-size);font-family:var(--icmsm-font-family);line-height:var(--icmsm-line-height);overflow:hidden;border:var(--icmsm-panel-border-width) solid var(--icmsm-panel-border);border-radius:var(--icmsm-panel-radius);transition:transform .32s cubic-bezier(.22,.61,.36,1);box-sizing:border-box}
.icmsm-has-shadow .icmsm-panel{box-shadow:0 18px 50px rgba(0,0,0,.22)}
.icmsm-dir-left .icmsm-panel{left:0;top:0;bottom:0;width:min(var(--icmsm-panel-width),92vw);transform:translateX(-105%)}
.icmsm-dir-right .icmsm-panel{right:0;top:0;bottom:0;width:min(var(--icmsm-panel-width),92vw);transform:translateX(105%)}
.icmsm-dir-top .icmsm-panel{left:0;right:0;top:0;height:var(--icmsm-panel-top-height);transform:translateY(-105%)}
.icmsm-panel.is-open{transform:translate(0,0)}
.icmsm-panel-inner{height:100%;display:flex;flex-direction:column;overflow:hidden}
.icmsm-topbar{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;background:var(--icmsm-header-bg);color:var(--icmsm-header-text);border-bottom:1px solid var(--icmsm-tab-border);box-sizing:border-box;flex:0 0 auto}
/* v1.2.5: when header copy is disabled, keep only a compact close-button row.
   Explicit sizing with !important prevents theme button/div rules from stretching the blank area. */
.icmsm-topbar.icmsm-topbar-close-only{height:var(--icmsm-top-blank-height,54px)!important;min-height:var(--icmsm-top-blank-height,54px)!important;max-height:var(--icmsm-top-blank-height,54px)!important;padding:6px 10px!important;justify-content:flex-end!important;gap:0!important;flex:0 0 var(--icmsm-top-blank-height,54px)!important;box-sizing:border-box!important}
.icmsm-topbar.icmsm-topbar-close-only>span:first-child{display:none!important}
.icmsm-topbar.icmsm-topbar-close-only .icmsm-close{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important;margin:0!important;padding:0!important;line-height:1!important;box-sizing:border-box!important}
.icmsm-header-title{font-weight:700;font-size:1.05em}.icmsm-header-subtitle{font-size:.86em;opacity:.75;margin-top:2px}
.icmsm-close{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:0;background:transparent;color:var(--icmsm-close-color);font-size:var(--icmsm-close-size);cursor:pointer;padding:0}
.icmsm-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--icmsm-tab-bg);border-bottom:1px solid var(--icmsm-tab-border)}
.icmsm-tab{appearance:none;border:0;border-right:1px solid var(--icmsm-tab-border);padding:13px 10px;background:var(--icmsm-tab-bg);color:var(--icmsm-tab-text);font:inherit;font-size:var(--icmsm-tab-font-size);font-weight:600;cursor:pointer}
.icmsm-tab:last-child{border-right:0}.icmsm-tab.is-active{background:var(--icmsm-tab-active-bg);color:var(--icmsm-tab-active-text)}
.icmsm-tabpanels{flex:1;overflow:auto;-webkit-overflow-scrolling:touch}
.icmsm-tabpanel{display:none}.icmsm-tabpanel.is-active{display:block}
.icmsm-nav{list-style:none;margin:0;padding:0}.icmsm-nav li{margin:0;padding:0;list-style:none}
.icmsm-nav a{display:flex;align-items:center;justify-content:space-between;color:var(--icmsm-text);text-decoration:none;padding:var(--icmsm-item-py) var(--icmsm-item-px);border-bottom:var(--icmsm-item-border-width) solid var(--icmsm-item-border);border-radius:var(--icmsm-item-radius);transition:background .18s ease,color .18s ease}
.icmsm-nav a:hover,.icmsm-nav a:focus{background:rgba(127,127,127,.08)}
.icmsm-nav .sub-menu{list-style:none;margin:0;padding:0 0 0 var(--icmsm-submenu-indent);background:var(--icmsm-submenu-bg)}
.icmsm-nav .sub-menu li{margin:0;padding:0;list-style:none}
.icmsm-nav .sub-menu a{font-family:var(--icmsm-submenu-font-family);font-size:var(--icmsm-submenu-font-size);font-weight:var(--icmsm-submenu-font-weight);color:var(--icmsm-submenu-text)!important;background:var(--icmsm-submenu-bg);padding:var(--icmsm-submenu-py) var(--icmsm-submenu-px);border-bottom:var(--icmsm-submenu-border-width) solid var(--icmsm-submenu-border);border-radius:var(--icmsm-submenu-radius);opacity:1}
.icmsm-nav .sub-menu a:hover,.icmsm-nav .sub-menu a:focus{color:var(--icmsm-submenu-hover-text)!important;background:var(--icmsm-submenu-hover-bg)}
.icmsm-nav .sub-menu .current-menu-item>a,.icmsm-nav .sub-menu .current_page_item>a,.icmsm-nav .sub-menu .current-menu-ancestor>a{color:var(--icmsm-submenu-active-text)!important;background:var(--icmsm-submenu-active-bg)}
.icmsm-empty{padding:24px;color:var(--icmsm-text);opacity:.6;text-align:center}
body.icmsm-lock{overflow:hidden!important;touch-action:none}
.icmsm-custom-items{display:flex;flex-direction:column}.icmsm-custom-link a,.icmsm-custom-link .icmsm-link-static,.icmsm-custom-text{display:flex;align-items:center;color:var(--icmsm-text);text-decoration:none;padding:var(--icmsm-item-py) var(--icmsm-item-px);border-bottom:var(--icmsm-item-border-width) solid var(--icmsm-item-border);border-radius:var(--icmsm-item-radius);box-sizing:border-box}.icmsm-custom-link a:hover,.icmsm-custom-link a:focus{background:rgba(127,127,127,.08)}.icmsm-custom-text{font-weight:600}.icmsm-custom-image{padding:10px var(--icmsm-item-px)}.icmsm-custom-image a{display:block}.icmsm-custom-image img{display:block;width:100%;height:auto;border-radius:var(--icmsm-item-radius)}

.icmsm-member-panel{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--icmsm-tab-border);box-sizing:border-box}
.icmsm-member-avatar{flex:0 0 auto}.icmsm-member-avatar img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}.icmsm-guest-avatar{border-radius:50%;display:flex;align-items:center;justify-content:center}.icmsm-guest-avatar .dashicons{font-size:25px;width:25px;height:25px;color:inherit}
.icmsm-member-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.icmsm-member-name{font-size:1em;line-height:1.3}.icmsm-member-subtitle,.icmsm-member-email{font-size:.82em;opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.icmsm-link-main{display:inline-flex;align-items:center;gap:10px;min-width:0}.icmsm-item-icon{flex:0 0 auto;font-size:1.12em;width:1.12em;height:1.12em}.icmsm-custom-text{gap:10px}.icmsm-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--icmsm-tab-active-text);color:var(--icmsm-tab-active-bg);font-size:12px;font-weight:700;line-height:1;box-sizing:border-box}

/* v1.2.1 embedded WordPress menu item */
.icmsm-custom-menu-title{padding:10px var(--icmsm-item-px);font-weight:700;color:var(--icmsm-text)}
.icmsm-custom-menu .icmsm-nav{margin:0;padding:0;list-style:none}

.icmsm-custom-shortcode{padding:var(--icmsm-item-py) var(--icmsm-item-px);box-sizing:border-box;max-width:100%;overflow-wrap:anywhere}
.icmsm-custom-shortcode img{max-width:100%;height:auto}

.icmsm-custom-spacer{display:block!important;width:100%!important;box-sizing:border-box!important;flex-shrink:0!important;pointer-events:none!important}


/* v1.2.9: keep the opened mobile panel pinned to the viewport.
   Overscroll containment prevents a swipe from propagating to the page behind the menu. */
.icmsm-panel.is-open{position:fixed!important}
.icmsm-tabpanels{overscroll-behavior:contain}
.icmsm-panel-inner{overscroll-behavior:contain}
body.icmsm-lock{overscroll-behavior:none!important}

/* v1.2.10 - Top logo / image area */
.icmsm-top-image-wrap{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  padding:var(--icmsm-top-image-py) var(--icmsm-top-image-px);
  box-sizing:border-box;
}
.icmsm-top-image-wrap.icmsm-align-left{justify-content:flex-start}
.icmsm-top-image-wrap.icmsm-align-center{justify-content:center}
.icmsm-top-image-wrap.icmsm-align-right{justify-content:flex-end}
.icmsm-top-image{
  display:block!important;
  width:min(var(--icmsm-top-image-width),100%)!important;
  max-width:100%!important;
  height:auto!important;
  max-height:var(--icmsm-top-image-max-height)!important;
  object-fit:contain!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.icmsm-topbar.icmsm-topbar-has-image{padding:0 10px 0 0}
.icmsm-topbar.icmsm-topbar-has-image .icmsm-close{flex:0 0 42px}


/* v1.2.13 - Top area height applies whenever no Logo/image is present,
   regardless of whether the optional title/subtitle header is enabled. */
.icmsm-topbar.icmsm-topbar-no-image{
    height:var(--icmsm-top-blank-height,54px)!important;
    min-height:var(--icmsm-top-blank-height,54px)!important;
    max-height:var(--icmsm-top-blank-height,54px)!important;
    flex:0 0 var(--icmsm-top-blank-height,54px)!important;
    box-sizing:border-box!important;
}
.icmsm-topbar.icmsm-topbar-no-image.icmsm-topbar-has-header{
    padding:6px 10px 6px 14px!important;
}
.icmsm-topbar.icmsm-topbar-has-image{
    height:auto!important;
    min-height:62px!important;
    max-height:none!important;
    flex:0 0 auto!important;
}

/* v1.2.15 - Text-link items without a URL remain visible as non-clickable text. */
.icmsm-custom-link.is-no-link .icmsm-link-static{
    cursor:default;
    width:100%;
}

/* v1.2.17 - WordPress submenu accordion */
.icmsm-nav li.menu-item-has-children{position:relative}
.icmsm-submenu-toggle{position:absolute;right:8px;top:7px;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;margin:0;border:0;border-radius:8px;background:var(--icmsm-submenu-toggle-bg);color:var(--icmsm-submenu-toggle-color);cursor:pointer;box-sizing:border-box;font-size:var(--icmsm-submenu-toggle-size);line-height:1}
.icmsm-submenu-toggle::before{content:"›";display:block;transform:rotate(90deg);transition:transform .18s ease;font-size:1.35em;line-height:1}
.icmsm-nav li.is-submenu-open>.icmsm-submenu-toggle::before{transform:rotate(-90deg)}
.icmsm-root[data-submenu-behavior="accordion"] .icmsm-nav li.menu-item-has-children:not(.is-submenu-open)>.sub-menu{display:none!important}
.icmsm-root[data-submenu-behavior="accordion"] .icmsm-nav li.menu-item-has-children.is-submenu-open>.sub-menu{display:block!important}
.icmsm-root[data-submenu-behavior="expanded"] .icmsm-submenu-toggle{display:none!important}
.icmsm-nav li.menu-item-has-children>a{padding-right:52px}

/* v1.2.17 - Per-item independent style support */
.icmsm-custom-link [style],.icmsm-custom-text[style],.icmsm-custom-image[style],.icmsm-custom-shortcode[style],.icmsm-custom-menu[style]{box-sizing:border-box}


/* v1.2.18 - Social media item */
.icmsm-social-item{
  padding:var(--icmsm-item-py) var(--icmsm-item-px);
  box-sizing:border-box;
}
.icmsm-social-title{
  margin-bottom:10px;
  font-weight:700;
  color:inherit;
}
.icmsm-social-icons{
  display:flex;
  flex-wrap:wrap;
  gap:var(--icmsm-social-gap,10px);
  align-items:center;
}
.icmsm-social-align-left .icmsm-social-icons{justify-content:flex-start}
.icmsm-social-align-center .icmsm-social-icons{justify-content:center}
.icmsm-social-align-right .icmsm-social-icons{justify-content:flex-end}
.icmsm-social-icon{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:var(--icmsm-social-size,44px)!important;
  height:var(--icmsm-social-size,44px)!important;
  min-width:var(--icmsm-social-size,44px)!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:12px!important;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800!important;
  line-height:1!important;
  box-sizing:border-box!important;
  overflow:hidden;
}
.icmsm-social-icon span{display:block;line-height:1;font-size:calc(var(--icmsm-social-size,44px) * .42)}
.icmsm-social-line span,.icmsm-social-wechat span{font-size:calc(var(--icmsm-social-size,44px) * .25)}
.icmsm-social-fb{background:#1877f2!important}
.icmsm-social-youtube{background:#ff0000!important}
.icmsm-social-line{background:#06c755!important}
.icmsm-social-wechat{background:#07c160!important}
.icmsm-social-ig{background:#c13584!important}
.icmsm-social-threads{background:#111!important}
.icmsm-social-linkedin{background:#0a66c2!important}
.icmsm-social-icon:hover,.icmsm-social-icon:focus{filter:brightness(.92);transform:translateY(-1px)}


/* v1.2.19 - Per specified WordPress menu submenu behavior */
.icmsm-nav li.menu-item-has-children.has-submenu-toggle:not(.is-submenu-open)>.sub-menu{display:none!important}
.icmsm-nav li.menu-item-has-children.has-submenu-toggle.is-submenu-open>.sub-menu{display:block!important}
.icmsm-custom-menu[data-menu-submenu-behavior="expanded"] .icmsm-submenu-toggle{display:none!important}


/* v1.2.20 - Mixed HTML / Shortcode content */
.icmsm-custom-html-shortcode{
  padding:var(--icmsm-item-py) var(--icmsm-item-px);
  box-sizing:border-box;
  max-width:100%;
  overflow-wrap:anywhere;
}
.icmsm-custom-html-shortcode img{max-width:100%;height:auto}
.icmsm-custom-html-shortcode iframe{max-width:100%}

/* v1.2.21 - Enabled social icons remain visible even without URL. */
.icmsm-social-icon.is-no-link{
  cursor:default!important;
  pointer-events:none!important;
  opacity:1!important;
}


/* v1.2.22 - Unified SVG social icon system */
.icmsm-social-icon{
  border-radius:14px!important;
  box-shadow:0 2px 8px rgba(0,0,0,.10);
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease!important;
}
.icmsm-social-svg{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:56%!important;
  height:56%!important;
  line-height:1!important;
}
.icmsm-social-svg svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:visible!important;
}
.icmsm-social-icon:hover,
.icmsm-social-icon:focus{
  transform:translateY(-2px)!important;
  filter:brightness(.96)!important;
  box-shadow:0 5px 14px rgba(0,0,0,.16)!important;
}
.icmsm-social-icon.is-no-link:hover{
  transform:none!important;
  filter:none!important;
  box-shadow:0 2px 8px rgba(0,0,0,.10)!important;
}

/* Platform refinements */
.icmsm-social-fb{background:#1877f2!important}
.icmsm-social-youtube{background:#ff0000!important}
.icmsm-social-line{background:#06c755!important}
.icmsm-social-wechat{background:#07c160!important}
.icmsm-social-ig{
  background:linear-gradient(135deg,#f9ce34 0%,#ee2a7b 45%,#6228d7 100%)!important;
}
.icmsm-social-threads{background:#111!important}
.icmsm-social-linkedin{background:#0a66c2!important}

.icmsm-social-youtube .icmsm-social-svg{width:62%!important;height:62%!important}
.icmsm-social-line .icmsm-social-svg{width:64%!important;height:64%!important}
.icmsm-social-wechat .icmsm-social-svg{width:62%!important;height:62%!important}
.icmsm-social-threads .icmsm-social-svg{width:60%!important;height:60%!important}
.icmsm-social-linkedin .icmsm-social-svg{width:58%!important;height:58%!important}


/* v1.2.26 - Logged-in member panel: avatar left, name/email right */
.icmsm-member-panel.is-logged-in{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
}
.icmsm-member-panel.is-logged-in .icmsm-member-avatar{
  flex:0 0 auto!important;
  border-radius:50%!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.icmsm-member-panel.is-logged-in .icmsm-member-avatar img,
.icmsm-member-panel.is-logged-in .icmsm-member-avatar .avatar,
.icmsm-member-panel.is-logged-in .icmsm-member-avatar-img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  border-radius:50%!important;
  object-fit:cover!important;
  margin:0!important;
}
.icmsm-member-panel.is-logged-in .icmsm-member-avatar .dashicons{
  width:auto!important;
  height:auto!important;
  font-size:calc(min(var(--icmsm-avatar-size,56px),56px) * .48)!important;
  line-height:1!important;
  color:inherit!important;
}
.icmsm-member-copy-logged{
  min-width:0!important;
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:5px!important;
}
.icmsm-member-copy-logged .icmsm-member-name{
  display:block!important;
  line-height:1.25!important;
  margin:0!important;
  overflow-wrap:anywhere!important;
}
.icmsm-member-copy-logged .icmsm-member-email{
  display:block!important;
  line-height:1.3!important;
  margin:0!important;
  overflow-wrap:anywhere!important;
}
