/*------------------------------------------------------------------
 * Custom Stylesheet Override for HostRomeo Clientarea
 * Integrates HostRomeo Emyui v2 modern look, gradients, and typography
 *-------------------------------------------------------------------*/

:root {
    --brand-pink: #FF2E93;
    --brand-purple: #8A3FFC;
    --brand-blue: #0EA5E9;
    --brand-gradient: linear-gradient(135deg, var(--brand-pink) 0%, var(--brand-purple) 50%, var(--brand-blue) 100%);
    --brand-shadow: 0 4px 15px rgba(138, 63, 252, 0.35);
    --brand-shadow-hover: 0 6px 20px rgba(138, 63, 252, 0.5);
    --dark-bg: #0e1019;
    --card-border-radius: 12px;
}

/* 1. Typography & Global Styling */
body, p, select, input, textarea, button, .form-control, .panel, .table, h1, h2, h3, h4, h5, h6 {
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif !important;
}

body {
    background-color: #f7f9fc !important;
    color: #333333 !important;
}

/* 2. Clientarea Sub-Navbar */
.client-nav-bar {
    background-color: var(--dark-bg);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 3px 0;
    margin-bottom: 0px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.client-nav-mobile-header {
    display: none;
}

@media (min-width: 768px) {
    .client-nav {
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center; /* Center the sub-navbar menu items */
        list-style: none;
        margin: 0;
        padding: 0;
    }
}

@media (max-width: 767px) {
    .client-nav-mobile-header {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 12px 15px !important;
        width: 100% !important;
        cursor: pointer !important;
    }
    
    .client-nav-mobile-title {
        color: #ffffff !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
    }
    
    .client-nav-hamburger {
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
        padding: 5px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        width: 30px !important;
        height: 22px !important;
        outline: none !important;
    }
    
    .client-nav-hamburger .hamburger-line {
        display: block !important;
        width: 20px !important;
        height: 2px !important;
        background-color: #ffffff !important;
        border-radius: 2px !important;
        transition: all 0.3s ease !important;
    }
    
    /* Animation for active hamburger (transforms into an X) */
    .client-nav-hamburger.active .hamburger-line:nth-child(1) {
        transform: translateY(6px) rotate(45deg) !important;
    }
    .client-nav-hamburger.active .hamburger-line:nth-child(2) {
        opacity: 0 !important;
    }
    .client-nav-hamburger.active .hamburger-line:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg) !important;
    }

    .client-nav {
        display: none; /* Hidden by default on mobile, toggled via JS */
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        padding: 10px 0 !important;
        list-style: none;
        margin: 0;
    }
    
    .client-nav > li {
        width: 100% !important;
        text-align: left !important;
    }
    
    .client-nav > li > a {
        display: block !important;
        width: 100% !important;
        padding: 12px 20px !important;
        border-radius: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    }
    
    .client-nav > li:last-child > a {
        border-bottom: none !important;
    }

    /* Keep dropdown menus in collapsible menu styled nicely on mobile */
    .client-nav .dropdown-menu {
        position: static !important;
        float: none !important;
        width: 100% !important;
        box-shadow: none !important;
        border: none !important;
        background-color: rgba(255, 255, 255, 0.03) !important;
        border-radius: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .client-nav .dropdown-menu li a {
        padding: 12px 30px !important;
    }
}

.client-nav > li {
    position: relative;
}

.client-nav > li > a {
    color: rgba(255, 255, 255, 0.75) !important;
    font-size: 14px;
    font-weight: 500;
    padding: 10px 18px;
    text-decoration: none;
    transition: all 0.3s ease;
    border-radius: 30px;
    display: inline-block;
}

.client-nav > li > a:hover,
.client-nav > li.active > a,
.client-nav > li.open > a {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.08);
}

/* Dropdown styling */
.client-nav .dropdown-menu {
    background-color: #161824 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px !important;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3) !important;
    margin-top: 8px !important;
    padding: 8px 0 !important;
    min-width: 200px;
}

.client-nav .dropdown-menu li a {
    color: rgba(255, 255, 255, 0.7) !important;
    padding: 10px 20px !important;
    font-size: 13px !important;
    display: block;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.client-nav .dropdown-menu li a:hover {
    background-color: rgba(255, 255, 255, 0.06) !important;
    color: #ffffff !important;
    padding-left: 24px !important;
}

.client-nav .dropdown-menu .divider {
    background-color: rgba(255, 255, 255, 0.08) !important;
    height: 1px;
    margin: 6px 0;
}

/* 3. Button Styling */
.btn-primary, 
.btn-success,
.btn-accent,
.btn-warning,
.btn-red,
.btn-order,
.btn-special-home-plan,
.btn-input-group-btn,
.login-btn,
input[type="submit"].btn,
.elementor-button,
.client-nav-bar .btn-primary {
    background: var(--brand-gradient) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 30px !important;
    font-weight: 600 !important;
    padding: 10px 24px !important;
    text-shadow: none !important;
    box-shadow: var(--brand-shadow) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: inline-block;
}

.btn-primary:hover, 
.btn-success:hover,
.btn-accent:hover,
.btn-warning:hover,
.btn-red:hover,
.btn-order:hover,
.btn-special-home-plan:hover,
.login-btn:hover,
input[type="submit"].btn:hover,
.elementor-button:hover {
    background-position: right center !important;
    color: #ffffff !important;
    box-shadow: var(--brand-shadow-hover) !important;
    transform: translateY(-2px) !important;
    text-decoration: none !important;
}

/* Client login / Register buttons in header top-right */
.elementor-button.elementor-button-link {
    background: var(--brand-gradient) !important;
    color: #ffffff !important;
    border-radius: 30px !important;
    font-weight: 600 !important;
    box-shadow: var(--brand-shadow) !important;
    border: none !important;
    padding: 10px 24px !important;
    font-size: 13px !important;
}

.elementor-button.elementor-button-link:hover {
    box-shadow: var(--brand-shadow-hover) !important;
    transform: translateY(-2px) !important;
    color: #ffffff !important;
}

/* Default / Secondary Buttons */
.btn-default {
    border: 1px solid #dae4e9 !important;
    color: #2a2e31 !important;
    background: #ffffff !important;
    border-radius: 30px !important;
    font-weight: 600 !important;
    padding: 10px 24px !important;
    box-shadow: none !important;
    transition: all 0.3s ease !important;
}

.btn-default:hover {
    border-color: var(--brand-purple) !important;
    color: var(--brand-purple) !important;
    background: rgba(138, 63, 252, 0.05) !important;
    transform: translateY(-2px) !important;
}

.btn-danger {
    background: linear-gradient(135deg, #FF416C 0%, #FF4B2B 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 30px !important;
    font-weight: 600 !important;
    padding: 10px 24px !important;
    text-shadow: none !important;
    box-shadow: 0 4px 15px rgba(255, 75, 43, 0.35) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: inline-block;
}

.btn-danger:hover {
    box-shadow: 0 6px 20px rgba(255, 75, 43, 0.5) !important;
    transform: translateY(-2px) !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* 4. Panels & Cards overrides */
.panel {
    border: none !important;
    border-radius: var(--card-border-radius) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
    background: #ffffff !important;
    overflow: hidden;
    margin-bottom: 25px;
}

.panel-heading {
    background-color: #f8fafc !important;
    border-bottom: 1px solid #edf2f7 !important;
    color: #1a202c !important;
    padding: 14px 20px !important;
    border-radius: var(--card-border-radius) var(--card-border-radius) 0 0 !important;
}

.panel-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.panel-body {
    padding: 20px !important;
}

/* Clientarea Tiles */
.tile {
    border-radius: 12px !important;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.04) !important;
    border: 1px solid #edf2f7 !important;
    background: #ffffff !important;
    transition: all 0.3s ease;
}

.tile:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.08) !important;
}

/* Form inputs styling */
.form-control {
    border: 1px solid #dae4e9 !important;
    border-radius: 8px !important;
    padding: 10px 15px !important;
    height: auto !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease;
}

.form-control:focus {
    border-color: var(--brand-purple) !important;
}

/* Table styling */
.table {
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
}

.table tr {
    background: #ffffff !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.02);
}

.table th {
    border: none !important;
    color: #718096 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    padding: 15px 24px !important;
}

.table td {
    border: none !important;
    font-size: 14px !important;
    padding: 20px 24px !important;
    vertical-align: middle !important;
    color: #1e293b !important;
}

.table tr td:first-child {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

.table tr td:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

/* Sidebar styling */
.sidebar .list-group-item {
    border: none !important;
    border-radius: 8px !important;
    margin-bottom: 4px;
    color: #4a5568 !important;
    padding: 12px 18px !important;
    font-weight: 500;
    transition: all 0.2s ease;
}

.sidebar .list-group-item:hover,
.sidebar .list-group-item.active {
    background-color: rgba(138, 63, 252, 0.08) !important;
    color: var(--brand-purple) !important;
}

.sidebar .list-group-item .badge {
    background-color: var(--brand-pink) !important;
}

/* Dropdown and Account button styling overrides to replace old red color (#fe0002) with modern v2 theme colors */

/* 1. Account Menu and Navbar link hover/open states */
.main-navigation .navbar-nav > li > a:focus,
.main-navigation .navbar-nav > li > a:hover,
.main-navigation .navbar-nav > .active > a,
.main-navigation .navbar-nav > .active > a:focus,
.main-navigation .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:focus,
.navbar-default .navbar-nav > .open > a:hover,
#Primary_Navbar-Account > a:hover,
#Primary_Navbar-Account > a:focus,
#Primary_Navbar-Account.open > a,
#Primary_Navbar-Account.open > a:hover,
#Primary_Navbar-Account.open > a:focus {
    color: var(--brand-purple) !important;
    background: none !important;
}

/* 2. Top-box header links hover */
.top-box ul li a:hover,
.top-nav a:hover {
    color: var(--brand-pink) !important;
}

/* 3. General Dropdown Menu overrides */
.dropdown-menu,
.navbar-main .dropdown-menu {
    background-color: #161824 !important; /* Premium dark background */
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px !important;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.25) !important;
    padding: 8px 0 !important;
}

.dropdown-menu > li > a,
.navbar-main .navbar-nav .dropdown-menu > li > a {
    color: rgba(255, 255, 255, 0.75) !important;
    background: transparent !important;
    padding: 10px 20px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
    display: block !important;
    border: none !important;
    text-shadow: none !important;
}

/* 4. Dropdown Hover State (Replaces red background on hover with Emyui brand gradient) */
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus,
.navbar-main .navbar-nav .dropdown-menu > li > a:hover,
.navbar-main .navbar-nav .dropdown-menu > li > a:focus,
.navbar-main .navbar-nav .dropdown-menu > .active > a,
.navbar-main .navbar-nav .dropdown-menu > .active > a:hover,
.navbar-main .navbar-nav .dropdown-menu > .active > a:focus {
    background: var(--brand-gradient) !important; /* Pink-to-purple-to-blue gradient */
    color: #ffffff !important;
    padding-left: 24px !important;
    text-decoration: none !important;
}

/* Horizontally and Vertically Centered Logo, Compact Header Height, and exact offset to remove all gaps */
@media (min-width: 1025px) {
    .client-nav-bar {
        margin-top: 0px !important;
    }

    .elementor-element-3dece7c {
        height: 96px !important;
        min-height: 96px !important;
        padding-top: 3px !important;
        padding-bottom: 3px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .elementor-element-3dece7c .elementor-container {
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important; /* Push logo left, button right */
        width: 100% !important;
        max-width: 1200px !important;
        margin: 0 auto !important;
        padding: 0 15px !important;
    }

    .elementor-element-3dece7c .elementor-column {
        height: auto !important;
        display: flex !important;
        align-items: center !important;
    }

    /* Logo column alignment (left) */
    .elementor-element-9f7fe92 {
        justify-content: flex-start !important;
    }

    .elementor-element-9f7fe92 .elementor-widget-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 0 !important;
    }

    .elementor-element-121d5bd .boostify-site-logo-header {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    /* Button column alignment (right) */
    .elementor-element-header-button {
        justify-content: flex-end !important;
    }

    .header-button-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: 100% !important;
    }

    /* Header WhatsApp Button Styling */
    .romeo-home-btn {
        background: linear-gradient(135deg, #25D366 0%, #128C7E 100%) !important;
        background-size: 200% auto !important;
        color: #ffffff !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.8px !important;
        padding: 10px 24px !important;
        border-radius: 30px !important;
        transition: all 0.3s ease !important;
        box-shadow: 0 4px 15px rgba(37, 211, 102, 0.35) !important;
        text-decoration: none !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .romeo-home-btn i {
        font-size: 17px !important;
    }

    .romeo-home-btn:hover {
        background-position: right center !important;
        box-shadow: 0 6px 20px rgba(37, 211, 102, 0.55) !important;
        transform: translateY(-2px) !important;
        color: #ffffff !important;
        text-decoration: none !important;
    }
}

@media (max-width: 1024px) {
    .elementor-element-3dece7c {
        display: none !important;
    }
    .client-nav-bar {
        margin-top: 0px !important;
    }
}

/* Force block layout on main content sections to prevent Bootstrap 3 vs 4 flexbox grid conflicts */
#main-body {
    display: block !important;
    position: relative !important;
    padding-top: 0px !important;
    padding-bottom: 50px !important;
}

#main-body .row {
    display: block !important;
}

#main-body .col-md-9,
#main-body .col-md-3,
#main-body .sidebar,
#main-body .main-content {
    display: block !important;
    float: left !important;
}

#main-body .clearfix {
    clear: both !important;
}

/* Fix for background clipping and scrolling */
.site-wrapper {
    height: auto !important;
    overflow: visible !important;
}

/* 5. Header Menu Color & Readability Overrides */
.boostify-main-navigation .boostify-menu > li > a,
.boostify-main-navigation .boostify-menu > li > a .menu-item-text {
    color: #232323 !important;
    font-weight: 600 !important;
    transition: color 0.2s ease !important;
}

.boostify-main-navigation .boostify-menu > li > a:hover,
.boostify-main-navigation .boostify-menu > li > a:hover .menu-item-text,
.boostify-main-navigation .boostify-menu > li.current-menu-item > a,
.boostify-main-navigation .boostify-menu > li.current-menu-item > a .menu-item-text {
    color: var(--brand-pink) !important;
}

/* Submenu caret colors */
.boostify-main-navigation .boostify-menu > li.menu-item-has-children > a::after {
    border-top-color: #232323 !important;
}

.boostify-main-navigation .boostify-menu > li.menu-item-has-children > a:hover::after {
    border-top-color: var(--brand-pink) !important;
}

/* Phone number color override in header */
.elementor-element-32bb7aa .elementor-heading-title {
    color: #555555 !important;
    font-weight: 600 !important;
}

/* Logo container styling fix to prevent overflow/stretching */
.elementor-element-121d5bd .boostify-site-logo-header a {
    display: inline-block !important;
    height: 90px !important;
    width: 264px !important;
}

.elementor-element-121d5bd .custom-logo {
    height: 100% !important;
    width: 100% !important;
    object-fit: contain !important;
}

/* Mobile logo sizing */
.elementor-element-cc9141f .custom-logo {
    height: auto !important;
    max-height: 45px !important;
    width: auto !important;
    max-width: 100% !important;
}

/* Hide redundant Bootstrap carets in the sub-navbar (Emyui already renders drop-down arrows) */
.client-nav-bar .caret {
    display: none !important;
}

/* Tighter padding and margins for headers and breadcrumbs */
.page-header {
    margin: 0px 0 8px 0 !important;
    padding-bottom: 2px !important;
}

.breadcrumb {
    margin-bottom: 0px !important;
    padding: 0px 0 !important;
}

/* Styling for the page sub-banner block */
.sub-bannercon {
    background-image: url("../assets/images/sub-banner.jpg") !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
    background-size: cover !important;
    padding: 120px 0 !important;
    margin-bottom: 30px !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
}

.sub-banner {
    color: #ffffff !important;
    text-align: center !important;
}

.sub-banner h2.banner-heading {
    color: #ffffff !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5) !important;
}

.sub-banner p {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 16px !important;
    margin-bottom: 15px !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4) !important;
}

.sub-banner .breadcrumb {
    background: transparent !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    justify-content: center !important;
    list-style: none !important;
}

.sub-banner .breadcrumb li {
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.8) !important;
}

.sub-banner .breadcrumb li a {
    color: #ffffff !important;
    font-weight: 500 !important;
}

.sub-banner .breadcrumb li a:hover {
    color: var(--brand-pink) !important;
    text-decoration: underline !important;
}

.sub-banner .breadcrumb > li + li::before {
    content: "/" !important;
    padding: 0 8px !important;
    color: rgba(255, 255, 255, 0.5) !important;
}

/* Modern, larger, and cleaner styling for the login form and fonts */
.logincontainer {
    max-width: 960px !important;
    margin: 60px auto !important;
    padding: 40px !important;
    background: #ffffff !important;
    border-radius: 12px !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.04) !important;
}

.login-form .form-group {
    margin-bottom: 25px !important;
}

.login-form label {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #2b2b2b !important;
    margin-bottom: 10px !important;
    display: inline-block !important;
}

.login-form .form-control {
    font-size: 16px !important;
    height: 54px !important;
    padding: 12px 20px !important;
    border-radius: 8px !important;
    border: 1px solid #dce2e6 !important;
    background-color: #fbfcfd !important;
    color: #2b2b2b !important;
    transition: all 0.2s ease-in-out !important;
}

.login-form .form-control:focus {
    border-color: var(--brand-pink) !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(255, 46, 147, 0.1) !important;
    outline: 0 !important;
}

.login-form .checkbox {
    margin-top: 15px !important;
    margin-bottom: 25px !important;
}

.login-form .checkbox label {
    font-size: 15px !important;
    color: #4a5568 !important;
    font-weight: 500 !important;
    display: inline-flex !important;
    align-items: center !important;
    cursor: pointer !important;
}

.login-form .checkbox input[type="checkbox"] {
    transform: scale(1.25) !important;
    margin: 0 10px 0 0 !important;
    position: relative !important;
    top: auto !important;
}

.login-form input[type="submit"]#login {
    font-size: 16px !important;
    font-weight: 600 !important;
    height: 52px !important;
    padding: 0 45px !important;
    border-radius: 26px !important;
    background: var(--brand-gradient) !important;
    border: none !important;
    color: #ffffff !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.login-form input[type="submit"]#login:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 18px rgba(255, 46, 147, 0.35) !important;
}

.login-form .btn-default {
    font-size: 15px !important;
    font-weight: 500 !important;
    height: 52px !important;
    padding: 0 30px !important;
    border-radius: 26px !important;
    border: 1px solid #dce2e6 !important;
    background-color: #ffffff !important;
    color: #4a5568 !important;
    transition: all 0.2s ease-in-out !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 10px !important;
}

.login-form .btn-default:hover {
    background-color: #f7fafc !important;
    color: #1a202c !important;
    border-color: #cbd5e0 !important;
}

/* Social Linked Accounts styling (right column of login form) */
.social-signin-btns a,
.social-signin-btns button,
.social-signin-btns .btn {
    font-size: 16px !important;
    padding: 12px 24px !important;
    margin-bottom: 15px !important;
    display: inline-flex !important;
    align-items: center !important;
    border-radius: 8px !important;
    width: 100% !important;
    justify-content: center !important;
    font-weight: 500 !important;
}

/* Center alignment and single-column layout for the login container */
.logincontainer .row {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

.logincontainer .col-sm-7,
.logincontainer .col-sm-5 {
    width: 100% !important;
    max-width: 460px !important;
    float: none !important;
    padding: 0 !important;
}

.logincontainer.with-social .col-sm-7 {
    border-right: none !important;
}

/* Add horizontal divider spacing between form and social sign-in */
.logincontainer .col-sm-5 {
    margin-top: 30px !important;
    border-top: 1px solid #e2e8f0 !important;
    padding-top: 30px !important;
    text-align: center !important;
}

/* Center and align the error message alert box to match form width */
.logincontainer .alert {
    max-width: 460px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 30px !important;
}

/* Stacking form submit and forgot password links vertically */
.login-form div[align="center"] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
}

.login-form div[align="center"] input[type="submit"]#login,
.login-form div[align="center"] .btn-default {
    width: 100% !important;
    margin: 0 !important;
}

/* Center-align the entire login container vertically and horizontally on the entire page */
.page-login .main-content {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 55vh !important;
    width: 100% !important;
    float: none !important;
}

/* Remove gradient shadow/shade overlay and force pure white header background */
.header-shadow-bottom {
    display: none !important;
}

.elementor-element-3dece7c {
    background-color: #ffffff !important;
    background: #ffffff !important;
    box-shadow: none !important;
    border-bottom: 1px solid #e2e8f0 !important; /* Adds a clean, subtle separator line under the white header */
}

/* Footer typography overrides for enhanced readability */
.footer-section {
    font-size: 14px !important;
}

.footer-section p {
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: rgba(255, 255, 255, 0.7) !important;
}

.footer-section .block-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.footer-section .footer-list-link a {
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.65) !important;
    text-decoration: none !important;
    transition: color 0.2s ease-in-out !important;
}

.footer-section .footer-list-link a:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}

.footer-section .footer-contact-list li span {
    font-size: 13px !important;
    padding: 6px 14px 6px 40px !important;
    font-weight: 500 !important;
}

.footer-section .copyright-text {
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: rgba(255, 255, 255, 0.5) !important;
}

.footer-section .copyright-text a {
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.65) !important;
}

.footer-section .copyright-text a:hover {
    color: #ffffff !important;
}

/* Fix for form-control inputs clashing with prepended icons (checkout and forms) */
.prepend-icon .form-control,
.prepend-icon .field,
.prepend-icon input,
.prepend-icon select,
.prepend-icon textarea {
    padding-left: 42px !important;
}

/* Fix for international telephone input flags clashing with input text */
input[type="tel"].form-control,
input#inputPhone.form-control,
.iti input.form-control,
#inputPhone {
    padding-left: 85px !important;
}

/* Fix for checkout and registration sub-heading texts clashing with the horizontal lines */
.sub-heading {
    height: 0 !important;
    border-top: 1px solid #e2e8f0 !important; /* light grey clean separator line */
    text-align: center !important;
    margin-top: 35px !important;
    margin-bottom: 35px !important;
    position: relative !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
}

.sub-heading span {
    display: inline-block !important;
    position: relative !important;
    padding: 0 20px !important; /* adds white padding to left/right of the text to clear the line */
    top: -12px !important; /* shifts the text span up to sit directly on the line */
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #1e293b !important; /* clean professional charcoal/slate text color */
    background-color: #ffffff !important; /* solid white background to cover/mask the line behind the text */
}

/* Premium DataTables Pagination and Length Selector Styling & Alignment */
.dataTables_wrapper .dataTables_length {
    float: left !important;
    background-color: transparent !important; /* Remove non-premium grey background */
    font-size: 13px !important;
    color: #64748b !important; /* slate-500 */
    padding: 10px 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    margin-top: 30px !important; /* Pushed further down for more breathing room */
}

.dataTables_wrapper .dataTables_length label {
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}

.dataTables_wrapper .dataTables_length label select.form-control {
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important; /* slate-300 */
    border-radius: 6px !important;
    padding: 4px 10px !important;
    height: 32px !important;
    font-size: 13px !important;
    color: #1e293b !important;
    margin: 0 8px !important;
    outline: none !important;
    cursor: pointer !important;
}

.dataTables_wrapper .dataTables_paginate {
    float: right !important;
    padding: 10px 0 !important;
    margin-top: 30px !important; /* Pushed further down for more breathing room */
}

.dataTables_wrapper .dataTables_paginate .pagination {
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    list-style: none !important;
}

.dataTables_wrapper .dataTables_paginate .pagination > li > a,
.dataTables_wrapper .dataTables_paginate .pagination > li > span {
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    color: #475569 !important; /* slate-600 */
    font-size: 13px !important;
    padding: 6px 12px !important;
    margin-left: -1px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.dataTables_wrapper .dataTables_paginate .pagination > li:first-child > a,
.dataTables_wrapper .dataTables_paginate .pagination > li:first-child > span {
    border-top-left-radius: 6px !important;
    border-bottom-left-radius: 6px !important;
}

.dataTables_wrapper .dataTables_paginate .pagination > li:last-child > a,
.dataTables_wrapper .dataTables_paginate .pagination > li:last-child > span {
    border-top-right-radius: 6px !important;
    border-bottom-right-radius: 6px !important;
}

.dataTables_wrapper .dataTables_paginate .pagination > li > a:hover {
    background-color: #f8fafc !important; /* slate-50 */
    color: #8a3ffc !important; /* brand purple */
    border-color: #cbd5e1 !important;
}

.dataTables_wrapper .dataTables_paginate .pagination > .active > a,
.dataTables_wrapper .dataTables_paginate .pagination > .active > span,
.dataTables_wrapper .dataTables_paginate .pagination > .active > a:hover,
.dataTables_wrapper .dataTables_paginate .pagination > .active > span:hover {
    background: linear-gradient(135deg, #FF2E93 0%, #8A3FFC 50%, #0EA5E9 100%) !important;
    color: #ffffff !important;
    border-color: transparent !important;
    font-weight: 600 !important;
}

.dataTables_wrapper .dataTables_paginate .pagination > .disabled > a,
.dataTables_wrapper .dataTables_paginate .pagination > .disabled > span {
    color: #cbd5e1 !important;
    background-color: #ffffff !important;
    border-color: #e2e8f0 !important;
    cursor: not-allowed !important;
}

/* ==================================================================
 * 6. Client Area Dashboard Layout & Misalignment Fixes
 * ================================================================== */

/* 6.1 Top Tiles Grid & Gutters Spacing Overrides */
.tiles {
    margin: 0 -10px 20px -10px !important;
}

.tiles .tile {
    background: transparent !important;
    border: none !important;
    padding: 0 10px 20px 10px !important;
    box-shadow: none !important;
}

.tiles .tile a {
    display: block !important;
    background-color: #ffffff !important;
    border: 1px solid #edf2f7 !important;
    border-radius: 12px !important;
    padding: 24px 20px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
    overflow: hidden !important;
    text-decoration: none !important;
}

.tiles .tile a:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 25px rgba(138, 63, 252, 0.1) !important;
    border-color: rgba(138, 63, 252, 0.2) !important;
}

.tile .icon {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    font-size: 38px !important;
    line-height: 1 !important;
    color: #cbd5e1 !important; /* light grey slate-300 */
    transition: color 0.3s ease !important;
}

.tiles .tile a:hover .icon {
    color: var(--brand-purple) !important;
}

.tile .stat {
    margin-top: 0 !important;
    font-size: 38px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    line-height: 1.1 !important;
    margin-bottom: 6px !important;
}

.tile .title {
    font-weight: 700 !important;
    color: #64748b !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    letter-spacing: 0.8px !important;
    margin: 0 !important;
}

.tiles .tile .highlight {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 4px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background: #e2e8f0 !important; /* default grey accent */
    transition: background-color 0.3s ease !important;
}

.tiles .tile a:hover .highlight {
    background: var(--brand-gradient) !important;
}

/* 6.2 Search Bar Icon Overlap Fix */
.home-kb-search .form-control {
    padding-left: 50px !important;
}

/* 6.3 Domain Search Input Group Overlap Fix */
.client-home-panels .input-group {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    border-collapse: separate !important;
}

.client-home-panels .input-group .form-control {
    flex: 1 !important;
    width: auto !important;
    border-radius: 8px !important;
    margin: 0 !important;
    height: 48px !important;
    border: 1px solid #dae4e9 !important;
    padding: 10px 15px !important;
}

.client-home-panels .input-group-btn {
    display: flex !important;
    gap: 8px !important;
    width: auto !important;
    position: static !important;
    float: none !important;
}

.client-home-panels .input-group-btn .btn {
    margin: 0 !important;
    border-radius: 30px !important;
    height: 48px !important;
    padding: 0 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
}

/* 6.4 List Group Items inside Dashboard Panels */
.client-home-panels .panel > .list-group .list-group-item {
    border: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    color: #475569 !important;
    padding: 16px 20px !important;
    font-weight: 500 !important;
    background-color: #ffffff !important;
    transition: all 0.2s ease !important;
}

.client-home-panels .panel > .list-group .list-group-item:last-child {
    border-bottom: none !important;
}

.client-home-panels .panel > .list-group .list-group-item:hover {
    background-color: #f8fafc !important;
    color: var(--brand-purple) !important;
    padding-left: 24px !important; /* subtle slide-in */
}

/* 6.5 Modernized Pastel Status Badges */
.label {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    padding: 4px 8px !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.label-default {
    background-color: #e2e8f0 !important;
    color: #475569 !important;
}

.label-success {
    background-color: #dcfce7 !important;
    color: #15803d !important;
}

.label-info {
    background-color: #e0f2fe !important;
    color: #0369a1 !important;
}

.label-warning {
    background-color: #fef3c7 !important;
    color: #b45309 !important;
}

.label-danger {
    background-color: #fee2e2 !important;
    color: #b91c1c !important;
}

/* Sidebar panel heading relative positioning for absolute child elements */
.panel-sidebar .panel-heading {
    position: relative !important;
}

.panel-sidebar .panel-minimise {
    position: absolute !important;
    right: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
}

.panel-sidebar .panel-minimise.minimised {
    transform: translateY(-50%) rotate(180deg) !important;
}

/* ==================================================================
 * 7. Submit Ticket Page Layout & Typography Enhancements
 * ================================================================== */

/* Lead paragraph styling */
.page-supportticketsubmit-stepone .main-content > p {
    font-size: 16px !important;
    line-height: 1.65 !important;
    color: #475569 !important;
    margin-bottom: 35px !important;
}

/* Department columns spacing */
.page-supportticketsubmit-stepone .main-content .row .col-md-6 {
    margin-bottom: 30px !important;
}

/* Department link titles (larger, bold, Emyui purple/pink hover) */
.page-supportticketsubmit-stepone .main-content .row .col-md-6 p strong a {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--brand-purple) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.page-supportticketsubmit-stepone .main-content .row .col-md-6 p strong a:hover {
    color: var(--brand-pink) !important;
    transform: translateX(3px) !important;
}

.page-supportticketsubmit-stepone .main-content .row .col-md-6 p strong a i {
    font-size: 20px !important;
}

/* Department description texts */
.page-supportticketsubmit-stepone .main-content .row .col-md-6 p {
    font-size: 15px !important;
    color: #64748b !important;
    margin-top: 6px !important;
    line-height: 1.55 !important;
}

/* ==================================================================
 * 8. Frequently Asked Questions (FAQ) Section Typography Overrides
 * ================================================================== */

/* Section Title */
.faq-section h2.title.coodiv-text-4 {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    letter-spacing: -0.5px !important;
}

/* Section Subtitle */
.faq-section p.coodiv-text-8 {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #475569 !important;
}

/* Accordion Trigger / Question */
.faq-section #accordionExample .accordion-trigger {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    line-height: 1.4 !important;
}

/* Accordion Answer Body */
.faq-section #accordionExample .card-body {
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: #475569 !important;
}

/* Accordion Chevron Arrow Icon */
.faq-section #accordionExample .accordion-trigger:after {
    font-size: 18px !important;
}

/* ==================================================================
 * 9. Force Bootstrap Tab-Pane & Tab-Content Visibility globally
 * (Prevents external stylesheets/WordPress/Elementor from hiding them)
 * ================================================================== */
#main-body .tab-content {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    opacity: 1 !important;
}
#main-body .tab-content > .tab-pane {
    display: none !important;
}
#main-body .tab-content > .tab-pane.active {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
}

/* ==================================================================
 * 10. Table Action Buttons Styling & Double Caret Fix
 * ================================================================== */
.table td .btn,
.table td .btn-group .btn {
    padding: 6px 12px !important;
    font-size: 13px !important;
    border-radius: 4px !important;
    height: auto !important;
    line-height: 1.42857143 !important;
    width: auto !important;
    display: inline-block !important;
    transform: none !important; /* Prevent hover lift translation for small table buttons */
}

.table td .btn-group {
    width: auto !important;
    display: inline-flex !important;
}

.table td .btn-group .btn {
    margin: 0 !important;
}

/* Hide duplicate Bootstrap caret inside table action dropdown buttons */
.table td .btn-group .dropdown-toggle .caret {
    display: none !important;
}

/* Ensure the dropdown toggle button has proper styling */
.table td .btn-group .dropdown-toggle {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

/* ==================================================================
 * 11. Dashboard / Client Home Panel Typography Overrides
 * (Improves readability of Support Tickets and News lists)
 * ================================================================== */
.client-home-panels .panel > .list-group .list-group-item {
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.client-home-panels .panel > .list-group .list-group-item small,
.client-home-panels .panel > .list-group .list-group-item .text-muted {
    font-size: 12px !important;
    color: #64748b !important;
    display: inline-block !important;
    margin-top: 4px !important;
}

/* ==================================================================
 * 12. Dashboard Header Buttons Size & Alignment Fix
 * (Prevents global btn-default style from stretching small buttons)
 * ================================================================== */
.btn-xs,
.panel-heading .btn-xs,
.panel-title .btn-xs {
    padding: 4px 10px !important;
    font-size: 11px !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    height: auto !important;
    width: auto !important;
    display: inline-block !important;
    transform: none !important;
}

.btn-sm,
.panel-heading .btn-sm,
.panel-title .btn-sm {
    padding: 6px 14px !important;
    font-size: 12px !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    height: auto !important;
    width: auto !important;
    display: inline-block !important;
    transform: none !important;
}

/* ==================================================================
 * 13. Global Table Width & Layout Fixes (Prevents squeezed tables)
 * ================================================================== */
@media (min-width: 992px) {
    #main-body .col-md-9,
    #main-body .main-content {
        width: 75% !important;
    }
    #main-body .col-md-3,
    #main-body .sidebar {
        width: 25% !important;
    }
}

.table-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 0 25px 0 !important;
    overflow-x: auto !important;
    clear: both !important;
}

#main-body table,
#main-body .table,
#main-body table.table-list,
.dataTables_wrapper table.table-list {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
}

/* Override the WordPress theme's first-child th width restrictions (e.g. width: 8%) */
#main-body table thead tr th:first-child,
#main-body table.table-list thead tr th:first-child,
#main-body .table-list thead tr th:first-child {
    width: auto !important;
}

/* Prevent cell contents from being truncated or wrapped too aggressively */
.table-list th,
.table-list td {
    white-space: normal !important;
    word-break: normal !important;
}

/* Ensure action buttons inside cells do not wrap awkwardly */
.table-list td .btn,
.table-list td .btn-group {
    white-space: nowrap !important;
}

/* ==================================================================
 * 14. Markdown Editor & Global Button Fixes
 * (Overrides clashing global theme button styles)
 * ================================================================== */

/* Reset global theme button width overrides that distort standard client area buttons */
#main-body .btn:first-child,
#main-body .btn:last-child,
.clientarea .btn:first-child,
.clientarea .btn:last-child {
    width: auto !important;
    margin-right: 0 !important;
}

#main-body .btn,
.clientarea .btn {
    min-width: 0 !important;
}

/* Reset and format markdown editor buttons */
.md-editor .btn {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 6px 12px !important;
    margin: 0 !important;
    font-size: 13px !important;
    display: inline-block !important;
    float: none !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    transform: none !important;
    background: #ffffff !important;
    color: #333333 !important;
    border: 1px solid #e2e8f0 !important;
}

.md-editor .btn:first-child,
.md-editor .btn:last-child {
    width: auto !important;
    margin-right: 0 !important;
}

.md-editor .btn-group {
    display: inline-flex !important;
    width: auto !important;
    margin-right: 5px !important;
    margin-bottom: 5px !important;
}

.md-editor .btn.active,
.md-editor .btn:active,
.md-editor .btn:hover {
    background-color: #f1f5f9 !important;
    color: var(--brand-purple) !important;
    border-color: #cbd5e1 !important;
}

/* Premium styling for markdown editor Preview button */
.md-editor .btn[data-handler="bootstrap-markdown-cmdPreview"] {
    background: var(--brand-gradient) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 6px 16px !important;
    border-radius: 30px !important;
}

.md-editor .btn[data-handler="bootstrap-markdown-cmdPreview"]:hover {
    background: var(--brand-gradient) !important;
    color: #ffffff !important;
    opacity: 0.9 !important;
}

/* ==================================================================
 * 15. Domain Checker & Input Group Button Sizing Fixes
 * ================================================================== */

/* Overrides the external theme's destructive global .btn { width: 50% !important } rule */
#main-body .btn:not(.btn-block),
.clientarea .btn:not(.btn-block) {
    width: auto !important;
}

/* Ensure buttons inside input groups size naturally and do not collapse */
#main-body .input-group .btn,
#main-body .input-group-btn .btn,
#main-body .domain-check-availability {
    width: auto !important;
    min-width: 100px !important; /* ensures consistent button size for "Search" */
}

/* ==================================================================
 * 16. Knowledge Base & Article Typography & Readability Overrides
 * ================================================================== */

/* Article Main Title */
.kb-article-title h2 {
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: #1e293b !important;
    margin-bottom: 20px !important;
}

/* Print button in Title */
.kb-article-title .btn-print {
    font-size: 16px !important;
    color: #64748b !important;
}

.kb-article-title .btn-print:hover {
    color: var(--brand-purple) !important;
}

/* Knowledge Base Main Article Body Content */
.kb-article-content {
    font-size: 17px !important;
    line-height: 1.75 !important;
    font-weight: 400 !important;
    color: #334155 !important; /* slate-700 for optimal reading contrast */
    margin-bottom: 35px !important;
}

.kb-article-content p {
    font-size: 17px !important;
    line-height: 1.75 !important;
    margin-bottom: 20px !important;
    color: #334155 !important;
}

.kb-article-content h1 {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin-top: 35px !important;
    margin-bottom: 15px !important;
}

.kb-article-content h2 {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin-top: 30px !important;
    margin-bottom: 14px !important;
}

.kb-article-content h3 {
    font-size: 19px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin-top: 25px !important;
    margin-bottom: 12px !important;
}

.kb-article-content h4,
.kb-article-content h5,
.kb-article-content h6 {
    font-size: 17px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin-top: 20px !important;
    margin-bottom: 10px !important;
}

.kb-article-content ul,
.kb-article-content ol {
    font-size: 17px !important;
    line-height: 1.75 !important;
    margin-bottom: 20px !important;
    padding-left: 25px !important;
}

.kb-article-content li {
    font-size: 17px !important;
    line-height: 1.75 !important;
    margin-bottom: 8px !important;
    color: #334155 !important;
}

/* Code & Preformatted Text formatting inside articles */
.kb-article-content code {
    font-size: 14px !important;
    background-color: #f1f5f9 !important;
    color: #e11d48 !important;
    padding: 3px 7px !important;
    border-radius: 4px !important;
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}

.kb-article-content pre {
    background-color: #0f172a !important;
    color: #f8fafc !important;
    padding: 16px 20px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin-bottom: 25px !important;
    overflow-x: auto !important;
}

.kb-article-content pre code {
    background-color: transparent !important;
    color: inherit !important;
    padding: 0 !important;
}

/* Blockquotes */
.kb-article-content blockquote {
    border-left: 4px solid var(--brand-purple) !important;
    padding: 12px 20px !important;
    background-color: #f8fafc !important;
    margin: 20px 0 !important;
    font-size: 16px !important;
    font-style: italic !important;
    color: #475569 !important;
    border-radius: 0 8px 8px 0 !important;
}

/* Article Ratings & Feedback Box */
.kb-rate-article {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 20px 24px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin: 30px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
}

.kb-rate-article .btn-link {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--brand-purple) !important;
    text-decoration: none !important;
}

.kb-rate-article .btn-link:hover {
    color: var(--brand-pink) !important;
}

/* Knowledgebase Tag list and Details */
.kb-article-details {
    font-size: 14px !important;
    color: #64748b !important;
    margin: 20px 0 !important;
}

.kb-article-details li {
    font-size: 14px !important;
}

/* Related Articles / Knowledgebase Headings & Listing */
.kb-also-read h3,
.kbcategories-header h2,
.kbarticles-header h2,
#main-body .main-content h2,
#main-body .kb-search + h2 {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin-top: 35px !important;
    margin-bottom: 24px !important;
    letter-spacing: -0.3px !important;
}

/* Category Grid & Cards (.kbcategories) */
.kbcategories {
    font-size: 16px !important;
    margin-bottom: 30px !important;
}

.kbcategories [class*="col-"],
.kbcategories .col-sm-4 {
    margin-bottom: 24px !important;
}

/* Equal Medium Font Size (17px) for ALL Categories & Subcategories (Client Portal, Cpanel, Email Accounts, FTP, Secured Hosting, Server Issues, WHM, WordPress) */
.kbcategories a,
.kbcategories a:link,
.kbcategories a:visited,
.kbcategories [class*="col-"] a,
.kbcategories .col-sm-4 a,
.kbcategories div a,
.kbcategories p a,
.kbcategories p span a,
.kbcategories span a,
.kbcategories small a,
.kbcategories li a,
.kbcategories * a {
    font-size: 17px !important; /* Equal Medium font size for all categories & subcategories */
    font-weight: 700 !important;
    line-height: 1.5 !important;
    color: #0f172a !important; /* Crisp dark slate */
    text-decoration: none !important;
    display: inline-block !important;
    margin-right: 10px !important;
    margin-bottom: 6px !important;
    transition: color 0.2s ease !important;
}

.kbcategories a:hover,
.kbcategories a:focus,
.kbcategories * a:hover,
.kbcategories * a:focus {
    color: var(--brand-purple) !important;
    text-decoration: underline !important;
}

.kbcategories a i,
.kbcategories a .fas,
.kbcategories a .glyphicon,
.kbcategories a .glyphicon-folder-close,
.kbcategories a .fa-folder-open,
.kbcategories * a i {
    font-size: 18px !important;
    margin-right: 6px !important;
    color: var(--brand-purple) !important;
}

.kbcategories p,
.kbcategories .col-sm-4 p,
.kbcategories div p,
.kbcategories small {
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: #475569 !important; /* Slate 600 - crisp readable grey */
    margin-top: 4px !important;
    margin-bottom: 18px !important;
}

/* Popular Articles & Article Lists (.kbarticles) */
.kbarticles {
    font-size: 16px !important;
    margin-bottom: 35px !important;
}

.kbarticles > div {
    margin-bottom: 24px !important;
}

.kbarticles a,
.kbarticles a:link,
.kbarticles a:visited,
.kbarticles > div > a,
.kbarticles > a,
.kbarticles * a {
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    color: #0f172a !important; /* Crisp dark slate title for article links */
    text-decoration: none !important;
    display: inline-block !important;
    margin-bottom: 6px !important;
    transition: color 0.2s ease !important;
}

.kbarticles a:hover,
.kbarticles a:focus,
.kbarticles > div > a:hover,
.kbarticles > a:hover,
.kbarticles * a:hover {
    color: var(--brand-purple) !important;
    text-decoration: underline !important;
}

.kbarticles a i,
.kbarticles a .fas,
.kbarticles a .glyphicon,
.kbarticles a .glyphicon-file,
.kbarticles * a i {
    font-size: 18px !important;
    margin-right: 8px !important;
    color: var(--brand-purple) !important;
}

.kbarticles p,
.kbarticles > div > p,
.kbarticles * p {
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: #475569 !important; /* Crisp dark grey description */
    margin-top: 4px !important;
    margin-bottom: 20px !important;
}

/* Left Sidebar Categories Menu Overrides */
.sidebar .panel-sidebar .panel-title,
#Sidebar_Categories-Categories .panel-title {
    font-size: 15px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    color: #0f172a !important;
}

.sidebar .list-group-item,
.panel-sidebar .list-group-item,
#Sidebar_Categories-Categories .list-group-item {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    padding: 13px 20px !important;
    transition: all 0.2s ease !important;
}

.sidebar .list-group-item:hover,
.panel-sidebar .list-group-item:hover {
    background-color: rgba(138, 63, 252, 0.08) !important;
    color: var(--brand-purple) !important;
    padding-left: 25px !important;
}

.sidebar .list-group-item .badge,
.panel-sidebar .list-group-item .badge {
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 5px 11px !important;
    border-radius: 12px !important;
}

/* KB Search Box Input & Button */
.kb-search .form-control {
    font-size: 17px !important;
    height: 54px !important;
    padding-left: 22px !important;
    border-radius: 8px 0 0 8px !important;
}

.kb-search .btn-primary {
    height: 54px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 0 30px 30px 0 !important;
    padding: 0 32px !important;
}