/* =====================================================================
   Smart BD Host — "Night Signal" glass theme for WHMCS (Hostim base)
   One stylesheet for: navbar, homepage, client area, auth, cart, footer
   Dark (default) + Light theme via html[data-bs-theme]
   ===================================================================== */

/* ---------- 1. Tokens ---------- */
:root,
:root[data-bs-theme="dark"] {
    --sbh-bg: #0B0F33;
    --sbh-bg-2: #120B3A;
    --sbh-surface: rgba(255, 255, 255, .075);
    --sbh-surface-2: rgba(255, 255, 255, .11);
    --sbh-surface-3: rgba(255, 255, 255, .14);
    --sbh-solid: #151A4A;            /* dropdowns, modals, selects: solid for readability */
    --sbh-solid-2: #131D45;
    --sbh-border: rgba(255, 255, 255, .16);
    --sbh-border-strong: rgba(255, 255, 255, .28);
    --sbh-text: #E8EDFF;
    --sbh-muted: #A9B3D8;
    --sbh-heading: #FFFFFF;
    --sbh-cyan: #38E1FF;
    --sbh-cyan-ink: #38E1FF;         /* cyan used as text */
    --sbh-blue: #4F7CFF;
    --sbh-violet: #7C5CFF;
    --sbh-mango: #FFB547;
    --sbh-mango-ink: #1B1200;
    --sbh-green: #2EE59D;
    --sbh-red: #FF5C7A;
    --sbh-amber: #FFD166;
    --sbh-grad: linear-gradient(135deg, #4F7CFF 0%, #7C5CFF 100%);
    --sbh-grad-signal: linear-gradient(90deg, #38E1FF, #7C5CFF);
    --sbh-shadow: 0 20px 50px -20px rgba(0, 0, 0, .65);
    --sbh-shadow-glow: 0 18px 60px -24px rgba(79, 124, 255, .7);
    --sbh-input-bg: rgba(6, 10, 28, .55);
    --sbh-nav-bg: rgba(16, 18, 60, .55);
    --sbh-blur: saturate(170%) blur(22px);
    --sbh-radius-lg: 22px;
    --sbh-radius: 16px;
    --sbh-radius-sm: 10px;
    --sbh-font-display: "Sora", "Hind Siliguri", system-ui, -apple-system, "Segoe UI", sans-serif;
    --sbh-font-body: "Hind Siliguri", "Sora", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --sbh-nav-h: 74px;
    color-scheme: dark;
}

:root[data-bs-theme="light"] {
    --sbh-bg: #EDF2FF;
    --sbh-bg-2: #E3EAFF;
    --sbh-surface: rgba(255, 255, 255, .62);
    --sbh-surface-2: rgba(255, 255, 255, .78);
    --sbh-surface-3: rgba(255, 255, 255, .92);
    --sbh-solid: #FFFFFF;
    --sbh-solid-2: #F4F7FF;
    --sbh-border: rgba(24, 36, 92, .11);
    --sbh-border-strong: rgba(24, 36, 92, .2);
    --sbh-text: #1B2250;
    --sbh-muted: #505A86;
    --sbh-heading: #0A0F33;
    --sbh-cyan: #16B8DB;
    --sbh-cyan-ink: #0679A0;
    --sbh-blue: #3F66F5;
    --sbh-violet: #5B3DF5;
    --sbh-mango: #FFA928;
    --sbh-green: #0FA36A;
    --sbh-red: #E0294F;
    --sbh-amber: #B97800;
    --sbh-grad: linear-gradient(135deg, #3F66F5 0%, #6A45F6 100%);
    --sbh-grad-signal: linear-gradient(90deg, #0FB5DA, #5B3DF5);
    --sbh-shadow: 0 22px 50px -26px rgba(34, 52, 140, .35);
    --sbh-shadow-glow: 0 18px 50px -24px rgba(63, 102, 245, .55);
    --sbh-input-bg: rgba(255, 255, 255, .85);
    --sbh-nav-bg: rgba(255, 255, 255, .7);
    color-scheme: light;
}

/* ---------- 2. Base ---------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

body.sbh-body {
    background: var(--sbh-bg) !important;
    color: var(--sbh-text);
    font-family: var(--sbh-font-body);
    font-size: 16.5px;
    line-height: 1.65;
    padding-top: var(--sbh-nav-h);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    min-height: 100vh;
}

/* Fixed aurora + network mesh background — the "transparent" feel comes from glass over this */
.sbh-backdrop {
    position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden;
    background:
        radial-gradient(1000px 620px at 8% -8%, rgba(56, 225, 255, .20), transparent 60%),
        radial-gradient(900px 700px at 100% 8%, rgba(124, 92, 255, .26), transparent 60%),
        radial-gradient(900px 600px at 50% 115%, rgba(255, 181, 71, .10), transparent 60%),
        linear-gradient(180deg, var(--sbh-bg) 0%, var(--sbh-bg-2) 100%);
}
.sbh-backdrop::after {
    content: ""; position: absolute; inset: 0;
    background-image: radial-gradient(rgba(255, 255, 255, .09) 1px, transparent 1px);
    background-size: 28px 28px;
    -webkit-mask-image: radial-gradient(ellipse at 50% 0%, #000 0%, transparent 72%);
            mask-image: radial-gradient(ellipse at 50% 0%, #000 0%, transparent 72%);
}
:root[data-bs-theme="light"] .sbh-backdrop {
    background:
        radial-gradient(1000px 620px at 8% -8%, rgba(22, 184, 219, .22), transparent 60%),
        radial-gradient(900px 700px at 100% 8%, rgba(91, 61, 245, .20), transparent 60%),
        radial-gradient(900px 600px at 50% 115%, rgba(255, 169, 40, .16), transparent 60%),
        linear-gradient(180deg, var(--sbh-bg) 0%, var(--sbh-bg-2) 100%);
}
:root[data-bs-theme="light"] .sbh-backdrop::after { background-image: radial-gradient(rgba(24, 36, 92, .10) 1px, transparent 1px); }

.sbh-body h1, .sbh-body h2, .sbh-body h3, .sbh-body h4, .sbh-body h5, .sbh-body h6,
.sbh-body .h1, .sbh-body .h2, .sbh-body .h3, .sbh-body .h4, .sbh-body .h5, .sbh-body .h6 {
    font-family: var(--sbh-font-display);
    color: var(--sbh-heading);
    letter-spacing: -.015em;
    line-height: 1.25;
}
.sbh-body a { color: var(--sbh-cyan-ink); transition: color .2s ease; }
.sbh-body a:hover:not(.btn) { color: var(--sbh-heading); text-decoration: none; }
.sbh-body .text-muted, .sbh-body small.text-muted { color: var(--sbh-muted) !important; }
.sbh-body .text-dark, .sbh-body .text-black { color: var(--sbh-heading) !important; }
.sbh-body .text-primary { color: var(--sbh-cyan-ink) !important; }
.sbh-body .text-success { color: var(--sbh-green) !important; }
.sbh-body .text-danger { color: var(--sbh-red) !important; }
.sbh-body .text-warning { color: var(--sbh-amber) !important; }
.sbh-body .text-info { color: var(--sbh-cyan-ink) !important; }
.sbh-body .lead { color: var(--sbh-muted); font-weight: 400; }
.sbh-body hr { border-color: var(--sbh-border); }
.sbh-body ::selection { background: rgba(56, 225, 255, .35); color: var(--sbh-heading); }
.sbh-body :focus-visible { outline: 2px solid var(--sbh-cyan); outline-offset: 3px; border-radius: 6px; }

/* Neutralise old light backgrounds so glass shows through */
.sbh-body .bg-white,
.sbh-body .bg-light,
.sbh-body .bg-gray-light,
.sbh-body .primary-bg-color,
.sbh-body .bg-dark,
.sbh-body .bg-gradient { background: transparent !important; background-image: none !important; }

/* Glass primitive */
.sbh-glass,
.sbh-body .card,
.sbh-body .panel,
.sbh-body .tile,
.sbh-body .mc-promo-login,
.sbh-body .mc-promo-manage,
.sbh-body .tt-form-wrap,
.sbh-body #registration,
.sbh-body .well {
    background: var(--sbh-surface) !important;
    border: 1px solid var(--sbh-border) !important;
    border-radius: var(--sbh-radius) !important;
    -webkit-backdrop-filter: var(--sbh-blur);
            backdrop-filter: var(--sbh-blur);
    box-shadow: var(--sbh-shadow);
    color: var(--sbh-text);
}

/* ---------- 3. Buttons ---------- */
.sbh-body .btn {
    font-family: var(--sbh-font-display);
    font-weight: 600;
    font-size: .95rem;
    border-radius: 12px;
    padding: .62rem 1.15rem;
    letter-spacing: .005em;
    transition: transform .18s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
    border-width: 1px;
}
.sbh-body .btn:active { transform: translateY(1px); }
.sbh-body .btn-sm, .sbh-body .btn-xs { padding: .38rem .8rem; font-size: .82rem; border-radius: 9px; }
.sbh-body .btn-lg { padding: .85rem 1.5rem; font-size: 1.02rem; border-radius: 14px; }

.sbh-body .btn-primary,
.sbh-body .btn-primary.disabled,
.sbh-body .btn-primary:disabled,
.sbh-body .btn-info {
    background: var(--sbh-grad) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    color: #fff !important;
    box-shadow: var(--sbh-shadow-glow);
}
.sbh-body .btn-primary:hover, .sbh-body .btn-primary:focus, .sbh-body .btn-info:hover {
    filter: brightness(1.12);
    box-shadow: 0 20px 50px -18px rgba(124, 92, 255, .85);
    color: #fff !important;
}
.sbh-body .btn-success {
    background: linear-gradient(135deg, #16C784, #0EA5A5) !important;
    border: 1px solid rgba(255, 255, 255, .12) !important; color: #fff !important;
}
.sbh-body .btn-success:hover { filter: brightness(1.1); }
.sbh-body .btn-danger {
    background: linear-gradient(135deg, #FF5C7A, #E5364F) !important;
    border: 1px solid rgba(255, 255, 255, .12) !important; color: #fff !important;
}
.sbh-body .btn-warning { background: var(--sbh-mango) !important; border-color: transparent !important; color: var(--sbh-mango-ink) !important; }
.sbh-body .btn-default,
.sbh-body .btn-secondary,
.sbh-body .btn-light,
.sbh-body .btn-outline-primary,
.sbh-body .btn-outline-secondary {
    background: var(--sbh-surface-2) !important;
    border: 1px solid var(--sbh-border-strong) !important;
    color: var(--sbh-heading) !important;
    box-shadow: none;
}
.sbh-body .btn-default:hover, .sbh-body .btn-secondary:hover, .sbh-body .btn-light:hover,
.sbh-body .btn-outline-primary:hover, .sbh-body .btn-outline-secondary:hover {
    background: var(--sbh-surface-3) !important;
    border-color: var(--sbh-cyan) !important;
    color: var(--sbh-heading) !important;
}
.sbh-body .btn-link { color: var(--sbh-cyan-ink) !important; background: none !important; border: 0 !important; box-shadow: none !important; }

.sbh-btn-accent,
.sbh-body .btn.sbh-btn-accent {
    background: var(--sbh-mango) !important;
    color: var(--sbh-mango-ink) !important;
    border: 1px solid rgba(255, 255, 255, .25) !important;
    box-shadow: 0 16px 40px -18px rgba(255, 181, 71, .9);
}
.sbh-body .btn.sbh-btn-accent:hover { filter: brightness(1.06); color: var(--sbh-mango-ink) !important; box-shadow: 0 20px 50px -16px rgba(255, 181, 71, 1); }
.sbh-body .btn.sbh-btn-ghost {
    background: transparent !important; border: 1px solid var(--sbh-border-strong) !important; color: var(--sbh-heading) !important; box-shadow: none;
}
.sbh-body .btn.sbh-btn-ghost:hover { border-color: var(--sbh-cyan) !important; background: var(--sbh-surface-2) !important; }

/* ---------- 4. Forms ---------- */
.sbh-body .form-control,
.sbh-body .custom-select,
.sbh-body select.form-control,
.sbh-body textarea.form-control,
.sbh-body .field,
.sbh-body input[type="text"],
.sbh-body input[type="email"],
.sbh-body input[type="password"],
.sbh-body input[type="number"],
.sbh-body input[type="tel"],
.sbh-body input[type="url"],
.sbh-body input[type="search"],
.sbh-body select {
    background-color: var(--sbh-input-bg) !important;
    border: 1px solid var(--sbh-border-strong) !important;
    color: var(--sbh-heading) !important;
    border-radius: 12px !important;
    min-height: 46px;
    font-family: var(--sbh-font-body);
    font-size: .98rem;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.sbh-body textarea.form-control { min-height: 120px; }
.sbh-body .form-control:focus, .sbh-body select:focus, .sbh-body .field:focus, .sbh-body input:focus {
    border-color: var(--sbh-cyan) !important;
    box-shadow: 0 0 0 4px rgba(56, 225, 255, .16) !important;
    outline: 0;
}
.sbh-body .form-control::placeholder, .sbh-body input::placeholder, .sbh-body textarea::placeholder { color: var(--sbh-muted) !important; opacity: .85; }
.sbh-body .form-control:disabled, .sbh-body .form-control[readonly] { opacity: .7; }
.sbh-body select option, .sbh-body select optgroup { background: var(--sbh-solid); color: var(--sbh-heading); }
.sbh-body label, .sbh-body .form-control-label, .sbh-body .control-label { color: var(--sbh-heading); font-weight: 500; font-size: .93rem; }
.sbh-body .form-text, .sbh-body .help-block, .sbh-body .field-help-text { color: var(--sbh-muted) !important; }
.sbh-body .input-group-text,
.sbh-body .input-group-prepend .input-group-text,
.sbh-body .input-group-append .input-group-text {
    background: var(--sbh-surface-2) !important;
    border: 1px solid var(--sbh-border-strong) !important;
    color: var(--sbh-cyan-ink) !important;
    border-radius: 12px;
}
.sbh-body .input-group > .form-control:not(:first-child),
.sbh-body .input-group-merge .form-control { border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; }
.sbh-body .input-group > .form-control:not(:last-child) { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; }
.sbh-body .input-group > .input-group-prepend > .input-group-text { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.sbh-body .input-group > .input-group-append > .input-group-text,
.sbh-body .input-group > .input-group-append > .btn { border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; }
.sbh-body .btn-reveal-pw { background: var(--sbh-surface-2); border: 1px solid var(--sbh-border-strong); border-left: 0; color: var(--sbh-muted); padding: 0 14px; border-radius: 0 12px 12px 0; }

/* prepend-icon fields (register / checkout) */
.sbh-body .prepend-icon { position: relative; }
.sbh-body .prepend-icon .field-icon { position: absolute; left: 0; top: 0; height: 46px; width: 44px; display: flex; align-items: center; justify-content: center; color: var(--sbh-cyan-ink); z-index: 3; margin: 0; }
.sbh-body .prepend-icon .field,
.sbh-body .prepend-icon .form-control { padding-left: 44px !important; }

.sbh-body .form-check-input, .sbh-body input[type="checkbox"], .sbh-body input[type="radio"] { accent-color: var(--sbh-blue); }
.sbh-body .custom-control-label::before { background: var(--sbh-input-bg); border-color: var(--sbh-border-strong); }
.sbh-body .custom-control-input:checked ~ .custom-control-label::before { background: var(--sbh-blue); border-color: var(--sbh-blue); }
.sbh-body .progress { background: var(--sbh-surface-2); border-radius: 99px; height: 8px; }
.sbh-body .progress-bar { background: var(--sbh-grad-signal); border-radius: 99px; }
.sbh-body .bootstrap-switch { border-color: var(--sbh-border-strong) !important; background: var(--sbh-surface-2); border-radius: 99px; }
.sbh-body .iti__country-list { background: var(--sbh-solid) !important; color: var(--sbh-text); border-color: var(--sbh-border) !important; }

/* ---------- 5. Components ---------- */
.sbh-body .card-header, .sbh-body .panel-heading {
    background: transparent !important;
    border-bottom: 1px solid var(--sbh-border) !important;
    color: var(--sbh-heading);
    padding: 1rem 1.25rem;
}
.sbh-body .card-title, .sbh-body .panel-title { color: var(--sbh-heading); font-size: 1.02rem; font-weight: 600; }
.sbh-body .card-footer, .sbh-body .panel-footer { background: rgba(255, 255, 255, .025) !important; border-top: 1px solid var(--sbh-border) !important; color: var(--sbh-muted); }
.sbh-body .card-body, .sbh-body .panel-body { color: var(--sbh-text); }
.sbh-body .card[class*="card-accent-"] { border-top: 3px solid var(--sbh-blue) !important; }
.sbh-body .card-accent-teal, .sbh-body .card-accent-emerald, .sbh-body .card-accent-green { border-top-color: var(--sbh-green) !important; }
.sbh-body .card-accent-gold, .sbh-body .card-accent-orange, .sbh-body .card-accent-amethyst { border-top-color: var(--sbh-mango) !important; }
.sbh-body .card-accent-red, .sbh-body .card-accent-pomegranate { border-top-color: var(--sbh-red) !important; }
.sbh-body .card-accent-sun-flower, .sbh-body .card-accent-yellow { border-top-color: var(--sbh-amber) !important; }
.sbh-body .card-accent-blue, .sbh-body .card-accent-midnight-blue, .sbh-body .card-accent-asbestos, .sbh-body .card-accent-silver { border-top-color: var(--sbh-cyan) !important; }

.sbh-body .list-group-item {
    background: transparent !important;
    border-color: var(--sbh-border) !important;
    color: var(--sbh-text) !important;
}
.sbh-body .list-group-item-action:hover, .sbh-body .list-group-item-action:focus { background: var(--sbh-surface-2) !important; color: var(--sbh-heading) !important; }
.sbh-body .list-group-item.active { background: rgba(79, 124, 255, .22) !important; border-color: rgba(79, 124, 255, .45) !important; color: var(--sbh-heading) !important; }

.sbh-body .dropdown-menu,
.sbh-body .popover,
.sbh-body .modal-content,
.sbh-body .select2-dropdown,
.sbh-body .ui-autocomplete {
    background: var(--sbh-solid) !important;
    border: 1px solid var(--sbh-border) !important;
    border-radius: 14px !important;
    color: var(--sbh-text) !important;
    box-shadow: 0 30px 70px -20px rgba(0, 0, 0, .6);
}
.sbh-body .dropdown-item, .sbh-body .dropdown-menu a { color: var(--sbh-text) !important; }
.sbh-body .dropdown-item:hover, .sbh-body .dropdown-item:focus { background: var(--sbh-surface-2) !important; color: var(--sbh-heading) !important; }
.sbh-body .dropdown-divider { border-color: var(--sbh-border); }
.sbh-body .modal-header, .sbh-body .modal-footer { border-color: var(--sbh-border) !important; background: transparent !important; }
.sbh-body .modal-title { color: var(--sbh-heading); }
.sbh-body .close { color: var(--sbh-heading); text-shadow: none; opacity: .8; }
.sbh-body .modal-backdrop.show { opacity: .7; }
.sbh-body .popover .arrow::after { border-bottom-color: var(--sbh-solid) !important; border-top-color: var(--sbh-solid) !important; }
.sbh-body .popover-body { color: var(--sbh-text); }
.sbh-body .tooltip-inner { background: var(--sbh-solid-2); color: var(--sbh-heading); border: 1px solid var(--sbh-border); }

.sbh-body .alert {
    border-radius: 14px;
    border: 1px solid;
    -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur);
    color: var(--sbh-heading);
}
.sbh-body .alert-info { background: rgba(56, 225, 255, .1) !important; border-color: rgba(56, 225, 255, .35) !important; }
.sbh-body .alert-success { background: rgba(46, 229, 157, .1) !important; border-color: rgba(46, 229, 157, .38) !important; }
.sbh-body .alert-warning { background: rgba(255, 181, 71, .11) !important; border-color: rgba(255, 181, 71, .4) !important; }
.sbh-body .alert-danger, .sbh-body .alert-error { background: rgba(255, 92, 122, .1) !important; border-color: rgba(255, 92, 122, .4) !important; }
.sbh-body .alert-link, .sbh-body .alert a { color: var(--sbh-heading) !important; text-decoration: underline; text-underline-offset: 3px; }

.sbh-body .badge { border-radius: 99px; font-family: var(--sbh-font-display); font-weight: 600; padding: .35em .7em; }
.sbh-body .badge-primary, .sbh-body .badge-info { background: rgba(79, 124, 255, .25); color: var(--sbh-heading); }
.sbh-body .badge-success { background: rgba(46, 229, 157, .2); color: var(--sbh-green); }
.sbh-body .badge-danger { background: rgba(255, 92, 122, .2); color: var(--sbh-red); }
.sbh-body .badge-warning { background: rgba(255, 181, 71, .2); color: var(--sbh-amber); }
.sbh-body .badge-secondary, .sbh-body .badge-light, .sbh-body .badge-default { background: var(--sbh-surface-3); color: var(--sbh-heading); }

/* Status pills used in tables */
.sbh-body .label, .sbh-body .status { border-radius: 99px !important; padding: .3em .8em !important; font-weight: 600; font-size: .78rem; }
.sbh-body .status-active, .sbh-body .status-paid, .sbh-body .status-completed, .sbh-body .status-open, .sbh-body .label-success { background: rgba(46, 229, 157, .18) !important; color: var(--sbh-green) !important; }
.sbh-body .status-pending, .sbh-body .status-unpaid, .sbh-body .status-answered, .sbh-body .status-customer-reply, .sbh-body .label-warning { background: rgba(255, 181, 71, .18) !important; color: var(--sbh-amber) !important; }
.sbh-body .status-suspended, .sbh-body .status-cancelled, .sbh-body .status-terminated, .sbh-body .status-overdue, .sbh-body .status-expired, .sbh-body .status-closed, .sbh-body .label-danger { background: rgba(255, 92, 122, .18) !important; color: var(--sbh-red) !important; }

/* Tables */
.sbh-body .table, .sbh-body table.table-list, .sbh-body .dataTables_wrapper table.table-list { color: var(--sbh-text) !important; background: transparent !important; border-collapse: separate; border-spacing: 0; }
.sbh-body .table thead th, .sbh-body table.table-list thead th, .sbh-body .dataTables_wrapper table.table-list thead th {
    background: var(--sbh-surface-2) !important; color: var(--sbh-heading) !important; border: 0 !important;
    font-family: var(--sbh-font-display); font-weight: 600; font-size: .85rem; letter-spacing: .01em; padding: .9rem 1rem;
}
.sbh-body .table td, .sbh-body .table th, .sbh-body table.table-list tbody td { border-color: var(--sbh-border) !important; background: transparent !important; color: var(--sbh-text); vertical-align: middle; }
.sbh-body .table-list > tbody > tr:hover > td, .sbh-body .table-hover tbody tr:hover td { background: var(--sbh-surface) !important; }
.sbh-body .table-striped tbody tr:nth-of-type(odd) { background: rgba(255, 255, 255, .025); }
.sbh-body .table-container, .sbh-body .dataTables_wrapper { background: var(--sbh-surface); border: 1px solid var(--sbh-border); border-radius: var(--sbh-radius); padding: .75rem; overflow-x: auto; -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur); }
.sbh-body .dataTables_info, .sbh-body .dataTables_length, .sbh-body .dataTables_filter { color: var(--sbh-muted) !important; }
.sbh-body .page-link { background: var(--sbh-surface-2) !important; border-color: var(--sbh-border) !important; color: var(--sbh-text) !important; }
.sbh-body .page-item.active .page-link { background: var(--sbh-grad) !important; color: #fff !important; }
.sbh-body .page-item.disabled .page-link { opacity: .5; }
.sbh-body table.table-list tbody td small, .sbh-body .table small { color: var(--sbh-muted); }

/* Tabs / pills */
.sbh-body .nav-tabs { border-bottom: 1px solid var(--sbh-border); }
.sbh-body .nav-tabs .nav-link { color: var(--sbh-muted); border: 0; border-bottom: 2px solid transparent; background: none; font-family: var(--sbh-font-display); font-weight: 500; }
.sbh-body .nav-tabs .nav-link:hover { color: var(--sbh-heading); }
.sbh-body .nav-tabs .nav-link.active, .sbh-body .nav-tabs .nav-item.show .nav-link { color: var(--sbh-heading) !important; background: none !important; border-bottom-color: var(--sbh-cyan) !important; }
.sbh-body .nav-pills .nav-link { color: var(--sbh-muted); border-radius: 10px; }
.sbh-body .nav-pills .nav-link.active { background: var(--sbh-grad); color: #fff; }

/* ---------- 6. Navbar ---------- */
.sbh-nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1030;
    height: var(--sbh-nav-h);
    display: flex; align-items: center;
    background: transparent;
    border-bottom: 1px solid transparent;
    transition: background .3s ease, border-color .3s ease, box-shadow .3s ease, height .3s ease;
}
.sbh-nav.is-scrolled,
body:not(.is-home) .sbh-nav {
    background: var(--sbh-nav-bg);
    -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur);
    border-bottom-color: var(--sbh-border);
    box-shadow: 0 10px 40px -24px rgba(0, 0, 0, .7);
}
.sbh-nav .container { display: flex; align-items: center; gap: 1rem; }
.sbh-nav .navbar-brand { display: flex; align-items: center; margin: 0; padding: 0; color: var(--sbh-heading) !important; font-family: var(--sbh-font-display); font-weight: 700; font-size: 1.25rem; }
.sbh-nav .navbar-brand .logo-img { max-height: 44px; width: auto; max-width: 190px; }
:root[data-bs-theme="dark"] .sbh-nav .navbar-brand .logo-img { filter: drop-shadow(0 0 14px rgba(56, 225, 255, .2)); }

.sbh-menu { display: flex; align-items: center; gap: .15rem; list-style: none; margin: 0 0 0 1rem; padding: 0; flex: 1; }
.sbh-nav-item { position: relative; list-style: none; }
.sbh-nav-link {
    display: inline-flex; align-items: center; gap: .4rem;
    padding: .55rem .8rem; border-radius: 10px;
    color: var(--sbh-text) !important; background: none; border: 0;
    font-family: var(--sbh-font-display); font-size: .93rem; font-weight: 500;
    white-space: nowrap; cursor: pointer;
    transition: background .2s ease, color .2s ease;
}
.sbh-nav-link:hover, .sbh-nav-item.open > .sbh-nav-link { background: var(--sbh-surface-2); color: var(--sbh-heading) !important; }
.sbh-nav-link .sbh-caret { font-size: .7rem; opacity: .7; transition: transform .2s ease; }
.sbh-nav-item.open > .sbh-nav-link .sbh-caret { transform: rotate(180deg); }
.sbh-nav-link .badge { background: var(--sbh-mango); color: var(--sbh-mango-ink); font-size: .7rem; }

.sbh-dd {
    position: absolute; top: calc(100% + 10px); left: 0; min-width: 240px;
    background: var(--sbh-solid); border: 1px solid var(--sbh-border); border-radius: 16px;
    padding: .5rem; box-shadow: 0 30px 70px -20px rgba(0, 0, 0, .65);
    opacity: 0; visibility: hidden; transform: translateY(6px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s;
    z-index: 20;
}
.sbh-dd::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.sbh-dd.is-right { left: auto; right: 0; }
.sbh-nav-item.open > .sbh-dd { opacity: 1; visibility: visible; transform: translateY(0); }
.sbh-dd ul { list-style: none; margin: 0; padding: 0; }
.sbh-dd-link {
    display: flex; align-items: center; gap: .55rem;
    padding: .55rem .75rem; border-radius: 10px;
    color: var(--sbh-text) !important; font-size: .92rem;
}
.sbh-dd-link i { color: var(--sbh-cyan-ink); width: 18px; text-align: center; }
.sbh-dd-link:hover { background: var(--sbh-surface-2); color: var(--sbh-heading) !important; }
.sbh-dd .sbh-dd-divider { height: 1px; background: var(--sbh-border); margin: .4rem .25rem; }

.sbh-tools { display: flex; align-items: center; gap: .4rem; margin-left: auto; list-style: none; padding: 0; margin-bottom: 0; }
.sbh-icon-btn {
    position: relative;
    display: inline-flex; align-items: center; justify-content: center;
    width: 42px; height: 42px; border-radius: 12px;
    background: var(--sbh-surface); border: 1px solid var(--sbh-border);
    color: var(--sbh-heading) !important; cursor: pointer;
    transition: background .2s ease, border-color .2s ease;
}
.sbh-icon-btn:hover { background: var(--sbh-surface-2); border-color: var(--sbh-border-strong); }
.sbh-icon-btn .sbh-count {
    position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px;
    border-radius: 99px; background: var(--sbh-mango); color: var(--sbh-mango-ink);
    font-size: .72rem; font-weight: 700; display: flex; align-items: center; justify-content: center;
    font-family: var(--sbh-font-display);
}
.sbh-icon-btn .sbh-dot { position: absolute; top: 9px; right: 10px; width: 8px; height: 8px; border-radius: 50%; background: var(--sbh-red); box-shadow: 0 0 0 3px var(--sbh-solid); }
.tt-theme-toggle .sbh-sun { display: none; }
:root[data-bs-theme="light"] .tt-theme-toggle .sbh-sun { display: inline; }
:root[data-bs-theme="light"] .tt-theme-toggle .sbh-moon { display: none; }

.sbh-nav .sbh-btn-login { padding: .55rem 1rem; }
.sbh-currency-flag { width: 18px; height: 12px; border-radius: 2px; object-fit: cover; }
.sbh-search-pop { padding: .75rem; min-width: 320px; }
.sbh-search-pop .form-control { min-height: 42px; }

.sbh-burger { display: none; }

/* account dropdown uses secondaryNavbar */
.sbh-account .sbh-nav-item > .sbh-nav-link { background: var(--sbh-surface); border: 1px solid var(--sbh-border); padding: .45rem .8rem; }
.sbh-account .sbh-avatar { width: 28px; height: 28px; border-radius: 9px; background: var(--sbh-grad); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: .8rem; font-weight: 700; }

/* Mobile drawer */
.sbh-drawer-scrim { position: fixed; inset: 0; background: rgba(3, 6, 18, .6); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s; z-index: 1040; }
.sbh-drawer {
    position: fixed; top: 0; right: 0; bottom: 0; width: min(360px, 88vw); z-index: 1045;
    background: var(--sbh-solid); border-left: 1px solid var(--sbh-border);
    transform: translateX(100%); transition: transform .3s cubic-bezier(.2, .8, .2, 1);
    display: flex; flex-direction: column; padding: 1.1rem; overflow-y: auto;
}
body.sbh-drawer-open .sbh-drawer { transform: none; }
body.sbh-drawer-open .sbh-drawer-scrim { opacity: 1; visibility: visible; }
body.sbh-drawer-open { overflow: hidden; }
.sbh-drawer-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.sbh-drawer .sbh-menu { flex-direction: column; align-items: stretch; margin: 0; gap: .2rem; flex: none; }
.sbh-drawer .sbh-nav-link { width: 100%; justify-content: space-between; padding: .8rem .9rem; font-size: 1rem; }
.sbh-drawer .sbh-dd {
    position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none;
    background: var(--sbh-surface); display: none; margin: .2rem 0 .4rem; min-width: 0;
}
.sbh-drawer .sbh-nav-item.open > .sbh-dd { display: block; }
.sbh-drawer-foot { margin-top: auto; padding-top: 1rem; display: grid; gap: .5rem; }

@media (max-width: 1199.98px) {
    .sbh-nav > .container > .sbh-menu, .sbh-nav .sbh-hide-mobile { display: none !important; }
    .sbh-burger { display: inline-flex; }
}
@media (max-width: 575.98px) {
    :root { --sbh-nav-h: 66px; }
    .sbh-nav .navbar-brand .logo-img { max-height: 36px; max-width: 140px; }
    .sbh-icon-btn { width: 38px; height: 38px; border-radius: 11px; }
    .sbh-tools { gap: .3rem; }
}

/* Scroll progress + back to top */
.sbh-progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; z-index: 1050; background: var(--sbh-grad-signal); box-shadow: 0 0 12px rgba(56, 225, 255, .8); }
.sbh-totop {
    position: fixed; left: 18px; bottom: 18px; z-index: 1020;
    width: 46px; height: 46px; border-radius: 14px;
    background: var(--sbh-solid); border: 1px solid var(--sbh-border-strong); color: var(--sbh-heading);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; visibility: hidden; transform: translateY(10px); transition: all .25s ease;
}
.sbh-totop.show { opacity: 1; visibility: visible; transform: none; }
.sbh-totop:hover { border-color: var(--sbh-cyan); color: var(--sbh-cyan-ink); }

/* Hide old floating switcher & overlays if any remain */
.tt-color-switch { display: none !important; }
.tt-body-wrapper .overlay { display: none !important; }

/* ---------- 7. Page header (inner pages) ---------- */
.sbh-pagehead { padding: 2.6rem 0 1.4rem; position: relative; }
.sbh-pagehead h1 { font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 700; margin: 0; color: var(--sbh-heading); }
.sbh-pagehead p { color: var(--sbh-muted); margin: .4rem 0 0; max-width: 62ch; }
.sbh-pagehead .breadcrumb { background: none; padding: 0; margin: .9rem 0 0; font-size: .88rem; }
.sbh-pagehead .breadcrumb-item, .sbh-pagehead .breadcrumb-item a { color: var(--sbh-muted); }
.sbh-pagehead .breadcrumb-item a:hover { color: var(--sbh-heading); }
.sbh-pagehead .breadcrumb-item.active { color: var(--sbh-cyan-ink); }
.sbh-pagehead .breadcrumb-item + .breadcrumb-item::before { content: "/"; color: var(--sbh-border-strong); }
.sbh-pagehead::after { content: ""; display: block; height: 1px; margin-top: 1.6rem; background: linear-gradient(90deg, transparent, var(--sbh-border-strong), transparent); }
.sbh-pagehead .container { position: relative; }

section#main-body { padding: 1.8rem 0 4rem; background: transparent !important; }
.is-home section#main-body { padding: 0; }
.is-home section#main-body:empty { display: none; }

/* ---------- 8. Sidebar (client area) ---------- */
.sbh-body .sidebar .card, .sbh-body .card-sidebar { margin-bottom: 1.2rem; overflow: hidden; }
.sbh-body .sidebar .card-header { padding: .9rem 1.1rem; }
.sbh-body .sidebar .card-header .card-title { font-size: .95rem; }
.sbh-body .sidebar .card-header .card-title i { color: var(--sbh-cyan-ink); }
.sbh-body .sidebar .list-group-item { padding: .7rem 1.1rem; font-size: .93rem; border-left: 0; border-right: 0; }
.sbh-body .sidebar .list-group-item:first-child { border-top: 0; }
.sbh-body .sidebar .list-group-item.active { border-left: 3px solid var(--sbh-cyan) !important; }
.sbh-body .sidebar .list-group-item .badge { background: var(--sbh-surface-3); color: var(--sbh-heading); }
.sbh-body .sidebar .collapsable-card-body a { color: var(--sbh-text); }

/* ---------- 9. Homepage ---------- */
.sbh-section { padding: 5.5rem 0; position: relative; }
.sbh-section-tight { padding: 3.5rem 0; }
.sbh-head { max-width: 640px; margin-bottom: 2.6rem; }
.sbh-head.center { margin-left: auto; margin-right: auto; text-align: center; }
.sbh-head h2 { font-size: clamp(1.75rem, 3.4vw, 2.6rem); font-weight: 700; margin-bottom: .7rem; }
.sbh-head p { color: var(--sbh-muted); font-size: 1.06rem; margin: 0; }

/* Hero */
.sbh-hero { padding: 4.5rem 0 3rem; position: relative; }
.sbh-hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 3.2rem; align-items: center; }
.sbh-hero h1 {
    font-size: clamp(2.3rem, 5.4vw, 4.1rem); font-weight: 800; line-height: 1.04; letter-spacing: -.035em;
    margin: 0 0 1.2rem; color: var(--sbh-heading);
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
    .sbh-hero h1 {
        background: linear-gradient(180deg, var(--sbh-heading) 45%, var(--sbh-cyan) 190%);
        -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
    }
}
.sbh-hero .sbh-sub { font-size: 1.13rem; color: var(--sbh-muted); max-width: 52ch; margin-bottom: 1.8rem; }
.sbh-livepill {
    display: inline-flex; align-items: center; gap: .55rem;
    padding: .38rem .85rem .38rem .6rem; border-radius: 99px;
    background: var(--sbh-surface); border: 1px solid var(--sbh-border);
    color: var(--sbh-text); font-size: .88rem; margin-bottom: 1.4rem;
}
.sbh-livepill:hover { border-color: var(--sbh-border-strong); }
.sbh-pulse { width: 9px; height: 9px; border-radius: 50%; background: var(--sbh-green); box-shadow: 0 0 0 0 rgba(46, 229, 157, .7); animation: sbhPulse 2s infinite; flex: none; }
@keyframes sbhPulse { 0% { box-shadow: 0 0 0 0 rgba(46, 229, 157, .6); } 70% { box-shadow: 0 0 0 9px rgba(46, 229, 157, 0); } 100% { box-shadow: 0 0 0 0 rgba(46, 229, 157, 0); } }

/* Domain search (single instance on homepage) */
.sbh-domain {
    background: var(--sbh-surface); border: 1px solid var(--sbh-border-strong); border-radius: 20px;
    padding: .5rem; -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur);
    box-shadow: var(--sbh-shadow);
}
.sbh-domain-row { display: flex; align-items: center; gap: .4rem; }
.sbh-domain-row .sbh-domain-ico { color: var(--sbh-cyan-ink); padding: 0 .4rem 0 .9rem; font-size: 1.05rem; }
.sbh-body .sbh-domain-row input.form-control {
    flex: 1; background: transparent !important; border: 0 !important; min-height: 52px; font-size: 1.05rem; padding-left: .2rem;
}
.sbh-body .sbh-domain-row input.form-control:focus { box-shadow: none !important; }
.sbh-domain-row .btn { min-height: 50px; padding: 0 1.3rem; border-radius: 14px; }
.sbh-tlds { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: 1rem; }
.sbh-tld {
    display: inline-flex; align-items: baseline; gap: .45rem;
    padding: .38rem .8rem; border-radius: 10px;
    background: var(--sbh-surface); border: 1px solid var(--sbh-border);
    font-size: .88rem; color: var(--sbh-muted);
}
.sbh-tld b { color: var(--sbh-heading); font-family: var(--sbh-font-display); font-size: .95rem; }
.sbh-tlds a.sbh-tld-all { font-size: .9rem; font-weight: 500; margin-left: .2rem; }
@media (max-width: 575.98px) {
    .sbh-domain-row { flex-wrap: wrap; }
    .sbh-domain-row .sbh-domain-ico { display: none; }
    .sbh-body .sbh-domain-row input.form-control { flex: 1 1 100%; background: var(--sbh-input-bg) !important; border: 1px solid var(--sbh-border) !important; padding-left: 1rem; }
    .sbh-domain-row .btn { flex: 1; }
}

/* Hero signature: server locations console */
.sbh-console {
    position: relative; border-radius: 24px; padding: 1.4rem;
    background: linear-gradient(160deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .03));
    border: 1px solid var(--sbh-border-strong);
    -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur);
    box-shadow: 0 40px 90px -40px rgba(56, 225, 255, .45), var(--sbh-shadow);
}
.sbh-console::before {
    content: ""; position: absolute; inset: -1px; border-radius: 24px; padding: 1px; pointer-events: none;
    background: linear-gradient(140deg, rgba(56, 225, 255, .7), transparent 35%, transparent 65%, rgba(124, 92, 255, .8));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
}
.sbh-console-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.1rem; }
.sbh-console-top .sbh-dots { display: flex; gap: 6px; }
.sbh-console-top .sbh-dots i { width: 10px; height: 10px; border-radius: 50%; background: var(--sbh-surface-3); display: block; }
.sbh-console-top .sbh-dots i:nth-child(1) { background: #FF5C7A; }
.sbh-console-top .sbh-dots i:nth-child(2) { background: #FFB547; }
.sbh-console-top .sbh-dots i:nth-child(3) { background: #2EE59D; }
.sbh-console-title { font-family: var(--sbh-font-display); font-size: .85rem; color: var(--sbh-muted); }

.sbh-map { position: relative; height: 150px; margin: 0 0 1rem; border-radius: 16px; background: rgba(0, 0, 0, .18); border: 1px solid var(--sbh-border); overflow: hidden; }
:root[data-bs-theme="light"] .sbh-map { background: rgba(255, 255, 255, .5); }
.sbh-map svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.sbh-map .sbh-arc { fill: none; stroke: url(#sbhArc); stroke-width: 1.6; stroke-dasharray: 5 6; animation: sbhDash 1.6s linear infinite; }
@keyframes sbhDash { to { stroke-dashoffset: -22; } }
.sbh-map .sbh-node { fill: var(--sbh-cyan); }
.sbh-map .sbh-node-home { fill: var(--sbh-mango); }
.sbh-map .sbh-ring { fill: none; stroke: var(--sbh-mango); stroke-width: 1.5; transform-origin: center; transform-box: fill-box; animation: sbhRing 2.4s ease-out infinite; }
@keyframes sbhRing { from { transform: scale(.4); opacity: 1; } to { transform: scale(2.6); opacity: 0; } }
.sbh-map text { fill: var(--sbh-muted); font-family: var(--sbh-font-display); font-size: 10px; }

.sbh-loc { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .8rem; padding: .7rem .8rem; border-radius: 12px; }
.sbh-loc + .sbh-loc { border-top: 1px dashed var(--sbh-border); border-radius: 0; }
.sbh-loc .sbh-loc-code {
    width: 38px; height: 38px; border-radius: 11px; display: flex; align-items: center; justify-content: center;
    background: var(--sbh-surface-2); border: 1px solid var(--sbh-border); font-family: var(--sbh-font-display); font-weight: 700; font-size: .78rem; color: var(--sbh-heading);
}
.sbh-loc .sbh-loc-name { color: var(--sbh-heading); font-weight: 600; line-height: 1.2; font-family: var(--sbh-font-display); font-size: .95rem; }
.sbh-loc .sbh-loc-name small { display: block; color: var(--sbh-muted); font-weight: 400; font-family: var(--sbh-font-body); font-size: .82rem; }
.sbh-loc .sbh-ms { font-family: var(--sbh-font-display); font-weight: 700; color: var(--sbh-green); font-size: .95rem; display: flex; align-items: center; gap: .45rem; }
.sbh-loc .sbh-ms .sbh-bar { display: inline-flex; gap: 2px; align-items: flex-end; height: 14px; }
.sbh-loc .sbh-ms .sbh-bar i { width: 3px; background: currentColor; border-radius: 2px; display: block; opacity: .9; }
.sbh-loc .sbh-ms .sbh-bar i:nth-child(1) { height: 5px; } .sbh-loc .sbh-ms .sbh-bar i:nth-child(2) { height: 9px; } .sbh-loc .sbh-ms .sbh-bar i:nth-child(3) { height: 14px; }
.sbh-loc .sbh-ms.mid { color: var(--sbh-amber); }
.sbh-loc .sbh-ms.mid .sbh-bar i:nth-child(3) { opacity: .25; }
.sbh-console-foot { display: flex; justify-content: space-between; align-items: center; margin-top: .9rem; font-size: .84rem; color: var(--sbh-muted); }

/* one orchestrated load moment for the hero */
.sbh-hero [data-rise] { opacity: 0; transform: translateY(14px); animation: sbhRise .7s cubic-bezier(.2, .8, .2, 1) forwards; }
.sbh-hero [data-rise="2"] { animation-delay: .08s; } .sbh-hero [data-rise="3"] { animation-delay: .16s; }
.sbh-hero [data-rise="4"] { animation-delay: .24s; } .sbh-hero [data-rise="5"] { animation-delay: .36s; }
.sbh-console .sbh-loc { opacity: 0; animation: sbhRise .5s ease forwards; }
.sbh-console .sbh-loc:nth-child(1) { animation-delay: .55s; } .sbh-console .sbh-loc:nth-child(2) { animation-delay: .7s; }
.sbh-console .sbh-loc:nth-child(3) { animation-delay: .85s; } .sbh-console .sbh-loc:nth-child(4) { animation-delay: 1s; }
@keyframes sbhRise { to { opacity: 1; transform: none; } }

@media (max-width: 991.98px) {
    .sbh-hero { padding: 2.5rem 0 2rem; }
    .sbh-hero-grid { grid-template-columns: 1fr; gap: 2.2rem; }
}

/* Stats strip */
.sbh-stats { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--sbh-border); border-radius: 20px; background: var(--sbh-surface); -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur); }
.sbh-stat { padding: 1.4rem 1.5rem; display: flex; align-items: center; gap: .9rem; }
.sbh-stat + .sbh-stat { border-left: 1px solid var(--sbh-border); }
.sbh-stat i { font-size: 1.3rem; color: var(--sbh-cyan-ink); width: 44px; height: 44px; border-radius: 12px; background: var(--sbh-surface-2); display: flex; align-items: center; justify-content: center; flex: none; }
.sbh-stat b { display: block; font-family: var(--sbh-font-display); font-size: 1.35rem; color: var(--sbh-heading); line-height: 1.1; }
.sbh-stat span { color: var(--sbh-muted); font-size: .9rem; }
@media (max-width: 767.98px) {
    .sbh-stats { grid-template-columns: 1fr 1fr; }
    .sbh-stat:nth-child(3) { border-left: 0; }
    .sbh-stat:nth-child(n+3) { border-top: 1px solid var(--sbh-border); }
    .sbh-stat { padding: 1.1rem; }
}

/* Plans */
.sbh-plans { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.2rem; align-items: stretch; }
@media (max-width: 1199.98px) { .sbh-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .sbh-plans { grid-template-columns: 1fr; } }
.sbh-plan {
    position: relative; display: flex; flex-direction: column;
    padding: 1.7rem 1.5rem 1.5rem; border-radius: 22px;
    background: var(--sbh-surface); border: 1px solid var(--sbh-border);
    -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur);
    transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.sbh-plan:hover { border-color: var(--sbh-border-strong); transform: translateY(-4px); box-shadow: var(--sbh-shadow); }
.sbh-plan.is-featured {
    background: linear-gradient(170deg, rgba(255, 181, 71, .16), rgba(255, 255, 255, .04) 45%);
    border-color: rgba(255, 181, 71, .55);
    box-shadow: 0 30px 80px -40px rgba(255, 181, 71, .7);
}
.sbh-plan-flag { position: absolute; top: -12px; left: 1.5rem; padding: .25rem .7rem; border-radius: 99px; background: var(--sbh-mango); color: var(--sbh-mango-ink); font-family: var(--sbh-font-display); font-weight: 700; font-size: .76rem; }
.sbh-plan-ico { width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: var(--sbh-surface-2); border: 1px solid var(--sbh-border); color: var(--sbh-cyan-ink); font-size: 1.15rem; margin-bottom: 1.1rem; }
.sbh-plan.is-featured .sbh-plan-ico { color: var(--sbh-mango); }
.sbh-plan h3 { font-size: 1.12rem; font-weight: 700; margin: 0 0 .35rem; }
.sbh-plan .sbh-plan-desc { color: var(--sbh-muted); font-size: .92rem; min-height: 2.8em; margin: 0; }
.sbh-price { margin: 1.1rem 0 1.2rem; display: flex; align-items: baseline; gap: .35rem; flex-wrap: wrap; }
.sbh-price .sbh-from { width: 100%; font-size: .8rem; color: var(--sbh-muted); }
.sbh-price b { font-family: var(--sbh-font-display); font-size: 2.15rem; font-weight: 800; color: var(--sbh-heading); letter-spacing: -.03em; line-height: 1; }
.sbh-price span { color: var(--sbh-muted); font-size: .92rem; }
.sbh-feat { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; gap: .55rem; }
.sbh-feat li { display: flex; gap: .6rem; align-items: flex-start; color: var(--sbh-text); font-size: .93rem; line-height: 1.45; }
.sbh-feat li i { color: var(--sbh-green); margin-top: .22rem; font-size: .85rem; }
.sbh-plan .btn { margin-top: auto; width: 100%; }

.sbh-domain-links { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: 1.2rem; }
@media (max-width: 767.98px) { .sbh-domain-links { grid-template-columns: 1fr; } }

/* Product groups (dynamic from WHMCS) */
.sbh-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 991.98px) { .sbh-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .sbh-groups { grid-template-columns: 1fr; } }
.sbh-group {
    display: flex; gap: 1rem; align-items: flex-start; padding: 1.25rem; border-radius: 18px;
    background: var(--sbh-surface); border: 1px solid var(--sbh-border); color: var(--sbh-text) !important;
    -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur);
    transition: border-color .2s ease, background .2s ease;
}
.sbh-group:hover { border-color: var(--sbh-cyan); background: var(--sbh-surface-2); }
.sbh-group-ico { width: 42px; height: 42px; flex: none; border-radius: 12px; background: var(--sbh-grad); color: #fff; display: flex; align-items: center; justify-content: center; }
.sbh-group h3 { font-size: 1rem; margin: 0 0 .25rem; font-weight: 600; }
.sbh-group p { margin: 0 0 .55rem; color: var(--sbh-muted); font-size: .9rem; line-height: 1.45; }
.sbh-group .sbh-go { font-size: .88rem; font-weight: 600; color: var(--sbh-cyan-ink); font-family: var(--sbh-font-display); }

/* Why us — bento */
.sbh-bento { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: minmax(170px, auto); gap: 1rem; }
.sbh-tile {
    grid-column: span 2; padding: 1.5rem; border-radius: 20px;
    background: var(--sbh-surface); border: 1px solid var(--sbh-border);
    -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur);
    display: flex; flex-direction: column; position: relative; overflow: hidden;
}
.sbh-tile.wide { grid-column: span 4; }
.sbh-tile.tall { grid-row: span 2; }
.sbh-tile h3 { font-size: 1.1rem; margin: .9rem 0 .4rem; font-weight: 700; }
.sbh-tile p { color: var(--sbh-muted); margin: 0; font-size: .95rem; }
.sbh-tile > i { font-size: 1.3rem; color: var(--sbh-cyan-ink); }
.sbh-tile.hl { background: linear-gradient(150deg, rgba(79, 124, 255, .28), rgba(124, 92, 255, .12) 55%, rgba(255, 255, 255, .03)); border-color: rgba(124, 92, 255, .45); }
.sbh-tile .sbh-meter { margin-top: auto; padding-top: 1.2rem; display: grid; gap: .6rem; }
.sbh-meter-row { display: grid; grid-template-columns: 110px 1fr 56px; align-items: center; gap: .7rem; font-size: .85rem; color: var(--sbh-muted); }
.sbh-meter-row b { color: var(--sbh-heading); font-family: var(--sbh-font-display); text-align: right; }
.sbh-meter-track { height: 8px; border-radius: 99px; background: var(--sbh-surface-2); overflow: hidden; }
.sbh-meter-fill { height: 100%; width: 0; border-radius: 99px; background: var(--sbh-grad-signal); transition: width 1.2s cubic-bezier(.2, .8, .2, 1); }
.sbh-meter-fill.slow { background: var(--sbh-surface-3); }
@media (max-width: 991.98px) {
    .sbh-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sbh-tile, .sbh-tile.wide { grid-column: span 1; }
    .sbh-tile.wide.hl { grid-column: span 2; }
    .sbh-tile.tall { grid-row: auto; }
}
@media (max-width: 575.98px) {
    .sbh-bento { grid-template-columns: 1fr; }
    .sbh-tile.wide.hl { grid-column: span 1; }
    .sbh-meter-row { grid-template-columns: 90px 1fr 48px; }
}

/* Steps (a real sequence, so numbered) */
.sbh-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; counter-reset: sbhstep; position: relative; }
.sbh-step { padding: 1.5rem; border-radius: 20px; border: 1px solid var(--sbh-border); background: var(--sbh-surface); position: relative; }
.sbh-step::before {
    counter-increment: sbhstep; content: counter(sbhstep);
    display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px;
    background: var(--sbh-grad); color: #fff; font-family: var(--sbh-font-display); font-weight: 700; margin-bottom: 1rem;
}
.sbh-step h3 { font-size: 1.06rem; margin: 0 0 .4rem; font-weight: 700; }
.sbh-step p { margin: 0 0 .8rem; color: var(--sbh-muted); font-size: .95rem; }
.sbh-step a { font-weight: 600; font-family: var(--sbh-font-display); font-size: .9rem; }
@media (max-width: 767.98px) { .sbh-steps { grid-template-columns: 1fr; } }

/* FAQ */
.sbh-faq-wrap { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 3rem; align-items: start; }
@media (max-width: 991.98px) { .sbh-faq-wrap { grid-template-columns: 1fr; gap: 1.5rem; } }
.sbh-faq { border-top: 1px solid var(--sbh-border); }
.sbh-faq details { border-bottom: 1px solid var(--sbh-border); }
.sbh-faq summary {
    list-style: none; cursor: pointer; padding: 1.15rem 0; display: flex; justify-content: space-between; gap: 1rem; align-items: center;
    font-family: var(--sbh-font-display); font-weight: 600; font-size: 1.02rem; color: var(--sbh-heading);
}
.sbh-faq summary::-webkit-details-marker { display: none; }
.sbh-faq summary::after { content: "+"; font-size: 1.4rem; line-height: 1; color: var(--sbh-cyan-ink); transition: transform .25s ease; flex: none; }
.sbh-faq details[open] summary::after { transform: rotate(45deg); }
.sbh-faq .sbh-faq-body { padding: 0 0 1.2rem; color: var(--sbh-muted); max-width: 68ch; }

/* Account quick links (logged in only) */
.sbh-quick { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .8rem; }
@media (max-width: 991.98px) { .sbh-quick { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .sbh-quick { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sbh-quick a {
    display: flex; flex-direction: column; gap: .6rem; padding: 1.1rem; border-radius: 16px;
    background: var(--sbh-surface); border: 1px solid var(--sbh-border); color: var(--sbh-heading) !important; font-weight: 600; font-family: var(--sbh-font-display); font-size: .93rem;
}
.sbh-quick a i { color: var(--sbh-cyan-ink); font-size: 1.2rem; }
.sbh-quick a:hover { border-color: var(--sbh-cyan); background: var(--sbh-surface-2); }

/* Announcements */
.sbh-news { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 991.98px) { .sbh-news { grid-template-columns: 1fr; } }
.sbh-news article { padding: 1.4rem; border-radius: 18px; background: var(--sbh-surface); border: 1px solid var(--sbh-border); }
.sbh-news time { font-size: .82rem; color: var(--sbh-cyan-ink); font-family: var(--sbh-font-display); }
.sbh-news h3 { font-size: 1.05rem; margin: .5rem 0; }
.sbh-news h3 a { color: var(--sbh-heading) !important; }
.sbh-news p { color: var(--sbh-muted); font-size: .93rem; margin: 0; }

/* CTA band */
.sbh-cta {
    border-radius: 28px; padding: 3rem; display: grid; grid-template-columns: 1.4fr auto; gap: 2rem; align-items: center;
    background: linear-gradient(120deg, rgba(79, 124, 255, .35), rgba(124, 92, 255, .25) 50%, rgba(255, 181, 71, .18));
    border: 1px solid var(--sbh-border-strong);
    -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur);
}
.sbh-cta h2 { font-size: clamp(1.5rem, 3vw, 2.2rem); margin: 0 0 .5rem; font-weight: 700; }
.sbh-cta p { margin: 0; color: var(--sbh-text); opacity: .9; }
.sbh-cta-actions { display: flex; gap: .7rem; flex-wrap: wrap; }
@media (max-width: 767.98px) { .sbh-cta { grid-template-columns: 1fr; padding: 2rem 1.4rem; } }

/* ---------- 10. Footer ---------- */
.sbh-footer { margin-top: 3rem; border-top: 1px solid var(--sbh-border); background: linear-gradient(180deg, rgba(255, 255, 255, .02), rgba(255, 255, 255, .05)); -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur); }
.sbh-footer-top { padding: 4rem 0 2.5rem; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1.3fr; gap: 2rem; }
@media (max-width: 1199.98px) { .sbh-footer-top { grid-template-columns: 1fr 1fr 1fr; } .sbh-footer-brand { grid-column: 1 / -1; } }
@media (max-width: 575.98px) { .sbh-footer-top { grid-template-columns: 1fr 1fr; gap: 1.6rem; } .sbh-footer-brand, .sbh-footer-sub { grid-column: 1 / -1; } }
.sbh-footer h5 { font-size: .98rem; font-weight: 600; color: var(--sbh-heading); margin: 0 0 1rem; }
.sbh-footer ul.sbh-links { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.sbh-footer ul.sbh-links a { color: var(--sbh-muted) !important; font-size: .95rem; }
.sbh-footer ul.sbh-links a:hover { color: var(--sbh-heading) !important; }
.sbh-footer-brand img { max-width: 200px; height: auto; margin-bottom: 1rem; }
.sbh-footer-brand p { color: var(--sbh-muted); font-size: .95rem; max-width: 42ch; }
.sbh-social { list-style: none; padding: 0; margin: 1rem 0 0; display: flex; gap: .5rem; flex-wrap: wrap; }
.sbh-social li { margin: 0 !important; }
.sbh-social .btn-icon, .sbh-social a {
    width: 40px; height: 40px; border-radius: 12px !important; padding: 0 !important;
    display: inline-flex !important; align-items: center; justify-content: center;
    background: var(--sbh-surface-2) !important; border: 1px solid var(--sbh-border) !important; color: var(--sbh-heading) !important; box-shadow: none !important;
}
.sbh-social a:hover { border-color: var(--sbh-cyan) !important; color: var(--sbh-cyan-ink) !important; }
.sbh-footer-sub .sbh-pay { background: #fff; border-radius: 12px; padding: .5rem; max-width: 100%; }
.sbh-footer-sub .input-group { margin-top: .6rem; }
.sbh-footer-sub .input-group .form-control { border-radius: 12px 0 0 12px !important; }
.sbh-footer-sub .input-group .btn { border-radius: 0 12px 12px 0 !important; }
.sbh-footer-bottom { border-top: 1px solid var(--sbh-border); padding: 1.1rem 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: .9rem; color: var(--sbh-muted); }
.sbh-footer-bottom p { margin: 0; }
.sbh-footer-bottom .btn { font-size: .85rem; }
.sbh-footer-bottom .iti-flag { display: inline-block; vertical-align: middle; margin-right: .3rem; }

/* ---------- 11. Auth pages ---------- */
.tt-auth-wrap, section#main-body.tt-auth-wrap { padding: 2.5rem 0 4rem; background: transparent !important; min-height: auto !important; }
.sbh-auth {
    display: grid; grid-template-columns: 1fr 1fr; max-width: 1040px; margin: 0 auto;
    border-radius: 28px; overflow: hidden;
    background: var(--sbh-surface); border: 1px solid var(--sbh-border-strong);
    -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur);
    box-shadow: var(--sbh-shadow);
}
.sbh-auth-aside {
    padding: 2.8rem; position: relative; display: flex; flex-direction: column; gap: 1.2rem;
    background: linear-gradient(160deg, rgba(79, 124, 255, .38), rgba(124, 92, 255, .22) 55%, rgba(56, 225, 255, .10));
    border-right: 1px solid var(--sbh-border);
}
.sbh-auth-aside h2 { font-size: 1.8rem; font-weight: 700; margin: 0; }
.sbh-auth-aside p { color: var(--sbh-text); opacity: .9; margin: 0; }
.sbh-auth-aside ul { list-style: none; padding: 0; margin: .5rem 0 0; display: grid; gap: .8rem; }
.sbh-auth-aside li { display: flex; gap: .7rem; align-items: flex-start; color: var(--sbh-heading); }
.sbh-auth-aside li i { color: var(--sbh-cyan-ink); margin-top: .25rem; width: 18px; }
.sbh-auth-aside .sbh-auth-foot { margin-top: auto; font-size: .88rem; color: var(--sbh-muted); }
.sbh-auth-main { padding: 2.8rem; }
.sbh-auth-main h1 { font-size: 1.6rem; font-weight: 700; margin: 0 0 .35rem; }
.sbh-auth-main .sbh-auth-lead { color: var(--sbh-muted); margin-bottom: 1.6rem; }
.sbh-auth-main .form-group { margin-bottom: 1.1rem; }
.sbh-auth-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin: .3rem 0 1.2rem; }
.sbh-auth-row label { display: flex; gap: .5rem; align-items: center; margin: 0; font-weight: 400; color: var(--sbh-text); }
.sbh-auth-row label input { position: static; margin: 0; }
.sbh-or { display: flex; align-items: center; gap: .8rem; color: var(--sbh-muted); font-size: .85rem; margin: 1.3rem 0; }
.sbh-or::before, .sbh-or::after { content: ""; flex: 1; height: 1px; background: var(--sbh-border); }
.sbh-auth-alt { text-align: center; color: var(--sbh-muted); margin-top: 1.3rem; }
.sbh-auth-alt a { font-weight: 600; }
.sbh-auth-tools { display: flex; justify-content: space-between; align-items: center; gap: .5rem; flex-wrap: wrap; margin-top: 1.4rem; padding-top: 1.1rem; border-top: 1px solid var(--sbh-border); }
.sbh-auth-tools .btn { font-size: .85rem; }
@media (max-width: 991.98px) {
    .sbh-auth { grid-template-columns: 1fr; }
    .sbh-auth-aside { border-right: 0; border-bottom: 1px solid var(--sbh-border); padding: 2rem; }
    .sbh-auth-aside ul, .sbh-auth-aside .sbh-auth-foot { display: none; }
    .sbh-auth-main { padding: 2rem 1.4rem; }
}

/* Register form (markup kept, styled) */
.sbh-body #registration { max-width: 980px; margin: 0 auto; padding: 2.4rem !important; border-radius: 26px !important; }
.sbh-body #registration > form > #containerNewUserSignup > .text-center h1 { font-size: 1.7rem; font-weight: 700; }
.sbh-body #registration .card { background: transparent !important; border: 0 !important; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; margin-bottom: 1.8rem !important; }
.sbh-body #registration .card .card-body > h3.h6,
.sbh-body #registration .card h3.h6 {
    font-size: 1rem; font-weight: 700; color: var(--sbh-heading); display: flex; align-items: center; gap: .6rem;
    padding-bottom: .8rem; margin-bottom: 1.2rem; border-bottom: 1px solid var(--sbh-border);
}
.sbh-body #registration .card h3.h6::before { content: ""; width: 4px; height: 18px; border-radius: 4px; background: var(--sbh-grad-signal); }
.sbh-body #registration .auth-footer, .sbh-body .auth-footer { color: var(--sbh-muted); text-align: center; }
@media (max-width: 575.98px) { .sbh-body #registration { padding: 1.4rem !important; } }

.sbh-body .tt-form-wrap { max-width: 1040px; margin: 0 auto; overflow: hidden; }
.sbh-body .tt-login-registration-testimonial { background: none !important; }

/* ---------- 12. Client dashboard ---------- */
.sbh-welcome {
    display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; flex-wrap: wrap;
    padding: 1.6rem 1.7rem; border-radius: 22px; margin-bottom: 1.4rem;
    background: linear-gradient(120deg, rgba(79, 124, 255, .32), rgba(124, 92, 255, .18) 55%, rgba(56, 225, 255, .08));
    border: 1px solid var(--sbh-border-strong);
    -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur);
}
.sbh-welcome h2 { margin: 0 0 .25rem; font-size: 1.45rem; font-weight: 700; }
.sbh-welcome p { margin: 0; color: var(--sbh-text); opacity: .85; }
.sbh-welcome-actions { display: flex; gap: .5rem; flex-wrap: wrap; }

.sbh-body .tiles .row { margin-left: -8px; margin-right: -8px; }
.sbh-body .tiles .row > [class*="col-"] { padding: 8px; }
.sbh-body .tiles .tile, .sbh-body .tile.tt-single-box {
    display: flex !important; align-items: center; gap: 1rem; padding: 1.2rem 1.2rem !important; height: 100%;
    color: var(--sbh-text) !important; text-decoration: none; position: relative; overflow: hidden;
    transition: border-color .2s ease, transform .2s ease;
}
.sbh-body .tiles .tile:hover { border-color: var(--sbh-border-strong) !important; transform: translateY(-2px); }
.sbh-body .tiles .tile > i {
    position: static !important; font-size: 1.25rem !important; opacity: 1 !important;
    width: 50px; height: 50px; border-radius: 14px; flex: none;
    display: flex !important; align-items: center; justify-content: center; color: #fff !important;
    background: var(--sbh-grad);
}
.sbh-body .tiles .col-6:nth-child(2) .tile > i { background: linear-gradient(135deg, #16C784, #0EA5A5); }
.sbh-body .tiles .col-6:nth-child(3) .tile > i { background: linear-gradient(135deg, #FFB547, #FF7A59); }
.sbh-body .tiles .col-6:nth-child(4) .tile > i { background: linear-gradient(135deg, #FF5C7A, #C13AFF); }
.sbh-body .tiles .tile .stat { font-family: var(--sbh-font-display); font-size: 1.7rem !important; font-weight: 800; color: var(--sbh-heading) !important; line-height: 1.05; margin: 0 !important; }
.sbh-body .tiles .tile .title { color: var(--sbh-muted) !important; font-size: .9rem; text-transform: none !important; letter-spacing: 0; }
.sbh-body .tiles .tile .highlight { display: none; }
@media (max-width: 575.98px) {
    .sbh-body .tiles .tile { flex-direction: column; align-items: flex-start; gap: .7rem; }
    .sbh-body .tiles .tile > i { width: 42px; height: 42px; }
    .sbh-welcome { padding: 1.3rem; }
}
.sbh-body .client-home-cards .card { margin-bottom: 1.2rem; overflow: hidden; }
.sbh-body .client-home-cards .card-header .card-title i { color: var(--sbh-cyan-ink); }
.sbh-body .client-home-cards .card-header .btn { font-size: .78rem; padding: .3rem .7rem; }

/* Product (service) details = order/service details page */
.sbh-body .product-details .product-status {
    border-radius: 20px; overflow: hidden; padding: 2rem 1rem 0 !important;
    background: linear-gradient(160deg, rgba(79, 124, 255, .35), rgba(124, 92, 255, .15)) !important;
    border: 1px solid var(--sbh-border-strong);
}
.sbh-body .product-details .product-status .product-icon h3 { color: var(--sbh-heading); font-weight: 700; font-size: 1.35rem; }
.sbh-body .product-details .product-status .product-icon h4 { color: var(--sbh-muted); font-size: .98rem; }
.sbh-body .product-details .product-status .fa-stack .fa-circle { color: rgba(255, 255, 255, .15) !important; }
.sbh-body .product-details .product-status-text { margin: 1.4rem -1rem 0; padding: .7rem; font-family: var(--sbh-font-display); font-weight: 700; background: rgba(0, 0, 0, .2) !important; color: var(--sbh-heading) !important; }
.sbh-body .product-status-active .product-status-text { background: rgba(46, 229, 157, .22) !important; color: var(--sbh-green) !important; }
.sbh-body .product-status-pending .product-status-text { background: rgba(255, 181, 71, .22) !important; color: var(--sbh-amber) !important; }
.sbh-body .product-status-suspended .product-status-text,
.sbh-body .product-status-terminated .product-status-text,
.sbh-body .product-status-cancelled .product-status-text { background: rgba(255, 92, 122, .22) !important; color: var(--sbh-red) !important; }
.sbh-body .product-details h4 { font-size: .85rem; color: var(--sbh-muted); font-weight: 500; margin-bottom: .15rem; }
.sbh-body .product-details .text-center h4 + div, .sbh-body .product-details .col-md-6.text-center > * { color: var(--sbh-heading); }
.sbh-body .product-actions-wrapper .btn { margin-bottom: .6rem; }
.sbh-body .product-details-tab-container, .sbh-body .tab-content.product-details-tab-container { background: var(--sbh-surface); border: 1px solid var(--sbh-border); border-radius: var(--sbh-radius); padding: 1.3rem; }
.sbh-body .cpanel-feature-row a, .sbh-body .module-client-area a img { border-radius: 12px; }
.sbh-body .cpanel-feature-row a { color: var(--sbh-text) !important; }
.sbh-body .cpanel-feature-row a:hover { background: var(--sbh-surface-2); }
.sbh-body .cpanel-usage-stats .limit-near { color: var(--sbh-amber); }

/* Invoices list / ticket view */
.sbh-body .view-ticket .posted-by { background: var(--sbh-surface-2) !important; color: var(--sbh-muted); border-color: var(--sbh-border) !important; }
.sbh-body .view-ticket .card-body { color: var(--sbh-text); }
.sbh-body .ticket-reply.staff, .sbh-body .view-ticket .staff { border-left: 3px solid var(--sbh-cyan) !important; }
.sbh-body .md-editor, .sbh-body .md-editor .md-header, .sbh-body .md-editor > textarea { background: var(--sbh-input-bg) !important; color: var(--sbh-heading) !important; border-color: var(--sbh-border-strong) !important; }
.sbh-body .md-editor .btn { background: transparent !important; color: var(--sbh-text) !important; border: 0 !important; box-shadow: none; }
.sbh-body .md-editor .md-footer, .sbh-body .md-editor .md-preview { background: var(--sbh-surface) !important; color: var(--sbh-text) !important; }

/* KB / announcements / downloads */
.sbh-body .kb-category a, .sbh-body .kb-article-item, .sbh-body .tt-announcement-single, .sbh-body .tt-news-wrap .tt-news-single, .sbh-body .affiliate-stat {
    background: var(--sbh-surface) !important; border: 1px solid var(--sbh-border) !important; border-radius: 16px !important; color: var(--sbh-text) !important; box-shadow: none !important;
}
.sbh-body .kb-category a:hover, .sbh-body .kb-article-item:hover { border-color: var(--sbh-cyan) !important; }
.sbh-body .tt-news-wrap { background: transparent !important; }
.sbh-body .tt-kb-search, .sbh-body .tt-search-field .form-control { background: var(--sbh-input-bg) !important; }
.sbh-body .tt-article-heading h3 a { color: var(--sbh-heading) !important; }

/* Domain pages / checker results */
.sbh-body .domain-checker-container, .sbh-body .domain-checker-bg { background: transparent !important; }
.sbh-body .domain-pricing .tld-pricing-header div, .sbh-body .tld-pricing-header { background: var(--sbh-surface-2) !important; color: var(--sbh-heading) !important; border-color: var(--sbh-border) !important; }
.sbh-body .tld-row { border-color: var(--sbh-border) !important; color: var(--sbh-text); }
.sbh-body .tld-row:nth-child(even) { background: var(--sbh-surface) !important; }
.sbh-body .tld-filters a.badge-secondary { background: var(--sbh-surface-2) !important; color: var(--sbh-text) !important; border: 1px solid var(--sbh-border); }
.sbh-body .tld-filters a.badge-secondary.badge-success { background: var(--sbh-grad) !important; color: #fff !important; }
.sbh-body .modal-localisation .modal-content { background: var(--sbh-solid) !important; }
.sbh-body .modal-localisation .item-selector .item { background: var(--sbh-surface-2) !important; color: var(--sbh-text) !important; border: 1px solid var(--sbh-border) !important; border-radius: 12px; }
.sbh-body .modal-localisation .item-selector .item.active, .sbh-body .modal-localisation .item-selector .item:hover { border-color: var(--sbh-cyan) !important; color: var(--sbh-heading) !important; }
.sbh-body .modal-localisation h5 { color: var(--sbh-heading) !important; }

/* Popover notifications */
.popover-user-notifications { background: var(--sbh-solid) !important; border-color: var(--sbh-border) !important; }
.popover-user-notifications ul li a { color: var(--sbh-text) !important; border-color: var(--sbh-border) !important; }
.popover-user-notifications ul li a:hover { background: var(--sbh-surface-2) !important; }
.popover-user-notifications .popover-body { padding: 0; }

/* WHMCS overlays */
#fullpage-overlay { background: rgba(3, 6, 18, .8) !important; }
#fullpage-overlay .msg { color: #fff; }
.btn-return-to-admin { background: var(--sbh-mango) !important; color: var(--sbh-mango-ink) !important; border-radius: 0 0 12px 12px !important; }

/* ---------- 13. Shopping cart / order form ---------- */
.sbh-body #order-standard_cart { color: var(--sbh-text); }
.sbh-body #order-standard_cart .header-lined { margin-bottom: 1.6rem; }
.sbh-body #order-standard_cart .header-lined h1,
.sbh-body #order-standard_cart .header-lined h2,
.sbh-body #order-standard_cart .font-size-22 { font-family: var(--sbh-font-display); font-size: clamp(1.4rem, 2.4vw, 1.9rem) !important; font-weight: 700; color: var(--sbh-heading) !important; border: 0 !important; }
.sbh-body #order-standard_cart .header-lined p { color: var(--sbh-muted); }
.sbh-body #order-standard_cart .cart-sidebar .card, .sbh-body #order-standard_cart .sidebar .card { overflow: hidden; }
.sbh-body #order-standard_cart .cart-sidebar .list-group-item { font-size: .92rem; }
.sbh-body #order-standard_cart .sidebar-collapsed { background: var(--sbh-surface); border: 1px solid var(--sbh-border); border-radius: 14px; padding: .8rem; margin-bottom: 1rem; }
.sbh-body #order-standard_cart .sidebar-collapsed h3 { color: var(--sbh-heading); }

.sbh-body #order-standard_cart .sub-heading,
.sbh-body #order-standard_cart .sub-heading-borderless { border-top: 1px solid var(--sbh-border) !important; margin: 1.8rem 0 1.2rem; height: 0; text-align: left; }
.sbh-body #order-standard_cart .sub-heading span,
.sbh-body #order-standard_cart .sub-heading-borderless span {
    background: var(--sbh-solid) !important; color: var(--sbh-heading) !important;
    font-family: var(--sbh-font-display); font-weight: 600; font-size: .95rem; padding: .3rem .9rem !important;
    border: 1px solid var(--sbh-border); border-radius: 99px; position: relative; top: -.95rem;
}
.sbh-body #order-standard_cart .field-container, .sbh-body #order-standard_cart .panel, .sbh-body #order-standard_cart .product-info {
    background: var(--sbh-surface) !important; border: 1px solid var(--sbh-border) !important; border-radius: 16px !important; color: var(--sbh-text); padding: 1.2rem;
}
.sbh-body #order-standard_cart .product-info .product-title { color: var(--sbh-heading) !important; font-family: var(--sbh-font-display); font-size: 1.15rem; }
.sbh-body #order-standard_cart .product-info p, .sbh-body #order-standard_cart .product-info li { color: var(--sbh-muted); }

/* View cart items */
.sbh-body #order-standard_cart .view-cart-items-header {
    background: var(--sbh-grad) !important; color: #fff !important; border-radius: 16px 16px 0 0 !important;
    font-family: var(--sbh-font-display); font-weight: 600; padding: .85rem 1.2rem !important; border: 0;
}
.sbh-body #order-standard_cart .view-cart-items {
    background: var(--sbh-surface) !important; border: 1px solid var(--sbh-border) !important; border-top: 0 !important;
    border-radius: 0 0 16px 16px !important; -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur);
}
.sbh-body #order-standard_cart .view-cart-items .item { background: transparent !important; border-bottom: 1px solid var(--sbh-border) !important; padding: 1.1rem 1.2rem !important; color: var(--sbh-text); }
.sbh-body #order-standard_cart .view-cart-items .item:nth-child(even) { background: rgba(255, 255, 255, .02) !important; }
.sbh-body #order-standard_cart .view-cart-items .item-title { color: var(--sbh-heading) !important; font-family: var(--sbh-font-display); font-weight: 600; }
.sbh-body #order-standard_cart .view-cart-items .item-group, .sbh-body #order-standard_cart .view-cart-items .item-domain { color: var(--sbh-muted) !important; }
.sbh-body #order-standard_cart .view-cart-items .item-price span, .sbh-body #order-standard_cart .view-cart-items .item-price { color: var(--sbh-heading) !important; font-family: var(--sbh-font-display); }
.sbh-body #order-standard_cart .view-cart-items .item-price .cycle, .sbh-body #order-standard_cart .view-cart-items .item-price .renewal { color: var(--sbh-muted) !important; font-family: var(--sbh-font-body); }
.sbh-body #order-standard_cart .btn-remove-from-cart { color: var(--sbh-red) !important; }
.sbh-body #order-standard_cart .empty-cart .btn, .sbh-body #order-standard_cart .view-cart-empty { color: var(--sbh-muted); }
.sbh-body #order-standard_cart .view-cart-tabs .nav-tabs .nav-link { color: var(--sbh-muted); }
.sbh-body #order-standard_cart .view-cart-tabs .tab-content { background: var(--sbh-surface) !important; border: 1px solid var(--sbh-border) !important; border-top: 0 !important; border-radius: 0 0 16px 16px; padding: 1.2rem; }

/* Order summary box (right column on configure/viewcart) */
.sbh-body #order-standard_cart .order-summary,
.sbh-body #order-standard_cart .secondary-cart-sidebar .order-summary {
    background: var(--sbh-surface) !important; border: 1px solid var(--sbh-border-strong) !important; border-radius: 20px !important;
    overflow: hidden; -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur); box-shadow: var(--sbh-shadow);
}
.sbh-body #order-standard_cart .order-summary h2 {
    background: var(--sbh-grad) !important; color: #fff !important; margin: 0 !important; padding: .95rem 1.2rem !important;
    font-family: var(--sbh-font-display); font-size: 1.05rem !important; font-weight: 700; border: 0 !important;
}
.sbh-body #order-standard_cart .summary-container { background: transparent !important; color: var(--sbh-text) !important; padding: 1.2rem !important; border: 0 !important; }
.sbh-body #order-standard_cart .summary-container .product-name { color: var(--sbh-heading); font-weight: 600; font-family: var(--sbh-font-display); }
.sbh-body #order-standard_cart .summary-container .product-group { color: var(--sbh-muted); }
.sbh-body #order-standard_cart .summary-container .clearfix, .sbh-body #order-standard_cart .summary-container .bordered-totals { border-color: var(--sbh-border) !important; }
.sbh-body #order-standard_cart .summary-container span.float-right, .sbh-body #order-standard_cart .summary-container .float-right { color: var(--sbh-heading) !important; }
.sbh-body #order-standard_cart .order-summary .total-due-today, .sbh-body #order-standard_cart .total-due-today {
    border-top: 1px dashed var(--sbh-border-strong) !important; margin-top: .8rem; padding-top: .9rem;
}
.sbh-body #order-standard_cart .total-due-today .amt, .sbh-body #order-standard_cart .order-summary .amt {
    font-family: var(--sbh-font-display); font-weight: 800; font-size: 1.9rem !important; color: var(--sbh-heading) !important; letter-spacing: -.02em; display: block;
}
.sbh-body #order-standard_cart .total-due-today span:not(.amt) { color: var(--sbh-muted); }
.sbh-body #order-standard_cart .order-summary .btn-checkout, .sbh-body #order-standard_cart #btnCompleteProductConfig, .sbh-body #order-standard_cart #checkout, .sbh-body #order-standard_cart .btn-checkout {
    background: var(--sbh-mango) !important; color: var(--sbh-mango-ink) !important; border: 0 !important;
    font-weight: 700; box-shadow: 0 16px 40px -18px rgba(255, 181, 71, .9); border-radius: 14px;
}
.sbh-body #order-standard_cart .summary-totals { border-color: var(--sbh-border) !important; }
.sbh-body #order-standard_cart .promo-code, .sbh-body #order-standard_cart .view-cart-promotion-code { color: var(--sbh-muted); }

/* Configure product */
.sbh-body #order-standard_cart .product-configurable-options, .sbh-body #order-standard_cart .addon-products .panel-addon {
    background: var(--sbh-surface) !important; border: 1px solid var(--sbh-border) !important; border-radius: 16px !important; color: var(--sbh-text);
}
.sbh-body #order-standard_cart .panel-addon-selected { border-color: var(--sbh-green) !important; box-shadow: 0 0 0 3px rgba(46, 229, 157, .15); }
.sbh-body #order-standard_cart .panel-addon .panel-price, .sbh-body #order-standard_cart .panel-addon .panel-add { background: var(--sbh-surface-2) !important; color: var(--sbh-heading) !important; border-color: var(--sbh-border) !important; }
.sbh-body #order-standard_cart .panel-addon-selected .panel-add { background: var(--sbh-green) !important; color: #032116 !important; }
.sbh-body #order-standard_cart .irs-bar, .sbh-body #order-standard_cart .irs-from, .sbh-body #order-standard_cart .irs-to, .sbh-body #order-standard_cart .irs-single { background: var(--sbh-blue) !important; border-color: var(--sbh-blue) !important; }
.sbh-body #order-standard_cart .irs-line { background: var(--sbh-surface-2) !important; border-color: var(--sbh-border) !important; }
.sbh-body #order-standard_cart .irs-grid-text, .sbh-body #order-standard_cart .irs-min, .sbh-body #order-standard_cart .irs-max { color: var(--sbh-muted) !important; background: transparent !important; }

/* Domain options / register in cart */
.sbh-body #order-standard_cart .domain-selection-options .option {
    background: var(--sbh-surface) !important; border: 1px solid var(--sbh-border) !important; border-radius: 14px !important; color: var(--sbh-text); padding: 1rem 1.2rem !important; margin-bottom: .6rem;
}
.sbh-body #order-standard_cart .domain-selection-options .option-selected { border-color: var(--sbh-cyan) !important; background: var(--sbh-surface-2) !important; }
.sbh-body #order-standard_cart .domain-checker-result-headline, .sbh-body #order-standard_cart .domain-available { color: var(--sbh-green) !important; }
.sbh-body #order-standard_cart .domain-unavailable, .sbh-body #order-standard_cart .domain-invalid { color: var(--sbh-red) !important; }
.sbh-body #order-standard_cart .domain-suggestion, .sbh-body #order-standard_cart .spotlight-tld, .sbh-body #order-standard_cart .spotlight-tlds .spotlight-tld {
    background: var(--sbh-surface) !important; border: 1px solid var(--sbh-border) !important; color: var(--sbh-text) !important; border-radius: 14px !important;
}
.sbh-body #order-standard_cart .suggested-domains .list-group-item { background: transparent !important; }
.sbh-body #order-standard_cart .suggested-domains .card-header, .sbh-body #order-standard_cart .suggested-domains .panel-heading { background: var(--sbh-surface-2) !important; }
.sbh-body #order-standard_cart .domain-lookup-primary-loader, .sbh-body #order-standard_cart .domain-lookup-loader { color: var(--sbh-cyan-ink); }
.sbh-body #order-standard_cart .domain-checker-container, .sbh-body .domain-checker-container { background: var(--sbh-surface) !important; border: 1px solid var(--sbh-border); border-radius: 20px; }
.sbh-body #order-standard_cart .domain-checker-bg { background: none !important; }

/* Checkout */
.sbh-body #order-standard_cart .already-registered { background: var(--sbh-surface) !important; border: 1px solid var(--sbh-border); border-radius: 14px; padding: 1rem 1.2rem; color: var(--sbh-text); }
.sbh-body #order-standard_cart .account-select-container .account, .sbh-body #order-standard_cart .account {
    background: var(--sbh-surface) !important; border: 1px solid var(--sbh-border) !important; color: var(--sbh-text); border-radius: 14px;
}
.sbh-body #order-standard_cart .account.active { border-color: var(--sbh-cyan) !important; background: var(--sbh-surface-2) !important; }
.sbh-body #order-standard_cart .cc-input-container, .sbh-body #order-standard_cart #paymentGatewaysContainer, .sbh-body #order-standard_cart .apply-credit-container {
    background: var(--sbh-surface) !important; border: 1px solid var(--sbh-border) !important; border-radius: 16px; padding: 1rem 1.2rem; color: var(--sbh-text);
}
.sbh-body #order-standard_cart #paymentGatewaysContainer label, .sbh-body #order-standard_cart .radio-inline {
    display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .9rem; margin: .25rem; border-radius: 12px;
    background: var(--sbh-surface-2); border: 1px solid var(--sbh-border); color: var(--sbh-heading);
}
.sbh-body #order-standard_cart .total-due-today.total-due-today-padded { background: var(--sbh-surface); border: 1px solid var(--sbh-border-strong) !important; border-radius: 18px; padding: 1.2rem !important; text-align: center; }
.sbh-body #order-standard_cart .order-summary-tos, .sbh-body #order-standard_cart .checkout-security-msg { color: var(--sbh-muted); background: transparent; }
.sbh-body #order-standard_cart .marketing-email-optin { background: var(--sbh-surface) !important; border: 1px solid var(--sbh-border); border-radius: 14px; color: var(--sbh-text); }

/* Cart products (hosting packages) — premium cards */
.sbh-body #order-standard_cart .products { margin-top: .5rem; }
.sbh-body .sbh-pkg {
    position: relative; display: flex; flex-direction: column; width: 100%;
    border-radius: 24px; padding: 1.8rem 1.6rem 1.6rem; margin: .9rem 0;
    background: var(--sbh-surface); border: 1px solid var(--sbh-border);
    -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
    text-align: left;
}
.sbh-body .sbh-pkg:hover { transform: translateY(-4px); border-color: var(--sbh-border-strong); box-shadow: var(--sbh-shadow); }
.sbh-body .sbh-pkg.is-featured {
    background: linear-gradient(170deg, rgba(255, 181, 71, .16), rgba(255, 255, 255, .04) 45%);
    border-color: rgba(255, 181, 71, .55); box-shadow: 0 30px 80px -40px rgba(255, 181, 71, .7);
}
.sbh-body .sbh-pkg .sbh-plan-flag { top: -12px; }
.sbh-body .sbh-pkg-name { font-family: var(--sbh-font-display); font-size: 1.2rem; font-weight: 700; color: var(--sbh-heading); margin: 0 0 .2rem; }
.sbh-body .sbh-pkg-price { padding: 1rem 0 1.1rem; border-bottom: 1px solid var(--sbh-border); margin-bottom: 1.1rem; }
.sbh-body .sbh-pkg-price .sbh-from { display: block; color: var(--sbh-muted); font-size: .82rem; }
.sbh-body .sbh-pkg-price .price { display: block; font-family: var(--sbh-font-display); font-size: 2.1rem; font-weight: 800; color: var(--sbh-heading) !important; letter-spacing: -.03em; line-height: 1.1; }
.sbh-body .sbh-pkg-price .sbh-cycle { color: var(--sbh-muted); font-size: .92rem; }
.sbh-body .sbh-pkg-price .sbh-setup { display: inline-block; margin-top: .5rem; font-size: .8rem; padding: .2rem .6rem; border-radius: 99px; background: var(--sbh-surface-2); color: var(--sbh-text); }
.sbh-body .sbh-pkg-desc { color: var(--sbh-text); font-size: .94rem; flex: 1; margin-bottom: 1.3rem; }
.sbh-body .sbh-pkg-desc ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.sbh-body .sbh-pkg-desc ul li { position: relative; padding-left: 1.6rem; line-height: 1.45; }
.sbh-body .sbh-pkg-desc ul li::before { content: "\f00c"; font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free"; font-weight: 900; position: absolute; left: 0; top: .1rem; color: var(--sbh-green); font-size: .8rem; }
.sbh-body .sbh-pkg-desc .feature-value, .sbh-body .sbh-pkg-desc strong, .sbh-body .sbh-pkg-desc b { color: var(--sbh-heading); font-weight: 700; }
.sbh-body .sbh-pkg-desc br + br { display: none; }
.sbh-body .sbh-pkg-stock { font-size: .82rem; color: var(--sbh-amber); margin-bottom: .6rem; }
.sbh-body .sbh-pkg .btn-order-now { width: 100%; }
.sbh-body .sbh-pkg.is-featured .btn-order-now { background: var(--sbh-mango) !important; color: var(--sbh-mango-ink) !important; box-shadow: 0 16px 40px -18px rgba(255, 181, 71, .9); }
.sbh-body .sbh-group-features { margin-top: 1.5rem; padding: 1.4rem 1.6rem; border-radius: 20px; background: var(--sbh-surface); border: 1px solid var(--sbh-border); }
.sbh-body .sbh-group-features h6 { font-family: var(--sbh-font-display); color: var(--sbh-heading); margin-bottom: 1rem; }
.sbh-body .sbh-group-features ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .6rem 1rem; }
.sbh-body .sbh-group-features li { display: flex; gap: .55rem; align-items: center; color: var(--sbh-text); }
.sbh-body .sbh-group-features li i { color: var(--sbh-green); }

/* universal_slider order form & legacy product boxes */
.sbh-body .tt-single-product, .sbh-body #order-standard_cart .product, .sbh-body .tt-price-single, .sbh-body .tt-group-featured-wrap {
    background: var(--sbh-surface) !important; border: 1px solid var(--sbh-border) !important; border-radius: 22px !important; color: var(--sbh-text) !important; box-shadow: none !important;
}
.sbh-body .tt-product-price .price, .sbh-body .tt-product-name h5, .sbh-body .tt-product-desc span strong { color: var(--sbh-heading) !important; }
.sbh-body .irs-with-grid, .sbh-body #productConfigurableOptions { color: var(--sbh-text); }

/* Order complete (redesigned template) */
.sbh-done { max-width: 820px; margin: 0 auto; }
.sbh-done-hero { text-align: center; padding: 2.4rem 1.5rem 2rem; border-radius: 26px; background: var(--sbh-surface); border: 1px solid var(--sbh-border-strong); -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur); box-shadow: var(--sbh-shadow); }
.sbh-check { width: 84px; height: 84px; margin: 0 auto 1.2rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(46, 229, 157, .14); border: 1px solid rgba(46, 229, 157, .5); }
.sbh-check svg { width: 42px; height: 42px; }
.sbh-check path { stroke: var(--sbh-green); stroke-width: 3.2; fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 40; stroke-dashoffset: 40; animation: sbhDraw .7s .2s ease forwards; }
@keyframes sbhDraw { to { stroke-dashoffset: 0; } }
.sbh-done-hero h1 { font-size: clamp(1.6rem, 3vw, 2.1rem); font-weight: 800; margin: 0 0 .5rem; }
.sbh-done-hero > p { color: var(--sbh-muted); max-width: 56ch; margin: 0 auto; }
.sbh-ordernum { display: inline-flex; align-items: center; gap: .8rem; margin: 1.5rem 0 0; padding: .7rem .8rem .7rem 1.2rem; border-radius: 16px; background: var(--sbh-surface-2); border: 1px dashed var(--sbh-border-strong); }
.sbh-ordernum span { color: var(--sbh-muted); font-size: .9rem; }
.sbh-ordernum strong { font-family: var(--sbh-font-display); font-size: 1.35rem; color: var(--sbh-heading); letter-spacing: .02em; }
.sbh-ordernum button { border: 1px solid var(--sbh-border); background: var(--sbh-surface); color: var(--sbh-heading); border-radius: 10px; padding: .35rem .7rem; font-size: .82rem; cursor: pointer; }
.sbh-done-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
@media (max-width: 767.98px) { .sbh-done-grid { grid-template-columns: 1fr; } }
.sbh-done-card { padding: 1.4rem; border-radius: 20px; background: var(--sbh-surface); border: 1px solid var(--sbh-border); }
.sbh-done-card h2 { font-size: 1.05rem; font-weight: 700; margin: 0 0 .8rem; }
.sbh-done-card ol { margin: 0; padding-left: 1.2rem; color: var(--sbh-text); display: grid; gap: .5rem; }
.sbh-done-card p { color: var(--sbh-muted); margin: 0 0 1rem; }
.sbh-done-pay { border-color: rgba(255, 181, 71, .5); background: linear-gradient(160deg, rgba(255, 181, 71, .14), rgba(255, 255, 255, .03)); }
.sbh-done-actions { display: flex; gap: .6rem; flex-wrap: wrap; justify-content: center; margin-top: 1.4rem; }

/* ---------- 14. Misc legacy Hostim bits ---------- */
.sbh-body .tt-page-header { display: none; }
.sbh-body .tt-read-more { color: var(--sbh-cyan-ink) !important; font-weight: 600; }
.sbh-body .tt-custom-radius { border-radius: var(--sbh-radius) !important; }
.sbh-body .tt-or-text { color: var(--sbh-muted); }
.sbh-body .providerLinkingFeedback .alert { margin-bottom: 1rem; }
.sbh-body .social-signin-btns .btn, .sbh-body .btn-social { background: var(--sbh-surface-2) !important; color: var(--sbh-heading) !important; border: 1px solid var(--sbh-border-strong) !important; }
.sbh-body .captcha-container, .sbh-body #default-captcha-domainchecker { color: var(--sbh-text); }
.sbh-body .client-alerts li a { color: var(--sbh-text) !important; }
.sbh-body .bg-primary-light { background: var(--sbh-surface-2) !important; }
.sbh-body code, .sbh-body pre { background: var(--sbh-surface-2); color: var(--sbh-cyan-ink); border-radius: 8px; }
.sbh-body .jumbotron { background: var(--sbh-surface) !important; border: 1px solid var(--sbh-border); border-radius: var(--sbh-radius); }
.sbh-body .select2-container--default .select2-selection--single { background: var(--sbh-input-bg); border-color: var(--sbh-border-strong); border-radius: 12px; min-height: 46px; }
.sbh-body .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--sbh-heading); line-height: 44px; }

/* Container width on large screens */
@media (min-width: 1400px) { .sbh-body .container { max-width: 1280px; } }

/* universal_slider order form */
.sbh-body .main-container, .sbh-body .product-container, .sbh-body .price-container, .sbh-body .striped-container, .sbh-body .group-features {
    background: var(--sbh-surface) !important; border: 1px solid var(--sbh-border) !important; border-radius: 18px; color: var(--sbh-text) !important;
}
.sbh-body .group-headlines h2, .sbh-body .product-container .title, .sbh-body .price-cont { color: var(--sbh-heading) !important; font-family: var(--sbh-font-display); }
.sbh-body .product-description, .sbh-body .list-features li { color: var(--sbh-text) !important; }
.sbh-body .order-button { background: var(--sbh-mango) !important; color: var(--sbh-mango-ink) !important; border-radius: 14px; font-weight: 700; border: 0; }
.sbh-body .order-button.unavailable { background: var(--sbh-surface-3) !important; color: var(--sbh-muted) !important; }
.sbh-body .irs--round .irs-bar, .sbh-body .irs-bar { background: var(--sbh-grad-signal) !important; }

/* current page in nav */
.sbh-nav-link[aria-current="page"], .sbh-dd-link[aria-current="page"] { color: var(--sbh-cyan-ink) !important; }
.sbh-body #order-standard_cart .cart-body.col-12 { width: 100%; float: none; max-width: 100%; flex: 0 0 100%; }

.sbh-stat b span { font: inherit; color: inherit; display: inline; }
.sbh-news:has(article:only-child) { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 575.98px) { .sbh-stat > i { display: none; } .sbh-stat b { font-size: 1.15rem; } }
.sbh-body .sbh-pkg-price .price { font-size: clamp(1.6rem, 2.2vw, 2.1rem); overflow-wrap: anywhere; }

/* =====================================================================
   v2 — vivid glass layer: floating colour orbs behind everything
   ===================================================================== */
.sbh-orbs { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.sbh-orbs span { position: absolute; border-radius: 50%; filter: blur(90px); opacity: .55; will-change: transform; animation: sbhFloat 22s ease-in-out infinite alternate; }
.sbh-orbs span:nth-child(1) { width: 560px; height: 560px; left: -160px; top: -120px; background: #2F6BFF; }
.sbh-orbs span:nth-child(2) { width: 520px; height: 520px; right: -140px; top: 18%; background: #9B4DFF; animation-duration: 26s; animation-delay: -6s; }
.sbh-orbs span:nth-child(3) { width: 460px; height: 460px; left: 30%; bottom: -200px; background: #00C2FF; opacity: .35; animation-duration: 30s; animation-delay: -12s; }
.sbh-orbs span:nth-child(4) { width: 300px; height: 300px; right: 25%; top: 55%; background: #FF8A3D; opacity: .22; animation-duration: 24s; }
:root[data-bs-theme="light"] .sbh-orbs span { opacity: .35; }
@keyframes sbhFloat { 0% { transform: translate(0, 0) scale(1); } 50% { transform: translate(60px, 40px) scale(1.08); } 100% { transform: translate(-40px, 80px) scale(.95); } }
@media (max-width: 767.98px) { .sbh-orbs span { filter: blur(70px); transform: scale(.7); } }

/* glass sheen on key cards */
.sbh-sheen { position: relative; }
.sbh-sheen::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(135deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, 0) 38%); }
:root[data-bs-theme="light"] .sbh-sheen::after { background: linear-gradient(135deg, rgba(255, 255, 255, .7), rgba(255, 255, 255, 0) 40%); }

/* ---------- v2 hero: domain search first ---------- */
.sbh-hero2 { padding: 4.5rem 0 3.5rem; text-align: center; }
.sbh-hero2 h1 {
    font-size: clamp(2.2rem, 5.6vw, 4.2rem); font-weight: 800; letter-spacing: -.035em; line-height: 1.06;
    max-width: 16ch; margin: 0 auto 1.1rem; color: var(--sbh-heading);
}
.sbh-hero2 .sbh-sub { color: var(--sbh-muted); font-size: 1.12rem; max-width: 60ch; margin: 0 auto 2rem; }
.sbh-hero2 .sbh-livepill { margin-bottom: 1.4rem; }
.sbh-search {
    max-width: 820px; margin: 0 auto; padding: .6rem; border-radius: 22px;
    background: var(--sbh-surface-2); border: 1px solid var(--sbh-border-strong);
    -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur);
    box-shadow: 0 30px 80px -30px rgba(47, 107, 255, .65), inset 0 1px 0 rgba(255, 255, 255, .18);
}
.sbh-search .sbh-domain-row input.form-control { font-size: 1.1rem; min-height: 58px; }
.sbh-search .sbh-domain-row .btn { min-height: 56px; font-size: 1rem; padding: 0 1.6rem; }
.sbh-hero2 .sbh-tlds { justify-content: center; margin-top: 1.2rem; }
.sbh-hero2 .sbh-tld { background: var(--sbh-surface); -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur); }
.sbh-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 1.6rem; margin-top: 2.2rem; color: var(--sbh-text); font-size: .95rem; }
.sbh-trust span { display: inline-flex; align-items: center; gap: .5rem; }
.sbh-trust i { color: var(--sbh-green); }

/* ---------- v2 package tabs (homepage) ---------- */
.sbh-tabs { display: inline-flex; flex-wrap: wrap; gap: .35rem; padding: .35rem; border-radius: 16px; background: var(--sbh-surface); border: 1px solid var(--sbh-border); -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur); }
.sbh-tabs-wrap { display: flex; justify-content: center; margin-bottom: 2rem; }
.sbh-tab { border: 0; background: transparent; color: var(--sbh-text); font-family: var(--sbh-font-display); font-weight: 600; font-size: .93rem; padding: .6rem 1.1rem; border-radius: 12px; cursor: pointer; transition: background .2s, color .2s; }
.sbh-tab:hover { color: var(--sbh-heading); background: var(--sbh-surface-2); }
.sbh-tab[aria-selected="true"] { background: var(--sbh-grad); color: #fff; box-shadow: var(--sbh-shadow-glow); }
.sbh-pkgs { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 300px)); justify-content: center; gap: 1.4rem 1.2rem; align-items: stretch; padding-top: .6rem; }
@media (max-width: 575.98px) { .sbh-pkgs { grid-template-columns: 1fr; } }
.sbh-pkgs[hidden] { display: none; }
.sbh-pkgs .sbh-pkg { margin: 0; }
.sbh-pkg-loading { grid-column: 1 / -1; text-align: center; color: var(--sbh-muted); padding: 2.5rem 0; }
.sbh-pkg-loading i { margin-right: .5rem; }
.sbh-pkgs-more { text-align: center; margin-top: 1.8rem; }

/* shared card look used on homepage + store */
.sbh-body .sbh-pkg { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14); }
.sbh-body .sbh-pkg-top { display: flex; align-items: center; gap: .8rem; margin-bottom: .2rem; }
.sbh-body .sbh-pkg-ico { width: 46px; height: 46px; flex: none; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: var(--sbh-grad); color: #fff; font-size: 1.1rem; box-shadow: var(--sbh-shadow-glow); }
.sbh-body .sbh-pkg.is-featured .sbh-pkg-ico { background: linear-gradient(135deg, #FFB547, #FF7A3D); box-shadow: 0 14px 40px -16px rgba(255, 150, 60, .9); }
.sbh-body .sbh-pkg-name { margin: 0; }
.sbh-body .sbh-pkg-desc { overflow-wrap: anywhere; }
.sbh-body .sbh-pkg-note { margin-top: .8rem; text-align: center; font-size: .82rem; color: var(--sbh-muted); }

/* ---------- v2 features ---------- */
.sbh-feats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 991.98px) { .sbh-feats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .sbh-feats { grid-template-columns: 1fr; } }
.sbh-feat-card { padding: 1.5rem; border-radius: 20px; background: var(--sbh-surface); border: 1px solid var(--sbh-border); -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur); display: flex; gap: 1rem; align-items: flex-start; }
.sbh-feat-card i { width: 46px; height: 46px; flex: none; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: var(--sbh-surface-2); border: 1px solid var(--sbh-border); color: var(--sbh-cyan-ink); font-size: 1.1rem; }
.sbh-feat-card h3 { font-size: 1.05rem; margin: 0 0 .3rem; font-weight: 700; }
.sbh-feat-card p { margin: 0; color: var(--sbh-muted); font-size: .94rem; }

/* ---------- v2 support system ---------- */
.sbh-support { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 1.2rem; }
@media (max-width: 991.98px) { .sbh-support { grid-template-columns: 1fr; } }
.sbh-support-main {
    padding: 2.2rem; border-radius: 26px; display: flex; flex-direction: column; gap: 1rem;
    background: linear-gradient(150deg, rgba(47, 107, 255, .45), rgba(155, 77, 255, .3) 60%, rgba(0, 194, 255, .15));
    border: 1px solid var(--sbh-border-strong); -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur);
}
.sbh-support-main h3 { font-size: 1.6rem; font-weight: 800; margin: 0; }
.sbh-support-main p { margin: 0; color: var(--sbh-text); }
.sbh-support-main .sbh-online { display: flex; align-items: center; gap: .6rem; font-weight: 600; color: var(--sbh-heading); font-family: var(--sbh-font-display); }
.sbh-support-main .sbh-support-big { font-family: var(--sbh-font-display); font-size: 3.4rem; font-weight: 800; line-height: 1; color: #fff; letter-spacing: -.04em; }
:root[data-bs-theme="light"] .sbh-support-main .sbh-support-big { color: var(--sbh-heading); }
.sbh-support-main .btn { align-self: flex-start; margin-top: auto; }
.sbh-support-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 575.98px) { .sbh-support-grid { grid-template-columns: 1fr; } }
.sbh-support-card {
    display: flex; flex-direction: column; gap: .5rem; padding: 1.4rem; border-radius: 20px;
    background: var(--sbh-surface); border: 1px solid var(--sbh-border); color: var(--sbh-text) !important;
    -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur); transition: border-color .2s, transform .2s;
    text-align: left; font: inherit; cursor: pointer; width: 100%;
}
.sbh-support-card:hover { border-color: var(--sbh-cyan); transform: translateY(-3px); }
.sbh-support-card i { font-size: 1.3rem; color: var(--sbh-cyan-ink); margin-bottom: .3rem; }
.sbh-support-card h4 { font-size: 1.02rem; font-weight: 700; margin: 0; }
.sbh-support-card p { margin: 0; color: var(--sbh-muted); font-size: .92rem; }
.sbh-support-card .sbh-go { margin-top: auto; padding-top: .4rem; }

/* ---------- v2 FAQ grid ---------- */
.sbh-faq2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; }
@media (max-width: 991.98px) { .sbh-faq2 { grid-template-columns: 1fr; } }
.sbh-faq2 .sbh-faq { border-top: 0; }
.sbh-faq details { border-bottom: 1px solid var(--sbh-border); }
.sbh-faq2 details { background: var(--sbh-surface); border: 1px solid var(--sbh-border); border-radius: 16px; padding: 0 1.2rem; margin-bottom: .8rem; -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur); }
.sbh-faq2 details[open] { border-color: rgba(56, 225, 255, .45); }
.sbh-faq2 summary { font-size: .98rem; }

/* ---------- v2 contact ---------- */
.sbh-contact { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 1.4rem; align-items: stretch; }
@media (max-width: 991.98px) { .sbh-contact { grid-template-columns: 1fr; } }
.sbh-contact-info { padding: 2rem; border-radius: 26px; background: var(--sbh-surface); border: 1px solid var(--sbh-border); -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur); display: flex; flex-direction: column; gap: 1.1rem; }
.sbh-contact-info h3 { font-size: 1.5rem; font-weight: 800; margin: 0; }
.sbh-contact-info > p { color: var(--sbh-muted); margin: 0; }
.sbh-contact-item { display: flex; gap: .9rem; align-items: center; padding: .9rem 1rem; border-radius: 16px; background: var(--sbh-surface); border: 1px solid var(--sbh-border); color: var(--sbh-text) !important; }
.sbh-contact-item:hover { border-color: var(--sbh-cyan); }
.sbh-contact-item i { width: 42px; height: 42px; flex: none; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--sbh-grad); color: #fff; }
.sbh-contact-item b { display: block; color: var(--sbh-heading); font-family: var(--sbh-font-display); font-size: .96rem; }
.sbh-contact-item span { color: var(--sbh-muted); font-size: .88rem; }
.sbh-contact-form { padding: 2rem; border-radius: 26px; background: var(--sbh-surface-2); border: 1px solid var(--sbh-border-strong); -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur); box-shadow: var(--sbh-shadow); }
.sbh-contact-form h3 { font-size: 1.3rem; font-weight: 700; margin: 0 0 1.2rem; }
.sbh-contact-form .form-row { margin: 0 -.5rem; }
.sbh-contact-form .form-row > [class*="col"] { padding: 0 .5rem; }
.sbh-contact-form .form-group { margin-bottom: 1rem; }
@media (max-width: 575.98px) { .sbh-contact-info, .sbh-contact-form, .sbh-support-main { padding: 1.4rem; } }

/* ---------- v2 store page (cart products) ---------- */
.sbh-store-hero {
    padding: 2.2rem; border-radius: 26px; margin-bottom: 1.4rem;
    background: linear-gradient(135deg, rgba(47, 107, 255, .35), rgba(155, 77, 255, .22) 60%, rgba(0, 194, 255, .12));
    border: 1px solid var(--sbh-border-strong); -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur);
    display: flex; justify-content: space-between; align-items: flex-end; gap: 1.4rem; flex-wrap: wrap;
}
.sbh-store-hero h2 { font-size: clamp(1.7rem, 3.4vw, 2.5rem) !important; font-weight: 800; margin: 0 0 .5rem; color: var(--sbh-heading); }
.sbh-store-hero p { margin: 0; color: var(--sbh-text); max-width: 60ch; }
.sbh-store-hero .sbh-trust { justify-content: flex-start; margin-top: 1.1rem; }
.sbh-store-hero select.form-control { min-width: 150px; }
.sbh-cats { display: flex; gap: .5rem; overflow-x: auto; padding-bottom: .4rem; margin-bottom: 1.2rem; scrollbar-width: thin; }
.sbh-cats a { flex: none; padding: .55rem 1rem; border-radius: 12px; background: var(--sbh-surface); border: 1px solid var(--sbh-border); color: var(--sbh-text) !important; font-family: var(--sbh-font-display); font-size: .9rem; font-weight: 500; white-space: nowrap; -webkit-backdrop-filter: var(--sbh-blur); backdrop-filter: var(--sbh-blur); }
.sbh-cats a:hover { border-color: var(--sbh-cyan); color: var(--sbh-heading) !important; }
.sbh-cats a.active { background: var(--sbh-grad); color: #fff !important; border-color: transparent; }
.sbh-cats-actions { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 1.6rem; }
.sbh-cats-actions a { font-size: .85rem; color: var(--sbh-muted) !important; padding: .3rem .75rem; border-radius: 99px; border: 1px dashed var(--sbh-border-strong); }
.sbh-cats-actions a:hover { color: var(--sbh-heading) !important; border-color: var(--sbh-cyan); }
.sbh-body #order-standard_cart .sbh-store .products .sbh-pkgs { margin: .6rem 0 0; }
.sbh-assure { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: 1.6rem; }
@media (max-width: 991.98px) { .sbh-assure { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575.98px) { .sbh-assure { grid-template-columns: 1fr; } }
.sbh-assure div { padding: 1.2rem; border-radius: 18px; background: var(--sbh-surface); border: 1px solid var(--sbh-border); display: flex; gap: .8rem; align-items: flex-start; }
.sbh-assure i { color: var(--sbh-cyan-ink); font-size: 1.2rem; margin-top: .2rem; }
.sbh-assure b { display: block; color: var(--sbh-heading); font-family: var(--sbh-font-display); font-size: .95rem; }
.sbh-assure span { color: var(--sbh-muted); font-size: .88rem; }
.sbh-store-faq { margin-top: 2.4rem; }
.sbh-store-faq h3 { font-size: 1.3rem; font-weight: 700; margin-bottom: 1rem; }
.sbh-body #order-standard_cart .sbh-store .sbh-pkg-desc { color: var(--sbh-text); }
.sbh-support-card .sbh-go { color: var(--sbh-cyan-ink); font-weight: 600; font-family: var(--sbh-font-display); font-size: .9rem; }
#news .sbh-head { margin-left: auto; margin-right: auto; text-align: center; }
