/* BLB V70 | Mobile homepage: complete uncropped roll/ribbon products, compact material section.
   Based on V69: show the hero and shop-by-category at first glance.
   After V68. Deliberately scoped to homepage and phone widths only. */
@media (max-width: 720px) {
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb48-hero-grid {
    padding: 10px 12px 11px !important;
    gap: 8px !important;
    min-height: 0 !important;
    align-items: stretch !important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-copy {
    margin: 0 !important;
    padding: 0 !important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb48-eyebrow {
    margin: 0 !important;
    font-size: 7.6px !important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero #blb49-title {
    font-size: clamp(25px, 7.35vw, 32px) !important;
    line-height: 1.09 !important;
    letter-spacing: -1.05px !important;
    margin: 4px 0 5px !important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero #blb49-description {
    font-size: 10.8px !important;
    line-height: 1.37 !important;
    min-height: 0 !important;
    max-height: 2.78em !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-actions {
    margin-top: 9px !important;
    gap: 7px !important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-actions a {
    min-height: 37px !important;
    padding: 8px 10px !important;
    font-size: 10px !important;
    border-radius: 10px !important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-visual,
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-stage {
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-visual {
    padding: 0 !important;
    margin: 0 !important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-stage {
    padding: 8px 9px 7px !important;
    border-radius: 18px !important;
    gap: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 10px 25px rgba(3, 33, 49, .14) !important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-kicker {
    height: 12px !important;
    min-height: 12px !important;
    max-height: 12px !important;
    line-height: 1.25 !important;
    font-size: 7.3px !important;
    margin: 0 !important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-media {
    height: 134px !important;
    min-height: 0 !important;
    max-height: 134px !important;
    width: 100% !important;
    flex: 1 1 auto !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-image {
    width: 100% !important;
    max-width: 100% !important;
    height: 134px !important;
    min-height: 0 !important;
    max-height: 134px !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: scale(1.00) !important;
    transform-origin: center center !important;
  }
  /* Remove unused whitespace around photographed goods, without using
     cover-cropping that could cut off the roll or scanner. */
  body.blb-home-v45.blb55-mobile #home.blb49-hero[data-blb68-slide="1"] .blb49-image {
    transform: scale(1.00) !important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero[data-blb68-slide="2"] .blb49-image,
  body.blb-home-v45.blb55-mobile #home.blb49-hero[data-blb68-slide="3"] .blb49-image,
  body.blb-home-v45.blb55-mobile #home.blb49-hero[data-blb68-slide="4"] .blb49-image {
    transform: scale(1.12) !important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-stage-bottom {
    flex: 0 0 27px !important;
    height: 27px !important;
    min-height: 27px !important;
    max-height: 27px !important;
    padding: 3px 0 0 !important;
    margin: 0 !important;
    gap: 6px !important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero #blb49-caption {
    font-size: 8.5px !important;
    line-height: 1.2 !important;
    max-width: 49% !important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-arrow {
    width: 25px !important;
    height: 25px !important;
    min-width: 25px !important;
  }
  /* Make the first row of real product categories discoverable immediately. */
  body.blb-home-v45.blb55-mobile #categories.section {
    padding-top: 9px !important;
    padding-bottom: 12px !important;
  }
  body.blb-home-v45.blb55-mobile #categories .section-head {
    align-items: end !important;
    margin-bottom: 6px !important;
    gap: 6px !important;
  }
  body.blb-home-v45.blb55-mobile #categories .section-head h2 {
    font-size: clamp(20px, 5.5vw, 24px) !important;
    line-height: 1.1 !important;
    margin-top: 2px !important;
  }
  body.blb-home-v45.blb55-mobile #categories .section-head .section-kicker {
    font-size: 8px !important;
    line-height: 1.1 !important;
  }
  body.blb-home-v45.blb55-mobile #categories .section-head .text-link {
    font-size: 9px !important;
  }
  body.blb-home-v45.blb55-mobile #categories .category-grid {
    gap: 9px !important;
    padding: 1px 12px 9px !important;
    margin: 0 -12px !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
  }
  body.blb-home-v45.blb55-mobile #categories .category-grid > a.category-card.v18-category,
  body.blb-home-v45.blb55-mobile #categories .category-grid > a.category-card.v18-category:last-child:nth-child(odd) {
    flex: 0 0 151px !important;
    width: 151px !important;
    min-width: 151px !important;
    max-width: 151px !important;
    height: 188px !important;
    min-height: 188px !important;
    max-height: 188px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    padding: 0 !important;
    gap: 0 !important;
  }
  body.blb-home-v45.blb55-mobile #categories .category-grid > .v18-category .v18-category-picture,
  body.blb-home-v45.blb55-mobile #categories .category-grid > .v18-category:last-child:nth-child(odd) .v18-category-picture {
    height: 91px !important;
    min-height: 91px !important;
    max-height: 91px !important;
    flex: 0 0 91px !important;
    padding: 5px 8px !important;
  }
  body.blb-home-v45.blb55-mobile #categories .category-grid > .v18-category .v18-category-picture img,
  body.blb-home-v45.blb55-mobile #categories .category-grid > .v18-category:last-child:nth-child(odd) .v18-category-picture img {
    width: 100% !important;
    max-width: 100% !important;
    height: 83px !important;
    min-height: 0 !important;
    max-height: 83px !important;
    padding: 0 !important;
    object-fit: contain !important;
  }
  body.blb-home-v45.blb55-mobile #categories .category-grid > .v18-category .v18-category-copy,
  body.blb-home-v45.blb55-mobile #categories .category-grid > .v18-category:last-child:nth-child(odd) .v18-category-copy {
    padding: 8px 9px 27px !important;
    gap: 3px !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  body.blb-home-v45.blb55-mobile #categories .category-grid .v18-category-copy > strong {
    font-size: 12.6px !important;
    line-height: 1.23 !important;
    max-height: 32px !important;
    margin: 0 !important;
  }
  body.blb-home-v45.blb55-mobile #categories .category-grid .v18-category-copy > small {
    font-size: 9.3px !important;
    line-height: 1.3 !important;
    max-height: 25px !important;
    margin: 0 !important;
  }
  body.blb-home-v45.blb55-mobile #categories .category-grid .v18-category-copy .v18-category-arrow {
    width: 24px !important;
    height: 23px !important;
    right: 8px !important;
    bottom: 7px !important;
  }
}
@media (max-width: 370px) {
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-visual,
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-stage {
    height: 181px !important;
    min-height: 181px !important;
    max-height: 181px !important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-media,
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-image {
    height: 125px !important;
    max-height: 125px !important;
  }
  body.blb-home-v45.blb55-mobile #categories .category-grid > a.category-card.v18-category,
  body.blb-home-v45.blb55-mobile #categories .category-grid > a.category-card.v18-category:last-child:nth-child(odd) {
    flex-basis: 145px !important;
    width: 145px !important;
    min-width: 145px !important;
    max-width: 145px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-image {
    transition: none !important;
  }
}

/* BLB V70 — Mobile homepage only: less empty space before material selection.
   Preserve accessible labels, swipeable carousels, desktop and all subpages. */
@media(max-width:720px){
 body.blb-home-v45.blb55-mobile #categories.section{
   padding-bottom:2px!important;
   margin-bottom:0!important;
 }
 body.blb-home-v45.blb55-mobile #categories .category-grid{
   padding-bottom:5px!important;
 }
 body.blb-home-v45.blb55-mobile #label-materials.section{
   padding-top:8px!important;
   padding-bottom:13px!important;
   margin-top:0!important;
   border-top:0!important;
 }
 body.blb-home-v45.blb55-mobile #label-materials .section-head{
   margin-bottom:7px!important;
 }
 body.blb-home-v45.blb55-mobile #label-materials .section-head h2{
   margin-top:3px!important;
   line-height:1.15!important;
 }
 body.blb-home-v45.blb55-mobile #label-materials .v16-slider-tools{
   margin-top:2px!important;
   margin-bottom:4px!important;
 }
}


/* BLB V71 — two-column MOBILE HOMEPAGE hero.
   Only the homepage at phone widths. The V70 category/material compact styles remain.
   Left: synchronized rotating text, description and vertical actions.
   Right: contained product photograph, slide indicator and manual controls.
   Never affects desktop, product pages, bottom bar, menu, CMS or filters. */
@media (max-width:720px) {
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb48-hero-grid {
    display:grid!important;
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
    grid-template-rows:auto!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    column-gap:11px!important;
    row-gap:0!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    padding:15px 13px 17px!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-copy {
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    align-self:stretch!important;
    justify-content:flex-start!important;
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
    min-height:234px!important;
    height:auto!important;
    padding:1px 0!important;
    margin:0!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb48-eyebrow {
    display:none!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero #blb49-text {
    display:flex!important;
    flex-direction:column!important;
    flex:1 1 auto!important;
    min-height:0!important;
    width:100%!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero #blb49-title {
    font-size:clamp(19px,5.7vw,24px)!important;
    font-weight:900!important;
    line-height:1.11!important;
    letter-spacing:-.65px!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
    margin:1px 0 9px!important;
    padding:0!important;
    text-wrap:balance;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero #blb49-title em {
    display:inline!important;
    font-weight:900!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero #blb49-description {
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
    font-size:10.3px!important;
    line-height:1.44!important;
    color:#d5e9f1!important;
    max-height:4.32em!important;
    min-height:0!important;
    margin:0 0 7px!important;
    padding:0!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-actions {
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    justify-content:flex-end!important;
    align-items:stretch!important;
    align-self:stretch!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:7px!important;
    margin:auto 0 0!important;
    padding-top:8px!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-actions a {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:36px!important;
    height:auto!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:8px 9px!important;
    border-radius:10px!important;
    font-size:clamp(9px,2.55vw,10.5px)!important;
    font-weight:850!important;
    line-height:1.2!important;
    text-align:left!important;
    white-space:normal!important;
    gap:5px!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-actions a > span:last-child {
    flex:0 0 auto!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-visual {
    display:flex!important;
    align-items:stretch!important;
    align-self:stretch!important;
    justify-content:stretch!important;
    min-width:0!important;
    width:100%!important;
    min-height:234px!important;
    height:auto!important;
    max-height:none!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
    touch-action:pan-y!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-stage {
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:space-between!important;
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    min-height:234px!important;
    height:auto!important;
    max-height:none!important;
    box-sizing:border-box!important;
    padding:10px 7px 7px!important;
    margin:0!important;
    gap:0!important;
    border:1px solid rgba(216,232,237,.9)!important;
    border-radius:17px!important;
    background:linear-gradient(145deg,#ffffff 0%,#f5fafc 100%)!important;
    box-shadow:0 12px 25px rgba(0,25,39,.17)!important;
    overflow:hidden!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-kicker {
    display:block!important;
    flex:0 0 auto!important;
    width:100%!important;
    height:auto!important;
    max-height:22px!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    font-size:7px!important;
    font-weight:850!important;
    line-height:1.25!important;
    letter-spacing:.035em!important;
    color:#648197!important;
    white-space:normal!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-media {
    position:relative!important;
    display:flex!important;
    flex:1 1 auto!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:138px!important;
    max-height:none!important;
    padding:2px 0!important;
    margin:0!important;
    overflow:hidden!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-image,
  body.blb-home-v45.blb55-mobile #home.blb49-hero[data-blb68-slide="1"] .blb49-image,
  body.blb-home-v45.blb55-mobile #home.blb49-hero[data-blb68-slide="2"] .blb49-image,
  body.blb-home-v45.blb55-mobile #home.blb49-hero[data-blb68-slide="3"] .blb49-image,
  body.blb-home-v45.blb55-mobile #home.blb49-hero[data-blb68-slide="4"] .blb49-image {
    display:block!important;
    position:relative!important;
    inset:auto!important;
    flex:0 1 100%!important;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    padding:0!important;
    margin:0!important;
    filter:none!important;
    mix-blend-mode:multiply!important;
    transform:none!important;
    transform-origin:center!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-stage-bottom {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 32px!important;
    width:100%!important;
    min-width:0!important;
    min-height:32px!important;
    height:32px!important;
    max-height:32px!important;
    margin:0!important;
    padding:5px 0 0!important;
    gap:0!important;
    border-top:1px solid #e0edf2!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero #blb49-caption {
    display:none!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-controls {
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-width:0!important;
    gap:3px!important;
    margin:0!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-arrow {
    display:grid!important;
    place-items:center!important;
    flex:0 0 25px!important;
    min-width:25px!important;
    width:25px!important;
    min-height:26px!important;
    height:26px!important;
    padding:0!important;
    border-radius:8px!important;
    font-size:20px!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-dots {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:1 1 auto!important;
    min-width:0!important;
    gap:3px!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-dot {
    flex:0 0 5px!important;
    min-width:5px!important;
    width:5px!important;
    height:5px!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-dot.is-active {
    flex-basis:13px!important;
    width:13px!important;
  }
  body.blb-home-v45.blb55-mobile #categories.section {
    padding-top:8px!important;
  }
}
/* Compact iPhones still get two full, non-overlapping columns. */
@media (max-width:359px) {
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb48-hero-grid {
    grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important;
    column-gap:8px!important;
    padding:12px 9px 14px!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero #blb49-title {
    font-size:18px!important;
    line-height:1.09!important;
    letter-spacing:-.4px!important;
    margin-bottom:6px!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero #blb49-description {
    font-size:9.8px!important;
    line-height:1.37!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-copy,
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-visual,
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-stage {
    min-height:229px!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-actions a {
    font-size:8.8px!important;
    min-height:34px!important;
    padding:7px 7px!important;
  }
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-stage {
    padding:8px 5px 6px!important;
    border-radius:14px!important;
  }
}
/* Respect accessibility settings and avoid forced-motion effects. */
@media (prefers-reduced-motion:reduce) {
  body.blb-home-v45.blb55-mobile #home.blb49-hero .blb49-image {
    transition:none!important;
  }
}
