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

    ** 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;

    /* 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;

    /* Neutral shades */
    /* 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 colors */
    /* Use shades from comments if `primary` colors use other colors, then neutral */
    --primary: var(--neutral-900);          /* var(--primary-600) */
    --primary-lifted: var(--neutral-800);   /* var(--primary-700) */
    --primary-accented: var(--neutral-700); /* var(--primary-800) */

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

    /* Success colors */
    --success: #00a63e;
    --success-lifted: #008236;
    --success-accented: #016630;

    /* Info colors */
    --info: #155dfc;
    --info-lifted: #1447e6;
    --info-accented: #193cb8;

    /* 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;

    /* 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%;
}

/* ==========================================================
   NixOne Premium temporary frontend
   Homepage-only presentation layer. Core WHMCS functionality
   remains untouched.
   ========================================================== */
.nixone-home { --nx-blue:#087bd7; --nx-blue2:#20a6f5; --nx-ink:#071525; --nx-muted:#64748b; --nx-line:#e7edf4; --nx-soft:#f6f9fc; margin-top:1.5rem; color:var(--nx-ink); }
.nixone-home .nx-hero { position:relative; overflow:hidden; min-height:520px; border-radius:28px; background:linear-gradient(135deg,#061321 0%,#0a2137 55%,#07365d 100%); color:#fff; display:flex; align-items:center; box-shadow:0 30px 80px rgba(5,25,45,.16); }
.nixone-home .nx-hero:after { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to right,#000,transparent); pointer-events:none; }
.nixone-home .nx-hero-inner { position:relative; z-index:2; max-width:820px; padding:76px 72px; }
.nixone-home .nx-hero-glow { position:absolute; border-radius:50%; filter:blur(20px); opacity:.4; }
.nixone-home .nx-glow-one { width:420px;height:420px;background:#087bd7;right:-100px;top:-150px; }
.nixone-home .nx-glow-two { width:280px;height:280px;background:#28c6ff;right:180px;bottom:-190px;opacity:.18; }
.nixone-home .nx-eyebrow,.nixone-home .nx-kicker { font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.nixone-home .nx-eyebrow { color:#b9d9f4; margin-bottom:24px; }
.nixone-home .nx-eyebrow span { display:inline-block;width:26px;height:2px;background:#28a8ff;vertical-align:middle;margin-right:10px; }
.nixone-home .nx-hero h1 { color:#fff; font-size:clamp(3rem,5.2vw,5.3rem); line-height:.98; letter-spacing:-.055em; font-weight:700; margin:0 0 26px; }
.nixone-home .nx-hero h1 em { font-style:normal; background:linear-gradient(90deg,#58baff,#b8e4ff); -webkit-background-clip:text; color:transparent; }
.nixone-home .nx-hero p { max-width:690px; color:#c3d2df; font-size:1.16rem; line-height:1.75; margin-bottom:34px; }
.nixone-home .nx-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.nixone-home .nx-btn-primary,.nixone-home .nx-btn-secondary,.nixone-home .nx-btn-light { padding:13px 22px; border-radius:10px; font-weight:600; border:1px solid transparent; }
.nixone-home .nx-btn-primary { color:#fff!important;background:linear-gradient(135deg,#087bd7,#159cf0);box-shadow:0 10px 30px rgba(8,123,215,.3); }
.nixone-home .nx-btn-primary:hover { transform:translateY(-1px); box-shadow:0 14px 34px rgba(8,123,215,.38); }
.nixone-home .nx-btn-secondary { color:#e9f5ff!important; border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.06); }
.nixone-home .nx-trust-row { display:flex;gap:26px;flex-wrap:wrap;margin-top:46px;color:#a9bdcc;font-size:.82rem; }
.nixone-home .nx-trust-row i { color:#4db5ff;margin-right:6px; }
.nixone-home .nx-section { padding:92px 0 80px; }
.nixone-home .nx-section-head { max-width:700px; text-align:center; margin:0 auto 42px; }
.nixone-home .nx-section-head-left { text-align:left; margin:0 0 34px; }
.nixone-home .nx-kicker { color:var(--nx-blue); display:block; margin-bottom:12px; }
.nixone-home .nx-section-head h2,.nixone-home .nx-domain-section h2,.nixone-home .nx-closing h2 { color:var(--nx-ink); font-size:2.25rem; letter-spacing:-.035em; font-weight:700; margin-bottom:13px; }
.nixone-home .nx-section-head p,.nixone-home .nx-domain-copy p { color:var(--nx-muted); font-size:1rem; }
.nixone-home .nx-service-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }
.nixone-home .nx-service-card { position:relative;display:block;min-height:260px;padding:32px;border:1px solid var(--nx-line);border-radius:18px;background:#fff;color:var(--nx-ink);transition:.22s ease;box-shadow:0 8px 26px rgba(15,34,52,.035); }
.nixone-home .nx-service-card:hover { text-decoration:none; color:var(--nx-ink); transform:translateY(-5px); border-color:#c8dceb; box-shadow:0 20px 45px rgba(15,34,52,.09); }
.nixone-home .nx-service-card.nx-featured { background:linear-gradient(145deg,#f8fcff,#eef8ff);border-color:#b9dcf5; }
.nixone-home .nx-card-tag { position:absolute;right:20px;top:20px;font-size:.62rem;letter-spacing:.12em;font-weight:700;color:#087bd7;background:#e3f3ff;padding:6px 9px;border-radius:20px; }
.nixone-home .nx-icon { width:48px;height:48px;border-radius:12px;background:#edf7ff;color:var(--nx-blue);display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:26px; }
.nixone-home .nx-service-card h3 { font-size:1.25rem;font-weight:700;margin-bottom:10px; }
.nixone-home .nx-service-card p { color:var(--nx-muted);line-height:1.65;min-height:78px;margin-bottom:18px; }
.nixone-home .nx-service-card span { color:var(--nx-blue);font-weight:600;font-size:.9rem; }
.nixone-home .nx-service-card span i,.nixone-home .nx-text-link i,.nixone-home .nx-btn-primary i { margin-left:7px; }
.nixone-home .nx-domain-section { display:flex;justify-content:space-between;align-items:center;gap:30px;padding:48px 52px;border-radius:22px;background:linear-gradient(135deg,#087bd7,#07569a);color:#fff; }
.nixone-home .nx-domain-section .nx-kicker,.nixone-home .nx-domain-section h2,.nixone-home .nx-domain-section p { color:#fff; }
.nixone-home .nx-domain-section p { opacity:.8;margin:0; }
.nixone-home .nx-domain-actions { display:flex;align-items:center;gap:20px;flex-shrink:0; }
.nixone-home .nx-btn-light { background:#fff;color:#07569a!important; }
.nixone-home .nx-text-link { color:#fff!important;font-weight:600; }
.nixone-home .nx-account-section { padding:88px 0; }
.nixone-home .nx-account-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:14px; }
.nixone-home .nx-account-grid a { display:flex;flex-direction:column;padding:24px;border:1px solid var(--nx-line);border-radius:15px;color:var(--nx-ink);background:#fff;transition:.2s ease; }
.nixone-home .nx-account-grid a:hover { text-decoration:none;transform:translateY(-3px);box-shadow:0 15px 35px rgba(15,34,52,.07); }
.nixone-home .nx-account-grid i { color:var(--nx-blue);font-size:1.25rem;margin-bottom:20px; }
.nixone-home .nx-account-grid strong { margin-bottom:5px; }
.nixone-home .nx-account-grid span { color:var(--nx-muted);font-size:.8rem; }
.nixone-home .nx-closing { display:flex;align-items:center;justify-content:space-between;gap:30px;padding:48px 52px;margin-bottom:80px;border:1px solid var(--nx-line);border-radius:22px;background:var(--nx-soft); }
.nixone-home .nx-closing h2 { margin:0;max-width:650px; }
@media (max-width:991px){.nixone-home .nx-service-grid{grid-template-columns:repeat(2,1fr)}.nixone-home .nx-account-grid{grid-template-columns:repeat(2,1fr)}.nixone-home .nx-hero-inner{padding:64px 42px}.nixone-home .nx-domain-section,.nixone-home .nx-closing{align-items:flex-start;flex-direction:column}}
@media (max-width:575px){.nixone-home{margin-top:.5rem}.nixone-home .nx-hero{min-height:auto;border-radius:18px}.nixone-home .nx-hero-inner{padding:50px 24px}.nixone-home .nx-hero h1{font-size:2.75rem}.nixone-home .nx-service-grid,.nixone-home .nx-account-grid{grid-template-columns:1fr}.nixone-home .nx-section{padding:64px 0}.nixone-home .nx-domain-section,.nixone-home .nx-closing{padding:34px 25px;border-radius:18px}.nixone-home .nx-domain-actions{align-items:flex-start;flex-direction:column}.nixone-home .nx-section-head h2,.nixone-home .nx-domain-section h2,.nixone-home .nx-closing h2{font-size:1.8rem}}
