/* *****************************************************

    ** Custom Stylesheet **

    Any custom styling you want to apply should be
    defined here.

***************************************************** */

/* Custom CSS for Nexus Theme
 *
 * This file allows you to customize the theme colors and styles for the entire Nexus template.
 *
 * To customize colors:
 * - Replace the var() references with your own hex colors or other CSS values.
 * - For example, instead of --primary: #4b5563; use --primary: #your-color;
 * - You can also override any CSS properties here.
 */

:root {
    --white: #fff;

    /* ==========================================================================
       BREEZE MARKETING SYSTEM INTEGRATION
       ========================================================================== */
    /* Neutral shades */
    --neutral-50: #fbf9fa;
    --neutral-100: #f4f5f7;
    --neutral-200: #e4e4e7;
    --neutral-300: #d0d5dd;
    --neutral-400: #9ca3af;
    --neutral-500: #6b7280;
    --neutral-600: #4b5563;
    --neutral-700: #374151;
    --neutral-800: #1f2937;
    --neutral-900: #111827;
    --neutral-950: #030712;

    /* define own pallet with brand colors */
    --primary-50: var(--neutral-50);
    --primary-100: var(--neutral-100);
    --primary-200: var(--neutral-200);
    --primary-300: var(--neutral-300);
    --primary-400: var(--neutral-400);
    --primary-500: var(--neutral-500);
    --primary-600: var(--neutral-600);
    --primary-700: var(--neutral-700);
    --primary-800: var(--neutral-800);
    --primary-900: var(--neutral-900);
    --primary-950: var(--neutral-900);

    /* Primary Core Actions (Light Purple) */
    --primary: #9731C5;          
    --primary-lifted: #a646d1;   
    --primary-accented: #8324ad; 

    /* Bootstrap native variable bridges */
    --bs-primary: #9731C5;
    --bs-primary-rgb: 151, 49, 197;
    --bs-link-color: #9731C5;
    --bs-link-hover-color: #2EBBA2;

    /* Secondary Interface Accents (Teal / Minimal Accent) */
    --secondary: #2EBBA2;
    --secondary-lifted: #3bcca4;
    --secondary-accented: #20a38b;

    /* Success colors mapped to brand Teal */
    --success: #2EBBA2;
    --success-lifted: #3bcca4;
    --success-accented: #20a38b;
    
    --bs-success: #2EBBA2;
    --bs-success-rgb: 46, 187, 162;

    /* Info colors mapped to brand Teal */
    --info: #2EBBA2;
    --info-lifted: #3bcca4;
    --info-accented: #20a38b;

    /* Notice colors */
    --notice: #7f22fe;
    --notice-lifted: #7008e7;
    --notice-accented: #5d0ec0;

    /* Warning colors */
    --warning: #f54a00;
    --warning-lifted: #ca3500;
    --warning-accented: #9f2d00;

    /* Error colors */
    --error: #e7000b;
    --error-lifted: #c10007;
    --error-accented: #9f0712;

    /* Framing elements mapped to Dominant Foundation (Dark Purple #160E1B) */
    --app-header-bg: #160E1B;
    --app-footer-bg: #160E1B;
    --sidebar-bg: #160E1B;
    --card-cap-bg: #160E1B;

    /* Text contrast overrides inside the dark header container */
    --app-header-color: #FFFFFF;
    --app-header-nav-link-color: rgba(255, 255, 255, 0.9);
    --app-header-nav-link-hover-color: #2EBBA2;
    --app-header-nav-link-active-color: #9731C5;

    /* Grayscale colors */
    --grayscale: var(--neutral-900);
    --grayscale-lifted: var(--neutral-800);
    --grayscale-accented: var(--neutral-700);

    /* Neutral colors */
    --neutral: var(--neutral-500);
    --neutral-lifted: var(--neutral-600);
    --neutral-accented: var(--neutral-700);

    /* Text neutral colors */
    --text-inverted: var(--white);
    --text-muted: var(--neutral-400);
    --text-lifted: var(--neutral-500);
    --text-accented: var(--neutral-600);
    --text: var(--neutral-900);

    /* Border neutral colors */
    --border-muted: var(--neutral-200);
    --border: var(--neutral-300);
    --border-lifted: var(--neutral-400);
    --border-accented: var(--neutral-600);

    /* Background neutral colors */
    --bg: var(--white);
    --bg-muted: var(--neutral-50);
    --bg-lifted: var(--neutral-100);
    --bg-accented: var(--neutral-200);
    --bg-inverted: var(--neutral-900);

    /* Additional colors */
    --yellow-200: #fff085;
    --yellow-300: #ffdf20;
    --teal-300: #46edd5;
    --teal-400: #00d5be;
    --emerald-300: #5ee9b5;
    --pink-400: #fb64b6;

    /* Additional custom properties */
    /* Font sizes */
    --text-xs: 0.625rem;
    --text-sm: 0.75rem;
    --text-md: 0.875rem;
    --text-lg: 1rem;

    /* Spacing */
    --outline-sm: 1px;
    --outline-md: 2px;
    --outline-lg: 3px;

    /* Rounding */
    --rounding-sm: 0.25rem;
    --rounding-md: 0.5rem;
    --rounding-lg: 0.75rem;

    /* Other */
    --letter-spacing: 0em;
    --disabled-opacity: 25%;
}

/* ==========================================================================
   NEXUS UTILITY CLASSES & GLOBAL OVERRIDES
   ========================================================================== */

/* Explicit class-level header backgrounds */
header, .app-header, .navbar-main, .navbar-collapse {
    background-color: #160E1B !important;
}

/* Fixes White-on-White Dropdown Menu Containers */
.navbar-collapse .dropdown-menu,
.navbar-nav .dropdown-menu,
#main-nav .dropdown-menu {
    background-color: #160E1B !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Aggressive Mobile Navigation Text Hard-Fix */
.navbar-collapse a,
.navbar-collapse .nav-link,
.navbar-collapse .dropdown-item,
.navbar-nav .nav-link,
#main-nav .nav-link,
.navbar-collapse ul li a {
    color: #FFFFFF !important;
    opacity: 0.95 !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Mobile Dropdown interactive states */
.navbar-collapse a:hover,
.navbar-collapse .nav-link:hover,
.navbar-collapse .dropdown-item:hover,
.navbar-collapse ul li a:hover {
    color: #2EBBA2 !important; 
    background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Mobile Toggle Hamburger Menu Button Color Correction */
.navbar-toggler {
    border-color: rgba(255, 255, 255, 0.3) !important;
}
.navbar-toggler-icon {
    filter: invert(1) !important; 
}

/* HARD FIX: Product Page Cart Header Titles & Headings (Ref: 1000342997.jpg) */
.card-header,
.card-title,
.card-header .card-title,
.card-header div,
.order-page .card-header *,
.product-info .card-header * {
    color: #FFFFFF !important;
}

/* Fixes Footer Social Media Icons Visibility */
footer .social-icon,
.app-footer .social-icons a,
.footer li a i {
    color: #FFFFFF !important;
    opacity: 0.8;
}

footer .social-icon:hover,
.app-footer .social-icons a:hover,
.footer li a i:hover {
    color: #2EBBA2 !important; 
    opacity: 1;
}

/* HARD FIX: Force ALL Order Buttons on Cart Grid to Light Purple Identity */
.order-page .btn,
.order-page button,
.product-info .btn,
.btn-default, 
.btn-secondary, 
.card-footer .btn {
    background-color: #9731C5 !important;
    border-color: #9731C5 !important;
    color: #FFFFFF !important;
}

.order-page .btn:hover,
.order-page button:hover,
.product-info .btn:hover,
.btn-default:hover, 
.btn-secondary:hover, 
.card-footer .btn:hover {
    background-color: #2EBBA2 !important;
    border-color: #2EBBA2 !important;
    color: #FFFFFF !important;
}

/* Primary Action Buttons */
.btn-primary {
    background-color: #9731C5 !important;
    border-color: #9731C5 !important;
    color: #FFFFFF !important;
}

.btn-primary:hover, .btn-primary:focus {
    background-color: #2EBBA2 !important;
    border-color: #2EBBA2 !important;
    color: #FFFFFF !important;
}

.badge-primary, .bg-primary {
    background-color: #9731C5 !important;
}

/* Format sidebars to clean Dark Purple layouts */
.sidebar .card {
    background-color: #160E1B !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(151, 49, 197, 0.2);
}

.sidebar .list-group-item {
    background-color: transparent !important;
    color: rgba(255, 255, 255, 0.85) !important;
    border-color: rgba(255, 255, 255, 0.05) !important;
}

.sidebar .list-group-item:hover {
    color: #2EBBA2 !important;
    background-color: rgba(255, 255, 255, 0.04) !important;
}

.sidebar .list-group-item.active {
    background-color: #9731C5 !important;
    color: #FFFFFF !important;
}

/* Forces the home page domain layout to display all spotlighted selections unconditionally */
.domain-spotlight-elements, 
.spotlight-tlds-container .spotlight-tld,
.home-domain-search .spotlight-tlds {
    display: inline-flex !important;
    visibility: visible !important;
}

/* Fixes text baseline heights for custom domain spotlight templates */
.custom-tld-badge {
    background-color: #FFFFFF !important;
    border: 1px solid var(--neutral-200) !important;
    transition: transform 0.2s ease;
}
.custom-tld-badge:hover {
    transform: translateY(-2px);
    border-color: #9731C5 !important;
}

/* Strip out the heavy purple bars and make the design super clean */
.featured-tlds-container .featured-tld .price,
.featured-tld .price.com,
[class*="tld-sale-group"] {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    color: #2EBBA2 !important; /* Your beautiful brand teal */
    border-top: 1px solid #f3f4f6 !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    padding: 10px 0 !important;
}