.wcpmm-portal{position:relative;z-index:99990}
.wcpmm{position:fixed;left:50%;transform:translateX(-50%) translateY(-8px);top:var(--wcpmm-top,120px);width:min(1280px,calc(100vw - 32px));background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.18);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease;overflow:hidden}
.wcpmm.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.wcpmm__inner{display:grid;grid-template-columns:minmax(250px,300px) 1fr;height:min(610px,calc(100vh - var(--wcpmm-top,120px) - 20px));overflow:hidden}
.wcpmm__tops{padding:10px 12px;border-right:1px solid #e9edf2;overflow:auto;background:#fbfcfe}
.wcpmm__top{width:100%;padding:8px 10px;border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:10px;font:inherit;font-size:.95em;font-weight:600;text-align:left;cursor:pointer;color:inherit;text-decoration:none!important;min-height:40px}
.wcpmm__top:hover,.wcpmm__top.is-active{background:#eef5ff;color:#0b4ea2}
.wcpmm__top-main{display:flex;align-items:center;gap:10px;min-width:0}
.wcpmm__top small,.wcpmm__child small{opacity:.55;font-weight:400}
.wcpmm__icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;color:#16345f}
.wcpmm__icon svg{width:22px;height:22px;display:block}
.wcpmm__top.is-active .wcpmm__icon,.wcpmm__top:hover .wcpmm__icon{color:#0b4ea2}
.wcpmm__chev{font-size:1.35em;line-height:1;flex:0 0 auto}
.wcpmm__panels{position:relative;overflow:auto;background:#fff}
.wcpmm__panel{display:none;grid-template-columns:1fr minmax(0,300px);height:100%}
.wcpmm__panel.is-active{display:grid}
.wcpmm__content{padding:26px 32px}
.wcpmm__title{margin:0 0 18px;font-size:clamp(28px,2vw,38px);line-height:1.1}
.wcpmm__children{display:grid;grid-template-columns:repeat(var(--wcpmm-columns,2),minmax(0,1fr));gap:0 30px}
.wcpmm[data-columns="1"]{--wcpmm-columns:1}.wcpmm[data-columns="2"]{--wcpmm-columns:2}.wcpmm[data-columns="3"]{--wcpmm-columns:3}
.wcpmm__child{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px;border-bottom:1px solid #e7ebef;text-decoration:none!important;color:inherit;font-size:.97em}
.wcpmm__child:hover{color:#0b63ce}
.wcpmm__all{display:inline-flex;align-items:center;gap:14px;margin-top:26px;padding:12px 20px;border-radius:999px;background:#0b4ea2;color:#fff!important;text-decoration:none!important;font-weight:700}
.wcpmm__media{padding:18px;border-left:1px solid #eef1f4;background:#fafbfc;display:flex;align-items:flex-start}
.wcpmm__media img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px}
.wc-product-mega-menu-trigger{position:relative}
.wc-product-mega-menu-trigger>a,.wc-product-mega-menu-trigger>a:visited{display:inline-flex!important;align-items:center;gap:8px}
.wc-product-mega-menu-trigger>a::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transform-origin:center;transition:transform .16s ease;display:inline-block;margin-left:2px}
.wc-product-mega-menu-trigger.wcpmm-trigger-open>a::after{transform:rotate(225deg) translate(-1px,-1px)}
@media(max-width:900px){.wcpmm{position:fixed;inset:0;width:100%;height:100dvh;transform:none;border-radius:0;top:0;overflow:auto}.wcpmm.is-open{transform:none}.wcpmm__inner{display:block;height:auto;min-height:100%}.wcpmm__tops{border:0;padding:10px}.wcpmm__panel{display:none;grid-template-columns:1fr}.wcpmm__panel.is-active{display:block}.wcpmm__content{padding:20px}.wcpmm__media{display:none}.wcpmm__children{grid-template-columns:1fr}.wcpmm__title{font-size:28px}.wcpmm__all{margin-top:22px}.wcpmm__top{padding:10px 12px}}

/* 1.0.3: denser category navigation and richer category sidebar */
.wcpmm__tops{padding:7px 10px}
.wcpmm__top{padding:5px 9px;min-height:33px;font-size:.92em}
.wcpmm__top-main{gap:8px}
.wcpmm__icon{width:19px;height:19px;flex-basis:19px}
.wcpmm__icon svg{width:19px;height:19px}
.wcpmm__media{padding:18px;display:block;overflow:auto}
.wcpmm__category-image{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;display:block}
.wcpmm__intro{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;margin-top:18px;padding:16px 4px 15px;border-bottom:1px solid #dfe5eb}
.wcpmm__car{width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:#153c72}
.wcpmm__car svg{width:30px;height:30px}
.wcpmm__intro strong{display:block;font-size:1em;line-height:1.25;margin:1px 0 5px}
.wcpmm__intro p{margin:0;color:#5f6b7a;font-size:.88em;line-height:1.45}
.wcpmm__promises{padding:14px 4px 2px;display:grid;gap:8px;font-size:.9em}
.wcpmm__promises>div{display:flex;align-items:flex-start;gap:9px}
.wcpmm__promises span{font-weight:800;color:#0b4ea2;font-size:1.15em;line-height:1}

/* 1.0.5: visual category overview shown when the mega menu first opens */
.wcpmm__inner{grid-template-columns:minmax(250px,300px) minmax(0,1fr)}
.wcpmm__main{position:relative;min-width:0;overflow:hidden;background:#fff}
.wcpmm__overview{display:none;height:100%;overflow:auto;padding:24px 28px 28px}
.wcpmm__overview.is-active{display:block}
.wcpmm__overview-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 20px}
.wcpmm__overview-card{display:block;min-width:0;color:inherit;text-decoration:none!important;text-align:center}
.wcpmm__overview-image{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1.18/1;background:#f5f6f8;border-radius:8px;overflow:hidden;border:1px solid #eef0f2;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
.wcpmm__overview-image img{width:100%;height:100%;object-fit:cover;display:block}
.wcpmm__overview-fallback{display:flex;align-items:center;justify-content:center;width:42%;height:42%;color:#173f73}
.wcpmm__overview-fallback svg{width:100%;height:100%}
.wcpmm__overview-name{display:block;margin-top:7px;font-size:.86em;font-weight:700;line-height:1.25}
.wcpmm__overview-card:hover .wcpmm__overview-image,.wcpmm__overview-card:focus .wcpmm__overview-image{transform:translateY(-2px);box-shadow:0 8px 18px rgba(15,42,75,.12);border-color:#dce8f6}
.wcpmm__overview-card:hover .wcpmm__overview-name,.wcpmm__overview-card:focus .wcpmm__overview-name{color:#0b4ea2}
.wcpmm__panels{position:absolute;inset:0;overflow:auto;background:#fff;pointer-events:none;visibility:hidden}
.wcpmm__panels.has-active{pointer-events:auto;visibility:visible}
.wcpmm__panel{min-height:100%}
@media(max-width:1200px){.wcpmm__overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}
@media(max-width:900px){.wcpmm__main{overflow:visible}.wcpmm__overview{padding:16px}.wcpmm__overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.wcpmm__panels{position:relative;inset:auto;display:none}.wcpmm__panels.has-active{display:block}.wcpmm__overview.is-active{display:block}}

/* 1.0.6: dedicated compact mobile accordion. */
.wcpmm__mobile{display:none}
@media(max-width:900px){
  .wcpmm{inset:0;top:0!important;width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0;overflow:auto;background:#fff}
  .wcpmm__inner{display:none!important}
  .wcpmm__mobile{display:block;padding:8px 12px 24px;background:#fff;min-height:100%}
  .wcpmm__mobile-group{border-bottom:1px solid #e8edf2}
  .wcpmm__mobile-row{display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:stretch}
  .wcpmm__mobile-link{display:flex;align-items:center;gap:10px;min-width:0;padding:11px 4px;color:inherit;text-decoration:none!important;font-weight:650;line-height:1.25}
  .wcpmm__mobile-link:hover,.wcpmm__mobile-link:focus{color:#0b4ea2}
  .wcpmm__mobile-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;color:#16345f}
  .wcpmm__mobile-icon svg{width:21px;height:21px;display:block}
  .wcpmm__mobile-name{min-width:0}
  .wcpmm__mobile-name small,.wcpmm__mobile-child small{opacity:.55;font-weight:400}
  .wcpmm__mobile-toggle{appearance:none;border:0;border-left:1px solid #eef1f4;background:transparent;color:#22364e;display:flex;align-items:center;justify-content:center;cursor:pointer;font:inherit;padding:0}
  .wcpmm__mobile-toggle span{display:block;font-size:1.35rem;line-height:1;transition:transform .16s ease;transform:translateY(-1px)}
  .wcpmm__mobile-toggle[aria-expanded="true"] span{transform:rotate(180deg) translateY(1px)}
  .wcpmm__mobile-children{background:#f8fafc;border-top:1px solid #eef1f4;padding:2px 0 5px 32px}
  .wcpmm__mobile-child{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 8px;border-bottom:1px solid #edf1f4;color:inherit;text-decoration:none!important;font-size:.94em;line-height:1.3}
  .wcpmm__mobile-child:last-child{border-bottom:0}
  .wcpmm__mobile-child:hover,.wcpmm__mobile-child:focus{color:#0b4ea2}
  body.wcpmm-mobile-open{overflow:hidden}
}


/* 1.0.7: mobile trigger support for themes that duplicate desktop/mobile menus. */
@media(max-width:900px){
  .wcpmm__mobile{padding-top:0}
  .wcpmm__mobile-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 4px 10px;background:#fff;border-bottom:1px solid #e8edf2}
  .wcpmm__mobile-header strong{font-size:1.05em}
  .wcpmm__mobile-close{appearance:none;border:0;background:transparent;color:#22364e;width:42px;height:42px;display:flex;align-items:center;justify-content:center;font:inherit;font-size:1.75rem;line-height:1;cursor:pointer}
}


/* 1.0.8: mobile uses the theme's own menu/sub-menu presentation.
 * The plugin portal is desktop-only on small screens; product categories are
 * injected as ordinary .sub-menu markup inside the existing mobile menu item. */
@media(max-width:900px){
  #wcpmm-portal .wcpmm{display:none!important}
  #wcpmm-portal .wcpmm__mobile{display:none!important}
}


/* 1.0.9: small mobile usability refinements. Theme styling still controls
 * the drawer; these rules only refine hierarchy, icon contrast and touch spacing. */
@media(max-width:900px){
  .wcpmm-native-submenu > .menu-item > .drawer-nav-drop-wrap > a,
  .wcpmm-native-submenu > .menu-item > a{
    padding-top:10px!important;
    padding-bottom:10px!important;
  }
  .wcpmm-native-submenu svg{
    color:#fff!important;
    stroke:currentColor!important;
  }
  .wcpmm-native-submenu > .menu-item > .sub-menu{
    padding-left:32px!important;
  }
  .wcpmm-native-submenu > .menu-item > .sub-menu > .menu-item > a{
    padding-top:9px!important;
    padding-bottom:9px!important;
    padding-left:16px!important;
    min-height:44px;
  }
}

/* 1.1.0: category-specific custom icons. */
.wcpmm__icon img,.wcpmm__mobile-icon img{width:100%;height:100%;object-fit:contain;display:block}
.wcpmm__overview-fallback img{width:100%;height:100%;object-fit:contain;display:block}
@media(max-width:900px){
  .wcpmm-native-submenu .wcpmm__custom-icon-img{width:21px;height:21px;object-fit:contain;display:block}
}
