@charset "UTF-8";

/* ==== Navigation Bar Responsiveness ==== */
@media screen and (max-width: 1400px) {
  .top > .mainbox { width: 95%; }
  .nav li > a { font-size: 0.20rem; padding: 0 0.1rem; }
  .topright { margin-left: 0.2rem; width: 80%; }
  .nav { width: 55%; }
  .topyou { width: 40%; }
}

@media screen and (max-width: 1024px) {
  .top > .mainbox { width: 98%; }
  .logo { width: 20%; }
  .topright { width: 78%; margin-left: 0.1rem; }
  .nav { width: 55%; }
  .topyou { width: 45%; }
  .nav li > a { font-size: 0.18rem; padding: 0 0.05rem; white-space: nowrap; }
  .linkproductbtn, .messagebtn { width: auto; padding: 0 0.2rem; font-size: 0.18rem; }
  .telx p { font-size: 0.18rem; }
  .telx { margin-right: 0.1rem; }
}

@media screen and (max-width: 768px) {
  body { padding-top: 1.2rem; }
  .top > .mainbox { height: 1.2rem; width: 95%; flex-wrap: nowrap; justify-content: flex-start; padding: 0; position: relative; }
  .logo { width: auto; margin-bottom: 0; display: flex; align-items: center; }
  .logo img { height: 0.6rem; width: auto; margin: 0; }
  .topright { display: none; }

  /* Hamburger Icon */
  .nav-btnbox { 
    display: block; 
    position: absolute; 
    right: 0.2rem; 
    top: 50%;
    transform: translateY(-50%);
    width: 0.5rem; 
    cursor: pointer; 
    z-index: 100; 
  }
  .nav-btnbox .icon-bar { 
    display: block; 
    width: 100%; 
    height: 0.06rem; 
    background: #ff7f00; 
    margin-top: 0.08rem; 
    border-radius: 0.05rem; 
  }

  /* Hamburger Menu Open State */
  body.menu-open .topright {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 1.2rem;
    left: -2.5%; /* Correcting for .mainbox 95% center positioning */
    width: 105.26%; /* 100vw fallback relative space */
    background: #fff;
    box-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.1);
    z-index: 99;
    padding: 0.3rem 0;
  }
  body.menu-open .nav { width: 100%; }
  body.menu-open .nav ul.erduan { display: block; width: 90%; margin: 0 auto; }
  body.menu-open .nav li { margin-bottom: 0; width: 100%; position: relative; text-align: left; border-bottom: 1px solid #f0f0f0; }
  body.menu-open .nav li > a { 
    line-height: 0.8rem; 
    font-size: 0.32rem; 
    white-space: nowrap; 
    text-align: left; 
    display: inline-block; 
    padding-right: 0.8rem;
    color: #333;
  }
  
  body.menu-open .nav li > a:before {
    left: 0;
    transform: none;
  }
  
  body.menu-open .nav-expand-btn {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 0.8rem;
    height: 0.8rem;
    line-height: 0.8rem;
    font-size: 0.24rem;
    text-align: center;
    cursor: pointer;
    vertical-align: middle;
    z-index: 99;
  }
  
  /* Use a pure CSS chevron instead of a solid block arrow */
  body.menu-open .nav-expand-btn::after {
    content: "";
    display: inline-block;
    width: 0.1rem;
    height: 0.1rem;
    border-bottom: 2px solid #666;
    border-right: 2px solid #666;
    vertical-align: middle;
    transition: transform 0.3s;
    transform: rotate(45deg); /* Points down */
    margin-top: -0.05rem; /* optical centering */
  }
  
  /* When expanded, flip the arrow */
  body.menu-open .nav li.cur2 .nav-expand-btn::after {
    transform: rotate(-135deg); /* Points up */
    margin-top: 0.05rem;
  }
  body.menu-open .navdown { 
    display: none; 
    position: relative; 
    top: 0; 
    left: 0; 
    transform: none; 
    width: 100%; 
    padding: 0; 
    text-align: left;
  }
  body.menu-open .navothers {
    box-shadow: none;
    background: transparent;
    padding: 0;
    display: block;
    text-align: left;
  }
  body.menu-open .navotherdown .navothers p {
    margin: 0;
    border-top: 1px solid #f9f9f9;
  }
  body.menu-open .navotherdown .navothers p a.link-left,
  body.menu-open .navotherdown .navothers p a.juzhong2 {
    font-size: 0.24rem;
    line-height: inherit;
    justify-content: flex-start;
    align-items: center;
    white-space: normal;
    display: flex;
    padding: 0.15rem 0;
    padding-left: 0.4rem;
    margin: 0 !important;
    color: #666;
  }
  body.menu-open .topyou { width: 100%; flex-direction: column; align-items: center; gap: 0.2rem; margin-top: 0.2rem; }
  body.menu-open .telx { margin-bottom: 0.2rem; text-align: center; margin-right: 0; width: 100%; display: flex; justify-content: center; }
  body.menu-open .telx a { text-align: center; display: block; }
  body.menu-open .telx a p { font-size: 0.24rem; line-height: 1.5; }
  body.menu-open .linkproductbtn, 
  body.menu-open .messagebtn { width: 3rem; height: 0.8rem; line-height: 0.8rem; font-size: 0.28rem; display: block; margin: 0 auto; margin-bottom: 0.2rem; text-align: center; }
}
