/* =====================================================
   AMIR SMART CATEGORY MENU 2.0
   Fixed corner button + desktop mega popup + mobile sheet
   Lightweight / WooCommerce safe / Elementor safe
   ===================================================== */

.asmm,
.asmm *{box-sizing:border-box}

.asmm{
  --asmm-accent:#2db2c0;
  --asmm-accent-2:#16a3b1;
  --asmm-dark:#10232a;
  --asmm-text:#1d2a30;
  --asmm-muted:#7d8a93;
  --asmm-line:rgba(45,178,192,.18);
  --asmm-soft:#effdff;
  --asmm-shadow:0 22px 70px rgba(15,23,42,.16),0 10px 26px rgba(45,178,192,.12);
  font-family:inherit;
  direction:ltr;
  z-index:999998;
}

.asmm a,
.asmm button,
.asmm input{
  -webkit-tap-highlight-color:transparent;
  font-family:inherit;
}

.asmm--floating{position:fixed}
.asmm--bottom-right{right:24px;bottom:24px}
.asmm--bottom-left{left:24px;bottom:24px}
.asmm--top-right{right:24px;top:24px}
.asmm--top-left{left:24px;top:24px}
.asmm--inline{position:relative;display:inline-flex;z-index:9999}

.asmm-hide-desktop{display:none!important}

.asmm-trigger{
  min-width:54px;
  height:54px;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.70);
  border-radius:999px;
  color:#fff;
  cursor:pointer;
  background:
    radial-gradient(circle at 25% 15%,rgba(255,255,255,.42),transparent 30%),
    linear-gradient(135deg,var(--asmm-accent),#13808c);
  box-shadow:0 14px 34px rgba(45,178,192,.30),0 3px 10px rgba(15,23,42,.12);
  overflow:hidden;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}

.asmm-trigger:hover,
.asmm.is-open .asmm-trigger{
  transform:translateY(-1px);
  filter:saturate(1.08);
  box-shadow:0 18px 42px rgba(45,178,192,.38),0 6px 18px rgba(15,23,42,.16);
}

.asmm-trigger:active{transform:scale(.97)}

.asmm-trigger-glow{
  position:absolute;
  inset:-40% auto auto -20%;
  width:82px;
  height:82px;
  border-radius:999px;
  background:rgba(255,255,255,.22);
  pointer-events:none;
}

.asmm-trigger-icon{
  width:18px;
  height:18px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:3px;
  flex:0 0 auto;
  position:relative;
}

.asmm-trigger-icon i{
  display:block;
  border-radius:4px;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.10);
}

.asmm-trigger-label{
  position:relative;
  font-size:14px;
  font-weight:900;
  letter-spacing:.1px;
  line-height:1;
  white-space:nowrap;
}

.asmm-backdrop{
  position:fixed;
  inset:0;
  z-index:999996;
  background:rgba(10,19,24,.28);
  backdrop-filter:blur(2px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,visibility .18s ease;
}

.asmm.is-open .asmm-backdrop{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.asmm-panel{
  position:fixed;
  z-index:999997;
  width:min(940px,calc(100vw - 48px));
  height:min(650px,calc(100vh - 122px));
  display:flex;
  flex-direction:column;
  border:1px solid rgba(255,255,255,.80);
  border-radius:30px;
  background:
    radial-gradient(circle at 8% 0%,rgba(196,250,255,.62),transparent 32%),
    radial-gradient(circle at 100% 12%,rgba(45,178,192,.20),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,254,255,.96));
  box-shadow:var(--asmm-shadow);
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(12px) scale(.985);
  transition:opacity .18s ease,visibility .18s ease,transform .18s ease;
}

.asmm--bottom-right .asmm-panel{right:24px;bottom:92px;transform-origin:100% 100%}
.asmm--bottom-left .asmm-panel{left:24px;bottom:92px;transform-origin:0 100%}
.asmm--top-right .asmm-panel{right:24px;top:92px;transform-origin:100% 0;transform:translateY(-12px) scale(.985)}
.asmm--top-left .asmm-panel{left:24px;top:92px;transform-origin:0 0;transform:translateY(-12px) scale(.985)}
.asmm--inline .asmm-panel{position:absolute;left:0;top:calc(100% + 12px);right:auto;bottom:auto;width:min(940px,calc(100vw - 32px));height:min(650px,calc(100vh - 150px));transform-origin:0 0}

.asmm.is-open .asmm-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

.asmm-panel-head{
  min-height:78px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto 42px;
  align-items:center;
  gap:13px;
  padding:16px 18px;
  border-bottom:1px solid rgba(45,178,192,.13);
}

.asmm-brand-dot{
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:linear-gradient(145deg,#fff,var(--asmm-soft));
  border:1px solid rgba(45,178,192,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 18px rgba(45,178,192,.09);
}

.asmm-brand-dot span{
  width:20px;
  height:20px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:3px;
}

.asmm-brand-dot span:before,
.asmm-brand-dot span:after{
  content:"";
  display:block;
  border-radius:5px;
  background:var(--asmm-accent-2);
  box-shadow:12px 0 0 var(--asmm-accent-2),0 12px 0 var(--asmm-accent-2),12px 12px 0 var(--asmm-accent-2);
}

.asmm-brand-dot span:after{display:none}

.asmm-head-text{min-width:0;display:flex;flex-direction:column;gap:4px}
.asmm-head-text strong{color:var(--asmm-dark);font-size:19px;font-weight:950;letter-spacing:-.45px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asmm-head-text small{color:var(--asmm-muted);font-size:12px;font-weight:750;line-height:1}

.asmm-all{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border-radius:999px;
  color:#0b7782!important;
  text-decoration:none!important;
  background:linear-gradient(180deg,#fff,#e9fbfd);
  border:1px solid rgba(45,178,192,.20);
  font-size:12.5px;
  font-weight:900;
  white-space:nowrap;
}

.asmm-all:hover{border-color:rgba(45,178,192,.42);background:#fff}

.asmm-close{
  width:42px;
  height:42px;
  border:1px solid rgba(45,178,192,.18);
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#eefcff);
  cursor:pointer;
  position:relative;
}

.asmm-close:before,
.asmm-close:after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:16px;height:2px;
  border-radius:99px;
  background:#0b7782;
}
.asmm-close:before{transform:translate(-50%,-50%) rotate(45deg)}
.asmm-close:after{transform:translate(-50%,-50%) rotate(-45deg)}

.asmm-search-wrap{
  height:58px;
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 18px;
  padding:0 15px;
  border-radius:0 0 22px 22px;
  border:1px solid rgba(45,178,192,.12);
  border-top:0;
  background:rgba(255,255,255,.66);
}

.asmm-search-wrap span{
  width:17px;
  height:17px;
  border:2px solid #0b7782;
  border-radius:99px;
  position:relative;
  flex:0 0 auto;
  opacity:.82;
}
.asmm-search-wrap span:after{
  content:"";
  position:absolute;
  width:7px;height:2px;
  border-radius:99px;
  background:#0b7782;
  right:-5px;bottom:-3px;
  transform:rotate(45deg);
}

.asmm-search{
  width:100%;
  min-width:0;
  height:42px;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:var(--asmm-text)!important;
  font-size:14px!important;
  font-weight:750;
  padding:0!important;
}
.asmm-search::placeholder{color:#9aa7ad;opacity:1}

.asmm-body{
  min-height:0;
  flex:1;
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:14px;
  padding:16px 18px 18px;
}

.asmm-parents{
  min-width:0;
  max-height:100%;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:0 4px 0 0;
  scrollbar-width:thin;
  scrollbar-color:rgba(45,178,192,.42) transparent;
}

.asmm-parent{
  width:100%;
  min-height:64px;
  display:grid;
  grid-template-columns:45px minmax(0,1fr) 12px;
  align-items:center;
  gap:11px;
  padding:9px 11px;
  border:1px solid transparent;
  border-radius:20px;
  background:rgba(255,255,255,.50);
  color:var(--asmm-text);
  text-align:left;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}

.asmm-parent:hover,
.asmm-parent.is-active{
  transform:translateX(2px);
  background:linear-gradient(180deg,#fff,#e8fbfd);
  border-color:rgba(45,178,192,.24);
  box-shadow:0 5px 16px rgba(45,178,192,.08),inset 0 1px 0 rgba(255,255,255,.95);
}

.asmm-term-img,
.asmm-section-img,
.asmm-card-img{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 0 auto;
  color:#0b7782;
  background:linear-gradient(145deg,#fff,#e7fbfd);
  border:1px solid rgba(45,178,192,.18);
}

.asmm-term-img{width:45px;height:45px;border-radius:16px}
.asmm-term-img img,
.asmm-section-img img,
.asmm-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.asmm-term-img b,
.asmm-section-img b,
.asmm-card-img b{font-size:18px;font-weight:950;line-height:1;text-transform:uppercase}

.asmm-parent-copy{min-width:0;display:flex;flex-direction:column;gap:5px}
.asmm-parent-copy strong{font-size:13.5px;font-weight:900;line-height:1.14;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--asmm-text)}
.asmm-parent-copy em,
.asmm-section-title em,
.asmm-card em{font-style:normal;font-size:11.5px;font-weight:780;line-height:1;color:var(--asmm-muted)}
.asmm-parent i{width:8px;height:8px;border-right:2px solid #0b7782;border-bottom:2px solid #0b7782;transform:rotate(-45deg);opacity:.62}

.asmm-content{
  min-width:0;
  min-height:0;
  position:relative;
  overflow:auto;
  border:1px solid rgba(45,178,192,.12);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(255,255,255,.70),rgba(247,254,255,.64));
  scrollbar-width:thin;
  scrollbar-color:rgba(45,178,192,.42) transparent;
}

.asmm-section{display:none;padding:18px;min-height:100%}
.asmm-section.is-active{display:block}
.asmm.is-searching .asmm-section.is-active{display:block}
.asmm-section.is-filter-hidden{display:none!important}

.asmm-section-title{
  min-height:64px;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  margin-bottom:14px;
}

.asmm-section-img{width:54px;height:54px;border-radius:19px;background:#fff}
.asmm-section-title span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:6px}
.asmm-section-title strong{color:var(--asmm-dark);font-size:20px;font-weight:950;letter-spacing:-.45px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asmm-section-title a{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 13px;
  border-radius:999px;
  color:#0b7782!important;
  text-decoration:none!important;
  background:#fff;
  border:1px solid rgba(45,178,192,.16);
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}

.asmm-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.asmm-card{
  min-width:0;
  min-height:74px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  align-items:center;
  gap:11px;
  padding:11px;
  border-radius:20px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(45,178,192,.12);
  color:var(--asmm-text)!important;
  text-decoration:none!important;
  transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}

.asmm-card:hover{
  transform:translateY(-1px);
  background:#fff;
  border-color:rgba(45,178,192,.30);
  box-shadow:0 7px 18px rgba(45,178,192,.08);
}

.asmm-card-img{width:46px;height:46px;border-radius:16px}
.asmm-card span:last-child{min-width:0;display:flex;flex-direction:column;gap:6px}
.asmm-card strong{font-size:13.2px;font-weight:900;line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--asmm-text)}

.asmm-card--all{
  background:linear-gradient(180deg,#fff,#e8fbfd);
  border-color:rgba(45,178,192,.22);
}
.asmm-card-icon{
  width:46px;
  height:46px;
  border-radius:16px;
  position:relative;
  background:linear-gradient(135deg,var(--asmm-accent),#0b7782);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38);
}
.asmm-card-icon:before,
.asmm-card-icon:after{
  content:"";
  position:absolute;
  background:#fff;
  border-radius:4px;
}
.asmm-card-icon:before{left:13px;top:13px;width:8px;height:8px;box-shadow:13px 0 0 #fff,0 13px 0 #fff,13px 13px 0 #fff}
.asmm-card-icon:after{display:none}

.asmm-parent.is-filter-hidden,
.asmm-card.is-filter-hidden{display:none!important}

.asmm-no-results{
  display:none;
  min-height:220px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:7px;
  color:var(--asmm-muted);
  text-align:center;
}
.asmm-no-results strong{font-size:17px;color:var(--asmm-dark);font-weight:950}
.asmm-no-results span{font-size:13px;font-weight:760}
.asmm.has-no-results .asmm-no-results{display:flex}

body.asmm-lock{overflow:hidden!important}

@media(max-width:1024px){
  .asmm-panel{width:min(860px,calc(100vw - 34px))}
  .asmm-body{grid-template-columns:250px minmax(0,1fr)}
  .asmm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:782px){
  .asmm-hide-mobile{display:none!important}
  .asmm-show-desktop.asmm-hide-mobile{display:none!important}
  .asmm--floating{right:16px;left:auto;bottom:84px;top:auto}
  .asmm--bottom-left,
  .asmm--top-left{left:16px;right:auto;bottom:84px;top:auto}
  .asmm--top-right{right:16px;bottom:84px;top:auto}

  .asmm-trigger{height:52px;min-width:52px;padding:0 16px;border-radius:18px}
  .asmm-trigger-label{font-size:13px}

  .asmm-backdrop{background:rgba(8,16,20,.50);backdrop-filter:blur(3px)}
  .asmm-panel,
  .asmm--bottom-right .asmm-panel,
  .asmm--bottom-left .asmm-panel,
  .asmm--top-right .asmm-panel,
  .asmm--top-left .asmm-panel{
    left:10px;
    right:10px;
    top:auto;
    bottom:12px;
    width:auto;
    height:min(84vh,720px);
    border-radius:30px 30px 24px 24px;
    transform:translateY(110%);
    transform-origin:50% 100%;
  }

  .asmm.is-open .asmm-panel{transform:translateY(0)}

  .asmm-panel-head{
    min-height:70px;
    grid-template-columns:42px minmax(0,1fr) 38px;
    padding:14px;
  }
  .asmm-brand-dot{width:42px;height:42px;border-radius:15px}
  .asmm-head-text strong{font-size:17px}
  .asmm-head-text small{font-size:11px}
  .asmm-all{display:none}
  .asmm-close{width:38px;height:38px;border-radius:14px}

  .asmm-search-wrap{height:54px;margin:0 14px;padding:0 14px;border-radius:18px;background:rgba(255,255,255,.78);border-top:1px solid rgba(45,178,192,.12)}
  .asmm-search{font-size:14px!important}

  .asmm-body{
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:12px 14px 14px;
  }

  .asmm-parents{
    flex:0 0 auto;
    max-height:none;
    display:flex;
    flex-direction:row;
    gap:8px;
    overflow:auto;
    padding:0 1px 2px;
  }

  .asmm-parent{
    width:auto;
    min-width:145px;
    min-height:58px;
    grid-template-columns:38px minmax(0,1fr);
    padding:8px 10px;
    border-radius:18px;
  }
  .asmm-parent i{display:none}
  .asmm-term-img{width:38px;height:38px;border-radius:14px}
  .asmm-parent-copy strong{font-size:12.5px}
  .asmm-parent-copy em{font-size:10.5px}

  .asmm-content{flex:1;border-radius:22px}
  .asmm-section{padding:14px}
  .asmm-section-title{grid-template-columns:46px minmax(0,1fr);gap:10px;min-height:54px;margin-bottom:12px}
  .asmm-section-img{width:46px;height:46px;border-radius:16px}
  .asmm-section-title strong{font-size:18px}
  .asmm-section-title a{grid-column:1 / -1;width:100%}
  .asmm-grid{grid-template-columns:1fr;gap:8px}
  .asmm-card{min-height:66px;border-radius:18px;padding:10px;grid-template-columns:42px minmax(0,1fr)}
  .asmm-card-img,.asmm-card-icon{width:42px;height:42px;border-radius:15px}
}

@media(min-width:783px){
  .asmm-hide-desktop{display:none!important}
}

@media(prefers-reduced-motion:reduce){
  .asmm *{transition:none!important;scroll-behavior:auto!important}
}

/* =====================================================
   2.1 Premium Light Left Popup Patch
   - lighter category rows
   - left floating launcher
   - launcher hides while popup is open
   - original inline SVG mark
   ===================================================== */

.asmm{
  --asmm-accent:#2db9c4;
  --asmm-accent-2:#087d87;
  --asmm-dark:#12262d;
  --asmm-text:#182b32;
  --asmm-muted:#70838d;
  --asmm-line:rgba(45,185,196,.20);
  --asmm-soft:#f0fcfd;
}

.asmm-logo-svg{
  width:100%;
  height:100%;
  display:block;
  color:currentColor;
}

.asmm-trigger-icon{
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.12));
}

.asmm-trigger-icon i{display:none!important}

.asmm-brand-dot{
  color:#087d87;
}

.asmm-brand-dot .asmm-logo-svg{
  width:28px;
  height:28px;
}

/* Force the custom build launcher to the left side. */
.asmm--floating.asmm--bottom-right,
.asmm--floating.asmm--bottom-left{
  left:24px!important;
  right:auto!important;
  bottom:24px!important;
}

.asmm--floating.asmm--top-right,
.asmm--floating.asmm--top-left{
  left:24px!important;
  right:auto!important;
  top:24px!important;
}

.asmm--bottom-right .asmm-panel,
.asmm--bottom-left .asmm-panel{
  left:24px!important;
  right:auto!important;
  bottom:92px!important;
  transform-origin:0 100%!important;
}

.asmm--top-right .asmm-panel,
.asmm--top-left .asmm-panel{
  left:24px!important;
  right:auto!important;
  top:92px!important;
  transform-origin:0 0!important;
}

.asmm-trigger{
  min-width:64px;
  height:60px;
  padding:0 18px 0 14px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.74);
  background:
    radial-gradient(circle at 24% 18%,rgba(255,255,255,.48),transparent 32%),
    linear-gradient(145deg,#34c5cf 0%,#0b8691 100%);
  box-shadow:0 18px 44px rgba(16,139,148,.26),0 7px 18px rgba(15,23,42,.13),inset 0 1px 0 rgba(255,255,255,.28);
}

.asmm-trigger-label{
  font-size:13.5px;
  letter-spacing:.18px;
}

.asmm-trigger:hover{
  transform:translateY(-1px) scale(1.01);
}

/* When popup is open, the opener must disappear completely. */
.asmm.is-open .asmm-trigger{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateX(-12px) scale(.90)!important;
}

/* Light modern category rows. */
.asmm-parent{
  min-height:76px;
  grid-template-columns:60px minmax(0,1fr) 18px;
  gap:14px;
  padding:10px 17px 10px 10px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.80);
  background:
    radial-gradient(circle at 18% 8%,rgba(255,255,255,.92),transparent 36%),
    linear-gradient(135deg,rgba(255,255,255,.94) 0%,rgba(232,252,254,.90) 100%);
  box-shadow:0 10px 28px rgba(18,63,72,.055),inset 0 1px 0 rgba(255,255,255,.90);
}

.asmm-parent:hover,
.asmm-parent.is-active{
  transform:translateX(2px);
  background:
    radial-gradient(circle at 18% 5%,rgba(255,255,255,1),transparent 38%),
    linear-gradient(135deg,#ffffff 0%,#def9fc 100%);
  border-color:rgba(45,185,196,.30);
  box-shadow:0 14px 34px rgba(16,139,148,.12),inset 0 1px 0 rgba(255,255,255,1);
}

.asmm-term-img{
  width:60px;
  height:60px;
  border-radius:22px;
  background:linear-gradient(145deg,#ffffff,#eefcff);
  border:1px solid rgba(45,185,196,.22);
  box-shadow:0 7px 18px rgba(16,139,148,.08),inset 0 1px 0 rgba(255,255,255,.95);
}

.asmm-term-img img,
.asmm-section-img img,
.asmm-card-img img{
  object-fit:contain;
  padding:4px;
  background:#fff;
}

.asmm-term-img.no-image,
.asmm-section-img.no-image,
.asmm-card-img.no-image{
  background:linear-gradient(145deg,#ffffff,#eefcff);
}

.asmm-term-img b,
.asmm-section-img b,
.asmm-card-img b{
  color:#087d87;
}

.asmm-parent-copy{
  justify-content:center;
  align-items:flex-start;
  text-align:left;
  gap:7px;
}

.asmm-parent-copy strong{
  color:#152832;
  font-size:15.6px;
  font-weight:950;
  letter-spacing:-.22px;
  line-height:1.08;
}

.asmm-parent-copy em,
.asmm-section-title em,
.asmm-card em{
  color:#72858f;
  font-size:12.6px;
  font-weight:850;
  letter-spacing:.28px;
}

.asmm-parent i{
  width:11px;
  height:11px;
  border-right:2.4px solid #087d87;
  border-bottom:2.4px solid #087d87;
  opacity:.72;
}

.asmm-card{
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(237,252,254,.86));
  border-color:rgba(45,185,196,.16);
}

.asmm-card:hover{
  background:#fff;
  border-color:rgba(45,185,196,.32);
}

@media(max-width:782px){
  .asmm--floating,
  .asmm--floating.asmm--bottom-right,
  .asmm--floating.asmm--bottom-left,
  .asmm--floating.asmm--top-right,
  .asmm--floating.asmm--top-left{
    left:0!important;
    right:auto!important;
    top:auto!important;
    bottom:92px!important;
  }

  .asmm-trigger{
    width:58px;
    min-width:58px;
    height:68px;
    padding:0;
    border-radius:0 24px 24px 0;
    border-left:0;
    box-shadow:0 15px 36px rgba(8,125,135,.30),0 5px 18px rgba(15,23,42,.16),inset 0 1px 0 rgba(255,255,255,.30);
  }

  .asmm-trigger-icon{
    width:38px;
    height:38px;
  }

  .asmm-trigger-label{display:none!important}

  .asmm.is-open .asmm-trigger{
    transform:translateX(-100%) scale(.92)!important;
  }

  .asmm-panel,
  .asmm--bottom-right .asmm-panel,
  .asmm--bottom-left .asmm-panel,
  .asmm--top-right .asmm-panel,
  .asmm--top-left .asmm-panel{
    left:10px!important;
    right:10px!important;
    top:auto!important;
    bottom:10px!important;
    width:auto!important;
    height:min(88vh,760px)!important;
    border-radius:30px 30px 24px 24px;
  }

  .asmm-body{
    padding:12px 12px 14px;
  }

  .asmm-parents{
    flex-direction:column;
    gap:11px;
    max-height:42vh;
    overflow:auto;
    padding:0 2px 2px 0;
  }

  .asmm-parent{
    width:100%;
    min-width:0;
    min-height:84px;
    grid-template-columns:72px minmax(0,1fr) 18px;
    gap:12px;
    padding:9px 15px 9px 9px;
    border-radius:28px;
  }

  .asmm-parent:hover,
  .asmm-parent.is-active{
    transform:none;
  }

  .asmm-term-img{
    width:66px;
    height:66px;
    border-radius:24px;
  }

  .asmm-parent-copy{
    min-height:58px;
    justify-content:center;
    align-items:flex-start;
    text-align:left;
  }

  .asmm-parent-copy strong{
    font-size:18px;
    letter-spacing:-.35px;
  }

  .asmm-parent-copy em{
    font-size:14px;
    color:#72858f;
  }

  .asmm-parent i{
    display:block!important;
    width:12px;
    height:12px;
    border-right-width:2.5px;
    border-bottom-width:2.5px;
  }

  .asmm-content{
    border-radius:24px;
    background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(241,253,254,.70));
  }
}


/* =====================================================
   2.2 UX Refinement Patch
   - desktop edge trigger with crescent corner feel
   - brighter hover / dim rest
   - long category titles stay inside cards
   - images aligned hard-left
   - smaller mobile popup
   - better empty state when no subcategories exist
   ===================================================== */

/* Left edge launcher with half-pill edge style */
.asmm--floating.asmm--bottom-right,
.asmm--floating.asmm--bottom-left,
.asmm--floating.asmm--top-right,
.asmm--floating.asmm--top-left{
  left:0!important;
}

.asmm--bottom-right .asmm-panel,
.asmm--bottom-left .asmm-panel,
.asmm--top-right .asmm-panel,
.asmm--top-left .asmm-panel{
  left:22px!important;
}

.asmm-trigger{
  min-width:70px;
  height:64px;
  padding:0 18px 0 14px;
  border-radius:0 28px 28px 0;
  border-left:0;
  background:
    radial-gradient(circle at 14% 50%,rgba(255,255,255,.22),transparent 44%),
    radial-gradient(circle at 30% 16%,rgba(255,255,255,.45),transparent 30%),
    linear-gradient(145deg,#37c4cf 0%,#0a7f89 100%);
  box-shadow:0 18px 40px rgba(10,127,137,.28),0 6px 18px rgba(15,23,42,.14),inset 0 1px 0 rgba(255,255,255,.30);
}

.asmm-trigger:before{
  content:"";
  position:absolute;
  right:14px;
  bottom:12px;
  width:14px;
  height:10px;
  border-top:2px solid rgba(255,255,255,.95);
  border-bottom:2px solid rgba(255,255,255,.95);
  border-radius:6px;
  opacity:.95;
}

.asmm-trigger:after{
  content:"";
  position:absolute;
  right:14px;
  bottom:22px;
  width:14px;
  height:0;
  border-top:2px solid rgba(255,255,255,.95);
  border-radius:6px;
  opacity:.95;
}

.asmm-trigger-icon{
  width:34px;
  height:34px;
}

.asmm-trigger-label{
  padding-right:22px;
  font-size:14px;
}

.asmm-panel{border-radius:32px}

/* Better desktop layout balance */
.asmm-body{
  grid-template-columns:320px minmax(0,1fr);
  gap:16px;
}

.asmm-parents{
  gap:10px;
  padding:0;
}

.asmm-parent{
  min-height:86px;
  grid-template-columns:64px minmax(0,1fr) 14px;
  gap:14px;
  padding:8px 14px 8px 8px;
  border-radius:24px;
  align-items:center;
  justify-items:start;
}

.asmm-parent .asmm-term-img{
  justify-self:start;
  align-self:center;
  margin:0;
}

.asmm-parent-copy{
  min-height:64px;
  justify-content:center;
  align-items:flex-start;
  text-align:left;
}

.asmm-parent-copy strong{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  font-size:15px;
  line-height:1.14;
  max-width:100%;
  word-break:break-word;
}

.asmm-parent-copy em{
  white-space:nowrap;
}

/* Bright active/hover item and dim the rest */
@media (hover:hover) and (pointer:fine){
  .asmm-parents:hover .asmm-parent:not(:hover):not(.is-active){
    background:linear-gradient(135deg,rgba(239,246,248,.94),rgba(226,239,242,.88));
    border-color:rgba(45,185,196,.10);
    box-shadow:none;
    opacity:.72;
    filter:saturate(.86);
  }

  .asmm-parents:hover .asmm-parent:hover,
  .asmm-parents:hover .asmm-parent.is-active,
  .asmm-trigger:hover{
    filter:saturate(1.05) brightness(1.03);
  }

  .asmm-content:hover .asmm-card:not(:hover){
    opacity:.82;
  }
}

.asmm-parent:hover,
.asmm-parent.is-active{
  background:
    radial-gradient(circle at 18% 5%,rgba(255,255,255,1),transparent 38%),
    linear-gradient(135deg,#ffffff 0%,#e7fcff 100%);
}

.asmm-parent i{
  justify-self:end;
}

.asmm-section-title strong,
.asmm-card strong{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  word-break:break-word;
}

/* Modern empty state for categories without subcategories */
.asmm-empty-state{
  margin-top:14px;
  min-height:260px;
  border-radius:28px;
  border:1px solid rgba(45,185,196,.16);
  background:
    radial-gradient(circle at 10% 0%,rgba(210,250,255,.62),transparent 26%),
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(240,252,254,.88));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 12px 34px rgba(12,95,105,.06);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:16px;
  text-align:center;
  padding:28px 22px;
}

.asmm-empty-state-badge{
  width:82px;
  height:82px;
  border-radius:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0a8089;
  background:linear-gradient(145deg,#fff,#e8fbfd);
  border:1px solid rgba(45,185,196,.18);
  box-shadow:0 12px 24px rgba(16,139,148,.09);
}

.asmm-empty-state-badge svg{
  width:42px;
  height:42px;
  display:block;
}

.asmm-empty-state-copy{
  max-width:420px;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.asmm-empty-state-copy strong{
  color:var(--asmm-dark);
  font-size:21px;
  font-weight:950;
  line-height:1.12;
}

.asmm-empty-state-copy em{
  font-style:normal;
  color:var(--asmm-muted);
  font-size:13px;
  font-weight:760;
  line-height:1.55;
}

.asmm-empty-state-link{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:999px;
  color:#0b7782!important;
  background:#fff;
  border:1px solid rgba(45,185,196,.18);
  text-decoration:none!important;
  font-size:13px;
  font-weight:900;
}

.asmm-empty-state-link:hover{
  border-color:rgba(45,185,196,.34);
  box-shadow:0 8px 20px rgba(12,95,105,.08);
}

@media(max-width:1024px){
  .asmm-body{grid-template-columns:290px minmax(0,1fr)}
}

@media(max-width:782px){
  .asmm--floating,
  .asmm--floating.asmm--bottom-right,
  .asmm--floating.asmm--bottom-left,
  .asmm--floating.asmm--top-right,
  .asmm--floating.asmm--top-left{
    left:0!important;
    bottom:84px!important;
  }

  .asmm-trigger{
    width:58px;
    min-width:58px;
    height:62px;
    padding:0;
    border-radius:0 22px 22px 0;
  }

  .asmm-trigger:before,
  .asmm-trigger:after{
    right:10px;
  }

  .asmm-trigger-icon{
    width:36px;
    height:36px;
  }

  .asmm-panel,
  .asmm--bottom-right .asmm-panel,
  .asmm--bottom-left .asmm-panel,
  .asmm--top-right .asmm-panel,
  .asmm--top-left .asmm-panel{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    width:auto!important;
    height:min(72vh,620px)!important;
    border-radius:26px;
  }

  .asmm-body{
    gap:10px;
    padding:12px;
  }

  .asmm-parents{
    max-height:46%;
    gap:8px;
  }

  .asmm-parent{
    min-height:72px;
    grid-template-columns:54px minmax(0,1fr) 14px;
    gap:10px;
    padding:8px 12px 8px 8px;
    border-radius:22px;
  }

  .asmm-term-img{
    width:54px;
    height:54px;
    border-radius:18px;
  }

  .asmm-parent-copy{
    min-height:50px;
    gap:5px;
  }

  .asmm-parent-copy strong{
    font-size:14px;
    line-height:1.12;
  }

  .asmm-parent-copy em{
    font-size:11.5px;
  }

  .asmm-content{
    flex:1 1 auto;
    min-height:0;
  }

  .asmm-section{padding:12px}

  .asmm-section-title{
    grid-template-columns:44px minmax(0,1fr);
    gap:10px;
  }

  .asmm-section-title strong{font-size:17px}

  .asmm-empty-state{
    min-height:180px;
    padding:22px 16px;
    border-radius:24px;
  }

  .asmm-empty-state-badge{
    width:64px;
    height:64px;
    border-radius:20px;
  }

  .asmm-empty-state-copy strong{font-size:18px}
  .asmm-empty-state-copy em{font-size:12px}
}


/* =====================================================
   2.3 Alignment + Minimal Hover Patch
   ===================================================== */

/* Main category image should feel left-aligned, not floating in the middle */
.asmm-parent{
  grid-template-columns:72px minmax(0,1fr) 14px;
  padding-left:6px;
}

.asmm-term-img{
  width:68px;
  height:68px;
  border-radius:22px;
  justify-self:start;
  margin-left:0;
  margin-right:0;
  align-self:center;
}

.asmm-term-img img{
  object-fit:contain;
  object-position:left center;
  padding:2px 4px 2px 2px;
}

.asmm-parent-copy{
  padding-left:0;
}

/* Clean minimal hover system: only one clear bright state, rest softly dim */
.asmm-parent{
  background:linear-gradient(180deg,#f7fcfd 0%, #eef8fa 100%);
  border-color:rgba(45,185,196,.14);
  box-shadow:0 8px 22px rgba(18,63,72,.045), inset 0 1px 0 rgba(255,255,255,.92);
}

.asmm-parent:hover,
.asmm-parent.is-active{
  background:linear-gradient(180deg,#ffffff 0%, #f2fdff 100%);
  border-color:rgba(45,185,196,.28);
  box-shadow:0 10px 24px rgba(12,95,105,.08), inset 0 1px 0 rgba(255,255,255,1);
}

@media (hover:hover) and (pointer:fine){
  .asmm-parents:hover .asmm-parent:not(:hover):not(.is-active){
    background:linear-gradient(180deg,#edf4f6 0%, #e7eff2 100%);
    border-color:rgba(45,185,196,.10);
    opacity:.78;
    filter:none;
  }
}

.asmm-card{
  background:linear-gradient(180deg,#fbfeff 0%, #f2fbfd 100%);
  border-color:rgba(45,185,196,.12);
}

.asmm-card:hover{
  background:#fff;
  border-color:rgba(45,185,196,.24);
  box-shadow:0 8px 18px rgba(12,95,105,.06);
}

/* Better text wrapping inside main category item */
.asmm-parent-copy strong{
  max-width:100%;
  padding-right:2px;
}

/* Modern right-side visual when no subcategory exists */
.asmm-empty-state{
  display:grid;
  grid-template-columns:minmax(0,1fr) 240px;
  align-items:center;
  gap:18px;
  text-align:left;
}

.asmm-empty-state-main{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}

.asmm-empty-state-visual{
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.asmm-empty-state-image{
  width:210px;
  height:210px;
  border-radius:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:linear-gradient(145deg,#ffffff,#ecfbfd);
  border:1px solid rgba(45,185,196,.18);
  box-shadow:0 14px 34px rgba(12,95,105,.08), inset 0 1px 0 rgba(255,255,255,.95);
  color:#0a8089;
}

.asmm-empty-state-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  padding:12px;
  display:block;
}

.asmm-empty-state-image b{
  font-size:64px;
  font-weight:950;
  line-height:1;
}

.asmm-empty-state-copy{
  max-width:420px;
  align-items:flex-start;
}

.asmm-empty-state-link{
  min-width:140px;
}

@media(max-width:782px){
  .asmm-parent{
    grid-template-columns:58px minmax(0,1fr) 14px;
    padding-left:6px;
  }

  .asmm-term-img{
    width:56px;
    height:56px;
    border-radius:18px;
  }

  .asmm-term-img img{
    object-position:left center;
    padding:2px;
  }

  .asmm-empty-state{
    grid-template-columns:1fr;
    gap:14px;
    text-align:center;
  }

  .asmm-empty-state-main{
    align-items:center;
  }

  .asmm-empty-state-copy{
    align-items:center;
  }

  .asmm-empty-state-visual{
    min-height:0;
    order:-1;
  }

  .asmm-empty-state-image{
    width:132px;
    height:132px;
    border-radius:24px;
  }

  .asmm-empty-state-image b{
    font-size:42px;
  }
}

/* =====================================================
   2.4 Final Mobile Usability + Color/Selection Polish
   - main categories stay left-aligned
   - parent thumbnails never overflow their rows
   - mobile parents become horizontal tabs so subcategories stay visible
   - clear non-faded hover and selected states
   - simple Menu wordmark logo
   ===================================================== */

.asmm{
  --asmm-accent:#22b8c3;
  --asmm-accent-2:#087d87;
  --asmm-dark:#10252c;
  --asmm-text:#172930;
  --asmm-muted:#627882;
  --asmm-line:rgba(8,125,135,.20);
  --asmm-soft:#ecfbfd;
  --asmm-selected:#dff7fa;
  --asmm-selected-2:#c8edf2;
  --asmm-hover:#f7feff;
  --asmm-shadow:0 24px 70px rgba(8,41,49,.16),0 12px 32px rgba(8,125,135,.12);
}

.asmm-panel{
  border-color:rgba(255,255,255,.86);
  background:
    radial-gradient(circle at 6% 0%,rgba(201,250,255,.72),transparent 30%),
    radial-gradient(circle at 100% 8%,rgba(34,184,195,.18),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.985),rgba(245,253,254,.97));
}

.asmm-logo-svg{display:none!important}

.asmm-logo-word{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:inherit;
  color:currentColor;
  font-size:10px;
  font-weight:950;
  letter-spacing:-.25px;
  line-height:1;
  text-transform:none;
  white-space:nowrap;
}

.asmm-brand-dot{
  color:var(--asmm-accent-2);
  background:linear-gradient(145deg,#ffffff,#e9fbfd);
  border-color:rgba(8,125,135,.22);
}

.asmm-brand-dot .asmm-logo-word{font-size:10px}

.asmm-trigger-icon{
  width:40px;
  height:40px;
  border-radius:16px;
  color:#fff;
  background:rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26);
}

.asmm-trigger .asmm-logo-word{font-size:10.5px;color:#fff}
.asmm-trigger:before,
.asmm-trigger:after{display:none!important}

.asmm-panel-head{
  direction:ltr;
}

.asmm-head-text,
.asmm-parent,
.asmm-parent-copy,
.asmm-section-title,
.asmm-card{
  direction:ltr;
}

.asmm-parent{
  min-height:78px;
  grid-template-columns:58px minmax(0,1fr) 14px;
  gap:12px;
  padding:8px 13px 8px 8px;
  overflow:hidden;
  text-align:left;
  justify-items:start;
  background:linear-gradient(180deg,#f9feff 0%,#eef9fb 100%);
  border-color:rgba(8,125,135,.16);
  box-shadow:0 8px 20px rgba(12,95,105,.045),inset 0 1px 0 rgba(255,255,255,.95);
}

.asmm-parent .asmm-term-img,
.asmm-term-img{
  width:54px;
  height:54px;
  min-width:54px;
  max-width:54px;
  min-height:54px;
  max-height:54px;
  border-radius:18px;
  justify-self:start;
  align-self:center;
  margin:0;
  overflow:hidden;
  background:linear-gradient(145deg,#ffffff,#ecfbfd);
  border-color:rgba(8,125,135,.20);
  box-shadow:0 7px 16px rgba(8,125,135,.07),inset 0 1px 0 rgba(255,255,255,.96);
}

.asmm-term-img img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  padding:4px;
  background:#fff;
}

.asmm-parent-copy{
  min-width:0;
  min-height:54px;
  align-items:flex-start;
  justify-content:center;
  text-align:left;
  gap:5px;
  padding-left:0;
}

.asmm-parent-copy strong{
  width:100%;
  color:var(--asmm-text);
  font-size:14.5px;
  line-height:1.14;
  letter-spacing:-.22px;
  overflow:hidden;
  text-overflow:ellipsis;
  -webkit-line-clamp:2;
  line-clamp:2;
}

.asmm-parent-copy em{
  color:var(--asmm-muted);
  font-size:11.8px;
  letter-spacing:.22px;
}

.asmm-parent:hover{
  background:linear-gradient(180deg,#ffffff 0%,var(--asmm-hover) 100%);
  border-color:rgba(8,125,135,.32);
  box-shadow:0 12px 28px rgba(8,125,135,.10),inset 0 1px 0 rgba(255,255,255,1);
}

.asmm-parent.is-active{
  background:linear-gradient(180deg,var(--asmm-selected) 0%,var(--asmm-selected-2) 100%);
  border-color:rgba(8,125,135,.46);
  box-shadow:inset 4px 0 0 var(--asmm-accent-2),0 13px 30px rgba(8,125,135,.13),inset 0 1px 0 rgba(255,255,255,.98);
}

.asmm-parent.is-active .asmm-term-img{
  border-color:rgba(8,125,135,.38);
  box-shadow:0 8px 18px rgba(8,125,135,.10),inset 0 1px 0 rgba(255,255,255,1);
}

@media (hover:hover) and (pointer:fine){
  .asmm-parents:hover .asmm-parent:not(:hover):not(.is-active){
    opacity:1;
    filter:none;
    background:linear-gradient(180deg,#f5fbfc 0%,#edf7f9 100%);
    border-color:rgba(8,125,135,.14);
    box-shadow:0 7px 18px rgba(12,95,105,.035),inset 0 1px 0 rgba(255,255,255,.92);
  }

  .asmm-content:hover .asmm-card:not(:hover){
    opacity:1;
  }
}

.asmm-all,
.asmm-section-title a,
.asmm-empty-state-link{
  color:#086f78!important;
  background:linear-gradient(180deg,#ffffff 0%,#eefcfe 100%);
  border-color:rgba(8,125,135,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
}

.asmm-all:hover,
.asmm-section-title a:hover,
.asmm-empty-state-link:hover{
  color:#065c64!important;
  background:linear-gradient(180deg,#ffffff 0%,#e2f8fb 100%);
  border-color:rgba(8,125,135,.38);
  box-shadow:0 8px 20px rgba(8,125,135,.08),inset 0 1px 0 rgba(255,255,255,1);
}

.asmm-search-wrap{
  border-color:rgba(8,125,135,.16);
  background:rgba(255,255,255,.78);
}

.asmm-search-wrap:focus-within{
  border-color:rgba(8,125,135,.34);
  box-shadow:0 8px 20px rgba(8,125,135,.07);
  background:#fff;
}

.asmm-card{
  background:linear-gradient(180deg,#ffffff 0%,#f2fbfd 100%);
  border-color:rgba(8,125,135,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
}

.asmm-card:hover{
  background:linear-gradient(180deg,#ffffff 0%,#eafafd 100%);
  border-color:rgba(8,125,135,.30);
  box-shadow:0 10px 22px rgba(8,125,135,.08),inset 0 1px 0 rgba(255,255,255,1);
}

.asmm-card--all{
  background:linear-gradient(180deg,#eafcff 0%,#dff6fa 100%);
  border-color:rgba(8,125,135,.30);
}

.asmm-close:hover{
  background:linear-gradient(180deg,#fff,#e4f8fb);
  border-color:rgba(8,125,135,.36);
}



.asmm-section-title strong,
.asmm-card strong{
  overflow:hidden;
  text-overflow:ellipsis;
}

@media(max-width:782px){
  .asmm-panel,
  .asmm--bottom-right .asmm-panel,
  .asmm--bottom-left .asmm-panel,
  .asmm--top-right .asmm-panel,
  .asmm--top-left .asmm-panel{
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    height:min(90vh,760px)!important;
    max-height:calc(100vh - 20px)!important;
    border-radius:28px 28px 24px 24px;
  }

  .asmm-panel-head{
    min-height:66px;
    grid-template-columns:42px minmax(0,1fr) 38px;
    gap:10px;
    padding:12px;
  }

  .asmm-brand-dot{
    width:42px;
    height:42px;
    border-radius:15px;
  }

  .asmm-brand-dot .asmm-logo-word{font-size:9.5px}

  .asmm-head-text strong{font-size:17px}
  .asmm-head-text small{font-size:11px}

  .asmm-search-wrap{
    height:52px;
    margin:0 12px;
    border-radius:18px;
  }

  .asmm-body{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(0,1fr);
    gap:10px;
    padding:10px 12px 12px;
    overflow:hidden;
  }

  .asmm-parents{
    width:100%;
    max-height:none!important;
    min-height:0!important;
    height:auto!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:stretch;
    gap:8px;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:2px 2px 8px;
    scrollbar-width:thin;
    scroll-snap-type:x proximity;
  }

  .asmm-parent{
    flex:0 0 168px;
    width:168px;
    min-width:168px;
    max-width:168px;
    min-height:68px;
    grid-template-columns:48px minmax(0,1fr);
    gap:9px;
    padding:7px 9px;
    border-radius:20px;
    scroll-snap-align:start;
  }

  .asmm-parent i{display:none!important}

  .asmm-parent .asmm-term-img,
  .asmm-term-img{
    width:48px;
    height:48px;
    min-width:48px;
    max-width:48px;
    min-height:48px;
    max-height:48px;
    border-radius:16px;
  }

  .asmm-term-img img{
    padding:3px;
    object-position:center;
  }

  .asmm-parent-copy{
    min-height:48px;
    gap:4px;
  }

  .asmm-parent-copy strong{
    font-size:12.8px;
    line-height:1.13;
    letter-spacing:-.16px;
  }

  .asmm-parent-copy em{
    font-size:10.6px;
    line-height:1;
  }

  .asmm-content{
    min-height:0!important;
    overflow:auto!important;
    border-radius:24px;
  }

  .asmm-section{padding:12px}

  .asmm-section-title{
    grid-template-columns:44px minmax(0,1fr);
    gap:10px;
    min-height:50px;
    margin-bottom:10px;
  }

  .asmm-section-img{
    width:44px;
    height:44px;
    border-radius:15px;
  }

  .asmm-section-title strong{
    font-size:17px;
    line-height:1.12;
  }

  .asmm-section-title a{
    grid-column:1 / -1;
    width:100%;
    min-height:38px;
  }

  .asmm-grid{
    grid-template-columns:1fr;
    gap:8px;
  }

  .asmm-card{
    min-height:64px;
    grid-template-columns:42px minmax(0,1fr);
    gap:10px;
    padding:10px;
    border-radius:18px;
  }

  .asmm-card-img,
  .asmm-card-icon{
    width:42px;
    height:42px;
    border-radius:15px;
  }

  .asmm-card strong{
    font-size:13px;
    line-height:1.14;
  }

  .asmm-card em{font-size:11.2px}

  .asmm-empty-state{
    min-height:0;
    padding:16px 14px;
  }
}

@media(max-width:370px){
  .asmm-panel,
  .asmm--bottom-right .asmm-panel,
  .asmm--bottom-left .asmm-panel,
  .asmm--top-right .asmm-panel,
  .asmm--top-left .asmm-panel{
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    max-height:calc(100vh - 16px)!important;
  }

  .asmm-body{padding:9px 10px 10px}

  .asmm-parent{
    flex-basis:154px;
    width:154px;
    min-width:154px;
    max-width:154px;
  }
}



/* =====================================================
   2.4.1 Final Left Alignment + Compact Mobile Patch
   - main category list fully left aligned
   - parent thumbnails stay inside exact row height
   - mobile popup shorter and easier to use
   ===================================================== */

.asmm-parents{
  align-items:stretch!important;
  text-align:left!important;
}

.asmm-parent{
  justify-content:start!important;
  justify-items:start!important;
  text-align:left!important;
  grid-template-columns:56px minmax(0,1fr) 14px!important;
  padding-left:4px!important;
}

.asmm-parent .asmm-term-img,
.asmm-term-img{
  justify-self:start!important;
  align-self:center!important;
  margin-left:0!important;
  margin-right:0!important;
  transform:none!important;
}

.asmm-parent-copy,
.asmm-parent-copy strong,
.asmm-parent-copy em{
  text-align:left!important;
}

.asmm-parent-copy{
  align-items:flex-start!important;
  padding-left:0!important;
}

@media(min-width:783px){
  .asmm-body{
    grid-template-columns:310px minmax(0,1fr)!important;
    padding-left:14px!important;
  }

  .asmm-parents{
    padding-left:0!important;
    padding-right:4px!important;
  }

  .asmm-parent{
    min-height:74px!important;
    grid-template-columns:54px minmax(0,1fr) 14px!important;
    gap:11px!important;
    padding:7px 12px 7px 4px!important;
    border-radius:22px!important;
  }

  .asmm-parent .asmm-term-img,
  .asmm-term-img{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    border-radius:17px!important;
  }

  .asmm-parent-copy{
    min-height:52px!important;
  }
}

@media(max-width:782px){
  .asmm-panel,
  .asmm--bottom-right .asmm-panel,
  .asmm--bottom-left .asmm-panel,
  .asmm--top-right .asmm-panel,
  .asmm--top-left .asmm-panel{
    left:10px!important;
    right:10px!important;
    bottom:12px!important;
    height:min(76vh,650px)!important;
    max-height:calc(100vh - 58px)!important;
    border-radius:26px 26px 22px 22px!important;
  }

  .asmm-panel-head{
    min-height:58px!important;
    padding:10px 12px!important;
    gap:9px!important;
    grid-template-columns:38px minmax(0,1fr) 36px!important;
  }

  .asmm-brand-dot{
    width:38px!important;
    height:38px!important;
    border-radius:14px!important;
  }

  .asmm-brand-dot .asmm-logo-word{font-size:9px!important}
  .asmm-head-text strong{font-size:16px!important}
  .asmm-head-text small{font-size:10.5px!important}
  .asmm-close{width:36px!important;height:36px!important;border-radius:13px!important}

  .asmm-search-wrap{
    height:46px!important;
    margin:0 12px!important;
    padding:0 12px!important;
    border-radius:16px!important;
  }

  .asmm-search{font-size:13.2px!important}

  .asmm-body{
    gap:8px!important;
    padding:8px 10px 10px!important;
  }

  .asmm-parents{
    width:100%!important;
    gap:7px!important;
    padding:0 1px 6px!important;
    justify-content:flex-start!important;
    align-items:stretch!important;
  }

  .asmm-parent{
    flex:0 0 152px!important;
    width:152px!important;
    min-width:152px!important;
    max-width:152px!important;
    min-height:58px!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:8px!important;
    padding:6px 8px 6px 5px!important;
    border-radius:18px!important;
  }

  .asmm-parent .asmm-term-img,
  .asmm-term-img{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    border-radius:14px!important;
  }

  .asmm-term-img img{
    padding:3px!important;
    object-position:center!important;
  }

  .asmm-parent-copy{
    min-height:42px!important;
    gap:3px!important;
  }

  .asmm-parent-copy strong{
    font-size:12.1px!important;
    line-height:1.12!important;
    letter-spacing:-.12px!important;
    -webkit-line-clamp:2!important;
    line-clamp:2!important;
  }

  .asmm-parent-copy em{
    font-size:10px!important;
    line-height:1!important;
  }

  .asmm-content{
    border-radius:20px!important;
  }

  .asmm-section{padding:10px!important}

  .asmm-section-title{
    grid-template-columns:40px minmax(0,1fr)!important;
    min-height:44px!important;
    gap:9px!important;
    margin-bottom:8px!important;
  }

  .asmm-section-img{
    width:40px!important;
    height:40px!important;
    border-radius:14px!important;
  }

  .asmm-section-title strong{
    font-size:16px!important;
    line-height:1.1!important;
  }

  .asmm-section-title a{
    min-height:34px!important;
    font-size:11.5px!important;
  }

  .asmm-grid{gap:7px!important}

  .asmm-card{
    min-height:58px!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:9px!important;
    padding:8px!important;
    border-radius:16px!important;
  }

  .asmm-card-img,
  .asmm-card-icon{
    width:38px!important;
    height:38px!important;
    border-radius:13px!important;
  }

  .asmm-card strong{font-size:12.5px!important;line-height:1.12!important}
  .asmm-card em{font-size:10.8px!important}

  .asmm-empty-state{
    padding:14px 12px!important;
    border-radius:20px!important;
  }
}

@media(max-width:370px){
  .asmm-panel,
  .asmm--bottom-right .asmm-panel,
  .asmm--bottom-left .asmm-panel,
  .asmm--top-right .asmm-panel,
  .asmm--top-left .asmm-panel{
    height:min(76vh,620px)!important;
    max-height:calc(100vh - 52px)!important;
  }

  .asmm-parent{
    flex-basis:142px!important;
    width:142px!important;
    min-width:142px!important;
    max-width:142px!important;
  }
}


/* =====================================================
   2.4.2 Qimia Color Refresh Patch
   - only color refinements
   - turquoise/blue menu trigger
   - stronger but clean contrast
   ===================================================== */

.asmm{
  --asmm-accent:#22bfd1;
  --asmm-accent-2:#0a8ea0;
  --asmm-dark:#102730;
  --asmm-text:#18323b;
  --asmm-muted:#667d87;
  --asmm-line:rgba(10,142,160,.20);
  --asmm-soft:#eefbfd;
  --asmm-selected:#ddf8fc;
  --asmm-selected-2:#c9eef5;
  --asmm-hover:#f4fdff;
  --asmm-shadow:0 24px 70px rgba(8,41,49,.16),0 12px 32px rgba(10,142,160,.12);
}

.asmm-trigger{
  background:
    radial-gradient(circle at 14% 50%,rgba(255,255,255,.24),transparent 44%),
    radial-gradient(circle at 30% 16%,rgba(255,255,255,.48),transparent 30%),
    linear-gradient(145deg,#2ccbe0 0%,#0a8ea0 100%)!important;
  border-color:rgba(255,255,255,.78)!important;
  box-shadow:0 18px 40px rgba(10,142,160,.30),0 6px 18px rgba(15,23,42,.14),inset 0 1px 0 rgba(255,255,255,.30)!important;
}

.asmm-trigger:hover,
.asmm.is-open .asmm-trigger{
  box-shadow:0 20px 44px rgba(10,142,160,.34),0 8px 20px rgba(15,23,42,.16),inset 0 1px 0 rgba(255,255,255,.32)!important;
}

.asmm-trigger-icon{
  background:rgba(255,255,255,.16)!important;
}

.asmm-panel{
  background:
    radial-gradient(circle at 6% 0%,rgba(213,249,255,.78),transparent 30%),
    radial-gradient(circle at 100% 8%,rgba(34,191,209,.20),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.985),rgba(244,252,254,.972))!important;
}

.asmm-brand-dot,
.asmm-term-img,
.asmm-section-img,
.asmm-card-img{
  background:linear-gradient(145deg,#ffffff,#eefbfd)!important;
}

.asmm-parent{
  background:linear-gradient(180deg,#f9feff 0%,#edf9fb 100%)!important;
  border-color:rgba(10,142,160,.15)!important;
}

.asmm-parent:hover{
  background:linear-gradient(180deg,#ffffff 0%,#f3fdff 100%)!important;
  border-color:rgba(10,142,160,.30)!important;
  box-shadow:0 12px 28px rgba(10,142,160,.09),inset 0 1px 0 rgba(255,255,255,1)!important;
}

.asmm-parent.is-active{
  background:linear-gradient(180deg,#def8fc 0%,#c7edf4 100%)!important;
  border-color:rgba(10,142,160,.44)!important;
  box-shadow:inset 4px 0 0 var(--asmm-accent-2),0 13px 30px rgba(10,142,160,.12),inset 0 1px 0 rgba(255,255,255,.98)!important;
}

.asmm-all,
.asmm-section-title a,
.asmm-empty-state-link{
  color:#097888!important;
  background:linear-gradient(180deg,#ffffff 0%,#edfafd 100%)!important;
  border-color:rgba(10,142,160,.22)!important;
}

.asmm-all:hover,
.asmm-section-title a:hover,
.asmm-empty-state-link:hover{
  color:#066a78!important;
  background:linear-gradient(180deg,#ffffff 0%,#e2f7fb 100%)!important;
  border-color:rgba(10,142,160,.36)!important;
  box-shadow:0 8px 20px rgba(10,142,160,.08),inset 0 1px 0 rgba(255,255,255,1)!important;
}

.asmm-search-wrap{
  border-color:rgba(10,142,160,.16)!important;
}

.asmm-search-wrap:focus-within{
  border-color:rgba(10,142,160,.34)!important;
  box-shadow:0 8px 20px rgba(10,142,160,.07)!important;
}

.asmm-card{
  background:linear-gradient(180deg,#ffffff 0%,#f2fbfd 100%)!important;
  border-color:rgba(10,142,160,.14)!important;
}

.asmm-card:hover{
  background:linear-gradient(180deg,#ffffff 0%,#eafafe 100%)!important;
  border-color:rgba(10,142,160,.28)!important;
  box-shadow:0 10px 22px rgba(10,142,160,.08),inset 0 1px 0 rgba(255,255,255,1)!important;
}

.asmm-card--all{
  background:linear-gradient(180deg,#eafcff 0%,#dbf5fb 100%)!important;
  border-color:rgba(10,142,160,.28)!important;
}

.asmm-close:hover{
  background:linear-gradient(180deg,#fff,#e5f9fc)!important;
  border-color:rgba(10,142,160,.34)!important;
}
