/* ==========================================================================
   mingda · components (design-spec §4: C1–C8)
   ========================================================================== */

/* ------------------------------------------------------------------ C1 header */
.md-header{position:sticky;top:0;z-index:999;background:var(--md-color-white);}
.md-header.is-scrolled{box-shadow:var(--md-shadow-sticky);}
.md-header.is-hidden{transform:translateY(-100%);}
.md-header{transition:transform 150ms linear,box-shadow 180ms ease-out;}

.md-utility-bar{background:var(--md-color-bg-dark);color:var(--md-color-text-inverse-secondary);
  font-size:var(--md-text-caption);min-height:var(--md-size-utility-bar);}
.md-utility-bar__inner{display:flex;align-items:center;justify-content:space-between;
  gap:var(--md-space-5);min-height:var(--md-size-utility-bar);}
.md-utility-bar a{color:var(--md-color-text-inverse-secondary);text-decoration:none;}
.md-utility-bar a:hover{color:var(--md-color-text-inverse);text-decoration:underline;}
.md-utility-bar__list{display:flex;align-items:center;gap:var(--md-space-5);flex-wrap:wrap;
  list-style:none;margin:0;padding:0;}
.md-utility-bar__list li{margin:0;}
.md-utility-bar__sep{color:var(--md-color-grey-700);}

.md-nav{position:relative;border-bottom:1px solid var(--md-color-border);
  background:var(--md-color-white);}
.md-nav__inner{display:flex;align-items:center;gap:var(--md-space-6);
  min-height:var(--md-size-header);}
.md-nav__brand{display:flex;align-items:center;gap:var(--md-space-3);
  text-decoration:none;flex:0 0 auto;}
.md-nav__brand img{height:44px;width:auto;}
.md-nav__brand-text{display:flex;flex-direction:column;line-height:1.1;}
.md-nav__brand-name{font-family:var(--md-font-heading);font-weight:700;
  font-size:var(--md-text-h5);color:var(--md-color-text-primary);letter-spacing:.01em;}
.md-nav__brand-tag{font-size:var(--md-text-caption);color:var(--md-color-text-secondary);}

.md-nav__menu{display:flex;align-items:center;gap:var(--md-space-6);list-style:none;
  margin:0 0 0 auto;padding:0;}
.md-nav__menu > li{margin:0;}
.md-nav__link{position:relative;display:inline-flex;align-items:center;gap:var(--md-space-1);
  padding:var(--md-space-2) 0;font-family:var(--md-font-heading);
  font-size:var(--md-text-body);font-weight:600;letter-spacing:var(--md-tracking-button);
  color:var(--md-color-text-primary);text-decoration:none;white-space:nowrap;}
.md-nav__link::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;
  background:var(--md-color-primary);transition:width 180ms ease-out;}
.md-nav__link:hover,.md-nav__link:focus-visible{color:var(--md-color-text-link);}
.md-nav__link:hover::after,.md-nav__link:focus-visible::after,
.md-nav__item.is-open > .md-nav__link::after{width:100%;}
.md-nav__item.is-open > .md-nav__link{color:var(--md-color-text-link);}
.md-nav__caret{width:8px;height:8px;border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);}
.md-nav__actions{display:flex;align-items:center;gap:var(--md-space-4);flex:0 0 auto;}

/* mega panel */
.md-mega{position:absolute;left:0;right:0;top:100%;z-index:998;
  background:var(--md-color-white);box-shadow:var(--md-shadow-2);
  border-top:1px solid var(--md-color-border-subtle);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity 180ms cubic-bezier(.2,.7,.2,1),transform 180ms cubic-bezier(.2,.7,.2,1),visibility 180ms;}
.md-nav__item.is-open .md-mega{opacity:1;visibility:visible;transform:translateY(0);}
.md-mega__inner{display:grid;grid-template-columns:1fr 1fr 1fr 320px;
  gap:var(--md-space-6);padding:var(--md-space-6) var(--md-container-gutter);}
.md-mega__inner--role{grid-template-columns:1fr 320px;}
.md-mega__inner--industries{grid-template-columns:1fr 1fr 320px;}
.md-mega__inner--about{grid-template-columns:1fr 1fr 320px;}
.md-mega__group-title{font-family:var(--md-font-heading);font-size:var(--md-text-small);
  font-weight:600;text-transform:uppercase;letter-spacing:var(--md-tracking-caption);
  color:var(--md-color-text-secondary);margin:0 0 var(--md-space-3);}
.md-mega__group-title--hailidun{color:var(--md-color-red-500);display:flex;align-items:center;
  gap:var(--md-space-2);}
.md-mega__group-title--hailidun::before{content:"";width:6px;height:6px;
  border-radius:var(--md-radius-pill);background:var(--md-color-hailidun);}
.md-mega__list{list-style:none;margin:0;padding:0;}
.md-mega__list li{margin:0;}
.md-mega__link{display:block;position:relative;padding:var(--md-space-2) 0
  var(--md-space-2) var(--md-space-3);font-size:var(--md-text-body);font-weight:500;
  color:var(--md-color-text-primary);text-decoration:none;line-height:1.5;}
.md-mega__link::before{content:"";position:absolute;left:0;top:50%;
  transform:translateY(-50%);width:0;height:1em;background:var(--md-color-primary);
  transition:width 150ms ease-out;}
.md-mega__link:hover{color:var(--md-color-text-link);}
.md-mega__link:hover::before{width:2px;}
.md-mega__link small{display:block;font-size:var(--md-text-caption);
  color:var(--md-color-text-secondary);font-weight:400;}
.md-mega__cta{background:var(--md-color-bg-brand-soft);border-radius:var(--md-radius-sm);
  padding:var(--md-space-5);align-self:start;}
.md-mega__cta h4{margin:0 0 var(--md-space-2);font-size:var(--md-text-h5);}
.md-mega__cta p{font-size:var(--md-text-small);color:var(--md-color-text-secondary);
  margin:0 0 var(--md-space-3);}

/* language switcher */
.md-lang{display:flex;align-items:center;gap:var(--md-space-2);font-size:var(--md-text-caption);
  list-style:none;margin:0;padding:0;}
.md-lang li{margin:0;}
.md-lang a{padding-bottom:2px;text-decoration:none;}
.md-lang .is-current a,.md-lang .current-lang a{
  color:var(--md-color-text-inverse);border-bottom:2px solid var(--md-color-primary);}
.md-lang--footer .is-current a,.md-lang--footer .current-lang a{
  color:var(--md-color-text-inverse);border-bottom:2px solid var(--md-color-primary);}

.md-lang__pending span{color:var(--md-color-grey-500);cursor:not-allowed;}
.md-utility-bar .md-lang a{color:var(--md-color-text-inverse-secondary);}

.md-burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;
  background:transparent;border:1px solid var(--md-color-border);
  border-radius:var(--md-radius-sm);cursor:pointer;padding:0;}
.md-burger span{display:block;width:20px;height:2px;background:var(--md-color-text-primary);
  position:relative;}
.md-burger span::before,.md-burger span::after{content:"";position:absolute;left:0;
  width:20px;height:2px;background:var(--md-color-text-primary);}
.md-burger span::before{top:-6px;} .md-burger span::after{top:6px;}

/* mobile drawer */
.md-drawer{position:fixed;top:0;right:0;bottom:0;width:min(400px,100%);height:100dvh;
  background:var(--md-color-white);border-radius:var(--md-radius-md) 0 0 var(--md-radius-md);
  box-shadow:var(--md-shadow-3);z-index:1200;display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform 280ms cubic-bezier(.2,.7,.2,1);}
.md-drawer.is-open{transform:translateX(0);}
.md-drawer__head{display:flex;align-items:center;justify-content:space-between;
  gap:var(--md-space-4);padding:var(--md-space-4);border-bottom:1px solid var(--md-color-border);}
.md-drawer__close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  background:transparent;border:1px solid var(--md-color-border);
  border-radius:var(--md-radius-sm);cursor:pointer;font-size:var(--md-text-h5);
  color:var(--md-color-text-primary);}
.md-drawer__body{flex:1 1 auto;overflow-y:auto;padding:0 var(--md-space-4) var(--md-space-9);}
.md-drawer__acc{list-style:none;margin:0;padding:0;}
.md-drawer__acc > li{margin:0;border-bottom:1px solid var(--md-color-border-subtle);}
.md-drawer__toggle{width:100%;min-height:56px;display:flex;align-items:center;
  justify-content:space-between;gap:var(--md-space-3);background:transparent;border:0;
  padding:0 var(--md-space-2);font-family:var(--md-font-heading);font-size:var(--md-text-h5);
  font-weight:600;color:var(--md-color-text-primary);text-align:left;cursor:pointer;}
.md-drawer__sub{list-style:none;margin:0 0 var(--md-space-3);padding:0 0 0 var(--md-space-4);
  display:none;}
.md-drawer__acc li.is-open > .md-drawer__sub{display:block;}
.md-drawer__sub li{margin:0;}
.md-drawer__sub a{display:block;min-height:44px;padding:var(--md-space-2) 0;
  color:var(--md-color-text-secondary);text-decoration:none;font-size:var(--md-text-small);}
.md-drawer__foot{position:sticky;bottom:0;background:var(--md-color-white);
  border-top:1px solid var(--md-color-border);padding:var(--md-space-4);}
.md-drawer__foot .md-contact-lines{margin-top:var(--md-space-4);font-size:var(--md-text-small);}
.md-contact-lines{list-style:none;margin:0;padding:0;}
.md-contact-lines li{margin:0 0 var(--md-space-2);}
.md-drawer-mask{position:fixed;inset:0;background:var(--md-color-overlay);z-index:1100;
  opacity:0;visibility:hidden;transition:opacity 200ms ease-out,visibility 200ms;}
.md-drawer-mask.is-open{opacity:1;visibility:visible;}
body.md-drawer-open{overflow:hidden;}

@media (max-width:1023px){
  .md-utility-bar,.md-nav__menu,.md-nav__lang{display:none;}
  .md-burger{display:flex;}
  .md-nav__inner{justify-content:space-between;}
}
@media (min-width:1024px){
  .md-drawer,.md-drawer-mask{display:none;}
  .md-nav__lang{display:flex;}
}

/* --------------------------------------------------------------- C2 buttons */
.md-btn{display:inline-flex;align-items:center;justify-content:center;
  gap:var(--md-space-2);min-height:var(--md-size-btn-h);
  padding:0 var(--md-space-5);font-family:var(--md-font-heading);
  font-size:var(--md-text-button);font-weight:600;letter-spacing:var(--md-tracking-button);
  line-height:1;border-radius:var(--md-radius-sm);border:1px solid transparent;
  cursor:pointer;text-decoration:none;text-align:center;
  transition:background-color 150ms ease-out,border-color 150ms ease-out,color 150ms ease-out;}
.md-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--md-color-focus);}
.md-btn--sm{min-height:var(--md-size-btn-h-sm);padding:0 var(--md-space-4);}
.md-btn--lg{min-height:var(--md-size-btn-h-lg);padding:0 var(--md-space-6);font-size:1.0625rem;}
.md-btn--block{width:100%;}

.md-btn--primary{background:var(--md-color-primary);color:var(--md-color-text-on-primary);}
.md-btn--primary:hover{background:var(--md-color-primary-hover);
  color:var(--md-color-text-on-primary);text-decoration:none;}
.md-btn--primary:active{background:var(--md-color-primary-active);transform:translateY(1px);}

.md-btn--secondary{background:var(--md-color-grey-800);color:var(--md-color-text-inverse);}
.md-btn--secondary:hover{background:var(--md-color-grey-900);
  color:var(--md-color-text-inverse);text-decoration:none;}

.md-btn--outline{background:transparent;border-color:var(--md-color-border-strong);
  color:var(--md-color-text-primary);}
.md-btn--outline:hover{background:var(--md-color-primary-soft);
  border-color:var(--md-color-primary);color:var(--md-color-text-link);text-decoration:none;}
.md-btn--outline:active{background:var(--md-color-green-100);
  border-color:var(--md-color-text-link);}

.md-btn--hailidun{background:var(--md-color-hailidun);color:var(--md-color-text-inverse);}
.md-btn--hailidun:hover{background:var(--md-color-red-600);
  color:var(--md-color-text-inverse);text-decoration:none;}
.md-btn--hailidun:active{background:var(--md-color-red-700);}

.md-btn--link{background:none;border:0;padding:0;min-height:0;
  color:var(--md-color-text-link);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;font-weight:600;}
.md-btn--link:hover{color:var(--md-color-text-link-hover);text-decoration-thickness:2px;}

.md-btn--ghost-dark{background:transparent;border-color:var(--md-color-grey-600);
  color:var(--md-color-text-inverse);}
.md-btn--ghost-dark:hover{border-color:var(--md-color-text-inverse);
  color:var(--md-color-text-inverse);text-decoration:none;}

.md-btn[disabled],.md-btn.is-disabled{background:var(--md-color-bg-muted);
  color:var(--md-color-text-muted);border-color:var(--md-color-border-subtle);
  cursor:not-allowed;opacity:1;pointer-events:none;}

@media (max-width:767px){
  .md-actions--stack .md-btn{width:100%;}
}

/* ---------------------------------------------------------- C3 product card */
.md-card{position:relative;display:flex;flex-direction:column;background:var(--md-color-white);
  border:1px solid var(--md-color-border);border-radius:var(--md-radius-sm);
  overflow:hidden;transition:border-color 240ms ease-out,box-shadow 240ms ease-out;}
.md-card:hover{border-color:var(--md-color-primary);box-shadow:var(--md-shadow-1);}
.md-card__media{position:relative;display:block;overflow:hidden;background:var(--md-color-bg-subtle);}
.md-card__media img{width:100%;object-fit:cover;transition:transform 240ms ease-out;}
.md-card:hover .md-card__media img{transform:scale(1.03);}
.md-card__body{display:flex;flex-direction:column;gap:var(--md-space-2);
  padding:var(--md-space-5);}
.md-card__sku{font-size:var(--md-text-small);color:var(--md-color-text-secondary);
  font-variant-numeric:tabular-nums;}
.md-card__title{font-size:var(--md-text-h4);line-height:1.3;margin:0;font-weight:600;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.md-card__title a{color:inherit;text-decoration:none;}
.md-card__params{font-size:var(--md-text-small);color:var(--md-color-text-secondary);margin:0;}
.md-card__moq{font-size:var(--md-text-small);color:var(--md-color-text-primary);margin:0;}
.md-card__chips{display:flex;flex-wrap:wrap;gap:var(--md-space-2);list-style:none;
  margin:0;padding:0;}
.md-card__chips li{margin:0;}
.md-chip{display:inline-block;font-size:var(--md-text-caption);color:var(--md-color-grey-700);
  background:var(--md-color-bg-subtle);border-radius:var(--md-radius-pill);
  padding:2px var(--md-space-2);white-space:nowrap;}
.md-card__cta{margin-top:auto;}
.md-card__link-cover{position:absolute;inset:0;z-index:1;}

.md-badge{position:absolute;top:var(--md-space-3);left:var(--md-space-3);z-index:2;
  padding:2px var(--md-space-2);border-radius:var(--md-radius-xs);
  font-family:var(--md-font-heading);font-size:var(--md-text-caption);font-weight:600;
  letter-spacing:var(--md-tracking-caption);text-transform:uppercase;
  color:var(--md-color-text-inverse);background:var(--md-color-primary);}
.md-badge--hailidun{background:var(--md-color-hailidun);}

/* C3-b home card */
.md-card-home{display:flex;flex-direction:column;background:var(--md-color-white);
  border-top:2px solid var(--md-color-primary);text-decoration:none;}
.md-card-home--hailidun{border-top-color:var(--md-color-hailidun);}
.md-card-home__media{aspect-ratio:3/2;overflow:hidden;background:var(--md-color-bg-subtle);}
.md-card-home__media img{width:100%;height:100%;object-fit:cover;
  transition:transform 240ms ease-out;}
.md-card-home:hover .md-card-home__media img{transform:scale(1.03);}
.md-card-home__body{padding-top:var(--md-space-5);}
.md-card-home__title{font-size:var(--md-text-h3);margin:0 0 var(--md-space-2);
  color:var(--md-color-text-primary);}
.md-card-home__line{font-size:var(--md-text-body-lg);color:var(--md-color-text-secondary);
  margin:0 0 var(--md-space-4);}
@media (max-width:767px){.md-card-home__media{aspect-ratio:16/9;}}

/* C3-c related card */
.md-card-related{display:block;text-decoration:none;color:inherit;
  border:1px solid var(--md-color-border);border-radius:var(--md-radius-sm);
  overflow:hidden;background:var(--md-color-white);}
.md-card-related__media{aspect-ratio:1/1;overflow:hidden;background:var(--md-color-bg-subtle);}
.md-card-related__media img{width:100%;height:100%;object-fit:cover;}
.md-card-related__body{padding:var(--md-space-4);}
.md-card-related__sku{font-size:var(--md-text-caption);color:var(--md-color-text-secondary);
  display:block;font-variant-numeric:tabular-nums;}
.md-card-related__title{font-size:var(--md-text-h6);font-weight:600;line-height:1.35;
  margin:var(--md-space-1) 0 0;color:var(--md-color-text-primary);}
.md-card-related:hover{border-color:var(--md-color-primary);}
.md-card-related:hover .md-card-related__title{color:var(--md-color-text-link);}

/* ------------------------------------------------------------ C4 spec table */
.md-spec-table{background:var(--md-color-white);border:1px solid var(--md-color-border);
  border-radius:var(--md-radius-sm);overflow-x:auto;overflow-y:hidden;box-shadow:var(--md-shadow-0);}
.md-spec-table table{width:100%;border-collapse:collapse;min-width:920px;}
.md-spec-table caption{text-align:left;}
.md-spec-table thead th{background:var(--md-color-bg-subtle);
  font-family:var(--md-font-heading);font-size:var(--md-text-small);font-weight:600;
  color:var(--md-color-grey-700);text-transform:uppercase;
  letter-spacing:var(--md-tracking-caption);text-align:left;
  padding:var(--md-space-3) var(--md-space-4);
  border-bottom:2px solid var(--md-color-primary);white-space:nowrap;}
.md-spec-table tbody th,.md-spec-table tbody td{
  padding:var(--md-space-3) var(--md-space-4);font-size:var(--md-text-small);
  border-bottom:1px solid var(--md-color-border-subtle);vertical-align:top;
  color:var(--md-color-text-primary);font-weight:400;text-align:left;}
.md-spec-table tbody th{font-weight:600;font-variant-numeric:tabular-nums;}
.md-spec-table tbody tr:nth-child(even) td,
.md-spec-table tbody tr:nth-child(even) th{background:var(--md-color-bg-subtle);}
.md-spec-table tbody tr:hover td,.md-spec-table tbody tr:hover th{
  background:var(--md-color-primary-soft);}
.md-spec-table tbody tr:hover th a{color:var(--md-color-text-link);}
.md-spec-table tbody tr:last-child th,.md-spec-table tbody tr:last-child td{border-bottom:0;}
.md-spec-table .is-num{text-align:right;font-variant-numeric:tabular-nums;}
.md-spec-table__empty{color:var(--md-color-text-muted);text-transform:uppercase;
  font-size:var(--md-text-caption);letter-spacing:var(--md-tracking-caption);}
.md-spec-table--family table{min-width:880px;}

@media (max-width:767px){
  .md-spec-table{overflow:visible;border:0;background:transparent;border-radius:0;}
  .md-spec-table table{min-width:0;display:block;}
  .md-spec-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
  .md-spec-table tbody,.md-spec-table tr,.md-spec-table th,.md-spec-table td{display:block;width:100%;}
  .md-spec-table tbody tr{border:1px solid var(--md-color-border);
    border-radius:var(--md-radius-sm);background:var(--md-color-white);
    margin-bottom:var(--md-space-4);padding:var(--md-space-2) 0;overflow:hidden;}
  .md-spec-table tbody th{background:var(--md-color-bg-subtle);border-bottom:0;
    font-size:var(--md-text-h6);padding:var(--md-space-3) var(--md-space-4);}
  .md-spec-table tbody td{border-bottom:1px solid var(--md-color-border-subtle);
    display:flex;justify-content:space-between;gap:var(--md-space-4);
    padding:var(--md-space-2) var(--md-space-4);}
  .md-spec-table tbody td::before{content:attr(data-label);font-weight:600;
    color:var(--md-color-text-secondary);text-transform:uppercase;
    font-size:var(--md-text-caption);letter-spacing:var(--md-tracking-caption);
    flex:0 0 42%;}
  .md-spec-table tbody td:last-child{border-bottom:0;}
  .md-spec-table tbody tr:nth-child(even) td,
  .md-spec-table tbody tr:nth-child(even) th{background:transparent;}
  .md-spec-table tbody tr:nth-child(even) th{background:var(--md-color-bg-subtle);}
  .md-spec-table .is-num{text-align:right;}
}

@media print{
  .md-spec-table tbody tr:nth-child(even) td{background:var(--md-color-white);}
  .md-spec-table tbody tr:hover td{background:var(--md-color-white);}
}

/* key-value spec table (§4.4 detail page) */
.md-spec-keyvalue{width:100%;border-collapse:collapse;background:var(--md-color-white);
  border:1px solid var(--md-color-border);border-radius:var(--md-radius-sm);
  overflow:hidden;}
.md-spec-keyvalue th,.md-spec-keyvalue td{padding:var(--md-space-3) var(--md-space-4);
  border-bottom:1px solid var(--md-color-border-subtle);font-size:var(--md-text-body);
  text-align:left;vertical-align:top;}
.md-spec-keyvalue th{width:40%;font-weight:600;color:var(--md-color-text-primary);
  background:var(--md-color-bg-subtle);}
.md-spec-keyvalue td{color:var(--md-color-text-primary);}
.md-spec-keyvalue tr:last-child th,.md-spec-keyvalue tr:last-child td{border-bottom:0;}
.md-spec-keyvalue .is-num{font-variant-numeric:tabular-nums;}

/* ----------------------------------------------------------- C5 cert list */
.md-cert-list{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(3,1fr);gap:var(--md-space-6);}
.md-cert-list li.md-cert{margin:0;padding:var(--md-space-4) 0;
  border-top:1px solid var(--md-color-border-subtle);}
.md-cert__claim{font-family:var(--md-font-heading);font-size:var(--md-text-h6);
  font-weight:600;line-height:1.4;margin:0 0 var(--md-space-2);
  color:var(--md-color-text-primary);text-transform:none;letter-spacing:0;}
.md-cert__standard{font-family:var(--md-font-heading);font-size:1.125rem;font-weight:600;
  color:var(--md-color-text-link);font-variant-numeric:tabular-nums;margin:0;}
.md-cert__note{font-size:var(--md-text-caption);color:var(--md-color-text-secondary);
  margin:var(--md-space-1) 0 0;}
.md-cert-list--hailidun li.md-cert{border-top:2px solid var(--md-color-hailidun);}
.md-cert-list--numbered{counter-reset:md-cert;}
.md-cert-list--numbered li.md-cert{display:grid;grid-template-columns:40px 1fr;
  gap:0 var(--md-space-3);}
.md-cert-list--numbered li.md-cert::before{counter-increment:md-cert;
  content:counter(md-cert,decimal-leading-zero);font-size:var(--md-text-small);
  color:var(--md-color-text-muted);grid-row:span 3;font-variant-numeric:tabular-nums;}
@media (max-width:1023px){.md-cert-list{grid-template-columns:repeat(2,1fr);}}
@media (max-width:767px){.md-cert-list{grid-template-columns:1fr;}}

/* cert wall (footer) */
.md-cert-wall{display:flex;flex-wrap:wrap;align-items:flex-start;
  gap:var(--md-space-6);list-style:none;margin:0;padding:0;}
.md-cert-wall li{margin:0;min-width:120px;}
.md-cert-wall__mark{height:32px;display:flex;align-items:center;
  font-family:var(--md-font-heading);font-size:var(--md-text-h6);font-weight:600;
  letter-spacing:.04em;color:var(--md-color-text-inverse);}
.md-cert-wall__std{font-size:var(--md-text-caption);color:var(--md-color-text-muted);
  margin-top:var(--md-space-2);}

/* ------------------------------------------------------------------ C6 TDS */
.md-tds{display:grid;grid-template-columns:1fr 1fr;gap:var(--md-space-6);}
.md-tds__track{padding:var(--md-space-5);border-radius:var(--md-radius-sm);}
.md-tds__track--a{background:var(--md-color-white);border:1px solid var(--md-color-border);}
.md-tds__track--b{background:var(--md-color-bg-subtle);}
.md-tds__track h3{font-size:var(--md-text-h4);margin:0 0 var(--md-space-2);}
.md-tds__track p{font-size:var(--md-text-small);color:var(--md-color-text-secondary);
  margin:0 0 var(--md-space-4);}
.md-tds__note{display:flex;align-items:center;gap:var(--md-space-2);
  margin-top:var(--md-space-3);font-size:var(--md-text-caption);
  color:var(--md-color-text-muted);}
@media (max-width:1023px){.md-tds{grid-template-columns:1fr;}}

/* forms (TDS track B + inquiry) */
.md-field{margin-bottom:var(--md-space-5);}
.md-field label{display:block;font-size:var(--md-text-small);font-weight:600;
  color:var(--md-color-text-primary);margin-bottom:var(--md-space-2);}
.md-field .md-req{color:var(--md-color-text-secondary);font-weight:400;}
.md-input,.md-select,.md-textarea{width:100%;min-height:var(--md-size-input-h);
  padding:0 var(--md-space-4);font-family:var(--md-font-body);
  font-size:var(--md-text-body);color:var(--md-color-text-primary);
  background:var(--md-color-white);border:1px solid var(--md-color-border-strong);
  border-radius:var(--md-radius-sm);}
.md-textarea{min-height:120px;padding:var(--md-space-3) var(--md-space-4);}
.md-input:focus,.md-select:focus,.md-textarea:focus{
  border-color:var(--md-color-border-brand);box-shadow:0 0 0 3px var(--md-color-focus);
  outline:none;}
.md-field--check{display:flex;align-items:flex-start;gap:var(--md-space-2);}
.md-field--check label{font-weight:400;font-size:var(--md-text-small);margin:0;}
.md-help{font-size:var(--md-text-caption);color:var(--md-color-text-muted);
  margin-top:var(--md-space-1);}
.md-msg{font-size:var(--md-text-caption);color:var(--md-color-error);
  margin-top:var(--md-space-1);display:none;}
.md-field.has-error .md-input,.md-field.has-error .md-select,
.md-field.has-error .md-textarea{border-color:var(--md-color-error);}
.md-field.has-error .md-msg{display:block;}
.md-form-alert{border-radius:var(--md-radius-sm);padding:var(--md-space-3) var(--md-space-4);
  font-size:var(--md-text-small);margin-bottom:var(--md-space-4);display:none;}
.md-form-alert--error{background:var(--md-color-error-bg);
  border:1px solid var(--md-color-error);color:var(--md-color-error);}
.md-form-alert--warn{background:var(--md-color-warning-bg);
  border:1px solid var(--md-color-warning-border);color:var(--md-color-warning-text);}
.md-form-success{display:none;align-items:flex-start;gap:var(--md-space-3);
  background:var(--md-color-success-bg);border:1px solid var(--md-color-success-border);
  border-radius:var(--md-radius-sm);padding:var(--md-space-4);}
.md-form-success__icon{color:var(--md-color-success);font-size:var(--md-text-h5);line-height:1;}
.md-form-success.is-visible{display:flex;}

/* ------------------------------------------------------------- C7 CTA band */
.md-cta-band{background:var(--md-color-bg-dark);color:var(--md-color-text-inverse);
  padding-block:var(--md-space-11);position:relative;}
.md-cta-band__inner{display:grid;grid-template-columns:7fr 5fr;gap:var(--md-space-8);
  align-items:center;}
.md-cta-band__bar{position:absolute;top:var(--md-space-11);left:var(--md-container-gutter);
  width:4px;height:64px;background:var(--md-color-primary);}
.md-cta-band h2{color:var(--md-color-text-inverse);margin:0 0 var(--md-space-4);}
.md-cta-band p{color:var(--md-color-text-inverse-secondary);font-size:var(--md-text-body-lg);
  margin:0;}
.md-cta-band__actions{display:flex;flex-direction:column;gap:var(--md-space-3);
  align-items:flex-start;}
.md-cta-band--light{background:var(--md-color-white);color:var(--md-color-text-primary);
  border-top:1px solid var(--md-color-border);}
.md-cta-band--light h2{color:var(--md-color-text-primary);}
.md-cta-band--light p{color:var(--md-color-text-secondary);}
.md-cta-band--hailidun .md-cta-band__bar{background:var(--md-color-hailidun);}
@media (max-width:1023px){
  .md-cta-band__inner{grid-template-columns:1fr;}
  .md-cta-band__bar{display:none;}
}
@media (max-width:767px){
  .md-cta-band__actions{align-items:stretch;}
  .md-cta-band{padding-block:var(--md-space-9);}
}

/* --------------------------------------------------------------- C8 footer */
.md-footer{background:var(--md-color-bg-dark);color:var(--md-color-text-inverse-secondary);
  padding-top:var(--md-space-11);font-size:var(--md-text-small);}
.md-footer__cols{display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1.2fr 1.4fr;
  gap:var(--md-space-6);padding-bottom:var(--md-space-8);}
.md-footer__col-title{font-family:var(--md-font-heading);font-size:var(--md-text-h5);
  font-weight:600;color:var(--md-color-text-inverse);text-transform:uppercase;
  letter-spacing:.04em;margin:0 0 var(--md-space-4);}
.md-footer__toggle{display:none;}
.md-footer ul{list-style:none;margin:0;padding:0;}
.md-footer li{margin:0 0 var(--md-space-1);line-height:2.2;}
.md-footer a{color:var(--md-color-text-inverse-secondary);text-decoration:none;}
.md-footer a:hover{color:var(--md-color-text-inverse);text-decoration:underline;}
.md-footer__brand img{height:36px;width:auto;margin-bottom:var(--md-space-4);}
.md-footer__brand-line{color:var(--md-color-text-inverse-secondary);margin:0 0 var(--md-space-6);}
.md-footer__sub{display:flex;align-items:center;gap:var(--md-space-3);
  margin-bottom:var(--md-space-3);}
.md-footer__sub img{height:24px;width:auto;margin:0;}
.md-footer__sub-line{font-size:var(--md-text-caption);
  color:var(--md-color-text-muted);margin:0;}
.md-footer__section{border-top:1px solid var(--md-color-grey-800);
  padding-block:var(--md-space-6);}
.md-footer__bottom{display:flex;align-items:center;justify-content:space-between;
  gap:var(--md-space-5);flex-wrap:wrap;}
.md-footer__regions{max-width:60ch;margin:0;}
.md-footer__legal{border-top:1px solid var(--md-color-grey-800);
  padding-block:var(--md-space-5);display:flex;align-items:center;
  justify-content:space-between;gap:var(--md-space-5);flex-wrap:wrap;
  font-size:var(--md-text-caption);color:var(--md-color-text-muted);}
.md-footer__legal ul{display:flex;gap:var(--md-space-4);}
.md-footer__legal li{line-height:1.4;margin:0;}

@media (max-width:1023px){
  .md-footer__cols{grid-template-columns:1fr 1fr;}
  .md-footer__brand{grid-column:span 2;}
}
@media (max-width:767px){
  .md-footer{padding-top:var(--md-space-9);}
  .md-footer__cols{grid-template-columns:1fr;}
  .md-footer__brand{grid-column:span 1;}
  .md-footer__col{border-top:1px solid var(--md-color-grey-800);}
  .md-footer__col-title{margin:0;}
  .md-footer__toggle{display:flex;width:100%;align-items:center;justify-content:space-between;
    background:transparent;border:0;color:var(--md-color-text-inverse);
    font-family:var(--md-font-heading);font-size:var(--md-text-h5);font-weight:600;
    text-align:left;padding:var(--md-space-4) 0;text-transform:uppercase;letter-spacing:.04em;
    cursor:pointer;}
  .md-footer__col .md-footer__col-title{display:none;}
  .md-footer__col-body{display:none;padding-bottom:var(--md-space-4);}
  .md-footer__col.is-open .md-footer__col-body{display:block;}
  .md-footer__col--always .md-footer__col-body{display:block;}
  .md-footer__col--always .md-footer__toggle{pointer-events:none;}
}

/* ------------------------------------------------- global lightbox / notice */
.md-note-bar{background:var(--md-color-bg-subtle);border-top:1px solid var(--md-color-border);
  font-size:var(--md-text-small);color:var(--md-color-text-secondary);
  padding-block:var(--md-space-3);}

/* =============================================================== review fixes
   Found by rendering the sample at 1440px and 375px (docs/sample-review.md).
   1. The persistent nav CTA duplicated the drawer's button and pushed the 375px
      layout 63px wide, so it is desktop-only.
   2. The off-canvas drawer was still taking part in layout on mobile.
   3. Heading levels: the sample must not repeat the old site's H2 -> H5/H6 jumps. */
@media (max-width:1023px){
  .md-nav__cta{display:none;}
}
.md-drawer[hidden],.md-drawer-mask[hidden]{display:none;}

/* the mega-panel CTA title is not a document heading (§7.4 item 1) */
.md-mega__cta .md-mega__cta-title{margin:0 0 var(--md-space-2);
  font-family:var(--md-font-heading);font-size:var(--md-text-h5);
  color:var(--md-color-text-primary);line-height:1.25;}

/* application cards sit directly under a section H2 */
.md-app-card h3{margin:0 0 var(--md-space-2);font-size:var(--md-text-h5);}

/* The two blocks below changed element (h6/h5 -> h3) for heading order, so the
   browser's larger default margins have to be neutralised explicitly. */
.md-cert__claim{margin:0;}
.md-footer__col-title{margin:0;}

/* ======================================================= client review 2026-09-16

   1. RIGHT-HAND GAP ON WIDE SCREENS
      Astra wraps everything below the header in `.ast-container`, and its
      max-width is what stopped the dark bands (hero, stat bar, CTA band) at
      1440px — so on a 1536px window they sat ~96px short of the right edge while
      the header and footer, which live outside that wrapper, ran full width.
      The product template already opted out of the container; the home template
      needs the same so every band is genuinely edge to edge. */
body.md-tpl-home .site-content > .ast-container{max-width:none;padding-inline:0;}

/*   2. BRAND BLOCK — the client wants the Mingda mark clearly legible.
      Was a 78x98 thumbnail next to a small wordmark; the emblem now comes from
      the 898x293 master file and renders at 56px. */
.md-nav__brand{gap:var(--md-space-4);align-items:center;}
.md-nav__brand img{height:56px;width:auto;max-height:none;}
.md-nav__brand-text{display:flex;flex-direction:column;gap:2px;}
.md-nav__brand-name{font-size:1.375rem;line-height:1.1;letter-spacing:.05em;}
.md-nav__brand-tag{font-size:.8125rem;line-height:1.35;max-width:30ch;}

/*   3. YARN IS THE PRIMARY PRODUCT (client note) but there are no yarn photos in
      the old site's media yet, so the first product-line card is a type-led tile
      instead of a photo. Swap it for a photo card once yarn shots exist. */
.md-card-home--text{display:flex;flex-direction:column;justify-content:space-between;
  min-height:15rem;padding:var(--md-space-6);background:var(--md-color-brand-green);
  color:#fff;}
.md-card-home--text h3{color:#fff;margin:0 0 var(--md-space-3);}
.md-card-home--text p{color:rgba(255,255,255,.88);margin:0 0 var(--md-space-4);}
.md-card-home--text ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--md-space-2);}
.md-card-home--text li{border:1px solid rgba(255,255,255,.45);border-radius:var(--md-radius-xs);
  padding:.15rem .5rem;font-size:var(--md-text-xs);}
.md-card-home--text .md-text-link{color:#fff;margin-top:var(--md-space-4);}

/* The root cause of the right-hand gap, confirmed by walking the DOM at 1512px:
   Astra renders `.ast-container` as `display:flex; flex-direction:row`, so <main>
   is a flex item. Flex items do not stretch along the main axis, so <main> shrink-
   wrapped to its widest child — the 1440px inner container — instead of filling the
   window. Removing the container's max-width alone was not enough; <main> has to be
   told to fill. */
body.md-tpl-home .site-content > .ast-container > main,
body.md-tpl-product .site-content > .ast-container > main{width:100%;flex:1 1 auto;min-width:0;}

/* Growing the brand block (56px mark + wordmark + strap line) pushed the mobile
   header 14px wider than a 375px screen. The flex children need permission to
   shrink below their content width so the strap line wraps instead of overflowing. */
@media (max-width:1023px){
  .md-nav__inner{min-width:0;}
  .md-nav__brand{gap:var(--md-space-3);min-width:0;flex:1 1 auto;}
  .md-nav__brand img{height:44px;}
  .md-nav__brand-text{min-width:0;flex:1 1 auto;}
  .md-nav__brand-name{font-size:1.0625rem;letter-spacing:.04em;}
  .md-nav__brand-tag{font-size:.6875rem;max-width:none;}
}
