:root {
    --fmuk-bg:#0f172a;
    --fmuk-panel:#111827;
    --fmuk-dark:#020617;
    --fmuk-blue:#2563eb;
    --fmuk-pink:#e3007f;
    --fmuk-text:#ffffff;
    --fmuk-muted:#cbd5e1;
    --fmuk-border:rgba(255,255,255,.12);
}

/* Base */
html, body {
    min-height:100%;
}

body {
    background:
        radial-gradient(circle at top left, rgba(37,99,235,.22), transparent 32%),
        radial-gradient(circle at top right, rgba(227,0,127,.18), transparent 32%),
        linear-gradient(135deg, var(--fmuk-dark), var(--fmuk-bg)) !important;
    color:var(--fmuk-text) !important;
}

section#main-body {
    background:transparent !important;
}

#main-body .container,
#main-body .container-fluid {
    width:100% !important;
    max-width:1400px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

#main-body .row {
    margin-left:0 !important;
    margin-right:0 !important;
}

#main-body [class*="col-"] {
    float:none !important;
    max-width:100% !important;
}

/* Navbar */
.navbar-main,
.navbar {
    background:rgba(2,6,23,.95) !important;
    border-bottom:1px solid var(--fmuk-border) !important;
}

.navbar-main a,
.navbar a {
    color:#fff !important;
}

/* Dropdown menus */
.dropdown-menu,
.navbar-main .dropdown-menu,
.navbar .dropdown-menu,
.multiselect-container.dropdown-menu {
    background:#ffffff !important;
    border:1px solid #e5e7eb !important;
    border-radius:12px !important;
    box-shadow:0 18px 45px rgba(0,0,0,.25) !important;
}

.dropdown-menu *,
.dropdown-menu a,
.dropdown-menu label,
.multiselect-container.dropdown-menu *,
.multiselect-container.dropdown-menu a,
.multiselect-container.dropdown-menu label {
    color:#111827 !important;
    background:#ffffff !important;
}

.dropdown-menu a:hover,
.dropdown-menu li:hover,
.dropdown-menu li:hover *,
.multiselect-container.dropdown-menu a:hover,
.multiselect-container.dropdown-menu li:hover,
.multiselect-container.dropdown-menu li:hover * {
    color:#ffffff !important;
    background:#e3007f !important;
}

/* Panels/cards */
.panel,
.card,
.sidebar .panel,
.client-home-panels .panel,
.tiles .tile,
.products .product,
.package,
.package-container,
.product,
.cart-total,
.summary-container {
    background:rgba(17,24,39,.94) !important;
    border:1px solid var(--fmuk-border) !important;
    border-radius:20px !important;
    color:#fff !important;
    box-shadow:0 20px 60px rgba(0,0,0,.22);
}

.panel-heading,
.card-header {
    background:rgba(2,6,23,.85) !important;
    border-bottom:1px solid var(--fmuk-border) !important;
    color:#fff !important;
    border-radius:20px 20px 0 0 !important;
}

.panel-title,
h1,h2,h3,h4,h5 {
    color:#fff !important;
}

p,
label,
small,
.text-muted,
.help-block {
    color:var(--fmuk-muted) !important;
}

a {
    color:#93c5fd;
}

/* Buttons */
.btn-primary,
.btn-success,
button[type="submit"],
input[type="submit"],
.order-button,
.btn-order-now {
    background:var(--fmuk-pink) !important;
    border-color:var(--fmuk-pink) !important;
    color:#fff !important;
    border-radius:12px !important;
    font-weight:800 !important;
}

.btn-primary:hover,
.btn-success:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
    background:#c70070 !important;
    border-color:#c70070 !important;
}

.btn-default,
.btn-secondary {
    background:rgba(255,255,255,.08) !important;
    border-color:var(--fmuk-border) !important;
    color:#fff !important;
    border-radius:12px !important;
}

/* Forms */
input,
textarea,
.form-control {
    background:rgba(2,6,23,.78) !important;
    border:1px solid rgba(148,163,184,.28) !important;
    color:#fff !important;
    border-radius:12px !important;
}

input::placeholder,
textarea::placeholder {
    color:#94a3b8 !important;
}

select,
select.form-control {
    background:#020617 !important;
    border:1px solid rgba(148,163,184,.35) !important;
    color:#ffffff !important;
    border-radius:12px !important;
}

select option,
select.form-control option,
option {
    background:#ffffff !important;
    color:#111827 !important;
}

/* Tables */
.table {
    color:#e5e7eb !important;
}

.table > thead > tr > th {
    color:#94a3b8 !important;
    border-bottom:1px solid var(--fmuk-border) !important;
}

.table > tbody > tr > td {
    border-top:1px solid rgba(255,255,255,.08) !important;
}

/* Alerts */
.alert-success {
    background:rgba(34,197,94,.16) !important;
    border-color:rgba(34,197,94,.35) !important;
    color:#bbf7d0 !important;
}

.alert-info {
    background:rgba(37,99,235,.16) !important;
    border-color:rgba(37,99,235,.35) !important;
    color:#bfdbfe !important;
}

.alert-danger {
    background:rgba(239,68,68,.16) !important;
    border-color:rgba(239,68,68,.35) !important;
    color:#fecaca !important;
}

/* Homepage wrapper */
.fmuk-page-shell {
    width:100% !important;
    max-width:1280px !important;
    margin:0 auto !important;
    padding:20px 20px 55px !important;
    text-align:center !important;
    float:none !important;
    clear:both !important;
}

/* Hide old WHMCS homepage widgets */
.home-shortcuts,
.home-kb-search {
    display:none !important;
}

/* Default home banner */
#home-banner {
    max-width:1180px !important;
    margin:30px auto !important;
    padding:42px 24px !important;
    border-radius:32px !important;
    background:
        radial-gradient(circle at top left, rgba(37,99,235,.36), transparent 36%),
        radial-gradient(circle at top right, rgba(227,0,127,.28), transparent 36%),
        linear-gradient(135deg,#020617,#111827) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    box-shadow:0 30px 90px rgba(0,0,0,.36) !important;
    text-align:center !important;
}

#home-banner,
#home-banner *,
#home-banner .container,
#home-banner .row,
#home-banner [class*="col-"] {
    text-align:center !important;
}

#home-banner .container {
    max-width:980px !important;
    margin:0 auto !important;
}

#home-banner h2 {
    color:#fff !important;
    font-size:clamp(30px,4vw,48px) !important;
    font-weight:900 !important;
    margin:0 auto 22px !important;
    text-align:center !important;
}

#frmDomainHomepage {
    max-width:860px !important;
    margin:0 auto !important;
    text-align:center !important;
}

#frmDomainHomepage .row,
#frmDomainHomepage [class*="col-"] {
    margin-left:auto !important;
    margin-right:auto !important;
    float:none !important;
    width:100% !important;
    max-width:860px !important;
}

#frmDomainHomepage .input-group,
#frmDomainHomepage .advanced-input {
    width:100% !important;
    display:block !important;
}

#frmDomainHomepage textarea#message {
    width:100% !important;
    min-height:92px !important;
    margin:0 auto 14px !important;
    display:block !important;
    text-align:center !important;
    font-size:16px !important;
    line-height:1.5 !important;
    color:#fff !important;
    background:rgba(2,6,23,.82) !important;
    border:1px solid rgba(148,163,184,.35) !important;
    border-radius:18px !important;
    padding:18px !important;
}

#frmDomainHomepage textarea#message::placeholder {
    color:#94a3b8 !important;
}

#frmDomainHomepage .input-group-btn {
    display:flex !important;
    justify-content:center !important;
    gap:12px !important;
    width:100% !important;
    margin:12px auto !important;
}

#frmDomainHomepage .input-group-btn .btn,
#btnDomainSearch,
#btnTransfer {
    border-radius:14px !important;
    min-height:48px !important;
    min-width:140px !important;
    font-weight:900 !important;
}

#btnDomainSearch {
    background:#e3007f !important;
    border-color:#e3007f !important;
    color:#fff !important;
}

#btnTransfer {
    background:rgba(255,255,255,.08) !important;
    border-color:rgba(255,255,255,.18) !important;
    color:#fff !important;
}

#frmDomainHomepage .btn-group {
    margin:8px 5px !important;
}

#frmDomainHomepage .multiselect.btn {
    background:#ffffff !important;
    color:#111827 !important;
    border:1px solid #e5e7eb !important;
    border-radius:12px !important;
}

#frmDomainHomepage .multiselect-selected-text {
    color:#111827 !important;
}

#frmDomainHomepage label {
    color:#cbd5e1 !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:7px !important;
    margin-top:10px !important;
}

/* FMUK Custom Homepage */
.fmuk-portal-hero {
    width:100%;
    max-width:1180px;
    margin:30px auto 24px !important;
    padding:58px 36px;
    border-radius:34px;
    text-align:center !important;
    background:
        radial-gradient(circle at top left, rgba(37,99,235,.42), transparent 34%),
        radial-gradient(circle at top right, rgba(227,0,127,.34), transparent 34%),
        linear-gradient(135deg, #020617, #111827);
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 34px 100px rgba(0,0,0,.42);
}

.fmuk-hero-badge,
.fmuk-section-heading span,
.fmuk-service-card > span,
.fmuk-plan-card > span,
.fmuk-nexus-highlight span {
    display:inline-block;
    padding:8px 13px;
    border-radius:999px;
    background:rgba(37,99,235,.18);
    border:1px solid rgba(37,99,235,.38);
    color:#bfdbfe;
    font-size:12px;
    font-weight:900;
}

.fmuk-portal-hero h1 {
    max-width:980px;
    margin:20px auto 18px !important;
    font-size:clamp(34px,5.4vw,68px);
    line-height:.98;
    font-weight:950;
    letter-spacing:-1.5px;
    color:#fff !important;
    text-align:center !important;
}

.fmuk-portal-hero p {
    max-width:860px;
    margin:0 auto !important;
    font-size:18px;
    line-height:1.75;
    color:#cbd5e1 !important;
    text-align:center !important;
}

.fmuk-hero-actions,
.fmuk-support-actions {
    display:flex;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
    margin-top:28px;
}

.fmuk-nexus-highlight {
    max-width:1180px;
    margin:24px auto !important;
    display:grid;
    grid-template-columns:1.4fr .9fr;
    gap:22px;
    align-items:center;
    text-align:left;
    padding:30px;
    border-radius:28px;
    background:rgba(17,24,39,.94);
    border:1px solid rgba(227,0,127,.38);
    box-shadow:0 22px 70px rgba(227,0,127,.10);
}

.fmuk-nexus-highlight h2 {
    margin:14px 0 10px !important;
    color:#fff !important;
    font-size:34px;
    font-weight:900;
}

.fmuk-nexus-highlight p {
    color:#cbd5e1 !important;
    font-size:16px;
    line-height:1.7;
}

.fmuk-nexus-mini-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}

.fmuk-nexus-mini-grid div {
    text-align:center;
    padding:20px 12px;
    border-radius:18px;
    background:rgba(2,6,23,.6);
    border:1px solid rgba(255,255,255,.10);
}

.fmuk-nexus-mini-grid strong {
    display:block;
    color:#fff;
    font-size:20px;
    font-weight:900;
}

.fmuk-nexus-mini-grid small {
    color:#94a3b8 !important;
}

.fmuk-domain-centre {
    max-width:1050px;
    margin:28px auto !important;
    padding:38px 28px;
    border-radius:30px;
    text-align:center !important;
    background:
        radial-gradient(circle at center top, rgba(37,99,235,.24), transparent 40%),
        rgba(17,24,39,.94);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 24px 80px rgba(0,0,0,.30);
}

.fmuk-section-heading {
    max-width:900px;
    margin:38px auto 22px !important;
    text-align:center !important;
}

.fmuk-section-heading h2,
.fmuk-domain-centre h2 {
    margin:14px auto 10px !important;
    color:#fff !important;
    font-size:clamp(28px,3.5vw,44px);
    font-weight:900;
    text-align:center !important;
}

.fmuk-section-heading p,
.fmuk-domain-centre p {
    max-width:780px;
    margin:0 auto !important;
    color:#cbd5e1 !important;
    font-size:17px;
    line-height:1.7;
    text-align:center !important;
}

.fmuk-domain-search {
    max-width:820px;
    margin:24px auto 12px !important;
    display:grid !important;
    grid-template-columns:1fr auto;
    gap:12px;
    align-items:center;
}

.fmuk-domain-search input {
    width:100% !important;
    min-height:58px;
    padding:0 22px !important;
    text-align:center;
    font-size:17px;
}

.fmuk-domain-search button {
    min-height:58px;
    padding-left:26px !important;
    padding-right:26px !important;
}

.fmuk-domain-tags {
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin-top:16px;
}

.fmuk-domain-tags span {
    padding:8px 12px;
    border-radius:999px;
    background:rgba(37,99,235,.16);
    border:1px solid rgba(37,99,235,.36);
    color:#bfdbfe;
    font-weight:900;
}

.fmuk-card-grid,
.fmuk-plan-grid {
    max-width:1180px;
    margin:24px auto !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:22px;
}

.fmuk-service-card,
.fmuk-plan-card {
    min-height:280px;
    padding:28px;
    border-radius:26px;
    text-align:center !important;
    background:rgba(17,24,39,.96);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 20px 60px rgba(0,0,0,.25);
    display:flex;
    flex-direction:column;
    align-items:center;
}

.fmuk-service-card p,
.fmuk-plan-card p {
    color:#cbd5e1 !important;
    line-height:1.65;
    text-align:center !important;
}

.fmuk-service-card h3,
.fmuk-plan-card h3 {
    color:#fff !important;
    font-weight:900;
    font-size:24px;
    margin:14px 0 10px !important;
    text-align:center !important;
}

.fmuk-card-icon {
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    margin-bottom:14px;
    border-radius:18px;
    background:rgba(227,0,127,.18);
    border:1px solid rgba(227,0,127,.38);
    font-size:26px;
}

.fmuk-service-card .btn,
.fmuk-plan-card .btn {
    margin-top:auto;
}

.fmuk-featured-card,
.fmuk-plan-popular {
    border-color:rgba(227,0,127,.62) !important;
    box-shadow:0 0 0 1px rgba(227,0,127,.28),0 26px 80px rgba(227,0,127,.16);
}

.fmuk-plan-card h3 {
    font-size:38px;
}

.fmuk-plan-card h3 span {
    color:#94a3b8;
    font-size:15px;
}

.fmuk-plan-card ul {
    text-align:left;
    color:#cbd5e1;
    line-height:1.9;
    padding-left:22px;
    margin:14px 0 22px;
}

.fmuk-plan-label {
    background:#e3007f;
    color:#fff;
    border-radius:999px;
    padding:7px 12px;
    font-size:12px;
    font-weight:900;
    margin-bottom:10px;
}

.fmuk-support-strip {
    max-width:1180px;
    margin:34px auto !important;
    padding:32px;
    border-radius:28px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    text-align:left;
    background:
        radial-gradient(circle at top right, rgba(227,0,127,.20), transparent 34%),
        rgba(17,24,39,.96);
    border:1px solid rgba(255,255,255,.12);
}

.fmuk-support-strip h2 {
    color:#fff !important;
    font-weight:900;
    margin-top:0 !important;
}

.fmuk-support-strip p {
    color:#cbd5e1 !important;
    margin-bottom:0 !important;
}

.fmuk-news-panel {
    max-width:1180px;
    margin:36px auto !important;
}

/* Product/order forms */
.package-price,
.price {
    color:#fff !important;
    font-weight:900;
}

.package-name,
.product-name {
    color:#fff !important;
    font-weight:800;
}

.feature-list li {
    color:#cbd5e1 !important;
}

.domain-search-box {
    background:linear-gradient(135deg,#020617,#111827) !important;
    border-radius:30px !important;
    padding:40px !important;
}

.domain-available {
    background:rgba(34,197,94,.15) !important;
    border:1px solid rgba(34,197,94,.3) !important;
    border-radius:12px !important;
}

.domain-unavailable {
    background:rgba(239,68,68,.15) !important;
    border:1px solid rgba(239,68,68,.3) !important;
    border-radius:12px !important;
}

/* Mobile */
@media (max-width:991px) {
    .fmuk-nexus-highlight,
    .fmuk-card-grid,
    .fmuk-plan-grid {
        grid-template-columns:1fr !important;
    }

    .fmuk-support-strip {
        flex-direction:column;
        text-align:center;
    }

    .fmuk-domain-search {
        grid-template-columns:1fr !important;
    }

    #frmDomainHomepage .input-group-btn {
        flex-direction:column;
    }
}