/* Bell & Bin Research — V70.3 mobile responsiveness & cleanup */
@media (max-width: 860px){
  html{overflow-x:hidden;scroll-padding-top:82px;-webkit-text-size-adjust:100%}
  body{max-width:100%;overflow-x:hidden}
  img,svg,video,canvas{max-width:100%;height:auto}
  input,select,textarea{font-size:16px!important}
  button,.btn,a.btn,summary,[role="button"]{touch-action:manipulation}
  .bbr-site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#030503}
  .bbr-shell-nav{gap:10px}
  .bbr-shell-brand{min-width:0}.bbr-shell-brand span{min-width:0}
  .bbr-shell-actions{margin-left:auto}
  .bbr-shell-menu nav{position:fixed;top:72px;right:12px;left:auto;width:min(330px,calc(100vw - 24px));max-height:calc(100dvh - 88px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .bbr-shell-menu[open] summary{position:relative;z-index:2}
  .bbr-shell-menu nav a{min-height:48px}
  main,.section,.container,.wrap,.page-title,.panel,.card,.product-card,.catalog-card,.campaign,.cycle,.resource-card,.affiliate-product-card{min-width:0}
  .page-title h1,.hero h1,.section h1,.section h2{overflow-wrap:anywhere}
  .breadcrumb{max-width:100%;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}.breadcrumb::-webkit-scrollbar{display:none}
  .footer-grid,.bbr-footer-grid{min-width:0}
}

@media (max-width: 760px){
  /* Avoid mobile paint-containment glitches that could blank cards/images after scrolling away and back. */
  .product-card .pic,.product-grid .product-card,[data-recent-grid] .product-card{content-visibility:visible!important;contain:none!important;contain-intrinsic-size:auto!important}
  .product-card .pic img,.related-card img,.cart-item img,.detail-img img,.qv-img-wrap img{content-visibility:visible!important}
  img[data-img-polish]{opacity:1!important}

  .section{padding-top:32px;padding-bottom:32px}
  .page-title{padding-top:24px!important;padding-bottom:18px!important}
  .page-title h1{font-size:clamp(2.25rem,11vw,3.7rem)!important;line-height:.94!important;letter-spacing:-.04em!important}
  .page-title .lead{font-size:.98rem!important;line-height:1.5!important}

  /* Homepage horizontal sections: true one-card swipe, stable images and visible scroll affordance. */
  .cards,.products{gap:12px!important;scroll-padding-inline:0;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .cards>.campaign{flex-basis:92%!important;min-width:92%!important}
  .products>.product{flex-basis:78%!important;min-width:78%!important}
  .campaign img,.product img{display:block;width:100%;height:auto;opacity:1!important;visibility:visible!important}

  .favorites-shell{width:100%!important;max-width:100%!important;overflow:hidden!important}
  .favorites-viewport{width:100%;max-width:100%;overscroll-behavior-x:contain;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch}
  .favorites-track{gap:0!important;width:100%;align-items:stretch}
  .favorite-slide{flex:0 0 100%!important;width:100%!important;min-width:100%!important;max-width:100%!important;scroll-snap-align:start!important}
  .favorite-visual{min-height:220px!important}
  .favorite-visual img{display:block!important;visibility:visible!important;opacity:1!important;max-height:240px!important;object-fit:contain!important}
  .favorites-dots{min-width:0;overflow:hidden}
  .favorites-dot{min-height:10px!important}

  .moisturizer-gallery{gap:8px!important}.moisturizer-gallery>a{min-width:0}.moisturizer-gallery img{display:block;opacity:1!important;visibility:visible!important}

  /* Forms and checkout/dashboard controls stay inside the viewport and are thumb-friendly. */
  form,.form-grid,.v4722-form-grid,.checkout-layout,.customer-dash-grid{min-width:0;max-width:100%}
  input,select,textarea{max-width:100%;width:100%;box-sizing:border-box}
  .qtyrow{display:grid!important;grid-template-columns:minmax(88px,120px) minmax(0,1fr)!important;gap:10px!important;align-items:end!important}
  .qtyrow .btn{width:100%;min-width:0}
  .customer-status-actions,.product-actions,.catalog-actions,.simple-inventory-actions{gap:8px}
  .customer-status-actions .btn{min-height:48px}

  /* Long tables remain usable rather than forcing document-level horizontal scroll. */
  table{max-width:100%}.table-wrap,.cart-table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}

  .bbr-reship-policy-inner{min-width:0}.bbr-reship-policy-copy{min-width:0}.bbr-reship-policy-copy p{overflow-wrap:anywhere}
}

@media (max-width: 580px){
  .bbr-shell-container{width:min(100% - 20px,1400px)!important}
  .bbr-shell-nav{min-height:64px!important}
  .bbr-shell-brand img{width:36px!important;height:36px!important}
  .bbr-shell-brand strong{font-size:14px!important;letter-spacing:.035em!important}
  .bbr-shell-brand small{font-size:8px!important;letter-spacing:.17em!important;margin-top:4px!important}
  .bbr-shell-actions{gap:8px!important}
  .bbr-shell-cart{font-size:0!important;display:flex;align-items:center;min-height:44px;padding:0 2px}
  .bbr-shell-cart:before{content:"Cart";font-size:11px;font-weight:850}
  .bbr-shell-cart span{font-size:10px!important;min-width:20px!important;height:20px!important;margin-left:4px!important}
  .bbr-shell-menu summary{width:44px!important;height:44px!important}
  .bbr-shell-menu nav{top:68px}
  .bbr-footer-grid{padding-top:34px!important;padding-bottom:26px!important}
}

@media (max-width: 420px){
  .bbr-shell-brand small{display:none}
  .bbr-shell-brand strong{font-size:13px!important}
  .cards>.campaign{flex-basis:94%!important;min-width:94%!important}
  .products>.product{flex-basis:86%!important;min-width:86%!important}
  .favorite-copy{padding-left:16px!important;padding-right:16px!important}
  .favorite-copy h3{font-size:27px!important}
  .favorites-head h2{font-size:21px!important}.favorites-count{font-size:10px!important}
  .qtyrow{grid-template-columns:92px minmax(0,1fr)!important}
}
