/* BYB B2B portal components. Uses the theme's CSS variables when present. */
.byb-b2b{--b2b-line:var(--line,#e3e8e4);--b2b-soft:var(--soft,#f4f6f2);--b2b-ink:var(--ink,#10261b);--b2b-muted:var(--muted,#5d6b62);--b2b-accent:var(--green-900,#082417);--b2b-gold:var(--gold-dark,#b8991c)}
.byb-b2b .screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px}

/* filters */
.byb-b2b-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:20px;padding:16px;border:1px solid var(--b2b-line);border-radius:16px;background:var(--b2b-soft)}
.byb-b2b-filters label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:700;margin:0;flex:1 1 160px}
.byb-b2b-filters label:first-child{flex:2 1 240px}
.byb-b2b-filters input,.byb-b2b-filters select{padding:10px 12px;border-radius:10px}
.byb-b2b-link{font-size:.85rem;font-weight:600;text-decoration:underline;align-self:center}

/* tables */
/* position:relative keeps absolutely positioned (screen-reader) children inside the scroll box */
.byb-b2b-table-wrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--b2b-line);border-radius:16px}
.byb-b2b-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:760px}
.byb-b2b-table th{background:var(--b2b-soft);text-align:left;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--b2b-muted);padding:10px 12px}
.byb-b2b-table td{padding:10px 12px;border-top:1px solid var(--b2b-line);vertical-align:middle}
.byb-b2b-table .num{text-align:right;white-space:nowrap}
.byb-b2b-table tbody tr:hover{background:#fafbf9}
.byb-b2b-prod{display:flex;gap:10px;align-items:center;min-width:220px}
.byb-b2b-prod img{width:44px;height:44px;object-fit:cover;border-radius:8px;flex:none}
.byb-b2b-prod small{display:block;color:var(--b2b-muted)}
.byb-b2b-prod a{font-weight:700}
.byb-b2b-table .stock{margin:0;font-size:.85rem}
.byb-b2b-qty{width:96px;text-align:right;padding:8px 10px;border-radius:8px}
.byb-b2b-unit{color:var(--b2b-muted);font-weight:400}
.byb-b2b-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:18px 0}
.byb-b2b-pages ul{display:flex;gap:6px;list-style:none;padding:0;flex-wrap:wrap}
.byb-b2b-pages a,.byb-b2b-pages span{display:block;padding:6px 12px;border:1px solid var(--b2b-line);border-radius:999px}
.byb-b2b-pages .current{background:var(--b2b-accent);color:#fff}
.byb-b2b-empty{padding:24px;text-align:center;background:var(--b2b-soft);border-radius:16px}
.byb-b2b-view-toggle{display:flex;gap:8px;justify-content:flex-end}

/* quick order */
.byb-b2b-help{color:var(--b2b-muted);font-size:.9rem}
.byb-b2b-ac{position:relative;min-width:220px}
.byb-b2b-code{width:100%;padding:8px 10px;border-radius:8px}
.byb-b2b-info{font-size:.85rem;color:var(--b2b-muted)}
.byb-b2b-suggest{position:absolute;z-index:20;left:0;right:0;top:100%;margin:4px 0 0;padding:6px;list-style:none;background:#fff;border:1px solid var(--b2b-line);border-radius:12px;box-shadow:0 12px 30px rgba(8,36,23,.12);max-height:280px;overflow:auto}
.byb-b2b-suggest li{padding:8px 10px;border-radius:8px;cursor:pointer;font-size:.88rem}
.byb-b2b-suggest li[aria-selected="true"],.byb-b2b-suggest li:hover{background:var(--b2b-soft)}
.byb-b2b-suggest li.none{color:var(--b2b-muted);cursor:default}
.byb-b2b-csv-form{margin-top:32px;padding:20px;border:1px dashed var(--b2b-line);border-radius:16px}
.byb-b2b-csv-form h2{font-size:1.2rem;margin:0 0 6px}

/* product page */
.byb-b2b-facts{margin:18px 0;padding:16px;border:1px solid var(--b2b-line);border-radius:14px}
.byb-b2b-facts dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0}
.byb-b2b-facts dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--b2b-muted)}
.byb-b2b-facts dd{margin:0;font-weight:700}
.byb-b2b-tiers{margin-top:14px;width:100%;border-collapse:collapse;font-size:.9rem}
.byb-b2b-tiers caption{text-align:left;font-weight:700;margin-bottom:6px}
.byb-b2b-tiers th,.byb-b2b-tiers td{padding:6px 8px;border-top:1px solid var(--b2b-line);text-align:left}

/* account */
.byb-b2b-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;list-style:none;padding:0;margin:20px 0}
.byb-b2b-tiles a{display:block;height:100%;padding:16px;border:1px solid var(--b2b-line);border-radius:14px;transition:.2s}
.byb-b2b-tiles a:hover{border-color:var(--b2b-accent);transform:translateY(-2px)}
.byb-b2b-tiles strong{display:block}
.byb-b2b-tiles span{font-size:.85rem;color:var(--b2b-muted)}
.byb-b2b-address-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;list-style:none;padding:0}
.byb-b2b-address-list li{padding:14px;border:1px solid var(--b2b-line);border-radius:14px}
.byb-b2b-address-list address{font-style:normal;margin:6px 0 10px}
.byb-b2b-link-btn{background:none!important;border:0!important;padding:0!important;text-decoration:underline;color:#b3261e!important;cursor:pointer;font-size:.85rem}
.byb-b2b-expired{color:#b3261e}
.byb-b2b-order-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.byb-b2b-order-details{margin-top:24px}

/* supplier portal */
.byb-b2b-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;list-style:none;padding:0;margin:16px 0 20px}
.byb-b2b-kpis li{padding:16px;border-radius:14px;background:var(--b2b-soft);border:1px solid var(--b2b-line)}
.byb-b2b-kpis strong{display:block;font-size:1.6rem;line-height:1.2;color:var(--b2b-accent)}
.byb-b2b-kpis span{font-size:.82rem;color:var(--b2b-muted)}
.byb-b2b-kpis li.warn{background:#fcf3cf;border-color:#f0dc8a}
.byb-b2b-bar{display:block;height:10px;border-radius:999px;background:var(--b2b-gold);min-width:2px}
.byb-b2b-low{margin-left:6px;padding:1px 8px;border-radius:999px;background:#fcf3cf;color:#7a5d00;font-size:.75rem;font-weight:700}
.byb-b2b-steps-list{padding-left:20px;margin:12px 0 20px}
.byb-b2b-steps-list li{margin-bottom:6px}
.byb-b2b-brands{padding:10px 14px;border-left:4px solid var(--b2b-gold);background:var(--b2b-soft);border-radius:0 10px 10px 0}

/* access notice on login/apply pages */
.byb-b2b-toast{position:fixed;z-index:60;left:50%;bottom:20px;transform:translateX(-50%);display:flex;gap:14px;align-items:center;max-width:min(640px,calc(100% - 32px));padding:14px 18px;border-radius:14px;background:#082417;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.25);font-size:.92rem}
.byb-b2b-toast button{background:none;border:0;color:#fff;font-size:1.3rem;cursor:pointer;line-height:1}

/* tablets: tighter cells */
@media (max-width:1024px){
  .byb-b2b-table th,.byb-b2b-table td{padding:9px 10px}
}

/* phones: data tables become stacked cards (labels come from data-label) */
@media (max-width:640px){
  .byb-b2b-filters label{flex:1 1 100%}
  .byb-b2b-filters .button{flex:1 1 auto;justify-content:center}
  .byb-b2b-table-wrap{border:0;border-radius:0;overflow:visible}
  .byb-b2b-stack{min-width:0}
  .byb-b2b-stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
  .byb-b2b-stack,.byb-b2b-stack tbody,.byb-b2b-stack tr,.byb-b2b-stack td{display:block;width:100%}
  .byb-b2b-stack tr{border:1px solid var(--b2b-line);border-radius:14px;padding:4px 14px;margin-bottom:12px;background:#fff}
  .byb-b2b-stack tbody tr:hover{background:#fff}
  .byb-b2b-stack td{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--b2b-line);padding:9px 0;text-align:right;min-height:44px}
  .byb-b2b-stack td:first-child{border-top:0}
  .byb-b2b-stack td.num{text-align:right}
  .byb-b2b-stack td[data-label]::before{content:attr(data-label);flex:none;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--b2b-muted);text-align:left}
  .byb-b2b-stack td.byb-b2b-prod{justify-content:flex-start;text-align:left;min-width:0}
  .byb-b2b-stack td:empty{display:none}
  .byb-b2b-stack .byb-b2b-qty{width:120px;min-height:44px}
  .byb-b2b-stack .byb-b2b-bar{max-width:60%;margin-left:auto}
  .byb-b2b-quick-table td.byb-b2b-ac{display:block;text-align:left}
  .byb-b2b-quick-table td.byb-b2b-ac::before{display:block;margin-bottom:6px}
  .byb-b2b-quick-table .byb-b2b-code{min-height:44px}
  .byb-b2b-quick-table td.byb-b2b-info{justify-content:flex-start;text-align:left;font-size:.82rem}
  .byb-b2b-actions{flex-direction:column;align-items:stretch}
  .byb-b2b-actions .button{justify-content:center}
  .byb-b2b-csv-form input[type=file]{width:100%;margin-bottom:10px}
  .byb-b2b-kpis{grid-template-columns:1fr 1fr}
  .byb-b2b-kpis strong{font-size:1.3rem}
  .byb-b2b-tiles{grid-template-columns:1fr}
  .byb-b2b-view-toggle{justify-content:stretch}
  .byb-b2b-view-toggle .button{flex:1;justify-content:center}
}
