/* ==========================================================================
   Persian RTL Theme for WHMCS Nexus
   Built on the Optiwise design system tokens
   ========================================================================== */

@import url('https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/Vazirmatn-font-face.css');

:root {
    /* ── Brand palette (Optiwise) ───────────────────────────── */
    --brand-50:  #EEF2FF;
    --brand-100: #E0E7FF;
    --brand-200: #C7D2FE;
    --brand-300: #A5B4FC;
    --brand-400: #818CF8;
    --brand-500: #6366F1;
    --brand-600: #4F46E5;
    --brand-700: #4338CA;
    --brand-800: #3730A3;
    --violet-400: #A78BFA;
    --violet-500: #8B5CF6;
    --fuchsia-400: #E879F9;
    --fuchsia-500: #D946EF;

    /* Semantic */
    --success-500: #10B981;
    --success-50:  #ECFDF5;
    --warning-500: #F59E0B;
    --warning-50:  #FFFBEB;
    --danger-500:  #EF4444;
    --danger-50:   #FEF2F2;
    --info-500:    #3B82F6;

    /* Surface (light theme) */
    --bg:            #F6F7FB;
    --bg-elevated:   #FFFFFF;
    --surface:       #FFFFFF;
    --surface-2:     #F3F4F8;
    --surface-3:     #ECEEF4;
    --border:        #E5E7EB;
    --border-strong: #D1D5DB;
    --text:          #0F172A;
    --text-muted:    #64748B;
    --text-dim:      #94A3B8;

    --shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);
    --shadow-md: 0 4px 12px rgba(15, 23, 42, .06);
    --shadow-lg: 0 12px 32px rgba(15, 23, 42, .10);

    --hero-grad: linear-gradient(135deg, #6366F1 0%, #8B5CF6 50%, #D946EF 100%);

    /* Radii */
    --r-sm:  8px;
    --r-md:  12px;
    --r-lg:  16px;
    --r-xl:  22px;
    --r-2xl: 28px;
    --r-pill: 9999px;

    /* Motion */
    --ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);

    --pt-font: 'Vazirmatn', -apple-system, system-ui, 'Tahoma', sans-serif;
}

/* ── Base ──────────────────────────────────────────────────── */
html { direction: rtl; }
html, body { background: var(--bg); }

/* Wider container override (1240px) — affects all .container instances
   within the Persian theme so the whole layout gets a bit more breathing room */
body.fa-theme .container,
body.fa-theme .h-container { max-width: 1240px; }
@media (max-width: 1280px) {
    body.fa-theme .container, body.fa-theme .h-container { max-width: 100%; }
}

body.fa-theme {
    font-family: var(--pt-font);
    color: var(--text);
    font-size: 14px;
    line-height: 1.85;
    direction: rtl;
    text-align: right;
    font-feature-settings: 'ss03', 'tnum';
}

body.fa-theme h1, body.fa-theme h2, body.fa-theme h3,
body.fa-theme h4, body.fa-theme h5, body.fa-theme h6 {
    font-family: var(--pt-font);
    font-weight: 700;
    color: var(--text);
    letter-spacing: -0.2px;
}

body.fa-theme a { color: var(--brand-500); text-decoration: none; transition: color 120ms; }
body.fa-theme a:hover { color: var(--brand-600); }

body.fa-theme .mono-latin,
body.fa-theme code, body.fa-theme kbd, body.fa-theme pre, body.fa-theme samp {
    font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    direction: ltr;
    unicode-bidi: isolate;
    display: inline-block;
}

/* ── Bootstrap-4 RTL utility flips ─────────────────────────── */
body.fa-theme .mr-auto { margin-right: 0 !important; margin-left: auto !important; }
body.fa-theme .ml-auto { margin-left: 0 !important; margin-right: auto !important; }
body.fa-theme .text-left  { text-align: right !important; }
body.fa-theme .text-right { text-align: left  !important; }
body.fa-theme .float-left  { float: right !important; }
body.fa-theme .float-right { float: left  !important; }
body.fa-theme .float-sm-right, body.fa-theme .float-md-right, body.fa-theme .float-lg-right { float: left !important; }
body.fa-theme .float-sm-left, body.fa-theme .float-md-left, body.fa-theme .float-lg-left { float: right !important; }

body.fa-theme .pl-1, body.fa-theme .pl-2, body.fa-theme .pl-3, body.fa-theme .pl-4, body.fa-theme .pl-5 { padding-left: 0 !important; }
body.fa-theme .pr-1, body.fa-theme .pr-2, body.fa-theme .pr-3, body.fa-theme .pr-4, body.fa-theme .pr-5 { padding-right: 0 !important; }
body.fa-theme .pl-1 { padding-right: .25rem !important; }
body.fa-theme .pl-2 { padding-right: .5rem  !important; }
body.fa-theme .pl-3 { padding-right: 1rem   !important; }
body.fa-theme .pl-4 { padding-right: 1.5rem !important; }
body.fa-theme .pl-5 { padding-right: 3rem   !important; }
body.fa-theme .pr-1 { padding-left: .25rem !important; }
body.fa-theme .pr-2 { padding-left: .5rem  !important; }
body.fa-theme .pr-3 { padding-left: 1rem   !important; }
body.fa-theme .pr-4 { padding-left: 1.5rem !important; }
body.fa-theme .pr-5 { padding-left: 3rem   !important; }

body.fa-theme .ml-1 { margin-right: .25rem !important; margin-left: 0 !important; }
body.fa-theme .ml-2 { margin-right: .5rem  !important; margin-left: 0 !important; }
body.fa-theme .ml-3 { margin-right: 1rem   !important; margin-left: 0 !important; }
body.fa-theme .ml-4 { margin-right: 1.5rem !important; margin-left: 0 !important; }
body.fa-theme .ml-5 { margin-right: 3rem   !important; margin-left: 0 !important; }
body.fa-theme .mr-1 { margin-left: .25rem !important; margin-right: 0 !important; }
body.fa-theme .mr-2 { margin-left: .5rem  !important; margin-right: 0 !important; }
body.fa-theme .mr-3 { margin-left: 1rem   !important; margin-right: 0 !important; }
body.fa-theme .mr-4 { margin-left: 1.5rem !important; margin-right: 0 !important; }
body.fa-theme .mr-5 { margin-left: 3rem   !important; margin-right: 0 !important; }

/* Input-group prepend/append flips in RTL */
body.fa-theme .input-group > .input-group-prepend > .input-group-text,
body.fa-theme .input-group > .input-group-prepend > .btn { border-radius: 0 var(--r-md) var(--r-md) 0 !important; }
body.fa-theme .input-group > .input-group-append > .input-group-text,
body.fa-theme .input-group > .input-group-append > .btn { border-radius: var(--r-md) 0 0 var(--r-md) !important; }
body.fa-theme .input-group > .form-control:not(:first-child) { border-radius: var(--r-md) 0 0 var(--r-md) !important; }
body.fa-theme .input-group > .form-control:not(:last-child)  { border-radius: 0 var(--r-md) var(--r-md) 0 !important; }
body.fa-theme .input-group > .form-control:not(:first-child):not(:last-child) { border-radius: 0 !important; }

/* Dropdown alignment */
body.fa-theme .dropdown-menu { text-align: right; right: 0; left: auto; }
body.fa-theme .dropdown-menu-right { right: auto; left: 0; }

/* ── Header / Top bar ──────────────────────────────────────── */
body.fa-theme #header.header {
    background: var(--surface);
    box-shadow: var(--shadow-sm);
    border-bottom: 1px solid var(--border);
}

body.fa-theme .topbar {
    background: var(--hero-grad);
    color: #fff;
    padding: 8px 0;
    font-size: 12.5px;
}
body.fa-theme .topbar .btn { color: #fff; padding: 5px 12px; border: none; background: transparent; border-radius: 8px; }
body.fa-theme .topbar .btn:hover { background: rgba(255, 255, 255, .15); }
body.fa-theme .topbar .input-group-text {
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, .85);
    padding: 0 8px;
}
body.fa-theme .topbar .active-client { align-items: center; }
body.fa-theme .topbar .btn-active-client {
    background: rgba(255, 255, 255, .18);
    color: #fff !important;
    border-radius: 8px;
    font-weight: 600;
    padding: 5px 12px;
}
body.fa-theme .topbar .btn-active-client:hover { background: rgba(255, 255, 255, .28); }

/* Navbar */
body.fa-theme .navbar { padding: .75rem 0; }
body.fa-theme .navbar-brand {
    font-weight: 800;
    font-size: 22px;
    color: var(--brand-600);
    background: var(--hero-grad);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
body.fa-theme .navbar-brand img.logo-img { max-height: 42px; -webkit-text-fill-color: initial; }

body.fa-theme .toolbar .nav-link {
    color: var(--text);
    padding: .5rem .75rem;
    border-radius: 10px;
    transition: background 120ms, color 120ms;
}
body.fa-theme .toolbar .nav-link:hover { background: var(--brand-50); color: var(--brand-600); }
body.fa-theme .toolbar .cart-btn { position: relative; }
body.fa-theme .toolbar .cart-btn .badge {
    position: absolute;
    top: 2px; left: 2px;
    background: var(--fuchsia-500);
    color: #fff;
    border-radius: 999px;
    min-width: 18px; height: 18px;
    line-height: 18px;
    padding: 0 5px;
    font-size: 10.5px;
    font-weight: 700;
}

body.fa-theme .main-navbar-wrapper {
    background: var(--surface);
    border-top: 1px solid var(--border);
}
body.fa-theme .main-navbar-wrapper .nav-link {
    color: var(--text);
    font-weight: 500;
    padding: .9rem 1.1rem;
    border-bottom: 3px solid transparent;
    transition: color 120ms, border-color 120ms;
}
body.fa-theme .main-navbar-wrapper .nav-link:hover,
body.fa-theme .main-navbar-wrapper .nav-link.active {
    color: var(--brand-600);
    border-bottom-color: var(--brand-500);
}
body.fa-theme .main-navbar-wrapper .dropdown-toggle::after {
    margin-right: .35rem;
    margin-left: 0;
}

/* Search */
body.fa-theme .navbar form .input-group.search {
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    background: var(--surface-2);
    overflow: hidden;
}
body.fa-theme .navbar form .input-group.search .form-control,
body.fa-theme .navbar form .input-group.search .btn {
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
}
body.fa-theme .navbar form .input-group.search .btn { color: var(--brand-500); padding: .5rem .75rem; }
body.fa-theme .navbar form .input-group.search .form-control { padding: .5rem .75rem; font-size: 13px; }

/* ── Breadcrumb ────────────────────────────────────────────── */
body.fa-theme .master-breadcrumb { background: transparent; padding: 14px 0 0; }
body.fa-theme .breadcrumb { background: transparent; padding: 0; margin: 0; font-size: 12.5px; }
body.fa-theme .breadcrumb-item + .breadcrumb-item::before {
    content: "‹";
    padding: 0 8px;
    color: var(--text-dim);
}
body.fa-theme .breadcrumb-item a { color: var(--text-muted); }
body.fa-theme .breadcrumb-item.active { color: var(--text); font-weight: 600; }

/* ── Main body ─────────────────────────────────────────────── */
body.fa-theme #main-body { padding: 22px 0 60px; min-height: 60vh; }
body.fa-theme .primary-content > h1,
body.fa-theme .primary-content > .page-header h1 {
    font-size: 22px;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
}

/* ── Cards / Panels ────────────────────────────────────────── */
body.fa-theme .card,
body.fa-theme .panel {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-sm);
    margin-bottom: 1rem;
}
body.fa-theme .card-header,
body.fa-theme .panel-heading {
    background: transparent;
    border-bottom: 1px solid var(--border);
    padding: .9rem 1.1rem;
    font-weight: 700;
    color: var(--text);
    border-radius: var(--r-lg) var(--r-lg) 0 0;
}
body.fa-theme .card-body,
body.fa-theme .panel-body { padding: 1.1rem; }
body.fa-theme .card-footer { background: transparent; border-top: 1px solid var(--border); padding: .9rem 1.1rem; }

/* ── Buttons ───────────────────────────────────────────────── */
body.fa-theme .btn {
    border-radius: var(--r-md);
    font-weight: 600;
    padding: .55rem 1.1rem;
    transition: transform 80ms, box-shadow 150ms, background 150ms, border-color 150ms, color 150ms;
    border-width: 1px;
    font-size: 13.5px;
    line-height: 1.5;
}
body.fa-theme .btn:active { transform: scale(0.97); }
body.fa-theme .btn:focus { box-shadow: 0 0 0 4px rgba(99, 102, 241, .18); outline: none; }

body.fa-theme .btn-primary {
    background: var(--brand-500);
    border-color: var(--brand-500);
    color: #fff;
    box-shadow: 0 4px 14px rgba(99, 102, 241, .25);
}
body.fa-theme .btn-primary:hover { background: var(--brand-600); border-color: var(--brand-600); }

body.fa-theme .btn-success {
    background: var(--success-500);
    border-color: var(--success-500);
    color: #fff;
}
body.fa-theme .btn-success:hover { background: #059669; border-color: #059669; }

body.fa-theme .btn-danger { background: var(--danger-500); border-color: var(--danger-500); color: #fff; }
body.fa-theme .btn-warning { background: var(--warning-500); border-color: var(--warning-500); color: #fff; }
body.fa-theme .btn-info { background: var(--info-500); border-color: var(--info-500); color: #fff; }

body.fa-theme .btn-outline-primary {
    color: var(--brand-500);
    border-color: var(--brand-500);
    background: transparent;
}
body.fa-theme .btn-outline-primary:hover { background: var(--brand-500); color: #fff; border-color: var(--brand-500); }

body.fa-theme .btn-default,
body.fa-theme .btn-secondary {
    background: var(--surface);
    border-color: var(--border);
    color: var(--text);
}
body.fa-theme .btn-default:hover,
body.fa-theme .btn-secondary:hover {
    background: var(--surface-2);
    color: var(--text);
    border-color: var(--border-strong);
}

/* Light/outline-light buttons on the hero — make text VISIBLE */
body.fa-theme .btn-light {
    background: #fff;
    color: var(--brand-600);
    border-color: #fff;
}
body.fa-theme .btn-light:hover { background: var(--brand-50); color: var(--brand-700); border-color: var(--brand-50); }
body.fa-theme .btn-outline-light {
    background: transparent;
    color: #fff !important;
    border-color: rgba(255, 255, 255, .65);
}
body.fa-theme .btn-outline-light:hover {
    background: rgba(255, 255, 255, .15);
    color: #fff !important;
    border-color: #fff;
}

/* ── Forms ─────────────────────────────────────────────────── */
body.fa-theme .form-control {
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    padding: .65rem .9rem;
    font-family: var(--pt-font);
    background: var(--surface-2);
    color: var(--text);
    font-size: 14px;
    transition: border-color 120ms, box-shadow 120ms, background 120ms;
}
body.fa-theme .form-control:focus {
    border-color: var(--brand-500);
    background: var(--surface);
    box-shadow: 0 0 0 4px rgba(99, 102, 241, .12);
    outline: none;
}
body.fa-theme .form-control::placeholder { color: var(--text-dim); }
body.fa-theme .form-control[dir="ltr"], body.fa-theme .form-control.mono-latin { font-family: 'JetBrains Mono', ui-monospace, monospace; }

body.fa-theme label, body.fa-theme .control-label {
    font-weight: 600;
    color: var(--text);
    margin-bottom: .35rem;
    font-size: 13px;
}
body.fa-theme .input-group-text {
    background: var(--surface-2);
    border: 1px solid var(--border);
    color: var(--text-muted);
}
body.fa-theme select.form-control { padding-left: 1.8rem; padding-right: .9rem; }

/* Custom-file (file uploads) */
body.fa-theme .custom-file-label {
    background: var(--surface-2);
    border-color: var(--border);
    color: var(--text-muted);
    text-align: right;
    border-radius: var(--r-md);
}
body.fa-theme .custom-file-label::after {
    background: var(--surface-3);
    color: var(--text);
    right: auto; left: 0;
    border-radius: var(--r-md) 0 0 var(--r-md);
    content: "انتخاب";
}

/* ── Tables ────────────────────────────────────────────────── */
body.fa-theme .table {
    background: transparent;
    color: var(--text);
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: 0;
}
body.fa-theme .table thead th {
    background: var(--surface-2);
    color: var(--text);
    font-weight: 700;
    border-bottom: 1px solid var(--border);
    border-top: none;
    text-align: right;
    padding: .85rem 1rem;
    font-size: 12.5px;
    letter-spacing: 0;
}
body.fa-theme .table tbody td {
    padding: .85rem 1rem;
    border-top: 1px solid var(--border);
    vertical-align: middle;
    font-size: 13.5px;
}
body.fa-theme .table-hover tbody tr { transition: background 120ms; }
body.fa-theme .table-hover tbody tr:hover { background: var(--brand-50); }

/* DataTables wrapper polish */
body.fa-theme .dataTables_wrapper .dataTables_filter input,
body.fa-theme .dataTables_wrapper .dataTables_length select {
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    padding: .35rem .65rem;
    background: var(--surface);
}
body.fa-theme .dataTables_wrapper .dataTables_filter { margin-bottom: 10px; }
body.fa-theme .dataTables_paginate .paginate_button {
    border-radius: var(--r-sm) !important;
    border: 1px solid var(--border) !important;
    margin: 0 2px !important;
    color: var(--text) !important;
    padding: .35rem .7rem !important;
}
body.fa-theme .dataTables_paginate .paginate_button.current {
    background: var(--brand-500) !important;
    color: #fff !important;
    border-color: var(--brand-500) !important;
}

/* ── Badges / Status pills ─────────────────────────────────── */
body.fa-theme .badge,
body.fa-theme .label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
    padding: .35em .75em;
    border-radius: var(--r-pill);
    font-size: 11.5px;
    line-height: 1.5;
}
body.fa-theme .badge-success, body.fa-theme .label-success { background: rgba(16, 185, 129, .14); color: var(--success-500); }
body.fa-theme .badge-danger,  body.fa-theme .label-danger  { background: rgba(239, 68, 68, .12); color: var(--danger-500); }
body.fa-theme .badge-warning, body.fa-theme .label-warning { background: rgba(245, 158, 11, .14); color: #b97509; }
body.fa-theme .badge-info,    body.fa-theme .label-info    { background: rgba(99, 102, 241, .12); color: var(--brand-600); }
body.fa-theme .badge-secondary, body.fa-theme .label-default { background: var(--surface-3); color: var(--text-muted); }

/* ── Alerts ────────────────────────────────────────────────── */
body.fa-theme .alert {
    border-radius: var(--r-md);
    border: 1px solid transparent;
    padding: .9rem 1.1rem;
    font-size: 13.5px;
}
body.fa-theme .alert-success { background: var(--success-50); border-color: rgba(16, 185, 129, .25); color: #065f46; }
body.fa-theme .alert-danger  { background: var(--danger-50);  border-color: rgba(239, 68, 68, .25); color: #991b1b; }
body.fa-theme .alert-warning { background: var(--warning-50); border-color: rgba(245, 158, 11, .25); color: #92400e; }
body.fa-theme .alert-info    { background: var(--brand-50);   border-color: rgba(99, 102, 241, .25); color: var(--brand-700); }

/* ── Sidebar ───────────────────────────────────────────────── */
/* .sidebar is just a wrapper now — no border. Each child .card-sidebar
   carries its own border so we don't get a double-border effect. */
body.fa-theme .sidebar {
    background: transparent;
    border: none;
    padding: 0;
    margin-bottom: 1rem;
    box-shadow: none;
}
body.fa-theme .sidebar .card,
body.fa-theme .card-sidebar {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-sm);
    margin-bottom: 14px;
    overflow: hidden;
}
body.fa-theme .sidebar .card-header,
body.fa-theme .card-sidebar .card-header {
    background: transparent;
    border-bottom: 1px solid var(--border);
    padding: 12px 16px;
    font-size: 13px;
    font-weight: 700;
    color: var(--text);
}
body.fa-theme .sidebar .card-title,
body.fa-theme .card-sidebar .card-title { font-size: 13px; font-weight: 700; margin: 0; display: flex; align-items: center; gap: 8px; }
body.fa-theme .card-title .card-minimise { margin-right: auto; cursor: pointer; color: var(--text-dim); font-size: 11px; }
body.fa-theme .card-title .badge { font-size: 10.5px; }
body.fa-theme .sidebar .collapsable-card-body { padding: 6px; }
body.fa-theme .sidebar .card-body { padding: 8px 6px; }

body.fa-theme .sidebar .panel-heading,
body.fa-theme .sidebar .list-group-item-heading {
    font-weight: 700;
    color: var(--text-muted);
    padding: .25rem .5rem .65rem;
    border-bottom: 1px solid var(--border);
    margin-bottom: .35rem;
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
}
body.fa-theme .sidebar .list-group { border: none; }
body.fa-theme .sidebar .list-group-item {
    border: none !important;
    border-radius: 9px;
    padding: 9px 12px;
    color: var(--text);
    background: transparent;
    font-size: 13px;
    margin: 2px 4px;
    transition: background 120ms, color 120ms;
}
body.fa-theme .sidebar .list-group-item:hover {
    background: var(--surface-2);
    color: var(--brand-600);
}
body.fa-theme .sidebar .list-group-item.active {
    background: linear-gradient(90deg, rgba(99, 102, 241, .13), rgba(217, 70, 239, .06));
    color: var(--brand-700);
}
body.fa-theme .sidebar .list-group-item i,
body.fa-theme .sidebar .list-group-item svg { margin-left: 8px; margin-right: 0; width: 16px; text-align: center; flex-shrink: 0; }
body.fa-theme .sidebar .sidebar-menu-item-wrapper {
    display: flex; align-items: center; gap: 8px;
}
body.fa-theme .sidebar .sidebar-menu-item-icon-wrapper { width: 18px; flex-shrink: 0; color: var(--text-muted); }
body.fa-theme .sidebar .list-group-item.active .sidebar-menu-item-icon-wrapper { color: var(--brand-500); }
body.fa-theme .sidebar .sidebar-menu-item-label { flex: 1; min-width: 0; }
body.fa-theme .sidebar .sidebar-menu-item-badge { margin-right: auto; }

/* ── Hero (homepage) ───────────────────────────────────────── */
body.fa-theme .pt-hero {
    position: relative;
    background: var(--hero-grad);
    color: #fff;
    padding: 72px 0 100px;
    border-radius: 0 0 var(--r-xl) var(--r-xl);
    margin-bottom: 24px;
    overflow: hidden;
}
body.fa-theme .pt-hero::before {
    content: "";
    position: absolute;
    top: -120px; right: -120px;
    width: 360px; height: 360px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
}
body.fa-theme .pt-hero::after {
    content: "";
    position: absolute;
    bottom: -150px; left: -100px;
    width: 320px; height: 320px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .06);
}
body.fa-theme .pt-hero > .container { position: relative; z-index: 2; }
body.fa-theme .pt-hero h1 {
    color: #fff;
    font-size: 40px;
    font-weight: 800;
    line-height: 1.4;
    margin-bottom: 16px;
    letter-spacing: -0.5px;
    background: linear-gradient(135deg, #fff 0%, #C7D2FE 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
body.fa-theme .pt-hero p.lead {
    color: rgba(255, 255, 255, .85);
    font-size: 16px;
    line-height: 2;
    margin-bottom: 28px;
}
body.fa-theme .pt-hero .btn { padding: .8rem 1.7rem; font-size: 14px; }

/* Domain search */
body.fa-theme .pt-domain-search {
    background: #fff;
    border-radius: var(--r-lg);
    padding: 14px;
    box-shadow: var(--shadow-lg);
    margin-top: -50px;
    position: relative;
    z-index: 5;
    border: 1px solid var(--border);
}
body.fa-theme .pt-domain-search .form-control {
    border: none;
    background: transparent;
    font-size: 15px;
    padding: .9rem 1rem;
}
body.fa-theme .pt-domain-search .form-control:focus {
    box-shadow: none;
    background: var(--surface-2);
}
body.fa-theme .pt-domain-search .btn { padding: .85rem 1.5rem; font-size: 14px; }
body.fa-theme .pt-domain-search .btn-success { background: var(--success-500); border-color: var(--success-500); }
body.fa-theme .pt-tld-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
    justify-content: center;
}
body.fa-theme .pt-tld-list .tld-item {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--r-pill);
    padding: 5px 14px;
    font-size: 12px;
    color: var(--text-muted);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
body.fa-theme .pt-tld-list .tld-item b { color: var(--brand-600); font-weight: 700; }

/* ── Section + feature/price cards ─────────────────────────── */
body.fa-theme .pt-section { padding: 36px 0; }
body.fa-theme .pt-section-title { text-align: center; margin-bottom: 32px; }
body.fa-theme .pt-section-title h2 { font-size: 26px; font-weight: 800; margin-bottom: 8px; letter-spacing: -0.4px; }
body.fa-theme .pt-section-title p { color: var(--text-muted); font-size: 14px; max-width: 580px; margin: 0 auto; line-height: 2; }

body.fa-theme .pt-feature-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    padding: 26px 22px;
    text-align: center;
    transition: transform 200ms var(--ease-out), box-shadow 200ms var(--ease-out), border-color 200ms;
    height: 100%;
    color: var(--text);
}
body.fa-theme .pt-feature-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
    border-color: var(--brand-200);
}
body.fa-theme .pt-feature-card .icon {
    width: 56px; height: 56px;
    border-radius: 14px;
    background: var(--brand-50);
    color: var(--brand-500);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: 14px;
    transition: background 200ms, color 200ms;
}
body.fa-theme .pt-feature-card:hover .icon { background: var(--hero-grad); color: #fff; }
body.fa-theme .pt-feature-card h3 { font-size: 16px; margin-bottom: 6px; font-weight: 700; }
body.fa-theme .pt-feature-card p { color: var(--text-muted); font-size: 13px; margin: 0; line-height: 1.9; }

/* ── Dashboard summary cards ───────────────────────────────── */
body.fa-theme .pt-summary-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    transition: transform 150ms, box-shadow 150ms;
    color: var(--text);
    height: 100%;
}
body.fa-theme .pt-summary-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); color: var(--text); }
body.fa-theme .pt-summary-card .icon {
    width: 52px; height: 52px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex: 0 0 52px;
}
body.fa-theme .pt-summary-card .icon.bg-primary { background: rgba(99, 102, 241, .12); color: var(--brand-500); }
body.fa-theme .pt-summary-card .icon.bg-success { background: rgba(16, 185, 129, .14); color: var(--success-500); }
body.fa-theme .pt-summary-card .icon.bg-warning { background: rgba(245, 158, 11, .14); color: var(--warning-500); }
body.fa-theme .pt-summary-card .icon.bg-danger  { background: rgba(239, 68, 68, .12); color: var(--danger-500); }
body.fa-theme .pt-summary-card .meta { flex: 1; min-width: 0; }
body.fa-theme .pt-summary-card .meta .num { font-size: 22px; font-weight: 800; color: var(--text); line-height: 1.2; }
body.fa-theme .pt-summary-card .meta .lbl { font-size: 12.5px; color: var(--text-muted); margin-top: 2px; }

/* ── Auth (login / register) ───────────────────────────────── */
body.fa-theme .pt-auth-wrapper {
    min-height: calc(100vh - 320px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 0;
}
body.fa-theme .pt-auth-card {
    background: var(--surface);
    border-radius: var(--r-xl);
    box-shadow: var(--shadow-lg);
    padding: 32px;
    max-width: 460px;
    width: 100%;
    border: 1px solid var(--border);
}
body.fa-theme .pt-auth-card h2 { font-size: 22px; text-align: center; margin-bottom: 6px; font-weight: 800; }
body.fa-theme .pt-auth-card .sub { text-align: center; color: var(--text-muted); margin-bottom: 24px; font-size: 13.5px; }
body.fa-theme .pt-auth-card .icon-circle {
    width: 64px; height: 64px;
    border-radius: var(--r-lg);
    background: var(--brand-50);
    color: var(--brand-500);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 28px;
    margin: 0 auto 4px;
}
/* Hide the awkward recaptcha "ضروری" tooltip overflowing */
body.fa-theme .grecaptcha-badge { right: auto !important; left: 4px !important; opacity: .9; }

/* ── Invoice ───────────────────────────────────────────────── */
body.fa-theme .invoice-container { max-width: 980px; }
body.fa-theme .pt-invoice-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    border-radius: var(--r-pill);
    font-weight: 700;
    font-size: 13px;
    line-height: 1.4;
}
body.fa-theme .pt-invoice-status::before {
    content: '';
    width: 6px; height: 6px; border-radius: 50%;
    background: currentColor;
}
body.fa-theme .pt-invoice-summary {
    background: var(--surface-2);
    border-radius: var(--r-md);
    padding: 16px;
    border: 1px dashed var(--border-strong);
    height: 100%;
    font-size: 13px;
}
body.fa-theme .pt-invoice-summary strong {
    display: block;
    font-size: 12px;
    color: var(--text-muted);
    margin-bottom: 8px;
    letter-spacing: .04em;
    text-transform: uppercase;
    font-weight: 700;
}
body.fa-theme .pt-invoice-summary address {
    margin: 0;
    line-height: 1.9;
    color: var(--text);
}

/* Invoice items table (line items) */
body.fa-theme .invoice-container .table thead th {
    background: var(--surface-2);
    font-size: 12.5px;
    letter-spacing: .03em;
    color: var(--text-muted);
    text-transform: uppercase;
    border-bottom: 1px solid var(--border);
}
body.fa-theme .invoice-container .table tbody td {
    font-size: 13.5px;
    color: var(--text);
}
body.fa-theme .invoice-container .table tbody tr:last-child td {
    border-top: 2px solid var(--border-strong);
    background: var(--surface-2);
    font-weight: 700;
}
body.fa-theme .invoice-container .table tbody tr:last-child td strong {
    color: var(--brand-700);
    font-size: 15px;
}

/* ── Footer ────────────────────────────────────────────────── */
body.fa-theme #footer.footer {
    background: #0F172A;
    color: rgba(255, 255, 255, .78);
    padding: 40px 0 18px;
    margin-top: 60px;
}
body.fa-theme #footer.footer a { color: rgba(255, 255, 255, .82); transition: color 120ms; }
body.fa-theme #footer.footer a:hover { color: #fff; }
body.fa-theme #footer h5 { color: #fff; font-weight: 700; font-size: 14px; }
body.fa-theme #footer .copyright {
    border-top: 1px solid rgba(255, 255, 255, .10);
    padding-top: 14px;
    margin-top: 22px;
    text-align: center;
    font-size: 12.5px;
    color: rgba(255, 255, 255, .55);
}

/* ── FontAwesome glyph isolation (don't reverse icons) ──────── */
body.fa-theme i[class^="fa"], body.fa-theme i[class*=" fa"] {
    direction: ltr;
    display: inline-block;
    unicode-bidi: isolate;
}

/* ── Modals ────────────────────────────────────────────────── */
body.fa-theme .modal-content {
    border-radius: var(--r-xl);
    border: none;
    box-shadow: var(--shadow-lg);
}
body.fa-theme .modal-header { border-bottom: 1px solid var(--border); padding: 1.1rem 1.3rem; }
body.fa-theme .modal-header .close { margin: -1rem auto -1rem -1rem; }
body.fa-theme .modal-footer { border-top: 1px solid var(--border); }

/* ── Pagination ────────────────────────────────────────────── */
body.fa-theme .pagination .page-link {
    color: var(--text);
    border: 1px solid var(--border);
    margin: 0 2px;
    border-radius: var(--r-sm) !important;
    padding: .4rem .75rem;
    font-size: 13px;
}
body.fa-theme .pagination .page-item.active .page-link {
    background: var(--brand-500);
    border-color: var(--brand-500);
    color: #fff;
}

/* ── Tile + miscellaneous Nexus helpers ────────────────────── */
body.fa-theme .tiles { display: none; } /* legacy tiles disabled in favor of pt-summary-card */
body.fa-theme .view-ticket .star { cursor: pointer; color: var(--border-strong); }
body.fa-theme .view-ticket .star.active { color: var(--warning-500); }

/* ── Order form (standard_cart) — Optiwise styled ──────────── */
body.fa-theme #order-standard_cart { color: var(--text); }

body.fa-theme #order-standard_cart .header-lined {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    padding: 18px 22px;
    margin-bottom: 22px;
    box-shadow: var(--shadow-sm);
}
body.fa-theme #order-standard_cart .header-lined h1,
body.fa-theme #order-standard_cart .header-lined h2 {
    font-size: 24px !important;
    margin: 0 0 4px;
    font-weight: 800;
    color: var(--text);
}
body.fa-theme #order-standard_cart .header-lined p {
    color: var(--text-muted);
    margin: 0;
    font-size: 14px;
}

/* Sidebar (categories nav for shop) */
body.fa-theme #order-standard_cart .cart-sidebar { padding-left: 0; padding-right: 0; }
body.fa-theme #order-standard_cart .list-group-item {
    background: transparent;
    border: none;
    border-radius: 9px;
    margin-bottom: 3px;
    padding: .55rem .85rem;
    color: var(--text);
    font-size: 13px;
    transition: background 120ms, color 120ms;
}
body.fa-theme #order-standard_cart .list-group-item:hover { background: var(--surface-2); color: var(--brand-600); }
body.fa-theme #order-standard_cart .list-group-item.active {
    background: linear-gradient(90deg, rgba(99, 102, 241, .13), rgba(217, 70, 239, .06));
    color: var(--brand-700);
    border: none;
}
body.fa-theme #order-standard_cart .list-group-item i { margin-left: 8px; margin-right: 0; width: 16px; text-align: center; }

/* Product cards — equal sized, proper RTL */
body.fa-theme #order-standard_cart .products .row,
body.fa-theme #order-standard_cart .products .row-eq-height {
    display: flex !important;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
body.fa-theme #order-standard_cart .products .row > [class*="col-"] {
    display: flex;
    margin-bottom: 18px;
}
body.fa-theme #order-standard_cart .product {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    padding: 22px 22px 18px;
    margin: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    text-align: right;
    box-shadow: var(--shadow-sm);
    transition: transform 200ms var(--ease-out), box-shadow 200ms var(--ease-out), border-color 200ms;
    min-height: 320px;
}
body.fa-theme #order-standard_cart .product:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: var(--brand-200);
}
body.fa-theme #order-standard_cart .product > header {
    border: none;
    padding: 0 0 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--border);
    font-size: 18px;
    font-weight: 800;
    color: var(--text);
    background: transparent;
    line-height: 1.6;
    text-align: right;
}
body.fa-theme #order-standard_cart .product > header .qty {
    float: left;
    font-size: 11.5px;
    font-weight: 600;
    background: rgba(16, 185, 129, .14);
    color: var(--success-500);
    padding: 3px 9px;
    border-radius: var(--r-pill);
}
body.fa-theme #order-standard_cart .product .product-desc {
    flex: 1;
    color: var(--text-muted);
    font-size: 13px;
    line-height: 2;
    margin-bottom: 14px;
}
body.fa-theme #order-standard_cart .product .product-desc p { margin: 0 0 10px; }
body.fa-theme #order-standard_cart .product .product-desc ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
body.fa-theme #order-standard_cart .product .product-desc ul li {
    padding: 6px 0;
    color: var(--text);
    font-size: 13px;
    border-bottom: 1px dashed var(--border);
    position: relative;
    padding-right: 22px;
}
body.fa-theme #order-standard_cart .product .product-desc ul li::before {
    content: "\f00c";
    font-family: "Font Awesome 5 Free", "Font Awesome 5 Pro", "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    right: 0;
    top: 6px;
    color: var(--success-500);
    font-size: 11px;
}
body.fa-theme #order-standard_cart .product .product-desc ul li:last-child { border-bottom: none; }
body.fa-theme #order-standard_cart .product .product-desc ul li .feature-value {
    font-weight: 700;
    color: var(--text);
    margin-left: 6px;
}
body.fa-theme #order-standard_cart .product > footer {
    border: none;
    background: transparent;
    padding: 14px 0 0;
    margin-top: auto;
    border-top: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    text-align: center;
}
body.fa-theme #order-standard_cart .product .product-pricing {
    color: var(--text-muted);
    font-size: 12.5px;
    line-height: 1.6;
    text-align: center;
}
body.fa-theme #order-standard_cart .product .product-pricing .price {
    display: block;
    color: var(--brand-600);
    font-size: 26px;
    font-weight: 800;
    font-feature-settings: 'tnum';
    margin: 4px 0;
    direction: rtl;
    unicode-bidi: plaintext;
}
body.fa-theme #order-standard_cart .product .product-pricing small {
    color: var(--text-dim);
    font-size: 11.5px;
    display: block;
    margin-top: 4px;
}
body.fa-theme #order-standard_cart .product .btn-order-now,
body.fa-theme #order-standard_cart .product a.btn-success {
    background: var(--brand-500);
    border-color: var(--brand-500);
    color: #fff;
    border-radius: var(--r-md);
    padding: .65rem 1.1rem;
    font-weight: 600;
    font-size: 13.5px;
    box-shadow: 0 4px 14px rgba(99, 102, 241, .25);
    transition: all 150ms var(--ease-out);
}
body.fa-theme #order-standard_cart .product .btn-order-now:hover,
body.fa-theme #order-standard_cart .product a.btn-success:hover {
    background: var(--brand-600);
    border-color: var(--brand-600);
    transform: translateY(-1px);
}
body.fa-theme #order-standard_cart .product .btn-order-now i { margin-left: 6px; margin-right: 0; }

/* Cart "view cart" totals area */
body.fa-theme #order-standard_cart .order-summary,
body.fa-theme #order-standard_cart .total-due-today {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    padding: 18px;
    box-shadow: var(--shadow-sm);
}
body.fa-theme #order-standard_cart .total-due-today .amount {
    font-weight: 800;
    color: var(--brand-600);
    font-size: 22px;
}

body.fa-theme #order-standard_cart .config-option {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    padding: 14px;
    margin-bottom: 12px;
}
body.fa-theme #order-standard_cart .config-option label { font-weight: 600; }

/* Promo code box */
body.fa-theme #order-standard_cart .promo-code,
body.fa-theme #order-standard_cart #containerPromotionCode {
    background: var(--brand-50);
    border: 1px dashed var(--brand-300);
    border-radius: var(--r-md);
    padding: 14px;
    color: var(--brand-700);
}

/* Domain renewal / search blocks */
body.fa-theme #order-standard_cart .domain-selection {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    padding: 18px;
}
body.fa-theme #order-standard_cart .domain-selection input[type="text"] { direction: ltr; text-align: left; }

/* Checkout form sections */
body.fa-theme #order-standard_cart .checkout-form .form-section,
body.fa-theme #order-standard_cart .field-set,
body.fa-theme #order-standard_cart .signup-container {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    padding: 22px;
    margin-bottom: 18px;
}

/* ── viewcart / cart review ────────────────────────────────── */
body.fa-theme #order-standard_cart .secondary-cart-body {
    flex: 1 1 60%;
    min-width: 0;
    padding-left: 18px;
}
body.fa-theme #order-standard_cart .secondary-cart-sidebar {
    flex: 0 0 360px;
    max-width: 360px;
}
@media (max-width: 991px) {
    body.fa-theme #order-standard_cart .secondary-cart-body { padding-left: 0; }
    body.fa-theme #order-standard_cart .secondary-cart-sidebar { flex: 1 1 100%; max-width: 100%; margin-top: 18px; }
}

body.fa-theme #order-standard_cart .view-cart-items-header {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--r-md) var(--r-md) 0 0;
    padding: 12px 18px;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--text-muted);
    margin-bottom: 0;
}
body.fa-theme #order-standard_cart .view-cart-items {
    background: var(--surface);
    border: 1px solid var(--border);
    border-top: none;
    border-radius: 0 0 var(--r-md) var(--r-md);
    overflow: hidden;
    margin-bottom: 14px;
}
body.fa-theme #order-standard_cart .view-cart-items .item {
    padding: 16px 18px;
    border-bottom: 1px solid var(--border);
    transition: background 120ms;
}
body.fa-theme #order-standard_cart .view-cart-items .item:last-child { border-bottom: none; }
body.fa-theme #order-standard_cart .view-cart-items .item:hover { background: var(--surface-2); }
body.fa-theme #order-standard_cart .view-cart-items .item .item-title {
    font-weight: 700; font-size: 14px; color: var(--text); display: block;
}
body.fa-theme #order-standard_cart .view-cart-items .item .item-title .btn {
    padding: 2px 8px; font-size: 11.5px; font-weight: 500;
}
body.fa-theme #order-standard_cart .view-cart-items .item .item-group {
    display: block; font-size: 12px; color: var(--text-muted); margin-top: 4px;
}
body.fa-theme #order-standard_cart .view-cart-items .item .item-domain {
    display: inline-block; font-size: 12px;
    color: var(--brand-600); margin-top: 4px;
    direction: ltr; unicode-bidi: isolate;
    background: var(--brand-50); padding: 2px 8px;
    border-radius: var(--r-pill);
}
body.fa-theme #order-standard_cart .view-cart-items .item .item-price {
    text-align: left; font-weight: 700; color: var(--text); font-size: 14px;
}
body.fa-theme #order-standard_cart .view-cart-items .item .item-price .cycle {
    display: block; font-weight: 500; font-size: 11.5px; color: var(--text-muted); margin-top: 2px;
}
body.fa-theme #order-standard_cart .view-cart-items .item .item-price .renewal {
    display: block; font-size: 11px; color: var(--text-dim); margin-top: 4px;
}
body.fa-theme #order-standard_cart .view-cart-items .btn-remove-from-cart {
    color: var(--danger-500); padding: 4px 8px;
}
body.fa-theme #order-standard_cart .view-cart-items .btn-remove-from-cart:hover {
    background: rgba(239, 68, 68, .1);
    border-radius: var(--r-sm);
}

body.fa-theme #order-standard_cart .view-cart-empty {
    padding: 50px 20px;
    text-align: center;
    color: var(--text-muted);
    font-size: 14px;
}
body.fa-theme #order-standard_cart .view-cart-empty::before {
    content: "\f07a";
    font-family: "Font Awesome 5 Free", "Font Awesome 5 Pro", "Font Awesome 6 Free";
    font-weight: 300;
    display: block;
    font-size: 48px;
    color: var(--text-dim);
    margin-bottom: 14px;
}

body.fa-theme #order-standard_cart .empty-cart { text-align: left; margin-top: 8px; }
body.fa-theme #order-standard_cart .empty-cart .btn { color: var(--danger-500); font-size: 12px; }

/* Tabs (promo / tax) */
body.fa-theme #order-standard_cart .view-cart-tabs {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    overflow: hidden;
    margin-bottom: 18px;
}
body.fa-theme #order-standard_cart .view-cart-tabs .nav-tabs {
    background: var(--surface-2);
    border-bottom: 1px solid var(--border);
    padding: 0 8px;
}
body.fa-theme #order-standard_cart .view-cart-tabs .nav-tabs .nav-link {
    border: none;
    border-radius: 0;
    padding: 12px 16px;
    color: var(--text-muted);
    font-weight: 600;
    font-size: 13px;
    border-bottom: 2px solid transparent;
    background: transparent;
}
body.fa-theme #order-standard_cart .view-cart-tabs .nav-tabs .nav-link.active,
body.fa-theme #order-standard_cart .view-cart-tabs .nav-tabs .nav-link[aria-expanded="true"] {
    background: transparent;
    color: var(--brand-600);
    border-bottom-color: var(--brand-500);
}
body.fa-theme #order-standard_cart .view-cart-tabs .tab-content { padding: 18px; }
body.fa-theme #order-standard_cart .view-cart-tabs .prepend-icon { position: relative; }
body.fa-theme #order-standard_cart .view-cart-tabs .field-icon {
    position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
    color: var(--text-muted); z-index: 2; margin: 0; pointer-events: none;
}
body.fa-theme #order-standard_cart .view-cart-tabs .form-control { padding-right: 40px; }

/* Order summary panel */
body.fa-theme #order-standard_cart .order-summary {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    padding: 22px;
    box-shadow: var(--shadow-sm);
    position: sticky;
    top: 16px;
}
body.fa-theme #order-standard_cart .order-summary h2,
body.fa-theme #order-standard_cart .order-summary .font-size-30 {
    font-size: 18px !important;
    font-weight: 800;
    margin: 0 0 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--border);
}
body.fa-theme #order-standard_cart .summary-container .subtotal,
body.fa-theme #order-standard_cart .summary-container .recurring-totals,
body.fa-theme #order-standard_cart .summary-container .bordered-totals > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    font-size: 13.5px;
    color: var(--text);
}
body.fa-theme #order-standard_cart .summary-container .subtotal .pull-right,
body.fa-theme #order-standard_cart .summary-container .recurring-totals .pull-right,
body.fa-theme #order-standard_cart .summary-container .bordered-totals .pull-right {
    font-weight: 700;
}
body.fa-theme #order-standard_cart .summary-container .bordered-totals {
    border-top: 1px dashed var(--border);
    border-bottom: 1px dashed var(--border);
    margin: 6px 0;
    padding: 4px 0;
}
body.fa-theme #order-standard_cart .summary-container .recurring-totals .recurring-charges {
    text-align: left;
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.7;
}
body.fa-theme #order-standard_cart .summary-container .recurring-totals .cost {
    font-weight: 700;
    color: var(--text);
}
body.fa-theme #order-standard_cart .total-due-today {
    background: linear-gradient(135deg, var(--brand-50), rgba(217, 70, 239, .06));
    border: 1px solid var(--brand-200);
    border-radius: var(--r-md);
    padding: 18px;
    margin: 14px 0;
    text-align: center;
}
body.fa-theme #order-standard_cart .total-due-today .amt {
    display: block;
    font-size: 26px;
    font-weight: 800;
    color: var(--brand-700);
    line-height: 1.2;
    font-feature-settings: 'tnum';
}
body.fa-theme #order-standard_cart .total-due-today > span:last-child {
    font-size: 12px;
    color: var(--text-muted);
    display: block;
    margin-top: 4px;
}
body.fa-theme #order-standard_cart .btn-checkout {
    background: var(--brand-500);
    border-color: var(--brand-500);
    color: #fff;
    width: 100%;
    padding: 14px 20px;
    font-size: 15px;
    font-weight: 700;
    border-radius: var(--r-md);
    box-shadow: 0 6px 20px rgba(99, 102, 241, .35);
    transition: all 150ms var(--ease-out);
}
body.fa-theme #order-standard_cart .btn-checkout:hover {
    background: var(--brand-600);
    border-color: var(--brand-600);
    transform: translateY(-1px);
    box-shadow: 0 8px 26px rgba(99, 102, 241, .45);
}
body.fa-theme #order-standard_cart .btn-checkout i { margin-right: 8px; margin-left: 0; transform: scaleX(-1); }
body.fa-theme #order-standard_cart .btn-continue-shopping {
    display: block;
    margin-top: 10px;
    text-align: center;
    font-size: 12.5px;
    color: var(--text-muted);
}
body.fa-theme #order-standard_cart .btn-continue-shopping:hover { color: var(--brand-600); }

/* Express checkout dividers */
body.fa-theme #order-standard_cart .express-checkout-buttons .separator {
    text-align: center;
    font-size: 11px;
    color: var(--text-dim);
    margin: 14px 0;
    position: relative;
    font-weight: 700;
    letter-spacing: 0.06em;
}
body.fa-theme #order-standard_cart .express-checkout-buttons .separator::before,
body.fa-theme #order-standard_cart .express-checkout-buttons .separator::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 38%;
    height: 1px;
    background: var(--border);
}
body.fa-theme #order-standard_cart .express-checkout-buttons .separator::before { right: 0; }
body.fa-theme #order-standard_cart .express-checkout-buttons .separator::after { left: 0; }

/* Promo code applied chip */
body.fa-theme #order-standard_cart .view-cart-promotion-code {
    background: var(--success-50);
    border: 1px dashed var(--success-500);
    border-radius: var(--r-md);
    padding: 10px 14px;
    color: var(--success-500);
    font-weight: 600;
    text-align: center;
    margin-bottom: 10px;
}

/* Remove-item modal */
body.fa-theme #order-standard_cart .modal-remove-item .modal-title i { color: var(--danger-500); }
body.fa-theme #order-standard_cart .modal-remove-item .modal-title { text-align: center; }

/* Cart sidebar (categories) container — flex layout */
body.fa-theme #order-standard_cart > .row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}
body.fa-theme #order-standard_cart > .row > .cart-sidebar {
    flex: 0 0 240px; max-width: 240px;
    padding: 0 15px;
}
body.fa-theme #order-standard_cart > .row > .cart-body {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0 15px;
}
@media (max-width: 768px) {
    body.fa-theme #order-standard_cart > .row > .cart-sidebar { display: none; }
}
body.fa-theme #order-standard_cart > .row > .cart-body > .row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -9px;
}

/* ── Responsive ────────────────────────────────────────────── */
@media (max-width: 768px) {
    body.fa-theme .pt-hero { padding: 50px 0 80px; }
    body.fa-theme .pt-hero h1 { font-size: 26px; }
    body.fa-theme .pt-domain-search { margin-top: -40px; }
    body.fa-theme #main-body { padding: 14px 0 30px; }
    body.fa-theme .pt-section { padding: 24px 0; }
    body.fa-theme #order-standard_cart .product { min-height: auto; padding: 18px; }
    body.fa-theme #order-standard_cart .product .product-pricing .price { font-size: 22px; }
}

/* Helpers */
body.fa-theme .no-fa-digits, body.fa-theme .mono-latin { font-variant-numeric: tabular-nums; }
body.fa-theme .text-muted { color: var(--text-muted) !important; }
body.fa-theme hr { border-color: var(--border); }
body.fa-theme .text-success { color: var(--success-500) !important; }
body.fa-theme .text-danger  { color: var(--danger-500) !important; }
body.fa-theme .text-warning { color: var(--warning-500) !important; }
body.fa-theme .text-info    { color: var(--brand-500) !important; }
body.fa-theme .text-primary { color: var(--brand-500) !important; }

/* Print: keep invoice readable */
@media print {
    body.fa-theme #header.header, body.fa-theme #footer.footer, body.fa-theme .d-print-none { display: none !important; }
    body.fa-theme #main-body { padding: 0; }
}
