/* Shared finishing layer for phones and tablets. Keep overflow local to tables/carousels. */
.store main h1,.store main h2,.store main h3,.store .name-product,.store .cart-product>div,
.store .checkout-item>span,.store .order-detail-grid p,.store .account-profile p{overflow-wrap:anywhere}
.store .store-product-grid>*,.store .cart-product>div,.store .order-detail-grid>*,
.store .jewellery-story>*,.store .store-footer-grid>*,.store .checkout-item>span{min-width:0}
.store .store-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 4px;border-radius:50%;font-size:10px;line-height:1;background:var(--store-cream);color:var(--store-ink)}
.home-banner-caption{display:none}
.store .gallery-thumbs{max-width:100%;overflow:auto;scrollbar-width:thin}
.store .gallery-thumbs button{flex-shrink:0}
.store .order-summary>div>span:last-child{flex-shrink:0}
.store .cart-product img,.store .checkout-item img{flex-shrink:0}
.store .dashboard-table-wrap{max-width:100%;overscroll-behavior-x:contain;scrollbar-width:thin}

@media(max-width:991px){
  .store .store-header-inner{grid-template-columns:44px minmax(0,1fr) auto;gap:12px}
  .store .store-header .store-logo{justify-self:center}
  .store .mobile-toggle,.store .store-header-actions>a,.store .store-header-actions>button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0}
  .store .store-header-actions{gap:6px}
  .store .store-header-actions>a{position:relative}
  .store .store-header-actions .store-cart-count{display:inline-flex;position:absolute;top:0;right:0;min-width:16px;height:16px;font-size:9px}
  .store .store-header nav{max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
  .store .store-header nav.open{flex-direction:column;align-items:stretch;gap:0}
  .store .store-header nav a{display:flex;align-items:center;min-height:48px;padding:10px 0}
  .store .wish-button{width:44px;height:44px;font-size:19px}
  .store .store-wish{top:6px;right:6px}
  .store .store-card .store-category{max-width:calc(100% - 66px)}
  .store .store-add{min-height:44px;display:inline-flex;align-items:center;gap:8px}
  .store .grid-toggle,.store .newsletter button{min-width:44px;min-height:44px}
  .store .back-top{width:44px;height:44px;right:16px;bottom:max(16px,env(safe-area-inset-bottom))}
  .store .store-quantity{width:140px;grid-template-columns:44px minmax(0,1fr) 44px}
  .store input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.store textarea,.store select{font-size:16px}
  .store .store-quantity input[type=number]{font-size:16px}
  .store .password-field button{top:8px;right:6px;min-width:48px;min-height:44px;padding:0 10px;font-size:12px}
  .store .store-form input[type=checkbox]{width:20px;height:20px;flex-shrink:0}
  .store .checkbox-label{min-height:44px;align-items:flex-start}
  .store .account-nav{gap:8px 18px}
  .store .account-nav a,.store .account-nav button{display:inline-flex;align-items:center;min-height:44px}
  .store .store-footer-grid>div>a:not(.store-logo){display:flex;align-items:center;min-height:44px;margin:0}
}

@media(max-width:767px){
  .store .store-topbar p{font-size:10px;line-height:1.6}
  .store .store-header-inner{padding:12px 16px;min-height:76px}
  .store .store-header-actions i{font-size:21px}
  .store .store-section{padding-top:36px;padding-bottom:44px}
  .store .store-breadcrumb{line-height:1.7}
  .store .store-page-heading h1{font-size:clamp(36px,7vw,48px)}
  .store .store-card .name-product{font-size:14px;line-height:1.5}
  .store .store-card-bottom{font-size:13px}
  .store .store-product-details h1{font-size:clamp(34px,8vw,44px)}
  .store .store-product-details .product-lead{font-size:14px;line-height:1.8}
  .store .product-buy-row{flex-wrap:wrap;gap:12px}
  .store .product-buy-row>.store-button{flex:1 1 180px;min-height:50px}
  .store .product-order>.store-button,.store .checkout-submit{width:100%}
  .store .cart-row>input{min-height:44px}
  .store .cart-product .text-button{display:inline-flex;align-items:center;min-height:44px}
  .store .order-summary .checkout-item{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px 12px}
  .store .checkout-item img{grid-row:span 2;width:52px;height:66px}
  .store .checkout-item strong{grid-column:2;white-space:normal}
  .store .checkout-item small{margin-top:4px}
  .store .order-summary{padding:22px 18px}
  .store .order-summary .summary-total{font-size:18px}
  .store .order-detail-grid p{line-height:1.8}
  .store .about-editorial-visual figcaption{flex-wrap:wrap}
  .store .about-editorial-signoff{flex-wrap:wrap}
  .store .prose details>summary{min-height:48px;padding-top:12px;padding-bottom:12px}
  .store .store-footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
}

@media(max-width:575px){
  .store .store-header-inner{padding:10px 12px;gap:4px}
  .store .store-header .store-logo{font-size:30px}
  .store .store-header-actions{gap:0}
  .store .mobile-toggle{font-size:24px}
  .home-banner-caption{display:block;padding:20px 18px 12px;color:#78334f;background:#fff1f5}
  .store .home-banner-caption h2{font-family:"Instrument Serif",Georgia,serif;font-size:30px;font-weight:400;line-height:1.12;margin:0 0 10px}
  .home-banner-caption p{font-size:13px;line-height:1.7;margin:0 0 12px;color:#714457}
  .home-banner-caption .home-banner-cta{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:44px;border-radius:24px;padding:10px 18px;background:#a83260;color:white;font-size:12px}
  .store .jewellery-heading h2{font-size:38px}
  .store .jewellery-style-notes{padding-top:8px}
  .store .jewellery-category h3{font-size:23px}
  .store .shop-toolbar .store-button{min-height:48px}
  .store .coupon-form>div{flex-wrap:wrap}
  .store .coupon-form input{flex:1 1 160px}
  .store .coupon-form button{flex:1 0 auto}
}

@media(max-width:359px){
  .store .store-header .store-logo{font-size:27px}
  .store .store-header-actions i{font-size:20px}
  .store .store-product-grid,.store .store-product-grid.two-columns{gap:20px 10px}
  .store .store-card{padding:6px;border-radius:16px}
  .store .store-card .card-product_info,.page-index .store-card .card-product_info{padding:12px 4px 4px}
  .store .jewellery-category-grid{gap:20px 12px}
  .store .jewellery-category h3{font-size:21px}
}
