/* ===== enterprise-navigation-v2.css ===== */
/* ==========================================================
   Sprint 366C.27 — Enterprise Marketplace Mega Menu V2
   One canonical desktop dropdown layer. Mobile untouched.
   Solid colors only — no gradients.
   ========================================================== */

@media (min-width:1025px){
  /* Anchor every marketplace dropdown to one predictable shell. */
  .premium-header .nav-row{
    position:relative !important;
    z-index:1200 !important;
    overflow:visible !important;
  }
  .premium-header .nav-inner{
    position:relative !important;
    overflow:visible !important;
  }
  .premium-header .tf-market-nav{
    position:static !important;
  }
  .premium-header .tf-market-nav-item{
    position:static !important;
    isolation:auto !important;
  }

  /* Active trigger: compact and clear. */
  .premium-header .tf-market-nav-item>button{
    position:relative !important;
    min-height:42px !important;
    padding:0 15px !important;
    border:0 !important;
    border-radius:8px !important;
    background:transparent !important;
    color:#172a46 !important;
    font-size:13px !important;
    font-weight:800 !important;
  }
  .premium-header .tf-market-nav-item>button:hover,
  .premium-header .tf-market-nav-item>button[aria-expanded="true"]{
    background:#f3f7fc !important;
    color:#0759ca !important;
  }
  .premium-header .tf-market-nav-item>button[aria-expanded="true"]::after{
    content:"" !important;
    position:absolute !important;
    right:15px !important;
    bottom:2px !important;
    left:15px !important;
    height:2px !important;
    border-radius:999px !important;
    background:#f4b72f !important;
  }
  .premium-header .tf-chevron{
    margin-left:5px !important;
    transition:transform .16s ease !important;
  }
  .premium-header .tf-market-nav-item>button[aria-expanded="true"] .tf-chevron{
    transform:rotate(180deg) !important;
  }

  /* Full enterprise panel, constrained to the header shell. */
  .premium-header .tf-nav-dropdown{
    position:absolute !important;
    z-index:1320 !important;
    top:calc(100% + 1px) !important;
    right:0 !important;
    left:0 !important;
    display:grid !important;
    grid-template-columns:240px minmax(0,1fr) 260px !important;
    gap:18px !important;
    width:100% !important;
    max-width:none !important;
    min-height:0 !important;
    margin:0 !important;
    padding:18px !important;
    transform:none !important;
    border:1px solid #dce5ef !important;
    border-top:2px solid #f4b72f !important;
    border-radius:0 0 16px 16px !important;
    background:#ffffff !important;
    box-shadow:0 18px 42px rgba(7,27,70,.14) !important;
    animation:tfEnterpriseMenuIn .14s ease-out both !important;
    overflow:hidden !important;
  }
  .premium-header .tf-nav-dropdown[hidden]{
    display:none !important;
  }

  /* Left explanation block. */
  .premium-header .tf-nav-panel-intro{
    display:flex !important;
    min-width:0 !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    padding:6px 17px 6px 2px !important;
    border-right:1px solid #e6ecf3 !important;
    background:#fff !important;
  }
  .premium-header .tf-nav-eyebrow{
    margin:0 0 10px !important;
    color:#0759ca !important;
    font-size:9px !important;
    font-weight:900 !important;
    letter-spacing:.13em !important;
    text-transform:uppercase !important;
  }
  .premium-header .tf-nav-panel-intro h3{
    max-width:210px !important;
    margin:0 !important;
    color:#0b1f3a !important;
    font-size:22px !important;
    line-height:1.08 !important;
    letter-spacing:-.025em !important;
  }
  .premium-header .tf-nav-panel-intro p{
    max-width:215px !important;
    margin:9px 0 15px !important;
    color:#61758c !important;
    font-size:10px !important;
    line-height:1.48 !important;
  }
  .premium-header .tf-nav-panel-cta{
    display:inline-flex !important;
    min-height:36px !important;
    align-items:center !important;
    border:1px solid #cbd9e8 !important;
    border-radius:9px !important;
    background:#fff !important;
    padding:0 11px !important;
    color:#0759ca !important;
    font-size:9px !important;
    font-weight:900 !important;
    text-decoration:none !important;
  }
  .premium-header .tf-nav-panel-cta:hover{
    border-color:#f4b72f !important;
    background:#fff8e6 !important;
  }

  /* Six actions: consistent 2 × 3 compact grid. */
  .premium-header .tf-nav-panel-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-content:center !important;
    gap:8px !important;
    min-width:0 !important;
  }
  .premium-header .tf-nav-panel-grid>a{
    display:grid !important;
    grid-template-columns:38px minmax(0,1fr) 16px !important;
    min-width:0 !important;
    min-height:62px !important;
    align-items:center !important;
    gap:9px !important;
    margin:0 !important;
    border:1px solid #dfe7f0 !important;
    border-radius:11px !important;
    background:#fff !important;
    padding:8px 9px !important;
    color:#0b1f3a !important;
    text-decoration:none !important;
    transition:border-color .15s ease,background .15s ease,transform .15s ease !important;
  }
  .premium-header .tf-nav-panel-grid>a::after{
    content:"›" !important;
    justify-self:end !important;
    color:#7790aa !important;
    font-size:17px !important;
    font-weight:500 !important;
  }
  .premium-header .tf-nav-panel-grid>a:hover{
    transform:translateY(-1px) !important;
    border-color:#adc7e8 !important;
    background:#f8fbff !important;
  }
  .premium-header .tf-nav-menu-icon{
    display:grid !important;
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
    min-height:38px !important;
    place-items:center !important;
    border-radius:10px !important;
    background:#eef5fd !important;
    color:#0759ca !important;
  }
  .premium-header .tf-nav-menu-icon svg{
    width:17px !important;
    height:17px !important;
  }
  .premium-header .tf-nav-panel-grid>a>span:last-of-type{
    display:flex !important;
    min-width:0 !important;
    flex-direction:column !important;
    gap:2px !important;
  }
  .premium-header .tf-nav-panel-grid strong{
    overflow:hidden !important;
    color:#102344 !important;
    font-size:11px !important;
    line-height:1.2 !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  .premium-header .tf-nav-panel-grid small{
    overflow:hidden !important;
    color:#75879a !important;
    font-size:8px !important;
    line-height:1.25 !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  /* Semantic icon accents without redesigning card geometry. */
  .premium-header .tf-nav-dropdown--secure .tf-nav-menu-icon{
    background:#eaf7ef !important;
    color:#16834a !important;
  }
  .premium-header .tf-nav-dropdown--rfq .tf-nav-menu-icon,
  .premium-header .tf-nav-dropdown--new .tf-nav-menu-icon{
    background:#fff3d1 !important;
    color:#8b6200 !important;
  }

  /* Right contextual CTA — solid premium blocks, no gradients. */
  .premium-header .tf-nav-panel-promo{
    display:flex !important;
    min-width:0 !important;
    min-height:210px !important;
    flex-direction:column !important;
    justify-content:flex-end !important;
    border-radius:14px !important;
    background:#0b2f66 !important;
    padding:18px !important;
    color:#fff !important;
  }
  .premium-header .tf-nav-panel-promo>span{
    margin-bottom:auto !important;
    color:#f4b72f !important;
    font-size:8px !important;
    font-weight:900 !important;
    letter-spacing:.12em !important;
  }
  .premium-header .tf-nav-panel-promo strong{
    margin:12px 0 7px !important;
    color:#fff !important;
    font-size:17px !important;
    line-height:1.15 !important;
  }
  .premium-header .tf-nav-panel-promo p{
    margin:0 0 13px !important;
    color:#d4e0ed !important;
    font-size:9px !important;
    line-height:1.45 !important;
  }
  .premium-header .tf-nav-panel-promo a{
    display:inline-flex !important;
    width:max-content !important;
    min-height:35px !important;
    align-items:center !important;
    border-radius:8px !important;
    background:#f4b72f !important;
    padding:0 11px !important;
    color:#0b1f3a !important;
    font-size:9px !important;
    font-weight:900 !important;
    text-decoration:none !important;
  }
  .premium-header .tf-nav-panel-promo--green{
    background:#087052 !important;
  }
  .premium-header .tf-nav-panel-promo--dark{
    background:#172943 !important;
  }
  .premium-header .tf-nav-panel-promo--yellow{
    background:#f4b72f !important;
    color:#0b1f3a !important;
  }
  .premium-header .tf-nav-panel-promo--yellow>span,
  .premium-header .tf-nav-panel-promo--yellow strong{
    color:#0b1f3a !important;
  }
  .premium-header .tf-nav-panel-promo--yellow p{
    color:#594718 !important;
  }
  .premium-header .tf-nav-panel-promo--yellow a{
    background:#0b1f3a !important;
    color:#fff !important;
  }
  .premium-header .tf-nav-panel-promo--blue{
    background:#0759ca !important;
  }

  /* All Categories gets the same shell/radius/visual density. */
  .premium-header .tf-category-mega{
    position:absolute !important;
    z-index:1325 !important;
    top:100% !important;
    right:0 !important;
    left:0 !important;
    width:100% !important;
    padding:0 !important;
  }
  .premium-header .tf-category-mega[hidden]{
    display:none !important;
  }
  .premium-header .tf-category-mega-backdrop{
    position:fixed !important;
    inset:0 !important;
    z-index:-1 !important;
    border:0 !important;
    background:rgba(7,27,70,.10) !important;
    backdrop-filter:none !important;
  }
  .premium-header .tf-category-mega-dialog{
    position:relative !important;
    display:grid !important;
    grid-template-columns:220px minmax(0,1fr) !important;
    width:100% !important;
    max-width:none !important;
    height:min(390px,calc(100vh - 180px)) !important;
    margin:0 !important;
    overflow:hidden !important;
    border:1px solid #dce5ef !important;
    border-top:2px solid #f4b72f !important;
    border-radius:0 0 16px 16px !important;
    background:#fff !important;
    box-shadow:0 18px 42px rgba(7,27,70,.14) !important;
  }
  .premium-header .tf-category-mega-mobile-head{
    display:none !important;
  }
  .premium-header .tf-category-mega-sidebar{
    overflow:hidden !important;
    border-right:1px solid #e4ebf3 !important;
    background:#f8fafc !important;
    padding:11px !important;
  }
  .premium-header .tf-category-mega-search{
    min-height:39px !important;
    border:1px solid #dce5ef !important;
    border-radius:9px !important;
    background:#fff !important;
  }
  .premium-header .tf-category-mega-list{
    gap:3px !important;
    margin-top:7px !important;
  }
  .premium-header .tf-category-mega-parent{
    min-height:39px !important;
    border-radius:8px !important;
    padding:5px 7px !important;
    font-size:10px !important;
  }
  .premium-header .tf-category-mega-parent.is-active{
    background:#eaf3ff !important;
    color:#0759ca !important;
  }
  .premium-header .tf-category-mega-parent-media{
    width:29px !important;
    height:29px !important;
    border-radius:8px !important;
  }
  .premium-header .tf-category-mega-content{
    overflow:auto !important;
    padding:15px 17px 18px !important;
  }
  .premium-header .tf-category-mega-title{
    padding-bottom:10px !important;
  }
  .premium-header .tf-category-mega-title h2{
    font-size:20px !important;
  }
  .premium-header .tf-category-mega-title p{
    font-size:9px !important;
  }
  .premium-header .tf-category-mega-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:7px !important;
    margin-top:9px !important;
  }
  .premium-header .tf-category-mega-card{
    min-height:55px !important;
    border:1px solid #dfe7f0 !important;
    border-radius:10px !important;
    background:#fff !important;
    padding:7px !important;
  }
  .premium-header .tf-category-mega-card:hover{
    border-color:#adc7e8 !important;
    background:#f8fbff !important;
  }

  @keyframes tfEnterpriseMenuIn{
    from{opacity:0;transform:translateY(-4px)}
    to{opacity:1;transform:translateY(0)}
  }
}

@media (min-width:1025px) and (max-width:1280px){
  .premium-header .tf-nav-dropdown{
    grid-template-columns:205px minmax(0,1fr) 220px !important;
    gap:12px !important;
    padding:14px !important;
  }
  .premium-header .tf-nav-panel-intro h3{font-size:18px !important}
  .premium-header .tf-nav-panel-grid>a{min-height:58px !important}
  .premium-header .tf-nav-panel-promo{min-height:195px !important;padding:15px !important}
  .premium-header .tf-category-mega-dialog{
    grid-template-columns:205px minmax(0,1fr) !important;
  }
  .premium-header .tf-category-mega-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}


/* ===== mobile-bottom-space-ownership-1.0.276.css ===== */
/* TradesFolks Sprint 875 — global mobile bottom spacing ownership
   Keep only the clearance actually required by the fixed marketplace dock.
   Package detail pages opt out completely because their dock is server-side disabled. */
@media(max-width:760px){
  body{
    padding-bottom:calc(74px + env(safe-area-inset-bottom))!important;
  }

  body.tf-hide-mobile-market-dock{
    padding-bottom:env(safe-area-inset-bottom)!important;
  }

  /* Remove stacked/duplicate footer clearance that creates blank space. */
  body:not(.supplier-store-body) .tf-premium-footer{
    margin-bottom:0!important;
  }

  body:not(.supplier-store-body) main:last-of-type,
  body:not(.supplier-store-body) #main-content:last-of-type{
    margin-bottom:0;
  }
}

@media(max-width:430px){
  body{
    padding-bottom:calc(72px + env(safe-area-inset-bottom))!important;
  }
  body.tf-hide-mobile-market-dock{
    padding-bottom:env(safe-area-inset-bottom)!important;
  }
}

/* Do not interfere with screens that own a dedicated commerce action bar. */
@media(max-width:760px){
  body.supplier-store-body{
    padding-bottom:calc(82px + env(safe-area-inset-bottom))!important;
  }
  body:has([data-product-detail]){
    padding-bottom:calc(84px + env(safe-area-inset-bottom))!important;
  }
}


/* ===== enterprise-product-detail-v3.css ===== */
/* ==========================================================
   Sprint 366C.28 — Enterprise Product Detail V3
   Scoped to .product-page-v2 / .product-information-section.
   Solid colors only. No gradients.
   ========================================================== */

/* ---------- DESKTOP FOUNDATION ---------- */
.product-page-v2{
  background:#f5f7fb !important;
  padding:0 0 18px !important;
}
.product-page-v2 .product-shell,
.product-information-section .product-info-grid,
.related-products-section>.shell{
  width:min(1480px,calc(100% - 40px)) !important;
  max-width:1480px !important;
  margin-inline:auto !important;
}
.product-page-v2 .compact-breadcrumbs{
  min-height:38px !important;
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  padding:0 !important;
  color:#6f8195 !important;
  font-size:10px !important;
}
.product-page-v2 .compact-breadcrumbs a{
  color:#60758c !important;
  text-decoration:none !important;
}
.product-page-v2 .compact-breadcrumbs b{
  overflow:hidden !important;
  color:#203754 !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

/* Main commerce layout: image / buying / supplier. */
.product-page-v2 .product-commerce-grid{
  display:grid !important;
  grid-template-columns:minmax(330px,.92fr) minmax(500px,1.28fr) minmax(270px,.68fr) !important;
  gap:12px !important;
  align-items:start !important;
}
.product-page-v2 .product-media-card,
.product-page-v2 .product-buy-card,
.product-page-v2 .supplier-commerce-card,
.product-information-section .product-content-card,
.product-information-section .quote-card{
  min-width:0 !important;
  border:1px solid #dde6ef !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 8px 24px rgba(10,35,73,.055) !important;
}
.product-page-v2 .product-media-card{
  padding:10px !important;
}
.product-page-v2 .product-main-media{
  height:430px !important;
  min-height:430px !important;
  overflow:hidden !important;
  border-radius:12px !important;
  background:#f1f5fa !important;
}
.product-page-v2 .product-main-media>img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}
.product-page-v2 .media-zoom-button{
  display:grid !important;
  width:36px !important;
  height:36px !important;
  place-items:center !important;
  border:1px solid #d7e2ee !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#0b2f66 !important;
  font-size:18px !important;
}
.product-page-v2 .product-corner-badge{
  border-radius:8px !important;
  background:#0b2f66 !important;
  color:#fff !important;
  font-size:9px !important;
}
.product-page-v2 .product-thumb-rail{
  gap:7px !important;
  padding-top:8px !important;
}
.product-page-v2 .product-thumb{
  width:58px !important;
  height:58px !important;
  flex:0 0 58px !important;
  border-radius:9px !important;
}

/* Buying card */
.product-page-v2 .product-buy-card{
  padding:17px !important;
}
.product-page-v2 .mobile-trust-banner{
  display:none !important;
}
.product-page-v2 .product-status-row{
  display:flex !important;
  gap:6px !important;
  flex-wrap:wrap !important;
  margin-bottom:10px !important;
}
.product-page-v2 .status-chip{
  min-height:25px !important;
  display:inline-flex !important;
  align-items:center !important;
  border-radius:999px !important;
  padding:0 9px !important;
  font-size:8px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}
.product-page-v2 .status-chip.blue{background:#eaf3ff !important;color:#0759ca !important}
.product-page-v2 .status-chip.green{background:#e9f7ef !important;color:#167144 !important}
.product-page-v2 .status-chip.gold{background:#fff3d1 !important;color:#8b6200 !important}

.product-page-v2 .product-buy-card h1{
  margin:0 0 7px !important;
  color:#0b2f66 !important;
  font-size:29px !important;
  line-height:1.08 !important;
  letter-spacing:-.03em !important;
}
.product-page-v2 .product-meta-line,
.product-page-v2 .product-utility-row{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  flex-wrap:wrap !important;
  color:#63778d !important;
  font-size:10px !important;
}
.product-page-v2 .product-meta-line{
  margin-bottom:5px !important;
}
.product-page-v2 .product-meta-line strong{
  color:#9a6b00 !important;
}
.product-page-v2 .product-utility-row{
  margin-bottom:13px !important;
}
.product-page-v2 .product-save-action,
.product-page-v2 .product-share-action{
  min-height:30px !important;
  border:1px solid #dbe4ee !important;
  border-radius:8px !important;
  background:#fff !important;
  padding:0 9px !important;
  color:#173759 !important;
  font-size:9px !important;
}

.product-page-v2 .product-price-panel{
  margin:0 0 10px !important;
  border:1px solid #eadfb8 !important;
  border-radius:13px !important;
  background:#fff9e9 !important;
  padding:13px 14px !important;
}
.product-page-v2 .price-label{
  display:block !important;
  margin-bottom:4px !important;
  color:#6c7f94 !important;
  font-size:7px !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
}
.product-page-v2 .product-price-large{
  display:flex !important;
  align-items:baseline !important;
  gap:4px !important;
  color:#0b2f66 !important;
  font-size:27px !important;
  font-weight:900 !important;
  line-height:1.05 !important;
}
.product-page-v2 .product-price-large small{
  color:#61758a !important;
  font-size:9px !important;
  font-weight:700 !important;
}
.product-page-v2 .product-price-panel>p{
  margin:7px 0 0 !important;
  color:#718196 !important;
  font-size:8px !important;
  line-height:1.4 !important;
}
.product-page-v2 .product-line-total{
  margin:5px 0 0 !important;
  color:#0c5bc7 !important;
  font-size:9px !important;
  font-weight:800 !important;
}

/* Commercial facts */
.product-page-v2 .commercial-facts{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  overflow:hidden !important;
  margin:0 0 10px !important;
  border:1px solid #dfe7f0 !important;
  border-radius:12px !important;
  background:#fff !important;
}
.product-page-v2 .commercial-facts>div{
  min-width:0 !important;
  padding:10px !important;
  border:0 !important;
  border-right:1px solid #e6ecf3 !important;
}
.product-page-v2 .commercial-facts>div:last-child{
  border-right:0 !important;
}
.product-page-v2 .commercial-facts span{
  display:block !important;
  margin-bottom:3px !important;
  color:#71849a !important;
  font-size:7px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}
.product-page-v2 .commercial-facts b{
  display:block !important;
  color:#172d49 !important;
  font-size:9px !important;
  line-height:1.25 !important;
}

/* Delivery fields */
.product-page-v2 .product-delivery-card{
  margin:0 0 10px !important;
  border:1px solid #dfe7f0 !important;
  border-radius:12px !important;
  background:#f9fbfd !important;
  padding:11px !important;
}
.product-page-v2 .product-delivery-card>div:first-child{
  margin-bottom:7px !important;
}
.product-page-v2 .product-delivery-card strong{
  color:#17304f !important;
  font-size:10px !important;
}
.product-page-v2 .product-delivery-fields{
  display:grid !important;
  grid-template-columns:1fr 1fr 1fr auto !important;
  gap:6px !important;
}
.product-page-v2 .product-delivery-fields input{
  width:100% !important;
  min-width:0 !important;
  height:38px !important;
  border:1px solid #d5e0ec !important;
  border-radius:8px !important;
  background:#fff !important;
  padding:0 9px !important;
  color:#172d49 !important;
  font-size:9px !important;
  outline:none !important;
}
.product-page-v2 .product-delivery-fields .button{
  min-width:78px !important;
  height:38px !important;
  border-radius:8px !important;
  padding:0 12px !important;
}
.product-page-v2 .product-delivery-result{
  margin-top:7px !important;
  color:#61758a !important;
  font-size:8px !important;
  line-height:1.4 !important;
}

/* Buying mode and actions */
.product-page-v2 .commerce-mode-card{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 110px !important;
  gap:10px !important;
  align-items:end !important;
  margin:0 0 10px !important;
  border:1px solid #dfe7f0 !important;
  border-radius:12px !important;
  background:#fff !important;
  padding:10px !important;
}
.product-page-v2 .commerce-mode-card strong{
  color:#172d49 !important;
  font-size:10px !important;
}
.product-page-v2 .commerce-field{
  display:grid !important;
  gap:4px !important;
  min-width:0 !important;
}
.product-page-v2 .commerce-field>span{
  color:#5f738a !important;
  font-size:8px !important;
  font-weight:800 !important;
}
.product-page-v2 .commerce-field input,
.product-page-v2 .commerce-field select{
  width:100% !important;
  height:36px !important;
  border:1px solid #d7e1ec !important;
  border-radius:8px !important;
  background:#fff !important;
  padding:0 8px !important;
  font-size:9px !important;
}
.product-page-v2 .desktop-purchase-actions{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:7px !important;
}
.product-page-v2 .desktop-purchase-actions .button{
  min-height:40px !important;
  border-radius:9px !important;
  font-size:9px !important;
  font-weight:900 !important;
}
.product-page-v2 .buyer-protection-line{
  display:flex !important;
  gap:11px !important;
  flex-wrap:wrap !important;
  margin-top:9px !important;
  color:#60758b !important;
  font-size:7px !important;
}

/* Supplier card */
.product-page-v2 .supplier-commerce-card{
  position:sticky !important;
  top:112px !important;
  padding:14px !important;
}
.product-page-v2 .supplier-card-head{
  display:flex !important;
  gap:9px !important;
  align-items:center !important;
}
.product-page-v2 .supplier-card-head>img{
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
  border:1px solid #dce6f0 !important;
  border-radius:10px !important;
  background:#f2f6fb !important;
  object-fit:contain !important;
  padding:5px !important;
}
.product-page-v2 .supplier-card-head small{
  color:#73859a !important;
  font-size:7px !important;
}
.product-page-v2 .supplier-card-head h2{
  margin:2px 0 0 !important;
  color:#0b2f66 !important;
  font-size:13px !important;
  line-height:1.15 !important;
}
.product-page-v2 .supplier-location{
  margin:11px 0 8px !important;
  color:#6c7f94 !important;
  font-size:8px !important;
}
.product-page-v2 .supplier-trust-signals{
  display:flex !important;
  gap:5px !important;
  flex-wrap:wrap !important;
  margin-bottom:10px !important;
}
.product-page-v2 .supplier-trust-signals span{
  display:inline-flex !important;
  min-height:25px !important;
  align-items:center !important;
  border-radius:999px !important;
  background:#eef5fd !important;
  padding:0 7px !important;
  color:#0759ca !important;
  font-size:7px !important;
  font-weight:800 !important;
}
.product-page-v2 .supplier-facts{
  margin:0 0 11px !important;
  border-top:1px solid #e7edf4 !important;
}
.product-page-v2 .supplier-facts>div{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  min-height:40px !important;
  border-bottom:1px solid #e7edf4 !important;
}
.product-page-v2 .supplier-facts dt{
  color:#718399 !important;
  font-size:7px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}
.product-page-v2 .supplier-facts dd{
  margin:0 !important;
  color:#17314f !important;
  font-size:8px !important;
  font-weight:800 !important;
  text-align:right !important;
}
.product-page-v2 .supplier-commerce-card>.button{
  min-height:42px !important;
  border-radius:9px !important;
  font-size:9px !important;
  font-weight:900 !important;
}

/* ---------- INFORMATION / RFQ ---------- */
.product-information-section{
  padding:0 0 26px !important;
  background:#f5f7fb !important;
}
.product-information-section .product-info-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 330px !important;
  gap:12px !important;
  align-items:start !important;
}
.product-information-section .product-content-card{
  padding:16px !important;
}
.product-information-section .product-tab-strip{
  display:flex !important;
  gap:8px !important;
  margin:0 0 12px !important;
  overflow-x:auto !important;
  border-bottom:1px solid #e6edf4 !important;
}
.product-information-section .product-tab-strip button{
  min-height:40px !important;
  min-width:max-content !important;
  border:0 !important;
  border-bottom:2px solid transparent !important;
  background:transparent !important;
  padding:0 2px !important;
  color:#60748a !important;
  font-size:10px !important;
  font-weight:900 !important;
}
.product-information-section .product-tab-strip button.is-active{
  border-color:#f4b72f !important;
  color:#0759ca !important;
}
.product-information-section .product-tab-panel{
  padding:6px 0 0 !important;
}
.product-information-section .product-copy-block h2{
  margin:0 0 8px !important;
  color:#102c52 !important;
  font-size:16px !important;
}
.product-information-section .rich-text{
  color:#52677e !important;
  font-size:10px !important;
  line-height:1.65 !important;
  overflow-wrap:anywhere !important;
}
.product-information-section .product-trust-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  margin-top:13px !important;
}
.product-information-section .product-trust-grid>div{
  display:flex !important;
  min-width:0 !important;
  min-height:92px !important;
  flex-direction:column !important;
  gap:5px !important;
  border:1px solid #e0e8f1 !important;
  border-radius:11px !important;
  background:#f9fbfd !important;
  padding:11px !important;
}
.product-information-section .product-trust-grid b{
  color:#17304f !important;
  font-size:9px !important;
}
.product-information-section .product-trust-grid span{
  color:#687d93 !important;
  font-size:8px !important;
  line-height:1.4 !important;
}
.product-information-section .quote-card{
  position:sticky !important;
  top:112px !important;
  overflow:hidden !important;
  padding:0 !important;
}
.product-information-section .quote-card-heading{
  display:flex !important;
  gap:9px !important;
  align-items:flex-start !important;
  border-bottom:1px solid #e5ecf3 !important;
  background:#f9fbfd !important;
  padding:14px !important;
}
.product-information-section .quote-card-heading>span{
  display:grid !important;
  width:34px !important;
  height:34px !important;
  flex:0 0 34px !important;
  place-items:center !important;
  border-radius:9px !important;
  background:#0b2f66 !important;
  color:#fff !important;
  font-size:8px !important;
  font-weight:900 !important;
}
.product-information-section .quote-card-heading h2{
  margin:0 0 4px !important;
  color:#102c52 !important;
  font-size:16px !important;
}
.product-information-section .quote-card-heading p{
  margin:0 !important;
  color:#718399 !important;
  font-size:8px !important;
  line-height:1.4 !important;
}
.product-information-section .quote-form{
  display:grid !important;
  gap:9px !important;
  padding:13px !important;
}
.product-information-section .quote-form label{
  display:grid !important;
  min-width:0 !important;
  gap:4px !important;
}
.product-information-section .quote-form label>span{
  color:#334b67 !important;
  font-size:8px !important;
  font-weight:800 !important;
}
.product-information-section .quote-form input,
.product-information-section .quote-form select,
.product-information-section .quote-form textarea{
  width:100% !important;
  min-width:0 !important;
  border:1px solid #d7e1ec !important;
  border-radius:8px !important;
  background:#fff !important;
  padding:8px 9px !important;
  color:#172d49 !important;
  font-size:9px !important;
  outline:none !important;
}
.product-information-section .quote-form input,
.product-information-section .quote-form select{
  height:38px !important;
}
.product-information-section .quote-form textarea{
  min-height:96px !important;
  resize:vertical !important;
  line-height:1.45 !important;
}
.product-information-section .form-grid-two,
.product-information-section .form-grid-quantity{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:7px !important;
}
.product-information-section .quote-form>.button{
  min-height:41px !important;
  border-radius:9px !important;
  background:#f4b72f !important;
  color:#0b1f3a !important;
  font-size:9px !important;
  font-weight:900 !important;
}
.product-information-section .privacy-note{
  color:#7b8b9e !important;
  font-size:7px !important;
  line-height:1.35 !important;
}

/* ---------- MOBILE ---------- */
@media(max-width:767px){
  .product-page-v2{
    padding:0 0 8px !important;
  }
  .product-page-v2 .product-shell,
  .product-information-section .product-info-grid,
  .related-products-section>.shell{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 10px !important;
  }
  .product-page-v2 .compact-breadcrumbs{
    min-height:32px !important;
    padding:0 2px !important;
    font-size:7px !important;
  }

  .product-page-v2 .product-commerce-grid{
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    flex-direction:column !important;
    gap:8px !important;
  }

  /* Restore logical mobile order. */
  .product-page-v2 .product-media-card{order:1 !important}
  .product-page-v2 .product-buy-card{order:2 !important}
  .product-page-v2 .supplier-commerce-card{order:3 !important}

  .product-page-v2 .product-media-card,
  .product-page-v2 .product-buy-card,
  .product-page-v2 .supplier-commerce-card{
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    border-radius:13px !important;
    box-shadow:none !important;
  }
  .product-page-v2 .product-media-card{
    padding:7px !important;
  }
  .product-page-v2 .product-main-media{
    height:280px !important;
    min-height:280px !important;
    border-radius:10px !important;
  }
  .product-page-v2 .mobile-gallery-actions{
    display:flex !important;
    gap:5px !important;
  }
  .product-page-v2 .product-buy-card{
    padding:13px !important;
  }
  .product-page-v2 .mobile-trust-banner{
    display:flex !important;
    min-height:36px !important;
    align-items:center !important;
    gap:7px !important;
    margin:-2px 0 10px !important;
    border-radius:9px !important;
    background:#eef5fd !important;
    padding:0 9px !important;
    color:#0b2f66 !important;
  }
  .product-page-v2 .mobile-trust-banner small{
    margin-left:auto !important;
    color:#657a90 !important;
    font-size:7px !important;
  }
  .product-page-v2 .product-buy-card h1{
    font-size:22px !important;
    line-height:1.08 !important;
  }
  .product-page-v2 .product-meta-line,
  .product-page-v2 .product-utility-row{
    gap:6px !important;
    font-size:8px !important;
  }
  .product-page-v2 .product-price-panel{
    padding:11px !important;
  }
  .product-page-v2 .product-price-large{
    font-size:23px !important;
  }

  .product-page-v2 .commercial-facts{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .product-page-v2 .commercial-facts>div{
    grid-column:auto !important;
    border-top:0 !important;
    border-right:1px solid #e6ecf3 !important;
    padding:8px !important;
  }
  .product-page-v2 .commercial-facts>div:last-child{
    border-right:0 !important;
  }
  .product-page-v2 .commercial-facts span{font-size:6px !important}
  .product-page-v2 .commercial-facts b{font-size:8px !important}

  .product-page-v2 .product-delivery-fields{
    grid-template-columns:1fr 1fr !important;
    gap:6px !important;
  }
  .product-page-v2 .product-delivery-fields input,
  .product-page-v2 .product-delivery-fields .button{
    width:100% !important;
    min-width:0 !important;
    height:38px !important;
  }
  .product-page-v2 .product-delivery-fields .button{
    border-radius:8px !important;
  }
  .product-page-v2 .commerce-mode-card{
    grid-template-columns:minmax(0,1fr) 90px !important;
    gap:8px !important;
  }

  /* Desktop action cluster stays out of mobile; bottom action remains canonical. */
  .product-page-v2 .desktop-purchase-actions{
    display:none !important;
  }
  .product-page-v2 .buyer-protection-line{
    gap:7px !important;
    font-size:6px !important;
  }

  .product-page-v2 .supplier-commerce-card{
    position:static !important;
    top:auto !important;
    padding:12px !important;
  }
  .product-page-v2 .supplier-card-head h2{
    font-size:12px !important;
  }
  .product-page-v2 .supplier-trust-signals{
    margin:8px 0 !important;
  }
  .product-page-v2 .supplier-trust-signals span{
    min-height:23px !important;
    font-size:6px !important;
  }
  .product-page-v2 .supplier-facts{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:5px !important;
    border-top:0 !important;
  }
  .product-page-v2 .supplier-facts>div{
    display:block !important;
    min-height:58px !important;
    border:1px solid #e4ebf3 !important;
    border-radius:9px !important;
    padding:7px !important;
  }
  .product-page-v2 .supplier-facts dt{
    margin-bottom:4px !important;
    font-size:6px !important;
  }
  .product-page-v2 .supplier-facts dd{
    font-size:7px !important;
    line-height:1.25 !important;
    text-align:left !important;
  }

  /* Information area full-width and clean. */
  .product-information-section{
    padding:0 0 108px !important;
  }
  .product-information-section .product-info-grid{
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    flex-direction:column !important;
    gap:8px !important;
  }
  .product-information-section .product-content-card,
  .product-information-section .quote-card{
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    border-radius:13px !important;
    box-shadow:none !important;
  }
  .product-information-section .product-content-card{
    padding:0 !important;
    overflow:hidden !important;
  }
  .product-information-section .product-tab-strip{
    position:static !important;
    top:auto !important;
    z-index:auto !important;
    gap:0 !important;
    margin:0 !important;
    background:#fff !important;
    backdrop-filter:none !important;
  }
  .product-information-section .product-tab-strip button{
    flex:1 0 auto !important;
    min-height:44px !important;
    padding:0 12px !important;
    font-size:8px !important;
  }
  .product-information-section .product-tab-panel{
    padding:14px !important;
  }
  .product-information-section .product-copy-block h2{
    font-size:15px !important;
  }
  .product-information-section .rich-text{
    font-size:9px !important;
    line-height:1.6 !important;
  }
  .product-information-section .product-trust-grid{
    grid-template-columns:1fr !important;
    gap:6px !important;
  }
  .product-information-section .product-trust-grid>div{
    min-height:0 !important;
    padding:10px !important;
  }

  .product-information-section .quote-card{
    position:static !important;
    top:auto !important;
  }
  .product-information-section .quote-card-heading{
    padding:12px !important;
  }
  .product-information-section .quote-card-heading h2{
    font-size:15px !important;
  }
  .product-information-section .quote-form{
    padding:12px !important;
  }
  .product-information-section .form-grid-two,
  .product-information-section .form-grid-quantity{
    grid-template-columns:1fr 1fr !important;
    gap:6px !important;
  }
  .product-information-section .quote-form input,
  .product-information-section .quote-form select,
  .product-information-section .quote-form textarea{
    font-size:16px !important; /* prevents iOS zoom */
  }
  .product-information-section .quote-form input,
  .product-information-section .quote-form select{
    height:42px !important;
  }
  .product-information-section .quote-form textarea{
    min-height:110px !important;
  }

  /* Canonical product action sits above the marketplace dock, never underneath it. */
  .mobile-product-actionbar{
    position:fixed !important;
    z-index:9988 !important;
    left:10px !important;
    right:90px !important;
    bottom:calc(82px + env(safe-area-inset-bottom)) !important;
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) !important;
    gap:6px !important;
    width:auto !important;
    margin:0 !important;
    border:1px solid #dce5ef !important;
    border-radius:17px !important;
    background:#fff !important;
    padding:6px !important;
    box-shadow:0 12px 30px rgba(11,31,58,.15) !important;
    backdrop-filter:none !important;
  }
  .mobile-product-actionbar .mobile-chat-action{
    display:flex !important;
    min-height:46px !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:12px !important;
    background:#eef5fd !important;
    color:#0b2f66 !important;
    text-decoration:none !important;
  }
  .mobile-product-actionbar .mobile-chat-action small{
    font-size:6px !important;
    font-weight:900 !important;
  }
  .mobile-product-actionbar .button{
    width:100% !important;
    min-width:0 !important;
    min-height:46px !important;
    border-radius:12px !important;
    background:#f4b72f !important;
    color:#0b1f3a !important;
    font-size:9px !important;
    font-weight:900 !important;
  }
  .mobile-product-actionbar form{
    width:100% !important;
  }

  body:has(.product-page-v2) .ai-chat-widget{
    bottom:calc(154px + env(safe-area-inset-bottom)) !important;
  }
}

@media(max-width:390px){
  .product-page-v2 .product-main-media{
    height:250px !important;
    min-height:250px !important;
  }
  .product-page-v2 .product-delivery-fields{
    grid-template-columns:1fr !important;
  }
  .product-page-v2 .commerce-mode-card{
    grid-template-columns:1fr !important;
  }
  .product-information-section .form-grid-two{
    grid-template-columns:1fr !important;
  }
  .mobile-product-actionbar{
    right:80px !important;
  }
}

/* Never let this product stylesheet alter desktop mobile navigation. */
@media(min-width:768px){
  .mobile-product-actionbar{
    display:none !important;
  }
}


/* ==========================================================
   Sprint 366C.29 — Product Detail Mobile Floating UI Cleanup
   Product detail keeps its own commerce CTA; global dock/AI hidden.
   ========================================================== */
@media(max-width:767px){
  body:has(.product-page-v2) .tf-mobile-market-dock,
  body:has(.product-page-v2) .tf-mobile-market-dock-row,
  body:has(.product-page-v2) .tf-mobile-market-pill,
  body:has(.product-page-v2) .tf-mobile-rfq-side,
  body:has(.product-page-v2) .tf-mobile-cart-float,
  body:has(.product-page-v2) .mobile-app-nav,
  body:has(.product-page-v2) .tf-mobile-dock{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    width:0 !important;
    height:0 !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  body:has(.product-page-v2) .ai-chat-widget,
  body:has(.product-page-v2) .ai-chat-launcher{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  /* Product page's own commerce CTA becomes the only mobile floating action. */
  body:has(.product-page-v2) .mobile-product-actionbar{
    left:10px !important;
    right:10px !important;
    bottom:calc(10px + env(safe-area-inset-bottom)) !important;
    grid-template-columns:56px minmax(0,1fr) !important;
    z-index:9990 !important;
  }

  body:has(.product-page-v2) .product-information-section{
    padding-bottom:calc(82px + env(safe-area-inset-bottom)) !important;
  }
}

/* ==========================================================
   Sprint 18.3.86 — Enterprise Product Detail V4
   Full-width commerce hierarchy, buyer confidence, fluid media,
   responsive supplier card and mobile 3-action commerce dock.
   ========================================================== */
:root{
  --pdp-gutter:24px;
}
@media(min-width:1600px){:root{--pdp-gutter:28px}}
@media(max-width:1023px){:root{--pdp-gutter:16px}}
@media(max-width:767px){:root{--pdp-gutter:12px}}

.product-page-v2 .product-shell,
.product-information-section .product-info-grid,
.related-products-section>.shell{
  width:calc(100% - (var(--pdp-gutter) * 2)) !important;
  max-width:none !important;
  margin-inline:var(--pdp-gutter) !important;
}

@media(min-width:1280px){
  .product-page-v2 .product-commerce-grid{
    grid-template-columns:minmax(360px,.95fr) minmax(520px,1.35fr) minmax(285px,.72fr) !important;
    gap:16px !important;
  }
  .product-page-v2 .supplier-commerce-card{
    position:sticky !important;
    top:92px !important;
  }
}

.product-page-v2 .product-main-media{
  height:clamp(390px,32vw,570px) !important;
  min-height:0 !important;
  background:#f7f9fc !important;
}
.product-page-v2 .product-main-media>img{
  object-fit:contain !important;
  padding:clamp(8px,1vw,16px) !important;
}
.product-page-v2 .product-buy-card{
  padding:clamp(16px,1.35vw,24px) !important;
}
.product-page-v2 .product-buy-card h1{
  font-size:clamp(26px,2vw,38px) !important;
  line-height:1.12 !important;
}
.product-page-v2 .product-price-large{
  font-size:clamp(28px,2.15vw,42px) !important;
}

.product-page-v2 .product-confidence-strip{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  margin:0 0 12px !important;
}
.product-page-v2 .product-confidence-strip>div{
  display:flex !important;
  min-width:0 !important;
  align-items:flex-start !important;
  gap:8px !important;
  border:1px solid #e0e8f1 !important;
  border-radius:11px !important;
  background:#f8fafc !important;
  padding:9px 10px !important;
}
.product-page-v2 .confidence-icon{
  display:grid !important;
  width:25px !important;
  height:25px !important;
  flex:0 0 25px !important;
  place-items:center !important;
  border-radius:50% !important;
  background:#fff4cd !important;
  color:#7d5900 !important;
  font-size:11px !important;
  font-weight:900 !important;
}
.product-page-v2 .product-confidence-strip b,
.product-page-v2 .product-confidence-strip small{
  display:block !important;
  min-width:0 !important;
}
.product-page-v2 .product-confidence-strip b{
  color:#17304f !important;
  font-size:9px !important;
  line-height:1.25 !important;
}
.product-page-v2 .product-confidence-strip small{
  margin-top:2px !important;
  color:#6e8196 !important;
  font-size:7px !important;
  line-height:1.35 !important;
}

.product-information-section .product-info-grid{
  grid-template-columns:minmax(0,1fr) minmax(320px,390px) !important;
  gap:16px !important;
}
.product-information-section .product-content-card,
.product-information-section .quote-card{
  border-radius:16px !important;
}
.related-products-section .product-grid{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:12px !important;
}

.product-image-lightbox:not([hidden]){
  position:fixed !important;
  inset:0 !important;
  z-index:10050 !important;
  display:grid !important;
  place-items:center !important;
  background:rgba(8,20,38,.86) !important;
  padding:24px !important;
}
.product-image-lightbox img{
  max-width:min(1180px,92vw) !important;
  max-height:88vh !important;
  border-radius:16px !important;
  background:#fff !important;
  object-fit:contain !important;
}
.product-image-lightbox button{
  position:absolute !important;
  top:20px !important;
  right:24px !important;
  width:44px !important;
  height:44px !important;
  border:0 !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#102c4f !important;
  font-size:28px !important;
  cursor:pointer !important;
}
.product-lightbox-open{overflow:hidden !important}

@media(min-width:1024px) and (max-width:1279px){
  .product-page-v2 .product-commerce-grid{
    grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr) !important;
    gap:14px !important;
  }
  .product-page-v2 .supplier-commerce-card{
    grid-column:1/-1 !important;
    display:grid !important;
    grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr) auto !important;
    gap:14px !important;
    align-items:center !important;
  }
  .product-page-v2 .supplier-facts{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .related-products-section .product-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
}

@media(max-width:1023px){
  .product-page-v2 .product-commerce-grid{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .product-page-v2 .product-main-media{
    height:clamp(340px,58vw,520px) !important;
  }
  .product-page-v2 .product-confidence-strip{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .product-information-section .product-info-grid{
    display:flex !important;
    flex-direction:column !important;
  }
  .related-products-section .product-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}

@media(max-width:767px){
  .product-page-v2 .product-shell,
  .product-information-section .product-info-grid,
  .related-products-section>.shell{
    width:calc(100% - 24px) !important;
    margin-inline:12px !important;
  }
  .product-page-v2 .compact-breadcrumbs{
    overflow:hidden !important;
    white-space:nowrap !important;
  }
  .product-page-v2 .product-media-card,
  .product-page-v2 .product-buy-card,
  .product-page-v2 .supplier-commerce-card{
    border-radius:13px !important;
  }
  .product-page-v2 .product-main-media{
    height:min(82vw,390px) !important;
    min-height:260px !important;
  }
  .product-page-v2 .product-buy-card h1{
    font-size:22px !important;
    line-height:1.2 !important;
  }
  .product-page-v2 .product-confidence-strip{
    display:flex !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory !important;
    scrollbar-width:none !important;
  }
  .product-page-v2 .product-confidence-strip::-webkit-scrollbar{display:none !important}
  .product-page-v2 .product-confidence-strip>div{
    min-width:220px !important;
    flex:0 0 78% !important;
    scroll-snap-align:start !important;
  }
  .product-page-v2 .commercial-facts{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .product-page-v2 .product-delivery-fields{
    grid-template-columns:1fr 1fr !important;
  }
  .product-page-v2 .product-delivery-fields #pdpCountry,
  .product-page-v2 .product-delivery-fields .button{
    grid-column:auto !important;
  }
  body:has(.product-page-v2) .mobile-product-actionbar{
    grid-template-columns:52px minmax(0,.9fr) minmax(0,1.1fr) !important;
    gap:6px !important;
  }
  .mobile-product-actionbar .mobile-cart-action{
    background:#fff !important;
    border:1px solid #f0b82e !important;
    color:#18304f !important;
  }
  .related-products-section .product-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
}

@media(max-width:420px){
  .product-page-v2 .product-delivery-fields{grid-template-columns:1fr !important}
  .product-page-v2 .commercial-facts{grid-template-columns:1fr !important}
  .product-page-v2 .commercial-facts>div{border-right:0 !important;border-bottom:1px solid #e6ecf3 !important}
  .product-page-v2 .commercial-facts>div:last-child{border-bottom:0 !important}
  body:has(.product-page-v2) .mobile-product-actionbar{
    grid-template-columns:48px minmax(0,.85fr) minmax(0,1.15fr) !important;
  }
  .mobile-product-actionbar .button{font-size:8px !important;padding-inline:7px !important}
}


/* ===== frontend-fullwidth.css ===== */
/* TradesFolks 18.3.70 — balanced full-width public marketplace gutters
   Desktop keeps the premium full-width presentation without content touching
   the viewport edges. Admin/Seller/Employee workspaces remain untouched. */
:root{
  --tf-public-edge-gutter:24px;
}

/* Canonical public layout shell. Loaded last so historical max-width rules
   cannot pull the marketplace back into a narrow centered container. */
body .shell{
  width:calc(100% - (var(--tf-public-edge-gutter) * 2))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Homepage V3 wrappers which are not standard `.shell` containers. */
body:has(.tf-home-v3) .tf-home-v3-hero,
body:has(.tf-home-v3) .tf-home-v3-trust{
  width:calc(100% - (var(--tf-public-edge-gutter) * 2))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Feature sections that historically carry their own high-specificity widths. */
body:has(.tf-home-v3) :where(
  .country-network-premium,
  .curated-b2b-market,
  .easy-sourcing-section,
  .home-category-showcases,
  .festival-marketplace,
  .marketplace-products,
  .section-soft,
  .new-arrivals,
  .rfq-market-board,
  .trade-services,
  .industry-collections,
  .marketplace-insights,
  .home-reels,
  .home-content-hub
) > .shell{
  width:calc(100% - (var(--tf-public-edge-gutter) * 2))!important;
  max-width:none!important;
}

/* Responsive horizontal rhythm:
   large desktop 28px | desktop 24px | tablet 16px | mobile 12px */
@media (min-width:1600px){
  :root{--tf-public-edge-gutter:28px}
}
@media (min-width:768px) and (max-width:1100px){
  :root{--tf-public-edge-gutter:16px}
}
@media (max-width:767px){
  :root{--tf-public-edge-gutter:12px}
}

/* ==========================================================
   TradesFolks 18.3.71 — Homepage Source-by-Country responsive repair
   Keeps the country artwork at its native ~2:1 presentation and prevents
   the full-width layout from turning the market rail into oversized or
   overflowing cards. Scoped only to the homepage country section.
   ========================================================== */
body.tf-homepage:has(.tf-home-v3) .country-network-premium{
  overflow:hidden;
}
body.tf-homepage:has(.tf-home-v3) .country-network-premium > .shell{
  min-width:0;
}
body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-network-head{
  min-width:0;
}
body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-network-head > div{
  min-width:0;
}
body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-network-head > a{
  max-width:100%;
  white-space:nowrap;
}

/* Desktop/tablet: true responsive grid, never an overflowing horizontal rail. */
body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-market-rail{
  display:grid!important;
  grid-auto-flow:row!important;
  grid-auto-columns:auto!important;
  grid-template-rows:none!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  padding:2px 0 0!important;
  margin:0!important;
  scroll-snap-type:none!important;
}
body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-market-card{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  border-radius:14px!important;
}

/* Market images were generated around 2:1. Preserve that ratio instead of
   stretching them into shallow banners when the page becomes full width. */
body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-market-visual,
body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-market-visual.has-market-image{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:2 / 1!important;
  padding:0!important;
  overflow:hidden!important;
  background:#eef2f7!important;
}
body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-market-artwork{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  background:#eef2f7!important;
  z-index:1!important;
}
body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-market-visual.has-market-image::before,
body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-market-visual.has-market-image::after{
  display:none!important;
}
body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-flag.country-flag-image{
  position:absolute!important;
  top:12px!important;
  left:12px!important;
  width:46px!important;
  height:30px!important;
  min-width:46px!important;
  min-height:30px!important;
  padding:0!important;
  border-radius:5px!important;
  overflow:hidden!important;
  z-index:4!important;
}
body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-flag.country-flag-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-market-mark{
  top:12px!important;
  right:12px!important;
  z-index:4!important;
}
body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-market-body{
  min-width:0;
  padding:11px 12px 12px!important;
}
body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-market-body > strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Compact laptops / smaller desktops. */
@media (max-width:1449px) and (min-width:1100px){
  body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-market-rail{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

/* Tablets and narrow laptops. */
@media (max-width:1099px) and (min-width:768px){
  body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-market-rail{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
  }
}

/* Mobile: app-like horizontal discovery rail, sized from the actual viewport. */
@media (max-width:767px){
  body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-network-head{
    align-items:flex-end!important;
    gap:10px!important;
  }
  body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-network-head > a{
    min-height:34px!important;
    padding:0 9px!important;
    font-size:8px!important;
  }
  body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-market-rail{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:min(78vw,290px)!important;
    grid-template-columns:none!important;
    grid-template-rows:1fr!important;
    gap:10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none;
    padding:2px 0 8px!important;
  }
  body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-market-rail::-webkit-scrollbar{
    display:none;
  }
  body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-market-card{
    scroll-snap-align:start!important;
  }
  body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-flag.country-flag-image{
    top:9px!important;
    left:9px!important;
    width:40px!important;
    height:26px!important;
    min-width:40px!important;
    min-height:26px!important;
  }
  body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-market-mark{
    top:9px!important;
    right:9px!important;
  }
}

@media (max-width:420px){
  body.tf-homepage:has(.tf-home-v3) .country-network-premium .country-market-rail{
    grid-auto-columns:82vw!important;
  }
}

/* ==========================================================
   Sprint 18.3.72 — Curated for Business / Amazon-style 4-card row
   Desktop: exactly four primary cards in one row.
   Internal products: 2 x 2 visual tiles, image-first hierarchy.
   ========================================================== */
body.tf-homepage:has(.tf-home-v3) .curated-b2b-market{
  overflow:hidden!important;
  background:#f3f6f9!important;
}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-market>.shell{
  width:var(--tf-page-width,calc(100% - 48px))!important;
  max-width:none!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-heading{
  margin:0 0 16px!important;
}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-rail{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  gap:16px!important;
  width:100%!important;
  overflow:visible!important;
  align-items:stretch!important;
}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  height:100%!important;
  padding:18px!important;
  border:1px solid #e0e6ed!important;
  border-radius:4px!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-card>h3{
  min-height:48px!important;
  margin:0 0 14px!important;
  color:#0f1f36!important;
  font-size:clamp(18px,1.15vw,24px)!important;
  font-weight:800!important;
  line-height:1.18!important;
  letter-spacing:-.025em!important;
}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,auto)!important;
  gap:16px 14px!important;
  width:100%!important;
  min-width:0!important;
  flex:1 1 auto!important;
  overflow:visible!important;
}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-item{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#101828!important;
  text-decoration:none!important;
  overflow:visible!important;
}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-item:hover{
  border:0!important;
  background:transparent!important;
}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-image{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1.42 / 1!important;
  margin:0 0 7px!important;
  overflow:hidden!important;
  border-radius:2px!important;
  background:#f3f5f7!important;
}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-image img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  transition:transform .22s ease!important;
}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-item:hover .curated-b2b-image img{
  transform:scale(1.025)!important;
}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-image.is-missing,
body.tf-homepage:has(.tf-home-v3) .curated-b2b-image:has(.curated-b2b-placeholder){
  background:#f0f3f7!important;
}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-item>strong{
  display:-webkit-box!important;
  min-height:34px!important;
  margin:0!important;
  overflow:hidden!important;
  color:#17233a!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.3!important;
  text-overflow:ellipsis!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-item>small{
  display:none!important;
}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-cta{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  align-self:flex-start!important;
  margin:20px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#0b63ce!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-decoration:none!important;
}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-cta:hover{
  text-decoration:underline!important;
}

/* Narrow desktop: preserve four cards, reduce typography and spacing. */
@media (max-width:1399px) and (min-width:1100px){
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-rail{
    gap:12px!important;
  }
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-card{
    padding:14px!important;
  }
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-card>h3{
    min-height:42px!important;
    font-size:17px!important;
  }
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-grid{
    gap:13px 10px!important;
  }
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-item>strong{
    font-size:12px!important;
  }
}

/* Tablet: two cards per row, each card still keeps its internal 2x2 layout. */
@media (max-width:1099px) and (min-width:700px){
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-rail{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-card>h3{
    min-height:auto!important;
  }
}

/* Mobile: one-card-at-a-time app-like rail. */
@media (max-width:699px){
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-market>.shell{
    width:calc(100% - 24px)!important;
  }
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-heading{
    margin-bottom:12px!important;
  }
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-rail{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:min(88vw,360px)!important;
    grid-template-columns:none!important;
    gap:10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:1px 0 8px!important;
    scroll-snap-type:x mandatory!important;
    overscroll-behavior-inline:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-rail::-webkit-scrollbar{
    display:none!important;
  }
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-card{
    scroll-snap-align:start!important;
    padding:14px!important;
  }
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-card>h3{
    min-height:auto!important;
    margin-bottom:12px!important;
    font-size:18px!important;
  }
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-grid{
    gap:13px 10px!important;
  }
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-item>strong{
    min-height:32px!important;
    font-size:12px!important;
  }
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-cta{
    margin-top:16px!important;
  }
}


/* ===== home-responsive-qa.css ===== */
/* TradesFolks Sprint 18.3.84 — Homepage Responsive QA & UI Polish
   Scoped to the public marketplace homepage only. */

body.tf-homepage:has(.tf-home-v3){
  --tf-home-gutter:24px;
  --tf-home-section-y:34px;
  --tf-home-card-gap:14px;
  overflow-x:hidden;
}
body.tf-homepage:has(.tf-home-v3) :where(.shell,.market-shell){
  width:calc(100% - (var(--tf-home-gutter) * 2))!important;
  max-width:none!important;
  margin-inline:auto!important;
}
body.tf-homepage:has(.tf-home-v3) img{max-width:100%;}
body.tf-homepage:has(.tf-home-v3) :where(.section-head,.curated-b2b-heading,.country-market-head){
  gap:16px!important;
}
body.tf-homepage:has(.tf-home-v3) :where(.section-head h2,.curated-b2b-heading h2,.country-market-head h2){
  text-wrap:balance;
}

/* Header + navigation: keep the new full-width shell aligned without crowding. */
body.tf-homepage:has(.tf-home-v3) .header-main{gap:clamp(14px,1.5vw,28px)!important;}
body.tf-homepage:has(.tf-home-v3) .nav-inner{min-width:0!important;}
body.tf-homepage:has(.tf-home-v3) .nav-inner nav{min-width:0!important;gap:clamp(16px,1.7vw,30px)!important;}

/* Hero: fluid two-column desktop, clean single-column tablet/mobile. */
body.tf-homepage:has(.tf-home-v3) .market-hero{padding-block:clamp(26px,3.2vw,52px)!important;}
body.tf-homepage:has(.tf-home-v3) .market-hero-grid{
  grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr)!important;
  gap:clamp(22px,3vw,52px)!important;
  align-items:center!important;
}
body.tf-homepage:has(.tf-home-v3) .market-hero h1{
  font-size:clamp(36px,4.35vw,68px)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
  text-wrap:balance;
}
body.tf-homepage:has(.tf-home-v3) .market-hero p{max-width:780px!important;}
body.tf-homepage:has(.tf-home-v3) .market-rfq-card{min-width:0!important;}

/* Common cards and product/category media: prevent stretching after full-width conversion. */
body.tf-homepage:has(.tf-home-v3) :where(.product-card,.category-card,.supplier-card,.curated-b2b-card,.country-market-card){min-width:0!important;}
body.tf-homepage:has(.tf-home-v3) .product-image{aspect-ratio:1/1!important;height:auto!important;min-height:0!important;}
body.tf-homepage:has(.tf-home-v3) .product-image img{width:100%!important;height:100%!important;object-fit:contain!important;}
body.tf-homepage:has(.tf-home-v3) .category-image{aspect-ratio:1.75/1!important;height:auto!important;min-height:0!important;}
body.tf-homepage:has(.tf-home-v3) .category-image img{width:100%!important;height:100%!important;object-fit:cover!important;}

/* Source by country: proportional artwork and stable text height. */
body.tf-homepage:has(.tf-home-v3) .country-market-rail{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:var(--tf-home-card-gap)!important;
  overflow:visible!important;
}
body.tf-homepage:has(.tf-home-v3) .country-market-card{height:100%!important;overflow:hidden!important;}
body.tf-homepage:has(.tf-home-v3) .country-market-visual{
  position:relative!important;
  width:100%!important;
  aspect-ratio:2/1!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
body.tf-homepage:has(.tf-home-v3) .country-market-artwork{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center!important;
}
body.tf-homepage:has(.tf-home-v3) .country-market-body{min-height:104px!important;display:flex!important;flex-direction:column!important;}
body.tf-homepage:has(.tf-home-v3) .country-market-body small{margin-top:auto!important;}

/* Amazon-style sourcing area: exactly 4 cards on desktop. */
body.tf-homepage:has(.tf-home-v3) .curated-b2b-rail{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:var(--tf-home-card-gap)!important;
  overflow:visible!important;
}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-card{height:100%!important;display:flex!important;flex-direction:column!important;}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-image{aspect-ratio:1.28/1!important;height:auto!important;overflow:hidden!important;}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-image img{width:100%!important;height:100%!important;object-fit:cover!important;}
body.tf-homepage:has(.tf-home-v3) .curated-b2b-cta{margin-top:auto!important;padding-top:18px!important;}

/* RFQ: keep uploaded image visible and the form readable across resolutions. */






/* Footer aligns to the same visual edge as homepage content. */
body.tf-homepage:has(.tf-home-v3) footer :where(.shell,.footer-shell){max-width:none!important;}

@media (min-width:1600px){
  body.tf-homepage:has(.tf-home-v3){--tf-home-gutter:28px;--tf-home-card-gap:16px;}
}
@media (max-width:1399px) and (min-width:1100px){
  body.tf-homepage:has(.tf-home-v3){--tf-home-gutter:24px;--tf-home-card-gap:12px;}
  body.tf-homepage:has(.tf-home-v3) .country-market-rail{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-card{padding:14px!important;}
}
@media (max-width:1099px){
  body.tf-homepage:has(.tf-home-v3){--tf-home-gutter:16px;--tf-home-section-y:28px;}
  body.tf-homepage:has(.tf-home-v3) .market-hero-grid{grid-template-columns:1fr!important;gap:20px!important;}
  body.tf-homepage:has(.tf-home-v3) .market-rfq-card{max-width:none!important;width:100%!important;}
  body.tf-homepage:has(.tf-home-v3) .country-market-rail{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-rail{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  
  
}
@media (max-width:760px){
  body.tf-homepage:has(.tf-home-v3){--tf-home-gutter:12px;--tf-home-card-gap:10px;}
  body.tf-homepage:has(.tf-home-v3) :where(.section-head,.curated-b2b-heading,.country-market-head){align-items:flex-start!important;flex-direction:column!important;}
  body.tf-homepage:has(.tf-home-v3) .market-hero{padding-block:18px!important;}
  body.tf-homepage:has(.tf-home-v3) .market-hero h1{font-size:clamp(29px,9vw,39px)!important;}
  body.tf-homepage:has(.tf-home-v3) .country-market-rail{
    display:grid!important;grid-auto-flow:column!important;grid-template-columns:none!important;
    grid-auto-columns:min(78vw,320px)!important;overflow-x:auto!important;overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;padding-bottom:7px!important;scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.tf-homepage:has(.tf-home-v3) .country-market-rail::-webkit-scrollbar{display:none!important;}
  body.tf-homepage:has(.tf-home-v3) .country-market-card{scroll-snap-align:start!important;}
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-rail{
    display:grid!important;grid-auto-flow:column!important;grid-template-columns:none!important;
    grid-auto-columns:min(88vw,360px)!important;overflow-x:auto!important;overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;padding-bottom:8px!important;scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-rail::-webkit-scrollbar{display:none!important;}
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-card{scroll-snap-align:start!important;}
  
  
  
  
}
@media (max-width:420px){
  body.tf-homepage:has(.tf-home-v3){--tf-home-gutter:10px;}
  body.tf-homepage:has(.tf-home-v3) .country-market-rail{grid-auto-columns:84vw!important;}
  body.tf-homepage:has(.tf-home-v3) .curated-b2b-rail{grid-auto-columns:91vw!important;}
  
}


/* Sprint 18.3.88 — Hero slider adaptive contrast + responsive polish */
body:has(.tf-home-v3) .tf-home-v3-hero{isolation:isolate}
body:has(.tf-home-v3) .tf-home-v3-media{z-index:0}
body:has(.tf-home-v3) .tf-home-v3-overlay{z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(4,20,48,.88) 0%,rgba(4,20,48,.82) 25%,rgba(4,20,48,.67) 45%,rgba(4,20,48,.30) 61%,rgba(4,20,48,.05) 78%,rgba(4,20,48,0) 100%)}
body:has(.tf-home-v3) .tf-home-v3-inner{z-index:2}
body:has(.tf-home-v3) .tf-home-v3-copy{position:relative;z-index:2;color:#fff}
body:has(.tf-home-v3) .tf-home-v3-copy [data-v3-title]{color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.28)!important;max-width:15ch;text-wrap:balance;overflow-wrap:anywhere}
body:has(.tf-home-v3) .tf-home-v3-copy [data-v3-description]{color:#eef4fb!important;-webkit-text-fill-color:#eef4fb!important;text-shadow:0 1px 10px rgba(0,0,0,.26)!important;max-width:62ch}
body:has(.tf-home-v3) .tf-home-v3-eyebrow{color:#ffe08a!important;-webkit-text-fill-color:#ffe08a!important;border-color:rgba(244,183,47,.72);background:rgba(7,27,70,.68);box-shadow:0 5px 18px rgba(0,0,0,.12);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
body:has(.tf-home-v3) .tf-home-v3-popular,body:has(.tf-home-v3) .tf-home-v3-popular>span{color:#f3f7fc!important;-webkit-text-fill-color:#f3f7fc!important;text-shadow:0 1px 7px rgba(0,0,0,.30)!important}
body:has(.tf-home-v3) .tf-home-v3-popular a{color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:rgba(255,255,255,.34);background:rgba(7,27,70,.58);box-shadow:0 2px 9px rgba(0,0,0,.10);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
body:has(.tf-home-v3) .tf-home-v3-secondary{border-color:rgba(255,255,255,.48);background:rgba(7,27,70,.66);box-shadow:0 5px 18px rgba(0,0,0,.12);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
body:has(.tf-home-v3) .tf-home-v3-stats{border-color:rgba(255,255,255,.28);background:rgba(7,27,70,.70);box-shadow:0 8px 24px rgba(0,0,0,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body:has(.tf-home-v3) .tf-home-v3-stats strong{color:#fff!important}
body:has(.tf-home-v3) .tf-home-v3-stats span{color:#dfe8f2!important}
body:has(.tf-home-v3) .tf-home-v3-search{box-shadow:0 10px 30px rgba(0,0,0,.16)}
body:has(.tf-home-v3) .tf-home-v3-slider-ui{z-index:4}
@media(min-width:1600px){body:has(.tf-home-v3) .tf-home-v3-copy [data-v3-title]{max-width:14ch}}
@media(max-width:1100px){body:has(.tf-home-v3) .tf-home-v3-overlay{background:linear-gradient(90deg,rgba(4,20,48,.89) 0%,rgba(4,20,48,.79) 42%,rgba(4,20,48,.38) 68%,rgba(4,20,48,.08) 100%)}body:has(.tf-home-v3) .tf-home-v3-copy [data-v3-title]{max-width:16ch}}
@media(max-width:767px){body:has(.tf-home-v3) .tf-home-v3-overlay{background:linear-gradient(180deg,rgba(4,20,48,.82) 0%,rgba(4,20,48,.70) 57%,rgba(4,20,48,.56) 100%)}body:has(.tf-home-v3) .tf-home-v3-copy{padding-top:clamp(18px,5vw,28px)}body:has(.tf-home-v3) .tf-home-v3-copy [data-v3-title]{max-width:18ch;font-size:clamp(25px,8.1vw,38px);line-height:1.02}body:has(.tf-home-v3) .tf-home-v3-copy [data-v3-description]{max-width:46ch}body:has(.tf-home-v3) .tf-home-v3-popular a{background:rgba(7,27,70,.66)}}
@media(max-width:390px){body:has(.tf-home-v3) .tf-home-v3-copy [data-v3-title]{font-size:clamp(24px,7.8vw,30px)}}
@media(prefers-reduced-transparency:reduce){body:has(.tf-home-v3) .tf-home-v3-eyebrow,body:has(.tf-home-v3) .tf-home-v3-popular a,body:has(.tf-home-v3) .tf-home-v3-secondary,body:has(.tf-home-v3) .tf-home-v3-stats{backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Sprint 18.3.89 — Hero slider full-image fit */
body:has(.tf-home-v3) .tf-home-v3-hero,
body:has(.tf-home-v3) .tf-home-v3-hero-artwork,
body:has(.tf-home-v3) .tf-home-v3-media{overflow:hidden!important}

body:has(.tf-home-v3) .tf-home-v3-slide{
  background-size:contain!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:#eef2f7!important;
}
@media(max-width:1024px){
  body:has(.tf-home-v3) .tf-home-v3-slide{background-size:contain!important;background-position:center!important}
}
@media(max-width:767px){
  body:has(.tf-home-v3) .tf-home-v3-slide{background-size:contain!important;background-position:center!important}
}

/* Sprint 18.3.90 — exact hero canvas fit; reuse existing images */
body.tf-homepage:has(.tf-home-v3) .tf-home-v3-media,
body.tf-homepage:has(.tf-home-v3) .tf-home-v3-slide{
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
}
body.tf-homepage:has(.tf-home-v3) .tf-home-v3-slide{
 background-size:100% 100%!important;
 background-position:center center!important;
 background-repeat:no-repeat!important;
 background-color:transparent!important;
}
@media(max-width:1024px){
 body.tf-homepage:has(.tf-home-v3) .tf-home-v3-slide{background-size:100% 100%!important;background-position:center!important}
}
@media(max-width:767px){
 body.tf-homepage:has(.tf-home-v3) .tf-home-v3-slide{background-size:100% 100%!important;background-position:center!important}
}


/* ===== home-sourcing-services.css ===== */

/* TradesFolks 18.3.91 — Sourcing Solutions & Business Growth Services */
body:has(.tf-home-v3) :where(.tf-sourcing-solutions,.tf-business-growth-services){
  padding:30px 0;
  background:#fff;
}
body:has(.tf-home-v3) .tf-business-growth-services{background:#f5f7fb}
body:has(.tf-home-v3) :where(.tf-sourcing-solutions,.tf-business-growth-services)>.shell{
  width:calc(100% - 48px);
  max-width:none;
  margin-inline:auto;
}
.tf-service-section-head{
  display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px
}
.tf-service-section-head>div{max-width:900px}
.tf-service-section-head span{
  display:block;margin-bottom:6px;color:#0b63ce;font-size:11px;font-weight:900;letter-spacing:.13em
}
.tf-service-section-head h2{
  margin:0;color:#071b46;font-size:clamp(26px,2.1vw,38px);line-height:1.05;letter-spacing:-.035em
}
.tf-service-section-head p{
  margin:8px 0 0;color:#64748b;font-size:14px;line-height:1.6
}
.tf-service-section-head>a{
  flex:0 0 auto;border:1px solid #d9e1ec;border-radius:11px;background:#fff;color:#075dc4;
  padding:11px 15px;text-decoration:none;font-size:12px;font-weight:900
}
.tf-service-card-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px
}
.tf-service-card{
  min-width:0;overflow:hidden;border:1px solid #dfe5ee;border-radius:20px;background:#fff;
  box-shadow:0 10px 28px rgba(7,27,70,.055)
}
.tf-service-card-hero{
  position:relative;display:flex;min-height:278px;flex-direction:column;justify-content:flex-end;
  padding:24px;color:#fff;text-decoration:none;background:#1b3155;background-size:cover;background-position:center
}
.tf-service-card-hero:not(.has-image){
  background:#102a50
}
.tf-service-card-hero span{
  display:inline-flex;align-self:flex-start;margin-bottom:auto;border:1px solid rgba(255,255,255,.38);
  border-radius:999px;padding:6px 9px;background:rgba(7,27,70,.30);font-size:9px;font-weight:900;letter-spacing:.11em
}
.tf-service-card-hero h3{
  margin:0 0 10px;color:#fff;font-size:clamp(23px,1.55vw,32px);line-height:1.08;letter-spacing:-.025em;
  text-shadow:0 2px 18px rgba(0,0,0,.25)
}
.tf-service-card-hero p{
  margin:0 0 16px;color:rgba(255,255,255,.93);font-size:13px;line-height:1.45
}
.tf-service-card-hero>b{font-size:12px;color:#ffd15a}
.tf-service-mini-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:16px 12px 18px
}
.tf-service-mini-grid>a{
  min-width:0;text-align:center;text-decoration:none;color:#334155
}
.tf-service-mini-image{
  width:76px;height:76px;max-width:100%;margin:0 auto 9px;display:grid;place-items:center;overflow:hidden;
  border-radius:50%;background:#f4f6f8;border:1px solid #edf0f4
}
.tf-service-mini-image img{
  width:100%;height:100%;object-fit:contain;padding:6px
}
.tf-service-mini-image i{
  font-style:normal;font-weight:900;color:#f4b82f
}
.tf-service-mini-grid strong{
  display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  color:#475569;font-size:12px;line-height:1.35;font-weight:700
}
.tf-service-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(7,27,70,.09)}
.tf-service-card,.tf-service-card-hero{transition:.18s ease}

@media(max-width:1280px){
  .tf-service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tf-service-card-hero{min-height:250px}
}
@media(max-width:760px){
  body:has(.tf-home-v3) :where(.tf-sourcing-solutions,.tf-business-growth-services){padding:22px 0}
  body:has(.tf-home-v3) :where(.tf-sourcing-solutions,.tf-business-growth-services)>.shell{
    width:calc(100% - 24px)
  }
  .tf-service-section-head{display:block;margin-bottom:14px}
  .tf-service-section-head h2{font-size:27px}
  .tf-service-section-head>a{display:inline-flex;margin-top:12px}
  .tf-service-card-grid{
    display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:1px 1px 12px;
    scrollbar-width:none
  }
  .tf-service-card-grid::-webkit-scrollbar{display:none}
  .tf-service-card{
    flex:0 0 min(86vw,360px);scroll-snap-align:start;border-radius:17px
  }
  .tf-service-card-hero{min-height:230px;padding:20px}
  .tf-service-card-hero h3{font-size:25px}
  .tf-service-mini-image{width:66px;height:66px}
  .tf-service-mini-grid{padding:14px 9px 16px}
}


/* ===== home-rfq-canonical.css ===== */
/* TradesFolks 18.3.96 — Canonical RFQ component. */
body:has(.tf-home-v3) .tf-rfq-canonical{padding:24px 0 30px;background:#fff}
body:has(.tf-home-v3) .tf-rfq-canonical__canvas{position:relative;isolation:isolate;width:calc(100% - 48px);max-width:none;min-height:540px;margin-inline:auto;overflow:hidden;border-radius:28px;background:#e9eef6;box-shadow:0 14px 38px rgba(7,27,70,.08)}
body:has(.tf-home-v3) .tf-rfq-canonical__artwork{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
body:has(.tf-home-v3) .tf-rfq-canonical__scrim{position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(246,248,251,.92) 0%,rgba(246,248,251,.80) 20%,rgba(246,248,251,.40) 38%,rgba(246,248,251,.08) 54%,rgba(246,248,251,0) 68%)}
body:has(.tf-home-v3) .tf-rfq-canonical__copy{position:absolute;z-index:2;left:4.3%;top:50%;transform:translateY(-50%);width:min(44%,620px);color:#20252d}
body:has(.tf-home-v3) .tf-rfq-canonical__label{display:inline-flex;margin-bottom:24px;padding:6px 9px;background:#b9d9ff;color:#10203b;font-size:clamp(28px,2.15vw,44px);line-height:1;font-weight:950;letter-spacing:.02em}
body:has(.tf-home-v3) .tf-rfq-canonical__copy>h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
body:has(.tf-home-v3) .tf-rfq-canonical__copy>p{max-width:600px;margin:0 0 34px;color:#3d4148;font-size:clamp(17px,1.2vw,22px);line-height:1.48;font-weight:600}
body:has(.tf-home-v3) .tf-rfq-canonical__copy ul{margin:0 0 46px;padding:0;list-style:none;color:#444a53;font-size:clamp(15px,1.03vw,19px);line-height:1.65;font-weight:600}
body:has(.tf-home-v3) .tf-rfq-canonical__copy a{display:inline-flex;align-items:center;gap:10px;color:#20252d;text-decoration:none;font-size:17px;font-weight:900}
body:has(.tf-home-v3) .tf-rfq-canonical__form-card{position:relative;z-index:3;width:40%;min-width:560px;max-width:800px;margin:40px 3.1% 40px auto;padding:34px 34px 30px;border-radius:28px;background:rgba(255,255,255,.98);box-shadow:0 16px 40px rgba(15,23,42,.12)}
body:has(.tf-home-v3) .tf-rfq-canonical__form-card>h2{margin:0 0 18px;color:#102650;font-size:clamp(30px,2vw,42px);line-height:1.08;font-weight:600;letter-spacing:-.03em}
body:has(.tf-home-v3) .tf-rfq-canonical__form{display:grid;gap:16px}
body:has(.tf-home-v3) .tf-rfq-canonical__form label{display:block}
body:has(.tf-home-v3) .tf-rfq-canonical__form label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
body:has(.tf-home-v3) .tf-rfq-canonical__form :is(input,select,textarea){width:100%;border:1px solid #d4dce6;border-radius:12px;background:#fff;color:#20252d;font-size:17px;box-shadow:none;outline:none}
body:has(.tf-home-v3) .tf-rfq-canonical__form input,body:has(.tf-home-v3) .tf-rfq-canonical__form select{height:58px;padding:0 16px}
body:has(.tf-home-v3) .tf-rfq-canonical__form textarea{min-height:118px;padding:15px 16px;resize:none}
body:has(.tf-home-v3) .tf-rfq-canonical__form :is(input,textarea)::placeholder{color:#a0a4aa;opacity:1}
body:has(.tf-home-v3) .tf-rfq-canonical__form :is(input,select,textarea):focus{border-color:#9dbde7;box-shadow:0 0 0 3px rgba(20,94,209,.08)}
body:has(.tf-home-v3) .tf-rfq-canonical__row{display:grid;grid-template-columns:1fr 1.08fr;gap:14px}
body:has(.tf-home-v3) .tf-rfq-canonical__form button{justify-self:start;height:46px;margin-top:6px;padding:0 25px;border:1.5px solid #20252d;border-radius:999px;background:#fff;color:#20252d;font-size:17px;font-weight:600;cursor:pointer}
body:has(.tf-home-v3) .tf-rfq-canonical__form button:hover{background:#f5f6f8}
@media(max-width:1280px){body:has(.tf-home-v3) .tf-rfq-canonical__canvas{min-height:500px}body:has(.tf-home-v3) .tf-rfq-canonical__copy{left:4%;width:45%}body:has(.tf-home-v3) .tf-rfq-canonical__copy ul{margin-bottom:34px}body:has(.tf-home-v3) .tf-rfq-canonical__form-card{width:43%;min-width:480px;margin:32px 2.4% 32px auto;padding:28px}}
@media(max-width:980px){body:has(.tf-home-v3) .tf-rfq-canonical__canvas{min-height:0;padding-top:430px}body:has(.tf-home-v3) .tf-rfq-canonical__artwork{height:430px}body:has(.tf-home-v3) .tf-rfq-canonical__scrim{height:430px;bottom:auto;background:linear-gradient(90deg,rgba(246,248,251,.90),rgba(246,248,251,.62) 50%,rgba(246,248,251,.08) 78%)}body:has(.tf-home-v3) .tf-rfq-canonical__copy{top:215px;left:28px;transform:translateY(-50%);width:min(62%,560px)}body:has(.tf-home-v3) .tf-rfq-canonical__form-card{width:auto;min-width:0;max-width:none;margin:-44px 20px 20px}}
@media(max-width:640px){body:has(.tf-home-v3) .tf-rfq-canonical{padding:12px 0 20px}body:has(.tf-home-v3) .tf-rfq-canonical__canvas{width:calc(100% - 24px);padding-top:390px;border-radius:20px}body:has(.tf-home-v3) .tf-rfq-canonical__artwork{height:390px;object-position:center top!important}body:has(.tf-home-v3) .tf-rfq-canonical__scrim{height:390px;background:linear-gradient(180deg,rgba(246,248,251,.90) 0%,rgba(246,248,251,.66) 56%,rgba(246,248,251,.16) 100%)}body:has(.tf-home-v3) .tf-rfq-canonical__copy{top:28px;left:20px;right:20px;transform:none;width:auto}body:has(.tf-home-v3) .tf-rfq-canonical__label{margin-bottom:18px;font-size:28px}body:has(.tf-home-v3) .tf-rfq-canonical__copy>p{margin-bottom:22px;font-size:15px}body:has(.tf-home-v3) .tf-rfq-canonical__copy ul{margin-bottom:24px;font-size:14px}body:has(.tf-home-v3) .tf-rfq-canonical__form-card{margin:-26px 10px 10px;padding:22px 16px;border-radius:18px}body:has(.tf-home-v3) .tf-rfq-canonical__form-card>h2{font-size:28px}body:has(.tf-home-v3) .tf-rfq-canonical__row{grid-template-columns:1fr}body:has(.tf-home-v3) .tf-rfq-canonical__form :is(input,select){height:52px;font-size:15px}body:has(.tf-home-v3) .tf-rfq-canonical__form textarea{min-height:105px;font-size:15px}body:has(.tf-home-v3) .tf-rfq-canonical__form button{width:100%}}


/* ===== home-component-ownership.css ===== */
/* TradesFolks 18.4.00 — Homepage component ownership layer.
   Loaded last on the public layout. It normalizes only structural ownership:
   page gutters, hero canvas, category/service grids and responsive rails.
   No component content, colors, or database behavior is changed. */

body:has(.tf-home-v3){
  --tf-home-gutter:24px;
  --tf-home-section-gap:28px;
}
body:has(.tf-home-v3) :is(
  .tf-home-v3>.shell,
  .tf-home-v3-hero-wrap,
  .home-category-showcases>.shell,
  .tf-sourcing-solutions>.shell,
  .tf-business-growth-services>.shell,
  .tf-rfq-canonical__canvas
){
  width:calc(100% - (var(--tf-home-gutter) * 2));
  max-width:none;
  margin-inline:auto;
}

/* Hero: one canvas owner. Artwork fills the current slider box; overlays remain above it. */
body:has(.tf-home-v3) .tf-home-v3-hero{
  position:relative;
  overflow:hidden;
}
body:has(.tf-home-v3) .tf-home-v3-media,
body:has(.tf-home-v3) .tf-home-v3-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
body:has(.tf-home-v3) .tf-home-v3-slide{
  background-repeat:no-repeat;
  background-position:center center;
  background-size:100% 100%;
}

/* Marketplace showcase and sourcing cards: exactly four across on wide desktop. */
@media(min-width:1281px){
  body:has(.tf-home-v3) :is(.tf-service-card-grid,.home-category-showcase-grid){
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

/* Tablet ownership: two columns without changing card internals. */
@media(min-width:761px) and (max-width:1280px){
  body:has(.tf-home-v3) :is(.tf-service-card-grid,.home-category-showcase-grid){
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Mobile: compact app-like rail and consistent gutters. */
@media(max-width:760px){
  body:has(.tf-home-v3){--tf-home-gutter:12px}
  body:has(.tf-home-v3) :is(.tf-service-card-grid,.home-category-showcase-grid){
    display:flex;
    overflow-x:auto;
    gap:12px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  body:has(.tf-home-v3) :is(.tf-service-card-grid,.home-category-showcase-grid)::-webkit-scrollbar{
    display:none;
  }
  body:has(.tf-home-v3) :is(.tf-service-card,.home-category-showcase-card){
    flex:0 0 min(86vw,360px);
    scroll-snap-align:start;
  }
}


/* ===== ai-chat-responsive-1.0.202.css ===== */

/* Sprint 778 — Mobile dock RFQ removal + AI Assistant responsive UI */

/* After RFQ moves to unified floating tools, the bottom navigation becomes one full-width pill. */
@media(max-width:767px){
  .tf-mobile-market-dock-row{
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
  }
  .tf-mobile-market-pill{
    width:100%!important;
    max-width:none!important;
  }
  .tf-mobile-rfq-side{
    display:none!important;
  }
}

/* AI Assistant: compact enterprise panel, independent of the removed standalone launcher. */
.ai-chat-widget{
  --tf-ai-navy:#082b67;
  --tf-ai-blue:#0d67d9;
  --tf-ai-border:#d9e4f1;
  --tf-ai-muted:#667a96;
}
.ai-chat-panel{
  display:flex!important;
  flex-direction:column!important;
  width:min(430px,calc(100vw - 28px))!important;
  height:min(690px,calc(100dvh - 36px))!important;
  max-height:calc(100dvh - 36px)!important;
  overflow:hidden!important;
  border:1px solid #d7e2ee!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 28px 75px rgba(4,26,63,.30)!important;
}
.ai-chat-panel[hidden]{
  display:none!important;
}
.ai-chat-panel>header{
  flex:0 0 auto!important;
  min-height:84px!important;
  padding:16px 18px!important;
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr) 42px!important;
  gap:12px!important;
  align-items:center!important;
  background:#073170!important;
  background:linear-gradient(110deg,#07275c,#0b62d4)!important;
}
.ai-chat-panel>header .ai-chat-avatar{
  width:54px!important;
  height:54px!important;
  border-radius:15px!important;
  display:grid!important;
  place-items:center!important;
  background:#fff!important;
  color:#0c63d5!important;
  font-size:22px!important;
  font-weight:900!important;
}
.ai-chat-panel>header strong{
  display:block!important;
  color:#fff!important;
  font-size:17px!important;
  line-height:1.15!important;
}
.ai-chat-panel>header small{
  margin-top:4px!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  color:#e6effc!important;
  font-size:11px!important;
}
.ai-chat-panel>header small i{
  width:8px!important;
  height:8px!important;
  border-radius:50%!important;
  background:#27c66b!important;
}
.ai-chat-panel>header [data-ai-chat-close]{
  width:40px!important;
  height:40px!important;
  border:0!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.13)!important;
  color:#fff!important;
  font-size:25px!important;
  cursor:pointer!important;
}
.ai-chat-lead{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding:20px 20px 14px!important;
  scrollbar-width:thin!important;
}
.ai-chat-lead-eyebrow{
  display:block!important;
  margin:0 0 6px!important;
  color:#0b68d5!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
}
.ai-chat-lead h3{
  margin:0!important;
  color:#0a2348!important;
  font-size:26px!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
.ai-chat-lead>p{
  margin:8px 0 16px!important;
  max-width:370px!important;
  color:#687b96!important;
  font-size:12px!important;
  line-height:1.55!important;
}
.ai-chat-lead form{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
  padding:14px!important;
  border:1px solid var(--tf-ai-border)!important;
  border-radius:16px!important;
  background:#fbfdff!important;
}
.ai-chat-lead form label{
  display:grid!important;
  gap:6px!important;
  min-width:0!important;
  margin:0!important;
}
.ai-chat-lead form label:nth-of-type(3){
  grid-column:1/-1!important;
}
.ai-chat-lead form label>span{
  color:#17365f!important;
  font-size:10px!important;
  font-weight:850!important;
}
.ai-chat-lead input,
.ai-chat-lead textarea{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  border:1px solid #cfdaea!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#102b50!important;
  font:inherit!important;
  font-size:12px!important;
  outline:0!important;
  box-shadow:none!important;
}
.ai-chat-lead input{
  height:44px!important;
  padding:0 12px!important;
}
.ai-chat-lead textarea{
  min-height:92px!important;
  max-height:150px!important;
  padding:11px 12px!important;
  resize:vertical!important;
}
.ai-chat-lead input:focus,
.ai-chat-lead textarea:focus{
  border-color:#1770df!important;
  box-shadow:0 0 0 3px rgba(23,112,223,.10)!important;
}
.ai-chat-lead [data-ai-chat-lead-error]{
  grid-column:1/-1!important;
  min-height:0!important;
  margin:0!important;
  color:#b42318!important;
  font-size:10px!important;
}
.ai-chat-lead form>button[type="submit"]{
  grid-column:1/-1!important;
  justify-self:start!important;
  width:auto!important;
  min-width:118px!important;
  min-height:38px!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  margin:2px 0 0!important;
  border:0!important;
  border-radius:10px!important;
  background:#0b66d8!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:850!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
.ai-chat-privacy{
  display:flex!important;
  align-items:flex-start!important;
  gap:7px!important;
  margin:10px 3px 0!important;
  color:#75869d!important;
  font-size:9px!important;
  line-height:1.4!important;
}
.ai-chat-conversation{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
.ai-chat-messages{
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}
.ai-chat-panel>footer{
  flex:0 0 auto!important;
  padding:9px 14px!important;
  border-top:1px solid #e5ecf4!important;
  background:#fff!important;
  color:#75869d!important;
  text-align:center!important;
  font-size:9px!important;
  line-height:1.35!important;
}

/* Mobile: sit safely above the bottom nav/floating arrow and never exceed the viewport. */
@media(max-width:767px){
  .ai-chat-widget{
    position:fixed!important;
    right:10px!important;
    bottom:calc(86px + env(safe-area-inset-bottom))!important;
    left:auto!important;
    z-index:1400!important;
  }
  .ai-chat-panel{
    position:fixed!important;
    left:14px!important;
    right:14px!important;
    bottom:calc(82px + env(safe-area-inset-bottom))!important;
    top:auto!important;
    width:auto!important;
    height:min(540px,calc(100dvh - 122px - env(safe-area-inset-bottom)))!important;
    max-height:calc(100dvh - 122px - env(safe-area-inset-bottom))!important;
    border-radius:18px!important;
  }
  .ai-chat-panel>header{
    min-height:62px!important;
    grid-template-columns:40px minmax(0,1fr) 34px!important;
    padding:10px 12px!important;
    gap:9px!important;
  }
  .ai-chat-panel>header .ai-chat-avatar{
    width:40px!important;
    height:40px!important;
    border-radius:11px!important;
    font-size:16px!important;
  }
  .ai-chat-panel>header strong{font-size:14px!important}
  .ai-chat-panel>header small{font-size:8px!important}
  .ai-chat-panel>header [data-ai-chat-close]{
    width:32px!important;height:32px!important;border-radius:9px!important;font-size:18px!important
  }
  .ai-chat-lead{
    padding:12px 12px 8px!important;
  }
  .ai-chat-lead h3{
    font-size:19px!important;
  }
  .ai-chat-lead>p{
    margin:6px 0 10px!important;
    font-size:10px!important;
    line-height:1.42!important;
  }
  .ai-chat-lead form{
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:10px!important;
    border-radius:14px!important;
  }
  .ai-chat-lead form label:nth-of-type(3),
  .ai-chat-lead [data-ai-chat-lead-error],
  .ai-chat-lead form>button[type="submit"]{
    grid-column:1!important;
  }
  .ai-chat-lead input{
    height:38px!important;
    font-size:11px!important;
  }
  .ai-chat-lead textarea{
    min-height:66px!important;
    max-height:92px!important;
    font-size:11px!important;
  }
  .ai-chat-lead form>button[type="submit"]{
    min-width:104px!important;
    min-height:34px!important;
    padding:0 12px!important;
    font-size:10px!important;
    border-radius:9px!important;
  }
  .ai-chat-privacy{
    margin-top:7px!important;
    font-size:8px!important;
  }
  .ai-chat-panel>footer{
    padding:6px 9px!important;
    font-size:7.5px!important;
  }
}

@media(max-width:380px){
  .ai-chat-panel{
    left:10px!important;
    right:10px!important;
    bottom:calc(76px + env(safe-area-inset-bottom))!important;
    height:min(500px,calc(100dvh - 108px - env(safe-area-inset-bottom)))!important;
    max-height:calc(100dvh - 108px - env(safe-area-inset-bottom))!important;
  }
  .ai-chat-lead h3{font-size:18px!important}
}

.ai-chat-lead form>button[type="submit"] svg{
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
}


/* Sprint 780 — final compact AI modal proportions */
.ai-chat-panel{
  width:min(390px,calc(100vw - 32px))!important;
  height:min(560px,calc(100dvh - 52px))!important;
  max-height:calc(100dvh - 52px)!important;
  border-radius:18px!important;
}
.ai-chat-panel>header{
  min-height:68px!important;
  padding:12px 14px!important;
  grid-template-columns:44px minmax(0,1fr) 36px!important;
  gap:10px!important;
}
.ai-chat-panel>header .ai-chat-avatar{
  width:44px!important;
  height:44px!important;
  border-radius:12px!important;
  font-size:17px!important;
}
.ai-chat-panel>header strong{font-size:15px!important}
.ai-chat-panel>header small{font-size:9px!important}
.ai-chat-panel>header [data-ai-chat-close]{
  width:34px!important;
  height:34px!important;
  border-radius:9px!important;
  font-size:19px!important;
}
.ai-chat-lead{
  padding:14px 14px 10px!important;
}
.ai-chat-lead-eyebrow{
  margin-bottom:4px!important;
  font-size:8px!important;
}
.ai-chat-lead h3{
  font-size:21px!important;
}
.ai-chat-lead>p{
  margin:6px 0 11px!important;
  font-size:10px!important;
  line-height:1.42!important;
}
.ai-chat-lead form{
  gap:9px!important;
  padding:11px!important;
  border-radius:14px!important;
}
.ai-chat-lead form label>span{
  font-size:9px!important;
}
.ai-chat-lead input{
  height:38px!important;
  font-size:11px!important;
}
.ai-chat-lead textarea{
  min-height:72px!important;
  max-height:100px!important;
  font-size:11px!important;
}
.ai-chat-lead form>button[type="submit"]{
  min-width:106px!important;
  min-height:34px!important;
  padding:0 12px!important;
  border-radius:9px!important;
  font-size:10px!important;
}
.ai-chat-privacy{
  margin-top:7px!important;
  font-size:8px!important;
}
.ai-chat-panel>footer{
  padding:6px 9px!important;
  font-size:7.5px!important;
}

@media(max-width:767px){
  .ai-chat-panel{
    left:16px!important;
    right:16px!important;
    bottom:calc(78px + env(safe-area-inset-bottom))!important;
    width:auto!important;
    height:min(500px,calc(100dvh - 118px - env(safe-area-inset-bottom)))!important;
    max-height:calc(100dvh - 118px - env(safe-area-inset-bottom))!important;
    border-radius:16px!important;
  }
  .ai-chat-panel>header{
    min-height:56px!important;
    grid-template-columns:36px minmax(0,1fr) 30px!important;
    gap:8px!important;
    padding:9px 10px!important;
  }
  .ai-chat-panel>header .ai-chat-avatar{
    width:36px!important;
    height:36px!important;
    border-radius:10px!important;
    font-size:14px!important;
  }
  .ai-chat-panel>header strong{font-size:13px!important}
  .ai-chat-panel>header small{font-size:7.5px!important}
  .ai-chat-panel>header [data-ai-chat-close]{
    width:30px!important;
    height:30px!important;
    border-radius:8px!important;
    font-size:17px!important;
  }
  .ai-chat-lead{
    padding:10px 10px 7px!important;
  }
  .ai-chat-lead-eyebrow{
    font-size:7px!important;
    margin-bottom:3px!important;
  }
  .ai-chat-lead h3{
    font-size:17px!important;
  }
  .ai-chat-lead>p{
    margin:5px 0 8px!important;
    font-size:9px!important;
    line-height:1.38!important;
  }
  .ai-chat-lead form{
    gap:7px!important;
    padding:9px!important;
    border-radius:12px!important;
  }
  .ai-chat-lead form label>span{
    font-size:8px!important;
  }
  .ai-chat-lead input{
    height:35px!important;
    padding:0 10px!important;
    font-size:10px!important;
    border-radius:10px!important;
  }
  .ai-chat-lead textarea{
    min-height:60px!important;
    max-height:82px!important;
    padding:9px 10px!important;
    font-size:10px!important;
    border-radius:10px!important;
  }
  .ai-chat-lead form>button[type="submit"]{
    min-width:96px!important;
    min-height:32px!important;
    padding:0 11px!important;
    font-size:9px!important;
    border-radius:8px!important;
  }
  .ai-chat-privacy{
    margin-top:6px!important;
    font-size:7.5px!important;
  }
  .ai-chat-panel>footer{
    padding:5px 8px!important;
    font-size:7px!important;
  }
}

@media(max-width:390px){
  .ai-chat-panel{
    left:10px!important;
    right:10px!important;
    bottom:calc(72px + env(safe-area-inset-bottom))!important;
    height:min(470px,calc(100dvh - 102px - env(safe-area-inset-bottom)))!important;
    max-height:calc(100dvh - 102px - env(safe-area-inset-bottom))!important;
  }
}


/* Sprint 781 — remove desktop AI Assistant dead vertical space */
@media(min-width:768px){
  .ai-chat-panel{
    height:auto!important;
    min-height:0!important;
    max-height:min(640px,calc(100dvh - 52px))!important;
  }

  .ai-chat-lead{
    flex:0 1 auto!important;
    min-height:0!important;
    max-height:calc(100dvh - 150px)!important;
    overflow-y:auto!important;
  }

  .ai-chat-panel>footer{
    margin-top:0!important;
  }

  .ai-chat-privacy{
    margin-bottom:0!important;
  }

  .ai-chat-conversation{
    flex:0 1 auto!important;
    min-height:280px!important;
    max-height:500px!important;
  }
}


/* Sprint 782 — remove standalone AI launcher from all public pages.
   The AI runtime/panel remains available for controlled launchers/integrations. */
.ai-chat-widget > .ai-chat-launcher{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Avoid reserving spacing for the hidden launcher. */
.ai-chat-widget{
  pointer-events:none;
}
.ai-chat-widget .ai-chat-panel{
  pointer-events:auto;
}

