/* Shared public-page chrome. Keep responsive rules together and after page CSS. */
.public-page .footer-top { grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,.8fr)) minmax(0,1.35fr);gap:28px; }
.public-page .footer-top>* { min-width:0; }
.public-page .footer-brand p,.public-page .footer-contact p { overflow-wrap:anywhere; }
.public-page .footer-contact .phone { display:inline-block;white-space:nowrap; }
.public-page .footer-col a { width:fit-content;max-width:100%; }
.public-page .footer-bottom { line-height:1.8;overflow-wrap:anywhere; }
.public-page .header-page-title { flex:1;text-align:center; }
.public-page .header-page-title h1 { white-space:nowrap; }
.public-shops-page #shopList { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
.public-shops-page .shop-list-card { min-width:0; }
.public-shops-page .shop-list-title { display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px; }
.public-shops-page .shop-list-title>* { white-space:nowrap; }
@media(max-width:1100px) {
 .public-page .footer-top { grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 24px; }
 .public-page .footer-brand { grid-column:1/-1; }
 .public-page .footer-brand p { max-width:660px; }
 .public-page .footer-contact { grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:20px;row-gap:8px;border-top:1px solid #ffffff14;padding-top:18px; }
 .public-page .footer-contact h4 { margin:0!important; }
 .public-page .footer-contact p { margin:0!important; }
}
@media(max-width:760px) {
 .public-page .container { padding-left:16px;padding-right:16px; }
 .public-page .top-bar { display:none; }
 .public-page .site-header { position:relative;top:auto; }
 .public-page .header-main { display:grid;grid-template-columns:minmax(0,1fr) auto;height:auto;gap:12px;padding:13px 0; }
 .public-page .header-main>.logo { grid-column:1;grid-row:1;min-width:0; }
 .public-page .logo-icon { width:34px!important;height:34px!important; }
 .public-page .header-main .logo-text { font-size:19px;white-space:nowrap; }
 .public-page .header-actions { grid-column:2;grid-row:1;margin-left:0;gap:12px; }
 .public-page .header-action-btn { min-height:40px;min-width:36px;font-size:12px; }
 .public-page .header-action-btn span { max-width:85px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
 .public-page .header-main>a:not(.logo) { grid-column:2;grid-row:1;justify-self:end;white-space:nowrap; }
 .public-page .header-page-title { grid-column:1/-1;grid-row:2;text-align:left; }
 .public-page .header-page-title h1 { font-size:18px!important; }
 .public-page .search-box { grid-column:1/-1;grid-row:2;width:100%;max-width:none;min-width:0; }
 .public-page .search-box input { height:42px;font-size:16px;min-width:0; }
 .public-page .search-btn { width:36px;height:36px; }
 .public-page .search-hot,.public-page .nav-all-cats { display:none; }
 .public-page .nav-links { overflow-x:auto;white-space:nowrap;scrollbar-width:none;min-width:0; }
 .public-page .nav-links::-webkit-scrollbar { display:none; }
 .public-page .nav-links a { min-height:44px;padding:0 12px;display:flex;align-items:center;flex:none; }
 .public-page .site-footer { margin-top:30px; }
 .public-page.home-page .site-footer { margin-top:0; }
 .public-page .footer-top { grid-template-columns:repeat(3,minmax(0,1fr));column-gap:12px;row-gap:18px;padding:24px 0; }
 .public-page .footer-brand { grid-column:1/-1; }
 .public-page .footer-brand .logo-text { font-size:18px;margin-bottom:8px!important; }
 .public-page .footer-brand p { font-size:11px;line-height:1.8; }
 .public-page .footer-col h4 { font-size:13px;margin-bottom:6px;line-height:1.8; }
 .public-page .footer-col a { font-size:12px;min-height:36px;padding:7px 0;line-height:22px; }
 .public-page .footer-contact { display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:5px;align-items:center;padding-top:14px; }
 .public-page .footer-contact h4 { font-size:12px!important;margin:0!important; }
 .public-page .footer-contact .phone { justify-self:end;font-size:21px;line-height:1.7;min-height:40px;display:flex;align-items:center; }
 .public-page .footer-contact p { grid-column:1/-1;font-size:11px;line-height:1.8;margin:0!important; }
 .public-page .footer-contact br { display:none; }
 .public-page .footer-bottom { padding:15px 0!important;font-size:10px;line-height:1.9; }
 .public-page button,.public-page a { -webkit-tap-highlight-color:transparent; }
 .public-page .form-input,.public-page textarea,.public-page select { font-size:16px; }
 .public-page .phone-input-group .form-input { min-width:0;flex:1; }
 .public-page .phone-input-group img { width:110px;height:44px;object-fit:fill; }
 .public-page .form-row>* { min-width:0; }
 .public-shops-page #shopList { grid-template-columns:minmax(0,1fr);gap:14px; }
 .public-shops-page .shop-list-card { display:grid!important;grid-template-columns:56px minmax(0,1fr);gap:14px!important;padding:16px!important;align-items:start!important; }
 .public-shops-page .shop-list-card>div:first-child { width:56px!important;height:56px!important; }
 .public-shops-page .shop-list-title { gap:6px; }
 .public-shops-page .shop-list-title>span:first-child { font-size:17px!important; }
 .public-shops-page .shop-list-title .shop-badge,.public-shops-page .shop-list-title [data-license] { padding:2px 6px!important;font-size:10px!important; }
 .public-shops-page .shop-list-card>div:last-child { grid-column:2; }
 .public-shops-page .shop-list-card .btn { min-height:40px;display:inline-flex;align-items:center; }
 .public-shops-page .shop-list-card>div { overflow-wrap:anywhere; }
 .public-shops-page .shop-list-card>div:nth-child(2)>div { font-size:12px!important;line-height:1.8; }
}
@media(max-width:360px) {
 .public-page .container { padding-left:12px;padding-right:12px; }
 .public-page .header-main .logo-text { font-size:17px; }
 .public-page .header-actions { gap:7px; }
 .public-page .header-action-btn { min-width:30px; }
 .public-page .footer-col h4 { font-size:12px; }
 .public-page .footer-col a { font-size:11px; }
 .public-page .footer-contact .phone { font-size:19px; }
 .public-page .phone-input-group img { width:98px; }
}
/* Account and purchase pages: override desktop rows after the base component CSS. */
.public-cart-page .cart-item-info { min-width:0; }
.public-cart-page .cart-item-info>div:last-child { min-width:0; }
.public-user-page .page-layout>* { min-width:0; }
@media(max-width:1024px) {
 .public-cart-page .cart-header { display:none; }
 .public-cart-page .cart-item { grid-template-columns:24px minmax(0,1fr);grid-template-rows:auto auto auto;gap:10px;padding:16px;align-items:center; }
 .public-cart-page .cart-item>div:nth-child(1) { grid-column:1;grid-row:1;align-self:start; }
 .public-cart-page .cart-item>div:nth-child(2) { grid-column:2;grid-row:1; }
 .public-cart-page .cart-item>div:nth-child(3) { grid-column:2;grid-row:2;justify-self:start; }
 .public-cart-page .cart-item>div:nth-child(4) { grid-column:2;grid-row:3;justify-self:start; }
 .public-cart-page .cart-item>div:nth-child(5) { grid-column:2;grid-row:3;justify-self:end; }
 .public-cart-page .cart-item>div:nth-child(6) { grid-column:2;grid-row:2;justify-self:end; }
 .public-cart-page .cart-item>div:nth-child(5)::before { content:'小计 ';font-size:10px;color:#999;font-weight:400; }
 .public-cart-page .cart-item-img { width:64px;height:64px;flex:none; }
 .public-cart-page .cart-item-img img { object-fit:contain; }
 .public-cart-page .cart-item-spec { white-space:normal;overflow-wrap:anywhere;line-height:1.7; }
 .public-cart-page .cart-item-remove { width:36px;height:36px;display:grid;place-items:center; }
 .public-user-page .page-layout { grid-template-columns:minmax(0,1fr)!important;gap:18px; }
 .public-user-page .page-sidebar { position:static; }
 .public-user-page .sidebar-nav { display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); }
 .public-user-page .sidebar-nav a { justify-content:center;min-height:44px;padding:8px 4px;font-size:12px;white-space:nowrap;gap:5px; }
 .public-user-page .sidebar-title { padding:14px 16px; }
}
@media(max-width:760px) {
 .public-cart-page .cart-footer { display:grid;gap:12px;padding:12px 14px calc(12px + env(safe-area-inset-bottom)); }
 .public-cart-page .cart-footer>div { min-width:0;justify-content:space-between; }
 .public-cart-page .cart-footer>div:last-child { display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:10px!important; }
 .public-cart-page .cart-footer .cart-total-price { display:block;font-size:22px; }
 .public-cart-page .cart-footer .btn-lg { min-height:46px;padding:10px 18px; }
 .public-orders-page .order-toolbar { flex-direction:column;align-items:stretch!important;gap:12px; }
 .public-orders-page #orderTabs { width:100%;overflow-x:auto;scrollbar-width:none;min-width:0; }
 .public-orders-page #orderTabs .tab-item { white-space:nowrap;flex:none;padding:12px 13px;font-size:12px; }
 .public-orders-page .order-toolbar .search-box { max-width:none!important; }
 .public-orders-page .order-card-header { padding:12px 14px!important;gap:10px;align-items:flex-start!important; }
 .public-orders-page .order-meta { flex-direction:column;align-items:flex-start!important;gap:4px!important;font-size:11px!important;min-width:0;overflow-wrap:anywhere; }
 .public-orders-page .order-status { white-space:nowrap;flex:none; }
 .public-orders-page .order-line { display:grid!important;grid-template-columns:56px minmax(0,1fr);padding:14px!important;gap:12px!important; }
 .public-orders-page .order-line>div:first-child { width:56px!important;height:56px!important;grid-column:1;grid-row:1/3; }
 .public-orders-page .order-line>div:nth-child(2) { min-width:0;grid-column:2;grid-row:1; }
 .public-orders-page .order-line>div:nth-child(2)>div:first-child { font-size:13px!important;line-height:1.7; }
 .public-orders-page .order-line>div:last-child { grid-column:2;grid-row:2;display:flex;justify-content:space-between;align-items:baseline; }
 .public-orders-page .order-card-footer { flex-direction:column;align-items:stretch!important;gap:10px;padding:12px 14px!important; }
 .public-orders-page .order-card-footer>div:last-child { flex-wrap:wrap;justify-content:flex-end;gap:8px!important; }
 .public-user-page .user-header-card { padding:22px 16px; }
 .public-user-page .user-quick-actions { grid-template-columns:repeat(3,minmax(0,1fr));gap:9px; }
 .public-user-page .quick-action { min-width:0;padding:12px 5px; }
 .public-user-page .quick-action span { font-size:12px;white-space:nowrap; }
 .public-user-page .panel-content { min-width:0; }
 .public-user-page .product-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
 .public-user-page .form-row { grid-template-columns:minmax(0,1fr); }
 .public-checkout-page #addressList { grid-template-columns:minmax(0,1fr)!important; }
 .public-checkout-page .address-card .name-phone { flex-wrap:wrap;gap:8px;line-height:1.8; }
 .public-checkout-page .checkout-section { padding:18px 16px; }
 .public-checkout-page .checkout-line { display:grid!important;grid-template-columns:56px minmax(0,1fr);gap:12px!important;align-items:start!important; }
 .public-checkout-page .checkout-line>div:first-child { width:56px!important;height:56px!important;grid-column:1;grid-row:1/3; }
 .public-checkout-page .checkout-line>div:nth-child(2) { min-width:0;grid-column:2; }
 .public-checkout-page .checkout-line>div:last-child { grid-column:2; }
 .public-checkout-page .checkout-line img { object-fit:contain!important; }
 .public-checkout-page .checkout-submit { flex-direction:column;align-items:stretch!important;gap:12px!important;padding:18px 16px!important; }
 .public-checkout-page .checkout-submit .btn { min-height:46px; }
 .public-page .steps { padding:14px 0;gap:5px; }
 .public-page .step { font-size:11px;gap:6px; }
 .public-page .step-num { width:24px;height:24px;font-size:11px; }
 .public-page .step-line { width:14px;margin:0 3px; }
}
@media(max-width:760px) {
 .public-payment-page .checkout-section { padding:24px 18px!important; }
 .public-payment-page .checkout-section .btn { min-width:0!important;max-width:320px;width:100%; }
}
@media(max-width:760px) {
 .public-page .container { padding-left:16px!important;padding-right:16px!important; }
 .public-page .member-level-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media(max-width:360px) { .public-page .container { padding-left:12px!important;padding-right:12px!important; } }
.public-page .catalog-product dl { grid-template-columns:minmax(0,90px) minmax(0,1fr); }
.public-page .catalog-product dt,.public-page .catalog-product dd { min-width:0;overflow-wrap:anywhere; }
@media(max-width:760px) {
 .public-page .training-grid { grid-template-columns:minmax(0,1fr)!important; }
 .public-page .training-grid>* { min-width:0; }
 .public-page .training-grid>div>div { min-width:0; }
}
@media(max-width:760px) {
 .public-page .training-event { display:grid!important;grid-template-columns:64px minmax(0,1fr);gap:12px!important; }
 .public-page .training-event>div:nth-child(2) { min-width:0; }
 .public-page .training-event>a { grid-column:2;justify-self:start; }
}
@media(max-width:360px) { .public-page .header-action-btn span { max-width:56px; } }
.public-page .catalog-summary { margin-top:14px; }
.public-page .catalog-parameters { border-top:1px solid #eee;padding-top:12px; }
.public-page .catalog-parameters summary { font-size:13px; }
.public-page .catalog-parameters dl { margin-top:12px; }
@media(max-width:760px) { .public-page .catalog-product h2 { font-size:16px;line-height:1.7; } }
