/* ============================================================
   Gangcai Menu widget — desktop dropdowns + mobile left drawer
   ============================================================ */
.gc-menu{display:flex;align-items:center;}
.gc-menu-list{
  display:flex;align-items:center;gap:22px;
  list-style:none;margin:0;padding:0;
}
.gc-menu-list li{position:relative;}
.gc-menu-list a{
  display:flex;align-items:center;gap:6px;
  padding:8px 0;font-family:'Inter',sans-serif;
  font-size:14px;font-weight:500;color:#1a212a;
  white-space:nowrap;text-decoration:none;transition:.25s;
}
.gc-menu-list a:hover,
.gc-menu-list .current-menu-item>a{color:#e6a820;}

/* caret for items with children */
.gc-menu-list .menu-item-has-children>a::after{
  content:"";width:7px;height:7px;flex-shrink:0;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);margin-left:4px;margin-top:-3px;transition:.25s;
}

/* ---- Sub menu (2nd level) ---- */
.gc-menu-list .sub-menu{
  position:absolute;top:100%;left:0;
  min-width:210px;background:#fff;
  list-style:none;margin:0;padding:8px 0;
  box-shadow:0 20px 50px rgba(14,18,23,.18);
  border-top:2px solid #ffc03d;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:.25s ease;z-index:300;
}
.gc-menu-list li:hover>.sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.gc-menu-list .sub-menu a{padding:11px 20px;font-size:13px;color:#1a212a;}
.gc-menu-list .sub-menu a:hover{background:#f6f7f9;color:#e6a820;}
.gc-menu-list .sub-menu .menu-item-has-children>a::after{transform:rotate(-45deg);margin-top:0;}

/* ---- 3rd level (flyout) ---- */
.gc-menu-list .sub-menu .sub-menu{
  top:-10px;left:100%;transform:translateX(10px);
}
.gc-menu-list .sub-menu li:hover>.sub-menu{transform:translateX(0);}

/* ---- Hamburger toggle + backdrop (hidden on desktop) ---- */
.gc-menu-toggle{
  display:none;width:44px;height:44px;border:none;background:transparent;
  cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;
}
.gc-menu-toggle span{width:26px;height:2px;background:#0e1217;transition:.3s ease;display:block;}
.gc-menu-backdrop{
  position:fixed;inset:0;background:rgba(14,18,23,.5);
  opacity:0;visibility:hidden;transition:.3s;z-index:9998;
}
.gc-menu-close{display:none;}
.gc-menu-panel-title{display:none;}

/* ============================================================
   Mobile (<=1024): hamburger + left slide-in drawer
   ============================================================ */
@media (max-width:1024px){
  .gc-menu-toggle{display:flex;}
  .gc-menu.gc-open .gc-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .gc-menu.gc-open .gc-menu-toggle span:nth-child(2){opacity:0;}
  .gc-menu.gc-open .gc-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .gc-menu-panel{
    position:fixed;top:0;left:-100%;
    width:min(360px,82vw);height:100vh;height:100dvh;
    background:#fff;padding:80px 28px 40px;
    box-shadow:20px 0 60px rgba(0,0,0,.18);
    z-index:9999;transition:left .35s ease;overflow-y:auto;
  }
  .gc-menu.gc-open .gc-menu-panel{left:0;}
  .gc-menu.gc-open .gc-menu-backdrop{opacity:1;visibility:visible;}

  .gc-menu-close{
    display:flex;position:absolute;top:22px;right:22px;
    width:36px;height:36px;border:none;background:transparent;cursor:pointer;
    align-items:center;justify-content:center;font-size:28px;line-height:1;color:#0e1217;
  }

  .gc-menu-panel-title{
    display:block;font-family:'Inter',sans-serif;font-size:13px;font-weight:700;
    letter-spacing:.12em;text-transform:uppercase;color:#98a0ab;
    padding-bottom:14px;margin-bottom:6px;border-bottom:1px solid #e6e8ec;
  }

  .gc-menu-list{flex-direction:column;align-items:stretch;gap:0;width:100%;}
  .gc-menu-list a{
    padding:15px 0;border-bottom:1px solid #e6e8ec;font-size:16px;
    justify-content:space-between;
  }
  .gc-menu-list .menu-item-has-children>a::after{margin-top:0;}

  /* sub menus become static accordions */
  .gc-menu-list .sub-menu{
    position:static;opacity:1;visibility:visible;transform:none;
    box-shadow:none;border-top:none;padding:0 0 0 16px;min-width:0;
    max-height:0;overflow:hidden;transition:max-height .3s ease;
  }
  .gc-menu-list li.gc-sub-open>.sub-menu{max-height:1000px;}
  .gc-menu-list li.gc-sub-open>a::after{transform:rotate(225deg);}
  .gc-menu-list .sub-menu .sub-menu{padding-left:16px;}
}

body.gc-menu-lock{overflow:hidden;}
