/* Shared public H5 readability. Merchant scale is supplied by the existing API. */
:root{--customer-text-scale:1}
html{font-size:100%}
p,button,label,a,td,th{overflow-wrap:anywhere}
input,textarea,select{font-size:calc(1.0625rem * var(--customer-text-scale));max-width:100%}
button{touch-action:manipulation}
@media(max-width:760px){
 body{font-size:calc(1.0625rem * var(--customer-text-scale));line-height:1.7}
 button,input,select{min-height:48px}
 .quick-actions-list{grid-template-columns:1fr!important}
 .quick-actions-list button{font-size:calc(1.0625rem * var(--customer-text-scale));height:auto;min-height:54px;padding:14px}
 .chat-message,.form input,.form textarea,.description{font-size:calc(1.0625rem * var(--customer-text-scale))!important;line-height:1.75}
 .chat-compose input{min-width:0;height:auto;min-height:52px;font-size:calc(1.0625rem * var(--customer-text-scale))}
 .chat-send{min-height:52px;width:auto;padding:10px 14px;font-size:calc(1rem * var(--customer-text-scale))}
 .chat-human,.chat-state,.sheet-head p,.form-status{font-size:calc(.875rem * var(--customer-text-scale))!important;height:auto;line-height:1.6}
 .sheet-head{gap:12px}.sheet-close{min-width:48px;min-height:48px;flex-shrink:0}
 .action-sheet-panel{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
 .service-chat{height:auto;max-height:calc(100dvh - 54px);grid-template-rows:auto auto minmax(120px,1fr) auto auto}
 .chat-log{max-height:35dvh}.chat-tools{flex-wrap:wrap}.form-grid{grid-template-columns:1fr!important}
}
@media(horizontal-viewport-segments:2){
 .action-sheet-panel{max-width:calc(env(viewport-segment-width 0 0) - 24px);margin-left:0;margin-right:auto}
}
@media(vertical-viewport-segments:2){
 .action-sheet{align-items:flex-start}.action-sheet-panel{max-height:calc(env(viewport-segment-height 0 0) - 24px)}
}

.quick-actions-trigger{width:auto!important;min-width:120px;height:auto!important;min-height:52px;padding:12px 18px;font-size:calc(1.0625rem * var(--customer-text-scale));line-height:1.5}
@media(max-width:760px){
 .cart-stepper{height:auto;grid-template-columns:48px 64px 48px}
 .cart-stepper button,.cart-stepper input{width:100%;height:48px;min-height:48px}
 .product-cart-stepper{height:auto;grid-template-columns:48px 48px 64px 48px}
 .product-cart-stepper button,.product-cart-stepper input{width:100%;height:48px;min-height:48px}
 .price-line,.cart-row-bottom{flex-wrap:wrap}.cart-head{flex-wrap:wrap;gap:8px}
}
/* Shared public catalog and product presentation from the approved design. */
body{background:#f6f7f9!important;color:#191b20}
.app{max-width:none!important;background:transparent!important;box-shadow:none!important}
.top{min-height:76px!important;padding:16px max(24px,calc((100vw - 1160px)/2))!important;border-radius:0!important}
.app>main:not([hidden]){max-width:1160px;margin:0 auto;padding:32px 24px 64px}
.intro{padding:0!important;margin:0 0 28px!important}.intro h1{font-size:calc(2rem * var(--customer-text-scale))!important}
.products[data-view="grid"]{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important}
.products .card{border:1px solid #e8e9ed!important;border-radius:8px!important;background:white!important;box-shadow:none!important}
.products[data-view="grid"] .card-link{display:block!important}.products .media{background:#f5f6f8!important}
.products .media img{width:100%!important;height:100%!important;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain!important;padding:8px!important}
.products .card-body{padding:20px!important}.products .product-name{font-size:calc(1.3125rem * var(--customer-text-scale))!important;line-height:1.5!important}
.products .sku,.products .category-name{font-size:calc(.875rem * var(--customer-text-scale))!important;line-height:1.6!important}
.products .price{font-size:calc(1.5rem * var(--customer-text-scale))!important}
#main .gallery{border-radius:8px;background:white}#main .content{padding:24px!important;background:white;border-radius:8px}
#main .title{font-size:calc(2rem * var(--customer-text-scale))!important;line-height:1.4}
.quick-actions-panel{max-width:600px!important;border-radius:10px!important}
.quick-actions-list{display:flex!important;flex-direction:column!important;gap:12px!important}
.quick-actions-list button{position:relative;text-align:left!important;min-height:76px!important;border:1px solid #dfe4ea!important;border-radius:6px!important;background:white!important;color:#191b20!important;font-size:calc(1.125rem * var(--customer-text-scale))!important;padding:18px 20px!important}
.quick-actions-list #whatsapp{order:0;color:#167246!important}.quick-actions-list #wechat{order:1;color:#167246!important}.quick-actions-list #support{order:2;background:#f6f9ff!important;border-color:#b4c9e9!important}.quick-actions-list #ask{order:3}.quick-actions-list #share{order:4}
.quick-actions-list #ask,.quick-actions-list #share{min-height:48px!important;font-size:calc(1rem * var(--customer-text-scale))!important}
@media(min-width:900px){#main:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}#main .gallery{position:sticky;top:24px}}
@media(max-width:999px){.products[data-view="grid"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:599px){.app>main:not([hidden]){padding:24px 16px 48px}.top{min-height:72px!important;padding:12px 16px!important}.products[data-view="grid"]{grid-template-columns:minmax(0,1fr)!important}#main .content{padding:22px 18px!important}#main .title{font-size:calc(1.875rem * var(--customer-text-scale))!important}}
.action-sheet-panel{overflow-y:auto;overflow-x:hidden}
.quick-actions-list button{display:block;flex-shrink:0;line-height:1.4;padding-right:42px!important}
.quick-actions-list button:after{position:absolute;right:16px;top:50%;transform:translateY(-50%)}
.quick-actions-list .channel-description{display:block;font-size:calc(.875rem * var(--customer-text-scale));line-height:1.6;font-weight:400;color:#647084;margin-top:6px;padding-right:0}
#contactProductContext{padding:10px 12px;background:#f3f6fb;border-left:3px solid var(--accent,#0047b9);border-radius:4px;overflow-wrap:anywhere;font-size:calc(.875rem * var(--customer-text-scale));line-height:1.6}

/* QR-012: reset the legacy horizontal card tracks, not just the outer grid. */
.products[data-view="grid"] .card{display:flex!important;flex-direction:column!important;min-height:0!important}
.products[data-view="grid"] .card-link{display:flex!important;flex-direction:column!important;flex:1;min-width:0}
.products[data-view="grid"] .media{width:100%!important;height:auto!important;aspect-ratio:1!important;margin:0!important;flex:none}
.products[data-view="grid"] .card-body{display:flex;flex-direction:column;flex:1;padding:18px 18px 20px!important}
.products[data-view="grid"] .price{margin-top:auto;padding-top:16px;line-height:1.3!important;white-space:nowrap}
.products .sku{margin-bottom:12px;font-weight:500!important}
.products .product-name{font-weight:650!important}
.products[data-view="list"]{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
.products[data-view="list"] .card{display:block!important;min-height:0!important}
.products[data-view="list"] .card-link{display:grid!important;grid-template-columns:clamp(112px,35%,200px) minmax(0,1fr)!important;align-items:center;min-width:0}
.products[data-view="list"] .media{width:100%!important;height:auto!important;aspect-ratio:1!important;margin:0!important}
.products[data-view="list"] .card-body{padding:18px 20px!important}
.products[data-view="list"] .price{line-height:1.3!important;white-space:nowrap}
@media(max-width:599px){
 .intro{margin-bottom:18px!important}.app>main:not([hidden]){padding-top:20px}
 .products[data-view="grid"]{gap:20px!important}
 .products[data-view="list"] .card-link{grid-template-columns:38% minmax(0,1fr)!important}
 .products[data-view="list"] .card-body{padding:14px 12px 18px!important}
 .products[data-view="list"] .product-name{font-size:calc(1.125rem * var(--customer-text-scale))!important;line-height:1.5!important}
 .products[data-view="list"] .price{font-size:calc(1.25rem * var(--customer-text-scale))!important;white-space:normal}
 .products[data-view="list"] .category-name,.products[data-view="list"] .sku{font-size:calc(.8125rem * var(--customer-text-scale))!important}
}

/* QR-013: one catalog heading; keep company introduction and all controls. */
.intro #eyebrow{display:none}
.intro{align-items:center!important;border:0!important;margin-bottom:16px!important}
.intro h1{margin-top:0!important;font-weight:700!important}
.intro p{font-weight:400!important;line-height:1.6!important}
.filters{margin:0 0 12px!important}
.search input,.category select{font-weight:500!important}
.view-switch button{min-width:44px!important;min-height:44px!important}
.result-line{flex-wrap:wrap;font-weight:500!important}
.catalog-cart-summary{margin-left:auto;flex-wrap:wrap}

.top .lang{width:auto!important;min-width:56px!important;flex:0 0 auto!important;white-space:nowrap!important;padding:8px 12px!important;line-height:1.2!important}

/* QR-014: long unpriced totals must remain inside narrow, large-text carts. */
.catalog-cart-summary{max-width:100%}
.cart-overview{flex-wrap:wrap;max-width:100%;text-align:left}
.cart-total[data-incomplete="true"]{flex:1 0 100%;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
