/*
 * website_base.css — public / marketing (Bootstrap 4.6)
 *
 * Serii copiate din admin_panel/admin_base.css:
 *   [S2] [S3] [S4] [S5][S6] [S7] [S8] [S9] [S10] [S12] [S14] [S17]
 * EXCLUS: [S11] Select2 / .wb-select2-* (momentan neincluse; prefix wb pentru site public).
 * Neincluse: [S13] nav-tabs, [S15–S16] [S18] [S20].
 *
 * ─── Inventar serii (referință) ───
 * [S1] :root --bs-* │ [S2] tokeni site: --wb-alert-*, --wb-icon-*, --wb-gradient-* │ [S3] .fs-*
 * [S4] .bg/text/border semantic │ [S5–S6] .btn / .btn-outline │ [S7] badges
 * [S8] alerts │ [S9] rounded-6–15 │ [S10] form focus │ [S11] Select2 EXCLUS │ [S12] opacity
 * [S13] nav-tabs │ [S14] vh │ [S15–S18] shell admin / DataTables (clase .ap-* doar în admin)
 * [S20] platform_admin_base (temă separată)
 *
 * Fișierul e încărcat în principal pe homepage — override-urile globale (.btn-*, .badge)
 * aplică doar unde includezi acest CSS.
 */

:root {
    --bs-primary: #2a2484;
    --bs-primary-hover: #3c359b;
    --bs-primary-rgb: 42, 36, 132;

    --bs-secondary: #1A1F3D;
    --bs-secondary-hover: #2A3057;
    --bs-secondary-rgb: 26, 31, 61;

    --bs-success: #2a6b38;
    --bs-success-rgb: 42, 107, 56;

    --bs-info: #0d4b60;
    --bs-info-rgb: 13, 75, 96;

    --bs-warning: #9a4d77;
    --bs-warning-rgb: 154, 77, 119;

    --bs-danger: #ce3a3a;
    --bs-danger-rgb: 184, 91, 108;
    --bs-text-muted: #6c757d;

    --bs-light: #f8f9fa;
    --bs-light-rgb: 248, 249, 250;

    --bs-dark: #1e0031;
    --bs-dark-rgb: 30, 0, 49;

    --wb-alert-danger-bg: #FFF8F8;
    --wb-alert-danger-border: #FEE8E8;
    --wb-alert-danger-title-color: #b91c1c;
    --wb-alert-danger-desc-color: #991b1b;
    --wb-alert-warning-bg: #FFFBEB;
    --wb-alert-warning-border: #FEF3C7;
    --wb-alert-warning-title-color: #92400e;
    --wb-alert-warning-desc-color: #78350f;
    --wb-alert-info-bg: #EFF6FF;
    --wb-alert-info-border: #DBEAFE;
    --wb-alert-info-title-color: #1e40af;
    --wb-alert-info-desc-color: #1e3a8a;
    --wb-alert-primary-bg: #ede8f8;
    --wb-alert-primary-border: #d4c8f5;
    --wb-alert-primary-title-color: #4530a3;
    --wb-alert-primary-desc-color: #2d1f6e;
    --wb-alert-secondary-bg: #e4e6eb;
    --wb-alert-secondary-border: #b8bcc9;
    --wb-alert-secondary-title-color: #1A1F3D;
    --wb-alert-secondary-desc-color: #0f1220;
    --wb-alert-border-radius: 0.75rem;
    --wb-alert-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    --wb-alert-icon-size: 1.25rem;
    --wb-icon-tint-1-bg: #ede8f8;
    --wb-icon-tint-1-color: #5943CD;
    --wb-icon-tint-2-bg: #e0f7eb;
    --wb-icon-tint-2-color: #2a6b38;
    --wb-icon-tint-3-bg: #dbeafe;
    --wb-icon-tint-3-color: #1e40af;
    --wb-icon-muted-bg: #f4f5f7;
    --wb-icon-muted-color: #6c757d;
    --wb-gradient-accent-start: var(--wb-icon-tint-1-color);
    --wb-gradient-accent-end: var(--bs-primary);

/* website / marketing layout tokens (.wb-*) */
    --wb-hero-min-height: 280px;
    --wb-hero-min-height-lg: 420px;
    --wb-icon-box-size: 3rem;
    --wb-step-badge-size: 2rem;
    --wb-icon-font-size: 1.25rem;
    --wb-footer-logo-max-height: 148px;
    --wb-hero-placeholder-opacity: 0.55;
    --wb-btn-outline-border-width: 2px;
    --wb-hero-card-inset: 1rem;
    --wb-hero-section-pt: 4.25rem;
    --wb-hero-section-pb: 4.5rem;

    --wb-sticky-nav-scroll-offset: 5rem;

    --wb-box-shadow: rgba(47, 43, 61, 0.14) 0 3px 12px 0;

    --wb-avatar-tint-info: rgba(var(--bs-info-rgb), 0.25);
    --wb-avatar-tint-primary: rgba(var(--bs-primary-rgb), 0.25);
    --wb-avatar-tint-dark: rgba(var(--bs-dark-rgb), 0.25);
    --wb-select2-bg: #ffffff;
    --wb-select2-border: #ced4da;
    --wb-select2-text: #495057;
    --wb-select2-focus-border: var(--bs-primary);
    --wb-select2-focus-ring: rgba(var(--bs-primary-rgb), 0.25);
    --wb-select2-highlight-bg: var(--bs-primary);
    --wb-select2-highlight-text: #ffffff;
}

@media (min-width: 992px) {
    :root {
        --wb-hero-section-pt: 5rem;
        --wb-hero-section-pb: 5.25rem;
    }
}

.fs-0_5 { font-size: 0.5rem !important; }
.fs-0_7 { font-size: 0.7rem !important; }
.fs-0_72 { font-size: 0.72rem !important; }
.fs-0_78 { font-size: 0.78rem !important; }
.fs-0_85 { font-size: 0.85rem !important; }
.fs-0_9 { font-size: 0.9rem !important; }
.fs-1_15 { font-size: 1.15rem !important; }
.fs-1_25 { font-size: 1.25rem !important; }
@media (min-width: 768px) {
    .fs-md-1_25 { font-size: 1.25rem !important; }
    .fs-md-1_3 { font-size: 1.3rem !important; }
}
.letter-spacing-05em { letter-spacing: 0.05em !important; }
.text-white-70 { color: rgba(255, 255, 255, 0.7) !important; }
.text-white-80 { color: rgba(255, 255, 255, 0.8) !important; }
.border-white-15 { border-color: rgba(255, 255, 255, 0.15) !important; }
.min-width-0 { min-width: 0 !important; }

.bg-primary { background-color: var(--bs-primary) !important; }
.bg-secondary { background-color: var(--bs-secondary) !important; }
.bg-success { background-color: var(--bs-success) !important; }
.bg-info { background-color: var(--bs-info) !important; }
.bg-warning { background-color: var(--bs-warning) !important; }
.bg-danger { background-color: var(--bs-danger) !important; }
.bg-light { background-color: var(--bs-light) !important; }
.bg-dark { background-color: var(--bs-dark) !important; }

.text-primary { color: var(--bs-primary) !important; }
.text-secondary { color: var(--bs-secondary) !important; }
.text-success { color: var(--bs-success) !important; }
.text-info { color: var(--bs-info) !important; }
.text-warning { color: var(--bs-warning) !important; }
.text-danger { color: var(--bs-danger) !important; }
.text-light { color: var(--bs-light) !important; }
.text-dark { color: var(--bs-dark) !important; }

.border-primary { border-color: var(--bs-primary) !important; }
.border-secondary { border-color: var(--bs-secondary) !important; }
.border-success { border-color: var(--bs-success) !important; }
.border-info { border-color: var(--bs-info) !important; }
.border-warning { border-color: var(--bs-warning) !important; }
.border-danger { border-color: var(--bs-danger) !important; }
.border-light { border-color: var(--bs-light) !important; }
.border-dark { border-color: var(--bs-dark) !important; }

a {
    color: var(--bs-primary);
}

a:hover,
a:focus {
    color: var(--bs-primary-hover);
}

.dropdown-item:hover,
.dropdown-item:focus {
    color: var(--bs-primary);
    background-color: rgba(var(--bs-primary-rgb), 0.08);
}

.dropdown-item.active,
.dropdown-item:active {
    color: #fff;
    background-color: var(--bs-primary);
}

.btn-primary {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: #fff;
    border-radius: 6px;
}
.btn-primary:hover {
    background-color: var(--bs-primary-hover) !important;
    border-color: var(--bs-primary-hover) !important;
}

.btn-secondary {
    background-color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
    color: #fff;
    border-radius: 6px;
}
.btn-secondary:hover {
    background-color: rgba(var(--bs-secondary-rgb), 0.8) !important;
    border-color: rgba(var(--bs-secondary-rgb), 0.8) !important;
}

.btn-success {
    background-color: var(--bs-success) !important;
    border-color: var(--bs-success) !important;
    color: #fff;
    border-radius: 6px;
}
.btn-success:hover {
    background-color: rgba(var(--bs-success-rgb), 0.8) !important;
    border-color: rgba(var(--bs-success-rgb), 0.8) !important;
}

.btn-info {
    background-color: var(--bs-info) !important;
    border-color: var(--bs-info) !important;
    color: #fff;
    border-radius: 6px;
}
.btn-info:hover {
    background-color: rgba(var(--bs-info-rgb), 0.8) !important;
    border-color: rgba(var(--bs-info-rgb), 0.8) !important;
}

.btn-warning {
    background-color: var(--bs-warning) !important;
    border-color: var(--bs-warning) !important;
    color: #fff;
    border-radius: 6px;
}
.btn-warning:hover {
    background-color: rgba(var(--bs-warning-rgb), 0.8) !important;
    border-color: rgba(var(--bs-warning-rgb), 0.8) !important;
}

.btn-danger {
    background-color: var(--bs-danger) !important;
    border-color: var(--bs-danger) !important;
    color: #fff;
    border-radius: 6px;
}
.btn-danger:hover {
    background-color: rgba(var(--bs-danger-rgb), 0.8) !important;
    border-color: rgba(var(--bs-danger-rgb), 0.8) !important;
}

.btn-light {
    background-color: var(--bs-light) !important;
    border-color: var(--bs-light) !important;
    color: #000;
    border-radius: 6px;
}
.btn-light:hover {
    background-color: rgba(var(--bs-light-rgb), 0.8) !important;
    border-color: rgba(var(--bs-light-rgb), 0.8) !important;
}

.btn-dark {
    background-color: var(--bs-dark) !important;
    border-color: var(--bs-dark) !important;
    color: #fff;
    border-radius: 6px;
}
.btn-dark:hover {
    background-color: rgba(var(--bs-dark-rgb), 0.8) !important;
    border-color: rgba(var(--bs-dark-rgb), 0.8) !important;
}

.btn-outline-primary {
    color: var(--bs-primary) !important;
    background-color: transparent !important;
    border-color: var(--bs-primary) !important;
    border-radius: 6px;
}
.btn-outline-primary:hover {
    color: #fff !important;
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

.btn-outline-secondary {
    color: var(--bs-secondary) !important;
    background-color: transparent !important;
    border-color: var(--bs-secondary) !important;
    border-radius: 6px;
}
.btn-outline-secondary:hover {
    color: #fff !important;
    background-color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
}

.btn-outline-success {
    color: var(--bs-success) !important;
    background-color: transparent !important;
    border-color: var(--bs-success) !important;
    border-radius: 6px;
}
.btn-outline-success:hover {
    color: #fff !important;
    background-color: var(--bs-success) !important;
    border-color: var(--bs-success) !important;
}

.btn-outline-info {
    color: var(--bs-info) !important;
    background-color: transparent !important;
    border-color: var(--bs-info) !important;
    border-radius: 6px;
}
.btn-outline-info:hover {
    color: #fff !important;
    background-color: var(--bs-info) !important;
    border-color: var(--bs-info) !important;
}

.btn-outline-warning {
    color: var(--bs-warning) !important;
    background-color: transparent !important;
    border-color: var(--bs-warning) !important;
    border-radius: 6px;
}
.btn-outline-warning:hover {
    color: #fff !important;
    background-color: var(--bs-warning) !important;
    border-color: var(--bs-warning) !important;
}

.btn-outline-danger {
    color: var(--bs-danger) !important;
    background-color: transparent !important;
    border-color: var(--bs-danger) !important;
    border-radius: 6px;
}
.btn-outline-danger:hover {
    color: #fff !important;
    background-color: var(--bs-danger) !important;
    border-color: var(--bs-danger) !important;
}

.btn-outline-light {
    color: var(--bs-light) !important;
    background-color: transparent !important;
    border-color: var(--bs-light) !important;
    border-radius: 6px;
}
.btn-outline-light:hover {
    color: #000 !important;
    background-color: var(--bs-light) !important;
    border-color: var(--bs-light) !important;
}

.btn-outline-dark {
    color: var(--bs-dark) !important;
    background-color: transparent !important;
    border-color: var(--bs-dark) !important;
    border-radius: 6px;
}
.btn-outline-dark:hover {
    color: #fff !important;
    background-color: var(--bs-dark) !important;
    border-color: var(--bs-dark) !important;
}

.btn .fas {
    font-weight: 900;
}

.badge {
    border-radius: 50rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0.35em 0.75em;
    font-size: 0.70rem;
    letter-spacing: 0.02em;
    border: 1px solid;
}

.badge-primary {
    color: #4530a3;
    background-color: #e8e0f5;
    border-color: #c9b8f0;
}

.badge-secondary {
    color: #1A1F3D;
    background-color: #e0e2e8;
    border-color: #b8bcc9;
}

.badge-success {
    color: #0a6a4e;
    background-color: #e0f7eb;
    border-color: #bee7d3;
}

.badge-danger {
    color: #9b1c1c;
    background-color: #fce8e8;
    border-color: #f5c6c6;
}

.badge-warning {
    color: #92400e;
    background-color: #fef3c7;
    border-color: #fde68a;
}

.badge-info {
    color: #1e40af;
    background-color: #dbeafe;
    border-color: #93c5fd;
}

.badge-light {
    color: #4b5563;
    background-color: #f3f4f6;
    border-color: #e5e7eb;
}

.badge-dark {
    color: #1e0031;
    background-color: #e8e0ee;
    border-color: #c9b8d4;
}

.badge-outline-primary {
    color: var(--bs-primary);
    background-color: transparent;
    border-color: #c9b8f0;
    border-radius: 50rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0.35em 0.75em;
    font-size: 0.75rem;
}

.badge-outline-secondary {
    color: var(--bs-secondary);
    background-color: transparent;
    border-color: #b8bcc9;
    border-radius: 50rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0.35em 0.75em;
    font-size: 0.75rem;
}

.badge-outline-success {
    color: #0a6a4e;
    background-color: transparent;
    border-color: #bee7d3;
    border-radius: 50rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0.35em 0.75em;
    font-size: 0.75rem;
}

.badge-outline-danger {
    color: #9b1c1c;
    background-color: transparent;
    border-color: #f5c6c6;
    border-radius: 50rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0.35em 0.75em;
    font-size: 0.75rem;
}

.badge-outline-warning {
    color: #92400e;
    background-color: transparent;
    border-color: #fde68a;
    border-radius: 50rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0.35em 0.75em;
    font-size: 0.75rem;
}

.badge-outline-info {
    color: #1e40af;
    background-color: transparent;
    border-color: #93c5fd;
    border-radius: 50rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0.35em 0.75em;
    font-size: 0.75rem;
}

.badge-outline-light {
    color: #636464;
    background-color: transparent;
    border-color: #e5e7eb;
    border-radius: 50rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0.35em 0.75em;
    font-size: 0.75rem;
}

.badge-outline-dark {
    color: #1e0031;
    background-color: transparent;
    border-color: #c9b8d4;
    border-radius: 50rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0.35em 0.75em;
    font-size: 0.75rem;
}

.alert {
    border-radius: var(--wb-alert-border-radius);
    box-shadow: var(--wb-alert-shadow);
    border: 1px solid;
    padding: 1rem 1.25rem;
}
.alert.alert-danger {
    background: var(--wb-alert-danger-bg);
    border-color: var(--wb-alert-danger-border);
    color: var(--wb-alert-danger-desc-color);
}
.alert.alert-danger .fas {
    color: var(--wb-alert-danger-title-color);
}
.alert.alert-warning {
    background: var(--wb-alert-warning-bg);
    border-color: var(--wb-alert-warning-border);
    color: var(--wb-alert-warning-desc-color);
}
.alert.alert-warning .fas {
    color: var(--wb-alert-warning-title-color);
}
.alert.alert-info {
    background: var(--wb-alert-info-bg);
    border-color: var(--wb-alert-info-border);
    color: var(--wb-alert-info-desc-color);
}
.alert.alert-info .fas {
    color: var(--wb-alert-info-title-color);
}
.alert.alert-light {
    background: var(--wb-alert-info-bg);
    border-color: var(--wb-alert-info-border);
    color: var(--wb-alert-info-desc-color);
}
.alert.alert-light .fas {
    color: var(--wb-alert-info-title-color);
}
.alert.alert-primary {
    background: var(--wb-alert-primary-bg);
    border-color: var(--wb-alert-primary-border);
    color: var(--wb-alert-primary-desc-color);
}
.alert.alert-primary .fas {
    color: var(--wb-alert-primary-title-color);
}
.alert.alert-secondary {
    background: var(--wb-alert-secondary-bg);
    border-color: var(--wb-alert-secondary-border);
    color: var(--wb-alert-secondary-desc-color);
}
.alert.alert-secondary .fas {
    color: var(--wb-alert-secondary-title-color);
}

.nav-tabs .nav-link {
    color: var(--bs-secondary);
}

.nav-tabs .nav-link:hover {
    color: var(--bs-primary);
    border-color: rgba(var(--bs-primary-rgb), 0.5);
}

.nav-tabs .nav-link.active {
    color: var(--bs-primary);
}

.rounded-6 { border-radius: 0.525rem !important; }
.rounded-7 { border-radius: 0.7rem !important; }
.rounded-8 { border-radius: 0.8rem !important; }
.rounded-bottom-8 {
    border-bottom-left-radius: 0.8rem !important;
    border-bottom-right-radius: 0.8rem !important;
}
.rounded-9 { border-radius: 0.9rem !important; }
.rounded-10 { border-radius: 1rem !important; }
.rounded-11 { border-radius: 1.1rem !important; }
.rounded-12 { border-radius: 1.2rem !important; }
.rounded-13 { border-radius: 1.3rem !important; }
.rounded-14 { border-radius: 1.4rem !important; }
.rounded-15 { border-radius: 1.5rem !important; }

.form-control:focus,
.form-select:focus,
select.form-control:focus {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 0 0.14rem rgba(var(--bs-primary-rgb), 0.25) !important;
    outline: 0 !important;
}

.form-control,
.custom-select,
select.form-control,
textarea.form-control {
    border-radius: 0.8rem !important;
}

.select2-container--default .select2-selection--single,
.select2-container--bootstrap4 .select2-selection--single {
    background-color: var(--wb-select2-bg);
    border-color: var(--wb-select2-border);
    border-radius: 0.8rem !important;
    height: calc(2.25rem + 2px);
    min-height: calc(2.25rem + 2px);
}

.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered {
    display: flex !important;
    align-items: center;
    height: 100%;
    color: var(--wb-select2-text);
    line-height: 1;
    padding-left: 0.75rem;
    padding-right: 2rem;
}

.select2-container--default .select2-selection--single .select2-selection__arrow,
.select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow {
    top: 50% !important;
    height: auto;
    right: 0.5rem;
    transform: translateY(-50%);
}

.select2-container--default .select2-selection--single .select2-selection__arrow b,
.select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b {
    margin-top: 0;
}

.select2-container {
    width: 100% !important;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder,
.select2-container--bootstrap4 .select2-selection--single .select2-selection__placeholder {
    color: var(--bs-text-muted);
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--bootstrap4.select2-container--focus .select2-selection--single,
.select2-container--bootstrap4.select2-container--open .select2-selection--single {
    border-color: var(--wb-select2-focus-border) !important;
    box-shadow: 0 0 0 0.14rem var(--wb-select2-focus-ring) !important;
}

.select2-container--default .select2-results__option--highlighted,
.select2-container--bootstrap4 .select2-results__option--highlighted {
    background-color: var(--wb-select2-highlight-bg) !important;
    color: var(--wb-select2-highlight-text) !important;
}

.opacity-10 { opacity: 0.1; }
.opacity-20 { opacity: 0.2; }
.opacity-30 { opacity: 0.3; }
.opacity-40 { opacity: 0.4; }
.opacity-50 { opacity: 0.5; }
.opacity-60 { opacity: 0.6; }
.opacity-70 { opacity: 0.7; }
.opacity-80 { opacity: 0.8; }
.opacity-90 { opacity: 0.9; }
.opacity-100 { opacity: 1; }

.vh-60 { height: 60vh; }
.vh-70 { height: 70vh; }
.vh-75 { height: 75vh; }
.vh-80 { height: 80vh; }
.vh-90 { height: 90vh; }

.min-vh-20 { min-height: 20vh; }
.min-vh-30 { min-height: 30vh; }
.min-vh-40 { min-height: 40vh; }
.min-vh-50 { min-height: 50vh; }
.min-vh-60 { min-height: 60vh; }
.min-vh-70 { min-height: 70vh; }
.min-vh-75 { min-height: 75vh; }
.min-vh-80 { min-height: 80vh; }
.min-vh-90 { min-height: 90vh; }

input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--bs-primary);
}

.form-check-input:checked {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}
.form-check-input:focus {
    border-color: rgba(var(--bs-primary-rgb), 0.5);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25);
}
.form-check-input:focus-visible {
    outline: 0;
}

.custom-control-input:checked ~ .custom-control-label::before {
    color: #fff;
    border-color: var(--bs-primary);
    background-color: var(--bs-primary);
    box-shadow: none;
}
.custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25);
}
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: rgba(var(--bs-primary-rgb), 0.5);
}
.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
    color: #fff;
    background-color: var(--bs-primary-hover);
    border-color: var(--bs-primary-hover);
    box-shadow: none;
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
    border-color: var(--bs-primary);
    background-color: var(--bs-primary);
    box-shadow: none;
}
.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(var(--bs-primary-rgb), 0.5);
}

.custom-switch.custom-switch-on-primary .custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary-hover);
}
.custom-switch.custom-switch-on-primary .custom-control-input:checked:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25);
}
.custom-switch.custom-switch-on-primary .custom-control-input:checked ~ .custom-control-label::after {
    background-color: rgba(var(--bs-primary-rgb), 0.4);
}


/* ─── .wb-* layout marketing (nu sunt în admin_base) ─── */

.wb-box-shadow {
    box-shadow: var(--wb-box-shadow);
}

/* Carduri sub website-marketing (homepage): același shadow ca admin; fără clasă pe fiecare card. */
.website-marketing .card {
    box-shadow: var(--wb-box-shadow);
}

.wb-hero-section {
    padding-top: var(--wb-hero-section-pt);
    padding-bottom: var(--wb-hero-section-pb);
}

.wb-hero-minh {
    min-height: var(--wb-hero-min-height);
}

@media (min-width: 992px) {
    .wb-hero-minh {
        min-height: var(--wb-hero-min-height-lg);
    }
}

.wb-hero-placeholder {
    min-height: inherit;
    opacity: var(--wb-hero-placeholder-opacity);
}

.wb-icon-box {
    width: var(--wb-icon-box-size);
    height: var(--wb-icon-box-size);
}

.wb-icon-box > .fa,
.wb-icon-box > .fas,
.wb-icon-box > .far,
.wb-icon-box > .fab {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    line-height: 1;
    font-size: var(--wb-icon-font-size);
    display: block !important;
}

.wb-step-badge {
    width: var(--wb-step-badge-size);
    height: var(--wb-step-badge-size);
}

.wb-hero-avatar {
    width: 2rem;
    height: 2rem;
}

.wb-footer-logo {
    max-height: var(--wb-footer-logo-max-height);
    width: auto;
}

.wb-profile-shell {
    background: #f8f9fb;
    min-height: calc(100vh - 72px);
}

.wb-nav-card {
    background: #fff;
    border-color: rgba(15, 23, 42, 0.08) !important;
}

.wb-nav-section-title {
    color: #6b7280;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.85rem 1rem 0.45rem;
}

.wb-nav-link {
    display: block;
    font-weight: 600;
    color: #374151;
    text-decoration: none !important;
    padding: 0.7rem 1rem;
    border-left: 2px solid transparent;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.wb-nav-link:hover {
    color: var(--bs-primary);
    background: rgba(var(--bs-primary-rgb), 0.05);
}

.wb-nav-link + .wb-nav-link {
    border-top: 1px solid rgba(15, 23, 42, 0.05);
}

.wb-nav-link.active {
    color: var(--bs-primary);
    border-left-color: var(--bs-primary);
    background: rgba(var(--bs-primary-rgb), 0.10);
}

.wb-nav-note {
    font-size: 0.82rem;
    color: #6b7280;
    margin: 0.6rem 0.8rem 0.8rem;
    padding: 0.7rem;
    border-radius: 0.6rem;
    background: rgba(107, 114, 128, 0.08);
}

.wb-profile-soft-box {
    background: #f9fafb;
}

.wb-tenant-card {
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.wb-tenant-card:hover {
    transform: translateY(-1px);
    box-shadow: var(--wb-box-shadow);
    border-color: rgba(var(--bs-primary-rgb), 0.35) !important;
}

.wb-ui-title {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.wb-ui-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.wb-ui-icon-chip {
    width: 2rem;
    height: 2rem;
    border-radius: 0.55rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    font-size: 0.9rem;
}

.wb-ui-icon-chip-sm {
    width: 1.8rem;
    height: 1.8rem;
    font-size: 0.78rem;
}

.wb-ui-icon-primary {
    color: #4f46e5;
    background: rgba(79, 70, 229, 0.14);
}

.wb-ui-icon-info {
    color: #0d4b60;
    background: rgba(var(--bs-info-rgb), 0.16);
}

.wb-ui-icon-success {
    color: #2a6b38;
    background: rgba(var(--bs-success-rgb), 0.16);
}

.wb-ui-icon-warning {
    color: #9a4d77;
    background: rgba(var(--bs-warning-rgb), 0.16);
}

.wb-ui-icon-danger {
    color: #ce3a3a;
    background: rgba(var(--bs-danger-rgb), 0.16);
}

.wb-ui-icon-muted {
    color: #6b7280;
    background: rgba(107, 114, 128, 0.16);
}

.wb-profile-switch .custom-control-label::before {
    cursor: not-allowed;
}

.wb-profile-switch .custom-control-input:checked ~ .custom-control-label::before {
    border-color: #111827;
    background-color: #111827;
}

.wb-profile-switch .custom-control-input:disabled ~ .custom-control-label {
    opacity: 1;
}

.wb-profile-switch .custom-control-input:disabled ~ .custom-control-label::before {
    opacity: 0.85;
}

.wb-profile-switch .custom-control-input:disabled ~ .custom-control-label::after {
    opacity: 0.95;
}

.wb-tenant-tabs {
    gap: 0.5rem;
}

.wb-tenant-tab-link {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(15, 23, 42, 0.09);
    border-radius: 999px;
    padding: 0.4rem 0.9rem;
    font-size: 0.84rem;
    font-weight: 600;
    color: #4b5563;
    text-decoration: none !important;
    transition: color 0.16s ease, background-color 0.16s ease, border-color 0.16s ease;
}

.wb-tenant-tab-link:hover {
    color: var(--bs-primary);
    border-color: rgba(var(--bs-primary-rgb), 0.35);
    background: rgba(var(--bs-primary-rgb), 0.06);
}

.wb-tenant-tab-link.active {
    color: var(--bs-primary);
    border-color: rgba(var(--bs-primary-rgb), 0.35);
    background: rgba(var(--bs-primary-rgb), 0.10);
}

.wb-hero-card-wrap {
    bottom: var(--wb-hero-card-inset);
    left: 0;
    right: 0;
}

.wb-avatar-tint-info {
    background-color: var(--wb-avatar-tint-info);
}

.wb-avatar-tint-primary {
    background-color: var(--wb-avatar-tint-primary);
}

.wb-avatar-tint-dark {
    background-color: var(--wb-avatar-tint-dark);
}

.wb-btn-outline-thick {
    border-width: var(--wb-btn-outline-border-width);
}

.wb-onboarding-stepper-dot {
    width: 36px;
    height: 36px;
}

.wb-onboarding-stepper-label {
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .wb-onboarding-stepper-label {
        font-size: 0.72rem;
    }
}

.wb-onboarding-tab-toggle {
    display: inline-flex;
    background: #f5f7fb;
    border-radius: 999px;
    padding: 0.3rem;
    gap: 0.2rem;
}

.wb-onboarding-tab-btn {
    border: 0;
    border-radius: 999px;
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: #6b7280;
}

.wb-onboarding-tab-btn.is-active {
    background: #ffffff;
    color: #111827;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.1);
}

.wb-plan-toggle {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background: #f4f6fb;
    border-radius: 999px;
    padding: 0.3rem;
    gap: 0.25rem;
}

.wb-plan-toggle-btn {
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #6b7280;
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1;
    padding: 0.55rem 1rem;
}

.wb-plan-toggle-btn.is-active {
    background: #fff;
    color: #111827;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
}

.wb-plan-card {
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 0.8rem;
    background: #fff;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.wb-plan-card:hover {
    border-color: rgba(var(--bs-primary-rgb), 0.35);
    box-shadow: var(--wb-box-shadow);
    transform: translateY(-1px);
}

.wb-plan-card.is-recommended {
    border-color: rgba(var(--bs-primary-rgb), 0.45);
    box-shadow: 0 0 0 0.12rem rgba(var(--bs-primary-rgb), 0.14);
}

.wb-plan-card.is-selected {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.12rem rgba(var(--bs-primary-rgb), 0.2);
    background: rgba(var(--bs-primary-rgb), 0.03);
}

.wb-plan-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
}

.wb-plan-price {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    color: #111827;
}

.wb-plan-period {
    font-size: 0.83rem;
    color: #6b7280;
}

.wb-plan-savings {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid rgba(var(--bs-success-rgb), 0.28);
    background: rgba(var(--bs-success-rgb), 0.12);
    color: #1f6f3c;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1;
    padding: 0.32rem 0.56rem;
}

.wb-plan-feature-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.wb-plan-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    color: #4b5563;
    font-size: 0.85rem;
}

.wb-plan-feature-item + .wb-plan-feature-item {
    margin-top: 0.5rem;
}

.wb-plan-feature-item i {
    margin-top: 0.2rem;
    color: var(--bs-primary);
}

.wb-plan-badge-recommended {
    color: var(--bs-primary);
    background: rgba(var(--bs-primary-rgb), 0.1);
    border: 1px solid rgba(var(--bs-primary-rgb), 0.25);
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    padding: 0.32rem 0.58rem;
    line-height: 1;
}

.wb-onboarding-card-selector,
.wb-onboarding-plan-card,
.wb-onboarding-feature-card {
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 0.8rem;
    background: #fff;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.wb-onboarding-card-selector:hover,
.wb-onboarding-plan-card:hover,
.wb-onboarding-feature-card:hover {
    border-color: rgba(var(--bs-primary-rgb), 0.35);
    box-shadow: var(--wb-box-shadow);
    transform: translateY(-1px);
}

.wb-onboarding-card-selector.is-selected,
.wb-onboarding-plan-card.is-selected,
.wb-onboarding-feature-card.is-selected {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.12rem rgba(var(--bs-primary-rgb), 0.2);
    background: rgba(var(--bs-primary-rgb), 0.03);
}

.wb-onboarding-card-selector,
.wb-onboarding-feature-card {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.wb-onboarding-card-icon {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 0.65rem;
    background: rgba(var(--bs-primary-rgb), 0.12);
    color: var(--bs-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.wb-onboarding-card-copy {
    display: inline-flex;
    flex-direction: column;
    min-width: 0;
}

.wb-onboarding-card-title {
    font-weight: 600;
    color: #111827;
    text-align: left;
}

.wb-onboarding-card-desc {
    font-size: 0.78rem;
    color: #6b7280;
    text-align: left;
}

.wb-onboarding-card-meta {
    margin-left: auto;
    font-size: 0.8rem;
    color: #4b5563;
    font-weight: 600;
}

.wb-onboarding-card-check {
    margin-left: auto;
    color: rgba(var(--bs-primary-rgb), 0.35);
}

.wb-onboarding-card-selector.is-selected .wb-onboarding-card-check {
    color: var(--bs-primary);
}

.wb-onboarding-business-type-row {
    overflow-x: auto;
    padding-bottom: 0.2rem;
}

.wb-onboarding-business-type-row > .col {
    min-width: 120px;
}

.wb-onboarding-business-type-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 0.55rem;
    min-height: 122px;
    padding: 1rem 0.6rem;
    position: relative;
}

.wb-onboarding-business-type-card .wb-onboarding-card-copy {
    align-items: center;
}

.wb-onboarding-business-type-card .wb-onboarding-card-title {
    text-align: center;
    font-size: 0.8rem;
    line-height: 1.2;
}

.wb-onboarding-business-type-card .wb-onboarding-card-check {
    margin-left: 0;
    position: absolute;
    top: 0.45rem;
    right: 0.45rem;
}

.wb-onboarding-cycle-list {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.wb-onboarding-cycle-btn {
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 999px;
    background: #fff;
    color: #4b5563;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.35rem 0.7rem;
}

.wb-onboarding-cycle-btn.is-selected {
    border-color: rgba(var(--bs-primary-rgb), 0.35);
    color: var(--bs-primary);
    background: rgba(var(--bs-primary-rgb), 0.08);
}

.wb-onboarding-summary-card {
    position: sticky;
    top: 1.25rem;
}

@media (max-width: 991.98px) {
    .wb-onboarding-summary-card {
        position: static;
    }
}

/* Smooth in-page anchor scroll + offset for sticky navbar (same pages as website_base.css) */
html {
    scroll-behavior: smooth;
    scroll-padding-top: var(--wb-sticky-nav-scroll-offset);
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}
