/* VanityRent Custom Theme - Professional Black & Orange Design */
/* This file MUST be loaded AFTER all WHMCS default CSS files */

:root {
    --vanityrent-black: #0a0a0a;
    --vanityrent-dark-gray: #1a1a1a;
    --vanityrent-orange: #ff6b35;
    --vanityrent-orange-hover: #e55a2b;
    --vanityrent-white: #ffffff;
    --vanityrent-light-gray: #e0e0e0;
    --vanityrent-text-gray: #b0b0b0;
}

/* ===== GLOBAL OVERRIDES - FORCE DARK THEME ===== */
html, body {
    background-color: var(--vanityrent-black) !important;
    color: var(--vanityrent-white) !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    line-height: 1.6;
    min-height: 100vh;
    margin: 0 !important;
    padding: 0 !important;
}

body {
    background: var(--vanityrent-black) !important;
    color: var(--vanityrent-white) !important;
}

/* Override ALL WHMCS default backgrounds */
#main-body,
.main-content,
.container,
.row,
.col-md-12,
.col-md-8,
.col-md-4,
.col-sm-12,
.col-sm-7,
.col-sm-5,
.col-xs-12,
section,
div[class*="col-"] {
    background: transparent !important;
}

/* Override WHMCS default section backgrounds */
section#header,
section#main-menu,
section#main-body,
section#footer {
    background: transparent !important;
}

/* ===== COMPLETE NAVIGATION OVERHAUL ===== */
/* Remove ALL default WHMCS navigation */
section#header,
section#main-menu,
.navbar-main,
.navbar-default,
.navbar-inverse,
.navbar {
    display: none !important;
}

/* ===== CART & ORDER SUMMARY STYLING ===== */
/* Override all WHMCS blue colors with orange */
.cart-page,
.order-summary,
.ordersummary,
#cart,
#order-summary,
.cart-container,
.order-container {
    background-color: var(--vanityrent-black) !important;
}

/* Force all headings to use white text */
.cart-page h1, .cart-page h2, .cart-page h3, .cart-page h4, .cart-page h5, .cart-page h6,
.order-summary h1, .order-summary h2, .order-summary h3, .order-summary h4, .order-summary h5, .order-summary h6,
.ordersummary h1, .ordersummary h2, .ordersummary h3, .ordersummary h4, .ordersummary h5, .ordersummary h6 {
    color: var(--vanityrent-white) !important;
}

/* Override any remaining blue colors */
.text-primary,
.text-info,
.btn-primary,
.btn-info,
a[href*="#"],
a:not([class]) {
    color: var(--vanityrent-orange) !important;
}

/* ===== DATATABLES STYLING - CLIENT AREA ===== */
/* Entries bar styling - black background with orange outline */
.dataTables_wrapper .dataTables_length,
div.dataTables_wrapper div.dataTables_length {
    background-color: var(--vanityrent-black) !important;
    color: var(--vanityrent-white) !important;
    border: 2px solid var(--vanityrent-orange) !important;
    border-radius: 8px !important;
    padding: 8px 15px !important;
    margin: 10px 0 !important;
    font-size: 0.9em !important;
    display: flex !important;
    align-items: center !important;
}

.dataTables_wrapper .dataTables_length label,
div.dataTables_wrapper div.dataTables_length label {
    color: var(--vanityrent-white) !important;
    padding: 0 !important;
    margin: 0 !important;
    font-weight: 500 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.dataTables_wrapper .dataTables_length label .form-control,
div.dataTables_wrapper div.dataTables_length label .form-control,
.dataTables_wrapper .dataTables_length select,
div.dataTables_wrapper div.dataTables_length select {
    background-color: var(--vanityrent-dark-gray) !important;
    color: var(--vanityrent-white) !important;
    border: 1px solid var(--vanityrent-orange) !important;
    border-radius: 4px !important;
    padding: 4px 8px !important;
    height: 30px !important;
    margin: 0 !important;
    font-size: 0.9em !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.dataTables_wrapper .dataTables_length label .form-control:focus,
div.dataTables_wrapper div.dataTables_length label .form-control:focus,
.dataTables_wrapper .dataTables_length select:focus,
div.dataTables_wrapper div.dataTables_length select:focus {
    border-color: var(--vanityrent-orange) !important;
    box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.1) !important;
    outline: none !important;
}

/* Cart items and summary backgrounds */
.cart-items,
.cart-summary,
.order-summary,
.ordersummary {
    background-color: var(--vanityrent-black) !important;
    border: 2px solid rgba(255, 107, 53, 0.2) !important;
}

/* Order Summary Container - Force Black Background */
#order-standard_cart .summary-container,
.summary-container,
.order-summary .summary-container {
    background-color: var(--vanityrent-black) !important;
    color: var(--vanityrent-white) !important;
    border: 2px solid rgba(255, 107, 53, 0.2) !important;
    border-radius: 8px !important;
}

/* Order Summary Text Elements */
#order-standard_cart .summary-container *,
.summary-container *,
.order-summary .summary-container * {
    color: var(--vanityrent-white) !important;
}

/* Order Summary Specific Elements */
#order-standard_cart .subtotal,
#order-standard_cart .recurring-totals,
#order-standard_cart .total-due-today,
.subtotal,
.recurring-totals,
.total-due-today {
    background-color: var(--vanityrent-dark-gray) !important;
    border: 1px solid rgba(255, 107, 53, 0.1) !important;
    border-radius: 6px !important;
    padding: 10px 15px !important;
    margin-bottom: 10px !important;
}

/* Order Summary Buttons */
#order-standard_cart .btn-checkout,
#order-standard_cart .btn-continue-shopping,
.btn-checkout,
.btn-continue-shopping {
    background-color: var(--vanityrent-orange) !important;
    color: var(--vanityrent-white) !important;
    border-color: var(--vanityrent-orange) !important;
    border-radius: 8px !important;
    padding: 12px 24px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
}

#order-standard_cart .btn-checkout:hover,
#order-standard_cart .btn-continue-shopping:hover,
.btn-checkout:hover,
.btn-continue-shopping:hover {
    background-color: var(--vanityrent-orange-hover) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 15px rgba(255, 107, 53, 0.3) !important;
}

#order-standard_cart .btn-continue-shopping,
.btn-continue-shopping {
    background-color: transparent !important;
    color: var(--vanityrent-orange) !important;
    border-color: var(--vanityrent-orange) !important;
}

#order-standard_cart .btn-continue-shopping:hover,
.btn-continue-shopping:hover {
    background-color: var(--vanityrent-orange) !important;
    color: var(--vanityrent-white) !important;
}

.cart-item,
.order-item {
    background-color: var(--vanityrent-dark-gray) !important;
    border: 1px solid rgba(255, 107, 53, 0.1) !important;
}

/* Our custom navigation */
.vanityrent-navbar {
    background: linear-gradient(135deg, var(--vanityrent-black) 0%, var(--vanityrent-dark-gray) 100%) !important;
    padding: 0 !important;
    box-shadow: 0 4px 20px rgba(255, 107, 53, 0.1) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    width: 100% !important;
}

.nav-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 80px !important;
}

.nav-logo {
    display: flex !important;
    align-items: center !important;
}

.nav-logo a {
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
    color: var(--vanityrent-white) !important;
    gap: 15px !important;
}

.logo-icon {
    width: 50px !important;
    height: 50px !important;
    background: var(--vanityrent-orange) !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 20px rgba(255, 107, 53, 0.3) !important;
    flex-shrink: 0 !important;
}

.logo-icon svg {
    width: 30px !important;
    height: 30px !important;
    fill: var(--vanityrent-white) !important;
}

.logo-text {
    display: flex !important;
    flex-direction: column !important;
}

.brand-name {
    font-size: 1.8em !important;
    font-weight: 700 !important;
    color: var(--vanityrent-white) !important;
    line-height: 1 !important;
}

.brand-tagline {
    font-size: 0.8em !important;
    color: var(--vanityrent-text-gray) !important;
    font-weight: 400 !important;
}

.nav-links {
    display: flex !important;
    align-items: center !important;
    gap: 30px !important;
}

.nav-link {
    color: var(--vanityrent-white) !important;
    font-weight: 500 !important;
    padding: 15px 20px !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.nav-link:hover,
.nav-link.active {
    color: var(--vanityrent-orange) !important;
    background: rgba(255, 107, 53, 0.1) !important;
    text-decoration: none !important;
}

.nav-link i {
    font-size: 1.1em !important;
}

.nav-actions {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
}

.nav-btn {
    border-radius: 25px !important;
    padding: 12px 25px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.nav-btn.btn-primary {
    background: var(--vanityrent-orange) !important;
    border: 2px solid var(--vanityrent-orange) !important;
    color: var(--vanityrent-white) !important;
}

.nav-btn.btn-primary:hover {
    background: var(--vanityrent-orange-hover) !important;
    border-color: var(--vanityrent-orange-hover) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(255, 107, 53, 0.3) !important;
}

.nav-btn.btn-secondary {
    background: transparent !important;
    border: 2px solid var(--vanityrent-orange) !important;
    color: var(--vanityrent-orange) !important;
}

.nav-btn.btn-secondary:hover {
    background: var(--vanityrent-orange) !important;
    color: var(--vanityrent-white) !important;
    transform: translateY(-2px) !important;
}

.nav-mobile-toggle {
    display: none !important;
}

.mobile-toggle-btn {
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 10px !important;
}

.mobile-toggle-btn span {
    display: block !important;
    width: 25px !important;
    height: 3px !important;
    background: var(--vanityrent-orange) !important;
    margin: 5px 0 !important;
    transition: all 0.3s ease !important;
}

/* ===== MAIN BODY OVERRIDES ===== */
#main-body {
    background: var(--vanityrent-black) !important;
    padding: 40px 0 !important;
    min-height: 100vh !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.main-content {
    background: var(--vanityrent-dark-gray) !important;
    border-radius: 16px !important;
    padding: 40px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3) !important;
    border: 1px solid rgba(255, 107, 53, 0.1) !important;
    margin-bottom: 60px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* ===== HOMEPAGE BANNER - ONLY TOP AND BOTTOM LINES ===== */
#home-banner {
    background: linear-gradient(135deg, var(--vanityrent-black) 0%, var(--vanityrent-dark-gray) 100%) !important;
    padding: 80px 0 !important;
    margin: 0 !important;
    border-top: 2px solid var(--vanityrent-orange) !important;
    border-bottom: 2px solid var(--vanityrent-orange) !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.banner-content {
    text-align: center !important;
}

.banner-subtitle {
    color: var(--vanityrent-text-gray) !important;
    font-size: 1.1em !important;
    margin-bottom: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 15px !important;
}

.accent-line {
    width: 40px !important;
    height: 3px !important;
    background: var(--vanityrent-orange) !important;
    border-radius: 2px !important;
}

.banner-title {
    color: var(--vanityrent-white) !important;
    font-size: 3.5em !important;
    font-weight: 700 !important;
    margin-bottom: 30px !important;
    line-height: 1.2 !important;
}

.banner-title .highlight {
    color: var(--vanityrent-orange) !important;
}

.banner-description {
    color: var(--vanityrent-text-gray) !important;
    font-size: 1.2em !important;
    line-height: 1.6 !important;
    margin-bottom: 40px !important;
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.banner-stats {
    display: flex !important;
    justify-content: center !important;
    gap: 40px !important;
    margin-bottom: 40px !important;
    flex-wrap: wrap !important;
}

.stat-item {
    text-align: center !important;
}

.stat-number {
    color: var(--vanityrent-orange) !important;
    font-size: 2.5em !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.stat-label {
    color: var(--vanityrent-text-gray) !important;
    font-size: 0.9em !important;
    margin-top: 5px !important;
}

.banner-actions {
    display: flex !important;
    gap: 20px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
}

/* ===== HOMEPAGE SHORTCUTS - NO CUT CORNERS ===== */
.home-shortcuts {
    background: var(--vanityrent-dark-gray) !important;
    padding: 40px !important;
    margin: 20px 0 !important;
    border: 1px solid rgba(255, 107, 53, 0.1) !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.home-shortcuts ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
}

.home-shortcuts li {
    flex: 1 !important;
    min-width: 200px !important;
    max-width: 250px !important;
}

.home-shortcuts li a {
    display: block !important;
    padding: 30px 20px !important;
    background: var(--vanityrent-black) !important;
    color: var(--vanityrent-white) !important;
    text-decoration: none !important;
    border-radius: 16px !important;
    border: 2px solid rgba(255, 107, 53, 0.2) !important;
    transition: all 0.3s ease !important;
    text-align: center !important;
    height: 100% !important;
}

.home-shortcuts li a:hover {
    border-color: var(--vanityrent-orange) !important;
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 30px rgba(255, 107, 53, 0.2) !important;
}

.home-shortcuts li a i {
    font-size: 2.5em !important;
    color: var(--vanityrent-orange) !important;
    margin-bottom: 15px !important;
    display: block !important;
}

.home-shortcuts li a p {
    margin: 0 !important;
    font-weight: 500 !important;
}

.home-shortcuts li a span {
    color: var(--vanityrent-orange) !important;
    font-weight: 600 !important;
}

/* ===== HOMEPAGE BOXES - NARROWER WIDTH ===== */
.vanityrent-homepage {
    padding: 40px 0 !important;
    background: var(--vanityrent-black) !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.vanityrent-homepage .container {
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

.vanityrent-homepage .row {
    margin: 0 -15px !important;
}

.vanityrent-homepage .col-md-4 {
    padding: 0 15px !important;
}

/* ===== FORMS ===== */
.form-control {
    background: var(--vanityrent-black) !important;
    border: 2px solid rgba(255, 107, 53, 0.2) !important;
    color: var(--vanityrent-white) !important;
    border-radius: 12px !important;
    padding: 15px 20px !important;
    font-size: 16px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
}

.form-control:focus {
    border-color: var(--vanityrent-orange) !important;
    box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.1) !important;
    outline: none !important;
    transform: translateY(-2px) !important;
}

/* Fix input field icon overlap - only for fields with icons */
.input-group .form-control {
    padding-left: 50px !important;
}

.input-group-addon,
.input-group-text {
    position: absolute !important;
    left: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    background: transparent !important;
    border: none !important;
    color: var(--vanityrent-orange) !important;
    font-size: 18px !important;
    pointer-events: none !important;
}

/* Remove any blue lines from home shortcuts */
.home-shortcuts *,
.home-shortcuts *::before,
.home-shortcuts *::after {
    border-color: transparent !important;
    outline-color: transparent !important;
}

.home-shortcuts li a,
.home-shortcuts li a:hover,
.home-shortcuts li a:focus,
.home-shortcuts li a:active {
    border-color: rgba(255, 107, 53, 0.2) !important;
    outline: none !important;
}

.home-shortcuts li a:hover {
    border-color: var(--vanityrent-orange) !important;
}

.form-control:focus {
    border-color: var(--vanityrent-orange) !important;
    box-shadow: 0 0 0 0.2rem rgba(255, 107, 53, 0.25) !important;
    background: var(--vanityrent-dark-gray) !important;
}

.form-control::placeholder {
    color: var(--vanityrent-text-gray) !important;
}

/* ===== BUTTONS ===== */
.btn {
    border-radius: 12px !important;
    font-weight: 600 !important;
    padding: 12px 30px !important;
    transition: all 0.3s ease !important;
    border: none !important;
    text-decoration: none !important;
    display: inline-block !important;
}

.btn-primary {
    background: var(--vanityrent-orange) !important;
    color: var(--vanityrent-white) !important;
    border: 2px solid var(--vanityrent-orange) !important;
}

.btn-primary:hover {
    background: var(--vanityrent-orange-hover) !important;
    border-color: var(--vanityrent-orange-hover) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(255, 107, 53, 0.3) !important;
}

.btn-default {
    background: transparent !important;
    color: var(--vanityrent-white) !important;
    border: 2px solid var(--vanityrent-orange) !important;
}

.btn-default:hover {
    background: var(--vanityrent-orange) !important;
    color: var(--vanityrent-white) !important;
    transform: translateY(-2px) !important;
}

.btn-lg {
    padding: 15px 40px !important;
    font-size: 1.1em !important;
}

.btn-block {
    display: block !important;
    width: 100% !important;
}

/* ===== FOOTER COMPLETE OVERRIDE ===== */
#footer {
    background: var(--vanityrent-dark-gray) !important;
    color: var(--vanityrent-text-gray) !important;
    border-top: 2px solid rgba(255, 107, 53, 0.2) !important;
    padding: 40px 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.footer-content {
    margin-bottom: 40px !important;
}

.footer-section {
    margin-bottom: 30px !important;
}

.footer-section h3,
.footer-section h4 {
    color: var(--vanityrent-white) !important;
    font-weight: 600 !important;
    margin-bottom: 20px !important;
}

.footer-section h3 {
    font-size: 1.5em !important;
}

.footer-section h4 {
    font-size: 1.2em !important;
}

.footer-logo {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    margin-bottom: 20px !important;
}

.footer-logo .vanityrent-logo-icon {
    width: 50px !important;
    height: 50px !important;
    background: var(--vanityrent-orange) !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 20px rgba(255, 107, 53, 0.3) !important;
    flex-shrink: 0 !important;
}

.footer-logo .vanityrent-logo-icon svg {
    width: 30px !important;
    height: 30px !important;
    fill: var(--vanityrent-white) !important;
}

.footer-logo h3 {
    color: var(--vanityrent-white) !important;
    font-weight: 700 !important;
    margin: 0 !important;
    font-size: 1.3em !important;
}

.footer-logo p {
    color: var(--vanityrent-text-gray) !important;
    margin: 0 !important;
    font-size: 0.9em !important;
}

.footer-description {
    color: var(--vanityrent-text-gray) !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
}

.footer-links {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.footer-links li {
    margin-bottom: 10px !important;
}

.footer-links a {
    color: var(--vanityrent-text-gray) !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.footer-links a:hover {
    color: var(--vanityrent-orange) !important;
    text-decoration: none !important;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 107, 53, 0.1) !important;
    padding-top: 30px !important;
}

.copyright {
    color: var(--vanityrent-text-gray) !important;
    margin: 0 !important;
}

.social-links {
    display: flex !important;
    gap: 15px !important;
    justify-content: flex-end !important;
}

.social-link {
    width: 40px !important;
    height: 40px !important;
    background: var(--vanityrent-black) !important;
    border: 2px solid rgba(255, 107, 53, 0.2) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--vanityrent-text-gray) !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.social-link:hover {
    border-color: var(--vanityrent-orange) !important;
    color: var(--vanityrent-orange) !important;
    transform: translateY(-2px) !important;
}

.back-to-top {
    position: fixed !important;
    bottom: 30px !important;
    right: 30px !important;
    width: 50px !important;
    height: 50px !important;
    background: var(--vanityrent-orange) !important;
    color: var(--vanityrent-white) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    z-index: 1000 !important;
}

.back-to-top:hover {
    background: var(--vanityrent-orange-hover) !important;
    color: var(--vanityrent-white) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 25px rgba(255, 107, 53, 0.3) !important;
}

/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 768px) {
    .nav-container {
        padding: 0 15px !important;
        height: 70px !important;
    }
    
    .nav-links {
        display: none !important;
    }
    
    .nav-actions {
        display: none !important;
    }
    
    .nav-mobile-toggle {
        display: block !important;
    }
    
    .brand-name {
        font-size: 1.5em !important;
    }
    
    .brand-tagline {
        font-size: 0.7em !important;
    }
    
    .banner-title {
        font-size: 2.5em !important;
    }
    
    .banner-stats {
        gap: 20px !important;
    }
    
    .home-shortcuts li {
        min-width: 150px !important;
    }
    
    .footer-logo {
        flex-direction: column !important;
        text-align: center !important;
        gap: 10px !important;
    }
    
    .social-links {
        justify-content: center !important;
    }
    
    .footer-bottom .row > div {
        text-align: center !important;
        margin-bottom: 20px !important;
    }
}

/* ===== OVERRIDE WHITE BACKGROUNDS TO BLACK ===== */
/* Override any WHMCS default white backgrounds */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
select,
textarea,
.form-control,
.field,
.panel,
.panel-default,
.panel-body,
.card,
.card-body,
.modal-content,
.modal-body,
.alert,
.alert-info,
.alert-success,
.alert-warning,
.alert-danger,
.list-group-item,
.table,
.table-striped > tbody > tr:nth-of-type(odd),
.nav-tabs > li > a,
.tab-content,
.tab-pane,
.well,
.popover,
.tooltip-inner,
.dropdown-menu,
.dropdown-menu > li > a,
.breadcrumb,
.pagination > li > a,
.pagination > li > span,
.btn-default,
.btn-default:hover,
.btn-default:focus,
.btn-default:active,
.input-group-addon,
.input-group-text {
    background-color: var(--vanityrent-black) !important;
    background: var(--vanityrent-black) !important;
}

/* Override specific WHMCS elements */
#main-body .panel,
#main-body .card,
#main-body .well,
#main-body .alert,
#main-body .form-control,
#main-body input,
#main-body select,
#main-body textarea {
    background-color: var(--vanityrent-black) !important;
    background: var(--vanityrent-black) !important;
}

/* Override any remaining white backgrounds */
*[style*="background-color: white"],
*[style*="background: white"],
*[style*="background-color: #fff"],
*[style*="background: #fff"],
*[style*="background-color: #ffffff"],
*[style*="background: #ffffff"] {
    background-color: var(--vanityrent-black) !important;
    background: var(--vanityrent-black) !important;
}

/* Heroicons styling for registration form */
.heroicon {
    width: 20px !important;
    height: 20px !important;
    color: var(--vanityrent-orange) !important;
    flex-shrink: 0 !important;
}

/* Fix prepend-icon positioning to prevent text overlap */
.prepend-icon {
    position: relative !important;
}

.prepend-icon .form-control,
.prepend-icon .field {
    padding-left: 50px !important;
}

.prepend-icon .field-icon {
    position: absolute !important;
    left: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    background: transparent !important;
    border: none !important;
    color: var(--vanityrent-orange) !important;
    font-size: 18px !important;
    pointer-events: none !important;
    width: 20px !important;
    height: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Fix any remaining white backgrounds on panels and containers */
.panel,
.panel-default,
.panel-heading,
.panel-body,
.panel-footer,
.card,
.card-header,
.card-body,
.card-footer,
.well,
.alert,
.modal-content,
.modal-header,
.modal-body,
.modal-footer {
    background: var(--vanityrent-black) !important;
    border-color: rgba(255, 107, 53, 0.2) !important;
}

.panel-heading,
.card-header,
.modal-header {
    background: var(--vanityrent-dark-gray) !important;
    border-bottom: 1px solid rgba(255, 107, 53, 0.2) !important;
}

/* Fix white outlines and borders */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
textarea,
.form-control,
.field {
    border-color: rgba(255, 107, 53, 0.2) !important;
    outline-color: rgba(255, 107, 53, 0.2) !important;
}

/* Fix sub-heading backgrounds and lines */
.sub-heading {
    background: var(--vanityrent-black) !important;
    border: none !important;
    color: var(--vanityrent-white) !important;
}

.sub-heading span {
    background: var(--vanityrent-black) !important;
    color: var(--vanityrent-white) !important;
}

/* Fix marketing email opt-in background */
.marketing-email-optin {
    background: var(--vanityrent-black) !important;
    padding: 20px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255, 107, 53, 0.2) !important;
    margin: 20px 0 !important;
}

.marketing-email-optin h4 {
    color: var(--vanityrent-white) !important;
}

.marketing-email-optin p {
    color: var(--vanityrent-text-gray) !important;
}

/* Fix any remaining pagination backgrounds */
.pagination > li > a,
.pagination > li > span {
    background: var(--vanityrent-black) !important;
    border-color: rgba(255, 107, 53, 0.2) !important;
    color: var(--vanityrent-white) !important;
}

.pagination > li.active > a,
.pagination > li.active > span {
    background: var(--vanityrent-orange) !important;
    border-color: var(--vanityrent-orange) !important;
    color: var(--vanityrent-white) !important;
}

.pagination > li > a:hover {
    background: var(--vanityrent-dark-gray) !important;
    border-color: var(--vanityrent-orange) !important;
    color: var(--vanityrent-orange) !important;
}

/* Fix any remaining white elements */
.panel-default,
.panel-default > .panel-heading,
.panel-default > .panel-body,
.panel-default > .panel-footer {
    background: var(--vanityrent-black) !important;
    border-color: rgba(255, 107, 53, 0.2) !important;
}

.panel-default > .panel-heading {
    background: var(--vanityrent-dark-gray) !important;
    border-bottom: 1px solid rgba(255, 107, 53, 0.2) !important;
}

.panel-title {
    color: var(--vanityrent-white) !important;
}

/* Fix checkbox and radio button backgrounds */
input[type="checkbox"],
input[type="radio"] {
    background: var(--vanityrent-black) !important;
    border-color: rgba(255, 107, 53, 0.2) !important;
}

/* Fix toggle switch backgrounds */
.toggle-switch-success {
    background: var(--vanityrent-black) !important;
}

/* Fix any remaining form elements */
.form-group label {
    color: var(--vanityrent-white) !important;
}

.field-help-text {
    color: var(--vanityrent-text-gray) !important;
}

/* Fix tospanel background */
.tospanel {
    background: var(--vanityrent-black) !important;
    border-color: rgba(255, 107, 53, 0.2) !important;
}

.tospanel .panel-heading {
    background: var(--vanityrent-dark-gray) !important;
    border-bottom: 1px solid rgba(255, 107, 53, 0.2) !important;
}

.tospanel .panel-body {
    background: var(--vanityrent-black) !important;
}

/* Fix any remaining alert backgrounds */
.alert {
    background: var(--vanityrent-black) !important;
    border-color: rgba(255, 107, 53, 0.2) !important;
}

.alert-danger {
    background: rgba(220, 53, 69, 0.1) !important;
    border-color: rgba(220, 53, 69, 0.3) !important;
}

.alert-info {
    background: rgba(23, 162, 184, 0.1) !important;
    border-color: rgba(23, 162, 184, 0.3) !important;
}

.alert-success {
    background: rgba(40, 167, 69, 0.1) !important;
    border-color: rgba(40, 167, 69, 0.3) !important;
}

.alert-warning {
    background: rgba(255, 193, 7, 0.1) !important;
    border-color: rgba(255, 193, 7, 0.3) !important;
}

/* Fix any remaining button backgrounds */
.btn-default {
    background: var(--vanityrent-black) !important;
    border-color: rgba(255, 107, 53, 0.2) !important;
    color: var(--vanityrent-white) !important;
}

.btn-default:hover {
    background: var(--vanityrent-dark-gray) !important;
    border-color: var(--vanityrent-orange) !important;
    color: var(--vanityrent-orange) !important;
}

/* Fix any remaining table backgrounds */
.table {
    background: var(--vanityrent-black) !important;
}

.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
    background: var(--vanityrent-black) !important;
    border-color: rgba(255, 107, 53, 0.2) !important;
    color: var(--vanityrent-white) !important;
}

/* Fix any remaining list group backgrounds */
.list-group-item {
    background: var(--vanityrent-black) !important;
    border-color: rgba(255, 107, 53, 0.2) !important;
    color: var(--vanityrent-white) !important;
}

.list-group-item:hover {
    background: var(--vanityrent-dark-gray) !important;
    border-color: var(--vanityrent-orange) !important;
}

/* Fix any remaining navigation backgrounds */
.nav-tabs > li > a {
    background: var(--vanityrent-black) !important;
    border-color: rgba(255, 107, 53, 0.2) !important;
    color: var(--vanityrent-white) !important;
}

.nav-tabs > li.active > a {
    background: var(--vanityrent-dark-gray) !important;
    border-color: var(--vanityrent-orange) !important;
    color: var(--vanityrent-orange) !important;
}

/* Fix dropdown styling */
select {
    background: var(--vanityrent-black) !important;
    color: var(--vanityrent-white) !important;
    border: 2px solid rgba(255, 107, 53, 0.2) !important;
    border-radius: 12px !important;
    padding: 15px 20px !important;
    padding-right: 50px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23ff6b35' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 20px !important;
}

select:focus {
    border-color: var(--vanityrent-orange) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.1) !important;
}

/* Fix country selection text visibility */
select option {
    background: var(--vanityrent-black) !important;
    color: var(--vanityrent-white) !important;
    padding: 10px !important;
}

select option:hover {
    background: var(--vanityrent-dark-gray) !important;
}

select option:checked {
    background: var(--vanityrent-orange) !important;
    color: var(--vanityrent-white) !important;
}

/* Remove country flag and fix phone input */
.input-group .form-control {
    padding-left: 50px !important;
}

.input-group-addon,
.input-group-text {
    position: absolute !important;
    left: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    background: transparent !important;
    border: none !important;
    color: var(--vanityrent-orange) !important;
    font-size: 18px !important;
    pointer-events: none !important;
}

/* Fix dropdown menu backgrounds */
.dropdown-menu {
    background: var(--vanityrent-black) !important;
    border: 2px solid rgba(255, 107, 53, 0.2) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3) !important;
}

.dropdown-menu > li > a {
    background: var(--vanityrent-black) !important;
    color: var(--vanityrent-white) !important;
    border: none !important;
}

.dropdown-menu > li > a:hover {
    background: var(--vanityrent-dark-gray) !important;
    color: var(--vanityrent-orange) !important;
}

/* Fix phone field styling - remove flag and add dropdown arrow */
.phone-field-container {
    position: relative !important;
}

.phone-field-container .form-control {
    padding-left: 50px !important;
    padding-right: 50px !important;
}

.phone-field-container .phone-icon {
    position: absolute !important;
    left: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    background: transparent !important;
    border: none !important;
    color: var(--vanityrent-orange) !important;
    font-size: 18px !important;
    pointer-events: none !important;
}

.phone-field-container .dropdown-arrow {
    position: absolute !important;
    right: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    background: transparent !important;
    border: none !important;
    color: var(--vanityrent-orange) !important;
    font-size: 18px !important;
    pointer-events: none !important;
    transition: transform 0.3s ease !important;
}

.phone-field-container .dropdown-arrow.open {
    transform: translateY(-50%) rotate(180deg) !important;
}

/* Fix text styling consistency for all fields */
.form-control,
.field,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
textarea,
select {
    background: var(--vanityrent-black) !important;
    color: var(--vanityrent-white) !important;
    border: 2px solid rgba(255, 107, 53, 0.2) !important;
    border-radius: 12px !important;
    padding: 15px 20px !important;
    font-size: 16px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
}

.form-control:focus,
.field:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus {
    border-color: var(--vanityrent-orange) !important;
    box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.1) !important;
    outline: none !important;
    transform: translateY(-2px) !important;
}

/* Fix any remaining white backgrounds on form elements */
.form-control,
.field,
input,
select,
textarea,
.prepend-icon .form-control,
.prepend-icon .field {
    background: var(--vanityrent-black) !important;
    color: var(--vanityrent-white) !important;
}

/* Override any WHMCS default styling that might cause white backgrounds */
*[class*="form-control"],
*[class*="field"],
*[class*="input"],
*[class*="select"],
*[class*="textarea"] {
    background: var(--vanityrent-black) !important;
    color: var(--vanityrent-white) !important;
}

/* Fix any remaining dropdown backgrounds */
.dropdown,
.dropdown-toggle,
.dropdown-menu,
.dropdown-item,
.dropdown-divider {
    background: var(--vanityrent-black) !important;
    border-color: rgba(255, 107, 53, 0.2) !important;
}

.dropdown-item {
    color: var(--vanityrent-white) !important;
}

.dropdown-item:hover {
    background: var(--vanityrent-dark-gray) !important;
    color: var(--vanityrent-orange) !important;
}

/* Fix any remaining breadcrumb backgrounds */
.breadcrumb {
    background: var(--vanityrent-black) !important;
    border-color: rgba(255, 107, 53, 0.2) !important;
}

.breadcrumb > li > a {
    color: var(--vanityrent-orange) !important;
}

.breadcrumb > li.active {
    color: var(--vanityrent-text-gray) !important;
}

#order-standard_cart .product-info *,
#order-standard_cart .order-summary * {
    color: #ffffff !important;
}

/* ===== CART CONFIGURATION PAGE FIXES ===== */

/* Fix product-info white background */
.product-info {
    background-color: #000000 !important;
    border: 2px solid rgba(255, 107, 53, 0.2) !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    padding: 15px 20px !important;
    margin: 0 0 20px 0 !important;
}

.product-info .product-title {
    color: #ffffff !important;
    font-weight: 600 !important;
    margin: 0 0 10px 0 !important;
}

.product-info p {
    color: #ffffff !important;
    margin: 0 !important;
    line-height: 1.6 !important;
}

/* Fix billing cycle dropdown */
select[name="billingcycle"] {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 2px solid rgba(255, 107, 53, 0.3) !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23ff6b35' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 20px !important;
    padding-right: 45px !important;
    line-height: 1.2 !important;
    height: auto !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    vertical-align: middle !important;
}

select[name="billingcycle"]:hover {
    border-color: #ff6b35 !important;
    box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.1) !important;
}

select[name="billingcycle"]:focus {
    border-color: #ff6b35 !important;
    box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.2) !important;
    outline: none !important;
}

select[name="billingcycle"] option {
    background-color: #000000 !important;
    color: #ffffff !important;
    padding: 12px 16px !important;
    line-height: 1.2 !important;
    height: auto !important;
    min-height: 24px !important;
    display: flex !important;
    align-items: center !important;
}

select[name="billingcycle"] option:checked {
    background-color: #ff6b35 !important;
    color: #ffffff !important;
}

select[name="billingcycle"] option:hover {
    background-color: #ff6b35 !important;
    color: #ffffff !important;
}

/* Fix billing cycle label */
label[for="inputBillingcycle"] {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    margin-bottom: 8px !important;
    display: block !important;
}

/* Fix any remaining white backgrounds in cart */
#order-standard_cart .product-info,
#order-standard_cart .order-summary,
#order-standard_cart .summary-container {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Override any WHMCS default styling */
#order-standard_cart * {
    color: inherit !important;
}

#order-standard_cart .product-info *,
#order-standard_cart .order-summary * {
    color: #ffffff !important;
}

/* ===== CART REVIEW PAGE FIXES ===== */

/* Fix cart items white backgrounds */
.view-cart-items .item {
    background-color: #000000 !important;
    border: 2px solid rgba(255, 107, 53, 0.2) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-bottom: 15px !important;
    color: #ffffff !important;
}

.view-cart-items .item-title {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 16px !important;
}

.view-cart-items .item-group {
    color: var(--vanityrent-orange) !important;
    font-size: 14px !important;
    opacity: 0.8 !important;
}

.view-cart-items .item-qty input {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 2px solid rgba(255, 107, 53, 0.3) !important;
    border-radius: 8px !important;
}

.view-cart-items .item-price {
    color: #ffffff !important;
}

.view-cart-items .item-price .cycle {
    color: var(--vanityrent-orange) !important;
    font-size: 14px !important;
    opacity: 0.8 !important;
}

/* Fix cart header */
.view-cart-items-header {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 2px solid rgba(255, 107, 53, 0.2) !important;
    border-radius: 8px !important;
    padding: 15px 20px !important;
    margin-bottom: 20px !important;
    font-weight: 600 !important;
}

/* Fix promo code section */
.view-cart-tabs {
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-top: 0 !important;
}

.view-cart-tabs .nav-tabs {
    border-bottom: none !important;
}

.view-cart-tabs .nav-tabs .nav-link {
    color: #ffffff !important;
    background-color: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
}

.view-cart-tabs .nav-tabs .nav-link.active {
    color: var(--vanityrent-orange) !important;
    border-bottom-color: var(--vanityrent-orange) !important;
}

.view-cart-tabs .tab-content {
    background-color: transparent !important;
    color: #ffffff !important;
}

/* Fix form elements in cart */
.view-cart-tabs .form-control,
.view-cart-tabs input,
.view-cart-tabs select {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 2px solid rgba(255, 107, 53, 0.3) !important;
    border-radius: 8px !important;
}

/* Fix quantity input specifically */
.view-cart-items .item-qty input[type="number"] {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 2px solid rgba(255, 107, 53, 0.3) !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    min-height: 40px !important;
    line-height: 1.2 !important;
    display: flex !important;
    align-items: center !important;
}

.view-cart-items .item-qty input[type="number"]:focus {
    border-color: var(--vanityrent-orange) !important;
    box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.1) !important;
    outline: none !important;
}

/* Fix any remaining input visibility issues */
.view-cart-items input,
.view-cart-items .form-control {
    background-color: #000000 !important;
    color: #ffffff !important;
}

.view-cart-tabs .form-control:focus,
.view-cart-tabs input:focus,
.view-cart-tabs select:focus {
    border-color: var(--vanityrent-orange) !important;
    box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.1) !important;
}

/* Fix buttons in cart */
.view-cart-tabs .btn,
.view-cart-items .btn {
    background-color: var(--vanityrent-orange) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 8px 16px !important;
    font-size: 14px !important;
    transition: all 0.3s ease !important;
}

.view-cart-tabs .btn:hover,
.view-cart-items .btn:hover {
    background-color: var(--vanityrent-orange-hover) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(255, 107, 53, 0.3) !important;
}

/* Fix empty cart button */
.empty-cart .btn {
    background-color: transparent !important;
    color: var(--vanityrent-orange) !important;
    border: 2px solid var(--vanityrent-orange) !important;
    margin-top: 20px !important;
}

.empty-cart .btn:hover {
    background-color: var(--vanityrent-orange) !important;
    color: #ffffff !important;
}

/* Fix any remaining white backgrounds */
.secondary-cart-body,
.view-cart-items,
.view-cart-tabs,
.tab-content,
.tab-pane {
    background-color: transparent !important;
    color: #ffffff !important;
}

/* Fix blue line under Review & Checkout heading */
.header-lined {
    border-bottom: none !important;
    background: none !important;
}

.header-lined h1 {
    color: #ffffff !important;
    border-bottom: none !important;
    background: none !important;
}

/* Remove any default WHMCS blue lines */
.header-lined::after,
.header-lined::before {
    display: none !important;
}

/* Fix any other blue lines that might appear */
*[class*="header-lined"] {
    border-bottom: none !important;
    background: none !important;
}

/* Remove blue lines from cart items container */
.view-cart-items {
    border: none !important;
    background: none !important;
    box-shadow: none !important;
}

.view-cart-items::before,
.view-cart-items::after {
    display: none !important;
    border: none !important;
}

/* Restore proper orange borders for cart items */
.view-cart-items .item {
    border: 2px solid rgba(255, 107, 53, 0.2) !important;
    border-radius: 8px !important;
    background-color: #000000 !important;
    margin-bottom: 15px !important;
    padding: 15px !important;
    box-shadow: none !important;
}

.view-cart-items .item::before,
.view-cart-items .item::after {
    display: none !important;
    border: none !important;
}

/* Remove any remaining blue borders/lines but keep orange theme */
.view-cart-items *,
.view-cart-items *::before,
.view-cart-items *::after {
    border-color: rgba(255, 107, 53, 0.2) !important;
}

/* Ensure no blue lines appear anywhere in cart */
#order-standard_cart *,
.secondary-cart-body * {
    border-color: rgba(255, 107, 53, 0.2) !important;
}

/* Remove orange line above promo code field specifically */
.view-cart-tabs .tab-content .form-group:has(input[name="promocode"]) {
    border-top: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

.view-cart-tabs .tab-content .form-group:has(input[name="promocode"])::before,
.view-cart-tabs .tab-content .form-group:has(input[name="promocode"])::after {
    display: none !important;
    border: none !important;
    background: none !important;
}

/* Remove promo code field icon */
.view-cart-tabs .tab-content .form-group:has(input[name="promocode"]) .input-group-addon,
.view-cart-tabs .tab-content .form-group:has(input[name="promocode"]) .input-group-text,
.view-cart-tabs .tab-content .form-group:has(input[name="promocode"]) i,
.view-cart-tabs .tab-content .form-group:has(input[name="promocode"]) .fas,
.view-cart-tabs .tab-content .form-group:has(input[name="promocode"]) .fa {
    display: none !important;
}

/* Target promo code field directly */
input[name="promocode"] {
    border: 2px solid rgba(255, 107, 53, 0.3) !important;
    border-radius: 8px !important;
    background-color: #000000 !important;
    color: #ffffff !important;
    padding: 10px 15px !important;
    box-shadow: none !important;
}

/* Remove any remaining orange lines from promo code area */
.view-cart-tabs .tab-content .form-group:has(input[name="promocode"]) * {
    border-top: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

/* Remove the orange line 20px above the promo code field */
.view-cart-tabs .tab-content .form-group:has(input[name="promocode"]) {
    position: relative !important;
}

.view-cart-tabs .tab-content .form-group:has(input[name="promocode"])::before {
    content: none !important;
    display: none !important;
}

/* Target any element that might be creating the orange line above */
.view-cart-tabs .tab-content .form-group:has(input[name="promocode"]) + *,
.view-cart-tabs .tab-content .form-group:has(input[name="promocode"]) ~ * {
    border-top: none !important;
    border-bottom: none !important;
    background: none !important;
    box-shadow: none !important;
}

/* Remove any orange lines from parent containers */
.view-cart-tabs .tab-content:has(.form-group:has(input[name="promocode"])) {
    border-top: none !important;
    border-bottom: none !important;
}

/* Target the specific orange line above promo code */
.view-cart-tabs .tab-content .form-group:has(input[name="promocode"]) {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove any decorative elements above the promo code field */
.view-cart-tabs .tab-content .form-group:has(input[name="promocode"]) {
    background: none !important;
}

/* Force remove any orange lines in the entire promo code area */
.view-cart-tabs .tab-content .form-group:has(input[name="promocode"]),
.view-cart-tabs .tab-content .form-group:has(input[name="promocode"]) *,
.view-cart-tabs .tab-content .form-group:has(input[name="promocode"])::before,
.view-cart-tabs .tab-content .form-group:has(input[name="promocode"])::after {
    border-top: none !important;
    border-bottom: none !important;
    background: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Ensure all text is visible */
.secondary-cart-body *,
.view-cart-items *,
.view-cart-tabs * {
    color: inherit !important;
}

/* ===== REBUILT PROMO CODE SECTION ===== */

/* Create new promo code container with fresh classes */
.promo-code-section-rebuilt {
    background-color: #000000 !important;
    border: 2px solid rgba(255, 107, 53, 0.2) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-top: 20px !important;
    position: relative !important;
}

.promo-code-section-rebuilt::before,
.promo-code-section-rebuilt::after {
    display: none !important;
    content: none !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
}

/* Rebuilt promo code input field */
.promo-code-input-rebuilt {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 2px solid rgba(255, 107, 53, 0.3) !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    font-size: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: border-color 0.3s ease !important;
}

.promo-code-input-rebuilt:focus {
    border-color: var(--vanityrent-orange) !important;
    box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.1) !important;
}

/* Rebuilt validate code button */
.validate-code-btn-rebuilt {
    background-color: var(--vanityrent-orange) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 24px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-top: 15px !important;
    display: inline-block !important;
}

.validate-code-btn-rebuilt:hover {
    background-color: var(--vanityrent-orange-hover) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(255, 107, 53, 0.3) !important;
}

/* Rebuilt form group container */
.promo-form-group-rebuilt {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
}

.promo-form-group-rebuilt::before,
.promo-form-group-rebuilt::after {
    display: none !important;
    content: none !important;
    border: none !important;
    background: none !important;
}

/* Rebuilt label */
.promo-label-rebuilt {
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    margin-bottom: 10px !important;
    display: block !important;
    border: none !important;
    background: none !important;
}

/* Force override any existing styles */
.promo-code-section-rebuilt *,
.promo-code-section-rebuilt *::before,
.promo-code-section-rebuilt *::after {
    border-top: none !important;
    border-bottom: none !important;
    background: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Ensure no orange lines appear anywhere in the rebuilt section */
.promo-code-section-rebuilt,
.promo-code-section-rebuilt * {
    border-color: rgba(255, 107, 53, 0.2) !important;
}

/* Fix promotion code display box */
.view-cart-promotion-code {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 2px solid rgba(255, 107, 53, 0.2) !important;
    border-radius: 8px !important;
    padding: 15px 20px !important;
    margin: 15px 0 !important;
    text-align: center !important;
}

/* Fix specific account selection boxes in checkout */
.account-select-container {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 2px solid rgba(255, 107, 53, 0.2) !important;
    border-radius: 8px !important;
    padding: 20px !important;
    margin: 15px 0 !important;
}

.account-select-container .account {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 15px !important;
    margin: 10px 0 !important;
    border-radius: 6px !important;
}

.account-select-container .account.active {
    background-color: rgba(255, 107, 53, 0.1) !important;
    border: 2px solid rgba(255, 107, 53, 0.3) !important;
}

.account-select-container .account.border-bottom {
    border-bottom: 2px solid rgba(255, 107, 53, 0.2) !important;
    background-color: #000000 !important;
}

.account-select-container .radio-inline {
    background-color: transparent !important;
    color: #ffffff !important;
    border: none !important;
}

.account-select-container .address {
    background-color: transparent !important;
    color: #ffffff !important;
}

.account-select-container .address strong {
    color: #ffffff !important;
}

.account-select-container .label-info {
    background-color: var(--vanityrent-orange) !important;
    color: #ffffff !important;
    border: none !important;
}

.account-select-container .small {
    color: rgba(255, 255, 255, 0.8) !important;
}

/* Fix the iCheck radio buttons */
.account-select-container .iradio_square-blue {
    background-color: #000000 !important;
    border: 2px solid rgba(255, 107, 53, 0.3) !important;
}

.account-select-container .iradio_square-blue.checked {
    background-color: var(--vanityrent-orange) !important;
    border-color: var(--vanityrent-orange) !important;
}

.account-select-container .iCheck-helper {
    background-color: transparent !important;
    border: none !important;
}

/* Fix any remaining white backgrounds in account selection */
.account-select-container * {
    background-color: #000000 !important;
    color: #ffffff !important;
}

.account-select-container input[type="radio"] {
    background-color: transparent !important;
    border: none !important;
}

/* Ensure selected text is visible in dropdowns */
select option:checked,
select option[selected="selected"],
select option[selected] {
    background-color: var(--vanityrent-orange) !important;
    color: var(--vanityrent-white) !important;
    font-weight: bold !important;
}

/* ===== GLOBAL DROPDOWN FIX - JAVASCRIPT ===== */
/* This script ensures all dropdowns show their selected values properly */

