/* Mobile layouts: fit content to the viewport, including Safari portrait/landscape. */
html, body { min-width: 0; width: 100%; }
section.label-finder { display: block; border-radius: 0; margin-bottom: 0; }
.product-title, .single-product-content-wrapper h2, .product-overview-item strong,
.product-highlights-list li, .footer-sec a { overflow-wrap: anywhere; }
.shopping-offcanvas, .signin-offcanvas {
    right: 0; width: min(100%, 350px); max-width: 100%;
    height: 100vh; height: 100dvh; transform: translateX(110%);
    visibility: hidden; pointer-events: none;
    transition: transform .3s ease, visibility .3s ease;
}
.shopping-offcanvas.open, .signin-offcanvas.open {
    right: 0; transform: translateX(0); visibility: visible; pointer-events: auto;
}
.shopping-offcanvas-body, .signin-offcanvas-body { min-height: 0; overflow-y: auto; }
.shopping-empty-text, .shopping-item { width: 100%; max-width: 100%; min-width: 0; }
@media (max-width: 991px) {
    .container, .row > *, .banner-slider-sec, .banner-second-col-wrapper,
    .products-detail-for-buyer-main, .shop-product-grid { min-width: 0; }
    #categoriesOffcanvas { width: min(360px, 100%); max-width: 100%; height: 100vh; height: 100dvh; overflow-y: auto; }
    #categoriesOffcanvas .has-submenu.open > .submenu { max-height: none; }
    .signin-form-control, .search-bar-wrapper input, input, select, textarea { font-size: 16px; }
    .search-bar-wrapper input { min-width: 0; padding-right: 48px; }
    .single-product-content-wrapper h2 { font-size: 28px; line-height: 1.25; }
    .barcode-specifications { min-width: 0; overflow-x: auto; }
    .barcode-specifications table { width: 100%; table-layout: fixed; }
    .barcode-specifications table th { width: 40%; }
    .barcode-specifications table td, .barcode-specifications table th { overflow-wrap: anywhere; }
}
@media (max-width: 991px) {
    header.header-sec { padding: 12px 16px; }
    .header-sec .container { padding-left: 0; padding-right: 0; }
    .header-sec .custom-gutter { margin: 0; row-gap: 12px; }
    .header-sec .custom-gutter > * { padding-left: 0; padding-right: 0; }
    .web-logo-wrapper img { width: 160px; max-width: 60%; height: auto; }
    .icon-box-wrapper { min-width: 0; }
    .icon-box-wrapper h6 { font-size: 16px; line-height: 1.3; }
    .icon-box-wrapper a { overflow-wrap: anywhere; font-size: 13px; }
    .slide-image { display: flex; flex-direction: column; height: auto; background: #f0f2f4; border-radius: 10px; overflow: hidden; }
    .slide-image > img { width: 100%; height: auto; aspect-ratio: 1196 / 549; object-fit: contain; }
    .slide-image .slides-content { position: static; width: 100%; padding: 20px; }
    .slides-content h3 { font-size: 26px; line-height: 1.25; margin-bottom: 12px; overflow-wrap: anywhere; }
    .slides-content p { font-size: 15px; line-height: 1.6; margin-bottom: 16px; }
    .slides-content br { display: none; }
    .slides-content a, .label-content a { min-height: 44px; }
    .banner-second-col-wrapper { margin-top: 16px; }
    .banner-second-col-wrapper .label-finder { display: flex; flex-direction: column; align-items: stretch; background: #252064; }
    .banner-second-col-wrapper .label-finder > img { width: 100%; height: auto; border-radius: 0; }
    .banner-second-col-wrapper .label-content { position: static; width: 100%; padding: 20px; }
    .label-content h3 { font-size: 24px; line-height: 1.25; }
    .label-content a { background: #fff; color: #252064; }
    .handheld-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rfid-sec, .computer-sec { min-width: 0; flex-direction: column; background: #fff; border-radius: 10px; }
    .rfid-sec > img, .computer-sec > img { width: 100%; height: 120px; min-height: 0; object-fit: cover; }
    .rfid-content, .computer-content { position: static; width: 100%; padding: 12px; }
    .rfid-content h3, .computer-content h3 { font-size: 16px; line-height: 1.3; overflow-wrap: anywhere; }
    .rfid-content a, .computer-content a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 10px; background: #252064; color: #fff; }
    .product-sec .row > .col-5th, .product-sec .row > .col-lg-3 { flex: 0 0 50%; width: 50%; max-width: 50%; min-width: 0; }
    .product-box { min-width: 0; height: auto; margin-bottom: 16px; }
    .product-img-box > a { display: block; }
    .product-img-box img { width: 100%; height: 160px !important; object-fit: contain; }
    .product-content { min-width: 0; padding: 12px 10px; }
    .product-content h4 { font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
    .product-content .add-to-cart-btn { padding: 10px 6px; min-height: 44px; font-size: 13px; }
    .product-img-box .btns-wrapper { right: 8px; visibility: hidden; }
    .product-box:hover .btns-wrapper, .product-box:focus-within .btns-wrapper { visibility: visible; }
    .featured-product-content, .featured-products-heading-wrapper { min-width: 0; }
    .featured-product-content h2, .featured-product-content h3, .featured-product-content h6 { overflow-wrap: anywhere; }
    .products-main-heading-wrapper h2, .categories-heading-wrapper h2 { font-size: 24px; }
    .label-finder-results-head strong { display: block; margin-top: 12px; }
    .label-finder-card, .popular-size-card, .label-finder-hero-content { min-width: 0; overflow-wrap: anywhere; }
    .label-finder-hero h1 { font-size: 34px; line-height: 1.15; }
    .label-finder-results .products-detail-for-buyer-main { min-width: 0; }
    .footer-sec a, footer a { overflow-wrap: anywhere; }
}
@media (max-width: 359px) {
    .handheld-wrapper { grid-template-columns: 1fr; }
    .label-finder-hero { padding-left: 18px; padding-right: 18px; }
    .popular-sizes-grid { gap: 8px; }
    .popular-size-card { padding-left: 6px; padding-right: 6px; }
}
@media (max-width: 991px) {
    .icon-box-wrapper { gap: 12px; }
    .icon-box-wrapper .icon-box { flex: 1 1 0; min-width: 0; gap: 8px; }
    .icon-box-wrapper .icon-content { min-width: 0; overflow-wrap: anywhere; }
    .functions-btns-wrapper { flex-wrap: wrap; gap: 10px; }
    .functions-btns-wrapper > .contact-btn, .functions-btns-wrapper > .label-btn { flex: 1 1 40%; min-width: 0; }
    .functions-btns-wrapper > .contact-btn a, .functions-btns-wrapper > .label-btn a { width: 100%; min-height: 44px; font-size: 13px; }
    .functions-btns-wrapper .accounts-btn { flex: 1 1 100%; min-width: 0; justify-content: flex-end; align-items: center; }
    .cart-count { white-space: nowrap; }
    .single-product-wrapper { display: block; padding: 20px; min-width: 0; min-height: 0; }
    .single-product-content { min-width: 0; }
    .single-product-content h2 { font-size: 26px; line-height: 1.3; overflow-wrap: anywhere; }
    .single-product-content p { width: 100%; }
    .single-product-wrapper .product-image img { width: 100%; max-width: 260px; height: 220px; object-fit: contain; }
    .attr-wrapper { flex-wrap: wrap; }
    section.single-product-se { padding: 32px 0; }
    .single-product-content-wrapper { padding-left: 0; padding-right: 0; }
    .add-to-cart-box-wrapper { width: 100%; padding: 20px; }
}
@media (max-width: 991px) {
    .header-sec .custom-gutter > * { flex: 0 0 100%; width: 100%; max-width: 100%; }
    .categories-menu-bg .row > .col-lg-6 { display: none; }
    .categories-menu-bg .row > .col-lg-2, .categories-menu-bg .row > .col-lg-4 { flex: 0 0 100%; width: 100%; max-width: 100%; }
    .categories-menu-bg .row { row-gap: 10px; }
}
@media (min-width: 768px) and (max-width: 991px) {
    .product-sec .row > .col-5th, .product-sec .row > .col-lg-3 { flex: 0 0 25%; width: 25%; max-width: 25%; }
}
@media (max-width: 991px) {
    .shopping-cart .shopping-summery,
    .shopping-cart .shopping-summery tbody,
    .shopping-cart .shopping-summery tr { display: block; width: 100%; max-width: 100%; }
    .shopping-cart .shopping-summery thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .shopping-cart .shopping-summery tbody tr { margin-bottom: 16px; border: 1px solid #e4e8ef; border-radius: 10px; }
    .shopping-cart .shopping-summery td { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 12px; align-items: center; width: 100%; max-width: 100%; min-width: 0; padding: 12px; text-align: left; overflow-wrap: anywhere; }
    .shopping-cart .shopping-summery td[data-title]::before { content: attr(data-title); font-weight: 600; }
    .shopping-cart .shopping-summery td.image, .shopping-cart .shopping-summery td[colspan] { display: block; text-align: center; }
    .shopping-cart .shopping-summery td.image::before { content: none; }
    .shopping-cart .shopping-summery td > * { min-width: 0; max-width: 100%; }
    .shopping-cart .shopping-summery td.image img { width: 100px; max-width: 100%; height: 100px; object-fit: contain; }
    .shopping-cart .shopping-summery td.qty .input-group { width: 150px; max-width: 100%; }
    .shopping-cart .shopping-summery .product-name a { overflow-wrap: anywhere; }
    .shopping-cart .coupon form { display: flex; flex-wrap: wrap; gap: 10px; }
    .shopping-cart .coupon input { width: 100%; min-width: 0; max-width: 100%; }
}
