/* Sprint 272B — Mobile public header redesign
   Mobile only. Desktop/tablet >= 768px remains unchanged. */

.mobile-account-button,
.mobile-search-icon,
.mobile-voice-search{display:none}

@media(max-width:767px){
  /* Hide legacy utility/quick-action UI on mobile. */
  .site-header .utility-bar,
  .site-header .tf-mobile-utility,
  .site-header .nav-row{
    display:none!important;
  }
  .tf-homepage .tf-mobile-launchpad{
    display:none!important;
  }

  .site-header.premium-header{
    position:sticky;
    top:0;
    z-index:999;
    background:rgba(255,255,255,.98);
    border-bottom:1px solid #e6ebf2;
    box-shadow:0 7px 22px rgba(12,36,70,.07);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }

  .site-header.premium-header .header-main.shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:11px 14px 13px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 42px 42px 47px!important;
    grid-template-areas:
      "brand account menu cart"
      "search search search search"!important;
    align-items:center!important;
    gap:9px!important;
    background:#fff;
  }

  /* Logo left. */
  .site-header .brand{
    grid-area:brand;
    justify-self:start;
    display:flex;
    align-items:center;
    min-width:0;
  }
  .site-header .brand img{
    width:auto!important;
    height:42px!important;
    max-width:132px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  /* Compact right-side icon controls. */
  .site-header .mobile-account-button{
    grid-area:account;
    display:grid!important;
    place-items:center;
    width:42px;
    height:42px;
    border:1px solid #e2e7ef;
    border-radius:13px;
    background:#f5f7fa;
    color:#132742;
    box-shadow:0 4px 12px rgba(15,36,68,.05);
  }

  .site-header .mobile-menu-toggle{
    grid-area:menu;
    display:grid!important;
    place-items:center;
    width:42px!important;
    height:42px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #e2e7ef!important;
    border-radius:13px!important;
    background:#f7f8fa!important;
    color:#172a43!important;
    box-shadow:0 4px 12px rgba(15,36,68,.05)!important;
    font-size:0!important;
  }
  .site-header .mobile-menu-toggle:after{display:none!important}
  .site-header .mobile-menu-toggle span,
  .site-header .mobile-menu-toggle span:before,
  .site-header .mobile-menu-toggle span:after{
    display:block;
    width:20px;
    height:2px;
    border-radius:999px;
    background:#293b50;
  }
  .site-header .mobile-menu-toggle span{position:relative}
  .site-header .mobile-menu-toggle span:before,
  .site-header .mobile-menu-toggle span:after{
    content:"";
    position:absolute;
    left:0;
  }
  .site-header .mobile-menu-toggle span:before{top:-6px}
  .site-header .mobile-menu-toggle span:after{top:6px}

  .site-header .header-actions{
    grid-area:cart!important;
    display:block!important;
    min-width:0!important;
  }
  .site-header .header-actions > *{
    display:none!important;
  }
  .site-header .header-actions .shopping-cart-link{
    position:relative;
    display:grid!important;
    place-items:center;
    width:47px!important;
    height:42px!important;
    padding:0!important;
    border:1px solid #e2e7ef!important;
    border-radius:13px!important;
    background:#fff8e6!important;
    color:#0d4fa9!important;
    box-shadow:0 4px 12px rgba(15,36,68,.05)!important;
  }
  .site-header .shopping-cart-link .cart-svg-icon svg{
    width:23px!important;
    height:23px!important;
    stroke-width:2!important;
  }
  .site-header .shopping-cart-link > span:not(.cart-svg-icon){
    display:none!important;
  }
  .site-header .shopping-cart-link b{
    position:absolute!important;
    right:-5px!important;
    top:-7px!important;
    display:grid!important;
    place-items:center!important;
    min-width:22px!important;
    height:22px!important;
    padding:0 5px!important;
    border:2px solid #fff!important;
    border-radius:999px!important;
    background:#ffba16!important;
    color:#10213c!important;
    font-size:10px!important;
    line-height:1!important;
  }

  /* Search is its own second row, like the approved reference. */
  .site-header .global-search{
    grid-area:search!important;
    width:100%!important;
    height:49px!important;
    margin-top:4px!important;
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 39px 84px!important;
    align-items:center!important;
    overflow:hidden!important;
    border:1px solid #cfd7e2!important;
    border-radius:13px!important;
    background:#fff!important;
    box-shadow:0 4px 13px rgba(16,39,72,.055)!important;
  }
  .site-header .global-search select{
    display:none!important;
  }
  .site-header .mobile-search-icon{
    display:grid!important;
    place-items:center;
    height:100%;
    color:#68768a;
  }
  .site-header .global-search input{
    min-width:0!important;
    width:100%!important;
    height:100%!important;
    padding:0 7px!important;
    border:0!important;
    background:transparent!important;
    color:#172a45!important;
    font-size:13px!important;
    outline:0!important;
  }
  .site-header .global-search input::placeholder{
    color:#98a2b2!important;
    opacity:1!important;
  }
  .site-header .mobile-voice-search{
    display:grid!important;
    place-items:center;
    width:39px!important;
    height:100%!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#526277!important;
  }
  .site-header .global-search > button[type="submit"]{
    width:100%!important;
    height:100%!important;
    padding:0 12px!important;
    border:0!important;
    border-radius:12px!important;
    background:linear-gradient(135deg,#e61d27,#f0272f)!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:800!important;
    box-shadow:none!important;
  }

  /* Existing menu continues to use current menu-open behaviour. */
  .premium-header.menu-open .nav-row{
    display:block!important;
    position:fixed!important;
    inset:118px 10px auto!important;
    max-height:calc(100vh - 132px)!important;
    overflow:auto!important;
    background:#fff!important;
    border:1px solid #dfe6ef!important;
    border-radius:16px!important;
    box-shadow:0 22px 55px rgba(6,26,63,.22)!important;
  }

  /* Hero starts immediately below compact header. */
  .tf-homepage .market-hero{
    margin-top:8px!important;
  }
}

@media(max-width:389px){
  .site-header.premium-header .header-main.shell{
    grid-template-columns:minmax(0,1fr) 38px 38px 43px!important;
    gap:7px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .site-header .brand img{
    height:37px!important;
    max-width:112px!important;
  }
  .site-header .mobile-account-button,
  .site-header .mobile-menu-toggle{
    width:38px!important;
    height:38px!important;
    border-radius:12px!important;
  }
  .site-header .header-actions .shopping-cart-link{
    width:43px!important;
    height:38px!important;
    border-radius:12px!important;
  }
  .site-header .global-search{
    grid-template-columns:34px minmax(0,1fr) 35px 76px!important;
    height:46px!important;
  }
  .site-header .global-search input{font-size:12px!important}
  .site-header .global-search > button[type="submit"]{font-size:12px!important}
}

@media(min-width:768px){
  .mobile-account-button,
  .mobile-search-icon,
  .mobile-voice-search{display:none!important}
}


/* Sprint 272C — Homepage mobile responsive repair
   Fixes desktop-width category/RFQ layouts leaking into narrow screens. */
@media(max-width:767px){
  html,body{
    width:100%;
    max-width:100%;
    overflow-x:hidden!important;
  }

  .tf-homepage,
  .tf-homepage main,
  .tf-homepage section{
    max-width:100%!important;
  }

  .tf-homepage .shell,
  .tf-homepage .section-shell,
  .tf-homepage .market-shell,
  .tf-homepage .tf-section-shell{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:12px!important;
    padding-right:12px!important;
    box-sizing:border-box!important;
  }

  /* RFQ sourcing block: one clean mobile column. */
  .tf-homepage .rfq-sourcing,
  .tf-homepage .home-rfq,
  .tf-homepage .rfq-section,
  .tf-homepage .rfq-procurement,
  .tf-homepage [class*="rfq-sourcing"]{
    width:100%!important;
    max-width:100%!important;
    display:block!important;
    grid-template-columns:1fr!important;
    overflow:hidden!important;
  }

  .tf-homepage .rfq-sourcing > *,
  .tf-homepage .home-rfq > *,
  .tf-homepage .rfq-section > *,
  .tf-homepage .rfq-procurement > *,
  .tf-homepage [class*="rfq-sourcing"] > *{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  .tf-homepage .rfq-sourcing input,
  .tf-homepage .rfq-sourcing textarea,
  .tf-homepage .rfq-sourcing select,
  .tf-homepage .home-rfq input,
  .tf-homepage .home-rfq textarea,
  .tf-homepage .home-rfq select,
  .tf-homepage [class*="rfq-sourcing"] input,
  .tf-homepage [class*="rfq-sourcing"] textarea,
  .tf-homepage [class*="rfq-sourcing"] select{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  /* Category showcase: true app-like mobile layout. */
  .tf-homepage .category-showcase,
  .tf-homepage .category-market,
  .tf-homepage .category-market-section,
  .tf-homepage [class*="category-showcase"]{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  .tf-homepage .category-showcase-grid,
  .tf-homepage .category-market-grid,
  .tf-homepage [class*="category-showcase"] [class*="grid"]{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
  }

  /* Large category intro/promo card becomes full width. */
  .tf-homepage .category-showcase-grid > :first-child,
  .tf-homepage .category-market-grid > :first-child,
  .tf-homepage [class*="category-showcase"] [class*="grid"] > :first-child{
    grid-column:1/-1!important;
  }

  .tf-homepage .category-card,
  .tf-homepage .subcategory-card,
  .tf-homepage [class*="category-card"],
  .tf-homepage [class*="subcategory-card"]{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  .tf-homepage .category-card img,
  .tf-homepage .subcategory-card img,
  .tf-homepage [class*="category-card"] img,
  .tf-homepage [class*="subcategory-card"] img{
    max-width:100%!important;
    height:auto!important;
    object-fit:cover!important;
  }

  /* Prevent tiny desktop typography and oversized fixed dimensions. */
  .tf-homepage .category-showcase h2,
  .tf-homepage .category-market h2{
    font-size:22px!important;
    line-height:1.12!important;
  }
  .tf-homepage .category-showcase h3,
  .tf-homepage .category-market h3,
  .tf-homepage [class*="category-card"] h3{
    font-size:12px!important;
    line-height:1.25!important;
  }
  .tf-homepage [class*="category-card"] p,
  .tf-homepage [class*="category-card"] li,
  .tf-homepage [class*="subcategory-card"] li{
    font-size:9px!important;
    line-height:1.35!important;
  }

  /* Cards and rows must never preserve desktop minimum widths. */
  .tf-homepage .grid,
  .tf-homepage [class*="-grid"],
  .tf-homepage [class*="-row"]{
    min-width:0!important;
    max-width:100%!important;
  }

  .tf-homepage .grid > *,
  .tf-homepage [class*="-grid"] > *,
  .tf-homepage [class*="-row"] > *{
    min-width:0!important;
    box-sizing:border-box!important;
  }

  /* Floating tools must not force viewport width. */
  .tf-homepage .floating-tools,
  .tf-homepage .side-tools{
    max-width:46px!important;
  }
}

@media(max-width:430px){
  .tf-homepage .category-showcase-grid,
  .tf-homepage .category-market-grid,
  .tf-homepage [class*="category-showcase"] [class*="grid"]{
    grid-template-columns:1fr 1fr!important;
  }
}

@media(max-width:340px){
  .tf-homepage .category-showcase-grid,
  .tf-homepage .category-market-grid,
  .tf-homepage [class*="category-showcase"] [class*="grid"]{
    grid-template-columns:1fr!important;
  }
  .tf-homepage .category-showcase-grid > :first-child,
  .tf-homepage .category-market-grid > :first-child{
    grid-column:auto!important;
  }
}


/* Sprint 272D — AUTHORITATIVE unified public mobile header.
   This final layer intentionally wins over historical homepage-only mobile
   header rules in home-enterprise.css. */
@media(max-width:767px){
  body .site-header.premium-header,
  body.tf-homepage .site-header.premium-header{
    position:sticky!important;
    top:0!important;
    z-index:999!important;
    width:100%!important;
    overflow:visible!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-bottom:1px solid #e2e8f0!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:0 6px 20px rgba(10,35,70,.065)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  body .site-header .utility-bar,
  body .site-header .tf-mobile-utility,
  body .site-header .nav-row,
  body.tf-homepage .site-header .utility-bar,
  body.tf-homepage .site-header .tf-mobile-utility,
  body.tf-homepage .site-header .nav-row{
    display:none!important;
  }

  /* One identical 2-row header on homepage, login and every public page. */
  body .site-header.premium-header .header-main.shell,
  body.tf-homepage .site-header.premium-header .header-main.shell{
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:10px 14px 12px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 42px 42px 48px!important;
    grid-template-rows:44px 49px!important;
    grid-template-areas:
      "brand account menu cart"
      "search search search search"!important;
    column-gap:9px!important;
    row-gap:9px!important;
    align-items:center!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-sizing:border-box!important;
  }

  /* Brand is ALWAYS left on mobile. Reset old homepage grid-column rules. */
  body .site-header .brand,
  body.tf-homepage .site-header .brand{
    position:static!important;
    grid-area:brand!important;
    grid-column:auto!important;
    grid-row:auto!important;
    justify-self:start!important;
    align-self:center!important;
    display:flex!important;
    width:auto!important;
    min-width:0!important;
    max-width:145px!important;
    height:42px!important;
    margin:0!important;
    padding:0!important;
    gap:0!important;
    overflow:visible!important;
  }
  body .site-header .brand:before,
  body .site-header .brand:after,
  body.tf-homepage .site-header .brand:before,
  body.tf-homepage .site-header .brand:after{
    content:none!important;
    display:none!important;
  }
  body .site-header .brand img,
  body.tf-homepage .site-header .brand img{
    display:block!important;
    width:auto!important;
    height:40px!important;
    min-width:0!important;
    max-width:132px!important;
    max-height:40px!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  body .site-header .mobile-account-button,
  body.tf-homepage .site-header .mobile-account-button{
    position:static!important;
    grid-area:account!important;
    grid-column:auto!important;
    grid-row:auto!important;
    justify-self:center!important;
    display:grid!important;
    place-items:center!important;
    width:42px!important;
    height:42px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #dce4ee!important;
    border-radius:13px!important;
    background:#f6f8fb!important;
    color:#122845!important;
    box-shadow:0 4px 12px rgba(12,37,72,.045)!important;
  }

  body .site-header .mobile-menu-toggle,
  body.tf-homepage .site-header .mobile-menu-toggle{
    position:static!important;
    grid-area:menu!important;
    grid-column:auto!important;
    grid-row:auto!important;
    justify-self:center!important;
    display:grid!important;
    place-items:center!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #dce4ee!important;
    border-radius:13px!important;
    background:#f6f8fb!important;
    color:#26394f!important;
    box-shadow:0 4px 12px rgba(12,37,72,.045)!important;
    font-size:0!important;
    line-height:0!important;
    overflow:visible!important;
  }
  /* kill historical hamburger pseudos; the explicit span is authoritative */
  body .site-header .mobile-menu-toggle:before,
  body .site-header .mobile-menu-toggle:after,
  body.tf-homepage .site-header .mobile-menu-toggle:before,
  body.tf-homepage .site-header .mobile-menu-toggle:after{
    content:none!important;
    display:none!important;
    background:none!important;
    box-shadow:none!important;
  }
  body .site-header .mobile-menu-toggle span,
  body .site-header .mobile-menu-toggle span:before,
  body .site-header .mobile-menu-toggle span:after,
  body.tf-homepage .site-header .mobile-menu-toggle span,
  body.tf-homepage .site-header .mobile-menu-toggle span:before,
  body.tf-homepage .site-header .mobile-menu-toggle span:after{
    display:block!important;
    width:20px!important;
    height:2px!important;
    border:0!important;
    border-radius:99px!important;
    background:#26394f!important;
    box-shadow:none!important;
  }
  body .site-header .mobile-menu-toggle span,
  body.tf-homepage .site-header .mobile-menu-toggle span{position:relative!important}
  body .site-header .mobile-menu-toggle span:before,
  body .site-header .mobile-menu-toggle span:after,
  body.tf-homepage .site-header .mobile-menu-toggle span:before,
  body.tf-homepage .site-header .mobile-menu-toggle span:after{
    content:""!important;
    position:absolute!important;
    left:0!important;
  }
  body .site-header .mobile-menu-toggle span:before,
  body.tf-homepage .site-header .mobile-menu-toggle span:before{top:-6px!important}
  body .site-header .mobile-menu-toggle span:after,
  body.tf-homepage .site-header .mobile-menu-toggle span:after{top:6px!important}

  body .site-header .header-actions,
  body.tf-homepage .site-header .header-actions{
    position:static!important;
    grid-area:cart!important;
    grid-column:auto!important;
    grid-row:auto!important;
    justify-self:end!important;
    display:block!important;
    width:48px!important;
    height:42px!important;
    min-width:48px!important;
    margin:0!important;
    padding:0!important;
  }
  body .site-header .header-actions > *,
  body.tf-homepage .site-header .header-actions > *{display:none!important}
  body .site-header .header-actions .shopping-cart-link,
  body.tf-homepage .site-header .header-actions .shopping-cart-link{
    position:relative!important;
    display:grid!important;
    place-items:center!important;
    width:48px!important;
    height:42px!important;
    min-width:48px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #f0dfad!important;
    border-radius:13px!important;
    background:#fff8e3!important;
    color:#0951b5!important;
    box-shadow:0 4px 12px rgba(12,37,72,.045)!important;
  }
  body .site-header .shopping-cart-link b,
  body.tf-homepage .site-header .shopping-cart-link b{
    position:absolute!important;
    top:-7px!important;
    right:-6px!important;
    transform:none!important;
    display:grid!important;
    place-items:center!important;
    min-width:22px!important;
    height:22px!important;
    padding:0 5px!important;
    border:2px solid #fff!important;
    border-radius:999px!important;
    background:#ffbc20!important;
    color:#10233e!important;
    font-size:10px!important;
    font-weight:900!important;
  }

  /* Identical search row across homepage/login/inner pages. */
  body .site-header .global-search,
  body.tf-homepage .site-header .global-search{
    position:static!important;
    grid-area:search!important;
    grid-column:auto!important;
    grid-row:auto!important;
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr) 40px 88px!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
    height:49px!important;
    min-height:49px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid #cfd8e4!important;
    border-radius:13px!important;
    background:#fff!important;
    box-shadow:0 4px 13px rgba(16,39,72,.05)!important;
    box-sizing:border-box!important;
  }
  body .site-header .global-search select,
  body.tf-homepage .site-header .global-search select{display:none!important}

  body .site-header .mobile-search-icon,
  body.tf-homepage .site-header .mobile-search-icon{
    display:grid!important;
    place-items:center!important;
    width:40px!important;
    height:100%!important;
    color:#68778b!important;
  }
  body .site-header .global-search input,
  body.tf-homepage .site-header .global-search input{
    position:static!important;
    display:block!important;
    min-width:0!important;
    width:100%!important;
    height:47px!important;
    margin:0!important;
    padding:0 5px!important;
    border:0!important;
    background:transparent!important;
    color:#142943!important;
    font-size:13px!important;
    font-weight:500!important;
    line-height:normal!important;
    box-shadow:none!important;
    outline:0!important;
  }
  body .site-header .global-search input::placeholder,
  body.tf-homepage .site-header .global-search input::placeholder{
    color:#9aa4b3!important;
    opacity:1!important;
  }

  body .site-header .mobile-voice-search,
  body.tf-homepage .site-header .mobile-voice-search{
    position:static!important;
    display:grid!important;
    place-items:center!important;
    width:40px!important;
    min-width:40px!important;
    height:47px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#526276!important;
    box-shadow:none!important;
  }

  /* TradesFolks brand gold/yellow CTA — NOT red/blue. */
  body .site-header .global-search > button[type="submit"],
  body.tf-homepage .site-header .global-search > button[type="submit"]{
    position:static!important;
    display:grid!important;
    place-items:center!important;
    width:88px!important;
    min-width:88px!important;
    height:49px!important;
    margin:0!important;
    padding:0 10px!important;
    border:0!important;
    border-radius:12px!important;
    background:linear-gradient(135deg,#ffb91b 0%,#ffd258 100%)!important;
    color:#071f49!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1!important;
    box-shadow:none!important;
  }
  /* kill old homepage search pseudo icons that were appearing beside Search */
  body .site-header .global-search > button[type="submit"]:before,
  body .site-header .global-search > button[type="submit"]:after,
  body.tf-homepage .site-header .global-search > button[type="submit"]:before,
  body.tf-homepage .site-header .global-search > button[type="submit"]:after{
    content:none!important;
    display:none!important;
    width:0!important;
    height:0!important;
    border:0!important;
    background:none!important;
    box-shadow:none!important;
  }

  /* Homepage quick-action launcher stays removed as requested. */
  body.tf-homepage .tf-mobile-launchpad,
  body.tf-homepage .tf-procurement-launchpad{
    display:none!important;
  }

  /* Existing menu drawer remains functional. */
  body .premium-header.menu-open .nav-row,
  body.tf-homepage .premium-header.menu-open .nav-row{
    display:block!important;
    position:fixed!important;
    top:114px!important;
    left:10px!important;
    right:10px!important;
    bottom:auto!important;
    width:auto!important;
    max-height:calc(100vh - 126px)!important;
    overflow:auto!important;
    background:#fff!important;
    border:1px solid #dfe6ef!important;
    border-radius:16px!important;
    box-shadow:0 22px 55px rgba(6,26,63,.22)!important;
    z-index:1001!important;
  }

  body.tf-homepage .market-hero{
    margin-top:8px!important;
  }
}

@media(max-width:389px){
  body .site-header.premium-header .header-main.shell,
  body.tf-homepage .site-header.premium-header .header-main.shell{
    grid-template-columns:minmax(0,1fr) 38px 38px 44px!important;
    grid-template-rows:40px 46px!important;
    padding:8px 10px 10px!important;
    column-gap:7px!important;
    row-gap:8px!important;
  }
  body .site-header .brand,
  body.tf-homepage .site-header .brand{height:38px!important;max-width:116px!important}
  body .site-header .brand img,
  body.tf-homepage .site-header .brand img{height:36px!important;max-width:112px!important}
  body .site-header .mobile-account-button,
  body .site-header .mobile-menu-toggle,
  body.tf-homepage .site-header .mobile-account-button,
  body.tf-homepage .site-header .mobile-menu-toggle{
    width:38px!important;height:38px!important;border-radius:12px!important;
  }
  body .site-header .header-actions,
  body.tf-homepage .site-header .header-actions{width:44px!important;height:38px!important;min-width:44px!important}
  body .site-header .header-actions .shopping-cart-link,
  body.tf-homepage .site-header .header-actions .shopping-cart-link{
    width:44px!important;height:38px!important;min-width:44px!important;border-radius:12px!important;
  }
  body .site-header .global-search,
  body.tf-homepage .site-header .global-search{
    grid-template-columns:35px minmax(0,1fr) 35px 78px!important;
    height:46px!important;min-height:46px!important;
  }
  body .site-header .global-search input,
  body.tf-homepage .site-header .global-search input{height:44px!important;font-size:12px!important}
  body .site-header .mobile-voice-search,
  body.tf-homepage .site-header .mobile-voice-search{width:35px!important;min-width:35px!important;height:44px!important}
  body .site-header .global-search > button[type="submit"],
  body.tf-homepage .site-header .global-search > button[type="submit"]{
    width:78px!important;min-width:78px!important;height:46px!important;font-size:12px!important;
  }
}


/* Sprint 272E — Premium compact mobile header
   Final authoritative mobile composition:
   Row 1: logo left + account/menu/cart right
   Row 2: full-width search field + mic + TradesFolks gold Search CTA */
@media(max-width:767px){
  body .site-header.premium-header,
  body.tf-homepage .site-header.premium-header{
    background:#fff!important;
    border-bottom:1px solid #e7ecf3!important;
    box-shadow:0 7px 22px rgba(7,31,67,.07)!important;
  }

  body .site-header.premium-header .header-main.shell,
  body.tf-homepage .site-header.premium-header .header-main.shell{
    display:grid!important;
    grid-template-columns:minmax(120px,1fr) 40px 40px 46px!important;
    grid-template-rows:42px 48px!important;
    grid-template-areas:
      "brand account menu cart"
      "search search search search"!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:9px 12px 11px!important;
    column-gap:8px!important;
    row-gap:9px!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }

  /* Premium brand lock-up */
  body .site-header .brand,
  body.tf-homepage .site-header .brand{
    grid-area:brand!important;
    position:static!important;
    justify-self:start!important;
    align-self:center!important;
    width:auto!important;
    max-width:132px!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }
  body .site-header .brand img,
  body.tf-homepage .site-header .brand img{
    width:auto!important;
    height:38px!important;
    max-width:124px!important;
    max-height:38px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  /* Right-side control buttons: same dimensions and surface */
  body .site-header .mobile-account-button,
  body.tf-homepage .site-header .mobile-account-button,
  body .site-header .mobile-menu-toggle,
  body.tf-homepage .site-header .mobile-menu-toggle,
  body .site-header .header-actions .shopping-cart-link,
  body.tf-homepage .site-header .header-actions .shopping-cart-link{
    position:static!important;
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #dfe6ef!important;
    border-radius:12px!important;
    box-shadow:0 4px 12px rgba(13,38,73,.045)!important;
    transform:none!important;
  }

  body .site-header .mobile-account-button,
  body.tf-homepage .site-header .mobile-account-button{
    grid-area:account!important;
    justify-self:center!important;
    display:grid!important;
    place-items:center!important;
    background:#f7f9fc!important;
    color:#102846!important;
  }

  body .site-header .mobile-menu-toggle,
  body.tf-homepage .site-header .mobile-menu-toggle{
    grid-area:menu!important;
    justify-self:center!important;
    display:grid!important;
    place-items:center!important;
    background:#f7f9fc!important;
    color:#253a54!important;
  }

  body .site-header .header-actions,
  body.tf-homepage .site-header .header-actions{
    grid-area:cart!important;
    position:static!important;
    justify-self:end!important;
    width:46px!important;
    min-width:46px!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
  }
  body .site-header .header-actions .shopping-cart-link,
  body.tf-homepage .site-header .header-actions .shopping-cart-link{
    width:46px!important;
    min-width:46px!important;
    background:linear-gradient(180deg,#fff9e9,#fff3cd)!important;
    border-color:#f1dfaa!important;
    color:#0753b9!important;
  }
  body .site-header .shopping-cart-link b,
  body.tf-homepage .site-header .shopping-cart-link b{
    top:-7px!important;
    right:-6px!important;
    min-width:21px!important;
    height:21px!important;
    padding:0 5px!important;
    border:2px solid #fff!important;
    background:#ffbd20!important;
    color:#10243f!important;
    font-size:10px!important;
    font-weight:900!important;
  }

  /* Full search row — no standalone search icon button */
  body .site-header .global-search,
  body.tf-homepage .site-header .global-search{
    grid-area:search!important;
    position:static!important;
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 38px 84px!important;
    align-items:center!important;
    width:100%!important;
    max-width:none!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid #cfd8e4!important;
    border-radius:13px!important;
    background:#fff!important;
    box-shadow:0 5px 15px rgba(11,36,72,.055)!important;
    transform:none!important;
    box-sizing:border-box!important;
  }
  body .site-header .global-search select,
  body.tf-homepage .site-header .global-search select{
    display:none!important;
  }

  body .site-header .mobile-search-icon,
  body.tf-homepage .site-header .mobile-search-icon{
    position:static!important;
    display:grid!important;
    place-items:center!important;
    width:38px!important;
    height:46px!important;
    margin:0!important;
    padding:0!important;
    color:#68788d!important;
    background:transparent!important;
  }

  body .site-header .global-search input,
  body.tf-homepage .site-header .global-search input{
    position:static!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:46px!important;
    margin:0!important;
    padding:0 5px!important;
    border:0!important;
    background:transparent!important;
    color:#142b49!important;
    font-size:13px!important;
    font-weight:500!important;
    line-height:46px!important;
    box-shadow:none!important;
    outline:0!important;
    transform:none!important;
  }
  body .site-header .global-search input::placeholder,
  body.tf-homepage .site-header .global-search input::placeholder{
    color:#98a3b2!important;
    opacity:1!important;
  }

  body .site-header .mobile-voice-search,
  body.tf-homepage .site-header .mobile-voice-search{
    position:static!important;
    display:grid!important;
    place-items:center!important;
    visibility:visible!important;
    opacity:1!important;
    width:38px!important;
    min-width:38px!important;
    height:46px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#52647b!important;
    box-shadow:none!important;
    transform:none!important;
  }

  body .site-header .global-search > button[type="submit"],
  body.tf-homepage .site-header .global-search > button[type="submit"]{
    position:static!important;
    display:grid!important;
    place-items:center!important;
    visibility:visible!important;
    opacity:1!important;
    width:84px!important;
    min-width:84px!important;
    max-width:84px!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0 10px!important;
    border:0!important;
    border-radius:12px!important;
    background:linear-gradient(135deg,#ffb414 0%,#ffd35a 100%)!important;
    color:#081f48!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:0!important;
    box-shadow:none!important;
    transform:none!important;
  }

  /* Hard reset any old icon-only search rules from homepage CSS */
  body .site-header .global-search:before,
  body .site-header .global-search:after,
  body.tf-homepage .site-header .global-search:before,
  body.tf-homepage .site-header .global-search:after,
  body .site-header .global-search > button[type="submit"]:before,
  body .site-header .global-search > button[type="submit"]:after,
  body.tf-homepage .site-header .global-search > button[type="submit"]:before,
  body.tf-homepage .site-header .global-search > button[type="submit"]:after{
    content:none!important;
    display:none!important;
  }

  /* Eliminate the large blank old-mobile header height. */
  body .site-header .header-main:before,
  body .site-header .header-main:after,
  body.tf-homepage .site-header .header-main:before,
  body.tf-homepage .site-header .header-main:after{
    content:none!important;
    display:none!important;
  }

  body.tf-homepage .market-hero{
    margin-top:7px!important;
  }
}

@media(max-width:389px){
  body .site-header.premium-header .header-main.shell,
  body.tf-homepage .site-header.premium-header .header-main.shell{
    grid-template-columns:minmax(104px,1fr) 37px 37px 43px!important;
    grid-template-rows:39px 45px!important;
    padding:8px 9px 10px!important;
    column-gap:6px!important;
    row-gap:8px!important;
  }
  body .site-header .brand,
  body.tf-homepage .site-header .brand{
    height:37px!important;
    min-height:37px!important;
    max-width:112px!important;
  }
  body .site-header .brand img,
  body.tf-homepage .site-header .brand img{
    height:35px!important;
    max-width:108px!important;
  }
  body .site-header .mobile-account-button,
  body.tf-homepage .site-header .mobile-account-button,
  body .site-header .mobile-menu-toggle,
  body.tf-homepage .site-header .mobile-menu-toggle{
    width:37px!important;
    min-width:37px!important;
    height:37px!important;
    min-height:37px!important;
  }
  body .site-header .header-actions,
  body.tf-homepage .site-header .header-actions{
    width:43px!important;
    min-width:43px!important;
    height:37px!important;
  }
  body .site-header .header-actions .shopping-cart-link,
  body.tf-homepage .site-header .header-actions .shopping-cart-link{
    width:43px!important;
    min-width:43px!important;
    height:37px!important;
    min-height:37px!important;
  }
  body .site-header .global-search,
  body.tf-homepage .site-header .global-search{
    grid-template-columns:34px minmax(0,1fr) 34px 76px!important;
    height:45px!important;
    min-height:45px!important;
  }
  body .site-header .global-search input,
  body.tf-homepage .site-header .global-search input{
    height:43px!important;
    font-size:12px!important;
    line-height:43px!important;
  }
  body .site-header .mobile-search-icon,
  body.tf-homepage .site-header .mobile-search-icon,
  body .site-header .mobile-voice-search,
  body.tf-homepage .site-header .mobile-voice-search{
    width:34px!important;
    min-width:34px!important;
    height:43px!important;
  }
  body .site-header .global-search > button[type="submit"],
  body.tf-homepage .site-header .global-search > button[type="submit"]{
    width:76px!important;
    min-width:76px!important;
    max-width:76px!important;
    height:45px!important;
    min-height:45px!important;
    font-size:12px!important;
  }
}


/* Sprint 272F — Premium mobile header micro-refinement */
@media(max-width:767px){
  body .site-header.premium-header .header-main.shell,
  body.tf-homepage .site-header.premium-header .header-main.shell{
    grid-template-columns:minmax(118px,1fr) 39px 39px 45px!important;
    grid-template-rows:40px 46px!important;
    padding:8px 12px 10px!important;
    column-gap:7px!important;
    row-gap:8px!important;
  }

  /* Slightly smaller brand for better visual balance. */
  body .site-header .brand,
  body.tf-homepage .site-header .brand{
    height:38px!important;
    min-height:38px!important;
    max-width:120px!important;
  }
  body .site-header .brand img,
  body.tf-homepage .site-header .brand img{
    height:36px!important;
    max-height:36px!important;
    max-width:116px!important;
  }

  /* More compact icon buttons */
  body .site-header .mobile-account-button,
  body.tf-homepage .site-header .mobile-account-button,
  body .site-header .mobile-menu-toggle,
  body.tf-homepage .site-header .mobile-menu-toggle{
    width:39px!important;
    min-width:39px!important;
    height:39px!important;
    min-height:39px!important;
    border-radius:11px!important;
  }

  body .site-header .mobile-account-button svg,
  body.tf-homepage .site-header .mobile-account-button svg{
    width:20px!important;
    height:20px!important;
  }

  body .site-header .mobile-menu-toggle span,
  body .site-header .mobile-menu-toggle span:before,
  body .site-header .mobile-menu-toggle span:after,
  body.tf-homepage .site-header .mobile-menu-toggle span,
  body.tf-homepage .site-header .mobile-menu-toggle span:before,
  body.tf-homepage .site-header .mobile-menu-toggle span:after{
    width:19px!important;
  }

  /* Cart badge must remain fully inside viewport/header box. */
  body .site-header .header-actions,
  body.tf-homepage .site-header .header-actions{
    width:45px!important;
    min-width:45px!important;
    height:39px!important;
    overflow:visible!important;
  }
  body .site-header .header-actions .shopping-cart-link,
  body.tf-homepage .site-header .header-actions .shopping-cart-link{
    width:45px!important;
    min-width:45px!important;
    height:39px!important;
    min-height:39px!important;
    overflow:visible!important;
    border-radius:11px!important;
  }
  body .site-header .shopping-cart-link .cart-svg-icon svg,
  body.tf-homepage .site-header .shopping-cart-link .cart-svg-icon svg{
    width:21px!important;
    height:21px!important;
  }
  body .site-header .shopping-cart-link b,
  body.tf-homepage .site-header .shopping-cart-link b{
    top:-5px!important;
    right:-2px!important;
    min-width:20px!important;
    height:20px!important;
    padding:0 4px!important;
    font-size:9px!important;
    border-width:2px!important;
    z-index:4!important;
  }

  /* Search container: lighter, more refined, slightly less tall. */
  body .site-header .global-search,
  body.tf-homepage .site-header .global-search{
    grid-template-columns:36px minmax(0,1fr) 36px 80px!important;
    height:46px!important;
    min-height:46px!important;
    border-color:#d3dce7!important;
    border-radius:12px!important;
    box-shadow:0 4px 12px rgba(11,36,72,.045)!important;
  }

  body .site-header .mobile-search-icon,
  body.tf-homepage .site-header .mobile-search-icon{
    width:36px!important;
    height:44px!important;
  }
  body .site-header .mobile-search-icon svg,
  body.tf-homepage .site-header .mobile-search-icon svg{
    width:19px!important;
    height:19px!important;
  }

  body .site-header .global-search input,
  body.tf-homepage .site-header .global-search input{
    height:44px!important;
    padding:0 4px!important;
    font-size:12.5px!important;
    line-height:44px!important;
    letter-spacing:-.005em!important;
  }

  /* Mic perfectly centered and no baseline clipping. */
  body .site-header .mobile-voice-search,
  body.tf-homepage .site-header .mobile-voice-search{
    width:36px!important;
    min-width:36px!important;
    height:44px!important;
    min-height:44px!important;
    align-self:center!important;
    justify-self:center!important;
    overflow:visible!important;
  }
  body .site-header .mobile-voice-search svg,
  body.tf-homepage .site-header .mobile-voice-search svg{
    display:block!important;
    width:19px!important;
    height:19px!important;
    margin:0!important;
    transform:none!important;
  }

  /* Brand-gold CTA: narrower, softer and cleaner. */
  body .site-header .global-search > button[type="submit"],
  body.tf-homepage .site-header .global-search > button[type="submit"]{
    width:80px!important;
    min-width:80px!important;
    max-width:80px!important;
    height:46px!important;
    min-height:46px!important;
    padding:0 9px!important;
    border-radius:11px!important;
    background:linear-gradient(135deg,#ffb61a 0%,#ffc94a 100%)!important;
    color:#082149!important;
    font-size:12.5px!important;
    font-weight:850!important;
    box-shadow:inset 0 1px rgba(255,255,255,.42)!important;
  }
}

@media(max-width:389px){
  body .site-header.premium-header .header-main.shell,
  body.tf-homepage .site-header.premium-header .header-main.shell{
    grid-template-columns:minmax(100px,1fr) 36px 36px 42px!important;
    grid-template-rows:37px 43px!important;
    padding:7px 9px 9px!important;
    column-gap:6px!important;
    row-gap:7px!important;
  }

  body .site-header .brand,
  body.tf-homepage .site-header .brand{
    height:35px!important;
    min-height:35px!important;
    max-width:105px!important;
  }
  body .site-header .brand img,
  body.tf-homepage .site-header .brand img{
    height:33px!important;
    max-height:33px!important;
    max-width:101px!important;
  }

  body .site-header .mobile-account-button,
  body.tf-homepage .site-header .mobile-account-button,
  body .site-header .mobile-menu-toggle,
  body.tf-homepage .site-header .mobile-menu-toggle{
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
  }

  body .site-header .header-actions,
  body.tf-homepage .site-header .header-actions{
    width:42px!important;
    min-width:42px!important;
    height:36px!important;
  }
  body .site-header .header-actions .shopping-cart-link,
  body.tf-homepage .site-header .header-actions .shopping-cart-link{
    width:42px!important;
    min-width:42px!important;
    height:36px!important;
    min-height:36px!important;
  }

  body .site-header .global-search,
  body.tf-homepage .site-header .global-search{
    grid-template-columns:33px minmax(0,1fr) 33px 72px!important;
    height:43px!important;
    min-height:43px!important;
  }

  body .site-header .mobile-search-icon,
  body.tf-homepage .site-header .mobile-search-icon,
  body .site-header .mobile-voice-search,
  body.tf-homepage .site-header .mobile-voice-search{
    width:33px!important;
    min-width:33px!important;
    height:41px!important;
    min-height:41px!important;
  }

  body .site-header .global-search input,
  body.tf-homepage .site-header .global-search input{
    height:41px!important;
    font-size:11.5px!important;
    line-height:41px!important;
  }

  body .site-header .global-search > button[type="submit"],
  body.tf-homepage .site-header .global-search > button[type="submit"]{
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    height:43px!important;
    min-height:43px!important;
    font-size:11.5px!important;
  }
}


/* Sprint 272G — final mobile voice + cart control repair */
@media(max-width:767px){
  /* Voice control: clean circular control, centered SVG, no overflow/cut line. */
  body .site-header .mobile-voice-search,
  body.tf-homepage .site-header .mobile-voice-search{
    position:relative!important;
    display:grid!important;
    place-items:center!important;
    align-self:center!important;
    justify-self:center!important;
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid #e1e7ef!important;
    border-radius:10px!important;
    background:#f7f9fc!important;
    color:#40546d!important;
    box-shadow:none!important;
    line-height:0!important;
  }

  body .site-header .mobile-voice-search svg,
  body.tf-homepage .site-header .mobile-voice-search svg{
    position:static!important;
    display:block!important;
    width:18px!important;
    height:18px!important;
    max-width:18px!important;
    max-height:18px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    overflow:visible!important;
  }

  body .site-header .mobile-voice-search:before,
  body .site-header .mobile-voice-search:after,
  body.tf-homepage .site-header .mobile-voice-search:before,
  body.tf-homepage .site-header .mobile-voice-search:after{
    content:none!important;
    display:none!important;
  }

  body .site-header .mobile-voice-search.is-listening,
  body.tf-homepage .site-header .mobile-voice-search.is-listening{
    border-color:#ffbf2d!important;
    background:#fff7dc!important;
    color:#0c4fa9!important;
  }

  /* Keep mic column roomy enough for the control. */
  body .site-header .global-search,
  body.tf-homepage .site-header .global-search{
    grid-template-columns:36px minmax(0,1fr) 42px 80px!important;
  }

  /* Cart: keep badge fully inside control instead of hanging outside viewport. */
  body .site-header .header-actions,
  body.tf-homepage .site-header .header-actions{
    overflow:visible!important;
  }

  body .site-header .header-actions .shopping-cart-link,
  body.tf-homepage .site-header .header-actions .shopping-cart-link{
    position:relative!important;
    overflow:visible!important;
    isolation:isolate!important;
    padding-top:1px!important;
  }

  body .site-header .shopping-cart-link b,
  body.tf-homepage .site-header .shopping-cart-link b{
    position:absolute!important;
    top:2px!important;
    right:2px!important;
    transform:translate(34%,-34%)!important;
    z-index:8!important;
    display:grid!important;
    place-items:center!important;
    min-width:19px!important;
    width:auto!important;
    height:19px!important;
    padding:0 4px!important;
    margin:0!important;
    overflow:visible!important;
    border:2px solid #fff!important;
    border-radius:999px!important;
    background:#ffb91b!important;
    color:#0b2447!important;
    font-size:9px!important;
    font-weight:900!important;
    line-height:1!important;
    box-shadow:0 2px 5px rgba(18,44,79,.10)!important;
  }

  /* Cart artwork gets a little more breathing room under the badge. */
  body .site-header .shopping-cart-link .cart-svg-icon,
  body.tf-homepage .site-header .shopping-cart-link .cart-svg-icon{
    display:grid!important;
    place-items:center!important;
    width:24px!important;
    height:24px!important;
    margin-top:3px!important;
  }
  body .site-header .shopping-cart-link .cart-svg-icon svg,
  body.tf-homepage .site-header .shopping-cart-link .cart-svg-icon svg{
    width:21px!important;
    height:21px!important;
    margin:0!important;
    transform:none!important;
  }
}

@media(max-width:389px){
  body .site-header .global-search,
  body.tf-homepage .site-header .global-search{
    grid-template-columns:33px minmax(0,1fr) 38px 72px!important;
  }

  body .site-header .mobile-voice-search,
  body.tf-homepage .site-header .mobile-voice-search{
    width:31px!important;
    min-width:31px!important;
    height:31px!important;
    min-height:31px!important;
    border-radius:9px!important;
  }
  body .site-header .mobile-voice-search svg,
  body.tf-homepage .site-header .mobile-voice-search svg{
    width:17px!important;
    height:17px!important;
  }

  body .site-header .shopping-cart-link b,
  body.tf-homepage .site-header .shopping-cart-link b{
    top:2px!important;
    right:2px!important;
    min-width:18px!important;
    height:18px!important;
    font-size:8px!important;
  }
}


@import url("/assets/css/sprint272h-featured-mobile.css?v=272l");



/* =========================================================
   Sprint 272I — homepage mobile compact/responsive system
   Fixes Featured, Trending, Just Listed, Seasonal + clarity CTA
   Desktop intentionally untouched.
   ========================================================= */
@media (max-width:767px){

  html,body{
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  /* ---------- universal homepage section containment ---------- */
  .market-section,
  .homepage-section,
  .featured-marketplace,
  .trending-products,
  .new-arrivals,
  .seasonal-sourcing,
  .seasonal-calendar,
  .trade-clarity-section{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  /* ---------- product collection headers ---------- */
  .market-section .section-heading,
  .market-section .section-header,
  .homepage-section .section-heading,
  .homepage-section .section-header{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  /* ---------- PRODUCT SECTIONS: kill desktop 6-col geometry ---------- */
  .market-section .product-grid,
  .market-section .products-grid,
  .market-section .product-list,
  .homepage-section .product-grid,
  .homepage-section .products-grid,
  .featured-marketplace .product-grid,
  .trending-products .product-grid,
  .new-arrivals .product-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:12px!important;
    margin:0!important;
    transform:none!important;
    overflow:visible!important;
  }

  /* Product card mobile list design */
  .market-section .product-card,
  .homepage-section .product-card,
  .featured-marketplace .product-card,
  .trending-products .product-card,
  .new-arrivals .product-card{
    position:relative!important;
    display:grid!important;
    grid-template-columns:104px minmax(0,1fr)!important;
    grid-template-rows:auto 1fr auto!important;
    column-gap:12px!important;
    row-gap:6px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:158px!important;
    padding:11px!important;
    margin:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    border-radius:15px!important;
  }

  .market-section .product-card > *,
  .homepage-section .product-card > *,
  .featured-marketplace .product-card > *,
  .trending-products .product-card > *,
  .new-arrivals .product-card > *{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  /* common image wrappers */
  .market-section .product-card .product-image,
  .market-section .product-card .image-wrap,
  .homepage-section .product-card .product-image,
  .homepage-section .product-card .image-wrap,
  .featured-marketplace .product-card .product-image,
  .trending-products .product-card .product-image,
  .new-arrivals .product-card .product-image{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    width:104px!important;
    height:104px!important;
    min-width:104px!important;
    max-width:104px!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:11px!important;
  }

  .market-section .product-card img,
  .homepage-section .product-card img,
  .featured-marketplace .product-card img,
  .trending-products .product-card img,
  .new-arrivals .product-card img{
    display:block!important;
    width:104px!important;
    height:104px!important;
    max-width:104px!important;
    object-fit:contain!important;
    margin:0!important;
  }

  /* content always receives remaining width */
  .market-section .product-card .product-info,
  .market-section .product-card .card-content,
  .homepage-section .product-card .product-info,
  .homepage-section .product-card .card-content,
  .featured-marketplace .product-card .product-info,
  .trending-products .product-card .product-info,
  .new-arrivals .product-card .product-info{
    grid-column:2!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
  }

  .market-section .product-card h3,
  .market-section .product-card .product-title,
  .homepage-section .product-card h3,
  .homepage-section .product-card .product-title,
  .featured-marketplace .product-card h3,
  .trending-products .product-card h3,
  .new-arrivals .product-card h3{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    white-space:normal!important;
    text-overflow:ellipsis!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    max-width:100%!important;
    margin:0 0 7px!important;
    font-size:14px!important;
    line-height:1.28!important;
  }

  .market-section .product-card .price,
  .homepage-section .product-card .price,
  .featured-marketplace .product-card .price,
  .trending-products .product-card .price,
  .new-arrivals .product-card .price{
    display:block!important;
    max-width:100%!important;
    margin:0 0 5px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    font-size:18px!important;
    line-height:1.2!important;
  }

  .market-section .product-card .moq,
  .market-section .product-card .supplier,
  .homepage-section .product-card .moq,
  .homepage-section .product-card .supplier{
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:11px!important;
    line-height:1.35!important;
  }

  /* actions below entire card, not squeezed in right column */
  .market-section .product-card .product-actions,
  .market-section .product-card .card-actions,
  .homepage-section .product-card .product-actions,
  .homepage-section .product-card .card-actions,
  .featured-marketplace .product-card .product-actions,
  .trending-products .product-card .product-actions,
  .new-arrivals .product-card .product-actions{
    grid-column:1 / -1!important;
    grid-row:3!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    width:100%!important;
    max-width:100%!important;
    margin-top:3px!important;
  }

  .market-section .product-card .product-actions > *,
  .market-section .product-card .card-actions > *,
  .homepage-section .product-card .product-actions > *,
  .homepage-section .product-card .card-actions > *{
    width:100%!important;
    min-width:0!important;
    min-height:36px!important;
    padding:8px 7px!important;
    font-size:11px!important;
    line-height:1.15!important;
    white-space:normal!important;
  }

  /* Favourite stays in card corner and cannot consume content column */
  .market-section .product-card .wishlist,
  .market-section .product-card .favorite,
  .homepage-section .product-card .wishlist,
  .homepage-section .product-card .favorite{
    position:absolute!important;
    top:9px!important;
    right:9px!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    margin:0!important;
    z-index:3!important;
  }

  /* ---------- section typography compact ---------- */
  .market-section h2,
  .homepage-section h2,
  .featured-marketplace h2,
  .trending-products h2,
  .new-arrivals h2,
  .seasonal-calendar h2{
    max-width:100%!important;
    margin-bottom:8px!important;
    font-size:28px!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
    overflow-wrap:anywhere!important;
  }

  .market-section .section-description,
  .homepage-section .section-description{
    max-width:100%!important;
    margin-bottom:10px!important;
    font-size:14px!important;
    line-height:1.45!important;
  }

  /* ---------- TRADE WITH MORE CLARITY ---------- */
  .trade-clarity-section,
  .trade-clarity,
  .sourcing-clarity{
    padding:26px 16px!important;
    border-radius:0!important;
  }

  .trade-clarity-section h2,
  .trade-clarity h2,
  .sourcing-clarity h2{
    max-width:100%!important;
    margin:10px 0 12px!important;
    font-size:30px!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
  }

  .trade-clarity-section p,
  .trade-clarity p,
  .sourcing-clarity p{
    max-width:100%!important;
    margin-bottom:18px!important;
    font-size:15px!important;
    line-height:1.5!important;
  }

  .trade-clarity-section .steps,
  .trade-clarity .steps,
  .sourcing-clarity .steps{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    width:100%!important;
  }

  .trade-clarity-section .step,
  .trade-clarity .step,
  .sourcing-clarity .step{
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:11px!important;
    width:100%!important;
    min-height:0!important;
    padding:13px!important;
    border-radius:13px!important;
  }

  .trade-clarity-section .step-number,
  .trade-clarity .step-number,
  .sourcing-clarity .step-number{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    font-size:20px!important;
    border-radius:12px!important;
  }

  /* ---------- SEASONAL CALENDAR ---------- */
  .seasonal-sourcing,
  .seasonal-calendar{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .seasonal-sourcing .section-header,
  .seasonal-calendar .section-header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
    gap:10px!important;
    width:100%!important;
  }

  .seasonal-sourcing .slider-controls,
  .seasonal-calendar .slider-controls{
    display:flex!important;
    gap:7px!important;
    margin:0!important;
  }

  .seasonal-sourcing .slider-controls button,
  .seasonal-calendar .slider-controls button{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    border-radius:11px!important;
  }

  .seasonal-sourcing .featured-season,
  .seasonal-calendar .featured-season,
  .seasonal-sourcing .seasonal-feature,
  .seasonal-calendar .seasonal-feature{
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    padding:22px 18px!important;
    border-radius:18px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  .seasonal-sourcing .featured-season h3,
  .seasonal-calendar .featured-season h3,
  .seasonal-sourcing .seasonal-feature h3,
  .seasonal-calendar .seasonal-feature h3{
    max-width:90%!important;
    margin:8px 0 10px!important;
    font-size:28px!important;
    line-height:1.08!important;
  }

  .seasonal-sourcing .featured-season p,
  .seasonal-calendar .featured-season p,
  .seasonal-sourcing .seasonal-feature p,
  .seasonal-calendar .seasonal-feature p{
    max-width:90%!important;
    margin:0 0 16px!important;
    font-size:14px!important;
    line-height:1.5!important;
  }

  .seasonal-sourcing .seasonal-cards,
  .seasonal-calendar .seasonal-cards,
  .seasonal-sourcing .calendar-track,
  .seasonal-calendar .calendar-track{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  .seasonal-sourcing .season-card,
  .seasonal-calendar .season-card{
    width:100%!important;
    min-width:0!important;
    padding:11px!important;
    border-radius:13px!important;
  }

  /* Floating AI shouldn't cover card CTAs */
  .ai-assistant-fab,
  .ai-fab,
  .floating-ai{
    right:12px!important;
    bottom:14px!important;
    transform:scale(.88)!important;
    transform-origin:bottom right!important;
  }
}

@media (max-width:389px){
  .market-section .product-card,
  .homepage-section .product-card,
  .featured-marketplace .product-card,
  .trending-products .product-card,
  .new-arrivals .product-card{
    grid-template-columns:88px minmax(0,1fr)!important;
    column-gap:10px!important;
    padding:9px!important;
  }

  .market-section .product-card .product-image,
  .market-section .product-card .image-wrap,
  .homepage-section .product-card .product-image,
  .homepage-section .product-card .image-wrap,
  .market-section .product-card img,
  .homepage-section .product-card img{
    width:88px!important;
    min-width:88px!important;
    max-width:88px!important;
    height:88px!important;
  }

  .market-section h2,
  .homepage-section h2,
  .featured-marketplace h2,
  .trending-products h2,
  .new-arrivals h2,
  .seasonal-calendar h2{
    font-size:25px!important;
  }

  .trade-clarity-section h2,
  .trade-clarity h2,
  .sourcing-clarity h2{
    font-size:27px!important;
  }

  .seasonal-sourcing .featured-season h3,
  .seasonal-calendar .featured-season h3,
  .seasonal-sourcing .seasonal-feature h3,
  .seasonal-calendar .seasonal-feature h3{
    font-size:25px!important;
  }
}


/* Sprint 272J — Seasonal Sourcing Calendar: compact mobile-first repair */
@media(max-width:767px){

  body.tf-homepage .festival-marketplace{
    width:100%!important;
    max-width:100%!important;
    padding:18px 0 20px!important;
    overflow:hidden!important;
    background:linear-gradient(180deg,#f7f9fd,#f1f5fb)!important;
  }

  body.tf-homepage .festival-marketplace .shell{
    width:100%!important;
    max-width:100%!important;
    padding-left:12px!important;
    padding-right:12px!important;
    box-sizing:border-box!important;
  }

  /* Heading + controls in one compact row */
  body.tf-homepage .festival-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
    gap:10px!important;
    width:100%!important;
    margin:0 0 12px!important;
  }

  body.tf-homepage .festival-heading > div:first-child{
    min-width:0!important;
  }

  body.tf-homepage .festival-heading .eyebrow{
    display:block!important;
    margin:0 0 5px!important;
    font-size:8px!important;
    line-height:1!important;
    letter-spacing:.13em!important;
  }

  body.tf-homepage .festival-heading h2{
    max-width:300px!important;
    margin:0!important;
    font-size:24px!important;
    line-height:1.06!important;
    letter-spacing:-.035em!important;
  }

  /* Description is unnecessary in the tight mobile header */
  body.tf-homepage .festival-heading p{
    display:none!important;
  }

  body.tf-homepage .festival-controls{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    margin:0!important;
    padding:0 0 1px!important;
  }

  body.tf-homepage .festival-controls button{
    display:grid!important;
    place-items:center!important;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0!important;
    margin:0!important;
    border-radius:10px!important;
    font-size:17px!important;
    line-height:1!important;
    box-shadow:0 4px 12px rgba(8,36,78,.06)!important;
  }

  /* Hero card becomes a genuinely compact mobile campaign card */
  body.tf-homepage .festival-stage{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    height:260px!important;
    min-height:260px!important;
    margin:0!important;
    overflow:hidden!important;
  }

  body.tf-homepage .festival-slide{
    inset:0!important;
    width:100%!important;
    max-width:100%!important;
    height:260px!important;
    min-height:260px!important;
    border-radius:18px!important;
    background-position:72% center!important;
    box-shadow:0 12px 30px rgba(7,35,83,.14)!important;
    overflow:hidden!important;
  }

  body.tf-homepage .festival-slide::before{
    background:linear-gradient(
      90deg,
      rgba(4,24,64,.98) 0%,
      rgba(4,24,64,.92) 58%,
      rgba(4,24,64,.60) 100%
    )!important;
  }

  body.tf-homepage .festival-slide::after{
    content:none!important;
    display:none!important;
  }

  body.tf-homepage .festival-copy{
    position:relative!important;
    z-index:2!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    width:100%!important;
    max-width:72%!important;
    min-height:260px!important;
    height:260px!important;
    margin:0!important;
    padding:20px 0 20px 18px!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage .festival-copy > span{
    margin:0 0 7px!important;
    font-size:8px!important;
    line-height:1!important;
    letter-spacing:.16em!important;
  }

  body.tf-homepage .festival-copy h3{
    max-width:100%!important;
    margin:0 0 9px!important;
    font-size:27px!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
  }

  body.tf-homepage .festival-copy p{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
    max-width:100%!important;
    margin:0!important;
    color:#e8eef9!important;
    font-size:12px!important;
    line-height:1.42!important;
  }

  body.tf-homepage .festival-copy a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    width:max-content!important;
    max-width:100%!important;
    min-height:38px!important;
    margin:14px 0 0!important;
    padding:9px 13px!important;
    border-radius:10px!important;
    font-size:11px!important;
    line-height:1!important;
  }

  /* Secondary festival tabs are visible immediately below hero, compact and horizontal */
  body.tf-homepage .festival-tabs{
    display:flex!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    margin:9px 0 0!important;
    padding:0 0 3px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body.tf-homepage .festival-tabs::-webkit-scrollbar{
    display:none!important;
  }

  body.tf-homepage .festival-tabs button{
    flex:0 0 155px!important;
    min-width:155px!important;
    min-height:58px!important;
    height:auto!important;
    padding:9px 11px!important;
    border-radius:11px!important;
    scroll-snap-align:start!important;
    transform:none!important;
  }

  body.tf-homepage .festival-tabs button small{
    font-size:7px!important;
    line-height:1.15!important;
  }

  body.tf-homepage .festival-tabs button strong{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    margin-top:3px!important;
    font-size:10px!important;
    line-height:1.2!important;
  }

  body.tf-homepage .festival-tabs button.is-active{
    transform:none!important;
    box-shadow:0 5px 14px rgba(23,100,216,.10)!important;
  }

  /* Keep floating AI from sitting over campaign CTA */
  body.tf-homepage .festival-marketplace .ai-chat-launcher,
  body.tf-homepage .festival-marketplace .ai-assistant-fab,
  body.tf-homepage .festival-marketplace .ai-fab{
    transform:scale(.78)!important;
    transform-origin:bottom right!important;
  }
}

@media(max-width:389px){

  body.tf-homepage .festival-marketplace{
    padding:15px 0 17px!important;
  }

  body.tf-homepage .festival-marketplace .shell{
    padding-left:9px!important;
    padding-right:9px!important;
  }

  body.tf-homepage .festival-heading{
    gap:7px!important;
    margin-bottom:10px!important;
  }

  body.tf-homepage .festival-heading h2{
    max-width:250px!important;
    font-size:21px!important;
  }

  body.tf-homepage .festival-controls button{
    width:33px!important;
    min-width:33px!important;
    height:33px!important;
    min-height:33px!important;
    font-size:15px!important;
  }

  body.tf-homepage .festival-stage,
  body.tf-homepage .festival-slide{
    height:236px!important;
    min-height:236px!important;
  }

  body.tf-homepage .festival-copy{
    max-width:75%!important;
    height:236px!important;
    min-height:236px!important;
    padding:17px 0 17px 15px!important;
  }

  body.tf-homepage .festival-copy h3{
    font-size:24px!important;
  }

  body.tf-homepage .festival-copy p{
    font-size:11px!important;
    -webkit-line-clamp:3!important;
  }

  body.tf-homepage .festival-copy a{
    min-height:35px!important;
    margin-top:11px!important;
    padding:8px 11px!important;
    font-size:10px!important;
  }

  body.tf-homepage .festival-tabs button{
    flex-basis:142px!important;
    min-width:142px!important;
    min-height:54px!important;
  }
}


/* Sprint 272K — Featured marketplace opportunities: compact mobile repair */
@media(max-width:767px){

  /* target the curated/featured product section without changing desktop */
  body.tf-homepage .featured-marketplace,
  body.tf-homepage .featured-marketplace-section,
  body.tf-homepage .featured-opportunities,
  body.tf-homepage .featured-opportunities-section,
  body.tf-homepage .home-featured-products,
  body.tf-homepage [data-section="featured-marketplace"]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:20px 12px 22px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  /* compact heading block */
  body.tf-homepage .featured-marketplace .section-head,
  body.tf-homepage .featured-marketplace-section .section-head,
  body.tf-homepage .featured-opportunities .section-head,
  body.tf-homepage .featured-opportunities-section .section-head,
  body.tf-homepage .home-featured-products .section-head,
  body.tf-homepage [data-section="featured-marketplace"] .section-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
    gap:10px!important;
    width:100%!important;
    margin:0 0 14px!important;
  }

  body.tf-homepage .featured-marketplace h2,
  body.tf-homepage .featured-marketplace-section h2,
  body.tf-homepage .featured-opportunities h2,
  body.tf-homepage .featured-opportunities-section h2,
  body.tf-homepage .home-featured-products h2,
  body.tf-homepage [data-section="featured-marketplace"] h2{
    max-width:100%!important;
    margin:5px 0 6px!important;
    font-size:25px!important;
    line-height:1.05!important;
    letter-spacing:-.035em!important;
  }

  body.tf-homepage .featured-marketplace .section-description,
  body.tf-homepage .featured-marketplace-section .section-description,
  body.tf-homepage .featured-opportunities .section-description,
  body.tf-homepage .featured-opportunities-section .section-description,
  body.tf-homepage .home-featured-products .section-description,
  body.tf-homepage [data-section="featured-marketplace"] .section-description{
    max-width:100%!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1.45!important;
  }

  /* 2-column compact mobile grid */
  body.tf-homepage .featured-marketplace .product-grid,
  body.tf-homepage .featured-marketplace .products-grid,
  body.tf-homepage .featured-marketplace-section .product-grid,
  body.tf-homepage .featured-marketplace-section .products-grid,
  body.tf-homepage .featured-opportunities .product-grid,
  body.tf-homepage .featured-opportunities .products-grid,
  body.tf-homepage .featured-opportunities-section .product-grid,
  body.tf-homepage .featured-opportunities-section .products-grid,
  body.tf-homepage .home-featured-products .product-grid,
  body.tf-homepage .home-featured-products .products-grid,
  body.tf-homepage [data-section="featured-marketplace"] .product-grid,
  body.tf-homepage [data-section="featured-marketplace"] .products-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    margin:0!important;
    padding:0!important;
  }

  /* card becomes vertical, not squeezed desktop split */
  body.tf-homepage .featured-marketplace .product-card,
  body.tf-homepage .featured-marketplace-section .product-card,
  body.tf-homepage .featured-opportunities .product-card,
  body.tf-homepage .featured-opportunities-section .product-card,
  body.tf-homepage .home-featured-products .product-card,
  body.tf-homepage [data-section="featured-marketplace"] .product-card{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:9px!important;
    gap:7px!important;
    overflow:hidden!important;
    border-radius:14px!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage .featured-marketplace .product-card > *,
  body.tf-homepage .featured-marketplace-section .product-card > *,
  body.tf-homepage .featured-opportunities .product-card > *,
  body.tf-homepage .featured-opportunities-section .product-card > *,
  body.tf-homepage .home-featured-products .product-card > *,
  body.tf-homepage [data-section="featured-marketplace"] .product-card > *{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  /* image top */
  body.tf-homepage .featured-marketplace .product-card .product-image,
  body.tf-homepage .featured-marketplace .product-card .image-wrap,
  body.tf-homepage .featured-marketplace-section .product-card .product-image,
  body.tf-homepage .featured-marketplace-section .product-card .image-wrap,
  body.tf-homepage .featured-opportunities .product-card .product-image,
  body.tf-homepage .featured-opportunities-section .product-card .product-image,
  body.tf-homepage .home-featured-products .product-card .product-image,
  body.tf-homepage [data-section="featured-marketplace"] .product-card .product-image{
    width:100%!important;
    height:112px!important;
    max-width:100%!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:10px!important;
    background:#f4f7fb!important;
  }

  body.tf-homepage .featured-marketplace .product-card img,
  body.tf-homepage .featured-marketplace-section .product-card img,
  body.tf-homepage .featured-opportunities .product-card img,
  body.tf-homepage .featured-opportunities-section .product-card img,
  body.tf-homepage .home-featured-products .product-card img,
  body.tf-homepage [data-section="featured-marketplace"] .product-card img{
    display:block!important;
    width:100%!important;
    height:112px!important;
    max-width:100%!important;
    object-fit:contain!important;
    margin:0!important;
  }

  /* text */
  body.tf-homepage .featured-marketplace .product-card h3,
  body.tf-homepage .featured-marketplace .product-card .product-title,
  body.tf-homepage .featured-marketplace-section .product-card h3,
  body.tf-homepage .featured-opportunities .product-card h3,
  body.tf-homepage .featured-opportunities-section .product-card h3,
  body.tf-homepage .home-featured-products .product-card h3,
  body.tf-homepage [data-section="featured-marketplace"] .product-card h3{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    min-height:32px!important;
    margin:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    font-size:12px!important;
    line-height:1.3!important;
  }

  body.tf-homepage .featured-marketplace .product-card .price,
  body.tf-homepage .featured-marketplace-section .product-card .price,
  body.tf-homepage .featured-opportunities .product-card .price,
  body.tf-homepage .featured-opportunities-section .product-card .price,
  body.tf-homepage .home-featured-products .product-card .price,
  body.tf-homepage [data-section="featured-marketplace"] .product-card .price{
    max-width:100%!important;
    margin:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    font-size:16px!important;
    line-height:1.15!important;
  }

  body.tf-homepage .featured-marketplace .product-card .moq,
  body.tf-homepage .featured-marketplace .product-card .supplier,
  body.tf-homepage .featured-marketplace-section .product-card .moq,
  body.tf-homepage .featured-marketplace-section .product-card .supplier,
  body.tf-homepage .featured-opportunities .product-card .moq,
  body.tf-homepage .featured-opportunities .product-card .supplier,
  body.tf-homepage .featured-opportunities-section .product-card .moq,
  body.tf-homepage .featured-opportunities-section .product-card .supplier,
  body.tf-homepage .home-featured-products .product-card .moq,
  body.tf-homepage .home-featured-products .product-card .supplier{
    max-width:100%!important;
    margin:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:9px!important;
    line-height:1.3!important;
  }

  /* favourite small and stable */
  body.tf-homepage .featured-marketplace .product-card .wishlist,
  body.tf-homepage .featured-marketplace .product-card .favorite,
  body.tf-homepage .featured-marketplace-section .product-card .wishlist,
  body.tf-homepage .featured-opportunities .product-card .wishlist,
  body.tf-homepage .home-featured-products .product-card .wishlist,
  body.tf-homepage [data-section="featured-marketplace"] .product-card .wishlist{
    position:absolute!important;
    top:7px!important;
    right:7px!important;
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    margin:0!important;
    z-index:3!important;
  }

  /* actions compact full-width bottom row */
  body.tf-homepage .featured-marketplace .product-card .product-actions,
  body.tf-homepage .featured-marketplace .product-card .card-actions,
  body.tf-homepage .featured-marketplace-section .product-card .product-actions,
  body.tf-homepage .featured-opportunities .product-card .product-actions,
  body.tf-homepage .featured-opportunities-section .product-card .product-actions,
  body.tf-homepage .home-featured-products .product-card .product-actions,
  body.tf-homepage [data-section="featured-marketplace"] .product-card .product-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:5px!important;
    width:100%!important;
    margin-top:auto!important;
  }

  body.tf-homepage .featured-marketplace .product-card .product-actions > *,
  body.tf-homepage .featured-marketplace-section .product-card .product-actions > *,
  body.tf-homepage .featured-opportunities .product-card .product-actions > *,
  body.tf-homepage .featured-opportunities-section .product-card .product-actions > *,
  body.tf-homepage .home-featured-products .product-card .product-actions > *,
  body.tf-homepage [data-section="featured-marketplace"] .product-card .product-actions > *{
    width:100%!important;
    min-width:0!important;
    min-height:32px!important;
    padding:7px 5px!important;
    border-radius:8px!important;
    font-size:9px!important;
    line-height:1.15!important;
  }

  /* CTA link compact */
  body.tf-homepage .featured-marketplace .view-all,
  body.tf-homepage .featured-marketplace-section .view-all,
  body.tf-homepage .featured-opportunities .view-all,
  body.tf-homepage .featured-opportunities-section .view-all,
  body.tf-homepage .home-featured-products .view-all{
    min-height:34px!important;
    padding:7px 9px!important;
    font-size:10px!important;
    border-radius:9px!important;
  }
}

@media(max-width:389px){
  body.tf-homepage .featured-marketplace,
  body.tf-homepage .featured-marketplace-section,
  body.tf-homepage .featured-opportunities,
  body.tf-homepage .featured-opportunities-section,
  body.tf-homepage .home-featured-products,
  body.tf-homepage [data-section="featured-marketplace"]{
    padding-left:9px!important;
    padding-right:9px!important;
  }

  body.tf-homepage .featured-marketplace h2,
  body.tf-homepage .featured-marketplace-section h2,
  body.tf-homepage .featured-opportunities h2,
  body.tf-homepage .featured-opportunities-section h2,
  body.tf-homepage .home-featured-products h2{
    font-size:23px!important;
  }

  body.tf-homepage .featured-marketplace .product-grid,
  body.tf-homepage .featured-marketplace .products-grid,
  body.tf-homepage .featured-marketplace-section .product-grid,
  body.tf-homepage .featured-marketplace-section .products-grid,
  body.tf-homepage .featured-opportunities .product-grid,
  body.tf-homepage .featured-opportunities .products-grid,
  body.tf-homepage .featured-opportunities-section .product-grid,
  body.tf-homepage .featured-opportunities-section .products-grid,
  body.tf-homepage .home-featured-products .product-grid,
  body.tf-homepage .home-featured-products .products-grid{
    gap:7px!important;
  }

  body.tf-homepage .featured-marketplace .product-card,
  body.tf-homepage .featured-marketplace-section .product-card,
  body.tf-homepage .featured-opportunities .product-card,
  body.tf-homepage .featured-opportunities-section .product-card,
  body.tf-homepage .home-featured-products .product-card{
    padding:8px!important;
  }

  body.tf-homepage .featured-marketplace .product-card .product-image,
  body.tf-homepage .featured-marketplace-section .product-card .product-image,
  body.tf-homepage .featured-opportunities .product-card .product-image,
  body.tf-homepage .featured-opportunities-section .product-card .product-image,
  body.tf-homepage .home-featured-products .product-card .product-image,
  body.tf-homepage .featured-marketplace .product-card img,
  body.tf-homepage .featured-marketplace-section .product-card img,
  body.tf-homepage .featured-opportunities .product-card img,
  body.tf-homepage .featured-opportunities-section .product-card img,
  body.tf-homepage .home-featured-products .product-card img{
    height:96px!important;
  }

  body.tf-homepage .featured-marketplace .product-card h3,
  body.tf-homepage .featured-marketplace-section .product-card h3,
  body.tf-homepage .featured-opportunities .product-card h3,
  body.tf-homepage .featured-opportunities-section .product-card h3,
  body.tf-homepage .home-featured-products .product-card h3{
    font-size:11px!important;
    min-height:29px!important;
  }
}




/* ==========================================================
   Sprint 272M — ROOT FIX for Featured + Trending mobile grids
   Real conflict:
   home-enterprise.css sets .tf-homepage .product-grid
   display:flex!important and children flex-basis!important.
   These exact section selectors reset BOTH properties.
   ========================================================== */

/* Tablet / compact desktop bridge */
@media(max-width:991px){
  body.tf-homepage .marketplace-products .featured-twelve-grid,
  body.tf-homepage .section-soft .trending-twelve-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }

  body.tf-homepage .marketplace-products .featured-twelve-grid > *,
  body.tf-homepage .section-soft .trending-twelve-grid > *{
    flex:none!important;
    flex-basis:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    scroll-snap-align:none!important;
  }
}

/* Phones */
@media(max-width:767px){
  body.tf-homepage .marketplace-products,
  body.tf-homepage .section-soft{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  body.tf-homepage .marketplace-products > .shell,
  body.tf-homepage .section-soft > .shell{
    width:calc(100% - 20px)!important;
    max-width:none!important;
    margin-inline:auto!important;
    padding:0!important;
  }

  /* Section heads */
  body.tf-homepage .marketplace-products .curated-products-head,
  body.tf-homepage .section-soft .trending-products-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
    gap:8px!important;
    width:100%!important;
    margin:0 0 12px!important;
  }

  body.tf-homepage .marketplace-products .curated-products-head h2,
  body.tf-homepage .section-soft .trending-products-head h2{
    margin:4px 0 5px!important;
    max-width:100%!important;
    font-size:21px!important;
    line-height:1.08!important;
    letter-spacing:-.03em!important;
  }

  body.tf-homepage .marketplace-products .curated-products-head .section-copy,
  body.tf-homepage .section-soft .trending-products-head .section-copy{
    max-width:250px!important;
    margin:0!important;
    font-size:9px!important;
    line-height:1.4!important;
  }

  body.tf-homepage .marketplace-products .curated-products-head > a,
  body.tf-homepage .section-soft .trending-products-head > a{
    align-self:end!important;
    margin-bottom:2px!important;
    font-size:9px!important;
    white-space:nowrap!important;
  }

  /* Authoritative 2-column product layout */
  body.tf-homepage .marketplace-products .featured-twelve-grid,
  body.tf-homepage .section-soft .trending-twelve-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }

  body.tf-homepage .marketplace-products .featured-twelve-grid > *,
  body.tf-homepage .section-soft .trending-twelve-grid > *{
    flex:none!important;
    flex-grow:0!important;
    flex-shrink:1!important;
    flex-basis:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    scroll-snap-align:none!important;
  }

  /* Reset cards to vertical marketplace cards */
  body.tf-homepage .marketplace-products .featured-twelve-grid .product-card,
  body.tf-homepage .section-soft .trending-twelve-grid .product-card{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:13px!important;
    box-sizing:border-box!important;
  }

  /* Media top */
  body.tf-homepage .marketplace-products .featured-twelve-grid .product-image,
  body.tf-homepage .section-soft .trending-twelve-grid .product-image{
    position:relative!important;
    display:block!important;
    flex:none!important;
    width:100%!important;
    height:118px!important;
    min-height:118px!important;
    max-height:118px!important;
    margin:0!important;
    padding:7px!important;
    overflow:hidden!important;
    background:#eef4fc!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage .marketplace-products .featured-twelve-grid .product-image img,
  body.tf-homepage .section-soft .trending-twelve-grid .product-image img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    margin:0!important;
    object-fit:contain!important;
  }

  body.tf-homepage .marketplace-products .featured-twelve-grid .wishlist,
  body.tf-homepage .section-soft .trending-twelve-grid .wishlist{
    top:7px!important;
    right:7px!important;
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    min-height:29px!important;
    font-size:16px!important;
  }

  /* Content below image */
  body.tf-homepage .marketplace-products .featured-twelve-grid .product-body,
  body.tf-homepage .section-soft .trending-twelve-grid .product-body{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:9px!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage .marketplace-products .featured-twelve-grid .product-body h3,
  body.tf-homepage .section-soft .trending-twelve-grid .product-body h3{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    width:100%!important;
    height:auto!important;
    min-height:29px!important;
    max-height:31px!important;
    margin:0 0 6px!important;
    overflow:hidden!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    font-size:10px!important;
    line-height:1.35!important;
  }

  body.tf-homepage .marketplace-products .featured-twelve-grid .price,
  body.tf-homepage .section-soft .trending-twelve-grid .price{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:baseline!important;
    gap:2px!important;
    width:100%!important;
    min-width:0!important;
    margin:0 0 5px!important;
    overflow:hidden!important;
    white-space:normal!important;
    font-size:14px!important;
    line-height:1.18!important;
  }

  body.tf-homepage .marketplace-products .featured-twelve-grid .price small,
  body.tf-homepage .section-soft .trending-twelve-grid .price small{
    font-size:8px!important;
  }

  body.tf-homepage .marketplace-products .featured-twelve-grid .product-body > p,
  body.tf-homepage .section-soft .trending-twelve-grid .product-body > p{
    width:100%!important;
    margin:0 0 6px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
    font-size:8px!important;
    line-height:1.3!important;
  }

  body.tf-homepage .marketplace-products .featured-twelve-grid .supplier-line,
  body.tf-homepage .section-soft .trending-twelve-grid .supplier-line{
    width:100%!important;
    min-width:0!important;
    margin-top:auto!important;
    padding-top:6px!important;
    overflow:hidden!important;
    font-size:8px!important;
  }

  body.tf-homepage .marketplace-products .featured-twelve-grid .supplier-line span,
  body.tf-homepage .section-soft .trending-twelve-grid .supplier-line span{
    min-width:0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
  }

  /* Two usable compact actions — override app.css mobile "hide quote" rule */
  body.tf-homepage .marketplace-products .featured-twelve-grid .card-actions,
  body.tf-homepage .section-soft .trending-twelve-grid .card-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:5px!important;
    width:100%!important;
    margin-top:7px!important;
  }

  body.tf-homepage .marketplace-products .featured-twelve-grid .card-actions a,
  body.tf-homepage .marketplace-products .featured-twelve-grid .card-actions button,
  body.tf-homepage .section-soft .trending-twelve-grid .card-actions a,
  body.tf-homepage .section-soft .trending-twelve-grid .card-actions button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:32px!important;
    height:32px!important;
    margin:0!important;
    padding:5px 3px!important;
    border-radius:8px!important;
    font-size:8px!important;
    line-height:1.05!important;
    text-align:center!important;
    white-space:normal!important;
  }
}

/* Very narrow phones still retain two compact columns, like a marketplace app. */
@media(max-width:390px){
  body.tf-homepage .marketplace-products > .shell,
  body.tf-homepage .section-soft > .shell{
    width:calc(100% - 16px)!important;
  }

  body.tf-homepage .marketplace-products .featured-twelve-grid,
  body.tf-homepage .section-soft .trending-twelve-grid{
    gap:7px!important;
  }

  body.tf-homepage .marketplace-products .featured-twelve-grid .product-image,
  body.tf-homepage .section-soft .trending-twelve-grid .product-image{
    height:104px!important;
    min-height:104px!important;
    max-height:104px!important;
  }

  body.tf-homepage .marketplace-products .featured-twelve-grid .product-body,
  body.tf-homepage .section-soft .trending-twelve-grid .product-body{
    padding:8px!important;
  }

  body.tf-homepage .marketplace-products .featured-twelve-grid .product-body h3,
  body.tf-homepage .section-soft .trending-twelve-grid .product-body h3{
    min-height:27px!important;
    font-size:9px!important;
  }

  body.tf-homepage .marketplace-products .featured-twelve-grid .price,
  body.tf-homepage .section-soft .trending-twelve-grid .price{
    font-size:13px!important;
  }
}




/* ==========================================================
   Sprint 272N — Explore Industries / Categories root fix
   Real DOM:
   .category-showcase .premium-category-grid
   .premium-category-card
   Root conflict:
   home-enterprise.css forces display:flex!important +
   fixed 43vw flex basis on mobile; <=760 rules miss ~790px viewport.
   ========================================================== */

/* Tablet / compact viewport */
@media(max-width:991px){
  body.tf-homepage .category-showcase{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:24px 0!important;
    overflow:hidden!important;
  }

  body.tf-homepage .category-showcase > .shell{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    margin-inline:auto!important;
    padding:0!important;
  }

  body.tf-homepage .category-showcase .premium-category-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }

  body.tf-homepage .category-showcase .premium-category-grid > *{
    flex:none!important;
    flex-grow:0!important;
    flex-shrink:1!important;
    flex-basis:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    scroll-snap-align:none!important;
  }

  body.tf-homepage .category-showcase .premium-category-card,
  body.tf-homepage .category-showcase .premium-category-card.category-wide{
    grid-column:auto!important;
    display:block!important;
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:150px!important;
    height:150px!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:16px!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage .category-showcase .premium-category-media{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }

  body.tf-homepage .category-showcase .premium-category-media img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  body.tf-homepage .category-showcase .premium-category-content{
    position:absolute!important;
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    z-index:2!important;
    width:auto!important;
    padding:0!important;
  }

  body.tf-homepage .category-showcase .premium-category-content > span{
    font-size:8px!important;
    line-height:1!important;
    letter-spacing:.13em!important;
  }

  body.tf-homepage .category-showcase .premium-category-content h3,
  body.tf-homepage .category-showcase .category-wide .premium-category-content h3{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    margin:4px 0!important;
    font-size:14px!important;
    line-height:1.15!important;
  }

  body.tf-homepage .category-showcase .premium-category-content p{
    margin:0!important;
    font-size:9px!important;
    line-height:1.25!important;
  }

  /* Head aligns correctly instead of leaving huge blank area */
  body.tf-homepage .category-showcase .section-head.premium-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
    gap:10px!important;
    margin:0 0 14px!important;
  }

  body.tf-homepage .category-showcase .section-head.premium-head h2{
    margin:5px 0 5px!important;
    max-width:100%!important;
    font-size:27px!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
  }

  body.tf-homepage .category-showcase .section-copy{
    max-width:560px!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1.45!important;
  }

  body.tf-homepage .category-showcase .section-head.premium-head > a{
    align-self:end!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    white-space:nowrap!important;
    font-size:10px!important;
  }

  body.tf-homepage .category-showcase .section-head.premium-head > a span{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
  }

  body.tf-homepage .category-showcase .subcategory-strip{
    display:none!important;
  }
}

/* Phones: compact 2-column app-style categories */
@media(max-width:767px){
  body.tf-homepage .category-showcase{
    padding:18px 0 20px!important;
  }

  body.tf-homepage .category-showcase > .shell{
    width:calc(100% - 20px)!important;
  }

  body.tf-homepage .category-showcase .section-head.premium-head{
    display:block!important;
    margin-bottom:12px!important;
  }

  body.tf-homepage .category-showcase .section-head.premium-head h2{
    max-width:320px!important;
    font-size:23px!important;
    line-height:1.07!important;
  }

  body.tf-homepage .category-showcase .section-copy{
    max-width:320px!important;
    margin-bottom:8px!important;
    font-size:11px!important;
  }

  body.tf-homepage .category-showcase .section-head.premium-head > a{
    margin-top:7px!important;
    font-size:9px!important;
  }

  body.tf-homepage .category-showcase .premium-category-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    overflow:visible!important;
  }

  body.tf-homepage .category-showcase .premium-category-grid > *{
    flex:none!important;
    flex-basis:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
  }

  body.tf-homepage .category-showcase .premium-category-card,
  body.tf-homepage .category-showcase .premium-category-card.category-wide{
    grid-column:auto!important;
    min-width:0!important;
    min-height:126px!important;
    height:126px!important;
    border-radius:14px!important;
  }

  body.tf-homepage .category-showcase .premium-category-content{
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
  }

  body.tf-homepage .category-showcase .premium-category-content h3,
  body.tf-homepage .category-showcase .category-wide .premium-category-content h3{
    font-size:12px!important;
    line-height:1.12!important;
  }

  body.tf-homepage .category-showcase .premium-category-content p{
    font-size:8px!important;
  }
}

/* Very narrow phones */
@media(max-width:390px){
  body.tf-homepage .category-showcase > .shell{
    width:calc(100% - 16px)!important;
  }

  body.tf-homepage .category-showcase .premium-category-grid{
    gap:7px!important;
  }

  body.tf-homepage .category-showcase .premium-category-card,
  body.tf-homepage .category-showcase .premium-category-card.category-wide{
    height:116px!important;
    min-height:116px!important;
  }

  body.tf-homepage .category-showcase .premium-category-content h3,
  body.tf-homepage .category-showcase .category-wide .premium-category-content h3{
    font-size:11px!important;
  }
}




/* ============================================================
   Sprint 273 — TradesFolks Mobile Homepage V2
   Compact marketplace UX inspired by leading B2B mobile flows.
   Mobile only. Desktop > 767px remains unchanged.
   ============================================================ */

@media(max-width:767px){

  /* ---------- GLOBAL MOBILE TOKENS ---------- */
  body.tf-homepage{
    --m-gutter:12px;
    --m-gap:10px;
    --m-radius:14px;
    --m-border:#e2e8f1;
    --m-ink:#0b2146;
    --m-muted:#6d7d94;
    --m-soft:#f5f7fb;
    --m-gold:#ffbd24;
    --m-gold-2:#ffd35d;
    background:#f4f6f9!important;
    overflow-x:hidden!important;
  }

  body.tf-homepage main,
  body.tf-homepage section{
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  body.tf-homepage .shell,
  body.tf-homepage .section-shell,
  body.tf-homepage .market-shell{
    width:calc(100% - (var(--m-gutter) * 2))!important;
    max-width:none!important;
    margin-inline:auto!important;
    padding-inline:0!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage section,
  body.tf-homepage .section{
    padding-top:18px!important;
    padding-bottom:18px!important;
  }

  /* ---------- HEADER / SEARCH ---------- */
  body.tf-homepage .site-header.premium-header .header-main.shell{
    width:100%!important;
    padding:8px 11px 10px!important;
    grid-template-columns:minmax(108px,1fr) 38px 38px 43px!important;
    grid-template-rows:38px 45px!important;
    column-gap:6px!important;
    row-gap:8px!important;
  }

  body.tf-homepage .site-header .brand{
    height:36px!important;
    max-width:110px!important;
  }
  body.tf-homepage .site-header .brand img{
    height:34px!important;
    max-width:106px!important;
  }

  body.tf-homepage .site-header .mobile-account-button,
  body.tf-homepage .site-header .mobile-menu-toggle{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    border-radius:11px!important;
  }

  body.tf-homepage .site-header .header-actions{
    width:43px!important;
    min-width:43px!important;
    height:38px!important;
  }
  body.tf-homepage .site-header .header-actions .shopping-cart-link{
    width:43px!important;
    min-width:43px!important;
    height:38px!important;
    min-height:38px!important;
  }

  body.tf-homepage .site-header .global-search{
    grid-template-columns:34px minmax(0,1fr) 34px 72px!important;
    height:45px!important;
    min-height:45px!important;
    border-radius:12px!important;
  }
  body.tf-homepage .site-header .global-search input{
    height:43px!important;
    font-size:12px!important;
    line-height:43px!important;
  }
  body.tf-homepage .site-header .global-search > button[type="submit"]{
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    height:45px!important;
    min-height:45px!important;
    font-size:11.5px!important;
    border-radius:11px!important;
    background:linear-gradient(135deg,var(--m-gold),var(--m-gold-2))!important;
  }

  /* ---------- HERO: shallow, marketplace-first ---------- */
  body.tf-homepage .market-hero{
    min-height:0!important;
    height:190px!important;
    max-height:190px!important;
    margin:8px var(--m-gutter) 0!important;
    width:calc(100% - (var(--m-gutter) * 2))!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }

  body.tf-homepage .market-hero .market-hero-copy,
  body.tf-homepage .market-hero-copy{
    width:100%!important;
    max-width:100%!important;
    min-height:190px!important;
    height:190px!important;
    padding:18px 16px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage .market-hero h1{
    max-width:82%!important;
    margin:0 0 7px!important;
    font-size:24px!important;
    line-height:1.02!important;
    letter-spacing:-.04em!important;
  }

  body.tf-homepage .market-hero p{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    max-width:78%!important;
    margin:0 0 10px!important;
    font-size:11px!important;
    line-height:1.42!important;
  }

  body.tf-homepage .market-hero .market-search,
  body.tf-homepage .market-hero .hero-search{
    display:none!important;
  }

  body.tf-homepage .market-hero .hero-actions,
  body.tf-homepage .market-hero .market-hero-actions{
    display:flex!important;
    gap:7px!important;
    flex-wrap:wrap!important;
  }

  body.tf-homepage .market-hero .hero-actions a,
  body.tf-homepage .market-hero .hero-actions button,
  body.tf-homepage .market-hero .market-hero-actions a,
  body.tf-homepage .market-hero .market-hero-actions button{
    min-height:34px!important;
    padding:8px 11px!important;
    border-radius:9px!important;
    font-size:10px!important;
  }

  /* ---------- MOBILE QUICK SOURCING ---------- */
  body.tf-homepage .tf-mobile-launchpad{
    display:none!important;
  }

  body.tf-homepage .mobile-quick-sourcing,
  body.tf-homepage .quick-sourcing-strip,
  body.tf-homepage .quick-actions-mobile{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:6px!important;
    width:calc(100% - (var(--m-gutter) * 2))!important;
    margin:10px auto 0!important;
  }

  body.tf-homepage .mobile-quick-sourcing > *,
  body.tf-homepage .quick-sourcing-strip > *,
  body.tf-homepage .quick-actions-mobile > *{
    min-width:0!important;
    text-align:center!important;
    font-size:8px!important;
  }

  /* ---------- UNIVERSAL SECTION HEADS ---------- */
  body.tf-homepage .section-head.premium-head,
  body.tf-homepage .curated-products-head,
  body.tf-homepage .trending-products-head,
  body.tf-homepage .festival-heading{
    margin-bottom:11px!important;
  }

  body.tf-homepage .section-head h2,
  body.tf-homepage .curated-products-head h2,
  body.tf-homepage .trending-products-head h2,
  body.tf-homepage .festival-heading h2{
    margin:4px 0 4px!important;
    font-size:22px!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
  }

  body.tf-homepage .section-copy,
  body.tf-homepage .section-description,
  body.tf-homepage .curated-products-head .section-copy,
  body.tf-homepage .trending-products-head .section-copy{
    max-width:290px!important;
    margin:0!important;
    font-size:10px!important;
    line-height:1.42!important;
  }

  body.tf-homepage .eyebrow,
  body.tf-homepage .section-kicker{
    font-size:8px!important;
    line-height:1!important;
    letter-spacing:.13em!important;
  }

  /* ---------- CATEGORIES: app-like compact 2-col ---------- */
  body.tf-homepage .category-showcase{
    padding:16px 0 18px!important;
  }

  body.tf-homepage .category-showcase .section-head.premium-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    align-items:end!important;
  }

  body.tf-homepage .category-showcase .premium-category-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }

  body.tf-homepage .category-showcase .premium-category-grid > *{
    flex:none!important;
    flex-basis:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
  }

  body.tf-homepage .category-showcase .premium-category-card,
  body.tf-homepage .category-showcase .premium-category-card.category-wide{
    grid-column:auto!important;
    height:112px!important;
    min-height:112px!important;
    border-radius:13px!important;
  }

  body.tf-homepage .category-showcase .premium-category-content{
    left:9px!important;
    right:9px!important;
    bottom:9px!important;
  }

  body.tf-homepage .category-showcase .premium-category-content h3{
    font-size:11px!important;
    line-height:1.12!important;
  }

  body.tf-homepage .category-showcase .premium-category-content p{
    font-size:8px!important;
    line-height:1.2!important;
  }

  body.tf-homepage .category-showcase .subcategory-strip{
    display:none!important;
  }

  /* ---------- COUNTRY SOURCING ---------- */
  body.tf-homepage .country-sourcing,
  body.tf-homepage .country-marketplace{
    padding:16px 0!important;
  }

  body.tf-homepage .country-market-grid,
  body.tf-homepage .country-grid{
    display:flex!important;
    gap:8px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
    padding-bottom:2px!important;
    scroll-snap-type:x proximity!important;
  }

  body.tf-homepage .country-market-grid::-webkit-scrollbar,
  body.tf-homepage .country-grid::-webkit-scrollbar{
    display:none!important;
  }

  body.tf-homepage .country-market-card,
  body.tf-homepage .country-card{
    flex:0 0 145px!important;
    min-width:145px!important;
    max-width:145px!important;
    border-radius:13px!important;
    scroll-snap-align:start!important;
  }

  /* ---------- RFQ SOURCING ---------- */
  body.tf-homepage .easy-sourcing-section,
  body.tf-homepage .rfq-sourcing,
  body.tf-homepage .rfq-section{
    padding:16px 0!important;
  }

  body.tf-homepage .easy-sourcing-grid,
  body.tf-homepage .rfq-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }

  body.tf-homepage .easy-sourcing-visual,
  body.tf-homepage .rfq-visual{
    display:none!important;
  }

  body.tf-homepage .easy-sourcing-form,
  body.tf-homepage .rfq-form{
    width:100%!important;
    padding:14px!important;
  }

  body.tf-homepage .easy-sourcing-form input,
  body.tf-homepage .easy-sourcing-form select,
  body.tf-homepage .easy-sourcing-form textarea,
  body.tf-homepage .rfq-form input,
  body.tf-homepage .rfq-form select,
  body.tf-homepage .rfq-form textarea{
    min-height:42px!important;
    font-size:16px!important;
    border-radius:10px!important;
  }

  body.tf-homepage .easy-sourcing-form textarea,
  body.tf-homepage .rfq-form textarea{
    min-height:78px!important;
  }

  /* ---------- FEATURED + TRENDING + NEW ARRIVALS ---------- */
  body.tf-homepage .marketplace-products .featured-twelve-grid,
  body.tf-homepage .section-soft .trending-twelve-grid,
  body.tf-homepage .new-arrivals-twelve-grid,
  body.tf-homepage .just-listed-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }

  body.tf-homepage .marketplace-products .featured-twelve-grid > *,
  body.tf-homepage .section-soft .trending-twelve-grid > *,
  body.tf-homepage .new-arrivals-twelve-grid > *,
  body.tf-homepage .just-listed-grid > *{
    flex:none!important;
    flex-basis:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
  }

  body.tf-homepage .marketplace-products .product-card,
  body.tf-homepage .section-soft .product-card,
  body.tf-homepage .new-arrivals-twelve-grid .product-card,
  body.tf-homepage .just-listed-grid .product-card{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:100%!important;
    min-height:0!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:13px!important;
  }

  body.tf-homepage .marketplace-products .product-image,
  body.tf-homepage .section-soft .product-image,
  body.tf-homepage .new-arrivals-twelve-grid .product-image,
  body.tf-homepage .just-listed-grid .product-image{
    width:100%!important;
    height:106px!important;
    min-height:106px!important;
    max-height:106px!important;
    padding:7px!important;
    overflow:hidden!important;
    background:#eef4fc!important;
  }

  body.tf-homepage .marketplace-products .product-image img,
  body.tf-homepage .section-soft .product-image img,
  body.tf-homepage .new-arrivals-twelve-grid .product-image img,
  body.tf-homepage .just-listed-grid .product-image img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
  }

  body.tf-homepage .marketplace-products .product-body,
  body.tf-homepage .section-soft .product-body,
  body.tf-homepage .new-arrivals-twelve-grid .product-body,
  body.tf-homepage .just-listed-grid .product-body{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    padding:8px!important;
  }

  body.tf-homepage .marketplace-products .product-body h3,
  body.tf-homepage .section-soft .product-body h3,
  body.tf-homepage .new-arrivals-twelve-grid .product-body h3,
  body.tf-homepage .just-listed-grid .product-body h3{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    min-height:27px!important;
    max-height:29px!important;
    margin:0 0 5px!important;
    overflow:hidden!important;
    font-size:9px!important;
    line-height:1.32!important;
  }

  body.tf-homepage .marketplace-products .price,
  body.tf-homepage .section-soft .price,
  body.tf-homepage .new-arrivals-twelve-grid .price,
  body.tf-homepage .just-listed-grid .price{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:2px!important;
    margin:0 0 4px!important;
    overflow:hidden!important;
    font-size:13px!important;
    line-height:1.2!important;
  }

  body.tf-homepage .marketplace-products .product-body > p,
  body.tf-homepage .section-soft .product-body > p,
  body.tf-homepage .new-arrivals-twelve-grid .product-body > p,
  body.tf-homepage .just-listed-grid .product-body > p{
    margin:0 0 5px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
    font-size:8px!important;
  }

  body.tf-homepage .marketplace-products .supplier-line,
  body.tf-homepage .section-soft .supplier-line,
  body.tf-homepage .new-arrivals-twelve-grid .supplier-line,
  body.tf-homepage .just-listed-grid .supplier-line{
    margin-top:auto!important;
    padding-top:5px!important;
    font-size:8px!important;
    overflow:hidden!important;
  }

  body.tf-homepage .marketplace-products .card-actions,
  body.tf-homepage .section-soft .card-actions,
  body.tf-homepage .new-arrivals-twelve-grid .card-actions,
  body.tf-homepage .just-listed-grid .card-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:5px!important;
    margin-top:6px!important;
  }

  body.tf-homepage .marketplace-products .card-actions a,
  body.tf-homepage .marketplace-products .card-actions button,
  body.tf-homepage .section-soft .card-actions a,
  body.tf-homepage .section-soft .card-actions button,
  body.tf-homepage .new-arrivals-twelve-grid .card-actions a,
  body.tf-homepage .new-arrivals-twelve-grid .card-actions button,
  body.tf-homepage .just-listed-grid .card-actions a,
  body.tf-homepage .just-listed-grid .card-actions button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:30px!important;
    padding:5px 3px!important;
    border-radius:8px!important;
    font-size:8px!important;
    line-height:1.05!important;
  }

  /* ---------- SEASONAL ---------- */
  body.tf-homepage .festival-marketplace{
    padding:16px 0 18px!important;
  }

  body.tf-homepage .festival-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    align-items:end!important;
  }

  body.tf-homepage .festival-controls button{
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    border-radius:10px!important;
  }

  body.tf-homepage .festival-stage,
  body.tf-homepage .festival-slide{
    height:220px!important;
    min-height:220px!important;
    border-radius:16px!important;
  }

  body.tf-homepage .festival-copy{
    max-width:76%!important;
    height:220px!important;
    min-height:220px!important;
    padding:16px 0 16px 15px!important;
  }

  body.tf-homepage .festival-copy h3{
    margin:6px 0 8px!important;
    font-size:23px!important;
    line-height:1.03!important;
  }

  body.tf-homepage .festival-copy p{
    -webkit-line-clamp:3!important;
    font-size:10px!important;
    line-height:1.42!important;
  }

  body.tf-homepage .festival-copy a{
    min-height:34px!important;
    margin-top:10px!important;
    padding:8px 11px!important;
    border-radius:9px!important;
    font-size:10px!important;
  }

  body.tf-homepage .festival-tabs{
    gap:7px!important;
    margin-top:8px!important;
  }

  body.tf-homepage .festival-tabs button{
    flex:0 0 138px!important;
    min-width:138px!important;
    min-height:52px!important;
    padding:8px 10px!important;
    border-radius:10px!important;
  }

  /* ---------- TRADE CLARITY / SERVICE EXPLAINERS ---------- */
  body.tf-homepage .trade-clarity-section,
  body.tf-homepage .trade-clarity,
  body.tf-homepage .sourcing-clarity{
    padding:22px 14px!important;
  }

  body.tf-homepage .trade-clarity-section h2,
  body.tf-homepage .trade-clarity h2,
  body.tf-homepage .sourcing-clarity h2{
    margin:8px 0 10px!important;
    font-size:25px!important;
    line-height:1.07!important;
  }

  body.tf-homepage .trade-clarity-section p,
  body.tf-homepage .trade-clarity p,
  body.tf-homepage .sourcing-clarity p{
    margin-bottom:14px!important;
    font-size:12px!important;
    line-height:1.45!important;
  }

  body.tf-homepage .trade-clarity-section .step,
  body.tf-homepage .trade-clarity .step,
  body.tf-homepage .sourcing-clarity .step{
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:9px!important;
    padding:11px!important;
    border-radius:12px!important;
  }

  body.tf-homepage .trade-clarity-section .step-number,
  body.tf-homepage .trade-clarity .step-number,
  body.tf-homepage .sourcing-clarity .step-number{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    font-size:17px!important;
  }

  /* ---------- LOWER PRIORITY / LONG PAGE COMPRESSION ---------- */
  body.tf-homepage .trade-advantage,
  body.tf-homepage .industry-collections,
  body.tf-homepage .marketplace-process,
  body.tf-homepage .marketplace-insights,
  body.tf-homepage .home-content-hub{
    padding-top:16px!important;
    padding-bottom:16px!important;
  }

  /* ---------- FLOATING AI ---------- */
  body.tf-homepage .ai-chat-launcher,
  body.tf-homepage .ai-assistant-fab,
  body.tf-homepage .ai-fab{
    right:10px!important;
    bottom:12px!important;
    transform:scale(.78)!important;
    transform-origin:bottom right!important;
  }
}

/* Small phone compression */
@media(max-width:390px){
  body.tf-homepage{
    --m-gutter:9px;
  }

  body.tf-homepage .market-hero{
    height:174px!important;
    max-height:174px!important;
  }
  body.tf-homepage .market-hero .market-hero-copy,
  body.tf-homepage .market-hero-copy{
    height:174px!important;
    min-height:174px!important;
    padding:15px 13px!important;
  }
  body.tf-homepage .market-hero h1{
    font-size:21px!important;
  }

  body.tf-homepage .section-head h2,
  body.tf-homepage .curated-products-head h2,
  body.tf-homepage .trending-products-head h2,
  body.tf-homepage .festival-heading h2{
    font-size:20px!important;
  }

  body.tf-homepage .category-showcase .premium-category-card,
  body.tf-homepage .category-showcase .premium-category-card.category-wide{
    height:104px!important;
    min-height:104px!important;
  }

  body.tf-homepage .marketplace-products .product-image,
  body.tf-homepage .section-soft .product-image,
  body.tf-homepage .new-arrivals-twelve-grid .product-image,
  body.tf-homepage .just-listed-grid .product-image{
    height:96px!important;
    min-height:96px!important;
    max-height:96px!important;
  }

  body.tf-homepage .festival-stage,
  body.tf-homepage .festival-slide{
    height:202px!important;
    min-height:202px!important;
  }

  body.tf-homepage .festival-copy{
    height:202px!important;
    min-height:202px!important;
  }

  body.tf-homepage .festival-copy h3{
    font-size:21px!important;
  }
}




/* Sprint 273A — restore professional mobile hero + 3-column categories */
@media(max-width:767px){

  /* HERO: restore the more substantial previous mobile size.
     Keep compact copy/search behavior from Sprint 273, but bring back visual presence. */
  body.tf-homepage .market-hero{
    width:calc(100% - (var(--m-gutter) * 2))!important;
    height:320px!important;
    min-height:320px!important;
    max-height:320px!important;
    margin:10px var(--m-gutter) 0!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }

  body.tf-homepage .market-hero .market-hero-copy,
  body.tf-homepage .market-hero-copy{
    height:320px!important;
    min-height:320px!important;
    padding:24px 18px 22px!important;
    justify-content:flex-end!important;
  }

  body.tf-homepage .market-hero h1{
    max-width:86%!important;
    margin:0 0 9px!important;
    font-size:30px!important;
    line-height:1.03!important;
    letter-spacing:-.04em!important;
  }

  body.tf-homepage .market-hero p{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
    max-width:82%!important;
    margin:0 0 14px!important;
    font-size:12px!important;
    line-height:1.45!important;
  }

  body.tf-homepage .market-hero .hero-actions,
  body.tf-homepage .market-hero .market-hero-actions{
    display:flex!important;
    gap:8px!important;
    flex-wrap:wrap!important;
  }

  body.tf-homepage .market-hero .hero-actions a,
  body.tf-homepage .market-hero .hero-actions button,
  body.tf-homepage .market-hero .market-hero-actions a,
  body.tf-homepage .market-hero .market-hero-actions button{
    min-height:40px!important;
    padding:10px 14px!important;
    border-radius:11px!important;
    font-size:11px!important;
    font-weight:800!important;
  }

  /* CATEGORY GRID: 3 columns on mobile, compact app-style cards */
  body.tf-homepage .category-showcase .premium-category-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }

  body.tf-homepage .category-showcase .premium-category-grid > *{
    flex:none!important;
    flex-basis:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
  }

  body.tf-homepage .category-showcase .premium-category-card,
  body.tf-homepage .category-showcase .premium-category-card.category-wide{
    grid-column:auto!important;
    width:100%!important;
    min-width:0!important;
    height:104px!important;
    min-height:104px!important;
    border-radius:12px!important;
  }

  body.tf-homepage .category-showcase .premium-category-content{
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
  }

  body.tf-homepage .category-showcase .premium-category-content > span{
    font-size:7px!important;
    letter-spacing:.11em!important;
  }

  body.tf-homepage .category-showcase .premium-category-content h3,
  body.tf-homepage .category-showcase .category-wide .premium-category-content h3{
    margin:3px 0 2px!important;
    font-size:10px!important;
    line-height:1.1!important;
    -webkit-line-clamp:2!important;
  }

  body.tf-homepage .category-showcase .premium-category-content p{
    display:none!important;
  }

  /* Existing top link becomes a compact secondary link. */
  body.tf-homepage .category-showcase .section-head.premium-head > a{
    font-size:9px!important;
  }

  /* New end-of-section CTA */
  body.tf-homepage .mobile-view-all-categories{
    display:block!important;
    width:100%!important;
    margin:10px 0 0!important;
  }

  body.tf-homepage .mobile-view-all-categories a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:100%!important;
    min-height:42px!important;
    padding:10px 14px!important;
    border:1px solid #d9e2ee!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#0b56c7!important;
    font-size:11px!important;
    font-weight:850!important;
    box-shadow:0 5px 14px rgba(11,41,82,.045)!important;
  }

  body.tf-homepage .mobile-view-all-categories a span{
    display:grid!important;
    place-items:center!important;
    width:24px!important;
    height:24px!important;
    border-radius:999px!important;
    background:#edf4ff!important;
    color:#0b56c7!important;
  }

  /* If a dedicated CTA couldn't be injected because homepage template is outside this sprint,
     make the existing category directory link visually serve as the mobile CTA. */
  body.tf-homepage .category-showcase:not(:has(.mobile-view-all-categories)) .section-head.premium-head > a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    width:100%!important;
    min-height:42px!important;
    margin-top:10px!important;
    padding:10px 14px!important;
    border:1px solid #d9e2ee!important;
    border-radius:12px!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }
}

@media(max-width:390px){
  body.tf-homepage .market-hero{
    height:290px!important;
    min-height:290px!important;
    max-height:290px!important;
  }

  body.tf-homepage .market-hero .market-hero-copy,
  body.tf-homepage .market-hero-copy{
    height:290px!important;
    min-height:290px!important;
    padding:20px 15px!important;
  }

  body.tf-homepage .market-hero h1{
    font-size:27px!important;
  }

  body.tf-homepage .category-showcase .premium-category-grid{
    gap:6px!important;
  }

  body.tf-homepage .category-showcase .premium-category-card,
  body.tf-homepage .category-showcase .premium-category-card.category-wide{
    height:96px!important;
    min-height:96px!important;
  }

  body.tf-homepage .category-showcase .premium-category-content{
    left:7px!important;
    right:7px!important;
    bottom:7px!important;
  }

  body.tf-homepage .category-showcase .premium-category-content h3{
    font-size:9px!important;
  }
}

/* Desktop/tablet above mobile breakpoint: don't show mobile-only end CTA. */
@media(min-width:768px){
  body.tf-homepage .mobile-view-all-categories{
    display:none!important;
  }
}




/* Sprint 273B — Restore pre-Sprint-273 hero + horizontal scroll categories */
@media(max-width:767px){

  /* HERO: restore the pre-273 larger mobile treatment.
     This intentionally overrides Sprint 273/273A shallow/320px hero rules. */
  body.tf-homepage .market-hero{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    height:auto!important;
    min-height:390px!important;
    max-height:none!important;
    margin:8px 12px 0!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }

  body.tf-homepage .market-hero .market-hero-copy,
  body.tf-homepage .market-hero-copy{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:390px!important;
    padding:24px 18px 28px!important;
    justify-content:center!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage .market-hero h1{
    max-width:88%!important;
    margin:0 0 10px!important;
    font-size:clamp(28px,8.5vw,38px)!important;
    line-height:1.02!important;
    letter-spacing:-.035em!important;
  }

  body.tf-homepage .market-hero p{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
    max-width:84%!important;
    margin:0 0 14px!important;
    font-size:12px!important;
    line-height:1.45!important;
  }

  body.tf-homepage .market-hero .hero-actions,
  body.tf-homepage .market-hero .market-hero-actions{
    display:flex!important;
    gap:8px!important;
    flex-wrap:wrap!important;
  }

  body.tf-homepage .market-hero .hero-actions a,
  body.tf-homepage .market-hero .hero-actions button,
  body.tf-homepage .market-hero .market-hero-actions a,
  body.tf-homepage .market-hero .market-hero-actions button{
    min-height:40px!important;
    padding:10px 14px!important;
    border-radius:11px!important;
    font-size:11px!important;
  }

  /* CATEGORIES: horizontal left-to-right scroll */
  body.tf-homepage .category-showcase{
    padding:18px 0 20px!important;
    overflow:hidden!important;
  }

  body.tf-homepage .category-showcase > .shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:12px!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage .category-showcase .section-head.premium-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    align-items:end!important;
    padding-right:12px!important;
    margin-bottom:12px!important;
  }

  body.tf-homepage .category-showcase .premium-category-grid{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:9px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0 12px 4px 0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body.tf-homepage .category-showcase .premium-category-grid::-webkit-scrollbar{
    display:none!important;
  }

  body.tf-homepage .category-showcase .premium-category-grid > *{
    flex:0 0 128px!important;
    width:128px!important;
    min-width:128px!important;
    max-width:128px!important;
    scroll-snap-align:start!important;
  }

  body.tf-homepage .category-showcase .premium-category-card,
  body.tf-homepage .category-showcase .premium-category-card.category-wide{
    grid-column:auto!important;
    width:128px!important;
    min-width:128px!important;
    max-width:128px!important;
    height:118px!important;
    min-height:118px!important;
    margin:0!important;
    border-radius:13px!important;
    overflow:hidden!important;
  }

  body.tf-homepage .category-showcase .premium-category-content{
    left:9px!important;
    right:9px!important;
    bottom:9px!important;
  }

  body.tf-homepage .category-showcase .premium-category-content > span{
    font-size:7px!important;
    letter-spacing:.11em!important;
  }

  body.tf-homepage .category-showcase .premium-category-content h3,
  body.tf-homepage .category-showcase .category-wide .premium-category-content h3{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    margin:3px 0 2px!important;
    font-size:10px!important;
    line-height:1.1!important;
  }

  body.tf-homepage .category-showcase .premium-category-content p{
    display:none!important;
  }

  /* Keep View all categories as a clean end CTA under the horizontal scroller. */
  body.tf-homepage .mobile-view-all-categories{
    display:block!important;
    width:calc(100% - 12px)!important;
    margin:10px 12px 0 0!important;
  }

  body.tf-homepage .mobile-view-all-categories a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:100%!important;
    min-height:42px!important;
    padding:10px 14px!important;
    border:1px solid #d9e2ee!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#0b56c7!important;
    font-size:11px!important;
    font-weight:850!important;
    box-shadow:0 5px 14px rgba(11,41,82,.045)!important;
  }

  /* If only the existing directory link is available, make it serve as the bottom CTA. */
  body.tf-homepage .category-showcase:not(:has(.mobile-view-all-categories)) .section-head.premium-head > a{
    grid-column:1 / -1!important;
    width:100%!important;
    min-height:42px!important;
    margin-top:10px!important;
    padding:10px 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid #d9e2ee!important;
    border-radius:12px!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }
}

@media(max-width:390px){
  body.tf-homepage .market-hero{
    width:calc(100% - 18px)!important;
    min-height:360px!important;
    margin-left:9px!important;
    margin-right:9px!important;
  }

  body.tf-homepage .market-hero .market-hero-copy,
  body.tf-homepage .market-hero-copy{
    min-height:360px!important;
    padding:20px 15px 24px!important;
  }

  body.tf-homepage .category-showcase > .shell{
    padding-left:9px!important;
  }

  body.tf-homepage .category-showcase .premium-category-grid{
    gap:8px!important;
    padding-right:9px!important;
  }

  body.tf-homepage .category-showcase .premium-category-grid > *,
  body.tf-homepage .category-showcase .premium-category-card,
  body.tf-homepage .category-showcase .premium-category-card.category-wide{
    flex-basis:116px!important;
    width:116px!important;
    min-width:116px!important;
    max-width:116px!important;
  }

  body.tf-homepage .category-showcase .premium-category-card,
  body.tf-homepage .category-showcase .premium-category-card.category-wide{
    height:108px!important;
    min-height:108px!important;
  }
}




/* Sprint 273C — premium homepage trust/value strip */
.tf-homepage .trust-marquee{
  position:relative!important;
  overflow:hidden!important;
  margin:0!important;
  border-top:1px solid #e6ebf2!important;
  border-bottom:1px solid #dde5ef!important;
  background:linear-gradient(180deg,#fff 0%,#f8fafd 100%)!important;
  box-shadow:0 8px 26px rgba(13,37,74,.035)!important;
}
.tf-homepage .trust-marquee-inner{
  min-height:92px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:18px 36px!important;
  box-sizing:border-box!important;
}
.tf-homepage .trust-marquee-inner span{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:42px!important;
  padding:9px 14px!important;
  border:1px solid rgba(17,54,103,.10)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.96)!important;
  color:#43546f!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:760!important;
  letter-spacing:-.01em!important;
  white-space:nowrap!important;
  box-shadow:0 6px 17px rgba(15,43,83,.05)!important;
}
.tf-homepage .trust-marquee-inner span:before{
  content:"✓"!important;
  display:grid!important;
  place-items:center!important;
  width:21px!important;
  height:21px!important;
  flex:0 0 21px!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#0f5eea,#0a47b8)!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:900!important;
  box-shadow:0 4px 10px rgba(15,94,234,.18)!important;
}
.tf-homepage .trust-marquee-inner span + span:after{
  content:""!important;
  position:absolute!important;
  left:-7px!important;
  top:50%!important;
  width:4px!important;
  height:4px!important;
  margin-top:-2px!important;
  border-radius:50%!important;
  background:#f3b62b!important;
}
.tf-homepage .trust-marquee-inner span:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(15,94,234,.18)!important;
  box-shadow:0 9px 22px rgba(15,43,83,.075)!important;
}

@media(max-width:767px){
  .tf-homepage .trust-marquee-inner{
    min-height:auto!important;
    justify-content:flex-start!important;
    gap:8px!important;
    padding:10px 12px 11px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .tf-homepage .trust-marquee-inner::-webkit-scrollbar{display:none!important}
  .tf-homepage .trust-marquee-inner span{
    min-height:36px!important;
    padding:8px 11px!important;
    gap:7px!important;
    font-size:10px!important;
    scroll-snap-align:start!important;
  }
  .tf-homepage .trust-marquee-inner span:before{
    width:18px!important;
    height:18px!important;
    flex-basis:18px!important;
    font-size:9px!important;
  }
  .tf-homepage .trust-marquee-inner span + span:after{display:none!important}
}




/* Sprint 273D — Explore Industries desktop compact + mobile single-line title */
@media(min-width:992px){
  body.tf-homepage .category-showcase{
    padding-top:34px!important;
    padding-bottom:36px!important;
  }
  body.tf-homepage .category-showcase > .shell{
    width:calc(100% - 44px)!important;
    max-width:none!important;
  }
  body.tf-homepage .category-showcase .section-head.premium-head{
    margin-bottom:18px!important;
    gap:18px!important;
  }
  body.tf-homepage .category-showcase .section-head.premium-head h2{
    margin:4px 0 5px!important;
    font-size:34px!important;
    line-height:1.06!important;
    letter-spacing:-.035em!important;
  }
  body.tf-homepage .category-showcase .section-copy{
    font-size:13px!important;
    line-height:1.45!important;
  }
  body.tf-homepage .category-showcase .premium-category-grid{
    gap:14px!important;
  }
  body.tf-homepage .category-showcase .premium-category-card,
  body.tf-homepage .category-showcase .premium-category-card.category-wide{
    min-height:166px!important;
    height:166px!important;
    border-radius:18px!important;
  }
  body.tf-homepage .category-showcase .premium-category-content{
    left:20px!important;
    right:20px!important;
    bottom:18px!important;
  }
  body.tf-homepage .category-showcase .premium-category-content > span{
    font-size:9px!important;
    line-height:1!important;
    letter-spacing:.13em!important;
  }
  body.tf-homepage .category-showcase .premium-category-content h3,
  body.tf-homepage .category-showcase .category-wide .premium-category-content h3{
    margin:6px 0 6px!important;
    font-size:18px!important;
    line-height:1.12!important;
  }
  body.tf-homepage .category-showcase .premium-category-content p{
    margin:0!important;
    font-size:12px!important;
    line-height:1.35!important;
  }
  body.tf-homepage .category-showcase .subcategory-strip{
    margin-top:14px!important;
  }
}

@media(max-width:991px){
  body.tf-homepage .category-showcase .section-head.premium-head h2{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:4px 0 5px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    font-size:clamp(16px,4.7vw,21px)!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
  }
}

@media(max-width:390px){
  body.tf-homepage .category-showcase .section-head.premium-head h2{
    font-size:clamp(15px,4.5vw,18px)!important;
    letter-spacing:-.04em!important;
  }
}




/* Sprint 273E — Source by Country horizontal alignment
   Match the same left/right page gutter used by Explore Industries. */

/* Desktop */
@media(min-width:992px){
  body.tf-homepage .country-network,
  body.tf-homepage .country-sourcing,
  body.tf-homepage .country-marketplace{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding-left:22px!important;
    padding-right:22px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  body.tf-homepage .country-network > .shell,
  body.tf-homepage .country-sourcing > .shell,
  body.tf-homepage .country-marketplace > .shell{
    width:100%!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage .country-grid,
  body.tf-homepage .country-market-grid,
  body.tf-homepage .country-network-grid{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
}

/* Tablet / mobile */
@media(max-width:991px){
  body.tf-homepage .country-network,
  body.tf-homepage .country-sourcing,
  body.tf-homepage .country-marketplace{
    width:100%!important;
    max-width:100%!important;
    padding-left:12px!important;
    padding-right:12px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  body.tf-homepage .country-network > .shell,
  body.tf-homepage .country-sourcing > .shell,
  body.tf-homepage .country-marketplace > .shell{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage .country-grid,
  body.tf-homepage .country-market-grid,
  body.tf-homepage .country-network-grid{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }
}

/* Very small phones use the same tighter gutter as other mobile sections */
@media(max-width:390px){
  body.tf-homepage .country-network,
  body.tf-homepage .country-sourcing,
  body.tf-homepage .country-marketplace{
    padding-left:9px!important;
    padding-right:9px!important;
  }
}




/* Sprint 273F — Source by Country premium outer panel
   Match the visual treatment of the Popular subcategories container. */

@media(min-width:992px){
  body.tf-homepage .country-network,
  body.tf-homepage .country-sourcing,
  body.tf-homepage .country-marketplace{
    padding:26px 22px 30px!important;
    background:#f6f8fc!important;
  }

  body.tf-homepage .country-network > .shell,
  body.tf-homepage .country-sourcing > .shell,
  body.tf-homepage .country-marketplace > .shell{
    width:100%!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:24px 22px!important;
    border:1px solid #dce5f0!important;
    border-radius:20px!important;
    background:rgba(255,255,255,.82)!important;
    box-shadow:0 10px 30px rgba(18,45,82,.045)!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  /* Keep existing left-copy/right-country-cards composition inside the panel */
  body.tf-homepage .country-network .section-head,
  body.tf-homepage .country-sourcing .section-head,
  body.tf-homepage .country-marketplace .section-head{
    margin-top:0!important;
  }

  body.tf-homepage .country-grid,
  body.tf-homepage .country-market-grid,
  body.tf-homepage .country-network-grid{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  /* Country cards get slightly tighter premium treatment inside the outer panel */
  body.tf-homepage .country-card,
  body.tf-homepage .country-market-card,
  body.tf-homepage .country-network-card{
    border-color:#dfe7f1!important;
    border-radius:16px!important;
    box-shadow:0 7px 18px rgba(16,43,80,.04)!important;
  }
}

@media(max-width:991px){
  body.tf-homepage .country-network,
  body.tf-homepage .country-sourcing,
  body.tf-homepage .country-marketplace{
    padding:16px 12px 18px!important;
    background:#f6f8fc!important;
  }

  body.tf-homepage .country-network > .shell,
  body.tf-homepage .country-sourcing > .shell,
  body.tf-homepage .country-marketplace > .shell{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:14px!important;
    border:1px solid #dce5f0!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 7px 20px rgba(18,45,82,.04)!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  body.tf-homepage .country-grid,
  body.tf-homepage .country-market-grid,
  body.tf-homepage .country-network-grid{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    margin:10px 0 0!important;
    padding:0 2px 2px 0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x proximity!important;
  }

  body.tf-homepage .country-grid::-webkit-scrollbar,
  body.tf-homepage .country-market-grid::-webkit-scrollbar,
  body.tf-homepage .country-network-grid::-webkit-scrollbar{
    display:none!important;
  }

  body.tf-homepage .country-card,
  body.tf-homepage .country-market-card,
  body.tf-homepage .country-network-card{
    flex:0 0 145px!important;
    min-width:145px!important;
    max-width:145px!important;
    border-radius:13px!important;
    scroll-snap-align:start!important;
  }
}

@media(max-width:390px){
  body.tf-homepage .country-network,
  body.tf-homepage .country-sourcing,
  body.tf-homepage .country-marketplace{
    padding-left:9px!important;
    padding-right:9px!important;
  }

  body.tf-homepage .country-network > .shell,
  body.tf-homepage .country-sourcing > .shell,
  body.tf-homepage .country-marketplace > .shell{
    padding:12px!important;
    border-radius:14px!important;
  }

  body.tf-homepage .country-card,
  body.tf-homepage .country-market-card,
  body.tf-homepage .country-network-card{
    flex-basis:136px!important;
    min-width:136px!important;
    max-width:136px!important;
  }
}




/* Sprint 273G — Source by Country mobile 3-up rail */
@media(max-width:767px){

  body.tf-homepage .country-network > .shell,
  body.tf-homepage .country-sourcing > .shell,
  body.tf-homepage .country-marketplace > .shell{
    padding:12px!important;
    overflow:hidden!important;
  }

  /* Compact header inside the country panel */
  body.tf-homepage .country-network .section-head,
  body.tf-homepage .country-sourcing .section-head,
  body.tf-homepage .country-marketplace .section-head{
    margin-bottom:10px!important;
  }

  /* Exactly 3 cards visible per viewport width */
  body.tf-homepage .country-grid,
  body.tf-homepage .country-market-grid,
  body.tf-homepage .country-network-grid{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:0!important;
    column-gap:0!important;
    row-gap:0!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body.tf-homepage .country-grid::-webkit-scrollbar,
  body.tf-homepage .country-market-grid::-webkit-scrollbar,
  body.tf-homepage .country-network-grid::-webkit-scrollbar{
    display:none!important;
  }

  /* 3 equal cards across available rail width */
  body.tf-homepage .country-grid > *,
  body.tf-homepage .country-market-grid > *,
  body.tf-homepage .country-network-grid > *,
  body.tf-homepage .country-card,
  body.tf-homepage .country-market-card,
  body.tf-homepage .country-network-card{
    flex:0 0 33.333333%!important;
    width:33.333333%!important;
    min-width:33.333333%!important;
    max-width:33.333333%!important;
    margin:0!important;
    scroll-snap-align:start!important;
    box-sizing:border-box!important;
  }

  /* Remove inter-card white spacing but preserve clean card separation */
  body.tf-homepage .country-card,
  body.tf-homepage .country-market-card,
  body.tf-homepage .country-network-card{
    border-radius:0!important;
    box-shadow:none!important;
    border-left:0!important;
    border-top:1px solid #dfe7f1!important;
    border-bottom:1px solid #dfe7f1!important;
    border-right:1px solid #dfe7f1!important;
    overflow:hidden!important;
  }

  body.tf-homepage .country-grid > *:first-child,
  body.tf-homepage .country-market-grid > *:first-child,
  body.tf-homepage .country-network-grid > *:first-child,
  body.tf-homepage .country-card:first-child,
  body.tf-homepage .country-market-card:first-child,
  body.tf-homepage .country-network-card:first-child{
    border-left:1px solid #dfe7f1!important;
    border-top-left-radius:11px!important;
    border-bottom-left-radius:11px!important;
  }

  /* Give every 3rd card a clean right edge visually */
  body.tf-homepage .country-grid > *:nth-child(3n),
  body.tf-homepage .country-market-grid > *:nth-child(3n),
  body.tf-homepage .country-network-grid > *:nth-child(3n){
    border-top-right-radius:11px!important;
    border-bottom-right-radius:11px!important;
  }

  /* Compact card internals so 3-up remains readable */
  body.tf-homepage .country-card,
  body.tf-homepage .country-market-card,
  body.tf-homepage .country-network-card{
    min-height:168px!important;
  }

  body.tf-homepage .country-card .country-media,
  body.tf-homepage .country-market-card .country-media,
  body.tf-homepage .country-network-card .country-media{
    min-height:74px!important;
    height:74px!important;
  }

  body.tf-homepage .country-card h3,
  body.tf-homepage .country-market-card h3,
  body.tf-homepage .country-network-card h3{
    font-size:11px!important;
    line-height:1.15!important;
    margin:4px 0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.tf-homepage .country-card p,
  body.tf-homepage .country-market-card p,
  body.tf-homepage .country-network-card p,
  body.tf-homepage .country-card small,
  body.tf-homepage .country-market-card small,
  body.tf-homepage .country-network-card small{
    font-size:8px!important;
    line-height:1.25!important;
  }

  body.tf-homepage .country-card .tag,
  body.tf-homepage .country-market-card .tag,
  body.tf-homepage .country-network-card .tag{
    font-size:7px!important;
    padding:3px 5px!important;
  }
}

@media(max-width:390px){
  body.tf-homepage .country-network > .shell,
  body.tf-homepage .country-sourcing > .shell,
  body.tf-homepage .country-marketplace > .shell{
    padding:9px!important;
  }

  body.tf-homepage .country-card,
  body.tf-homepage .country-market-card,
  body.tf-homepage .country-network-card{
    min-height:154px!important;
  }

  body.tf-homepage .country-card h3,
  body.tf-homepage .country-market-card h3,
  body.tf-homepage .country-network-card h3{
    font-size:10px!important;
  }
}




/* Sprint 273H — Source by Country 3-up REAL fill fix
   Fixes 273G wrapper/card width mismatch that created huge blank columns. */
@media(max-width:767px){

  body.tf-homepage .country-network > .shell,
  body.tf-homepage .country-sourcing > .shell,
  body.tf-homepage .country-marketplace > .shell{
    padding:12px!important;
    overflow:hidden!important;
  }

  /* Use an explicit horizontal grid: each track is exactly 1/3 of the rail. */
  body.tf-homepage .country-grid,
  body.tf-homepage .country-market-grid,
  body.tf-homepage .country-network-grid{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:33.333333%!important;
    grid-template-columns:none!important;
    gap:0!important;
    column-gap:0!important;
    row-gap:0!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body.tf-homepage .country-grid::-webkit-scrollbar,
  body.tf-homepage .country-market-grid::-webkit-scrollbar,
  body.tf-homepage .country-network-grid::-webkit-scrollbar{
    display:none!important;
  }

  /* Wrapper/slide occupies its entire grid track. */
  body.tf-homepage .country-grid > *,
  body.tf-homepage .country-market-grid > *,
  body.tf-homepage .country-network-grid > *{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    flex:none!important;
    flex-basis:auto!important;
    scroll-snap-align:start!important;
    box-sizing:border-box!important;
  }

  /* The actual visible card MUST fill that wrapper. This is what 273G missed. */
  body.tf-homepage .country-card,
  body.tf-homepage .country-market-card,
  body.tf-homepage .country-network-card,
  body.tf-homepage .country-grid > * .country-card,
  body.tf-homepage .country-market-grid > * .country-market-card,
  body.tf-homepage .country-network-grid > * .country-network-card{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:100%!important;
    min-height:184px!important;
    margin:0!important;
    padding:0!important;
    flex:none!important;
    flex-basis:auto!important;
    border-radius:0!important;
    border-top:1px solid #dfe7f1!important;
    border-bottom:1px solid #dfe7f1!important;
    border-right:1px solid #dfe7f1!important;
    border-left:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage .country-grid > *:first-child .country-card,
  body.tf-homepage .country-market-grid > *:first-child .country-market-card,
  body.tf-homepage .country-network-grid > *:first-child .country-network-card,
  body.tf-homepage .country-grid > .country-card:first-child,
  body.tf-homepage .country-market-grid > .country-market-card:first-child,
  body.tf-homepage .country-network-grid > .country-network-card:first-child{
    border-left:1px solid #dfe7f1!important;
    border-top-left-radius:12px!important;
    border-bottom-left-radius:12px!important;
  }

  body.tf-homepage .country-grid > *:nth-child(3n) .country-card,
  body.tf-homepage .country-market-grid > *:nth-child(3n) .country-market-card,
  body.tf-homepage .country-network-grid > *:nth-child(3n) .country-network-card,
  body.tf-homepage .country-grid > .country-card:nth-child(3n),
  body.tf-homepage .country-market-grid > .country-market-card:nth-child(3n),
  body.tf-homepage .country-network-grid > .country-network-card:nth-child(3n){
    border-top-right-radius:12px!important;
    border-bottom-right-radius:12px!important;
  }

  /* Compact card internals for three-up readability. */
  body.tf-homepage .country-card > *,
  body.tf-homepage .country-market-card > *,
  body.tf-homepage .country-network-card > *{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage .country-card h3,
  body.tf-homepage .country-market-card h3,
  body.tf-homepage .country-network-card h3{
    margin:4px 0!important;
    font-size:12px!important;
    line-height:1.16!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.tf-homepage .country-card p,
  body.tf-homepage .country-market-card p,
  body.tf-homepage .country-network-card p,
  body.tf-homepage .country-card small,
  body.tf-homepage .country-market-card small,
  body.tf-homepage .country-network-card small{
    font-size:8.5px!important;
    line-height:1.28!important;
  }

  /* Remove any legacy margins/gaps from nested anchors/slides. */
  body.tf-homepage .country-grid a,
  body.tf-homepage .country-market-grid a,
  body.tf-homepage .country-network-grid a{
    margin:0!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
}

@media(max-width:390px){
  body.tf-homepage .country-network > .shell,
  body.tf-homepage .country-sourcing > .shell,
  body.tf-homepage .country-marketplace > .shell{
    padding:9px!important;
  }

  body.tf-homepage .country-card,
  body.tf-homepage .country-market-card,
  body.tf-homepage .country-network-card{
    min-height:170px!important;
  }

  body.tf-homepage .country-card h3,
  body.tf-homepage .country-market-card h3,
  body.tf-homepage .country-network-card h3{
    font-size:11px!important;
  }
}




/* Sprint 273I — CURATED FOR BUSINESS mobile compact/premium polish
   Mobile only. Keeps the 2x2 product layout, reduces vertical bulk,
   gives the next sourcing card a controlled peek, and hardens media rendering. */
@media (max-width:767px){

  /* Section header */
  body.tf-homepage .business-curation,
  body.tf-homepage .curated-business,
  body.tf-homepage .source-more-section{
    padding-top:18px!important;
    padding-bottom:18px!important;
    overflow:hidden!important;
  }

  body.tf-homepage .business-curation .section-head,
  body.tf-homepage .curated-business .section-head,
  body.tf-homepage .source-more-section .section-head{
    display:grid!important;
    grid-template-columns:92px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    margin:0 14px 12px!important;
  }

  body.tf-homepage .business-curation .eyebrow,
  body.tf-homepage .curated-business .eyebrow,
  body.tf-homepage .source-more-section .eyebrow{
    margin:0!important;
    font-size:10px!important;
    line-height:1.05!important;
    letter-spacing:.13em!important;
  }

  body.tf-homepage .business-curation .section-head h2,
  body.tf-homepage .curated-business .section-head h2,
  body.tf-homepage .source-more-section .section-head h2{
    margin:0!important;
    font-size:21px!important;
    line-height:1.08!important;
    letter-spacing:-.025em!important;
  }

  /* Horizontal sourcing-card rail: first card dominates, next card peeks. */
  body.tf-homepage .business-curation .curation-grid,
  body.tf-homepage .business-curation .source-more-grid,
  body.tf-homepage .curated-business .curation-grid,
  body.tf-homepage .curated-business .source-more-grid,
  body.tf-homepage .source-more-section .curation-grid,
  body.tf-homepage .source-more-section .source-more-grid{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:82%!important;
    grid-template-columns:none!important;
    gap:10px!important;
    margin:0!important;
    padding:0 14px 3px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body.tf-homepage .business-curation .curation-grid::-webkit-scrollbar,
  body.tf-homepage .business-curation .source-more-grid::-webkit-scrollbar,
  body.tf-homepage .curated-business .curation-grid::-webkit-scrollbar,
  body.tf-homepage .curated-business .source-more-grid::-webkit-scrollbar,
  body.tf-homepage .source-more-section .curation-grid::-webkit-scrollbar,
  body.tf-homepage .source-more-section .source-more-grid::-webkit-scrollbar{
    display:none!important;
  }

  /* Main sourcing cards */
  body.tf-homepage .business-curation .curation-card,
  body.tf-homepage .business-curation .source-more-card,
  body.tf-homepage .curated-business .curation-card,
  body.tf-homepage .curated-business .source-more-card,
  body.tf-homepage .source-more-section .curation-card,
  body.tf-homepage .source-more-section .source-more-card{
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    padding:14px!important;
    border-radius:16px!important;
    box-shadow:0 8px 24px rgba(12,38,77,.06)!important;
    scroll-snap-align:start!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage .business-curation .curation-card > h3,
  body.tf-homepage .business-curation .source-more-card > h3,
  body.tf-homepage .curated-business .curation-card > h3,
  body.tf-homepage .curated-business .source-more-card > h3,
  body.tf-homepage .source-more-section .curation-card > h3,
  body.tf-homepage .source-more-section .source-more-card > h3{
    margin:0 0 10px!important;
    font-size:17px!important;
    line-height:1.15!important;
    letter-spacing:-.02em!important;
  }

  /* Keep exactly a compact 2 x 2 product matrix. */
  body.tf-homepage .business-curation .mini-products,
  body.tf-homepage .business-curation .product-mini-grid,
  body.tf-homepage .curated-business .mini-products,
  body.tf-homepage .curated-business .product-mini-grid,
  body.tf-homepage .source-more-section .mini-products,
  body.tf-homepage .source-more-section .product-mini-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin:0!important;
  }

  body.tf-homepage .business-curation .mini-product,
  body.tf-homepage .business-curation .product-mini-card,
  body.tf-homepage .curated-business .mini-product,
  body.tf-homepage .curated-business .product-mini-card,
  body.tf-homepage .source-more-section .mini-product,
  body.tf-homepage .source-more-section .product-mini-card{
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
  }

  /* Media is intentionally shorter than before; broken images cannot stretch layout. */
  body.tf-homepage .business-curation .mini-product img,
  body.tf-homepage .business-curation .product-mini-card img,
  body.tf-homepage .curated-business .mini-product img,
  body.tf-homepage .curated-business .product-mini-card img,
  body.tf-homepage .source-more-section .mini-product img,
  body.tf-homepage .source-more-section .product-mini-card img{
    display:block!important;
    width:100%!important;
    height:108px!important;
    max-height:108px!important;
    aspect-ratio:4/3!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:10px!important;
    background:#f2f5f9!important;
    overflow:hidden!important;
    font-size:0!important;
  }

  body.tf-homepage .business-curation .mini-product h4,
  body.tf-homepage .business-curation .product-mini-card h4,
  body.tf-homepage .curated-business .mini-product h4,
  body.tf-homepage .curated-business .product-mini-card h4,
  body.tf-homepage .source-more-section .mini-product h4,
  body.tf-homepage .source-more-section .product-mini-card h4{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    min-height:30px!important;
    max-height:30px!important;
    margin:7px 0 2px!important;
    font-size:12px!important;
    line-height:15px!important;
    font-weight:700!important;
  }

  body.tf-homepage .business-curation .mini-product p,
  body.tf-homepage .business-curation .product-mini-card p,
  body.tf-homepage .curated-business .mini-product p,
  body.tf-homepage .curated-business .product-mini-card p,
  body.tf-homepage .source-more-section .mini-product p,
  body.tf-homepage .source-more-section .product-mini-card p{
    margin:0!important;
    font-size:10px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Compact CTA */
  body.tf-homepage .business-curation .curation-card > a:last-child,
  body.tf-homepage .business-curation .source-more-card > a:last-child,
  body.tf-homepage .curated-business .curation-card > a:last-child,
  body.tf-homepage .curated-business .source-more-card > a:last-child,
  body.tf-homepage .source-more-section .curation-card > a:last-child,
  body.tf-homepage .source-more-section .source-more-card > a:last-child{
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    width:auto!important;
    min-height:32px!important;
    margin-top:11px!important;
    padding:5px 0!important;
    font-size:12px!important;
    line-height:1.1!important;
    font-weight:700!important;
  }
}

@media (max-width:390px){
  body.tf-homepage .business-curation .curation-grid,
  body.tf-homepage .business-curation .source-more-grid,
  body.tf-homepage .curated-business .curation-grid,
  body.tf-homepage .curated-business .source-more-grid,
  body.tf-homepage .source-more-section .curation-grid,
  body.tf-homepage .source-more-section .source-more-grid{
    grid-auto-columns:84%!important;
    gap:8px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }

  body.tf-homepage .business-curation .curation-card,
  body.tf-homepage .business-curation .source-more-card,
  body.tf-homepage .curated-business .curation-card,
  body.tf-homepage .curated-business .source-more-card,
  body.tf-homepage .source-more-section .curation-card,
  body.tf-homepage .source-more-section .source-more-card{
    padding:12px!important;
  }

  body.tf-homepage .business-curation .mini-product img,
  body.tf-homepage .business-curation .product-mini-card img,
  body.tf-homepage .curated-business .mini-product img,
  body.tf-homepage .curated-business .product-mini-card img,
  body.tf-homepage .source-more-section .mini-product img,
  body.tf-homepage .source-more-section .product-mini-card img{
    height:96px!important;
    max-height:96px!important;
  }
}




/* Sprint 273J — RFQ mobile premium compact refinement */
@media(max-width:767px){

  body.tf-homepage .easy-sourcing-section,
  body.tf-homepage .rfq-sourcing,
  body.tf-homepage .rfq-section{
    padding-top:14px!important;
    padding-bottom:16px!important;
  }

  body.tf-homepage .easy-sourcing-grid,
  body.tf-homepage .rfq-grid{
    border:1px solid #dde5ef!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 10px 28px rgba(14,40,78,.055)!important;
    overflow:hidden!important;
  }

  body.tf-homepage .easy-sourcing-form,
  body.tf-homepage .rfq-form{
    width:100%!important;
    padding:16px 14px 14px!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage .easy-sourcing-form .eyebrow,
  body.tf-homepage .rfq-form .eyebrow{
    margin:0 0 8px!important;
    font-size:9px!important;
    letter-spacing:.14em!important;
    line-height:1!important;
  }

  body.tf-homepage .easy-sourcing-form h2,
  body.tf-homepage .rfq-form h2{
    margin:0 0 6px!important;
    font-size:22px!important;
    line-height:1.08!important;
    letter-spacing:-.03em!important;
  }

  body.tf-homepage .easy-sourcing-form > p,
  body.tf-homepage .rfq-form > p{
    max-width:94%!important;
    margin:0 0 12px!important;
    color:#708099!important;
    font-size:11px!important;
    line-height:1.42!important;
  }

  body.tf-homepage .easy-sourcing-form label,
  body.tf-homepage .rfq-form label{
    display:block!important;
    margin:0 0 5px!important;
    color:#536781!important;
    font-size:9px!important;
    line-height:1.1!important;
    font-weight:800!important;
    letter-spacing:.035em!important;
  }

  body.tf-homepage .easy-sourcing-form input,
  body.tf-homepage .easy-sourcing-form select,
  body.tf-homepage .easy-sourcing-form textarea,
  body.tf-homepage .rfq-form input,
  body.tf-homepage .rfq-form select,
  body.tf-homepage .rfq-form textarea{
    width:100%!important;
    min-height:40px!important;
    height:40px!important;
    margin:0 0 10px!important;
    padding:0 12px!important;
    border:1px solid #d8e1ec!important;
    border-radius:10px!important;
    background:#fbfcfe!important;
    color:#102846!important;
    font-size:13px!important;
    line-height:1.3!important;
    box-shadow:none!important;
    outline:0!important;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage .easy-sourcing-form textarea,
  body.tf-homepage .rfq-form textarea{
    height:86px!important;
    min-height:86px!important;
    padding:10px 12px!important;
    resize:vertical!important;
  }

  body.tf-homepage .easy-sourcing-form input::placeholder,
  body.tf-homepage .easy-sourcing-form textarea::placeholder,
  body.tf-homepage .rfq-form input::placeholder,
  body.tf-homepage .rfq-form textarea::placeholder{
    color:#98a4b4!important;
    opacity:1!important;
    font-size:12px!important;
    font-weight:500!important;
  }

  body.tf-homepage .easy-sourcing-form input:focus,
  body.tf-homepage .easy-sourcing-form select:focus,
  body.tf-homepage .easy-sourcing-form textarea:focus,
  body.tf-homepage .rfq-form input:focus,
  body.tf-homepage .rfq-form select:focus,
  body.tf-homepage .rfq-form textarea:focus{
    border-color:#91b4ec!important;
    background:#fff!important;
    box-shadow:0 0 0 3px rgba(25,98,210,.08)!important;
  }

  /* Quantity + Unit on one row for a denser RFQ form */
  body.tf-homepage .easy-sourcing-form .form-row,
  body.tf-homepage .easy-sourcing-form .rfq-row,
  body.tf-homepage .rfq-form .form-row,
  body.tf-homepage .rfq-form .rfq-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:8px!important;
    align-items:end!important;
  }

  body.tf-homepage .easy-sourcing-form button[type="submit"],
  body.tf-homepage .rfq-form button[type="submit"]{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:42px!important;
    height:42px!important;
    margin-top:2px!important;
    padding:0 14px!important;
    border:0!important;
    border-radius:10px!important;
    background:#0f5ecf!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1!important;
    box-shadow:0 7px 16px rgba(15,94,207,.16)!important;
  }

  body.tf-homepage .easy-sourcing-form button[type="submit"]:active,
  body.tf-homepage .rfq-form button[type="submit"]:active{
    transform:translateY(1px)!important;
  }
}

@media(max-width:390px){
  body.tf-homepage .easy-sourcing-form,
  body.tf-homepage .rfq-form{
    padding:14px 12px 12px!important;
  }

  body.tf-homepage .easy-sourcing-form h2,
  body.tf-homepage .rfq-form h2{
    font-size:20px!important;
  }

  body.tf-homepage .easy-sourcing-form input,
  body.tf-homepage .easy-sourcing-form select,
  body.tf-homepage .rfq-form input,
  body.tf-homepage .rfq-form select{
    height:38px!important;
    min-height:38px!important;
  }

  body.tf-homepage .easy-sourcing-form textarea,
  body.tf-homepage .rfq-form textarea{
    height:78px!important;
    min-height:78px!important;
  }
}




/* Sprint 273K — RFQ solid-brand premium refinement
   No gradients. Controlled navy + golden yellow + neutral palette. */
@media(max-width:767px){

  body.tf-homepage .easy-sourcing-grid,
  body.tf-homepage .rfq-grid{
    border:1px solid #d9e2ec!important;
    border-radius:16px!important;
    background:#ffffff!important;
    box-shadow:0 10px 28px rgba(13,35,66,.06)!important;
  }

  body.tf-homepage .easy-sourcing-form,
  body.tf-homepage .rfq-form{
    position:relative!important;
    background:#ffffff!important;
  }

  /* subtle brand marker, solid color only */
  body.tf-homepage .easy-sourcing-form:before,
  body.tf-homepage .rfq-form:before{
    content:""!important;
    position:absolute!important;
    top:0!important;
    left:14px!important;
    right:14px!important;
    height:3px!important;
    border-radius:0 0 4px 4px!important;
    background:#f5b51b!important;
  }

  body.tf-homepage .easy-sourcing-form .eyebrow,
  body.tf-homepage .rfq-form .eyebrow{
    color:#0f5ecf!important;
  }

  body.tf-homepage .easy-sourcing-form h2,
  body.tf-homepage .rfq-form h2{
    color:#0b2146!important;
  }

  body.tf-homepage .easy-sourcing-form > p,
  body.tf-homepage .rfq-form > p{
    color:#718096!important;
  }

  body.tf-homepage .easy-sourcing-form label,
  body.tf-homepage .rfq-form label{
    color:#4d627d!important;
  }

  body.tf-homepage .easy-sourcing-form input,
  body.tf-homepage .easy-sourcing-form select,
  body.tf-homepage .easy-sourcing-form textarea,
  body.tf-homepage .rfq-form input,
  body.tf-homepage .rfq-form select,
  body.tf-homepage .rfq-form textarea{
    border:1px solid #d8e1eb!important;
    background:#f9fbfd!important;
    color:#102846!important;
  }

  body.tf-homepage .easy-sourcing-form input:hover,
  body.tf-homepage .easy-sourcing-form select:hover,
  body.tf-homepage .easy-sourcing-form textarea:hover,
  body.tf-homepage .rfq-form input:hover,
  body.tf-homepage .rfq-form select:hover,
  body.tf-homepage .rfq-form textarea:hover{
    border-color:#c6d3e2!important;
    background:#ffffff!important;
  }

  body.tf-homepage .easy-sourcing-form input:focus,
  body.tf-homepage .easy-sourcing-form select:focus,
  body.tf-homepage .easy-sourcing-form textarea:focus,
  body.tf-homepage .rfq-form input:focus,
  body.tf-homepage .rfq-form select:focus,
  body.tf-homepage .rfq-form textarea:focus{
    border-color:#0f5ecf!important;
    background:#ffffff!important;
    box-shadow:0 0 0 3px rgba(15,94,207,.08)!important;
  }

  /* yellow emphasis for quantity/unit grouping */
  body.tf-homepage .easy-sourcing-form .form-row,
  body.tf-homepage .easy-sourcing-form .rfq-row,
  body.tf-homepage .rfq-form .form-row,
  body.tf-homepage .rfq-form .rfq-row{
    position:relative!important;
  }

  body.tf-homepage .easy-sourcing-form button[type="submit"],
  body.tf-homepage .rfq-form button[type="submit"]{
    background:#0b2146!important;
    color:#ffffff!important;
    box-shadow:0 7px 16px rgba(11,33,70,.14)!important;
    border:1px solid #0b2146!important;
  }

  body.tf-homepage .easy-sourcing-form button[type="submit"]:hover,
  body.tf-homepage .rfq-form button[type="submit"]:hover{
    background:#12345f!important;
    border-color:#12345f!important;
  }

  /* small golden detail inside CTA */
  body.tf-homepage .easy-sourcing-form button[type="submit"]::after,
  body.tf-homepage .rfq-form button[type="submit"]::after{
    content:"→"!important;
    display:inline-block!important;
    margin-left:7px!important;
    color:#f5b51b!important;
    font-weight:900!important;
  }

  body.tf-homepage .easy-sourcing-form input::placeholder,
  body.tf-homepage .easy-sourcing-form textarea::placeholder,
  body.tf-homepage .rfq-form input::placeholder,
  body.tf-homepage .rfq-form textarea::placeholder{
    color:#8d99a8!important;
  }
}




/* Sprint 273L — RFQ premium redesign, desktop + mobile
   Solid TradesFolks navy/gold palette. No gradients. */

/* Shared RFQ shell */
body.tf-homepage .easy-sourcing-section,
body.tf-homepage .rfq-sourcing,
body.tf-homepage .rfq-section{
  background:#f4f7fb!important;
}

body.tf-homepage .easy-sourcing-grid,
body.tf-homepage .rfq-grid{
  border:1px solid #dbe4ef!important;
  border-radius:20px!important;
  background:#ffffff!important;
  box-shadow:0 14px 34px rgba(10,35,72,.07)!important;
  overflow:hidden!important;
}

/* DESKTOP */
@media(min-width:768px){
  body.tf-homepage .easy-sourcing-section,
  body.tf-homepage .rfq-sourcing,
  body.tf-homepage .rfq-section{
    padding:28px 40px!important;
  }

  body.tf-homepage .easy-sourcing-grid,
  body.tf-homepage .rfq-grid{
    display:grid!important;
    grid-template-columns:1.05fr .95fr!important;
    min-height:430px!important;
  }

  /* Left brand panel */
  body.tf-homepage .easy-sourcing-visual,
  body.tf-homepage .rfq-visual{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    padding:42px 34px!important;
    background:#0b2146!important;
    color:#ffffff!important;
    overflow:hidden!important;
  }

  body.tf-homepage .easy-sourcing-visual:before,
  body.tf-homepage .rfq-visual:before{
    content:""!important;
    position:absolute!important;
    top:0!important;
    left:0!important;
    width:100%!important;
    height:5px!important;
    background:#f5b51b!important;
  }

  body.tf-homepage .easy-sourcing-visual .eyebrow,
  body.tf-homepage .rfq-visual .eyebrow{
    color:#f5b51b!important;
    font-size:10px!important;
    letter-spacing:.15em!important;
    font-weight:850!important;
  }

  body.tf-homepage .easy-sourcing-visual h2,
  body.tf-homepage .rfq-visual h2{
    max-width:520px!important;
    margin:12px 0 10px!important;
    color:#ffffff!important;
    font-size:34px!important;
    line-height:1.06!important;
    letter-spacing:-.035em!important;
  }

  body.tf-homepage .easy-sourcing-visual p,
  body.tf-homepage .rfq-visual p{
    max-width:520px!important;
    color:#c8d5e7!important;
    font-size:14px!important;
    line-height:1.55!important;
  }

  body.tf-homepage .easy-sourcing-visual li,
  body.tf-homepage .rfq-visual li{
    color:#e9f0f8!important;
    font-size:13px!important;
    line-height:1.5!important;
  }

  body.tf-homepage .easy-sourcing-visual li::marker,
  body.tf-homepage .rfq-visual li::marker{
    color:#f5b51b!important;
  }

  body.tf-homepage .easy-sourcing-visual a,
  body.tf-homepage .rfq-visual a{
    color:#f5b51b!important;
    font-weight:800!important;
  }

  /* Right premium form */
  body.tf-homepage .easy-sourcing-form,
  body.tf-homepage .rfq-form{
    position:relative!important;
    padding:30px 30px 26px!important;
    background:#ffffff!important;
  }

  body.tf-homepage .easy-sourcing-form:before,
  body.tf-homepage .rfq-form:before{
    content:""!important;
    position:absolute!important;
    top:0!important;
    left:30px!important;
    width:58px!important;
    height:4px!important;
    background:#f5b51b!important;
    border-radius:0 0 4px 4px!important;
  }

  body.tf-homepage .easy-sourcing-form .eyebrow,
  body.tf-homepage .rfq-form .eyebrow{
    margin:2px 0 9px!important;
    color:#0f5ecf!important;
    font-size:10px!important;
    letter-spacing:.14em!important;
    font-weight:850!important;
  }

  body.tf-homepage .easy-sourcing-form h2,
  body.tf-homepage .rfq-form h2{
    margin:0 0 6px!important;
    color:#0b2146!important;
    font-size:29px!important;
    line-height:1.08!important;
    letter-spacing:-.03em!important;
  }

  body.tf-homepage .easy-sourcing-form > p,
  body.tf-homepage .rfq-form > p{
    margin:0 0 14px!important;
    color:#74849a!important;
    font-size:12px!important;
    line-height:1.45!important;
  }

  body.tf-homepage .easy-sourcing-form label,
  body.tf-homepage .rfq-form label{
    margin-bottom:5px!important;
    color:#4e627c!important;
    font-size:9px!important;
    line-height:1.1!important;
    font-weight:850!important;
    letter-spacing:.04em!important;
  }

  body.tf-homepage .easy-sourcing-form input,
  body.tf-homepage .easy-sourcing-form select,
  body.tf-homepage .easy-sourcing-form textarea,
  body.tf-homepage .rfq-form input,
  body.tf-homepage .rfq-form select,
  body.tf-homepage .rfq-form textarea{
    height:42px!important;
    min-height:42px!important;
    margin-bottom:10px!important;
    padding:0 12px!important;
    border:1px solid #d7e1ec!important;
    border-radius:10px!important;
    background:#f8fafc!important;
    color:#102846!important;
    font-size:12px!important;
    box-shadow:none!important;
  }

  body.tf-homepage .easy-sourcing-form textarea,
  body.tf-homepage .rfq-form textarea{
    height:78px!important;
    min-height:78px!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
  }

  body.tf-homepage .easy-sourcing-form input:focus,
  body.tf-homepage .easy-sourcing-form select:focus,
  body.tf-homepage .easy-sourcing-form textarea:focus,
  body.tf-homepage .rfq-form input:focus,
  body.tf-homepage .rfq-form select:focus,
  body.tf-homepage .rfq-form textarea:focus{
    border-color:#0f5ecf!important;
    background:#ffffff!important;
    box-shadow:0 0 0 3px rgba(15,94,207,.08)!important;
    outline:none!important;
  }

  body.tf-homepage .easy-sourcing-form button[type="submit"],
  body.tf-homepage .rfq-form button[type="submit"]{
    min-width:190px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 18px!important;
    border:1px solid #f5b51b!important;
    border-radius:10px!important;
    background:#f5b51b!important;
    color:#0b2146!important;
    font-size:11px!important;
    font-weight:900!important;
    box-shadow:0 7px 16px rgba(245,181,27,.20)!important;
  }

  body.tf-homepage .easy-sourcing-form button[type="submit"]:hover,
  body.tf-homepage .rfq-form button[type="submit"]:hover{
    background:#e9a90d!important;
    border-color:#e9a90d!important;
    color:#0b2146!important;
  }
}

/* MOBILE */
@media(max-width:767px){
  body.tf-homepage .easy-sourcing-section,
  body.tf-homepage .rfq-sourcing,
  body.tf-homepage .rfq-section{
    padding:14px 10px 16px!important;
  }

  body.tf-homepage .easy-sourcing-grid,
  body.tf-homepage .rfq-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    border-radius:16px!important;
  }

  /* Mobile brand intro is visible as a compact navy header instead of disappearing */
  body.tf-homepage .easy-sourcing-visual,
  body.tf-homepage .rfq-visual{
    display:block!important;
    position:relative!important;
    padding:15px 14px!important;
    background:#0b2146!important;
    color:#ffffff!important;
  }

  body.tf-homepage .easy-sourcing-visual:before,
  body.tf-homepage .rfq-visual:before{
    content:""!important;
    position:absolute!important;
    left:14px!important;
    top:0!important;
    width:46px!important;
    height:3px!important;
    background:#f5b51b!important;
  }

  body.tf-homepage .easy-sourcing-visual .eyebrow,
  body.tf-homepage .rfq-visual .eyebrow{
    color:#f5b51b!important;
    font-size:8px!important;
    letter-spacing:.13em!important;
  }

  body.tf-homepage .easy-sourcing-visual h2,
  body.tf-homepage .rfq-visual h2{
    margin:6px 0 5px!important;
    color:#ffffff!important;
    font-size:20px!important;
    line-height:1.08!important;
  }

  body.tf-homepage .easy-sourcing-visual p,
  body.tf-homepage .rfq-visual p{
    display:none!important;
  }

  body.tf-homepage .easy-sourcing-visual ul,
  body.tf-homepage .rfq-visual ul{
    display:none!important;
  }

  body.tf-homepage .easy-sourcing-visual a,
  body.tf-homepage .rfq-visual a{
    display:none!important;
  }

  body.tf-homepage .easy-sourcing-form,
  body.tf-homepage .rfq-form{
    padding:15px 13px 13px!important;
    background:#ffffff!important;
  }

  body.tf-homepage .easy-sourcing-form:before,
  body.tf-homepage .rfq-form:before{
    left:13px!important;
    right:auto!important;
    width:42px!important;
    height:3px!important;
    background:#f5b51b!important;
  }

  body.tf-homepage .easy-sourcing-form h2,
  body.tf-homepage .rfq-form h2{
    font-size:21px!important;
  }

  body.tf-homepage .easy-sourcing-form input,
  body.tf-homepage .easy-sourcing-form select,
  body.tf-homepage .rfq-form input,
  body.tf-homepage .rfq-form select{
    height:39px!important;
    min-height:39px!important;
    background:#f8fafc!important;
  }

  body.tf-homepage .easy-sourcing-form textarea,
  body.tf-homepage .rfq-form textarea{
    height:74px!important;
    min-height:74px!important;
    background:#f8fafc!important;
  }

  body.tf-homepage .easy-sourcing-form button[type="submit"],
  body.tf-homepage .rfq-form button[type="submit"]{
    width:100%!important;
    height:41px!important;
    min-height:41px!important;
    border:1px solid #f5b51b!important;
    background:#f5b51b!important;
    color:#0b2146!important;
    font-weight:900!important;
    box-shadow:0 6px 14px rgba(245,181,27,.18)!important;
  }

  body.tf-homepage .easy-sourcing-form button[type="submit"]::after,
  body.tf-homepage .rfq-form button[type="submit"]::after{
    color:#0b2146!important;
  }
}




/* Sprint 273M — RFQ visibility correction + premium solid branding
   Explicitly targets the actual first/left RFQ grid panel as a fallback.
   No gradients. */

body.tf-homepage .easy-sourcing-grid > :first-child,
body.tf-homepage .rfq-grid > :first-child{
  background:#0b2146!important;
  background-image:none!important;
  color:#ffffff!important;
}

body.tf-homepage .easy-sourcing-grid > :first-child h1,
body.tf-homepage .easy-sourcing-grid > :first-child h2,
body.tf-homepage .easy-sourcing-grid > :first-child h3,
body.tf-homepage .rfq-grid > :first-child h1,
body.tf-homepage .rfq-grid > :first-child h2,
body.tf-homepage .rfq-grid > :first-child h3{
  color:#ffffff!important;
  opacity:1!important;
}

body.tf-homepage .easy-sourcing-grid > :first-child p,
body.tf-homepage .easy-sourcing-grid > :first-child li,
body.tf-homepage .easy-sourcing-grid > :first-child span:not(.eyebrow),
body.tf-homepage .rfq-grid > :first-child p,
body.tf-homepage .rfq-grid > :first-child li,
body.tf-homepage .rfq-grid > :first-child span:not(.eyebrow){
  color:#d8e3f1!important;
  opacity:1!important;
}

body.tf-homepage .easy-sourcing-grid > :first-child .eyebrow,
body.tf-homepage .rfq-grid > :first-child .eyebrow{
  color:#ffc43d!important;
  opacity:1!important;
}

body.tf-homepage .easy-sourcing-grid > :first-child a,
body.tf-homepage .rfq-grid > :first-child a{
  color:#ffc43d!important;
  opacity:1!important;
  font-weight:850!important;
}

body.tf-homepage .easy-sourcing-grid > :first-child svg,
body.tf-homepage .rfq-grid > :first-child svg{
  opacity:1!important;
}

/* Ensure any decorative overlays cannot wash out the content */
body.tf-homepage .easy-sourcing-grid > :first-child:after,
body.tf-homepage .rfq-grid > :first-child:after{
  opacity:.12!important;
  pointer-events:none!important;
}

/* Right form: clean high-contrast premium surface */
body.tf-homepage .easy-sourcing-grid > :last-child,
body.tf-homepage .rfq-grid > :last-child{
  background:#ffffff!important;
  background-image:none!important;
  color:#0b2146!important;
}

body.tf-homepage .easy-sourcing-grid > :last-child h1,
body.tf-homepage .easy-sourcing-grid > :last-child h2,
body.tf-homepage .easy-sourcing-grid > :last-child h3,
body.tf-homepage .rfq-grid > :last-child h1,
body.tf-homepage .rfq-grid > :last-child h2,
body.tf-homepage .rfq-grid > :last-child h3{
  color:#0b2146!important;
  opacity:1!important;
}

body.tf-homepage .easy-sourcing-grid > :last-child p,
body.tf-homepage .rfq-grid > :last-child p{
  color:#718198!important;
  opacity:1!important;
}

/* Golden CTA must win over older blue button rules */
body.tf-homepage .easy-sourcing-grid > :last-child button[type="submit"],
body.tf-homepage .rfq-grid > :last-child button[type="submit"],
body.tf-homepage .easy-sourcing-form button[type="submit"],
body.tf-homepage .rfq-form button[type="submit"]{
  background:#ffc43d!important;
  background-image:none!important;
  border-color:#ffc43d!important;
  color:#0b2146!important;
  font-weight:900!important;
  opacity:1!important;
}

body.tf-homepage .easy-sourcing-grid > :last-child button[type="submit"]:hover,
body.tf-homepage .rfq-grid > :last-child button[type="submit"]:hover,
body.tf-homepage .easy-sourcing-form button[type="submit"]:hover,
body.tf-homepage .rfq-form button[type="submit"]:hover{
  background:#f2b62d!important;
  border-color:#f2b62d!important;
  color:#0b2146!important;
}

/* Mobile contrast + compactness */
@media(max-width:767px){
  body.tf-homepage .easy-sourcing-grid > :first-child,
  body.tf-homepage .rfq-grid > :first-child{
    padding:14px!important;
    min-height:0!important;
  }

  body.tf-homepage .easy-sourcing-grid > :first-child h2,
  body.tf-homepage .rfq-grid > :first-child h2{
    font-size:20px!important;
    line-height:1.08!important;
    margin:6px 0 0!important;
  }

  body.tf-homepage .easy-sourcing-grid > :first-child p,
  body.tf-homepage .easy-sourcing-grid > :first-child ul,
  body.tf-homepage .easy-sourcing-grid > :first-child a,
  body.tf-homepage .rfq-grid > :first-child p,
  body.tf-homepage .rfq-grid > :first-child ul,
  body.tf-homepage .rfq-grid > :first-child a{
    display:none!important;
  }

  body.tf-homepage .easy-sourcing-grid > :last-child,
  body.tf-homepage .rfq-grid > :last-child{
    padding:14px 13px!important;
  }
}




/* ============================================================
   Sprint 273N — Browse by Category mobile app responsive system
   Applies consistently to category browse blocks (Agriculture
   through Chemicals and subsequent blocks using the same markup).
   Desktop >= 768px untouched.
   ============================================================ */

@media(max-width:767px){

  /* Section containers */
  body.tf-homepage .browse-category-section,
  body.tf-homepage .category-browse-section,
  body.tf-homepage .industry-browse-section,
  body.tf-homepage .browse-by-category{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:16px 10px 18px!important;
    margin:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  /* Heading row */
  body.tf-homepage .browse-category-section .section-head,
  body.tf-homepage .category-browse-section .section-head,
  body.tf-homepage .industry-browse-section .section-head,
  body.tf-homepage .browse-by-category .section-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 10px!important;
  }

  body.tf-homepage .browse-category-section .eyebrow,
  body.tf-homepage .category-browse-section .eyebrow,
  body.tf-homepage .industry-browse-section .eyebrow,
  body.tf-homepage .browse-by-category .eyebrow{
    margin:0 0 4px!important;
    font-size:7px!important;
    line-height:1!important;
    letter-spacing:.12em!important;
  }

  body.tf-homepage .browse-category-section h2,
  body.tf-homepage .category-browse-section h2,
  body.tf-homepage .industry-browse-section h2,
  body.tf-homepage .browse-by-category h2{
    margin:0 0 3px!important;
    font-size:20px!important;
    line-height:1.06!important;
    letter-spacing:-.03em!important;
    white-space:normal!important;
  }

  body.tf-homepage .browse-category-section .section-copy,
  body.tf-homepage .category-browse-section .section-copy,
  body.tf-homepage .industry-browse-section .section-copy,
  body.tf-homepage .browse-by-category .section-copy{
    margin:0!important;
    max-width:260px!important;
    font-size:9px!important;
    line-height:1.35!important;
  }

  body.tf-homepage .browse-category-section .view-all,
  body.tf-homepage .category-browse-section .view-all,
  body.tf-homepage .industry-browse-section .view-all,
  body.tf-homepage .browse-by-category .view-all{
    min-height:32px!important;
    padding:7px 10px!important;
    border-radius:999px!important;
    font-size:9px!important;
    white-space:nowrap!important;
  }

  /* Global sourcing hero becomes compact, app-like */
  body.tf-homepage .browse-category-section .global-sourcing-card,
  body.tf-homepage .category-browse-section .global-sourcing-card,
  body.tf-homepage .industry-browse-section .global-sourcing-card,
  body.tf-homepage .browse-by-category .global-sourcing-card,
  body.tf-homepage .browse-category-section .category-hero,
  body.tf-homepage .category-browse-section .category-hero,
  body.tf-homepage .industry-browse-section .category-hero,
  body.tf-homepage .browse-by-category .category-hero{
    width:100%!important;
    max-width:100%!important;
    min-height:150px!important;
    height:auto!important;
    margin:0 0 10px!important;
    padding:14px!important;
    border-radius:15px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage .browse-category-section .global-sourcing-card h3,
  body.tf-homepage .category-browse-section .global-sourcing-card h3,
  body.tf-homepage .industry-browse-section .global-sourcing-card h3,
  body.tf-homepage .browse-by-category .global-sourcing-card h3,
  body.tf-homepage .browse-category-section .category-hero h3,
  body.tf-homepage .category-browse-section .category-hero h3,
  body.tf-homepage .industry-browse-section .category-hero h3,
  body.tf-homepage .browse-by-category .category-hero h3{
    max-width:78%!important;
    margin:7px 0 5px!important;
    font-size:18px!important;
    line-height:1.08!important;
  }

  body.tf-homepage .browse-category-section .global-sourcing-card p,
  body.tf-homepage .category-browse-section .global-sourcing-card p,
  body.tf-homepage .industry-browse-section .global-sourcing-card p,
  body.tf-homepage .browse-by-category .global-sourcing-card p,
  body.tf-homepage .browse-category-section .category-hero p,
  body.tf-homepage .category-browse-section .category-hero p,
  body.tf-homepage .industry-browse-section .category-hero p,
  body.tf-homepage .browse-by-category .category-hero p{
    max-width:78%!important;
    margin:0 0 9px!important;
    font-size:9px!important;
    line-height:1.35!important;
  }

  /* Benefit items wrap as compact chips instead of stretching */
  body.tf-homepage .browse-category-section .global-sourcing-card ul,
  body.tf-homepage .category-browse-section .global-sourcing-card ul,
  body.tf-homepage .industry-browse-section .global-sourcing-card ul,
  body.tf-homepage .browse-by-category .global-sourcing-card ul{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:5px 8px!important;
    margin:8px 0 0!important;
    padding:0!important;
    list-style:none!important;
  }

  body.tf-homepage .browse-category-section .global-sourcing-card li,
  body.tf-homepage .category-browse-section .global-sourcing-card li,
  body.tf-homepage .industry-browse-section .global-sourcing-card li,
  body.tf-homepage .browse-by-category .global-sourcing-card li{
    margin:0!important;
    font-size:8px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }

  /* Subcategory cards: real two-column grid, no desktop squeeze */
  body.tf-homepage .browse-category-section .subcategory-grid,
  body.tf-homepage .category-browse-section .subcategory-grid,
  body.tf-homepage .industry-browse-section .subcategory-grid,
  body.tf-homepage .browse-by-category .subcategory-grid,
  body.tf-homepage .browse-category-section .category-products-grid,
  body.tf-homepage .category-browse-section .category-products-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  body.tf-homepage .browse-category-section .subcategory-grid > *,
  body.tf-homepage .category-browse-section .subcategory-grid > *,
  body.tf-homepage .industry-browse-section .subcategory-grid > *,
  body.tf-homepage .browse-by-category .subcategory-grid > *,
  body.tf-homepage .browse-category-section .category-products-grid > *,
  body.tf-homepage .category-browse-section .category-products-grid > *{
    min-width:0!important;
    max-width:100%!important;
    width:auto!important;
    margin:0!important;
    flex:none!important;
    flex-basis:auto!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card,
  body.tf-homepage .category-browse-section .subcategory-card,
  body.tf-homepage .industry-browse-section .subcategory-card,
  body.tf-homepage .browse-by-category .subcategory-card,
  body.tf-homepage .browse-category-section .category-card,
  body.tf-homepage .category-browse-section .category-card{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:180px!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:13px!important;
    box-sizing:border-box!important;
  }

  /* Media/icon area */
  body.tf-homepage .browse-category-section .subcategory-card .media,
  body.tf-homepage .category-browse-section .subcategory-card .media,
  body.tf-homepage .industry-browse-section .subcategory-card .media,
  body.tf-homepage .browse-by-category .subcategory-card .media,
  body.tf-homepage .browse-category-section .category-card .media,
  body.tf-homepage .category-browse-section .category-card .media{
    display:grid!important;
    place-items:center!important;
    width:100%!important;
    height:72px!important;
    min-height:72px!important;
    margin:0!important;
    background:#eef3f9!important;
    overflow:hidden!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card .media img,
  body.tf-homepage .category-browse-section .subcategory-card .media img,
  body.tf-homepage .industry-browse-section .subcategory-card .media img,
  body.tf-homepage .browse-by-category .subcategory-card .media img,
  body.tf-homepage .browse-category-section .category-card .media img,
  body.tf-homepage .category-browse-section .category-card .media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  /* Card content */
  body.tf-homepage .browse-category-section .subcategory-card .content,
  body.tf-homepage .category-browse-section .subcategory-card .content,
  body.tf-homepage .industry-browse-section .subcategory-card .content,
  body.tf-homepage .browse-by-category .subcategory-card .content,
  body.tf-homepage .browse-category-section .category-card .content,
  body.tf-homepage .category-browse-section .category-card .content{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    min-width:0!important;
    padding:9px!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card h3,
  body.tf-homepage .category-browse-section .subcategory-card h3,
  body.tf-homepage .industry-browse-section .subcategory-card h3,
  body.tf-homepage .browse-by-category .subcategory-card h3,
  body.tf-homepage .browse-category-section .category-card h3,
  body.tf-homepage .category-browse-section .category-card h3{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    min-height:28px!important;
    max-height:30px!important;
    margin:0 0 5px!important;
    font-size:10px!important;
    line-height:1.35!important;
    overflow-wrap:anywhere!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card ul,
  body.tf-homepage .category-browse-section .subcategory-card ul,
  body.tf-homepage .industry-browse-section .subcategory-card ul,
  body.tf-homepage .browse-by-category .subcategory-card ul,
  body.tf-homepage .browse-category-section .category-card ul,
  body.tf-homepage .category-browse-section .category-card ul{
    margin:0!important;
    padding:0 0 0 10px!important;
    max-height:50px!important;
    overflow:hidden!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card li,
  body.tf-homepage .category-browse-section .subcategory-card li,
  body.tf-homepage .industry-browse-section .subcategory-card li,
  body.tf-homepage .browse-by-category .subcategory-card li,
  body.tf-homepage .browse-category-section .category-card li,
  body.tf-homepage .category-browse-section .category-card li{
    margin:0 0 2px!important;
    font-size:7.5px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* CTA pinned to bottom */
  body.tf-homepage .browse-category-section .subcategory-card .view-products,
  body.tf-homepage .category-browse-section .subcategory-card .view-products,
  body.tf-homepage .industry-browse-section .subcategory-card .view-products,
  body.tf-homepage .browse-by-category .subcategory-card .view-products,
  body.tf-homepage .browse-category-section .category-card .view-products,
  body.tf-homepage .category-browse-section .category-card .view-products{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:30px!important;
    margin-top:auto!important;
    padding:7px 9px!important;
    border-top:1px solid #e1e8f0!important;
    font-size:8px!important;
    line-height:1!important;
    box-sizing:border-box!important;
  }

  /* Absolute safeguard: no child is allowed to force section overflow */
  body.tf-homepage .browse-category-section *,
  body.tf-homepage .category-browse-section *,
  body.tf-homepage .industry-browse-section *,
  body.tf-homepage .browse-by-category *{
    min-width:0!important;
    box-sizing:border-box!important;
  }
}

@media(max-width:390px){
  body.tf-homepage .browse-category-section,
  body.tf-homepage .category-browse-section,
  body.tf-homepage .industry-browse-section,
  body.tf-homepage .browse-by-category{
    padding-left:8px!important;
    padding-right:8px!important;
  }

  body.tf-homepage .browse-category-section .subcategory-grid,
  body.tf-homepage .category-browse-section .subcategory-grid,
  body.tf-homepage .industry-browse-section .subcategory-grid,
  body.tf-homepage .browse-by-category .subcategory-grid,
  body.tf-homepage .browse-category-section .category-products-grid,
  body.tf-homepage .category-browse-section .category-products-grid{
    gap:7px!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card,
  body.tf-homepage .category-browse-section .subcategory-card,
  body.tf-homepage .industry-browse-section .subcategory-card,
  body.tf-homepage .browse-by-category .subcategory-card,
  body.tf-homepage .browse-category-section .category-card,
  body.tf-homepage .category-browse-section .category-card{
    min-height:166px!important;
  }
}




/* Sprint 273O — Browse by Category mobile 4-column subcategory grid */
@media(max-width:767px){

  body.tf-homepage .browse-category-section .subcategory-grid,
  body.tf-homepage .category-browse-section .subcategory-grid,
  body.tf-homepage .industry-browse-section .subcategory-grid,
  body.tf-homepage .browse-by-category .subcategory-grid,
  body.tf-homepage .browse-category-section .category-products-grid,
  body.tf-homepage .category-browse-section .category-products-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card,
  body.tf-homepage .category-browse-section .subcategory-card,
  body.tf-homepage .industry-browse-section .subcategory-card,
  body.tf-homepage .browse-by-category .subcategory-card,
  body.tf-homepage .browse-category-section .category-card,
  body.tf-homepage .category-browse-section .category-card{
    min-height:132px!important;
    height:100%!important;
    border-radius:10px!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card .media,
  body.tf-homepage .category-browse-section .subcategory-card .media,
  body.tf-homepage .industry-browse-section .subcategory-card .media,
  body.tf-homepage .browse-by-category .subcategory-card .media,
  body.tf-homepage .browse-category-section .category-card .media,
  body.tf-homepage .category-browse-section .category-card .media{
    height:46px!important;
    min-height:46px!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card .content,
  body.tf-homepage .category-browse-section .subcategory-card .content,
  body.tf-homepage .industry-browse-section .subcategory-card .content,
  body.tf-homepage .browse-by-category .subcategory-card .content,
  body.tf-homepage .browse-category-section .category-card .content,
  body.tf-homepage .category-browse-section .category-card .content{
    padding:6px!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card h3,
  body.tf-homepage .category-browse-section .subcategory-card h3,
  body.tf-homepage .industry-browse-section .subcategory-card h3,
  body.tf-homepage .browse-by-category .subcategory-card h3,
  body.tf-homepage .browse-category-section .category-card h3,
  body.tf-homepage .category-browse-section .category-card h3{
    min-height:24px!important;
    max-height:24px!important;
    margin:0 0 3px!important;
    font-size:8px!important;
    line-height:1.45!important;
    -webkit-line-clamp:2!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card ul,
  body.tf-homepage .category-browse-section .subcategory-card ul,
  body.tf-homepage .industry-browse-section .subcategory-card ul,
  body.tf-homepage .browse-by-category .subcategory-card ul,
  body.tf-homepage .browse-category-section .category-card ul,
  body.tf-homepage .category-browse-section .category-card ul{
    max-height:32px!important;
    padding-left:8px!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card li,
  body.tf-homepage .category-browse-section .subcategory-card li,
  body.tf-homepage .industry-browse-section .subcategory-card li,
  body.tf-homepage .browse-by-category .subcategory-card li,
  body.tf-homepage .browse-category-section .category-card li,
  body.tf-homepage .category-browse-section .category-card li{
    margin:0 0 1px!important;
    font-size:6.5px!important;
    line-height:1.2!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card .view-products,
  body.tf-homepage .category-browse-section .subcategory-card .view-products,
  body.tf-homepage .industry-browse-section .subcategory-card .view-products,
  body.tf-homepage .browse-by-category .subcategory-card .view-products,
  body.tf-homepage .browse-category-section .category-card .view-products,
  body.tf-homepage .category-browse-section .category-card .view-products{
    min-height:24px!important;
    padding:5px 6px!important;
    font-size:6.5px!important;
  }
}

@media(max-width:390px){
  body.tf-homepage .browse-category-section .subcategory-grid,
  body.tf-homepage .category-browse-section .subcategory-grid,
  body.tf-homepage .industry-browse-section .subcategory-grid,
  body.tf-homepage .browse-by-category .subcategory-grid,
  body.tf-homepage .browse-category-section .category-products-grid,
  body.tf-homepage .category-browse-section .category-products-grid{
    gap:5px!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card,
  body.tf-homepage .category-browse-section .subcategory-card,
  body.tf-homepage .industry-browse-section .subcategory-card,
  body.tf-homepage .browse-by-category .subcategory-card,
  body.tf-homepage .browse-category-section .category-card,
  body.tf-homepage .category-browse-section .category-card{
    min-height:122px!important;
  }
}




/* ============================================================
   Sprint 273P — Browse by Category mobile 2x2 app-style cards
   Reference target: 2 cards per row, 2 rows visible together,
   compact Global Sourcing banner, no horizontal page overflow.
   Desktop >= 768px unchanged.
   ============================================================ */

@media(max-width:767px){

  /* shared browse-category section shell */
  body.tf-homepage .browse-category-section,
  body.tf-homepage .category-browse-section,
  body.tf-homepage .industry-browse-section,
  body.tf-homepage .browse-by-category{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:14px 10px 18px!important;
    margin:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  /* heading compact */
  body.tf-homepage .browse-category-section .section-head,
  body.tf-homepage .category-browse-section .section-head,
  body.tf-homepage .industry-browse-section .section-head,
  body.tf-homepage .browse-by-category .section-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
    gap:8px!important;
    margin:0 0 10px!important;
  }

  body.tf-homepage .browse-category-section h2,
  body.tf-homepage .category-browse-section h2,
  body.tf-homepage .industry-browse-section h2,
  body.tf-homepage .browse-by-category h2{
    margin:0 0 3px!important;
    font-size:22px!important;
    line-height:1.05!important;
    letter-spacing:-.03em!important;
  }

  body.tf-homepage .browse-category-section .section-copy,
  body.tf-homepage .category-browse-section .section-copy,
  body.tf-homepage .industry-browse-section .section-copy,
  body.tf-homepage .browse-by-category .section-copy{
    margin:0!important;
    max-width:270px!important;
    font-size:10px!important;
    line-height:1.4!important;
  }

  /* compact sourcing banner */
  body.tf-homepage .browse-category-section .global-sourcing-card,
  body.tf-homepage .category-browse-section .global-sourcing-card,
  body.tf-homepage .industry-browse-section .global-sourcing-card,
  body.tf-homepage .browse-by-category .global-sourcing-card,
  body.tf-homepage .browse-category-section .category-hero,
  body.tf-homepage .category-browse-section .category-hero,
  body.tf-homepage .industry-browse-section .category-hero,
  body.tf-homepage .browse-by-category .category-hero{
    width:100%!important;
    max-width:100%!important;
    min-height:170px!important;
    height:auto!important;
    margin:0 0 10px!important;
    padding:16px 14px!important;
    border-radius:16px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage .browse-category-section .global-sourcing-card h3,
  body.tf-homepage .category-browse-section .global-sourcing-card h3,
  body.tf-homepage .industry-browse-section .global-sourcing-card h3,
  body.tf-homepage .browse-by-category .global-sourcing-card h3,
  body.tf-homepage .browse-category-section .category-hero h3,
  body.tf-homepage .category-browse-section .category-hero h3,
  body.tf-homepage .industry-browse-section .category-hero h3,
  body.tf-homepage .browse-by-category .category-hero h3{
    max-width:82%!important;
    margin:8px 0 6px!important;
    font-size:21px!important;
    line-height:1.06!important;
  }

  body.tf-homepage .browse-category-section .global-sourcing-card p,
  body.tf-homepage .category-browse-section .global-sourcing-card p,
  body.tf-homepage .industry-browse-section .global-sourcing-card p,
  body.tf-homepage .browse-by-category .global-sourcing-card p,
  body.tf-homepage .browse-category-section .category-hero p,
  body.tf-homepage .category-browse-section .category-hero p,
  body.tf-homepage .industry-browse-section .category-hero p,
  body.tf-homepage .browse-by-category .category-hero p{
    max-width:86%!important;
    margin:0 0 9px!important;
    font-size:10px!important;
    line-height:1.4!important;
  }

  body.tf-homepage .browse-category-section .global-sourcing-card ul,
  body.tf-homepage .category-browse-section .global-sourcing-card ul,
  body.tf-homepage .industry-browse-section .global-sourcing-card ul,
  body.tf-homepage .browse-by-category .global-sourcing-card ul{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    margin:8px 0 0!important;
    padding:0!important;
    list-style:none!important;
  }

  body.tf-homepage .browse-category-section .global-sourcing-card li,
  body.tf-homepage .category-browse-section .global-sourcing-card li,
  body.tf-homepage .industry-browse-section .global-sourcing-card li,
  body.tf-homepage .browse-by-category .global-sourcing-card li{
    margin:0!important;
    font-size:8px!important;
    line-height:1.25!important;
    white-space:normal!important;
  }

  /* authoritative 2-column grid */
  body.tf-homepage .browse-category-section .subcategory-grid,
  body.tf-homepage .category-browse-section .subcategory-grid,
  body.tf-homepage .industry-browse-section .subcategory-grid,
  body.tf-homepage .browse-by-category .subcategory-grid,
  body.tf-homepage .browse-category-section .category-products-grid,
  body.tf-homepage .category-browse-section .category-products-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  body.tf-homepage .browse-category-section .subcategory-grid > *,
  body.tf-homepage .category-browse-section .subcategory-grid > *,
  body.tf-homepage .industry-browse-section .subcategory-grid > *,
  body.tf-homepage .browse-by-category .subcategory-grid > *,
  body.tf-homepage .browse-category-section .category-products-grid > *,
  body.tf-homepage .category-browse-section .category-products-grid > *{
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    flex:none!important;
    flex-basis:auto!important;
  }

  /* card */
  body.tf-homepage .browse-category-section .subcategory-card,
  body.tf-homepage .category-browse-section .subcategory-card,
  body.tf-homepage .industry-browse-section .subcategory-card,
  body.tf-homepage .browse-by-category .subcategory-card,
  body.tf-homepage .browse-category-section .category-card,
  body.tf-homepage .category-browse-section .category-card{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:260px!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #dce5ef!important;
    border-radius:14px!important;
    background:#ffffff!important;
    box-shadow:0 7px 18px rgba(11,33,70,.045)!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  /* compact media/icon block */
  body.tf-homepage .browse-category-section .subcategory-card .media,
  body.tf-homepage .category-browse-section .subcategory-card .media,
  body.tf-homepage .industry-browse-section .subcategory-card .media,
  body.tf-homepage .browse-by-category .subcategory-card .media,
  body.tf-homepage .browse-category-section .category-card .media,
  body.tf-homepage .category-browse-section .category-card .media{
    display:grid!important;
    place-items:center!important;
    width:78px!important;
    height:78px!important;
    min-height:78px!important;
    margin:12px 0 4px 12px!important;
    border-radius:12px!important;
    background:#eef3f9!important;
    overflow:hidden!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card .media img,
  body.tf-homepage .category-browse-section .subcategory-card .media img,
  body.tf-homepage .industry-browse-section .subcategory-card .media img,
  body.tf-homepage .browse-by-category .subcategory-card .media img,
  body.tf-homepage .browse-category-section .category-card .media img,
  body.tf-homepage .category-browse-section .category-card .media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card .content,
  body.tf-homepage .category-browse-section .subcategory-card .content,
  body.tf-homepage .industry-browse-section .subcategory-card .content,
  body.tf-homepage .browse-by-category .subcategory-card .content,
  body.tf-homepage .browse-category-section .category-card .content,
  body.tf-homepage .category-browse-section .category-card .content{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    min-width:0!important;
    padding:8px 12px 10px!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card h3,
  body.tf-homepage .category-browse-section .subcategory-card h3,
  body.tf-homepage .industry-browse-section .subcategory-card h3,
  body.tf-homepage .browse-by-category .subcategory-card h3,
  body.tf-homepage .browse-category-section .category-card h3,
  body.tf-homepage .category-browse-section .category-card h3{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    min-height:34px!important;
    max-height:36px!important;
    margin:0 0 7px!important;
    overflow:hidden!important;
    font-size:13px!important;
    line-height:1.3!important;
    color:#0b2146!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card ul,
  body.tf-homepage .category-browse-section .subcategory-card ul,
  body.tf-homepage .industry-browse-section .subcategory-card ul,
  body.tf-homepage .browse-by-category .subcategory-card ul,
  body.tf-homepage .browse-category-section .category-card ul,
  body.tf-homepage .category-browse-section .category-card ul{
    margin:0!important;
    padding:0 0 0 13px!important;
    max-height:82px!important;
    overflow:hidden!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card li,
  body.tf-homepage .category-browse-section .subcategory-card li,
  body.tf-homepage .industry-browse-section .subcategory-card li,
  body.tf-homepage .browse-by-category .subcategory-card li,
  body.tf-homepage .browse-category-section .category-card li,
  body.tf-homepage .category-browse-section .category-card li{
    margin:0 0 4px!important;
    font-size:9px!important;
    line-height:1.25!important;
    color:#6f8098!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card .view-products,
  body.tf-homepage .category-browse-section .subcategory-card .view-products,
  body.tf-homepage .industry-browse-section .subcategory-card .view-products,
  body.tf-homepage .browse-by-category .subcategory-card .view-products,
  body.tf-homepage .browse-category-section .category-card .view-products,
  body.tf-homepage .category-browse-section .category-card .view-products{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:36px!important;
    margin-top:auto!important;
    padding:8px 12px!important;
    border-top:1px solid #e3e9f1!important;
    color:#0f5ecf!important;
    font-size:10px!important;
    font-weight:800!important;
    box-sizing:border-box!important;
  }

  /* popular ribbon */
  body.tf-homepage .browse-category-section .popular,
  body.tf-homepage .category-browse-section .popular,
  body.tf-homepage .industry-browse-section .popular,
  body.tf-homepage .browse-by-category .popular{
    font-size:8px!important;
    line-height:1!important;
    padding:5px 8px!important;
  }

  /* kill right-side overflow */
  body.tf-homepage .browse-category-section *,
  body.tf-homepage .category-browse-section *,
  body.tf-homepage .industry-browse-section *,
  body.tf-homepage .browse-by-category *{
    min-width:0!important;
    box-sizing:border-box!important;
  }
}

@media(max-width:390px){
  body.tf-homepage .browse-category-section,
  body.tf-homepage .category-browse-section,
  body.tf-homepage .industry-browse-section,
  body.tf-homepage .browse-by-category{
    padding-left:8px!important;
    padding-right:8px!important;
  }

  body.tf-homepage .browse-category-section .subcategory-grid,
  body.tf-homepage .category-browse-section .subcategory-grid,
  body.tf-homepage .industry-browse-section .subcategory-grid,
  body.tf-homepage .browse-by-category .subcategory-grid,
  body.tf-homepage .browse-category-section .category-products-grid,
  body.tf-homepage .category-browse-section .category-products-grid{
    gap:8px!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card,
  body.tf-homepage .category-browse-section .subcategory-card,
  body.tf-homepage .industry-browse-section .subcategory-card,
  body.tf-homepage .browse-by-category .subcategory-card,
  body.tf-homepage .browse-category-section .category-card,
  body.tf-homepage .category-browse-section .category-card{
    min-height:246px!important;
  }

  body.tf-homepage .browse-category-section .subcategory-card .media,
  body.tf-homepage .category-browse-section .subcategory-card .media,
  body.tf-homepage .industry-browse-section .subcategory-card .media,
  body.tf-homepage .browse-by-category .subcategory-card .media,
  body.tf-homepage .browse-category-section .category-card .media,
  body.tf-homepage .category-browse-section .category-card .media{
    width:68px!important;
    height:68px!important;
    min-height:68px!important;
  }
}




/* ============================================================
   Sprint 273Q — REAL parent-level 2x2 fix
   Previous card CSS was applying, but the actual parent wrapper
   was not becoming a grid. :has() targets the structural parent
   that directly owns category/subcategory cards.
   ============================================================ */
@media(max-width:767px){

  /* Any real wrapper directly containing category cards becomes 2-column. */
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category,
    .category-showcase,
    .category-market
  ) :is(
    div,section,ul
  ):has(> .category-card),
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category,
    .category-showcase,
    .category-market
  ) :is(
    div,section,ul
  ):has(> .subcategory-card),
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category,
    .category-showcase,
    .category-market
  ) :is(
    div,section,ul
  ):has(> [class*="category-card"]),
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category,
    .category-showcase,
    .category-market
  ) :is(
    div,section,ul
  ):has(> [class*="subcategory-card"]){
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  /* Direct card children fill their grid cell, never carry desktop flex-basis. */
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category,
    .category-showcase,
    .category-market
  ) :is(div,section,ul):has(> [class*="category-card"]) > [class*="category-card"],
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category,
    .category-showcase,
    .category-market
  ) :is(div,section,ul):has(> [class*="subcategory-card"]) > [class*="subcategory-card"]{
    grid-column:auto!important;
    grid-row:auto!important;
    flex:none!important;
    flex-basis:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    transform:none!important;
    box-sizing:border-box!important;
  }

  /* Approved reference card geometry: vertical, readable, 2x2. */
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category
  ) [class*="category-card"],
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category
  ) [class*="subcategory-card"]{
    display:flex!important;
    flex-direction:column!important;
    min-height:250px!important;
    height:100%!important;
    border:1px solid #dce5ef!important;
    border-radius:14px!important;
    background:#fff!important;
    overflow:hidden!important;
    box-shadow:0 6px 18px rgba(11,33,70,.045)!important;
  }

  /* Common first visual/media column from desktop card becomes a top block. */
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category
  ) [class*="category-card"] > :first-child,
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category
  ) [class*="subcategory-card"] > :first-child{
    flex:none!important;
    width:76px!important;
    min-width:76px!important;
    max-width:76px!important;
    height:76px!important;
    min-height:76px!important;
    margin:12px 0 4px 12px!important;
    border-radius:12px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  /* If first child is merely a content wrapper, don't let it enforce desktop split width. */
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category
  ) [class*="category-card"] > :not(:first-child),
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category
  ) [class*="subcategory-card"] > :not(:first-child){
    min-width:0!important;
    max-width:100%!important;
  }

  /* Desktop horizontal card body resets to full width below the icon. */
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category
  ) [class*="category-card"] > :nth-child(2),
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category
  ) [class*="subcategory-card"] > :nth-child(2){
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:8px 12px 10px!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category
  ) [class*="category-card"] h3,
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category
  ) [class*="subcategory-card"] h3{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    min-height:34px!important;
    max-height:36px!important;
    margin:0 0 7px!important;
    font-size:13px!important;
    line-height:1.3!important;
    color:#0b2146!important;
  }

  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category
  ) [class*="category-card"] li,
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category
  ) [class*="subcategory-card"] li{
    margin-bottom:4px!important;
    font-size:9px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Most real card footer links/buttons are the last child. */
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category
  ) [class*="category-card"] > :last-child,
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category
  ) [class*="subcategory-card"] > :last-child{
    width:100%!important;
    max-width:100%!important;
    margin-top:auto!important;
    box-sizing:border-box!important;
  }

  /* Hard safeguard against any old desktop parent widths. */
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category
  ){
    overflow-x:hidden!important;
  }
}

@media(max-width:390px){
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category,
    .category-showcase,
    .category-market
  ) :is(div,section,ul):has(> [class*="category-card"]),
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category,
    .category-showcase,
    .category-market
  ) :is(div,section,ul):has(> [class*="subcategory-card"]){
    gap:8px!important;
  }

  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category
  ) [class*="category-card"],
  body.tf-homepage :is(
    .browse-category-section,
    .category-browse-section,
    .industry-browse-section,
    .browse-by-category
  ) [class*="subcategory-card"]{
    min-height:238px!important;
  }
}

