
/* NovaLinkTheme — modern purple / blue / teal visual layer
   Designed as a drop-in AdLinkFly theme; core functionality remains untouched. */

:root {
    --nova-purple: #6201ed;
    --nova-purple-2: #8a2be2;
    --nova-blue: #2c50ed;
    --nova-teal: #29c0b1;
    --nova-pink: #ff3366;
    --nova-yellow: #fbbc06;
    --nova-ink: #151629;
    --nova-muted: #697089;
    --nova-bg: #f7f8fc;
    --nova-card: #ffffff;
    --nova-border: #e9ebf3;
}

html { scroll-behavior: smooth; }
body { font-family: "Muli", Arial, sans-serif; color: var(--nova-ink); background: #fff; }
h1,h2,h3,h4,h5,h6,.navbar-brand,.nova-badge { font-family: "Montserrat", Arial, sans-serif; }

/* Navigation */
.nova-nav {
    background: rgba(255,255,255,.94) !important;
    border: 0 !important;
    box-shadow: 0 8px 30px rgba(31,35,67,.08);
    min-height: 74px;
    backdrop-filter: blur(14px);
}
.nova-nav .navbar-brand { height: 74px; line-height: 44px; color: var(--nova-ink) !important; font-weight: 700; }
.nova-nav .navbar-brand.logo-image { line-height: normal; padding-top: 12px; padding-bottom: 12px; }
.nova-nav .navbar-nav > li > a {
    color: #50566f !important;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .3px;
    padding: 28px 15px 26px;
    transition: .2s ease;
}
.nova-nav .navbar-nav > li > a:hover,
.nova-nav .navbar-nav > .active > a {
    color: var(--nova-purple) !important;
    background: transparent !important;
}
.nova-nav .navbar-toggle { margin-top: 19px; border: 0; }
.nova-nav .navbar-toggle:hover { background: transparent; }
.nova-nav .navbar-toggle .icon-bar { background: var(--nova-purple); }

/* Hero */
.nova-hero {
    position: relative;
    overflow: hidden;
    min-height: 650px;
    padding: 150px 0 95px;
    background:
        radial-gradient(circle at 12% 18%, rgba(98,1,237,.20), transparent 30%),
        radial-gradient(circle at 88% 22%, rgba(41,192,177,.18), transparent 30%),
        radial-gradient(circle at 72% 85%, rgba(44,80,237,.18), transparent 34%),
        linear-gradient(135deg, #101126 0%, #171735 48%, #171d49 100%);
    color: #fff;
}
.nova-hero:after {
    content:"";
    position:absolute; inset:0;
    background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.7), transparent);
    pointer-events:none;
}
.nova-hero .container { position:relative; z-index:2; }
.nova-hero-inner { max-width: 940px; margin:auto; text-align:center; }
.nova-badge {
    display:inline-flex; align-items:center; gap:9px;
    padding:9px 14px; border:1px solid rgba(255,255,255,.14);
    border-radius:999px; background:rgba(255,255,255,.07);
    font-size:11px; letter-spacing:1.4px; font-weight:700;
    color:#d9dcf7;
}
.nova-dot { width:7px; height:7px; border-radius:50%; background:var(--nova-teal); box-shadow:0 0 0 5px rgba(41,192,177,.12); }
.nova-hero h1 {
    margin:24px 0 18px; font-size:64px; line-height:1.04; letter-spacing:-2px; font-weight:800;
}
.nova-hero h1 span {
    background:linear-gradient(90deg,#a679ff 0%,#5d7cff 50%,#42dbc8 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
}
.nova-hero-copy { max-width:640px; margin:0 auto 30px; color:#bfc4df; font-size:18px; line-height:1.7; }
.nova-shortener-card {
    max-width:800px; margin:0 auto; padding:20px 20px 15px;
    border:1px solid rgba(255,255,255,.12); border-radius:20px;
    background:rgba(255,255,255,.08); box-shadow:0 25px 70px rgba(0,0,0,.28);
    backdrop-filter:blur(16px);
}
.nova-shortener-label { text-align:left; font-size:12px; font-weight:700; color:#dfe3fb; margin:0 0 10px 4px; text-transform:uppercase; letter-spacing:.8px; }
.nova-shortener-label i { color:#8b7cff; margin-right:7px; }
.nova-shortener-card #shorten { display:flex; align-items:center; width:100%; }
.nova-shortener-card #shorten .form-group { display:flex; width:100%; margin:0; }
.nova-shortener-card #shorten input.form-control {
    height:58px; border:0; border-radius:12px 0 0 12px; box-shadow:none;
    padding:0 20px; font-size:16px; background:#fff; color:#24263a;
}
.nova-shortener-card #shorten .btn-captcha {
    width:62px; height:58px; border:0; border-radius:0 12px 12px 0;
    background:linear-gradient(135deg,var(--nova-purple),var(--nova-blue));
    box-shadow:0 8px 22px rgba(98,1,237,.35);
}
.nova-shortener-card #shorten .btn-captcha img { max-width:22px; }
.nova-shortener-hint { text-align:left; padding:10px 4px 0; color:#9ea5c6; font-size:12px; }
.nova-shortener-hint i { color:var(--nova-teal); margin-right:5px; }
.nova-trust-row { display:flex; justify-content:center; flex-wrap:wrap; gap:25px; margin-top:24px; color:#aeb4d2; font-size:12px; }
.nova-trust-row i { color:#7f8fff; margin-right:6px; }

/* Generic sections */
.nova-section { padding:92px 0; }
.nova-section-head { max-width:700px; margin:0 auto 48px; text-align:center; }
.nova-section-head > span { color:var(--nova-purple); font:700 11px/1 "Montserrat",sans-serif; letter-spacing:2px; }
.nova-section-head h2 { margin:13px 0 10px; font-size:34px; font-weight:800; letter-spacing:-.7px; }
.nova-section-head p { margin:0; color:var(--nova-muted); font-size:16px; line-height:1.7; }

/* Steps */
.nova-steps { background:#fff; }
.nova-step { position:relative; padding:32px 25px; text-align:center; min-height:265px; }
.nova-step-icon {
    width:76px; height:76px; margin:0 auto 23px; border-radius:24px;
    display:flex; align-items:center; justify-content:center; color:#fff; font-size:26px;
    box-shadow:0 14px 35px rgba(31,35,67,.14);
}
.nova-purple { background:linear-gradient(135deg,#6201ed,#9b55ff); }
.nova-blue { background:linear-gradient(135deg,#2c50ed,#5e83ff); }
.nova-teal { background:linear-gradient(135deg,#20ad9f,#43d5c5); }
.nova-step-number { position:absolute; top:20px; right:20%; color:#eef0f7; font:800 46px/1 "Montserrat",sans-serif; z-index:0; }
.nova-step h3,.nova-step p { position:relative; z-index:1; }
.nova-step h3 { font-size:17px; font-weight:800; }
.nova-step p { color:var(--nova-muted); line-height:1.7; font-size:14px; max-width:260px; margin:auto; }

/* Features */
.nova-features { background:var(--nova-bg); }
.nova-feature-grid > [class*="col-"] { margin-bottom:24px; }
.nova-feature {
    height:100%; min-height:190px; padding:30px; background:#fff; border:1px solid var(--nova-border);
    border-radius:18px; box-shadow:0 10px 35px rgba(28,33,62,.045); transition:transform .2s ease, box-shadow .2s ease;
}
.nova-feature:hover { transform:translateY(-5px); box-shadow:0 18px 45px rgba(28,33,62,.10); }
.nova-feature > i { width:48px; height:48px; display:flex; align-items:center; justify-content:center; border-radius:14px; color:#fff; background:linear-gradient(135deg,var(--nova-purple),var(--nova-blue)); font-size:19px; margin-bottom:17px; }
.nova-feature h3 { font-size:16px; font-weight:800; margin:0 0 9px; }
.nova-feature p { margin:0; color:var(--nova-muted); line-height:1.65; font-size:13px; }

/* Stats */
.nova-stats { padding:58px 0; background:linear-gradient(135deg,#15162e,#25265b); color:#fff; }
.nova-stat { text-align:center; padding:20px; }
.nova-stat i { display:block; color:#8e83ff; font-size:22px; margin-bottom:10px; }
.nova-stat strong { display:block; font:800 38px/1.1 "Montserrat",sans-serif; }
.nova-stat span { display:block; color:#aeb3d0; font-size:12px; text-transform:uppercase; letter-spacing:1px; margin-top:9px; }

/* Testimonials/contact/footer */
.nova-contact { background:#fff; }
footer { background:#111224 !important; color:#9ca2bf; }
footer .copyright-container { border-top:1px solid rgba(255,255,255,.07) !important; }
footer a { color:#bfc5df; }
footer a:hover { color:#8c7cff; }

/* Inner pages */
.inner-page .nova-nav { position:relative; }
.inner-page { background:var(--nova-bg); }
.inner-page #content { min-height:450px; }

/* Responsive */
@media (max-width: 767px) {
    .nova-nav { min-height:62px; }
    .nova-nav .navbar-brand { height:62px; line-height:34px; padding-top:14px; }
    .nova-nav .navbar-nav > li > a { padding:13px 18px; }
    .nova-hero { min-height:0; padding:120px 0 65px; }
    .nova-hero h1 { font-size:42px; letter-spacing:-1.2px; }
    .nova-hero-copy { font-size:16px; }
    .nova-shortener-card { padding:15px; }
    .nova-shortener-card #shorten input.form-control { height:54px; font-size:14px; }
    .nova-shortener-card #shorten .btn-captcha { height:54px; width:56px; }
    .nova-trust-row { gap:10px 18px; }
    .nova-section { padding:68px 0; }
    .nova-section-head h2 { font-size:29px; }
    .nova-step { min-height:0; padding:25px 15px; }
}


/* =========================================================
   NOVALINK DARK PALETTE
   Inspired by the supplied dark gateway design:
   #0a0a0f / #111118 / #16161f / #1b1b25
   Purple #7c6af7 + warm orange #f7a06a
   ========================================================= */

:root {
    --nova-purple: #7c6af7;
    --nova-purple-2: #8f82ff;
    --nova-blue: #6858dc;
    --nova-teal: #4ade80;
    --nova-pink: #f87171;
    --nova-yellow: #f7a06a;

    --nova-ink: #eeeeF4;
    --nova-muted: #777789;
    --nova-secondary: #b0b0c0;
    --nova-bg: #0a0a0f;
    --nova-surface: #111118;
    --nova-surface-2: #16161f;
    --nova-surface-3: #1b1b25;
    --nova-card: #111118;
    --nova-border: #252532;
    --nova-border-hover: #373746;
}

html,
body {
    background: var(--nova-bg);
    color: var(--nova-ink);
}

body {
    font-family: "Muli", Arial, sans-serif;
}

/* Header */
.nova-nav,
.navbar-default {
    background: rgba(17,17,24,.96) !important;
    border-color: var(--nova-border) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,.35);
    backdrop-filter: blur(14px);
}

.nova-nav .navbar-brand,
.navbar-default .navbar-brand {
    color: var(--nova-ink) !important;
}

.nova-nav .navbar-nav > li > a,
.navbar-default .navbar-nav > li > a {
    color: var(--nova-secondary) !important;
}

.nova-nav .navbar-nav > li > a:hover,
.nova-nav .navbar-nav > .active > a,
.nova-nav .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover {
    color: var(--nova-purple) !important;
    background: transparent !important;
}

.nova-nav .navbar-toggle,
.navbar-default .navbar-toggle {
    background: transparent !important;
    border-color: var(--nova-border) !important;
}

.nova-nav .navbar-toggle .icon-bar,
.navbar-default .navbar-toggle .icon-bar {
    background: var(--nova-purple) !important;
}

/* Dropdowns */
.dropdown-menu {
    background: var(--nova-surface-2);
    border: 1px solid var(--nova-border);
    box-shadow: 0 18px 50px rgba(0,0,0,.45);
}

.dropdown-menu > li > a {
    color: var(--nova-secondary);
    border-bottom-color: var(--nova-border);
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
    color: #fff;
    background: var(--nova-surface-3);
}

/* Hero */
.nova-hero {
    background:
        radial-gradient(ellipse 80% 50% at 50% -15%, rgba(124,106,247,.15), transparent 65%),
        radial-gradient(circle at 12% 18%, rgba(124,106,247,.12), transparent 30%),
        radial-gradient(circle at 88% 22%, rgba(247,160,106,.09), transparent 30%),
        linear-gradient(135deg, #0a0a0f 0%, #111118 50%, #16161f 100%);
}

.nova-hero:after {
    background-image:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
}

.nova-badge {
    background: rgba(255,255,255,.035);
    border-color: var(--nova-border);
    color: var(--nova-secondary);
}

.nova-dot {
    background: var(--nova-teal);
    box-shadow: 0 0 0 5px rgba(74,222,128,.10);
}

.nova-hero h1 span {
    background: linear-gradient(135deg, #7c6af7 0%, #8f82ff 48%, #f7a06a 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

.nova-hero-copy {
    color: var(--nova-secondary);
}

.nova-shortener-card {
    background: rgba(17,17,24,.88);
    border-color: var(--nova-border);
    box-shadow: 0 25px 80px rgba(0,0,0,.40);
}

.nova-shortener-label {
    color: var(--nova-secondary);
}

.nova-shortener-label i {
    color: var(--nova-purple);
}

.nova-shortener-card #shorten input.form-control {
    background: #0c0c12;
    color: var(--nova-ink);
    border: 1px solid var(--nova-border);
}

.nova-shortener-card #shorten input.form-control::placeholder {
    color: #555566;
}

.nova-shortener-card #shorten .btn-captcha {
    background: linear-gradient(135deg, var(--nova-purple), #6858dc);
    box-shadow: 0 8px 22px rgba(124,106,247,.25);
}

.nova-shortener-hint {
    color: var(--nova-muted);
}

.nova-shortener-hint i {
    color: var(--nova-teal);
}

.nova-trust-row {
    color: var(--nova-secondary);
}

.nova-trust-row i {
    color: var(--nova-purple);
}

/* Sections */
.nova-section,
.nova-steps,
.nova-contact,
.bg-light-gray {
    background: var(--nova-bg) !important;
    color: var(--nova-ink);
}

.nova-section-head > span,
section h3.section-subheading {
    color: var(--nova-purple) !important;
}

.nova-section-head h2,
section h2.section-heading,
.nova-section-head h3,
.nova-step h3,
.nova-feature h3 {
    color: var(--nova-ink) !important;
}

.nova-section-head p,
.nova-step p,
.nova-feature p {
    color: var(--nova-secondary);
}

/* Steps */
.nova-step {
    background: transparent;
}

.nova-step-number {
    color: rgba(255,255,255,.035);
}

.nova-step-icon {
    box-shadow: 0 14px 35px rgba(0,0,0,.30);
}

.nova-purple {
    background: linear-gradient(135deg, #7c6af7, #6858dc);
}

.nova-blue {
    background: linear-gradient(135deg, #6858dc, #7c6af7);
}

.nova-teal {
    background: linear-gradient(135deg, #3fbf75, #4ade80);
}

/* Features / cards */
.nova-features {
    background: var(--nova-surface) !important;
}

.nova-feature {
    background: var(--nova-surface-2);
    border-color: var(--nova-border);
    box-shadow: 0 10px 35px rgba(0,0,0,.18);
}

.nova-feature:hover {
    background: var(--nova-surface-3);
    border-color: var(--nova-border-hover);
    box-shadow: 0 18px 45px rgba(0,0,0,.30);
}

.nova-feature > i {
    background: linear-gradient(135deg, var(--nova-purple), #6858dc);
}

/* Stats */
.nova-stats {
    background:
        radial-gradient(ellipse 80% 80% at 50% 0%, rgba(124,106,247,.12), transparent 65%),
        var(--nova-surface-2);
    border-top: 1px solid var(--nova-border);
    border-bottom: 1px solid var(--nova-border);
}

.nova-stat i {
    color: var(--nova-purple);
}

.nova-stat span {
    color: var(--nova-muted);
}

/* Testimonials / contact / footer */
.nova-contact {
    background: var(--nova-bg) !important;
}

footer {
    background: #0a0a0f !important;
    color: var(--nova-muted) !important;
    border-top: 1px solid var(--nova-border);
}

footer .copyright-container {
    border-top-color: var(--nova-border) !important;
}

footer a {
    color: var(--nova-secondary);
}

footer a:hover {
    color: var(--nova-purple);
}

/* Inner pages */
.inner-page {
    background: var(--nova-bg) !important;
    color: var(--nova-ink);
}

.inner-page #content {
    background: var(--nova-bg);
}

.inner-page .panel,
.inner-page .well,
.inner-page .box,
.inner-page .thumbnail {
    background: var(--nova-surface);
    border-color: var(--nova-border);
    color: var(--nova-secondary);
}

/* Common Bootstrap controls */
.form-control,
select.form-control,
textarea.form-control {
    background: #0c0c12;
    color: var(--nova-ink);
    border-color: var(--nova-border);
}

.form-control:focus {
    border-color: var(--nova-purple);
    box-shadow: 0 0 0 2px rgba(124,106,247,.10);
}

.table {
    color: var(--nova-secondary);
}

.table > thead > tr > th,
.table > tbody > tr > td,
.table > tbody > tr > th {
    border-color: var(--nova-border);
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background: rgba(255,255,255,.015);
}

/* Buttons */
.btn-primary,
.btn-success {
    border-color: transparent !important;
    background: linear-gradient(135deg, var(--nova-purple), #6858dc) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-success:hover {
    opacity: .92;
}

.btn-default {
    background: transparent;
    color: var(--nova-secondary);
    border-color: var(--nova-border);
}

.btn-default:hover {
    background: var(--nova-surface-3);
    color: var(--nova-ink);
    border-color: var(--nova-border-hover);
}

/* Alerts */
.alert {
    background: var(--nova-surface-2);
    border-color: var(--nova-border);
    color: var(--nova-secondary);
}

/* Mobile navbar */
@media (max-width: 767px) {
    .nova-nav .navbar-collapse,
    .navbar-default .navbar-collapse {
        background: var(--nova-surface);
        border-top: 1px solid var(--nova-border);
    }

    .nova-nav .navbar-nav > li > a,
    .navbar-default .navbar-nav > li > a {
        border-bottom: 1px solid rgba(255,255,255,.025);
    }
}
