/* Scoped sample supplier features; existing page branding and shared styles remain untouched. */
.sample-supplier-tile { display:flex; flex-direction:column; justify-content:flex-start; align-items:center; width:220px; min-height:172px; gap:6px; padding:14px; background:#fff; border:1px solid #dce5e8; border-radius:5px; text-align:center; color:#12354c; flex-shrink:0; }
.sample-supplier-tile img { width:180px; height:70px; object-fit:contain; }
.sample-tile-name { font-size:12px; font-weight:700; line-height:1.35; }
.sample-tile-category { font-size:12px; line-height:1.4; color:#405565; }
.sample-supplier-tile:hover,.sample-supplier-tile:focus-visible { border-color:#3521ff; box-shadow:0 4px 15px #12354c25; transform:translateY(-2px); }
.sample-supplier-carousel .logo-viewport { padding:4px 0; }
.sample-supplier-carousel .logo-rows:focus-within .logo-track { animation-play-state:paused; }
.sample-directory .notice { margin:14px 0 28px; }
.sample-directory .notice p { margin:0; }
.sample-directory h1 { font-size:clamp(30px,4vw,46px); margin-bottom:14px; }
.supplier-directory-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:30px; align-items:start; }
.supplier-sidebar { border:1px solid #dce5e8; border-radius:7px; padding:16px; background:white; }
.supplier-filter-content > label { font-size:13px; font-weight:650; }
.supplier-filter-content input { min-width:0; width:100%; font-size:14px; margin:6px 0 20px; }
.supplier-filter-content h2 { font-size:15px; margin:0 0 12px; }
.supplier-categories { display:grid; gap:5px; }
.supplier-category-button { display:flex; justify-content:space-between; gap:8px; width:100%; padding:11px 9px; border:1px solid transparent; border-radius:4px; background:white; color:#405565; text-align:left; font-size:13px; line-height:1.4; }
.supplier-category-button.active { background:#eeebff; border-color:#d0c8ff; color:#3521ff; font-weight:700; }
.supplier-category-button:hover { background:#f3f1ff; }
.supplier-category-count { flex-shrink:0; align-self:center; border-radius:20px; padding:1px 6px; font-size:11px; background:#edf1f5; color:#405565; }
.supplier-category-button.active .supplier-category-count { background:#ddd6ff; color:#3521ff; }
.supplier-results { min-width:0; }
.supplier-results-toolbar { display:flex; align-items:start; justify-content:space-between; gap:16px; margin-bottom:22px; }
.supplier-results-toolbar h2 { font-size:24px; margin:0 0 5px; }
.supplier-results-toolbar p { font-size:12px; color:#5b6c77; margin:0; }
.supplier-results-toolbar label { font-size:12px; color:#405565; min-width:170px; }
.supplier-results-toolbar select { font-size:13px; padding:8px; margin:4px 0 0; }
.supplier-listings { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.supplier-listing { display:flex; flex-direction:column; align-items:center; gap:8px; width:100%; min-height:176px; padding:15px 10px; background:white; border:1px solid #e5eaf0; border-radius:6px; color:#12354c; text-align:center; }
.supplier-listing img { width:100%; height:75px; object-fit:contain; }
.supplier-listing-name { font-size:12px; font-weight:700; line-height:1.4; }
.supplier-listing-service { font-size:12px; color:#405565; line-height:1.4; }
.supplier-listing:hover,.supplier-listing:focus-visible { border-color:#3521ff; box-shadow:0 5px 18px #12354c12; transform:translateY(-2px); }
.supplier-empty { background:#f5f7fa; border:1px dashed #bdc9d5; border-radius:6px; padding:25px; }
.supplier-empty h3 { font-size:20px; }
.supplier-empty p { font-size:14px; }
.supplier-filter-toggle { display:none; }
.supplier-detail { width:min(560px,calc(100% - 32px)); max-height:85vh; overflow:auto; margin:auto; padding:25px; border:1px solid #c6d0dd; border-radius:12px; color:#263746; box-shadow:0 20px 70px #12354c40; }
.supplier-detail::backdrop { background:#0c203caa; }
.supplier-modal-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.supplier-modal-heading button { padding:8px 12px; border:1px solid #c6d0dd; border-radius:4px; color:#12354c; background:white; font-size:13px; }
#supplier-detail-logo { display:block; max-width:100%; width:240px; height:100px; object-fit:contain; margin:22px auto; }
.supplier-detail h2 { font-size:26px; line-height:1.3; }
.supplier-detail dl div { font-size:14px; padding:10px 0; }
.supplier-detail-notice { font-size:13px; background:#f0edff; border-left:3px solid #3521ff; padding:12px; margin:20px 0 0; }
.sample-directory input:focus-visible,.sample-directory select:focus-visible,.sample-directory button:focus-visible,.supplier-detail button:focus-visible { outline:3px solid #6751ff; outline-offset:3px; }
@media(max-width:1100px) { .supplier-directory-layout { grid-template-columns:210px minmax(0,1fr); gap:20px; } .supplier-listings { grid-template-columns:repeat(3,minmax(0,1fr)); } .supplier-results-toolbar { flex-direction:column; } }
@media(max-width:850px) { .supplier-listings { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .supplier-directory-layout { grid-template-columns:1fr; gap:20px; } .supplier-sidebar { padding:12px; } .supplier-filter-toggle { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; background:white; border:0; color:#12354c; font-size:15px; font-weight:650; padding:5px; } .supplier-filter-content { display:none; margin-top:16px; } .supplier-sidebar.filters-open .supplier-filter-content { display:block; } .supplier-results-toolbar { flex-direction:row; flex-wrap:wrap; margin-bottom:16px; } .supplier-results-toolbar label { width:100%; } .supplier-listings { gap:10px; } .supplier-listing { padding:12px 8px; min-height:170px; } }
@media(max-width:350px) { .supplier-listings { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .sample-supplier-tile:hover,.sample-supplier-tile:focus-visible,.supplier-listing:hover,.supplier-listing:focus-visible { transform:none; } .sample-supplier-carousel .logo-viewport { overflow-x:auto; } }

/* Reference structure: full-width warehouse banner, fixed categories, grouped logos. */
.supplier-directory-banner { padding:30px 0 42px; background:linear-gradient(90deg,#ffffffed 5%,#ffffffe5 40%,#ffffff60),url('../images/warehouse_collaboration_at_the_packing_table.webp') center 40%/cover; border-bottom:1px solid #dce5e8; }
.supplier-breadcrumb { display:flex; gap:12px; align-items:center; font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:#3521ff; margin-bottom:24px; }
.supplier-breadcrumb a { color:#405565; }
.sample-directory .supplier-directory-banner h1 { font-size:clamp(32px,4.5vw,54px); margin-bottom:0; }
.supplier-directory-body { padding-top:28px; padding-bottom:50px; }
.sample-directory .supplier-directory-body > .notice { margin:0 0 30px; padding:12px 16px; font-size:12px; }
.supplier-directory-intro { max-width:640px; margin:7px 0!important; }
.supplier-results-toolbar { border-bottom:1px solid #e5eaf0; padding-bottom:18px; margin-bottom:0; }
.supplier-sidebar { border:0; padding:0; }
.supplier-filter-content input { font-size:13px; padding:10px 12px; margin:6px 0 12px; }
.supplier-filter-content h2 { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.supplier-categories { border:1px solid #e5eaf0; border-radius:7px; padding:7px; gap:6px; }
.supplier-category-button { padding:13px 10px; }
.supplier-category-button.active { border-left:3px solid #3521ff; }
.supplier-category-group { padding:22px 0 26px; border-bottom:1px solid #e5eaf0; }
.supplier-group-heading { display:flex; gap:10px; align-items:center; margin:0 0 16px; font-size:13px; text-transform:uppercase; letter-spacing:.11em; line-height:1.4; color:#12354c; }
.supplier-group-heading .supplier-category-count { letter-spacing:0; }
.supplier-listings { gap:16px 18px; }
.supplier-listing { min-height:154px; border-color:transparent; border-radius:4px; padding:10px 8px; gap:10px; }
.supplier-listing img { height:88px; }
.supplier-listing-service { font-size:12px; line-height:1.4; }
.supplier-listing:hover,.supplier-listing:focus-visible { border-color:#d5ccff; background:#f7f5ff; box-shadow:none; }
@media(max-width:1100px) { .supplier-results-toolbar { flex-direction:row; } }
@media(max-width:850px) { .supplier-results-toolbar { flex-direction:column; } }
@media(max-width:650px) { .supplier-directory-banner { padding:20px 0 28px; } .supplier-breadcrumb { margin-bottom:18px; } .supplier-directory-body { padding-top:20px; } .supplier-sidebar { border:1px solid #dce5e8; padding:12px; } .supplier-categories { padding:0; border:0; } .supplier-listing { min-height:150px; padding:10px 5px; } .supplier-listings { gap:12px 8px; } .supplier-results-toolbar label { width:100%; } }

/* Compact banner and directory rhythm; larger logos without source-image edits. */
.supplier-directory-banner { padding:15px 0 20px; }
.supplier-breadcrumb { margin-bottom:12px; font-size:10px; }
.sample-directory .supplier-directory-banner h1 { font-size:clamp(27px,3vw,36px); }
.directory-title-row { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.directory-home-link { color:#3521ff; font-size:14px; font-weight:650; }
.directory-home-link:hover { transform:translateY(-2px); text-decoration:underline; }
.supplier-directory-body { padding-top:24px; }
.supplier-results-toolbar { padding-bottom:12px; }
.supplier-sample-label { display:inline-block; font-size:11px; color:#5b6c77; }
.supplier-category-button { font-weight:650; padding:11px 10px; }
.supplier-category-button:hover,.supplier-category-button:focus-visible { transform:translateX(3px) translateY(-1px); color:#3521ff; box-shadow:0 3px 9px #12354c12; }
.supplier-category-group { padding:17px 0 20px; }
.supplier-group-heading { font-weight:800; margin-bottom:10px; }
.supplier-listings { gap:12px 16px; }
.supplier-listing { min-height:116px; padding:8px 6px; gap:5px; justify-content:flex-start; }
.supplier-logo-window { display:block; position:relative; overflow:hidden; width:100%; height:70px; flex-shrink:0; }
.supplier-listing .supplier-logo-window img { position:absolute; left:50%; top:50%; max-width:none; height:auto; object-fit:initial; }
.supplier-listing-service { font-size:12px; line-height:1.35; }
@media(max-width:650px) { .supplier-directory-banner { padding:14px 0 18px; } .supplier-directory-body { padding-top:20px; } .directory-title-row { gap:14px; } .supplier-listing { min-height:124px; padding:7px 4px; gap:5px; } .supplier-listings { gap:10px 8px; } }
@media(prefers-reduced-motion:reduce) { .supplier-category-button:hover,.supplier-category-button:focus-visible,.directory-home-link:hover { transform:none; } }

/* Supplier Partners: five static demo placements, compact logo-only scrolling rows. */
.sample-supplier-carousel.partners-v2 { background:#fafbfc; padding:44px 0 36px; }
.partners-v2 #supplier-logos-title { color:#12354c; font-size:clamp(28px,3vw,38px); line-height:1.2; text-align:center; margin:0 0 20px; }
.featured-placement-label { text-align:center; font-size:11px; color:#5b6c77; margin:0 0 14px; }
.featured-supplier-logos { display:flex; justify-content:center; gap:18px; flex-wrap:wrap; margin:0 auto 28px; }
.partners-v2 .sample-supplier-tile { display:flex; justify-content:center; width:210px; height:90px; min-height:90px; padding:9px 12px; gap:0; border:1px solid #e0e5ec; border-radius:7px; }
.partners-v2 .supplier-logo-window { display:block; position:relative; width:100%; height:70px; overflow:hidden; }
.partners-v2 .supplier-logo-window img { position:absolute; left:50%; top:50%; max-width:none; height:auto; object-fit:initial; }
.partners-v2 .logo-rows { gap:12px; }
.partners-v2 .logo-set { gap:18px; padding-right:18px; }
.partners-v2 .logo-viewport { padding:4px 0; }
.partners-v2 .sample-supplier-tile:hover,.partners-v2 .sample-supplier-tile:focus-visible { border-color:#3521ff; box-shadow:0 4px 14px #12354c16; }
.partners-action { display:flex; justify-content:center; margin-top:26px; }
.partners-see-all { background:#3521ff; border-color:#3521ff; color:#fff; font-size:15px; padding:14px 24px; box-shadow:0 5px 14px #3521ff30; }
.partners-see-all:hover,.partners-see-all:focus-visible { background:#2311cb; border-color:#2311cb; color:#fff; }
.partner-motion-control:focus-visible { position:relative; width:auto; height:auto; margin:0 0 12px; padding:8px 12px; overflow:visible; clip:auto; white-space:normal; border:1px solid #3521ff; color:#3521ff; background:white; border-radius:4px; }
@media(max-width:650px) { .sample-supplier-carousel.partners-v2 { padding:32px 0; } .featured-supplier-logos { gap:10px; margin-bottom:20px; } .partners-v2 .featured-supplier-logos .sample-supplier-tile { width:calc(50% - 5px); } .partners-v2 .logo-set { gap:12px; padding-right:12px; } }

/* One directory, with an explicit ProcureVerified qualification view. */
.supplier-verification-tools { margin-bottom:18px; }
.supplier-verification-switch { display:flex; gap:6px; width:fit-content; max-width:100%; padding:5px; border:1px solid #dce2ef; border-radius:7px; background:#f5f6fb; }
.supplier-verification-switch button { display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:10px 14px; background:transparent; color:#12354c; border:1px solid transparent; border-radius:5px; font-size:14px; font-weight:650; }
.supplier-verification-switch button[aria-pressed="true"] { background:#3521ff; color:white; box-shadow:0 3px 8px #3521ff20; }
.supplier-verification-switch button:hover { border-color:#9789ff; transform:translateY(-1px); }
.supplier-verification-switch button > span { background:#e6e3fa; color:#3521ff; min-width:22px; padding:1px 6px; font-size:11px; border-radius:20px; }
.supplier-verification-switch button[aria-pressed="true"] > span { background:#ffffff26; color:white; }
.procureverified-explainer { margin-top:12px; font-size:13px; color:#405565; }
.procureverified-explainer summary { cursor:pointer; font-weight:650; color:#3521ff; width:fit-content; }
.procureverified-explainer p { margin:10px 0; }
.procureverified-explainer a { display:inline-block; color:#3521ff; font-weight:600; }
.supplier-empty-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.supplier-qualification-link { color:#3521ff; font-size:13px; font-weight:600; }
.procureverified-explainer summary:focus-visible,.supplier-verification-switch button:focus-visible { outline:3px solid #6751ff; outline-offset:3px; }
@media(max-width:650px) { .supplier-verification-switch { width:100%; gap:4px; padding:4px; } .supplier-verification-switch button { flex:1; font-size:12px; padding:10px 7px; gap:5px; } }
@media(prefers-reduced-motion:reduce) { .supplier-verification-switch button:hover { transform:none; } }
.supplier-verified-badge { display:inline-block; padding:3px 7px; border-radius:14px; color:#283f9b; background:#e4eaff; font-size:10px; font-weight:700; }

/* Clear category landmarks and transparent sponsored-placement visibility. */
.supplier-group-heading { font-size:18px; font-weight:800; text-transform:none; letter-spacing:0; padding:12px 16px; margin:0 0 14px; color:#fff; background:linear-gradient(110deg,#12354c,#285775); border-radius:6px; }
.supplier-group-heading .supplier-category-count { background:#ffffff24; color:#fff; font-size:12px; padding:2px 8px; }
.directory-sponsored { border:1px solid #c8bdff; background:linear-gradient(120deg,#f0edff,#f8faff); border-radius:8px; padding:16px; margin-top:18px; }
.directory-sponsored-heading { display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; }
.directory-sponsored-heading h3 { font-size:18px; line-height:1.3; margin:0; }
.sponsored-disclosure { font-size:10px; color:#4835ad; border:1px solid #c8bdff; border-radius:20px; padding:3px 8px; background:#fff; }
.directory-sponsored > p { color:#405565; font-size:12px; line-height:1.5; margin:10px 0 14px; }
.directory-sponsored-listings { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.directory-sponsored-card { background:#fff; border:1px solid #ddd5ff; border-radius:6px; padding:9px; min-height:138px; gap:6px; }
.sponsor-card-label { color:#3521ff; font-size:9px; font-weight:650; letter-spacing:.025em; align-self:flex-start; }
.sponsor-card-name { font-size:11px; font-weight:650; color:#12354c; line-height:1.3; }
@media(max-width:1100px) { .directory-sponsored-listings { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:650px) { .supplier-group-heading { font-size:17px; padding:11px 13px; } .directory-sponsored { padding:12px; } .directory-sponsored-listings { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Explicitly simulated ProcureVerified markers, consistent across listing surfaces. */
.supplier-listing,.sample-supplier-tile { position:relative; }
.procureverified-corner { position:absolute; top:5px; right:5px; z-index:2; width:40px; display:flex; flex-direction:column; align-items:center; border-radius:4px; padding:2px; background:#fff; box-shadow:0 1px 5px #12354c18; }
.supplier-listing .procureverified-corner img,.partners-v2 .procureverified-corner img { position:static; display:block; width:36px; height:36px; max-width:100%; object-fit:contain; transform:none; margin:0; }
.procureverified-corner > span { color:#4835ad; background:#eee9ff; font-size:8px; font-weight:750; line-height:1.3; padding:1px 4px; border-radius:3px; }
.supplier-listing:has(.procureverified-corner) .supplier-logo-window,.partners-v2 .sample-supplier-tile:has(.procureverified-corner) .supplier-logo-window { width:calc(100% - 20px); margin-right:20px; }
.directory-qualification-brand { display:flex; align-items:center; gap:8px; margin-left:auto; }
.directory-qualification-brand img { width:72px; height:72px; object-fit:contain; }
.directory-qualification-brand > span { color:#4835ad; font-size:11px; font-weight:650; }
.demo-verification-note { font-size:12px; color:#405565; margin:10px 0; }
.supplier-detail > .procureverified-corner { top:76px; right:24px; width:58px; }
.supplier-detail > .procureverified-corner img { width:52px; height:52px; object-fit:contain; }
@media(max-width:650px) { .directory-qualification-brand { margin-left:0; } .directory-qualification-brand img { width:56px; height:56px; } .supplier-verification-switch button { flex-wrap:wrap; } }

/* Qualification introduction is always visible rather than collapsible. */
.procureverified-program { background:#f5f6fc; border-left:3px solid #3521ff; padding:16px 18px; margin-top:14px; border-radius:0 6px 6px 0; }
.procureverified-program h3 { color:#12354c; font-size:18px; margin:0 0 10px; line-height:1.3; letter-spacing:0; }
.procureverified-program p { color:#405565; font-size:14px; line-height:1.6; margin:10px 0; }
.procureverified-program p strong { color:#12354c; }
.procureverified-program > a { display:inline-block; color:#3521ff; font-size:14px; margin-top:2px; }
.procureverified-program > a:hover { color:#2311cb; transform:translateY(-2px); text-decoration:underline; text-underline-offset:3px; }
@media(max-width:650px) { .procureverified-program { padding:14px; } }
@media(prefers-reduced-motion:reduce) { .procureverified-program > a:hover { transform:none; } }

/* Homepage reference rows: one supplier row and two matching buyer rows. */
.featured-demo-marker { z-index:2; background:#fff; padding:1px 3px; border-radius:2px; position:absolute; top:3px; left:7px; color:#5b6c77; font-size:8px; font-weight:600; line-height:1.2; }
.logo-section.buyer-members-v2 { background:#fafbfc; padding:38px 0; }
.buyer-members-v2 #buyer-logos-title { color:#12354c; font-size:clamp(28px,3vw,38px); text-align:center; margin:0 0 12px; }
.buyer-reference-label { text-align:center; color:#5b6c77; font-size:11px; margin:0 0 24px; }
.buyer-reference-tile { width:210px; height:132px; flex-shrink:0; display:flex; flex-direction:column; gap:8px; padding:10px 8px; align-items:center; justify-content:center; overflow:hidden; background:#fff; border:1px solid #e0e5ec; border-radius:7px; }
.buyer-reference-tile img { display:block; width:70px; height:70px; object-fit:contain; }
.buyer-reference-tile:hover,.buyer-reference-tile:focus-visible { border-color:#3521ff; box-shadow:0 4px 14px #12354c16; transform:translateY(-2px); }
.buyer-members-v2 .logo-rows { gap:12px; }
.buyer-members-v2 .logo-set { gap:18px; padding-right:18px; }
.buyer-members-v2 .logo-viewport { padding:4px 0; }
.buyer-members-v2 .logo-rows:focus-within .logo-track { animation-play-state:paused; }
@media(max-width:650px) { .logo-section.buyer-members-v2 { padding:32px 0; } .buyer-members-v2 .logo-set { gap:12px; padding-right:12px; } }
@media(prefers-reduced-motion:reduce) { .buyer-reference-tile:hover,.buyer-reference-tile:focus-visible { transform:none; } }
.sample-directory button:hover,.sample-directory button:focus-visible { box-shadow:0 4px 0 #0c203c16,0 7px 14px #12354c20; }

.buyer-members-v2 .container { margin-bottom:24px; }

.buyer-company-name { display:block; width:100%; min-height:30px; color:#12354c; font-size:13px; font-weight:700; line-height:15px; text-align:center; white-space:normal; }
