/* 折叠屏与平板适配层：衔接手机和电脑断点，统一处理展开态、横竖屏与短屏高度。 */

@media (min-width:500px) and (max-width:760px) and (min-height:500px) {
  html { scroll-padding-top:76px; }
  body { font-size:15px; }

  .site-header {
    min-height:70px;
    padding:10px max(22px,env(safe-area-inset-right)) 10px max(22px,env(safe-area-inset-left));
    gap:12px;
  }
  .brand-logo { width:160px; height:52px; }
  .brand strong { font-size:20px; }
  .brand small { display:block; margin-top:4px; font-size:10px; }
  .header-actions { gap:9px; }
  .phone-link,.cart-trigger,.menu-button { width:44px; height:44px; min-height:44px; flex-basis:44px; }
  .site-sidebar { width:min(420px,72vw); }

  .hero,.about-section,.catalog-section,.announcement-section,.delivery-section,.contact-section {
    width:calc(100% - 72px);
  }
  .hero { padding:54px 0 62px; gap:34px; }
  h1 { font-size:clamp(36px,6.1vw,44px); }
  h2 { font-size:clamp(30px,5.2vw,38px); }
  .hero-copy>.hero-slogan { font-size:17px; }
  .hero-copy>.kicker { font-size:23px; }
  .hero-copy>p:not(.kicker):not(.hero-slogan):not(.hero-next-step) { font-size:16px; line-height:1.82; }
  .hero-image { height:300px; }
  .about-section,.catalog-section { padding:68px 0; }
  .about-copy>p:not(.kicker) { font-size:15px; line-height:1.86; }
  .warehouse-image { min-height:310px; }

  .partner-endorsement { padding:32px 0 32px 24px; }
.partner-marks { --partner-hex-width:132px; --partner-hex-height:152.42px; --partner-step-x:132px; --partner-step-y:114.32px; width:100%; max-width:none; height:350px; }
  .proof-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
  .proof-grid div { padding:18px 10px; }
  .proof-grid .proof-number { font-size:45px; }

  .section-heading { gap:20px; }
  .catalog-layout { height:600px; }
  .home-catalog .product-row { grid-template-columns:minmax(230px,1.5fr) minmax(90px,.6fr) minmax(112px,.65fr); }
  .shopping-catalog .catalog-layout { height:610px; }
  .shopping-catalog .product-row { min-height:128px; }
  .catalog-intro,.cart-page,.privacy-page { width:calc(100% - 64px); }
  .catalog-intro { padding-top:48px; }
  .catalog-intro ol { align-self:stretch; }
  .catalog-intro li { flex:1; }

  .delivery-rules { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .delivery-rules li:first-child { grid-column:1/-1; }
  .contact-section { padding:68px 0; }
  .contact-section address { padding:28px 26px; }

  .cart-page { padding-top:52px; }
  .cart-title h1 { font-size:42px; }
  .cart-line { grid-template-columns:76px minmax(0,1fr) auto; }
  .cart-line>img { width:76px; height:72px; }
  .privacy-page>article { padding:34px 30px; }

  .announcement-dialog,.product-dialog,.bulk-order-dialog,.receipt-dialog {
    max-height:calc(100dvh - 28px);
  }
  .home-order-dock {
    right:max(16px,env(safe-area-inset-right));
    bottom:max(12px,env(safe-area-inset-bottom));
    width:250px;
  }
  .catalog-cart-dock {
    right:max(18px,env(safe-area-inset-right));
    bottom:max(12px,env(safe-area-inset-bottom));
    left:auto;
    min-width:320px;
  }

  .admin-shell { width:calc(100% - 40px); }
  .portal-view,.login-view,.staff-identity-view { width:calc(100% - 56px); }
}

@media (min-width:761px) and (max-width:1180px) {
  html { scroll-padding-top:86px; }
  main { overflow-x:clip; }

  .site-header {
    min-height:84px;
    padding:13px max(30px,env(safe-area-inset-right)) 13px max(30px,env(safe-area-inset-left));
    gap:18px;
  }
  .brand-logo { width:205px; height:63px; }
  .brand strong { font-size:23px; }
  .brand small { margin-top:5px; font-size:11px; }
  .header-actions { gap:9px; }
  .phone-link span { display:none; }
  .site-sidebar { width:min(440px,56vw); }

  .hero,.about-section,.catalog-section,.announcement-section,.delivery-section,.contact-section,
  .catalog-intro,.cart-page,.privacy-page {
    width:calc(100% - clamp(64px,8vw,104px));
  }
  h1 { font-size:clamp(40px,5.2vw,54px); }
  h2 { font-size:clamp(34px,4.3vw,46px); }
  .hero-copy>h1,.about-copy>h2,.section-heading h2,.contact-section h2 { white-space:normal; }
  .hero-copy>h1 span { display:block; }

  .hero {
    min-height:auto;
    padding:64px 0 72px;
    grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);
    gap:clamp(32px,4vw,52px);
  }
  .hero-copy>.hero-slogan { font-size:20px; line-height:1.55; }
  .hero-copy>.kicker { font-size:24px; }
  .hero-copy>p:not(.kicker):not(.hero-slogan):not(.hero-next-step) { font-size:16px; line-height:1.82; }
  .hero-image { height:clamp(340px,42vw,430px); }
  .hero-points { gap:14px 22px; flex-wrap:wrap; }

  .about-section {
    padding:84px 24px;
    grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);
    gap:clamp(34px,4vw,56px);
  }
  .about-copy>p:not(.kicker) { font-size:15px; line-height:1.86; }
  .about-copy>.section-subtitle { font-size:19px; }
  .warehouse-image { min-height:390px; }
  .partner-endorsement { min-height:auto; padding:38px 0 38px 30px; }
.partner-marks { --partner-hex-width:138px; --partner-hex-height:159.35px; --partner-step-x:138px; --partner-step-y:119.51px; width:100%; height:375px; min-height:0; }
  .proof-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .proof-grid div { padding:21px 16px; }
  .proof-grid .proof-number { font-size:54px; }

  .catalog-section,.delivery-section,.contact-section { padding-top:84px; padding-bottom:84px; }
  .delivery-rules { gap:12px; }
  .delivery-rules li { padding:26px 24px; }
  .contact-section { gap:44px; }
  .contact-section address { padding:34px 32px; }

  .catalog-intro { padding-top:58px; }
  .shopping-catalog .catalog-layout { height:650px; }
  .cart-page { padding-top:58px; }
  .cart-title h1 { font-size:50px; }
  .privacy-page>article { padding:46px 42px; }
  .site-footer--home { grid-template-columns:minmax(220px,1fr) minmax(280px,1.2fr); gap:34px 48px; }
  .site-footer--home .footer-compliance { grid-column:1/-1; }

  .announcement-dialog,.product-dialog,.bulk-order-dialog,.receipt-dialog {
    max-height:calc(100dvh - 36px);
  }
  .home-order-dock,.catalog-cart-dock {
    right:max(22px,env(safe-area-inset-right));
    bottom:max(16px,env(safe-area-inset-bottom));
  }

  .admin-shell { width:calc(100% - 48px); }
  .admin-main { min-width:0; }
  .portal-view,.login-view,.staff-identity-view { width:calc(100% - 72px); }
  .portal-view,.login-view { gap:46px; }
}

@media (min-width:761px) and (max-width:900px) {
  .section-heading { align-items:stretch; flex-direction:column; gap:22px; }
  .search-box { width:100%; }
  .price-status { align-items:stretch; flex-direction:column; gap:12px; }
  .use-case-selector { justify-content:flex-start; }

  .catalog-layout {
    height:640px;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr);
  }
  .category-panel { padding:10px; border-right:0; border-bottom:1px solid var(--line); overflow-x:auto; }
  .category-panel h3 { display:none; }
  #categoryList { display:flex; width:max-content; }
  .category-button { width:auto; white-space:nowrap; }
  .home-catalog .product-table-head,.home-catalog .product-row {
    grid-template-columns:minmax(230px,1.45fr) minmax(90px,.58fr) minmax(110px,.62fr);
    gap:8px;
  }
  .shopping-catalog .product-table-head,.shopping-catalog .product-row {
    grid-template-columns:minmax(210px,1.4fr) minmax(85px,.58fr) 92px 102px 54px;
    gap:7px;
  }

  .cart-title { align-items:flex-start; flex-direction:column; gap:18px; }
  .cart-title>p { max-width:680px; }
  .receipt-dialog-body { grid-template-columns:minmax(0,1fr) 240px; }
  .receipt-notice { padding:26px 20px; }
}

@media (min-width:500px) and (max-width:1180px) {
  .compact-header:not(.no-menu-header) { grid-template-columns:minmax(0,1fr) auto auto; }
  .compact-header:not(.no-menu-header)>.header-actions {
    grid-column:2;
    grid-row:1;
  }
  .compact-header:not(.no-menu-header)>.menu-button {
    grid-column:3;
    grid-row:1;
  }
}

@media (min-width:500px) and (max-width:760px) and (orientation:landscape) {
  .hero {
    grid-template-columns:minmax(0,1.08fr) minmax(250px,.92fr);
    align-items:center;
    gap:30px;
  }
  .hero-copy>h1 { white-space:normal; }
  .hero-copy>.hero-slogan { margin-bottom:12px; font-size:15px; }
  .hero-copy>p:not(.kicker):not(.hero-slogan) { font-size:14px; line-height:1.68; }
  .hero-actions { margin-top:18px; }
  .hero-points { margin-top:18px; }
  .hero-image { height:min(58vh,300px); }
}

@media (min-width:700px) and (max-width:1180px) and (max-height:650px) {
  .site-header { min-height:66px; padding-top:8px; padding-bottom:8px; }
  .hero { padding-top:38px; padding-bottom:44px; }
  .hero-image { height:min(58vh,330px); }
  .about-section,.catalog-section,.delivery-section,.contact-section { padding-top:62px; padding-bottom:62px; }
  .announcement-dialog,.product-dialog,.bulk-order-dialog,.receipt-dialog { max-height:calc(100dvh - 18px); }
}
