/* ═══════════════════════════════════════════════════════════════════
   Sterge B2B Mobile Theme - Main Stylesheet
   Mobile-first design for app.sterge.ro
   ═══════════════════════════════════════════════════════════════════ */

/* ─── CSS VARIABLES ────────────────────────────────────────────── */
:root {
    --b2b-primary: #1f87b3;
    --b2b-primary-light: #1a7aa3;
    --b2b-secondary: #26b7dd;
    --b2b-accent: #1f87b3;
    --b2b-error: #e41616;
    --b2b-success: #47a447;
    --b2b-warning: #ff8c00;
    --b2b-bg: #f5f6fa;
    --b2b-card-bg: #ffffff;
    --b2b-text: #2d3436;
    --b2b-text-muted: #636e72;
    --b2b-border: #e0e0e0;
    --b2b-header-height: 56px;
    --b2b-bottom-nav-height: 60px;
    --b2b-safe-area-bottom: env(safe-area-inset-bottom, 0px);
}
.btn-primary{background:#1f87b3 !important;}

.btn-outline-secondary, .btn-outline-danger{border-width:2px !important;}
/* ─── RESET & BASE ─────────────────────────────────────────────── */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: var(--b2b-text);
    background: var(--b2b-bg);
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overscroll-behavior-y: none;
}

body.b2b-mobile {
    padding-top: 0;
    padding-bottom: calc(var(--b2b-bottom-nav-height) + var(--b2b-safe-area-bottom));
}

/* Remove body padding when not logged in (login page) */
body.b2b-mobile:not(.logged-in) {
    padding-top: 0;
    padding-bottom: 0;
}


/* ─── HEADER ───────────────────────────────────────────────────── */
.b2b-header {
    background: #fff;
    color: var(--b2b-text);
    height: var(--b2b-header-height);
    z-index: 1030;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.b2b-header .b2b-logo img {
    max-height: 36px;
    width: auto;
}

.b2b-header .b2b-header-btn {
    color: var(--b2b-text-muted);
}

.b2b-header .b2b-header-btn:hover,
.b2b-header .b2b-header-btn:focus {
    color: var(--b2b-text);
    background: #f0f0f0;
}

/* Search bar inside header */
#b2b-search-bar {
    background: #f5f5f5;
    padding-bottom: 8px;
}

#b2b-search-bar .dgwt-wcas-search-wrapp {
    max-width: 100%;
}

#b2b-search-bar .dgwt-wcas-search-input {
    border-radius: 8px;
    font-size: 14px;
    padding: 10px 14px;
}


/* ─── EDIT ACCOUNT — next gen ────────────────────────────────── */

/* Profile header banner */
.b2b-profile-header {
    background: linear-gradient(135deg, #1a1a2e 0%, #0f3460 55%, #1f87b3 100%);
    padding: 32px 20px 26px;
    text-align: center;
    color: #fff;
}

/* Avatar circular cu initiale */
.b2b-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    border: 2px solid rgba(255, 255, 255, 0.45);
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
    letter-spacing: 1px;
}

.b2b-profile-name {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 3px;
    line-height: 1.2;
}

.b2b-profile-email {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.65);
    margin-bottom: 10px;
}

.b2b-profile-company {
    display: inline-flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 20px;
    padding: 4px 14px;
    font-size: 12px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
}

/* Settings card — panel stil iOS */
.b2b-settings-card {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.07);
}

.b2b-settings-header {
    background: var(--b2b-bg);
    padding: 9px 16px;
    font-size: 11px;
    font-weight: 700;
    color: var(--b2b-primary);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    border-bottom: 1px solid var(--b2b-border);
}

.b2b-settings-desc {
    font-size: 12px;
    color: var(--b2b-text-muted);
    padding: 10px 16px 0;
    margin: 0;
}

/* Randuri settings */
.b2b-settings-body {
    padding: 0;
}

.b2b-settings-row {
    padding: 11px 16px;
    border-bottom: 1px solid var(--b2b-border);
}

.b2b-settings-row.last {
    border-bottom: none;
}

.b2b-settings-row label {
    display: block;
    font-size: 10.5px;
    font-weight: 600;
    color: var(--b2b-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 3px;
}

.b2b-settings-input {
    width: 100%;
    border: none;
    outline: none;
    font-size: 15px;
    font-weight: 500;
    color: var(--b2b-text);
    background: transparent;
    padding: 2px 0;
    display: block;
}

.b2b-settings-input:focus {
    color: var(--b2b-primary);
}

.b2b-settings-hint {
    font-size: 11px;
    color: var(--b2b-text-muted);
    margin-top: 3px;
}

.b2b-req {
    color: var(--b2b-error);
    font-weight: 700;
}

/* Campuri parola cu toggle show/hide */
.b2b-pw-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
}

.b2b-pw-wrap .b2b-settings-input {
    flex: 1;
}

.b2b-pw-toggle {
    background: none;
    border: none;
    padding: 2px 4px;
    color: var(--b2b-text-muted);
    font-size: 17px;
    cursor: pointer;
    line-height: 1;
    flex-shrink: 0;
    border-radius: 6px;
}

.b2b-pw-toggle:hover {
    color: var(--b2b-primary);
    background: var(--b2b-bg);
}

/* Buton Salveaza */
.b2b-save-btn {
    border-radius: 12px !important;
    padding: 14px 20px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.2px;
    box-shadow: 0 4px 16px rgba(31, 135, 179, 0.30);
    transition: box-shadow 0.2s, transform 0.15s;
}

.b2b-save-btn:active {
    transform: scale(0.98);
    box-shadow: 0 2px 8px rgba(31, 135, 179, 0.25);
}

/* ─── ADDRESS FORM — next gen ─────────────────────────────────── */

/* Banner header (mai compact decat profile-header) */
.b2b-section-banner {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 20px 18px;
    background: linear-gradient(135deg, #1a1a2e 0%, #0f3460 55%, #1f87b3 100%);
    color: #fff;
}

.b2b-section-banner-icon {
    font-size: 34px;
    line-height: 1;
    opacity: 0.9;
    flex-shrink: 0;
}

.b2b-section-banner-title {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
}

.b2b-section-banner-sub {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.7);
    margin-top: 3px;
}

/* Wrapper WC form fields (generat de woocommerce_form_field) */
.b2b-wc-fields-wrap {
    padding: 0;
    overflow: hidden; /* clearfix pentru float-uri WC */
}

.b2b-wc-fields-wrap .form-row {
    padding: 10px 16px !important;
    margin: 0 !important;
    float: none !important;
    width: 100% !important;
    border-bottom: 1px solid var(--b2b-border);
    clear: both;
}

.b2b-wc-fields-wrap .form-row:last-child {
    border-bottom: none;
}

.b2b-wc-fields-wrap .form-row label {
    display: block !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    color: var(--b2b-text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 3px !important;
    text-align: left !important;
}

.b2b-wc-fields-wrap .form-row label .required {
    color: var(--b2b-error);
}

.b2b-wc-fields-wrap .woocommerce-input-wrapper {
    display: block !important;
    width: 100% !important;
}

/* Inputs curate, fara border */
.b2b-wc-fields-wrap .input-text {
    width: 100% !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--b2b-text) !important;
    background: transparent !important;
    padding: 2px 0 !important;
    line-height: 1.4 !important;
}

.b2b-wc-fields-wrap .input-text:focus {
    color: var(--b2b-primary) !important;
    box-shadow: none !important;
    border: none !important;
}

/* Select2 — fara border, matching inputs */
.b2b-wc-fields-wrap .select2-container {
    width: 100% !important;
}

.b2b-wc-fields-wrap .select2-container--default .select2-selection--single {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    height: auto !important;
    padding: 0 !important;
}

.b2b-wc-fields-wrap .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 2px 20px 2px 0 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--b2b-text) !important;
    line-height: 1.4 !important;
}

.b2b-wc-fields-wrap .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 2px !important;
}

/* Camp invalid — highlight rosu discret */
.b2b-wc-fields-wrap .form-row.woocommerce-invalid-required-field {
    background: #fff5f5 !important;
    border-left: 3px solid var(--b2b-error) !important;
}

.b2b-wc-fields-wrap .form-row.woocommerce-invalid-required-field .input-text {
    color: var(--b2b-error) !important;
}

/* CUI field + buton "Cauta firma" pe acelasi rand */
#billing_cui_field .woocommerce-input-wrapper {
    display: flex !important;
    align-items: center;
    gap: 8px;
}

#billing_cui_field .input-text {
    flex: 1;
}

.b2b-cauta-btn,
#cauta_firma_btn {
    background: var(--b2b-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 5px 12px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    line-height: 1.5;
}

.b2b-cauta-btn:hover,
#cauta_firma_btn:hover {
    background: var(--b2b-primary-light) !important;
}

.b2b-cauta-btn:disabled,
#cauta_firma_btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

/* Alert CUI info */
.b2b-cui-alert {
    margin: 10px 16px 0;
    padding: 8px 12px;
    background: #fff8e1;
    border: 1px solid #ffe082;
    border-radius: 8px;
    font-size: 12px;
    color: #6d4c1f;
    line-height: 1.4;
}

/* Selector tip persoana */
.b2b-person-type-wrap {
    display: flex;
    gap: 10px;
    padding: 14px 16px;
}

.b2b-person-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 10px;
    border: 2px solid var(--b2b-border);
    border-radius: 10px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: var(--b2b-text-muted);
    transition: all 0.2s ease;
    user-select: none;
    text-align: center;
}

.b2b-person-btn input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.b2b-person-btn.active {
    border-color: var(--b2b-primary);
    background: var(--b2b-primary);
    color: #fff;
}

.b2b-person-btn:not(.active):hover {
    border-color: var(--b2b-primary);
    color: var(--b2b-primary);
}

/* Nota adresa livrare */
.b2b-shipping-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
    font-size: 13px;
    color: var(--b2b-text-muted);
    line-height: 1.5;
}

/* Mesaje succes / eroare dupa save */
.b2b-addr-success,
.b2b-addr-error {
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}

.b2b-addr-success {
    background: #e8f5e9;
    color: #2e7d32;
    border: 1px solid #a5d6a7;
}

.b2b-addr-error {
    background: #ffebee;
    color: #c62828;
    border: 1px solid #ef9a9a;
}

/* SweetAlert2 — title fara border */
div:where(.swal2-container) h2:where(.swal2-title) {
    border: none !important;
}

/* ─── OFFCANVAS MENU — next gen ──────────────────────────────── */
#b2b-offcanvas-menu .offcanvas-body {
    background: #fff;
    overflow-y: auto;
    padding-bottom: 16px;
}

/* ── Header gradient cu avatar utilizator ── */
.b2b-om-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 16px;
    background: linear-gradient(135deg, #0d1b2a 0%, #1b3a5c 100%);
    flex-shrink: 0;
}
.b2b-om-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,.20);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    letter-spacing: .5px;
}
.b2b-om-header-info { flex: 1; min-width: 0; }
.b2b-om-uname {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.b2b-om-cname {
    font-size: 12px;
    color: rgba(255,255,255,.65);
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.b2b-om-close-btn {
    background: none;
    border: none;
    padding: 6px;
    color: rgba(255,255,255,.70);
    font-size: 16px;
    cursor: pointer;
    flex-shrink: 0;
    line-height: 1;
}
.b2b-om-close-btn:hover { color: #fff; }

/* ── Nav rows app-style ── */
.b2b-om-nav { display: flex; flex-direction: column; }
.b2b-om-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 16px;
    text-decoration: none;
    color: var(--b2b-text);
    border-bottom: 1px solid var(--b2b-border);
    border-left: 3px solid transparent;
    transition: background .15s, border-color .15s;
}
.b2b-om-item:hover {
    background: rgba(31, 135, 179, .08);
    color: var(--b2b-text);
}
.b2b-om-item:active {
    background: rgba(31, 135, 179, .18);
    border-left-color: var(--b2b-primary);
    color: var(--b2b-text);
}
.b2b-om-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    color: #fff;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.b2b-om-label { flex: 1; font-size: 14px; font-weight: 500; }
.b2b-om-chevron { font-size: 12px; color: var(--b2b-text-muted); }

/* ── Card consultant — next gen ── */
.b2b-consultant-card {
    background: #f0f8ff;
    border: 1px solid #cfe2f3;
    border-radius: 12px;
    padding: 12px 14px;
}
.b2b-cons-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.b2b-cons-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--b2b-primary);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    letter-spacing: .5px;
}
.b2b-cons-info { flex: 1; min-width: 0; }
.b2b-cons-label {
    font-size: 10px;
    font-weight: 700;
    color: var(--b2b-primary);
    text-transform: uppercase;
    letter-spacing: .4px;
    margin-bottom: 2px;
}
.b2b-cons-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--b2b-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.b2b-cons-contacts { display: flex; flex-direction: column; gap: 4px; }
.b2b-cons-contact-btn {
    font-size: 13px;
    color: var(--b2b-primary);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 4px;
}
.b2b-cons-contact-btn:hover {
    color: var(--b2b-primary-light);
    text-decoration: underline;
}

/* ── Buton Deconectare — inline sub consultant ── */
.b2b-offcanvas-logout {
    padding: 12px 16px 20px;
    margin-top: auto;
}
.b2b-om-logout-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 11px 16px;
    border-radius: 10px;
    background: #e74c3c;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    border: none;
    transition: background .15s;
}
.b2b-om-logout-btn:hover { background: #c0392b; color: #fff; }

/* ─── BOTTOM NAVIGATION ───────────────────────────────────────── */
.offcanvas .offcanvas-body{
  background: -webkit-linear-gradient(top left, #1a1a2e 0%, #0f3460 100%);
  background: -o-linear-gradient(top left, #1a1a2e 0%, #0f3460 100%);
  background: linear-gradient(to bottom right, #1a1a2e 0%, #0f3460 100%);
}

.b2b-bottom-nav {
    background: -webkit-linear-gradient(top left, #1a1a2e 0%, #0f3460 100%);
    background: -o-linear-gradient(top left, #1a1a2e 0%, #0f3460 100%);
    background: linear-gradient(to bottom right, #1a1a2e 0%, #0f3460 100%);

    border-top: none;
    z-index: 1030;
    padding-bottom: var(--b2b-safe-area-bottom);
    box-shadow: 0 -2px 10px rgba(0,0,0,0.12);
}

.b2b-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: rgba(255,255,255,0.6);
    font-size: 10px;
    font-weight: 500;
    padding: 6px 12px;
    transition: color 0.2s;
    -webkit-tap-highlight-color: transparent;
}

.b2b-nav-item i {
    font-size: 20px;
    margin-bottom: 2px;
}

.b2b-nav-item.active {
    color: #ffffff;
}

.b2b-nav-item:hover {
    color: #ffffff;
    text-decoration: none;
}

.b2b-nav-cart-icon {
    position: relative;
}

.b2b-nav-cart-icon .b2b-cart-count {
    position: absolute;
    top: -6px;
    right: -10px;
    font-size: 9px;
    min-width: 16px;
    height: 16px;
    line-height: 16px;
    padding: 0 4px;
}


/* ─── MAIN CONTENT ─────────────────────────────────────────────── */
.b2b-main {
    min-height: calc(100vh - var(--b2b-header-height) - var(--b2b-bottom-nav-height));
}


/* ─── CARDS (reusable component) ───────────────────────────────── */
.b2b-card {
    background: var(--b2b-card-bg);
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.b2b-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.b2b-card-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--b2b-text);
    margin: 0;
}

/* ─── LOGIN PAGE ───────────────────────────────────────────────── */
.b2b-login-wrapper {
    min-height: 100vh;
    min-height: 100svh; /* fix iOS Safari address bar — cardul centrat vizual pe mobil */
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #1a1a2e 0%, #0f3460 100%);
    /*background: linear-gradient(135deg, var(--b2b-primary) 0%, var(--b2b-secondary) 100%);  */
    padding: 10px;
}

.b2b-login-card {
    background: #fff;
    border-radius: 16px;
    padding: 15px;
    width: 100%;
    max-width: 400px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}

.b2b-login-logo {
    text-align: center;
    margin-bottom: 16px;
}

.b2b-login-logo img {
    max-height: 48px;
    width: auto;
}

.b2b-login-title {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 4px;
    color: var(--b2b-primary);
}

.b2b-login-subtitle {
    font-size: 13px;
    text-align: center;
    color: var(--b2b-text-muted);
    margin-bottom: 16px;
}

.b2b-login-card .form-control {
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 14px;
    border: 1.5px solid var(--b2b-border);
}

.b2b-login-card .form-control:focus {
    border-color: var(--b2b-accent);
    box-shadow: 0 0 0 3px rgba(31, 135, 179, 0.15);
}

.b2b-login-card .btn-primary {
    background: var(--b2b-accent);
    border-color: var(--b2b-accent);
    border-radius: 10px;
    padding: 12px;
    font-size: 15px;
    font-weight: 600;
    width: 100%;
}

.b2b-login-card .btn-primary:hover {
    background: #186a90;
    border-color: #186a90;
}


/* ─── DASHBOARD — next gen ─────────────────────────────────────── */

.b2b-dashboard {
    min-height: 100%;
}

/* ── Hero Banner ─────────────────────────────────────────────── */
.b2b-hero-banner {
    background: linear-gradient(135deg, #1a1a2e 0%, #0f3460 55%, #1f87b3 100%);
    color: #fff;
}

/* Greeting row */
.b2b-hero-greeting {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 20px 18px;
}

/* Avatar variant mic pentru hero */
.b2b-avatar.b2b-avatar-sm {
    width: 50px;
    height: 50px;
    font-size: 18px;
    flex-shrink: 0;
}

.b2b-hero-info {
    flex: 1;
    min-width: 0;
}

.b2b-hero-name {
    font-size: 19px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
}

.b2b-hero-company {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.65);
    margin-top: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Stats row — aderat de jos la banner */
.b2b-hero-stats {
    display: flex;
    align-items: stretch;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.18);
}

.b2b-hero-stat {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 12px 6px 14px;
    gap: 2px;
    text-align: center;
}

.b2b-hero-stat i {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.55);
    margin-bottom: 2px;
}

.hero-stat-num {
    font-size: 19px;
    font-weight: 700;
    color: #fff;
    line-height: 1.15;
}

.hero-stat-num small {
    font-size: 11px;
    font-weight: 500;
    opacity: 0.75;
}

.hero-stat-lbl {
    font-size: 9px;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.7px;
    margin-top: 1px;
}

/* Divider vertical intre stat-uri */
.b2b-hero-stat-div {
    width: 1px;
    background: rgba(255, 255, 255, 0.12);
    margin: 10px 0;
    flex-shrink: 0;
}

/* ── Action List ─────────────────────────────────────────────── */

/* Label de grup */
.b2b-action-group-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--b2b-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 8px;
    padding: 0 2px;
}

/* Card sectiune */
.b2b-action-section {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
}

/* Randul individual */
.b2b-action-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 13px 16px;
    border-bottom: 1px solid var(--b2b-border);
    text-decoration: none;
    color: var(--b2b-text);
    background: #fff;
    transition: background 0.12s;
    -webkit-tap-highlight-color: transparent;
}

.b2b-action-row:last-child {
    border-bottom: none;
}

.b2b-action-row:hover,
.b2b-action-row:focus {
    text-decoration: none;
    color: var(--b2b-text);
    background: #f8fafc;
}

.b2b-action-row:active {
    background: #eef4f8;
    text-decoration: none;
    color: var(--b2b-text);
}

/* Icon circle colorat */
.b2b-action-icon {
    width: 42px;
    height: 42px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.b2b-action-icon i {
    font-size: 19px;
    color: #fff;
}

/* Text grup */
.b2b-action-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.b2b-action-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--b2b-text);
    line-height: 1.3;
}

.b2b-action-desc {
    font-size: 11px;
    color: var(--b2b-text-muted);
    margin-top: 1px;
}

/* Chevron dreapta */
.b2b-action-chevron {
    font-size: 12px;
    color: #c0c8d0;
    flex-shrink: 0;
}

/* Pastram clasele vechi pentru backward compat (daca sunt folosite in alta parte) */
.b2b-dashboard-welcome { display: none; }
.b2b-stat-card { display: none; }


/* ─── PRODUSELE MELE — next gen ────────────────────────────────── */

/* ── Search Bar ──────────────────────────────────────────────── */
.b2b-pm-search-wrap {
    position: relative;
}

.b2b-pm-search-bar {
    display: flex;
    align-items: center;
    background: var(--b2b-card-bg);
    border: 1.5px solid var(--b2b-border);
    border-radius: 12px;
    padding: 0 12px;
    gap: 8px;
    transition: border-color .2s;
}

.b2b-pm-search-bar:focus-within {
    border-color: var(--b2b-accent);
}

.b2b-pm-search-icon {
    color: var(--b2b-text-muted);
    font-size: 15px;
    flex-shrink: 0;
}

.b2b-pm-search-input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    padding: 11px 0;
    font-size: 14px;
    color: var(--b2b-text);
}

.b2b-pm-search-input::placeholder {
    color: var(--b2b-text-muted);
}

.b2b-pm-search-input::-webkit-search-cancel-button { display: none; }

.b2b-pm-search-clear {
    background: none;
    border: none;
    padding: 0;
    color: var(--b2b-text-muted);
    font-size: 13px;
    cursor: pointer;
    flex-shrink: 0;
    line-height: 1;
}

/* ── Product Card ─────────────────────────────────────────────── */
.b2b-product-card-mobile {
    background: var(--b2b-card-bg);
    border-radius: 14px;
    border: 1px solid var(--b2b-border);
    padding: 12px;
    margin-bottom: 10px;
    display: grid;
    grid-template-areas: "img body" "acts acts";
    grid-template-columns: 76px 1fr;
    grid-template-rows: auto auto;
    gap: 0 12px;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
}

/* Image column */
.b2b-product-card-mobile .product-img {
    grid-area: img;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 2px;
}

.b2b-product-card-mobile .product-img img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    border-radius: 10px;
    background: #f8f8f8;
}

.b2b-product-card-mobile .product-img-placeholder {
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f2f5;
    border-radius: 10px;
    color: #bcc4ce;
    font-size: 28px;
}

/* Body column */
.b2b-product-card-mobile .product-body {
    grid-area: body;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.b2b-product-card-mobile .product-name-link {
    font-size: 13px;
    font-weight: 600;
    color: var(--b2b-text);
    line-height: 1.35;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.b2b-product-card-mobile a.product-name-link:hover {
    color: var(--b2b-accent);
}

.b2b-product-card-mobile .product-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.b2b-product-card-mobile .product-sku-badge {
    font-size: 10px;
    font-weight: 600;
    color: var(--b2b-accent);
    background: rgba(31,135,179,.10);
    border-radius: 5px;
    padding: 1px 6px;
    letter-spacing: .3px;
    white-space: nowrap;
}

.b2b-product-card-mobile .product-stock-wrap {
    font-size: 11px;
}

.b2b-product-card-mobile .product-stock-wrap .stock-available,
.b2b-product-card-mobile .stock-available { color: var(--b2b-success); }

.b2b-product-card-mobile .product-stock-wrap .stock-unavailable,
.b2b-product-card-mobile .stock-unavailable { color: var(--b2b-warning); }

.b2b-product-card-mobile .product-price-row {
    display: flex;
    align-items: baseline;
    gap: 4px;
}

.b2b-product-card-mobile .product-price {
    font-size: 15px;
    font-weight: 700;
    color: var(--b2b-primary);
}

.b2b-product-card-mobile .product-price .woocommerce-Price-amount { color: inherit; }

.b2b-product-card-mobile .product-um {
    font-size: 11px;
    color: var(--b2b-text-muted);
}

.b2b-product-card-mobile .product-moq-pill {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 10px;
    color: #b45309;
    background: #fef3c7;
    border-radius: 5px;
    padding: 2px 7px;
    font-weight: 500;
    width: fit-content;
}

/* Actions row */
.b2b-product-card-mobile .product-actions {
    grid-area: acts;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--b2b-border);
}

/* Qty stepper */
.b2b-product-card-mobile .b2b-qty-wrapper {
    display: flex;
    align-items: center;
    border: 1.5px solid var(--b2b-border);
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
}

.b2b-product-card-mobile .b2b-qty-minus,
.b2b-product-card-mobile .b2b-qty-plus {
    background: #f5f7fa;
    border: none;
    padding: 0;
    width: 34px;
    height: 36px;
    font-size: 18px;
    line-height: 1;
    color: var(--b2b-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
    flex-shrink: 0;
}

.b2b-product-card-mobile .b2b-qty-minus:active,
.b2b-product-card-mobile .b2b-qty-plus:active {
    background: #e0e8f0;
}

.b2b-product-card-mobile .qty-input {
    width: 44px;
    text-align: center;
    border: none;
    border-left: 1.5px solid var(--b2b-border);
    border-right: 1.5px solid var(--b2b-border);
    padding: 4px 2px;
    font-size: 14px;
    font-weight: 600;
    color: var(--b2b-text);
    background: #fff;
    height: 36px;
    -moz-appearance: textfield;
}

.b2b-product-card-mobile .qty-input::-webkit-inner-spin-button,
.b2b-product-card-mobile .qty-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Add to cart button */
.b2b-product-card-mobile .btn-add-cart {
    flex: 1;
    background: var(--b2b-accent);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 9px 12px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    height: 38px;
}

.b2b-product-card-mobile .btn-add-cart:active { background: #186a90; }
.b2b-product-card-mobile .btn-add-cart.added  { background: var(--b2b-success); }
.b2b-product-card-mobile .btn-add-cart.loading { opacity: .7; pointer-events: none; }

/* ── Pagination ───────────────────────────────────────────────── */
.b2b-pm-pagination {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.b2b-pm-pag-info {
    font-size: 12px;
    color: var(--b2b-text-muted);
    margin-right: auto;
}

.b2b-pm-pag-btns {
    display: flex;
    align-items: center;
    gap: 4px;
}

.b2b-pm-pag-btn {
    min-width: 34px;
    height: 34px;
    border: 1.5px solid var(--b2b-border);
    background: var(--b2b-card-bg);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--b2b-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    transition: background .15s, border-color .15s;
}

.b2b-pm-pag-btn.active {
    background: var(--b2b-accent);
    border-color: var(--b2b-accent);
    color: #fff;
    font-weight: 700;
}

.b2b-pm-pag-btn:not(.active):hover { background: #f0f4f8; }

/* ── Empty state ──────────────────────────────────────────────── */
.b2b-pm-empty {
    text-align: center;
    padding: 40px 20px;
    color: var(--b2b-text-muted);
}

.b2b-pm-empty i {
    font-size: 40px;
    display: block;
    margin-bottom: 10px;
    opacity: .4;
}

.b2b-pm-empty p {
    font-size: 14px;
    margin-bottom: 0;
}


/* ─── PRODUCT ARCHIVE (CATALOG) ────────────────────────────────── */
.b2b-products-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    padding: 0;
}

.b2b-catalog-card {
    background: var(--b2b-card-bg);
    border-radius: 12px;
    border: 1px solid var(--b2b-border);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.b2b-catalog-card .card-img-wrap {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    background: #fafafa;
}

.b2b-catalog-card .card-img-wrap img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.b2b-catalog-card .card-body {
    padding: 10px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.b2b-catalog-card .product-title {
    font-size: 12px;
    font-weight: 500;
    color: var(--b2b-text);
    line-height: 1.3;
    margin-bottom: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.b2b-catalog-card .product-price {
    font-size: 14px;
    font-weight: 700;
    color: var(--b2b-primary);
    margin-top: auto;
}

.b2b-catalog-card .product-price del {
    font-size: 11px;
    color: var(--b2b-text-muted);
    font-weight: 400;
}


/* ─── SINGLE PRODUCT ───────────────────────────────────────────── */
.b2b-single-product {
    padding: 12px;
}

.b2b-single-product .product-gallery {
    margin-bottom: 16px;
}

.b2b-single-product .product-gallery img {
    width: 100%;
    border-radius: 12px;
    background: #fafafa;
}

.b2b-single-product .product-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
}

.b2b-single-product .product-sku-info {
    font-size: 12px;
    color: var(--b2b-text-muted);
    margin-bottom: 12px;
}

.b2b-single-product .product-price {
    font-size: 22px;
    font-weight: 700;
    color: var(--b2b-primary);
    margin-bottom: 16px;
}

.b2b-single-product .moq-notice {
    background: #fff8e1;
    border: 1px solid #ffd54f;
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 12px;
    color: #795548;
    margin-bottom: 16px;
}

.b2b-single-product .moq-notice i {
    color: var(--b2b-warning);
}

.b2b-single-product .add-to-cart-section {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.b2b-single-product .add-to-cart-section .qty {
    width: 80px;
    text-align: center;
    border-radius: 10px;
    border: 1.5px solid var(--b2b-border);
    padding: 12px;
    font-size: 16px;
    font-weight: 600;
}

.b2b-single-product .add-to-cart-section .single_add_to_cart_button {
    flex: 1;
    background: var(--b2b-accent);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 12px;
    font-size: 15px;
    font-weight: 600;
}


/* ─── CART — next gen ───────────────────────────────────────────── */

/* Ascunde subscription widget (wcsatt) in cart */
.wcsatt-options.overrides_exist { display: none !important; }

/* ── Cart Item Card ──────────────────────────────────────────── */
.b2b-cart-item {
    background: var(--b2b-card-bg);
    border-radius: 14px;
    border: 1px solid var(--b2b-border);
    padding: 12px;
    margin-bottom: 10px;
    display: grid;
    grid-template-areas: "img body remove" "acts acts acts";
    grid-template-columns: 72px 1fr auto;
    grid-template-rows: auto auto;
    gap: 0 12px;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
}

/* Image */
.b2b-cart-item .ci-img {
    grid-area: img;
    display: flex;
    align-items: flex-start;
    padding-top: 2px;
}

.b2b-cart-item .ci-img img {
    width: 68px;
    height: 68px;
    object-fit: contain;
    border-radius: 10px;
    background: #f8f8f8;
    display: block;
}

/* Body */
.b2b-cart-item .ci-body {
    grid-area: body;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.b2b-cart-item .ci-name {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
}

.b2b-cart-item .ci-name-link {
    color: var(--b2b-text);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.b2b-cart-item a.ci-name-link:hover { color: var(--b2b-accent); }

.b2b-cart-item .ci-meta {
    display: flex;
    align-items: center;
    gap: 6px;
}

.b2b-cart-item .ci-sku-badge {
    font-size: 10px;
    font-weight: 600;
    color: var(--b2b-accent);
    background: rgba(31,135,179,.10);
    border-radius: 5px;
    padding: 1px 6px;
    white-space: nowrap;
}

.b2b-cart-item .ci-price-row {
    display: flex;
    align-items: baseline;
    gap: 4px;
    font-size: 13px;
}

.b2b-cart-item .ci-unit-price {
    font-weight: 600;
    color: var(--b2b-primary);
}

.b2b-cart-item .ci-unit-price .woocommerce-Price-amount { color: inherit; }

.b2b-cart-item .ci-um {
    font-size: 11px;
    color: var(--b2b-text-muted);
}

.b2b-cart-item .ci-subtotal {
    font-size: 12px;
    color: var(--b2b-text-muted);
}

.b2b-cart-item .ci-subtotal .woocommerce-Price-amount {
    color: var(--b2b-text);
    font-weight: 700;
}

/* Remove button */
.b2b-cart-item .ci-remove {
    grid-area: remove;
    color: #c0c8d0;
    text-decoration: none;
    font-size: 13px;
    line-height: 1;
    padding: 2px;
    align-self: flex-start;
    transition: color .15s;
}

.b2b-cart-item .ci-remove:hover,
.b2b-cart-item .ci-remove:active { color: #e41616; }

/* Actions row */
.b2b-cart-item .ci-actions {
    grid-area: acts;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--b2b-border);
}

/* Qty stepper */
.b2b-cart-item .ci-qty-wrap {
    display: flex;
    align-items: center;
    border: 1.5px solid var(--b2b-border);
    border-radius: 10px;
    overflow: hidden;
}

.b2b-cart-item .ci-qty-btn {
    background: #f5f7fa;
    border: none;
    padding: 0;
    width: 36px;
    height: 36px;
    font-size: 18px;
    line-height: 1;
    color: var(--b2b-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
    flex-shrink: 0;
}

.b2b-cart-item .ci-qty-btn:active { background: #e0e8f0; }

.b2b-cart-item .ci-qty-input {
    width: 48px;
    text-align: center;
    border: none;
    border-left: 1.5px solid var(--b2b-border);
    border-right: 1.5px solid var(--b2b-border);
    padding: 4px 2px;
    font-size: 14px;
    font-weight: 600;
    color: var(--b2b-text);
    background: #fff;
    height: 36px;
    -moz-appearance: textfield;
}

.b2b-cart-item .ci-qty-input::-webkit-inner-spin-button,
.b2b-cart-item .ci-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

.b2b-cart-item .ci-qty-static {
    font-size: 13px;
    color: var(--b2b-text-muted);
}

/* ── Cart Totals ──────────────────────────────────────────────── */
.b2b-cart-totals {
    background: -webkit-linear-gradient(top left, #1a1a2e 0%, #0f3460 100%);
    background: -o-linear-gradient(top left, #1a1a2e 0%, #0f3460 100%);
    background: linear-gradient(to bottom right, #1a1a2e 0%, #0f3460 100%);
    border-radius: 14px;
    border: 1px solid var(--b2b-border);
    padding: 16px;
    margin-top: 4px;
    margin-bottom: 100px;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
    color:#fff;
}

.b2b-cart-totals-title {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--b2b-border);
    text-transform: uppercase;
    letter-spacing: .5px;
}

.b2b-totals-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 9px 0;
    font-size: 14px;
    border-bottom: 1px solid #f5f5f5;
}

.b2b-totals-row:last-of-type { border-bottom: none; }

.b2b-totals-discount span:last-child { color: var(--b2b-success); font-weight: 600; }

.b2b-totals-free { color: var(--b2b-success); font-weight: 600; font-size: 13px; }
.b2b-totals-tbd  { color: var(--b2b-text-muted); font-size: 13px; }

.b2b-totals-grand {
    font-weight: 700;
    font-size: 16px;
    margin-top: 4px;
    padding-top: 12px;
    /*border-top: 2px solid var(--b2b-border) !important;*/
    border-bottom: none !important;
}

.b2b-totals-grand .woocommerce-Price-amount { color: #fff; }

.b2b-cart-ship-promo {
    margin-top: 10px;
    padding: 9px 12px;
    background: #f0faf4;
    border-radius: 8px;
    font-size: 12px;
    color: #2d7d4f;
    text-align: center;
}

/* ── Floating action bar ──────────────────────────────────────── */
.b2b-cart-floating {
    position: fixed;
    bottom: calc(60px + 12px);
    left: 12px;
    right: 12px;
    z-index: 1040;
}

.b2b-cart-checkout-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: var(--b2b-accent);
    color: #fff;
    text-decoration: none;
    border-radius: 14px;
    padding: 15px 20px;
    font-size: 15px;
    font-weight: 700;
    box-shadow: 0 4px 20px rgba(31,135,179,.40);
    transition: background .15s;
}

.b2b-cart-checkout-btn:active,
.b2b-cart-checkout-btn:hover { background: #1670a0; color: #fff; }

/* Minimum order alert (replaces checkout button) */
.b2b-cart-min-alert {
    background: #c0392b;
    color: #fff;
    border-radius: 14px;
    padding: 13px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 4px 16px rgba(192,57,43,.35);
    font-size: 13px;
    line-height: 1.45;
}

.b2b-cart-min-alert > i {
    font-size: 22px;
    flex-shrink: 0;
}

.b2b-cart-min-alert strong {
    font-weight: 700;
    display: block;
    font-size: 13px;
    margin-bottom: 2px;
}

.b2b-cart-min-alert .woocommerce-Price-amount { color: inherit; font-weight: 700; }


/* ─── CHECKOUT B2B BILLING ─────────────────────────────────────── */

/* CUI row: input + button inline */
.b2b-cui-row {
    display: flex;
    gap: 8px;
    align-items: flex-end;
    margin-bottom: 8px;
}
.b2b-cui-row .form-row {
    flex: 1;
    margin-bottom: 0 !important;
}
.b2b-btn-cui {
    background: var(--b2b-accent);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    height: fit-content;
    flex-shrink: 0;
}
.b2b-btn-cui:active {
    background: #186a90;
}
.b2b-btn-cui:disabled {
    opacity: 0.7;
}

/* ANAF alert / info box */
.b2b-anaf-alert {
    background: #fff8e1;
    border: 1px solid #ffd54f;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 12px;
    color: #795548;
    margin-bottom: 12px;
    line-height: 1.4;
}
.b2b-anaf-alert i {
    color: var(--b2b-warning);
}

/* Company billing holder */
#company_billing_holder {
    margin-top: 4px;
}

/* Address fields spacing */
.b2b-address-fields .form-row {
    margin-bottom: 8px;
}


/* ─── CHECKOUT — next gen ───────────────────────────────────────── */

/* ── Transport notice ── */
.b2b-co-shipping-notice {
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: 12px;
    padding: 12px 16px;
    margin: 0 16px 12px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
}
.b2b-co-shipping-free {
    background: #e8f8f0;
    color: #1a6e3d;
    border: 1px solid #a8e6c3;
}
.b2b-co-shipping-warn {
    background: #fff8e1;
    color: #7a5100;
    border: 1px solid #ffd54f;
}
.b2b-co-shipping-notice i { flex-shrink: 0; font-size: 16px; }

/* ── Card generic checkout ── */
.b2b-co-card {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0,0,0,.08);
    margin: 0 16px 12px;
    padding: 16px;
}
.b2b-co-card-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--b2b-text);
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    text-transform: uppercase;
    letter-spacing: .3px;
}

/* ── Form fields ── */
.b2b-checkout .form-row {
    margin-bottom: 12px;
}
.b2b-checkout .form-row label {
    font-size: 12px;
    font-weight: 600;
    color: var(--b2b-text);
    margin-bottom: 4px;
}
.b2b-checkout .form-row input,
.b2b-checkout .form-row select,
.b2b-checkout .form-row textarea {
    border-radius: 10px;
    border: 1.5px solid var(--b2b-border);
    padding: 10px 14px;
    font-size: 14px;
    width: 100%;
}
.b2b-checkout .form-row input:focus,
.b2b-checkout .form-row select:focus,
.b2b-checkout .form-row textarea:focus {
    border-color: var(--b2b-accent);
    box-shadow: 0 0 0 3px rgba(31,135,179,.15);
    outline: none;
}
.b2b-checkout textarea#order_comments {
    min-height: 90px;
    resize: vertical;
}

/* ── Order review table ── */
.b2b-checkout .woocommerce-checkout-review-order-table {
    font-size: 13px;
    width: 100%;
    border-collapse: collapse;
}
.b2b-checkout .woocommerce-checkout-review-order-table th,
.b2b-checkout .woocommerce-checkout-review-order-table td {
    padding: 8px 4px;
    border-bottom: 1px solid var(--b2b-border);
    vertical-align: middle;
}
.b2b-checkout .woocommerce-checkout-review-order-table .order-total td,
.b2b-checkout .woocommerce-checkout-review-order-table .order-total th {
    font-size: 15px;
    font-weight: 700;
    color: var(--b2b-accent);
    border-bottom: none;
    padding-top: 12px;
}

/* ── Payment methods ── */
.b2b-checkout .payment_methods {
    list-style: none;
    padding: 0;
    margin: 0;
}
.b2b-checkout .payment_methods li {
    background: var(--b2b-card-bg);
    border: 1.5px solid var(--b2b-border);
    border-radius: 12px;
    padding: 13px;
    margin-bottom: 8px;
    transition: border-color .15s, background .15s;
    cursor: pointer;
}
.b2b-checkout .payment_methods li.active,
.b2b-checkout .payment_methods li:has(input:checked) {
    border-color: var(--b2b-accent);
    background: #f0f8fb;
}
.b2b-checkout .payment_methods label {
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}
.b2b-checkout .payment_methods .payment_box {
    margin-top: 10px;
    padding: 10px;
    background: rgba(31,135,179,.06);
    border-radius: 8px;
    font-size: 13px;
    color: var(--b2b-text-muted);
}

/* ── Place Order button ── */
.b2b-checkout #place_order {
    background: linear-gradient(135deg, #1565c0 0%, #1f87b3 100%);
    color: #fff;
    border: none;
    border-radius: 12px;
    padding: 16px;
    font-size: 17px;
    font-weight: 700;
    width: 100%;
    margin-top: 16px;
    letter-spacing: .2px;
    box-shadow: 0 4px 14px rgba(31,135,179,.35);
    transition: opacity .15s, transform .1s;
}
.b2b-checkout #place_order:active {
    opacity: .88;
    transform: scale(.99);
}

/* ── WC notices inside checkout ── */
.b2b-checkout .woocommerce-error,
.b2b-checkout .woocommerce-message,
.b2b-checkout .woocommerce-info {
    border-radius: 10px;
    font-size: 13px;
    padding: 12px 14px;
    margin-bottom: 12px;
    list-style: none;
}


/* ─── ORDERS — next gen ─────────────────────────────────────────── */

/* Back button in section banner (shared: orders + achizview) */
.b2b-back-btn {
    background: rgba(255,255,255,.18);
    border: 1.5px solid rgba(255,255,255,.40);
    border-radius: 10px;
    color: #fff;
    padding: 7px 10px;
    font-size: 17px;
    line-height: 1;
    cursor: pointer;
    flex-shrink: 0;
    text-decoration: none;
    transition: background .15s;
    display: flex;
    align-items: center;
}

.b2b-back-btn:hover,
.b2b-back-btn:active { background: rgba(255,255,255,.30); color: #fff; }

/* ── Order Card ──────────────────────────────────────────────── */
.b2b-order-card {
    background: var(--b2b-card-bg);
    border-radius: 14px;
    border: 1px solid var(--b2b-border);
    margin-bottom: 10px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
}

/* Header: number + status */
.b2b-oc-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 11px 14px 9px;
    border-bottom: 1px solid var(--b2b-border);
}

.b2b-oc-num {
    font-weight: 700;
    font-size: 15px;
}

.b2b-oc-num a {
    color: var(--b2b-primary);
    text-decoration: none;
}

.b2b-oc-num a:hover { text-decoration: underline; }

/* Status badges */
.b2b-oc-status {
    font-size: 11px;
    font-weight: 600;
    padding: 3px 9px;
    border-radius: 20px;
}

.b2b-oc-status.status-completed,
.b2b-oc-status.status-wc-completed  { background: #e8f5e9; color: #2e7d32; }

.b2b-oc-status.status-processing,
.b2b-oc-status.status-wc-processing { background: #e3f2fd; color: #1565c0; }

.b2b-oc-status.status-on-hold,
.b2b-oc-status.status-wc-on-hold    { background: #fff8e1; color: #f57f17; }

.b2b-oc-status.status-pending,
.b2b-oc-status.status-wc-pending    { background: #fce4ec; color: #c62828; }

.b2b-oc-status.status-cancelled,
.b2b-oc-status.status-wc-cancelled  { background: #f5f5f5; color: #757575; }

/* Body */
.b2b-oc-body { padding: 9px 14px 4px; }

.b2b-oc-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}

.b2b-oc-date {
    font-size: 12px;
    color: var(--b2b-text-muted);
}

.b2b-oc-total {
    font-size: 16px;
    font-weight: 700;
    color: var(--b2b-primary);
}

.b2b-oc-total .woocommerce-Price-amount { color: inherit; }

.b2b-oc-items {
    font-size: 12px;
    color: var(--b2b-text-muted);
    margin-bottom: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.b2b-oc-note {
    font-size: 11px;
    color: var(--b2b-text-muted);
    margin-bottom: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Footer: action buttons */
.b2b-oc-foot {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px 11px;
    border-top: 1px solid var(--b2b-border);
    background: #fafbfc;
    flex-wrap: wrap;
}

.b2b-oc-btn-detail,
.b2b-oc-btn-repeat,
.b2b-oc-btn-pay,
.b2b-oc-btn-cancel {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border-radius: 8px;
    padding: 7px 13px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: background .15s, color .15s;
    white-space: nowrap;
}

.b2b-oc-btn-detail {
    background: var(--b2b-accent);
    color: #fff;
}
.b2b-oc-btn-detail:hover,
.b2b-oc-btn-detail:active { background: #186a90; color: #fff; }

.b2b-oc-btn-repeat {
    background: #f0faf4;
    color: #2d7d4f;
    border: 1.5px solid #c3e6cb;
}
.b2b-oc-btn-repeat:hover { background: #d4edda; color: #1e5e36; }

.b2b-oc-btn-pay {
    background: #3aaa5c;
    color: #fff;
}
.b2b-oc-btn-pay:hover { background: #2d8748; color: #fff; }

.b2b-oc-btn-cancel {
    background: #fff0f0;
    color: #c0392b;
    border: 1.5px solid #f5c6cb;
}
.b2b-oc-btn-cancel:hover { background: #f8d7da; color: #922b21; }


/* ─── ACCOUNT ──────────────────────────────────────────────────── */
.b2b-account-section {
    padding: 12px;
}

.b2b-account-section .section-title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 16px;
    color: var(--b2b-primary);
}


/* ─── WOOCOMMERCE OVERRIDES ────────────────────────────────────── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 12px;
    font-size: 13px;
    border: none;
}

.woocommerce-message {
    background: #e8f5e9;
    color: #2e7d32;
}

.woocommerce-info {
    background: #e3f2fd;
    color: #1565c0;
}

.woocommerce-error {
    background: #fce4ec;
    color: #c62828;
    list-style: none;
    padding-left: 14px;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    display: none;
}

/* Ascunde alerta "doar produse ofertate" de la plugin — nu e relevanta pe B2B app */
#order-restriction-notice {
    display: none !important;
}

/* WooCommerce buttons */
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    border-radius: 10px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
    border: none;
    background: var(--b2b-secondary);
    color: #fff;
}

.woocommerce .button:hover,
.woocommerce a.button:hover {
    background: var(--b2b-primary);
    color: #fff;
}

.woocommerce .button.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
    background: var(--b2b-accent);
}

.woocommerce .button.alt:hover {
    background: #186a90;
}

/* WooCommerce forms */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    border-radius: 10px;
    border: 1.5px solid var(--b2b-border);
    padding: 10px 14px;
    font-size: 14px;
}

/* Hide WooCommerce my-account sidebar navigation (we use bottom nav) */
.woocommerce-MyAccount-navigation {
    display: none;
}

.woocommerce-MyAccount-content {
    width: 100%;
    float: none;
}

/* DataTables mobile */
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_info {
    font-size: 12px;
}

.dataTables_wrapper .dataTables_filter input {
    border-radius: 8px;
    border: 1.5px solid var(--b2b-border);
    padding: 8px 12px;
    font-size: 14px;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: 8px !important;
    padding: 6px 12px !important;
    font-size: 13px;
}


/* ─── QUANTITY INPUT (MOQ-aware) ───────────────────────────────── */
.b2b-qty-wrapper {
    display: flex;
    align-items: center;
    border: 1.5px solid var(--b2b-border);
    border-radius: 10px;
    overflow: hidden;
    width: fit-content;
}

.b2b-qty-wrapper button {
    background: #f5f5f5;
    border: none;
    width: 38px;
    height: 38px;
    font-size: 18px;
    font-weight: 700;
    color: var(--b2b-text);
    display: flex;
    align-items: center;
    justify-content: center;
}

.b2b-qty-wrapper button:active {
    background: #e0e0e0;
}

.b2b-qty-wrapper input {
    width: 50px;
    text-align: center;
    border: none;
    font-size: 14px;
    font-weight: 600;
    padding: 8px 0;
    -moz-appearance: textfield;
}

.b2b-qty-wrapper input::-webkit-inner-spin-button,
.b2b-qty-wrapper input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}


/* ─── LOADING / SKELETON ───────────────────────────────────────── */
.b2b-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.b2b-loading-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid var(--b2b-border);
    border-top-color: var(--b2b-accent);
    border-radius: 50%;
    animation: b2b-spin 0.8s linear infinite;
}

@keyframes b2b-spin {
    to { transform: rotate(360deg); }
}

/* Toast notification */
.b2b-toast {
    position: fixed;
    bottom: calc(var(--b2b-bottom-nav-height) + 20px + var(--b2b-safe-area-bottom));
    left: 50%;
    transform: translateX(-50%) translateY(100px);
    background: var(--b2b-primary);
    color: #fff;
    padding: 12px 40px 12px 16px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 500;
    z-index: 9999;
    opacity: 0;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
    max-width: 90%;
    width: max-content;
    line-height: 1.4;
}

.b2b-toast.show {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

.b2b-toast.success {
    background: var(--b2b-success);
}

.b2b-toast.error {
    background: var(--b2b-error);
}

.b2b-toast.info {
    background: var(--b2b-secondary);
}

.b2b-toast .toast-close {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: rgba(255,255,255,0.7);
    font-size: 16px;
    cursor: pointer;
    padding: 0;
    line-height: 1;
}

.b2b-toast .toast-close:hover {
    color: #fff;
}


/* ─── THANK YOU PAGE — next gen ────────────────────────────────── */

/* ── Hero animat ── */
.b2b-ty-hero {
    text-align: center;
    padding: 40px 24px 20px;
}
.b2b-ty-pulse {
    position: relative;
    width: 84px;
    height: 84px;
    margin: 0 auto 18px;
}
.b2b-ty-pulse::before,
.b2b-ty-pulse::after {
    content: '';
    position: absolute;
    inset: -10px;
    border-radius: 50%;
    background: rgba(39,174,96,.14);
    animation: b2b-ty-ring 1.8s ease-out infinite;
}
.b2b-ty-pulse::after {
    inset: -20px;
    background: rgba(39,174,96,.07);
    animation-delay: .4s;
}
@keyframes b2b-ty-ring {
    0%  { transform: scale(.85); opacity: 1; }
    70% { transform: scale(1.12); opacity: 0; }
    100%{ transform: scale(.85); opacity: 0; }
}
.b2b-ty-check {
    position: relative;
    z-index: 1;
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: #27ae60;
    color: #fff;
    font-size: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 20px rgba(39,174,96,.35);
}
.b2b-ty-order-num {
    font-size: 22px;
    font-weight: 700;
    color: var(--b2b-text);
    margin-bottom: 4px;
}
.b2b-ty-confirmed {
    font-size: 16px;
    font-weight: 600;
    color: #27ae60;
    margin-bottom: 8px;
}
.b2b-ty-email {
    font-size: 13px;
    color: var(--b2b-text-muted);
    line-height: 1.4;
}

/* ── Summary card (zero padding, rows interne) ── */
.b2b-ty-summary {
    padding: 0;
    overflow: hidden;
}
.b2b-ty-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 13px 16px;
    border-bottom: 1px solid var(--b2b-border);
}
.b2b-ty-row.last { border-bottom: none; }
.b2b-ty-row-label {
    font-size: 13px;
    color: var(--b2b-text-muted);
}
.b2b-ty-row-val {
    font-size: 14px;
    font-weight: 600;
    color: var(--b2b-text);
    text-align: right;
}
.b2b-ty-total {
    font-size: 17px;
    font-weight: 700;
    color: var(--b2b-accent);
}

/* ── Items card ── */
.b2b-ty-items-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--b2b-text);
    text-transform: uppercase;
    letter-spacing: .3px;
    margin-bottom: 12px;
}
.b2b-ty-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--b2b-border);
}
.b2b-ty-item:last-child { border-bottom: none; }
.b2b-ty-item-img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    border-radius: 8px;
    flex-shrink: 0;
    background: var(--b2b-card-bg);
    padding: 2px;
}
.b2b-ty-item-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 6px;
    display: block;
}
.b2b-ty-item-info { flex: 1; min-width: 0; }
.b2b-ty-item-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--b2b-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.b2b-ty-item-qty {
    font-size: 12px;
    color: var(--b2b-text-muted);
    margin-top: 2px;
}
.b2b-ty-item-price {
    font-size: 14px;
    font-weight: 700;
    color: var(--b2b-text);
    flex-shrink: 0;
}

/* ── Butoane acțiuni ── */
.b2b-ty-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 4px 16px 28px;
}
.b2b-ty-btn-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 16px;
    border-radius: 12px;
    background: linear-gradient(135deg, #1565c0 0%, #1f87b3 100%);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(31,135,179,.28);
}
.b2b-ty-btn-outline {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 16px;
    border-radius: 12px;
    background: #fff;
    color: var(--b2b-accent);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    border: 1.5px solid var(--b2b-accent);
}
.b2b-ty-btn-danger {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 16px;
    border-radius: 12px;
    background: #e74c3c;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(231,76,60,.25);
}


/* ─── UTILITIES ────────────────────────────────────────────────── */
.b2b-empty-state {
    text-align: center;
    padding: 40px 20px;
    color: var(--b2b-text-muted);
}

.b2b-empty-state i {
    font-size: 48px;
    margin-bottom: 12px;
    opacity: 0.3;
}

.b2b-empty-state p {
    font-size: 14px;
}

/* Empty cart — centrat vertical pe ecran */
.b2b-empty-cart {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: calc(100svh - 180px);
    text-align: center;
    padding: 40px 30px;
    color: var(--b2b-text-muted);
}

.b2b-empty-cart i.bi-cart-x {
    font-size: 96px;
    opacity: 0.18;
    margin-bottom: 24px;
    display: block;
    color: var(--b2b-primary, #0d6efd);
}

.b2b-empty-cart p {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 28px;
    color: var(--b2b-text-muted);
    line-height: 1.5;
}

.b2b-empty-cart .btn-primary {
    padding: 12px 28px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 10px;
}

.b2b-pull-to-refresh {
    text-align: center;
    padding: 10px;
    font-size: 12px;
    color: var(--b2b-text-muted);
}


/* ─── FACTURI — next gen ────────────────────────────────────────── */

/* Export button in section banner */
.b2b-inv-export-btn {
    background: rgba(255,255,255,.18);
    border: 1.5px solid rgba(255,255,255,.40);
    border-radius: 10px;
    color: #fff;
    padding: 7px 10px;
    font-size: 17px;
    line-height: 1;
    cursor: pointer;
    flex-shrink: 0;
    transition: background .15s;
}

.b2b-inv-export-btn:active { background: rgba(255,255,255,.30); }

/* ── Search Bar ──────────────────────────────────────────────── */
.b2b-inv-search-bar {
    display: flex;
    align-items: center;
    background: var(--b2b-card-bg);
    border: 1.5px solid var(--b2b-border);
    border-radius: 12px;
    padding: 0 12px;
    gap: 8px;
    transition: border-color .2s;
}

.b2b-inv-search-bar:focus-within { border-color: var(--b2b-accent); }

.b2b-inv-search-icon {
    color: var(--b2b-text-muted);
    font-size: 15px;
    flex-shrink: 0;
}

.b2b-inv-search-input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    padding: 11px 0;
    font-size: 14px;
    color: var(--b2b-text);
}

.b2b-inv-search-input::placeholder { color: var(--b2b-text-muted); }
.b2b-inv-search-input::-webkit-search-cancel-button { display: none; }

.b2b-inv-search-clear {
    background: none;
    border: none;
    padding: 0;
    color: var(--b2b-text-muted);
    font-size: 13px;
    cursor: pointer;
    flex-shrink: 0;
    line-height: 1;
}

/* ── Invoice Card ─────────────────────────────────────────────── */
.b2b-inv-card {
    background: var(--b2b-card-bg);
    border-radius: 14px;
    border: 1px solid var(--b2b-border);
    margin-bottom: 10px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
}

/* Header */
.b2b-inv-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px 10px;
    border-bottom: 1px solid var(--b2b-border);
}

.b2b-inv-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #e67e22;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    flex-shrink: 0;
}

.b2b-inv-head-info {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.b2b-inv-num {
    font-size: 15px;
    font-weight: 700;
    color: var(--b2b-text);
    letter-spacing: .3px;
}

.b2b-inv-date {
    font-size: 11px;
    font-weight: 500;
    color: var(--b2b-text-muted);
    background: #f4f6fa;
    border-radius: 20px;
    padding: 2px 9px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Body rows */
.b2b-inv-rows {
    padding: 0 14px;
}

.b2b-inv-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 9px 0;
    font-size: 13px;
    border-bottom: 1px solid #f5f5f5;
}

.b2b-inv-row:last-child { border-bottom: none; }

.b2b-inv-lbl {
    font-size: 12px;
    color: var(--b2b-text-muted);
    flex-shrink: 0;
}

.b2b-inv-val {
    font-size: 13px;
    color: var(--b2b-text);
    text-decoration: none;
    text-align: right;
    max-width: 65%;
}

.b2b-inv-order-link {
    color: var(--b2b-accent);
    font-weight: 600;
    text-decoration: none;
}

.b2b-inv-order-link:hover { text-decoration: underline; }

.b2b-inv-cc {
    font-size: 11px;
    color: var(--b2b-text-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Footer */
.b2b-inv-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px 12px;
    border-top: 1px solid var(--b2b-border);
    background: #fafbfc;
}

.b2b-inv-total {
    font-size: 16px;
    font-weight: 700;
    color: var(--b2b-primary);
}

.b2b-inv-details-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: var(--b2b-accent);
    color: #fff;
    text-decoration: none;
    border-radius: 8px;
    padding: 7px 14px;
    font-size: 13px;
    font-weight: 600;
    transition: background .15s;
}

.b2b-inv-details-btn:hover,
.b2b-inv-details-btn:active { background: #186a90; color: #fff; }

/* ── Export Modal ─────────────────────────────────────────────── */
.b2b-inv-modal { border-radius: 18px; overflow: hidden; border: none; }

.b2b-inv-modal-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 18px 14px;
    border-bottom: 1px solid var(--b2b-border);
}

.b2b-inv-modal-icon {
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: #217346;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.b2b-inv-modal-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--b2b-text);
    line-height: 1.2;
}

.b2b-inv-modal-sub {
    font-size: 11px;
    color: var(--b2b-text-muted);
    margin-top: 2px;
}

.b2b-inv-modal-close {
    background: #f0f2f5;
    border: none;
    border-radius: 8px;
    padding: 6px 8px;
    font-size: 13px;
    color: var(--b2b-text-muted);
    cursor: pointer;
    margin-left: auto;
    transition: background .15s;
}

.b2b-inv-modal-close:hover { background: #e0e4ea; }

.b2b-inv-modal-body { padding: 16px 18px; }

.b2b-inv-modal-desc {
    font-size: 12px;
    color: var(--b2b-text-muted);
    margin-bottom: 16px;
    line-height: 1.5;
}

.b2b-inv-modal-field { margin-bottom: 14px; }

.b2b-inv-modal-label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: var(--b2b-text);
    margin-bottom: 6px;
}

.b2b-inv-modal-input {
    display: block;
    width: 100%;
    background: var(--b2b-card-bg);
    border: 1.5px solid var(--b2b-border);
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 14px;
    color: var(--b2b-text);
    outline: none;
    transition: border-color .2s;
}

.b2b-inv-modal-input:focus { border-color: var(--b2b-accent); }

.b2b-inv-modal-footer {
    display: flex;
    gap: 8px;
    padding: 14px 18px 18px;
    border-top: 1px solid var(--b2b-border);
}

.b2b-inv-modal-cancel {
    flex: 1;
    background: #f0f2f5;
    border: none;
    border-radius: 10px;
    padding: 11px;
    font-size: 14px;
    font-weight: 600;
    color: var(--b2b-text);
    cursor: pointer;
    transition: background .15s;
}

.b2b-inv-modal-cancel:hover { background: #e0e4ea; }

.b2b-inv-modal-submit {
    flex: 2;
    background: var(--b2b-accent);
    border: none;
    border-radius: 10px;
    padding: 11px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: background .15s;
}

.b2b-inv-modal-submit:active { background: #186a90; }


/* ─── COMENZI / COLEGI / ORDER DETAIL — next gen ────────────────── */

/* Subsection title (shared) */
.b2b-subsection-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--b2b-text);
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--b2b-border);
    text-transform: uppercase;
    letter-spacing: .4px;
}

/* ── Coleg context card (director + ccid view) ─────────────────── */
.b2b-coleg-context-card {
    background: var(--b2b-card-bg);
    border: 1px solid var(--b2b-border);
    border-radius: 12px;
    padding: 10px 14px;
    font-size: 12px;
    color: var(--b2b-text-muted);
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.b2b-ccc-nick { font-style: italic; }
.b2b-ccc-addr { }

/* ── Cost Center Cards (director list) ─────────────────────────── */
.stg-colegi-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.b2b-cc-card {
    background: var(--b2b-card-bg);
    border: 1px solid var(--b2b-border);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
}

.b2b-cc-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 13px 14px 10px;
}

.b2b-cc-avatar {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #1f87b3 0%, #26b7dd 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    letter-spacing: .5px;
}

.b2b-cc-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.b2b-cc-name {
    font-weight: 700;
    font-size: 14px;
    color: var(--b2b-text);
    line-height: 1.3;
}

.b2b-cc-nick {
    font-weight: 400;
    font-size: 12px;
    color: var(--b2b-text-muted);
}

.b2b-cc-addr,
.b2b-cc-phone {
    font-size: 12px;
    color: var(--b2b-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.b2b-cc-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: var(--b2b-accent);
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    padding: 10px 14px;
    border-top: 1px solid var(--b2b-border);
    transition: background .15s;
}

.b2b-cc-btn:hover,
.b2b-cc-btn:active { background: #186a90; color: #fff; }

/* ── Order Templates (sabloane comenzi) ────────────────────────── */
.b2b-order-templates { padding-top: 8px; }

.b2b-template-card {
    background: var(--b2b-card-bg);
    border: 1px solid var(--b2b-border);
    border-radius: 14px;
    padding: 14px 12px;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
}

.b2b-template-card .template-name {
    font-weight: 700;
    font-size: 13px;
    color: var(--b2b-text);
    margin-bottom: 4px;
    line-height: 1.3;
}

.b2b-template-card .template-meta {
    font-size: 11px;
    color: var(--b2b-text-muted);
    margin-bottom: 6px;
    flex: 1;
}

.b2b-template-card .btn-success {
    background: var(--b2b-success) !important;
    border-color: var(--b2b-success) !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    margin-top: auto;
}

/* ── Order Detail — achizview-order ────────────────────────────── */

/* Action bar below banner */
.b2b-order-action-bar {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.b2b-oab-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 12px;
    padding: 11px 18px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: background .15s;
    flex: 1;
    justify-content: center;
    min-width: 140px;
}

.b2b-oab-repeat {
    background: #3aaa5c;
    color: #fff;
}
.b2b-oab-repeat:hover { background: #2d8748; color: #fff; }

.b2b-oab-export {
    background: var(--b2b-card-bg);
    color: var(--b2b-text);
    border: 1.5px solid var(--b2b-border) !important;
}
.b2b-oab-export:hover { background: #f0f4f8; }

.b2b-oab-export-form { flex: 1; display: flex; min-width: 140px; }
.b2b-oab-export-form .b2b-oab-export { width: 100%; }

/* Customer note */
.b2b-order-note {
    background: #fff8e1;
    border: 1px solid #ffd54f;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 13px;
    color: #5d4037;
    line-height: 1.5;
}

/* Order updates timeline */
.b2b-order-update-item {
    background: var(--b2b-card-bg);
    border-left: 3px solid var(--b2b-accent);
    border-radius: 0 10px 10px 0;
    padding: 10px 14px;
    margin-bottom: 8px;
    box-shadow: 0 1px 3px rgba(0,0,0,.05);
}

.b2b-order-update-item .update-date {
    font-size: 11px;
    color: var(--b2b-text-muted);
    margin-bottom: 4px;
    font-weight: 500;
}

.b2b-order-update-item .update-text {
    font-size: 13px;
    color: var(--b2b-text);
    line-height: 1.5;
}

.b2b-order-update-item .update-text p { margin-bottom: 0; }

/* WC order details */
.b2b-order-wc-details { font-size: 13px; }

.b2b-order-wc-details h2,
.b2b-order-wc-details h3 {
    font-size: 14px;
    font-weight: 700;
    margin-top: 20px;
    margin-bottom: 10px;
    color: var(--b2b-text);
    border-bottom: 1px solid var(--b2b-border);
    padding-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: .3px;
}

.b2b-order-wc-details table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    margin-bottom: 12px;
    background: var(--b2b-card-bg);
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--b2b-border);
}

.b2b-order-wc-details table th,
.b2b-order-wc-details table td {
    padding: 9px 10px;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
}

.b2b-order-wc-details table th {
    font-weight: 700;
    color: var(--b2b-text-muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .3px;
    background: #f8f9fa;
}

.b2b-order-wc-details table tbody tr:last-child td { border-bottom: none; }

/* Spin icon for quickbuy toast */
@keyframes b2b-spin-slow {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}
.spin-icon {
    display: inline-block;
    animation: b2b-spin-slow 0.8s linear infinite;
}


/* ─── FIBOSEARCH OVERRIDES ─────────────────────────────────────── */
.dgwt-wcas-search-wrapp {
    max-width: 100% !important;
}

.dgwt-wcas-search-form {
    border-radius: 10px !important;
    overflow: hidden;
}

.dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
    border-radius: 10px !important;
    border: 1.5px solid var(--b2b-border) !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
}

.dgwt-wcas-suggestions-wrapp {
    border-radius: 0 0 10px 10px !important;
    border: 1px solid var(--b2b-border) !important;
}


/* ─── B2B MENU TILES (Dashboard grid) ──────────────────────────── */
.b2b-menu-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--b2b-card-bg);
    border-radius: 12px;
    padding: 18px 8px 14px;
    text-decoration: none;
    color: var(--b2b-text);
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    text-align: center;
    min-height: 88px;
    position: relative;
    transition: transform 0.12s, box-shadow 0.12s;
    -webkit-tap-highlight-color: transparent;
}
.b2b-menu-tile:hover,
.b2b-menu-tile:focus {
    text-decoration: none;
    color: var(--b2b-text);
    box-shadow: 0 4px 14px rgba(31,135,179,0.15);
}
.b2b-menu-tile:active {
    transform: scale(0.96);
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
    color: var(--b2b-text);
}
.b2b-menu-tile i {
    font-size: 1.7rem;
    color: var(--b2b-primary);
    margin-bottom: 7px;
    display: block;
    line-height: 1;
}
.b2b-menu-tile .tile-label {
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--b2b-text);
}
.b2b-menu-tile .badge-soon {
    position: absolute;
    top: 6px;
    right: 6px;
    font-size: 9px;
    font-weight: 700;
    background: var(--b2b-secondary);
    color: #fff;
    border-radius: 4px;
    padding: 1px 5px;
    letter-spacing: 0.3px;
}
/* Tile-urile "Soon" arata usor diferit — inca invitante */
.b2b-menu-tile[onclick] {
    opacity: 0.75;
    cursor: default;
}

/* ─── RESPONSIVE ADJUSTMENTS ───────────────────────────────────── */
@media (min-width: 576px) {
    .b2b-products-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 768px) {
    .b2b-products-grid {
        grid-template-columns: repeat(4, 1fr);
    }


    .b2b-main > .b2b-login-wrapper {
        max-width: 768px;
        margin: 0 auto;
    }
}
