html,body{overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
img,video{max-width:100%;height:auto;object-fit:cover}
body{font-size:16px;line-height:1.6}
a,button,.btn{min-height:44px}

/* product page */
.product-page .product-title{font-size:clamp(18px,2.8vw,28px);line-height:1.3;word-break:break-word}
.product-page .product-description{font-size:16px;line-height:1.7;margin-bottom:14px;overflow-wrap:anywhere}
.product-page .price{font-size:clamp(17px,2.2vw,22px);font-weight:700;margin:10px 0 8px}
.product-page .product-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin-top:0!important}
.product-page .product-actions .btn,
.product-page button.add-to-cart{flex:1 1 auto;padding:10px 14px;font-size:15px;min-height:44px}

/* reserve space for images to reduce CLS */
.product-page [class*="gallery"] img{aspect-ratio:1/1;width:100%;height:auto;object-fit:contain}
.product-page [class*="thumb"] img{aspect-ratio:1/1;width:100%;height:auto;object-fit:cover}
[class*="related"],[class*="recommend"] .product-card img{aspect-ratio:1/1;width:100%;height:auto;object-fit:cover}

/* safer duplicate-price rule (only inside product summary area) */
.product-page .product-summary .price-duplicate{display:none!important}

/* collections */
.collection-page .product-card [class*="title"]{font-size:15px;line-height:1.4;word-break:break-word}
.collection-page .product-card [class*="price"]{font-weight:700}
.collection-page .product-card a,.collection-page .product-card button{min-height:44px}

@media(max-width:480px){
  body{font-size:17px}
  .product-page .product-description{font-size:15.5px;line-height:1.7}
  .product-page .product-actions>*{flex:1 1 auto}
}

@media(min-width:1024px){
  .product-page .product-description{max-width:720px}
  .product-page .price{font-size:20px}
  .product-page .product-actions .btn{font-size:16px;padding:12px 22px}
}
html[dir="rtl"] .product-page .product-actions{direction:rtl}