/* =====================================================================
   Five-Host 25 — dark WHMCS theme, a faithful port of five-host.com/en
   Loaded last on system pages (after theme.min.css). On cart pages the
   universal_checkout css loads after this file, so its palette is
   re-tuned via CSS variables at the bottom of this file.
   Everything lives here → WHMCS updates never touch it.
   ===================================================================== */

:root {
    --fh-bg:        #05070f;
    --fh-bg-2:      #080b16;
    --fh-bg-3:      #0b1020;
    --fh-surface:   rgba(255, 255, 255, .028);
    --fh-surface-2: rgba(255, 255, 255, .045);
    --fh-border:    rgba(255, 255, 255, .09);
    --fh-border-2:  rgba(255, 255, 255, .16);
    --fh-text:      #e8ecfb;
    --fh-muted:     #97a2c6;
    --fh-muted-2:   #6f7aa0;
    --fh-brand:     #38bdf8;
    --fh-brand-2:   #3b82f6;
    --fh-brand-3:   #2563eb;
    --fh-brand-ink: #041016;
    --fh-aurora:    linear-gradient(120deg, #38bdf8 0%, #3b82f6 55%, #2563eb 100%);
    --fh-radius:    18px;
    --fh-radius-lg: 26px;
    --fh-radius-sm: 12px;
    --fh-shadow:    0 30px 60px -25px rgba(0, 0, 0, .8);
    --fh-glow:      0 0 0 1px var(--fh-border), 0 24px 60px -30px rgba(56, 189, 248, .35);
    --fh-ring:      0 0 0 3px rgba(56, 189, 248, .35);
    --fh-ease:      cubic-bezier(.22, .61, .36, 1);
}

/* ============================== BASE ================================ */
html { scrollbar-color: var(--fh-border-2) transparent; }
body,
body.primary-bg-color {
    background:
        radial-gradient(1200px 700px at 78% -10%, rgba(59, 130, 246, .16), transparent 60%),
        radial-gradient(1000px 620px at 8% 8%, rgba(56, 189, 248, .10), transparent 55%),
        var(--fh-bg) !important;
    /* the glows must never tile — a repeat seam shows as a hard line */
    background-repeat: no-repeat !important;
    background-attachment: fixed, fixed, scroll !important;
    background-color: var(--fh-bg) !important;
    color: var(--fh-muted);
    font-family: "Inter", "Open Sans", system-ui, -apple-system, sans-serif !important;
    font-size: 15.5px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}
/* branded honeycomb (hex + 5 + FIVE/HOST), same as five-host.com/en */
body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='147' viewBox='0 0 84 147'%3E%3Cg transform='scale(3)'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9z' fill='%2338bdf8' fill-opacity='.05'/%3E%3C/g%3E%3Cpath d='M53 26H30l-2.2 17c3.3-2.7 7.5-4.1 11.8-4.1 8.7 0 15.4 6.2 15.4 15 0 9-7 15.5-16.9 15.5-7.8 0-14.3-4.2-16-10.8' transform='translate(42 72.75) scale(.62) translate(-40 -48)' fill='none' stroke='%2338bdf8' stroke-opacity='.06' stroke-width='3.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ctext transform='translate(17 116.8) rotate(30)' font-family='Arial, sans-serif' font-size='8.4' font-weight='700' letter-spacing='1.8' text-anchor='middle' fill='%2338bdf8' fill-opacity='.11'%3EFIVE%3C/text%3E%3Ctext transform='translate(67 116.8) rotate(-30)' font-family='Arial, sans-serif' font-size='8.4' font-weight='700' letter-spacing='1.8' text-anchor='middle' fill='%2338bdf8' fill-opacity='.11'%3EHOST%3C/text%3E%3C/svg%3E");
    background-size: 84px 147px;
    -webkit-mask-image: radial-gradient(ellipse 90% 60% at 50% 0%, #000 30%, transparent 75%);
            mask-image: radial-gradient(ellipse 90% 60% at 50% 0%, #000 30%, transparent 75%);
    opacity: .75;
}
body::after {  /* a few brighter "active node" hexes */
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='147' viewBox='0 0 84 147'%3E%3Cg transform='scale(3)'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9z' fill='%2338bdf8' fill-opacity='.16'/%3E%3C/g%3E%3Cpath d='M53 26H30l-2.2 17c3.3-2.7 7.5-4.1 11.8-4.1 8.7 0 15.4 6.2 15.4 15 0 9-7 15.5-16.9 15.5-7.8 0-14.3-4.2-16-10.8' transform='translate(42 72.75) scale(.62) translate(-40 -48)' fill='none' stroke='%2338bdf8' stroke-opacity='.15' stroke-width='3.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ctext transform='translate(17 116.8) rotate(30)' font-family='Arial, sans-serif' font-size='8.4' font-weight='700' letter-spacing='1.8' text-anchor='middle' fill='%2338bdf8' fill-opacity='.27'%3EFIVE%3C/text%3E%3Ctext transform='translate(67 116.8) rotate(-30)' font-family='Arial, sans-serif' font-size='8.4' font-weight='700' letter-spacing='1.8' text-anchor='middle' fill='%2338bdf8' fill-opacity='.27'%3EHOST%3C/text%3E%3C/svg%3E");
    background-size: 84px 147px;
    -webkit-mask-image:
        radial-gradient(140px 140px at 78% 12%, #000 0%, transparent 70%),
        radial-gradient(120px 120px at 12% 34%, #000 0%, transparent 70%);
            mask-image:
        radial-gradient(140px 140px at 78% 12%, #000 0%, transparent 70%),
        radial-gradient(120px 120px at 12% 34%, #000 0%, transparent 70%);
    opacity: .8;
}
#main-body, #footer, .master-breadcrumb { position: relative; z-index: 1; }
#header { position: relative; z-index: 50; }   /* above main-body so open dropdowns stay clickable */

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: "Space Grotesk", "Inter", system-ui, sans-serif !important;
    color: var(--fh-text);
    letter-spacing: -.02em;
    line-height: 1.15;
}
a { color: var(--fh-brand); }
a:hover { color: #7dd3fc; text-decoration: none; }
hr { border-color: var(--fh-border); }
::selection { background: rgba(56, 189, 248, .3); color: #fff; }
:focus-visible { outline: none; box-shadow: var(--fh-ring); border-radius: 8px; }

p, li, dd, dt, label { color: var(--fh-muted); }
.text-muted, .small, small { color: var(--fh-muted-2) !important; }
.text-dark, .text-black, .text-body { color: var(--fh-text) !important; }
.bg-white, .bg-light { background-color: var(--fh-bg-2) !important; }
.border, .border-top, .border-bottom, .border-left, .border-right { border-color: var(--fh-border) !important; }

/* ============================ BRAND ================================= */
.fh-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: "Space Grotesk", sans-serif;
    font-weight: 700;
    font-size: 1.22rem;
    letter-spacing: -.01em;
    color: var(--fh-text) !important;
}
.fh-brand b { color: var(--fh-text); font-weight: 700; }
.fh-brand span span, .fh-brand .fh-brand-text span { color: var(--fh-brand); }
.fh-brand:hover { text-decoration: none; opacity: .92; }
.fh-logo { flex-shrink: 0; }

/* ============================ HEADER ================================ */
#header { border: none; background: transparent; }
#header .topbar {
    background: var(--fh-bg-3);
    border-bottom: 1px solid var(--fh-border);
    padding: 6px 0;
}
#header .topbar .btn { color: var(--fh-muted); font-size: .88rem; }
#header .topbar .btn:hover { color: var(--fh-text); }
#header .topbar .input-group-text,
#header .topbar .btn-active-client {
    background: var(--fh-surface);
    border-color: var(--fh-border);
    color: var(--fh-text);
    font-size: .88rem;
}

#header .fh-navbar {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(6, 8, 16, .82);
    backdrop-filter: blur(16px) saturate(140%);
    -webkit-backdrop-filter: blur(16px) saturate(140%);
    border-bottom: 1px solid var(--fh-border);
    box-shadow: none;
    min-height: 68px;
    padding-top: 8px;
    padding-bottom: 8px;
}
#header .fh-navbar .navbar-nav .nav-link,
#header .fh-navbar .navbar-nav > li > a {
    color: var(--fh-muted) !important;
    font-weight: 500;
    font-size: .93rem;
    padding: 9px 13px !important;
    border-radius: 10px;
    transition: color .15s, background .15s;
}
#header .fh-navbar .navbar-nav .nav-link:hover,
#header .fh-navbar .navbar-nav > li > a:hover,
#header .fh-navbar .navbar-nav > li.active > a,
#header .fh-navbar .navbar-nav > li.show > a,
#header .fh-navbar .navbar-nav .show > .nav-link,
#header .fh-navbar .navbar-nav .nav-link[aria-expanded="true"] {
    color: var(--fh-text) !important;
    background: var(--fh-surface-2) !important;
}
#header .fh-navbar .navbar-nav .nav-link i,
#header .fh-navbar .navbar-nav > li > a i { color: var(--fh-brand); }
#header .cart-btn, .fh-cart {
    background: var(--fh-surface) !important;
    border: 1px solid var(--fh-border) !important;
    border-radius: 999px !important;
    color: var(--fh-text) !important;
    padding: 7px 14px !important;
}
#header .cart-btn:hover, .fh-cart:hover { border-color: rgba(56, 189, 248, .45) !important; }
#header .cart-btn .badge { background: var(--fh-brand); color: var(--fh-brand-ink); border-radius: 999px; }
#header .search .form-control {
    background: var(--fh-surface) !important;
    border-color: var(--fh-border) !important;
    color: var(--fh-text) !important;
}
#header .search .btn { background: var(--fh-surface) !important; border-color: var(--fh-border) !important; color: var(--fh-muted) !important; }
#header .navbar-collapse.show, #header .navbar-collapse.collapsing {
    background: var(--fh-bg-2);
    border-radius: var(--fh-radius);
    border: 1px solid var(--fh-border);
    margin-top: 10px;
    padding: 10px 14px;
}

/* dropdowns — the site's mega-panel look */
.dropdown-menu {
    background: linear-gradient(180deg, var(--fh-bg-3), var(--fh-bg-2));
    border: 1px solid var(--fh-border);
    border-radius: 14px;
    box-shadow: var(--fh-shadow);
    padding: 8px;
    margin-top: 8px;
    z-index: 1030;
}
.dropdown-menu li.dropdown-item { padding: 0 !important; background: transparent !important; }
.dropdown-menu a.dropdown-item, .dropdown-menu > .dropdown-item:not(li) {
    color: var(--fh-muted);
    border-radius: 9px;
    padding: 8px 12px !important;
    font-size: .92rem;
    display: block;
}
.dropdown-menu a.dropdown-item:hover,
.dropdown-menu a.dropdown-item:focus { background: var(--fh-surface-2); color: var(--fh-text); }
.dropdown-menu .dropdown-item i { color: var(--fh-brand); width: 18px; }
.dropdown-divider { border-color: var(--fh-border); }
/* items the "More" overflow moves in keep their original <a class="pr-4">
   without .dropdown-item — style every anchor inside a menu identically */
.dropdown-menu li > a {
    display: block;
    color: var(--fh-muted) !important;
    border-radius: 9px;
    padding: 8px 12px !important;
    font-size: .92rem;
    font-weight: 500;
    white-space: nowrap;
}
.dropdown-menu li > a:hover, .dropdown-menu li > a:focus {
    background: var(--fh-surface-2) !important;
    color: var(--fh-text) !important;
}
.dropdown-menu li > a i { color: var(--fh-brand); width: 18px; }

/* one-line navbar, everything vertically centred (fixes Account sitting higher) */
#header .fh-navbar .navbar-nav { align-items: center; flex-wrap: nowrap; margin-bottom: 0; }
#header .fh-navbar .navbar-collapse { align-items: center; }
#header .fh-navbar .navbar-nav > li { float: none; }
/* the JS-built "More" toggle matches the other nav pills */
#header .collapsable-dropdown > a { color: var(--fh-muted) !important; }
#header .collapsable-dropdown.show > a,
#header .collapsable-dropdown > a[aria-expanded="true"] {
    background: var(--fh-surface-2) !important;
    color: var(--fh-text) !important;
}
#header .collapsable-dropdown-menu { min-width: 230px; }

/* ========================== BREADCRUMB ============================== */
.master-breadcrumb {
    background: transparent;
    border-bottom: none;
    padding: 14px 0 0;
}
.master-breadcrumb .breadcrumb {
    background: transparent;
    padding-left: 0;
    margin-bottom: 0;
    font-size: .86rem;
}
.master-breadcrumb .breadcrumb-item a { color: var(--fh-muted-2); }
.master-breadcrumb .breadcrumb-item a:hover { color: var(--fh-text); }
.master-breadcrumb .breadcrumb-item.active { color: var(--fh-muted); }
.master-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: var(--fh-muted-2); }

/* page headline (h1 on most WHMCS pages) */
.header-lined h1, .header-lined .h1, h1.header-lined {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    color: var(--fh-text);
    border: none;
    padding-bottom: 0;
}
.header-lined { border-bottom: 1px solid var(--fh-border); padding-bottom: 16px; margin-bottom: 22px; }

/* ============================ CARDS ================================= */
.card, .panel, .well, .jumbotron {
    background: linear-gradient(180deg, var(--fh-surface-2), var(--fh-surface)) !important;
    border: 1px solid var(--fh-border) !important;
    border-radius: var(--fh-radius) !important;
    color: var(--fh-muted);
    box-shadow: none;
}
.card:hover { border-color: var(--fh-border-2); }
.card .card-header, .panel .panel-heading, .panel-heading.card-header {
    background: transparent !important;
    border-bottom: 1px solid var(--fh-border) !important;
    color: var(--fh-text) !important;
    font-family: "Space Grotesk", sans-serif;
    font-weight: 600;
    border-radius: var(--fh-radius) var(--fh-radius) 0 0 !important;
}
.card .card-footer { background: var(--fh-surface) !important; border-top: 1px solid var(--fh-border) !important; border-radius: 0 0 var(--fh-radius) var(--fh-radius) !important; }
.card .card-body, .panel .panel-body { color: var(--fh-muted); }
.card .card-title { color: var(--fh-text); }
.popover {
    background: var(--fh-bg-3);
    border: 1px solid var(--fh-border-2);
    border-radius: 14px;
    box-shadow: var(--fh-shadow);
}
.popover-header { background: var(--fh-surface); color: var(--fh-text); border-color: var(--fh-border); }
.popover-body { color: var(--fh-muted); }
.bs-popover-auto[x-placement^=bottom] .arrow::after, .bs-popover-bottom .arrow::after { border-bottom-color: var(--fh-bg-3); }
.bs-popover-auto[x-placement^=top] .arrow::after, .bs-popover-top .arrow::after { border-top-color: var(--fh-bg-3); }

/* list groups (sidebars, KB, cart categories) */
.list-group-item {
    background: transparent !important;
    border-color: var(--fh-border) !important;
    color: var(--fh-muted) !important;
    transition: background .15s, color .15s;
}
a.list-group-item:hover, .list-group-item-action:hover, .list-group-item-action:focus {
    background: var(--fh-surface-2) !important;
    color: var(--fh-text) !important;
}
.list-group-item.active {
    background: rgba(56, 189, 248, .1) !important;
    border-left: 2px solid var(--fh-brand) !important;
    color: var(--fh-text) !important;
}
.list-group-item .badge { background: var(--fh-surface-2); color: var(--fh-muted); }
.sidebar .card .card-header { letter-spacing: .02em; font-size: .95rem; }
.sidebar .list-group-item i, .sidebar-menu-item-icon { color: var(--fh-brand) !important; }
.sidebar .list-group-item.active i { color: var(--fh-brand) !important; }

/* ============================ BUTTONS =============================== */
.btn {
    border-radius: var(--fh-radius-sm);
    font-weight: 600;
    transition: transform .15s var(--fh-ease), box-shadow .15s var(--fh-ease), filter .15s;
}
.btn-primary, .btn-info, .modal-submit, .btn-checkout,
#btnCompleteProductConfig, .btn-order-now, #checkout {
    background: var(--fh-aurora) !important;
    border: none !important;
    color: var(--fh-brand-ink) !important;
    box-shadow: 0 10px 26px -12px rgba(56, 189, 248, .55);
}
.btn-primary:hover, .btn-info:hover, .btn-checkout:hover, .btn-order-now:hover, #checkout:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
    color: var(--fh-brand-ink) !important;
}
.btn-primary:not(:disabled):active, .btn-info:not(:disabled):active { background: var(--fh-aurora) !important; color: var(--fh-brand-ink) !important; }
.btn-default, .btn-secondary, .btn-light, .btn-outline-secondary {
    background: var(--fh-surface) !important;
    border: 1px solid var(--fh-border) !important;
    color: var(--fh-text) !important;
}
.btn-default:hover, .btn-secondary:hover, .btn-light:hover, .btn-outline-secondary:hover {
    background: var(--fh-surface-2) !important;
    border-color: var(--fh-border-2) !important;
    color: #fff !important;
}
.btn-outline-primary {
    color: var(--fh-brand) !important;
    border: 1px solid rgba(56, 189, 248, .5) !important;
    background: transparent !important;
}
.btn-outline-primary:hover { background: var(--fh-aurora) !important; border-color: transparent !important; color: var(--fh-brand-ink) !important; }
.btn-success { background: #10b981 !important; border-color: #10b981 !important; color: #04120c !important; }
.btn-danger { background: rgba(239, 68, 68, .14) !important; border: 1px solid rgba(239, 68, 68, .4) !important; color: #f87171 !important; }
.btn-danger:hover { background: #ef4444 !important; color: #fff !important; }
.btn-link { color: var(--fh-brand) !important; box-shadow: none !important; }
.btn:disabled, .btn.disabled { filter: saturate(.4) opacity(.6); }

/* ============================= FORMS ================================ */
.form-control, .custom-select, select, textarea, .custom-file-label,
input[type=text], input[type=email], input[type=password], input[type=number], input[type=tel] {
    background: #0a101f !important;
    border: 1px solid var(--fh-border-2) !important;
    color: var(--fh-text) !important;
    border-radius: var(--fh-radius-sm) !important;
}
.form-control:focus, .custom-select:focus, textarea:focus, select:focus {
    border-color: var(--fh-brand) !important;
    box-shadow: var(--fh-ring) !important;
    background: #0a101f !important;
    color: var(--fh-text) !important;
}
.form-control::placeholder { color: var(--fh-muted-2) !important; }
.form-control:disabled, .form-control[readonly] { background: var(--fh-surface) !important; color: var(--fh-muted) !important; }
.input-group-text {
    background: var(--fh-surface) !important;
    border: 1px solid var(--fh-border-2) !important;
    color: var(--fh-muted) !important;
    border-radius: var(--fh-radius-sm) !important;
}
label, .col-form-label, .form-text, legend { color: var(--fh-muted); }
.custom-control-label::before { background: #0a101f; border: 1px solid var(--fh-border-2); }
.custom-control-input:checked ~ .custom-control-label::before { background: var(--fh-brand); border-color: var(--fh-brand); }
.custom-switch .custom-control-label::after { background: var(--fh-muted); }
select option { background: var(--fh-bg-3); color: var(--fh-text); }
.iti__country-list { background: var(--fh-bg-3); border: 1px solid var(--fh-border-2); color: var(--fh-text); }
.iti__country.iti__highlight { background: var(--fh-surface-2); }

/* ============================= TABLES =============================== */
.table { color: var(--fh-muted); }
.table th { color: var(--fh-text); border-color: var(--fh-border) !important; font-family: "Space Grotesk", sans-serif; font-weight: 600; }
.table td { border-color: var(--fh-border) !important; vertical-align: middle; }
.table thead th { background: var(--fh-surface); border-bottom: 1px solid var(--fh-border-2) !important; }
.table-striped tbody tr:nth-of-type(odd) { background: var(--fh-surface); }
.table-hover tbody tr:hover { background: var(--fh-surface-2); color: var(--fh-text); }
table.dataTable tbody tr { background: transparent !important; }
div.dataTables_wrapper div.dataTables_info,
div.dataTables_wrapper div.dataTables_length label,
div.dataTables_wrapper div.dataTables_filter label,
div.dataTables_wrapper div.dataTables_processing { color: var(--fh-muted); background: transparent; }
.page-item .page-link {
    background: var(--fh-surface);
    border-color: var(--fh-border);
    color: var(--fh-muted);
}
.page-item .page-link:hover { background: var(--fh-surface-2); color: var(--fh-text); }
.page-item.active .page-link { background: var(--fh-brand); border-color: var(--fh-brand); color: var(--fh-brand-ink); }
.page-item.disabled .page-link { background: transparent; border-color: var(--fh-border); color: var(--fh-muted-2); }

/* ============================= ALERTS =============================== */
.alert { border-radius: 14px; border: 1px solid var(--fh-border); }
.alert-info { background: rgba(56, 189, 248, .09); border-color: rgba(56, 189, 248, .3); color: #bae6fd; }
.alert-info a, .alert-info .alert-link { color: #7dd3fc; }
.alert-success { background: rgba(16, 185, 129, .1); border-color: rgba(16, 185, 129, .3); color: #a7f3d0; }
.alert-warning { background: rgba(245, 158, 11, .1); border-color: rgba(245, 158, 11, .3); color: #fde68a; }
.alert-warning a, .alert-warning .alert-link { color: #fbbf24; }
.alert-danger { background: rgba(239, 68, 68, .1); border-color: rgba(239, 68, 68, .3); color: #fecaca; }
.alert-danger a, .alert-danger .alert-link { color: #f87171; }

/* badges */
.badge { border-radius: 999px; font-weight: 600; }
.badge-info, .badge-primary { background: var(--fh-brand); color: var(--fh-brand-ink); }
.badge-secondary { background: var(--fh-surface-2); color: var(--fh-muted); }
.badge-success { background: rgba(16, 185, 129, .18); color: #34d399; }
.badge-danger { background: rgba(239, 68, 68, .18); color: #f87171; }
.badge-warning { background: rgba(245, 158, 11, .18); color: #fbbf24; }

/* ============================= MODALS =============================== */
.modal-content {
    background: linear-gradient(180deg, var(--fh-bg-3), var(--fh-bg-2)) !important;
    border: 1px solid var(--fh-border-2) !important;
    border-radius: var(--fh-radius) !important;
    color: var(--fh-text);
    box-shadow: var(--fh-shadow);
}
.modal-header, .modal-footer { border-color: var(--fh-border) !important; }
.modal-title { color: var(--fh-text); }
.modal-body { color: var(--fh-muted); }
.modal .close { color: var(--fh-muted); text-shadow: none; opacity: 1; }
.modal .close:hover { color: var(--fh-text); }
.modal-backdrop.show { opacity: .7; background: #03050a; }
.modal-localisation .item {
    background: var(--fh-surface);
    border: 1px solid var(--fh-border);
    color: var(--fh-muted);
    border-radius: 10px;
    padding: 8px 10px;
    display: block;
}
.modal-localisation .item.active, .modal-localisation .item:hover { border-color: var(--fh-brand); color: var(--fh-text); }

/* ============================== TABS ================================ */
.nav-tabs { border-color: var(--fh-border); }
.nav-tabs .nav-link { color: var(--fh-muted); border: none; border-bottom: 2px solid transparent; border-radius: 0; }
.nav-tabs .nav-link:hover { color: var(--fh-text); }
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
    background: transparent;
    color: var(--fh-brand);
    border-bottom: 2px solid var(--fh-brand);
}
.nav-pills .nav-link { color: var(--fh-muted); border-radius: 10px; }
.nav-pills .nav-link.active { background: var(--fh-brand); color: var(--fh-brand-ink); }

/* =================== STORE — PRICE CARDS ============================ */
/* group description block above products */
.store-order-container h2, #main-body .lead { color: var(--fh-text); }

/* the product boxes — styled like the site's pricing cards */
.products .product {
    position: relative;
    background: linear-gradient(180deg, var(--fh-surface-2), var(--fh-surface)) !important;
    border: 1px solid var(--fh-border) !important;
    border-radius: var(--fh-radius-lg) !important;
    padding: 26px 24px !important;
    margin-bottom: 22px;
    color: var(--fh-muted);
    transition: transform .22s var(--fh-ease), border-color .22s var(--fh-ease), box-shadow .22s var(--fh-ease);
}
.products .product:hover {
    transform: translateY(-5px);
    border-color: rgba(56, 189, 248, .45) !important;
    box-shadow: var(--fh-glow);
}
.products .product header, .products .product .product-header {
    background: transparent !important;
    border: none !important;
    padding: 0 0 6px !important;
    margin: 0 !important;
}
.products .product header span, .products .product h3, .products .product .product-title {
    color: var(--fh-text) !important;
    font-family: "Space Grotesk", sans-serif !important;
    font-size: 1.12rem !important;
    font-weight: 700 !important;
}
.products .product .product-desc { color: var(--fh-muted); }
.products .product .product-desc ul { list-style: none; padding-left: 0; margin: 14px 0 0; display: grid; gap: 8px; }
.products .product .product-desc li, .products .product ul li {
    color: var(--fh-muted);
    position: relative;
    padding-left: 24px;
    font-size: .93rem;
}
.products .product .product-desc li::before, .products .product ul li::before {
    content: "\f058";                 /* fa check-circle */
    font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--fh-brand);
}
.products .product footer { background: transparent !important; border-top: 1px solid var(--fh-border); margin-top: 18px; padding-top: 16px; }
.products .product .product-pricing {
    color: var(--fh-muted-2) !important;   /* the loose "Monthly" text */
    font-size: .85rem !important;
}
.products .product .product-pricing .price {
    color: var(--fh-brand) !important;
    font-family: "Space Grotesk", sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.6rem !important;
}
.products .product .btn-order-now {
    background: var(--fh-aurora) !important;
    border: none !important;
    color: var(--fh-brand-ink) !important;
    width: 100%;
    margin-top: 14px;
    padding: 11px 16px !important;
    font-size: .95rem !important;
    border-radius: var(--fh-radius-sm) !important;
    box-shadow: 0 10px 26px -12px rgba(56, 189, 248, .55);
}
.products .product .btn-order-now:hover { filter: brightness(1.08); transform: translateY(-1px); color: var(--fh-brand-ink) !important; }
/* feature list built from the description by footer.tpl script */
.products .product .fh-specs { list-style: none; padding: 0; margin: 14px 0 0; display: grid; gap: 8px; }
.products .product .fh-specs li { color: var(--fh-muted); position: relative; padding-left: 26px; font-size: .93rem; }
.products .product .fh-specs li::before {
    content: "\f058";
    font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 1px;
    color: var(--fh-brand);
}
/* store sidebar (categories) */
.panel-sidebar, .card-sidebar {
    background: linear-gradient(180deg, var(--fh-surface-2), var(--fh-surface)) !important;
    border: 1px solid var(--fh-border) !important;
    border-radius: var(--fh-radius) !important;
}
.panel-sidebar > .panel-heading, .card-sidebar .card-header {
    background: transparent !important;
    border-bottom: 1px solid var(--fh-border) !important;
    color: var(--fh-text) !important;
}
.panel-sidebar .list-group-item { border-left: none !important; border-right: none !important; }

/* ======================= CART (universal/standard) ================== */
.cart-body { color: var(--fh-muted); }
.cart-body .sub-heading span, .sub-heading span {
    background: var(--fh-bg) !important;
    color: var(--fh-text) !important;
    font-family: "Space Grotesk", sans-serif;
}
.sub-heading::before, .cart-body .sub-heading::before { border-color: var(--fh-border) !important; }
#order-standard_cart .view-cart-items-header {
    border-radius: var(--fh-radius-sm) var(--fh-radius-sm) 0 0;
    color: var(--fh-text);
}
#order-standard_cart .view-cart-items .item { border-color: var(--fh-border) !important; color: var(--fh-muted); }
#order-standard_cart .view-cart-items .item-title, #order-standard_cart .item-group { color: var(--fh-text); }
#order-standard_cart .summary-container { border: 1px solid var(--fh-border) !important; border-radius: var(--fh-radius) !important; }
#order-standard_cart .order-summary .amt, .order-summary .amt, .cost {
    color: var(--fh-brand) !important;
    font-family: "Space Grotesk", sans-serif;
    font-weight: 700;
}
#order-standard_cart .field, #order-standard_cart .field-container .field { color: var(--fh-text); }
#order-standard_cart .promo-container { background: var(--fh-surface); border-radius: var(--fh-radius-sm); }
.express-checkout-buttons { filter: none; }
#order-standard_cart .empty-cart .btn { background: var(--fh-aurora) !important; color: var(--fh-brand-ink) !important; }
.btn-continue-shopping { color: var(--fh-muted) !important; }
.btn-continue-shopping:hover { color: var(--fh-text) !important; }

/* ====================== LOGIN / REGISTER ============================ */
.card.mw-540 {
    box-shadow: var(--fh-shadow), 0 0 80px -30px rgba(56, 189, 248, .25);
    border-radius: var(--fh-radius-lg) !important;
}
.login-form .btn-primary { width: 100%; }
.btn-reveal-pw { border-left: none !important; }
.providerLinkingFeedback { color: var(--fh-muted); }

/* ==================== KNOWLEDGEBASE / SUPPORT ======================= */
.kb-search .form-control { border-radius: var(--fh-radius-sm) 0 0 var(--fh-radius-sm) !important; }
.kb-article-item, .kb-category { border-radius: var(--fh-radius) !important; }
.kb-article-content, .article-content { color: var(--fh-muted); }
/* NOTE: keep this scoped — a bare ".message" leaks into notifications */
.ticket-reply {
    background: var(--fh-surface);
    border: 1px solid var(--fh-border);
    border-radius: var(--fh-radius);
}
.attachments-list li { background: var(--fh-surface); border-color: var(--fh-border); }

/* ====================== CLIENT AREA WIDGETS ========================= */
.tiles .tile, .stat-item {
    background: linear-gradient(180deg, var(--fh-surface-2), var(--fh-surface)) !important;
    border: 1px solid var(--fh-border) !important;
    border-radius: var(--fh-radius) !important;
}
.tiles .tile .stat, .tiles .tile .title { color: var(--fh-text); }
.tiles .tile .icon, .tiles .tile i { color: var(--fh-brand); }
.client-home-panels .card-header i { color: var(--fh-brand); }
.active-products-services .list-group-item { padding: 14px 18px; }
.home-shortcuts { background: var(--fh-bg-2); border: 1px solid var(--fh-border); border-radius: var(--fh-radius); }
.home-shortcuts li a { color: var(--fh-muted); }
.home-shortcuts li a:hover { color: var(--fh-text); }

/* homepage store cards (if WHMCS homepage is ever shown) */
.pricing-card-title { color: var(--fh-text); }
[class*="card-accent-"] { border-top: 3px solid var(--fh-brand) !important; }
.ico-container { color: var(--fh-brand); background: var(--fh-surface); border: 1px solid var(--fh-border); border-radius: 14px; }
.ico-container i, .ico-container svg { color: var(--fh-brand) !important; }

/* ============================ FOOTER ================================ */
#footer, .footer {
    background: var(--fh-bg-2) !important;
    border-top: 1px solid var(--fh-border);
    color: var(--fh-muted);
    padding: 48px 0 26px;
    margin-top: 56px;
}
.fh-footer-blurb { color: var(--fh-muted-2); font-size: .9rem; max-width: 340px; }
.fh-footer-head {
    font-family: "Space Grotesk", sans-serif;
    color: var(--fh-text);
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    margin-bottom: 14px;
}
.fh-footer-link { display: block; color: var(--fh-muted); padding: 4px 0; font-size: .92rem; }
.fh-footer-link:hover { color: var(--fh-text); text-decoration: none; }
.fh-footer-legal { color: var(--fh-muted-2); font-size: .82rem; line-height: 1.7; }
.fh-footer-bottom { border-top: 1px solid var(--fh-border); margin-top: 28px; padding-top: 18px; }
#footer .copyright { color: var(--fh-muted-2); font-size: .85rem; }
#footer .btn { background: var(--fh-surface); border: 1px solid var(--fh-border); color: var(--fh-muted); border-radius: 999px; }
#footer .btn:hover { color: var(--fh-text); }
#footer .list-inline-item a { color: var(--fh-muted); }
#footer .list-inline-item a:hover { color: var(--fh-brand); }

/* ============================ MISC ================================== */
#fullpage-overlay { background: rgba(5, 7, 15, .85); }
#fullpage-overlay .msg { color: var(--fh-text); }
.btn-return-to-admin { background: var(--fh-brand-2) !important; color: #fff !important; border-radius: 0 0 0 12px; }
.tooltip-inner { background: var(--fh-bg-3); border: 1px solid var(--fh-border-2); color: var(--fh-text); }
.tooltip.show { opacity: 1; }
.loader i { color: var(--fh-brand); }
.divider, .separator { border-color: var(--fh-border); }
.captchaimage { border-radius: 10px; }

/* generate password popover inputs */
#frmGeneratePassword .form-control { background: #0a101f !important; }

/* ================================================================
   UNIVERSAL_CHECKOUT RE-TUNE
   Its css loads AFTER this file and drives cart colours through CSS
   variables — redefining them here (higher specificity :root:root)
   repaints the whole cart in the Five-Host palette.
   ================================================================ */
:root:root {
    --color-primary: #3b82f6;
    --color-accent: #38bdf8;
    --color-warning: #f59e0b;
    --button-secondary: rgba(255, 255, 255, .08);
    --color-text: #e8ecfb;
    --color-text-secondary: #38bdf8;
    --color-bg-primary: #0a0f1e;
    --color-bg-secondary: #0e1526;
    --color-bg-input: #0a101f;
    --color-border: rgba(255, 255, 255, .12);
    --border-radius: 14px;
}

/* ================================================================
   CLIENT AREA + NAVBAR REFINEMENTS (fh6)
   ================================================================ */

/* ---- navbar: never wrap items to two lines, keep one clean row ---- */
#header .fh-navbar .navbar-nav > li > a,
#header .fh-navbar .navbar-nav .nav-link {
    white-space: nowrap !important;
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
#header .fh-navbar .navbar-nav > li > a i { margin: 0; }
#header .fh-navbar .container { flex-wrap: nowrap; }
/* compact cart pill (icon + count on one line) */
#header .cart-btn, .fh-cart {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    height: 38px;
    padding: 0 14px !important;
    line-height: 1 !important;
    white-space: nowrap;
}
#header .cart-btn .badge { position: static; transform: none; }

/* logged-in topbar */
#header .topbar { font-size: .87rem; }
#header .topbar .btn-active-client,
#header .topbar .btn-group .btn {
    background: var(--fh-surface) !important;
    border: 1px solid var(--fh-border) !important;
    color: var(--fh-text) !important;
    border-radius: 9px !important;
}
#header .topbar .btn-group .btn:hover { border-color: var(--fh-border-2) !important; }
#header .topbar .input-group-text {
    background: transparent !important;
    border: none !important;
    color: var(--fh-muted-2) !important;
}
#header .topbar #accountNotifications { border: none; background: transparent; }

/* mobile / tablet navbar (collapsed burger panel) */
@media (max-width: 1199.98px) {
    /* let Bootstrap own the open/close state — never force it visible */
    #header .fh-navbar .navbar-collapse:not(.show):not(.collapsing) { display: none; }
    #header .fh-navbar .container { flex-wrap: wrap; }
    #header .fh-navbar .navbar-nav { align-items: stretch; flex-wrap: wrap; width: 100%; }
    #header .fh-navbar .navbar-nav > li { width: 100%; }
    #header .fh-navbar .navbar-nav > li > a { display: flex; width: 100%; padding: 11px 12px !important; white-space: normal !important; }
    #header .fh-navbar .navbar-collapse.show,
    #header .fh-navbar .navbar-collapse.collapsing { width: 100%; }
    .dropdown-menu, .dropdown-menu.show {
        position: static !important;
        float: none;
        box-shadow: none;
        border: none;
        background: transparent;
        margin: 0 0 4px 10px;
        padding: 0 0 0 8px;
        border-left: 1px solid var(--fh-border);
        border-radius: 0;
    }
    #header .fh-nav-right { margin-top: 4px; border-top: 1px solid var(--fh-border); padding-top: 6px; }
    /* burger button */
    #header .toolbar .btn.nav-link {
        background: var(--fh-surface) !important;
        border: 1px solid var(--fh-border) !important;
        border-radius: 10px !important;
        color: var(--fh-text) !important;
        padding: 8px 12px !important;
    }
}

/* ---- dashboard stat tiles (Services / Domains / Tickets / Invoices) ---- */
.tiles .tile {
    position: relative;
    display: block;
    background: linear-gradient(180deg, var(--fh-surface-2), var(--fh-surface)) !important;
    border: 1px solid var(--fh-border) !important;
    border-radius: var(--fh-radius) !important;
    padding: 20px 22px 22px !important;
    margin: 0 8px 14px 0;
    overflow: hidden;
    transition: transform .2s var(--fh-ease), border-color .2s var(--fh-ease), box-shadow .2s var(--fh-ease);
}
.tiles .tile:hover {
    transform: translateY(-4px);
    border-color: rgba(56, 189, 248, .45) !important;
    box-shadow: var(--fh-glow);
    text-decoration: none;
}
.tiles .tile > i {
    position: absolute;
    top: 18px;
    right: 18px;
    font-size: 1.9rem;
    color: var(--fh-brand);
    opacity: .9;
}
.tiles .tile .stat {
    font-family: "Space Grotesk", sans-serif;
    font-size: 2.1rem;
    font-weight: 700;
    color: var(--fh-text);
    line-height: 1.1;
}
.tiles .tile .title {
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--fh-muted-2);
    margin-top: 2px;
}
.tiles .tile .highlight {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 3px;
    background: var(--fh-aurora) !important;
    opacity: .9;
}
.tiles .tile .highlight.bg-color-green { background: linear-gradient(90deg, #10b981, #34d399) !important; }
.tiles .tile .highlight.bg-color-red { background: linear-gradient(90deg, #ef4444, #f87171) !important; }
.tiles .tile .highlight.bg-color-gold { background: linear-gradient(90deg, #f59e0b, #fbbf24) !important; }

/* ---- client home cards & sidebar panels ---- */
.client-home-cards .card, .sidebar .card { margin-bottom: 18px; }
.card .card-header .card-title { font-size: 1rem; }
.card .card-header i { color: var(--fh-brand); margin-right: 6px; }
.card .card-footer { padding: 10px 16px; }
.card .card-footer .btn {
    background: var(--fh-surface) !important;
    border: 1px solid var(--fh-border) !important;
    color: var(--fh-text) !important;
    border-radius: 999px !important;
    font-size: .82rem;
    padding: 5px 14px;
}
.card .card-footer .btn:hover { border-color: rgba(56, 189, 248, .45) !important; }

/* active products/services rows */
.div-service-item { border-color: var(--fh-border) !important; }
.div-service-item:hover { background: var(--fh-surface-2); }
.div-service-buttons .btn { border-radius: 9px !important; }

/* status pills used across services/domains/tickets/invoices */
[class*="status-"], .label {
    display: inline-block;
    border-radius: 999px;
    padding: 3px 11px;
    font-size: .74rem;
    font-weight: 600;
    letter-spacing: .02em;
}
.status-active, .label-success { background: rgba(16, 185, 129, .16) !important; color: #34d399 !important; }
.status-pending, .label-warning { background: rgba(245, 158, 11, .16) !important; color: #fbbf24 !important; }
.status-suspended, .status-expired { background: rgba(245, 158, 11, .16) !important; color: #fbbf24 !important; }
.status-terminated, .status-cancelled, .label-danger { background: rgba(239, 68, 68, .16) !important; color: #f87171 !important; }
.status-fraud { background: rgba(239, 68, 68, .16) !important; color: #f87171 !important; }
.status-open { background: rgba(56, 189, 248, .16) !important; color: #7dd3fc !important; }
.status-answered { background: rgba(16, 185, 129, .16) !important; color: #34d399 !important; }
.status-customer-reply, .status-customerreply { background: rgba(245, 158, 11, .16) !important; color: #fbbf24 !important; }
.status-closed, .label-default { background: var(--fh-surface-2) !important; color: var(--fh-muted) !important; }

/* ---- DataTables (domains, invoices, tickets lists) ---- */
div.dataTables_wrapper div.dataTables_filter input,
div.dataTables_wrapper div.dataTables_length select {
    background: #0a101f !important;
    border: 1px solid var(--fh-border-2) !important;
    color: var(--fh-text) !important;
    border-radius: 10px !important;
    padding: 6px 12px;
}
div.dataTables_wrapper div.dataTables_filter input:focus { border-color: var(--fh-brand) !important; box-shadow: var(--fh-ring) !important; outline: none; }
.table-bordered, .table-bordered th, .table-bordered td { border-color: var(--fh-border) !important; }
table.dataTable { border-color: var(--fh-border) !important; }
table.dataTable thead th { border-bottom: 1px solid var(--fh-border-2) !important; }
table.dataTable tbody td { border-top: 1px solid var(--fh-border) !important; }
.table .btn-default, .table .btn { box-shadow: none; }
input[type="checkbox"] { accent-color: var(--fh-brand); }

/* ---- tickets: list, view, open/submit ---- */
.card.view-ticket .card-body { color: var(--fh-muted); }
.view-ticket .caption { color: var(--fh-muted-2); font-size: .84rem; }
.attachments, .attachment-list {
    background: var(--fh-surface);
    border: 1px solid var(--fh-border);
    border-radius: var(--fh-radius-sm);
}
.attachment-list li, .attachments a { color: var(--fh-brand); }
.card-body.extra-padding { padding: clamp(20px, 3vw, 40px); }

/* markdown editor (SimpleMDE / EasyMDE) on ticket forms */
.editor-toolbar {
    background: var(--fh-surface) !important;
    border: 1px solid var(--fh-border-2) !important;
    border-bottom: none !important;
    border-radius: 10px 10px 0 0 !important;
    opacity: 1 !important;
}
.editor-toolbar a, .editor-toolbar button { color: var(--fh-muted) !important; border: none !important; }
.editor-toolbar a.active, .editor-toolbar a:hover,
.editor-toolbar button.active, .editor-toolbar button:hover { background: var(--fh-surface-2) !important; color: var(--fh-text) !important; }
.editor-toolbar i.separator { border-color: var(--fh-border) !important; }
.CodeMirror {
    background: #0a101f !important;
    border: 1px solid var(--fh-border-2) !important;
    border-radius: 0 0 10px 10px !important;
    color: var(--fh-text) !important;
}
.CodeMirror-cursor { border-color: var(--fh-brand) !important; }
.CodeMirror-selected { background: rgba(56, 189, 248, .2) !important; }
.editor-preview, .editor-preview-side { background: var(--fh-bg-2); color: var(--fh-muted); }
.editor-statusbar { color: var(--fh-muted-2) !important; }

/* file attachment inputs */
.custom-file-label { overflow: hidden; }
.custom-file-label::after {
    background: var(--fh-surface-2) !important;
    color: var(--fh-text) !important;
    border-left: 1px solid var(--fh-border-2) !important;
}
.attachment-group .btn { border-radius: 0 10px 10px 0 !important; }

/* ---- generic responsive polish ---- */
@media (max-width: 767.98px) {
    body { font-size: 15px; }
    .tiles .tile { margin-right: 0; padding: 16px 16px 18px !important; }
    .tiles .tile .stat { font-size: 1.7rem; }
    .tiles .tile > i { font-size: 1.4rem; top: 14px; right: 14px; }
    .table-container, .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .master-breadcrumb .breadcrumb { flex-wrap: wrap; }
    .card-body.extra-padding { padding: 18px; }
    #footer { padding: 32px 0 20px; }
    .fh-footer-grid > div { margin-bottom: 18px; }
}

/* ================================================================
   TICKETS — view & open (fh7)
   ================================================================ */
.ticket-reply {
    background: linear-gradient(180deg, var(--fh-surface-2), var(--fh-surface));
    border: 1px solid var(--fh-border);
    border-radius: var(--fh-radius);
    margin-bottom: 18px;
    overflow: hidden;
}
.ticket-reply.staff { border-color: rgba(56, 189, 248, .3); }
.ticket-reply .posted-by {
    background: var(--fh-surface);
    border-bottom: 1px solid var(--fh-border);
    padding: 12px 20px;
    color: var(--fh-muted-2);
    font-size: .88rem;
}
.ticket-reply .posted-by-name { color: var(--fh-text); font-weight: 600; }
.ticket-reply .posted-on { color: var(--fh-muted); }
.ticket-reply .markdown-content, .ticket-reply > div:not(.posted-by) { padding: 6px 20px 14px; }
.requestor-badge {
    border-radius: 999px !important;
    padding: 3px 12px !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.requestor-type-owner { background: rgba(16, 185, 129, .16) !important; color: #34d399 !important; }
.requestor-type-operator { background: rgba(56, 189, 248, .16) !important; color: #7dd3fc !important; }
.requestor-type-cc, .requestor-type-contact { background: rgba(245, 158, 11, .16) !important; color: #fbbf24 !important; }

/* star ratings on staff replies */
.rating, .rating-done { direction: rtl; display: inline-block; }
.rating .star, .rating-done .star {
    display: inline-block;
    width: 22px; height: 22px;
    cursor: pointer;
    background: none;
    position: relative;
    opacity: 1;
}
.rating .star::before, .rating-done .star::before {
    content: "\f005";
    font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free";
    font-weight: 400;
    color: var(--fh-muted-2);
    font-size: 1rem;
}
.rating .star:hover::before,
.rating .star:hover ~ .star::before,
.rating-done .star.active::before {
    content: "\f005";
    font-weight: 900;
    color: #fbbf24;
}
.rating-done .star { cursor: default; }

/* reply form card + ticket sidebar */
.card .card-body h3, .reply-form-title { color: var(--fh-text); }
#frmReply .form-group label { color: var(--fh-muted); font-weight: 500; }
.view-ticket .header-lined { margin-bottom: 14px; }

/* ticket info sidebar rows */
.sidebar .list-group-item .min-heading,
.sidebar .list-group-item small { color: var(--fh-muted-2); }

/* open-ticket step cards */
.card-body.extra-padding .h5, .card-body.extra-padding .card-title { color: var(--fh-text); }
.card-body.extra-padding .fas, .card-body.extra-padding .far { color: var(--fh-brand); }

/* markdown preview button + helper row under the editor */
.markdown-editor-status, .editor-statusbar { color: var(--fh-muted-2); }
.attachment-group .custom-file-label { border-radius: 10px 0 0 10px !important; }

/* ================================================================
   NOTIFICATIONS POPOVER (topbar flag) — fh8
   ================================================================ */
.popover { max-width: 360px; }
.popover .popover-body { padding: 8px; }
.client-alerts { margin: 0; padding: 0; list-style: none; min-width: 280px; }
.client-alerts li { border-bottom: 1px solid var(--fh-border); }
.client-alerts li:last-child { border-bottom: none; }
.client-alerts li > a {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 11px 12px;
    color: var(--fh-muted);
    border-radius: 9px;
    transition: background .15s, color .15s;
}
.client-alerts li > a:hover { background: var(--fh-surface-2); color: var(--fh-text); text-decoration: none; }
.client-alerts li > a > i {
    flex-shrink: 0;
    margin-top: 3px;
    font-size: 1.05rem;
    color: var(--fh-brand);
}
.client-alerts li > a > i.fa-check-circle { color: #34d399; }
.client-alerts li > a > i.fa-info-circle { color: #7dd3fc; }
.client-alerts li > a > i.fa-exclamation-triangle { color: #fbbf24; }
.client-alerts li > a > i.fa-exclamation-circle { color: #f87171; }
.client-alerts .message { line-height: 1.5; font-size: .9rem; }
.client-alerts li.none { padding: 14px 12px; color: var(--fh-muted-2); text-align: center; }

/* mobile: brand left, cart + burger together on the right, same row (fh9) */
@media (max-width: 1199.98px) {
    #header .fh-navbar .navbar-nav.toolbar {
        width: auto !important;
        flex-wrap: nowrap !important;
        align-items: center;
        flex-direction: row;
    }
    #header .fh-navbar .navbar-nav.toolbar > li { width: auto !important; }
    #header .fh-navbar .navbar-nav.toolbar > li > a,
    #header .fh-navbar .navbar-nav.toolbar > li > button { width: auto; display: inline-flex; }
}

/* ================================================================
   SEARCH / EDITOR / NOTIFICATIONS REDESIGN (fh10)
   ================================================================ */

/* knowledgebase search — clean pill, no stock white outline */
header.header .search {
    border: 1px solid var(--fh-border) !important;
    background: var(--fh-surface);
    border-radius: 999px !important;
    overflow: hidden;
    transition: border-color .15s, box-shadow .15s;
}
header.header .search:focus-within {
    border-color: var(--fh-brand) !important;
    box-shadow: 0 0 0 3px rgba(56, 189, 248, .2);
}
header.header .search .btn,
header.header .search .form-control {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}
header.header .search .btn { color: var(--fh-brand) !important; padding-left: 16px; }
header.header .search .form-control { color: var(--fh-text) !important; padding-left: 4px; }
header.header .search .form-control::placeholder { color: var(--fh-muted-2) !important; }

/* ticket message editor (bootstrap-markdown) — stock is hardcoded white */
.md-editor {
    border: 1px solid var(--fh-border-2) !important;
    border-radius: var(--fh-radius-sm) !important;
    background: #0a101f !important;
    overflow: hidden;
}
.md-editor.active {
    border-color: var(--fh-brand) !important;
    box-shadow: var(--fh-ring) !important;
}
.md-editor > .btn-toolbar {
    background: var(--fh-surface) !important;
    border-bottom: 1px solid var(--fh-border) !important;
    margin: 0 !important;
    padding: 6px 8px !important;
}
.md-editor > .btn-toolbar .btn-group { margin-right: 4px; }
.md-editor > .btn-toolbar .btn {
    background: transparent !important;
    border: none !important;
    color: var(--fh-muted) !important;
    border-radius: 8px !important;
    padding: 5px 10px !important;
    box-shadow: none !important;
}
.md-editor > .btn-toolbar .btn:hover,
.md-editor > .btn-toolbar .btn.active {
    background: var(--fh-surface-2) !important;
    color: var(--fh-text) !important;
}
.md-editor > .btn-toolbar .btn-primary,
.md-editor > .btn-toolbar .btn-info {
    background: var(--fh-surface-2) !important;
    color: var(--fh-brand) !important;
    box-shadow: none !important;
    transform: none !important;
}
.md-editor > textarea.markdown-editor,
.md-editor > .md-preview {
    background: #0a101f !important;
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    color: var(--fh-text) !important;
    min-height: 220px;
    padding: 14px 16px !important;
}
.md-editor > textarea.markdown-editor:focus { box-shadow: none !important; outline: none; }
.markdown-editor-status {
    background: var(--fh-surface);
    border-top: 1px solid var(--fh-border);
    color: var(--fh-muted-2) !important;
    padding: 4px 12px;
}

/* notifications popover — flat text next to the icon, nothing boxed */
.client-alerts .message {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    color: inherit;
    line-height: 1.5;
    font-size: .9rem;
}
.client-alerts li > a { align-items: center; }
.popover .popover-header {
    background: var(--fh-surface);
    color: var(--fh-text);
    border-bottom: 1px solid var(--fh-border);
    font-family: "Space Grotesk", sans-serif;
}

/* view-ticket: single clean border per reply — kill inner boxes */
.ticket-reply .message,
.ticket-reply .markdown-content > div,
.ticket-reply blockquote {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}
.ticket-reply blockquote {
    border-left: 3px solid var(--fh-brand) !important;
    padding-left: 14px !important;
    color: var(--fh-muted-2);
}
.ticket-reply hr { margin: 14px 0; }
.ticket-reply .text-muted { font-size: .84rem; }

/* ================================================================
   VIEW TICKET — redesign (fh11)
   ================================================================ */

/* the outer card holds all replies — let the replies breathe */
.card.view-ticket > .card-body { padding: 10px 18px; }
.card.view-ticket > .card-body:first-of-type { padding-top: 18px; }

/* one reply = one clean card */
.ticket-reply {
    border-radius: var(--fh-radius-sm);
    overflow: hidden;
}
.ticket-reply.staff { border-left: 3px solid rgba(56, 189, 248, .55); }
.ticket-reply:not(.staff) { border-left: 3px solid rgba(16, 185, 129, .45); }

/* header row: avatar chip · name · date ······ badge */
.ticket-reply .posted-by {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 12px 18px;
    font-size: .87rem;
    color: var(--fh-muted-2);
}
.ticket-reply .posted-by::before {
    content: "\f007";
    font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free";
    font-weight: 900;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--fh-surface-2);
    border: 1px solid var(--fh-border);
    color: var(--fh-brand);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .8rem;
    margin-right: 4px;
    flex-shrink: 0;
}
.ticket-reply.staff .posted-by::before { content: "\f508"; }   /* user-headset */
.ticket-reply .posted-by-name { color: var(--fh-text); font-weight: 600; }
.ticket-reply .posted-on { color: var(--fh-muted); }
.ticket-reply .requestor-badge { float: none !important; margin-left: auto; }

/* message body — proper padding back (overrides the earlier reset) */
.ticket-reply .message, .ticket-reply .message.p-3 {
    padding: 16px 20px 14px !important;
    color: var(--fh-muted);
    line-height: 1.7;
    word-break: break-word;
}
.ticket-reply .message p:last-child { margin-bottom: 0; }
.ticket-reply .message hr { margin: 16px 0 10px; border-color: var(--fh-border); }

/* stars bottom-right, generous click targets */
.ticket-reply .clearfix { text-align: right; }
.rating, .rating-done { padding: 4px 0 0; }
.rating .star, .rating-done .star { width: 26px; height: 24px; }
.rating .star::before, .rating-done .star::before { font-size: 1.05rem; }
.rating-done .rated { color: var(--fh-muted-2); font-size: .78rem; margin-top: 2px; }

/* attachments strip */
.ticket-reply .attachments {
    background: var(--fh-surface) !important;
    border: none !important;
    border-top: 1px solid var(--fh-border) !important;
    border-radius: 0 !important;
    padding: 12px 20px !important;
    color: var(--fh-muted);
}
.ticket-reply .attachments strong { color: var(--fh-text); font-size: .88rem; }
.ticket-reply .attachments strong i { color: var(--fh-brand); }
.attachment-list { border: none !important; background: transparent !important; margin: 10px 0 0; padding: 0; }
.attachment-list li {
    display: inline-block;
    background: var(--fh-surface-2);
    border: 1px solid var(--fh-border);
    border-radius: 10px;
    padding: 6px 12px;
    margin: 0 8px 8px 0;
}
.attachment-list li a { color: var(--fh-brand); }
.attachment-list li figure { display: inline-block; margin: 0 6px 0 0; }
.attachment-list li .caption { display: inline-block; font-size: .85rem; }

/* ticket page header card: subject line */
.view-ticket .card-header, .view-ticket h4 { color: var(--fh-text); }
#main-body .header-lined + p, .view-ticket p { color: var(--fh-muted); }

/* ================================================================
   PAYMENT METHODS / STRIPE ELEMENTS (fh12)
   The card fields are Stripe-hosted iframes — their inner text colour
   is fixed (dark) by the encrypted WHMCS module, so the containers
   stay light on purpose: styled "wells" with the theme's cyan accents.
   ================================================================ */
#stripeElements .form-control,
.cc-details .form-control,
#stripeCreditCard, #stripeExpiryDate, #stripeCvc,
.StripeElement {
    background: #eef3fb !important;
    border: 1px solid rgba(56, 189, 248, .4) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    color: #0b1020 !important;
    min-height: 42px;
    padding: 10px 12px !important;
    transition: border-color .15s, box-shadow .15s;
}
.cc-details input.form-control::placeholder { color: #64748b !important; }
.StripeElement--focus, .cc-details .form-control:focus {
    border-color: var(--fh-brand) !important;
    box-shadow: 0 0 0 3px rgba(56, 189, 248, .25) !important;
}
.StripeElement--invalid { border-color: #ef4444 !important; }
.StripeElement--complete { border-color: rgba(16, 185, 129, .6) !important; }
#stripeElements label, .cc-details label { color: var(--fh-muted); }
#stripeCardType { margin-top: 6px; }

/* payment method page odds and ends */
.assisted-cc-input-feedback { border-radius: 12px; }
#btnAddNewBillingAddress, .payment-methods .btn-default { border-radius: 999px !important; }

/* ================================================================
   PRODUCT DETAILS — status card redesign (fh13)
   The generic [class*="status-"] pill rule was swallowing this whole
   block (that was the giant green "bubble") — fully re-specified here.
   ================================================================ */
.product-status,
.product-status[class*="status-"] {
    display: block !important;
    padding: 0 !important;
    margin: 0 0 18px;
    border-radius: var(--fh-radius) !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: normal !important;
    background: linear-gradient(180deg, var(--fh-surface-2), var(--fh-surface)) !important;
    border: 1px solid var(--fh-border) !important;
    overflow: hidden;
}
.product-status .product-icon {
    padding: 28px 18px 16px;
    background: transparent !important;
}
.product-status .fa-stack { font-size: 2.1rem; margin-bottom: 12px; }
.product-status .fa-stack .fa-circle { color: var(--fh-surface-2); }
.product-status .fa-stack .fa-inverse { color: var(--fh-brand); }
.product-status .product-icon h3 {
    color: var(--fh-text);
    font-size: 1.15rem;
    margin: 4px 0 2px;
}
.product-status .product-icon h4 {
    color: var(--fh-muted-2);
    font-size: .88rem;
    font-weight: 500;
    margin: 0;
}
/* status strip at the bottom, tinted per state */
.product-status .product-status-text {
    display: block !important;
    border-radius: 0 !important;
    padding: 9px 12px !important;
    font-size: .76rem !important;
    font-weight: 700 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase;
    text-align: center;
    background: var(--fh-surface) !important;
    border-top: 1px solid var(--fh-border);
    color: var(--fh-muted) !important;
}
.product-status-active .product-status-text { background: rgba(16, 185, 129, .12) !important; color: #34d399 !important; }
.product-status-active .fa-stack .fa-inverse { color: #34d399; }
.product-status-pending .product-status-text { background: rgba(245, 158, 11, .12) !important; color: #fbbf24 !important; }
.product-status-suspended .product-status-text { background: rgba(245, 158, 11, .12) !important; color: #fbbf24 !important; }
.product-status-terminated .product-status-text,
.product-status-cancelled .product-status-text { background: rgba(239, 68, 68, .1) !important; color: #f87171 !important; }
.product-status-fraud .product-status-text { background: rgba(239, 68, 68, .12) !important; color: #f87171 !important; }

/* action buttons under the card */
.product-actions-wrapper .btn { border-radius: var(--fh-radius-sm) !important; }
.product-details-tab-container {
    background: transparent !important;
    border: none !important;
    padding: 20px 0 !important;
}
/* right-hand summary (Registration Date, Recurring Amount…) */
.product-details .row h3, .product-details h3 { font-size: 1.02rem; margin-top: 14px; }
.product-details .row p, .product-details p { color: var(--fh-muted); }

/* ================================================================
   SIDEBAR ACTIVE ITEM — rounded, contained highlight (fh14)
   ================================================================ */
/* keep list highlights inside the card's rounded corners */
.sidebar .card, .card-sidebar, .panel-sidebar { overflow: hidden; }
.card > .list-group:first-child .list-group-item:first-child {
    border-top-left-radius: calc(var(--fh-radius) - 1px) !important;
    border-top-right-radius: calc(var(--fh-radius) - 1px) !important;
}
.card > .list-group:last-child .list-group-item:last-child {
    border-bottom-left-radius: calc(var(--fh-radius) - 1px) !important;
    border-bottom-right-radius: calc(var(--fh-radius) - 1px) !important;
}
/* the accent bar becomes an inset stripe, so it follows the rounding
   instead of poking out past the card edge */
.list-group-item.active {
    border-left: none !important;
    box-shadow: inset 3px 0 0 var(--fh-brand);
}

/* ================================================================
   TABLES INSIDE ROUNDED CONTAINERS (fh15)
   Row backgrounds are square, so the first/last row used to poke out
   past the card's rounded corners (Add Funds & friends). The corner
   cells now inherit the rounding — no overflow:hidden, so dropdowns
   inside service tables keep working.
   ================================================================ */
/* table sits directly in a card */
.card > .table:first-child tr:first-child > *:first-child { border-top-left-radius: calc(var(--fh-radius) - 1px) !important; }
.card > .table:first-child tr:first-child > *:last-child { border-top-right-radius: calc(var(--fh-radius) - 1px) !important; }
.card > .table:last-child tr:last-child > *:first-child { border-bottom-left-radius: calc(var(--fh-radius) - 1px) !important; }
.card > .table:last-child tr:last-child > *:last-child { border-bottom-right-radius: calc(var(--fh-radius) - 1px) !important; }
.card > .table:last-child { margin-bottom: 0; }

/* table wrapped in .table-responsive / .table-container inside a card */
.card > .table-responsive:first-child .table tr:first-child > *:first-child,
.card > .table-container:first-child .table tr:first-child > *:first-child { border-top-left-radius: calc(var(--fh-radius) - 1px) !important; }
.card > .table-responsive:first-child .table tr:first-child > *:last-child,
.card > .table-container:first-child .table tr:first-child > *:last-child { border-top-right-radius: calc(var(--fh-radius) - 1px) !important; }
.card > .table-responsive:last-child .table tr:last-child > *:first-child,
.card > .table-container:last-child .table tr:last-child > *:first-child { border-bottom-left-radius: calc(var(--fh-radius) - 1px) !important; }
.card > .table-responsive:last-child .table tr:last-child > *:last-child,
.card > .table-container:last-child .table tr:last-child > *:last-child { border-bottom-right-radius: calc(var(--fh-radius) - 1px) !important; }

/* standalone table lists (domains, invoices, tickets pages) */
.table-container { border-radius: var(--fh-radius-sm); }
.table-container > .table tr:first-child > *:first-child { border-top-left-radius: var(--fh-radius-sm) !important; }
.table-container > .table tr:first-child > *:last-child { border-top-right-radius: var(--fh-radius-sm) !important; }
.table-container > .table tr:last-child > *:first-child { border-bottom-left-radius: var(--fh-radius-sm) !important; }
.table-container > .table tr:last-child > *:last-child { border-bottom-right-radius: var(--fh-radius-sm) !important; }

/* ================================================================
   FIRST-ROW TOP BORDER (fh16)
   Bootstrap draws border-top on every cell; on the very first row it
   cuts straight across the container's rounded corner (the stray line
   above "Minimum Deposit"). Strip it wherever a table starts.
   ================================================================ */
.table > thead:first-child > tr:first-child > th,
.table > thead:first-child > tr:first-child > td,
.table > tbody:first-child > tr:first-child > th,
.table > tbody:first-child > tr:first-child > td,
.table > tr:first-child > th,
.table > tr:first-child > td {
    border-top: none !important;
}

/* ================================================================
   INTL-TEL-INPUT (fh18) — restored from stock twenty-one; the edited
   all.min.css lost this block and the phone country dropdown broke.
   ================================================================ */
.intl-tel-input{position:relative;display:inline-block}.intl-tel-input *{box-sizing:border-box;-moz-box-sizing:border-box}.intl-tel-input .hide{display:none}.intl-tel-input .v-hide{visibility:hidden}.intl-tel-input input,.intl-tel-input input[type=tel],.intl-tel-input input[type=text]{position:relative;z-index:0;margin-top:0!important;margin-bottom:0!important;padding-right:36px;margin-right:0}.intl-tel-input .flag-container{position:absolute;top:0;bottom:0;right:0;padding:1px}.intl-tel-input .selected-flag{z-index:1;position:relative;width:36px;height:100%;padding:0 0 0 8px}.intl-tel-input .selected-flag .iti-flag{position:absolute;top:0;bottom:0;margin:auto}.intl-tel-input .selected-flag .iti-arrow{position:absolute;top:50%;margin-top:-2px;right:6px;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid #555}.intl-tel-input .selected-flag .iti-arrow.up{border-top:none;border-bottom:4px solid #555}.intl-tel-input .country-list{position:absolute;z-index:2;list-style:none;text-align:left;padding:0;margin:0 0 0 -1px;box-shadow:1px 1px 4px rgba(0,0,0,.2);background-color:#fff;border:1px solid #ccc;white-space:nowrap;max-height:200px;overflow-y:scroll}.intl-tel-input .country-list.dropup{bottom:100%;margin-bottom:-1px}.intl-tel-input .country-list .flag-box{display:inline-block;width:20px}@media (max-width:500px){.intl-tel-input .country-list{white-space:normal}}.intl-tel-input .country-list .divider{padding-bottom:5px;margin-bottom:5px;border-bottom:1px solid #ccc}.intl-tel-input .country-list .country{padding:5px 10px}.intl-tel-input .country-list .country .dial-code{color:#999}.intl-tel-input .country-list .country.highlight{background-color:rgba(0,0,0,.05)}.intl-tel-input .country-list .country-name,.intl-tel-input .country-list .dial-code,.intl-tel-input .country-list .flag-box{vertical-align:middle}.intl-tel-input .country-list .country-name,.intl-tel-input .country-list .flag-box{margin-right:6px}.intl-tel-input.allow-dropdown input,.intl-tel-input.allow-dropdown input[type=tel],.intl-tel-input.allow-dropdown input[type=text],.intl-tel-input.separate-dial-code input,.intl-tel-input.separate-dial-code input[type=tel],.intl-tel-input.separate-dial-code input[type=text]{padding-right:6px;padding-left:52px;margin-left:0}.intl-tel-input.allow-dropdown .flag-container,.intl-tel-input.separate-dial-code .flag-container{right:auto;left:0}.intl-tel-input.allow-dropdown .selected-flag,.intl-tel-input.separate-dial-code .selected-flag{width:46px}.intl-tel-input.allow-dropdown .flag-container:hover{cursor:pointer}.intl-tel-input.allow-dropdown .flag-container:hover .selected-flag{background-color:rgba(0,0,0,.05)}.intl-tel-input.allow-dropdown input[disabled]+.flag-container:hover,.intl-tel-input.allow-dropdown input[readonly]+.flag-container:hover{cursor:default}.intl-tel-input.allow-dropdown input[disabled]+.flag-container:hover .selected-flag,.intl-tel-input.allow-dropdown input[readonly]+.flag-container:hover .selected-flag{background-color:transparent}.intl-tel-input.separate-dial-code .selected-flag{background-color:rgba(0,0,0,.05);display:table}.intl-tel-input.separate-dial-code .selected-dial-code{display:table-cell;vertical-align:middle;padding-left:28px}.intl-tel-input.separate-dial-code.iti-sdc-2 input,.intl-tel-input.separate-dial-code.iti-sdc-2 input[type=tel],.intl-tel-input.separate-dial-code.iti-sdc-2 input[type=text]{padding-left:66px}.intl-tel-input.separate-dial-code.iti-sdc-2 .selected-flag{width:60px}.intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-2 input,.intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-2 input[type=tel],.intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-2 input[type=text]{padding-left:76px}.intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-2 .selected-flag{width:70px}.intl-tel-input.separate-dial-code.iti-sdc-3 input,.intl-tel-input.separate-dial-code.iti-sdc-3 input[type=tel],.intl-tel-input.separate-dial-code.iti-sdc-3 input[type=text]{padding-left:74px}.intl-tel-input.separate-dial-code.iti-sdc-3 .selected-flag{width:68px}.intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-3 input,.intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-3 input[type=tel],.intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-3 input[type=text]{padding-left:84px}.intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-3 .selected-flag{width:78px}.intl-tel-input.separate-dial-code.iti-sdc-4 input,.intl-tel-input.separate-dial-code.iti-sdc-4 input[type=tel],.intl-tel-input.separate-dial-code.iti-sdc-4 input[type=text]{padding-left:82px}.intl-tel-input.separate-dial-code.iti-sdc-4 .selected-flag{width:76px}.intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-4 input,.intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-4 input[type=tel],.intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-4 input[type=text]{padding-left:92px}.intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-4 .selected-flag{width:86px}.intl-tel-input.separate-dial-code.iti-sdc-5 input,.intl-tel-input.separate-dial-code.iti-sdc-5 input[type=tel],.intl-tel-input.separate-dial-code.iti-sdc-5 input[type=text]{padding-left:90px}.intl-tel-input.separate-dial-code.iti-sdc-5 .selected-flag{width:84px}.intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-5 input,.intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-5 input[type=tel],.intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-5 input[type=text]{padding-left:100px}.intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-5 .selected-flag{width:94px}.intl-tel-input.iti-container{position:absolute;top:-1000px;left:-1000px;z-index:1060;padding:1px}.intl-tel-input.iti-container:hover{cursor:pointer}.iti-mobile .intl-tel-input.iti-container{top:30px;bottom:30px;left:30px;right:30px;position:fixed}.iti-mobile .intl-tel-input .country-list{max-height:100%;width:100%}.iti-mobile .intl-tel-input .country-list .country{padding:10px 10px;line-height:1.5em}.iti-flag{width:20px}.iti-flag.be{width:18px}.iti-flag.ch{width:15px}.iti-flag.mc{width:19px}.iti-flag.ne{width:18px}.iti-flag.np{width:13px}.iti-flag.va{width:15px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2 / 1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.iti-flag{background-size:5630px 15px}}.iti-flag.ac{height:10px;background-position:0 0}.iti-flag.ad{height:14px;background-position:-22px 0}.iti-flag.ae{height:10px;background-position:-44px 0}.iti-flag.af{height:14px;background-position:-66px 0}.iti-flag.ag{height:14px;background-position:-88px 0}.iti-flag.ai{height:10px;background-position:-110px 0}.iti-flag.al{height:15px;background-position:-132px 0}.iti-flag.am{height:10px;background-position:-154px 0}.iti-flag.ao{height:14px;background-position:-176px 0}.iti-flag.aq{height:14px;background-position:-198px 0}.iti-flag.ar{height:13px;background-position:-220px 0}.iti-flag.as{height:10px;background-position:-242px 0}.iti-flag.at{height:14px;background-position:-264px 0}.iti-flag.au{height:10px;background-position:-286px 0}.iti-flag.aw{height:14px;background-position:-308px 0}.iti-flag.ax{height:13px;background-position:-330px 0}.iti-flag.az{height:10px;background-position:-352px 0}.iti-flag.ba{height:10px;background-position:-374px 0}.iti-flag.bb{height:14px;background-position:-396px 0}.iti-flag.bd{height:12px;background-position:-418px 0}.iti-flag.be{height:15px;background-position:-440px 0}.iti-flag.bf{height:14px;background-position:-460px 0}.iti-flag.bg{height:12px;background-position:-482px 0}.iti-flag.bh{height:12px;background-position:-504px 0}.iti-flag.bi{height:12px;background-position:-526px 0}.iti-flag.bj{height:14px;background-position:-548px 0}.iti-flag.bl{height:14px;background-position:-570px 0}.iti-flag.bm{height:10px;background-position:-592px 0}.iti-flag.bn{height:10px;background-position:-614px 0}.iti-flag.bo{height:14px;background-position:-636px 0}.iti-flag.bq{height:14px;background-position:-658px 0}.iti-flag.br{height:14px;background-position:-680px 0}.iti-flag.bs{height:10px;background-position:-702px 0}.iti-flag.bt{height:14px;background-position:-724px 0}.iti-flag.bv{height:15px;background-position:-746px 0}.iti-flag.bw{height:14px;background-position:-768px 0}.iti-flag.by{height:10px;background-position:-790px 0}.iti-flag.bz{height:14px;background-position:-812px 0}.iti-flag.ca{height:10px;background-position:-834px 0}.iti-flag.cc{height:10px;background-position:-856px 0}.iti-flag.cd{height:15px;background-position:-878px 0}.iti-flag.cf{height:14px;background-position:-900px 0}.iti-flag.cg{height:14px;background-position:-922px 0}.iti-flag.ch{height:15px;background-position:-944px 0}.iti-flag.ci{height:14px;background-position:-961px 0}.iti-flag.ck{height:10px;background-position:-983px 0}.iti-flag.cl{height:14px;background-position:-1005px 0}.iti-flag.cm{height:14px;background-position:-1027px 0}.iti-flag.cn{height:14px;background-position:-1049px 0}.iti-flag.co{height:14px;background-position:-1071px 0}.iti-flag.cp{height:14px;background-position:-1093px 0}.iti-flag.cr{height:12px;background-position:-1115px 0}.iti-flag.cu{height:10px;background-position:-1137px 0}.iti-flag.cv{height:12px;background-position:-1159px 0}.iti-flag.cw{height:14px;background-position:-1181px 0}.iti-flag.cx{height:10px;background-position:-1203px 0}.iti-flag.cy{height:13px;background-position:-1225px 0}.iti-flag.cz{height:14px;background-position:-1247px 0}.iti-flag.de{height:12px;background-position:-1269px 0}.iti-flag.dg{height:10px;background-position:-1291px 0}.iti-flag.dj{height:14px;background-position:-1313px 0}.iti-flag.dk{height:15px;background-position:-1335px 0}.iti-flag.dm{height:10px;background-position:-1357px 0}.iti-flag.do{height:13px;background-position:-1379px 0}.iti-flag.dz{height:14px;background-position:-1401px 0}.iti-flag.ea{height:14px;background-position:-1423px 0}.iti-flag.ec{height:14px;background-position:-1445px 0}.iti-flag.ee{height:13px;background-position:-1467px 0}.iti-flag.eg{height:14px;background-position:-1489px 0}.iti-flag.eh{height:10px;background-position:-1511px 0}.iti-flag.er{height:10px;background-position:-1533px 0}.iti-flag.es{height:14px;background-position:-1555px 0}.iti-flag.et{height:10px;background-position:-1577px 0}.iti-flag.eu{height:14px;background-position:-1599px 0}.iti-flag.fi{height:12px;background-position:-1621px 0}.iti-flag.fj{height:10px;background-position:-1643px 0}.iti-flag.fk{height:10px;background-position:-1665px 0}.iti-flag.fm{height:11px;background-position:-1687px 0}.iti-flag.fo{height:15px;background-position:-1709px 0}.iti-flag.fr{height:14px;background-position:-1731px 0}.iti-flag.ga{height:15px;background-position:-1753px 0}.iti-flag.gb{height:10px;background-position:-1775px 0}.iti-flag.gd{height:12px;background-position:-1797px 0}.iti-flag.ge{height:14px;background-position:-1819px 0}.iti-flag.gf{height:14px;background-position:-1841px 0}.iti-flag.gg{height:14px;background-position:-1863px 0}.iti-flag.gh{height:14px;background-position:-1885px 0}.iti-flag.gi{height:10px;background-position:-1907px 0}.iti-flag.gl{height:14px;background-position:-1929px 0}.iti-flag.gm{height:14px;background-position:-1951px 0}.iti-flag.gn{height:14px;background-position:-1973px 0}.iti-flag.gp{height:14px;background-position:-1995px 0}.iti-flag.gq{height:14px;background-position:-2017px 0}.iti-flag.gr{height:14px;background-position:-2039px 0}.iti-flag.gs{height:10px;background-position:-2061px 0}.iti-flag.gt{height:13px;background-position:-2083px 0}.iti-flag.gu{height:11px;background-position:-2105px 0}.iti-flag.gw{height:10px;background-position:-2127px 0}.iti-flag.gy{height:12px;background-position:-2149px 0}.iti-flag.hk{height:14px;background-position:-2171px 0}.iti-flag.hm{height:10px;background-position:-2193px 0}.iti-flag.hn{height:10px;background-position:-2215px 0}.iti-flag.hr{height:10px;background-position:-2237px 0}.iti-flag.ht{height:12px;background-position:-2259px 0}.iti-flag.hu{height:10px;background-position:-2281px 0}.iti-flag.ic{height:14px;background-position:-2303px 0}.iti-flag.id{height:14px;background-position:-2325px 0}.iti-flag.ie{height:10px;background-position:-2347px 0}.iti-flag.il{height:15px;background-position:-2369px 0}.iti-flag.im{height:10px;background-position:-2391px 0}.iti-flag.in{height:14px;background-position:-2413px 0}.iti-flag.io{height:10px;background-position:-2435px 0}.iti-flag.iq{height:14px;background-position:-2457px 0}.iti-flag.ir{height:12px;background-position:-2479px 0}.iti-flag.is{height:15px;background-position:-2501px 0}.iti-flag.it{height:14px;background-position:-2523px 0}.iti-flag.je{height:12px;background-position:-2545px 0}.iti-flag.jm{height:10px;background-position:-2567px 0}.iti-flag.jo{height:10px;background-position:-2589px 0}.iti-flag.jp{height:14px;background-position:-2611px 0}.iti-flag.ke{height:14px;background-position:-2633px 0}.iti-flag.kg{height:12px;background-position:-2655px 0}.iti-flag.kh{height:13px;background-position:-2677px 0}.iti-flag.ki{height:10px;background-position:-2699px 0}.iti-flag.km{height:12px;background-position:-2721px 0}.iti-flag.kn{height:14px;background-position:-2743px 0}.iti-flag.kp{height:10px;background-position:-2765px 0}.iti-flag.kr{height:14px;background-position:-2787px 0}.iti-flag.kw{height:10px;background-position:-2809px 0}.iti-flag.ky{height:10px;background-position:-2831px 0}.iti-flag.kz{height:10px;background-position:-2853px 0}.iti-flag.la{height:14px;background-position:-2875px 0}.iti-flag.lb{height:14px;background-position:-2897px 0}.iti-flag.lc{height:10px;background-position:-2919px 0}.iti-flag.li{height:12px;background-position:-2941px 0}.iti-flag.lk{height:10px;background-position:-2963px 0}.iti-flag.lr{height:11px;background-position:-2985px 0}.iti-flag.ls{height:14px;background-position:-3007px 0}.iti-flag.lt{height:12px;background-position:-3029px 0}.iti-flag.lu{height:12px;background-position:-3051px 0}.iti-flag.lv{height:10px;background-position:-3073px 0}.iti-flag.ly{height:10px;background-position:-3095px 0}.iti-flag.ma{height:14px;background-position:-3117px 0}.iti-flag.mc{height:15px;background-position:-3139px 0}.iti-flag.md{height:10px;background-position:-3160px 0}.iti-flag.me{height:10px;background-position:-3182px 0}.iti-flag.mf{height:14px;background-position:-3204px 0}.iti-flag.mg{height:14px;background-position:-3226px 0}.iti-flag.mh{height:11px;background-position:-3248px 0}.iti-flag.mk{height:10px;background-position:-3270px 0}.iti-flag.ml{height:14px;background-position:-3292px 0}.iti-flag.mm{height:14px;background-position:-3314px 0}.iti-flag.mn{height:10px;background-position:-3336px 0}.iti-flag.mo{height:14px;background-position:-3358px 0}.iti-flag.mp{height:10px;background-position:-3380px 0}.iti-flag.mq{height:14px;background-position:-3402px 0}.iti-flag.mr{height:14px;background-position:-3424px 0}.iti-flag.ms{height:10px;background-position:-3446px 0}.iti-flag.mt{height:14px;background-position:-3468px 0}.iti-flag.mu{height:14px;background-position:-3490px 0}.iti-flag.mv{height:14px;background-position:-3512px 0}.iti-flag.mw{height:14px;background-position:-3534px 0}.iti-flag.mx{height:12px;background-position:-3556px 0}.iti-flag.my{height:10px;background-position:-3578px 0}.iti-flag.mz{height:14px;background-position:-3600px 0}.iti-flag.na{height:14px;background-position:-3622px 0}.iti-flag.nc{height:10px;background-position:-3644px 0}.iti-flag.ne{height:15px;background-position:-3666px 0}.iti-flag.nf{height:10px;background-position:-3686px 0}.iti-flag.ng{height:10px;background-position:-3708px 0}.iti-flag.ni{height:12px;background-position:-3730px 0}.iti-flag.nl{height:14px;background-position:-3752px 0}.iti-flag.no{height:15px;background-position:-3774px 0}.iti-flag.np{height:15px;background-position:-3796px 0}.iti-flag.nr{height:10px;background-position:-3811px 0}.iti-flag.nu{height:10px;background-position:-3833px 0}.iti-flag.nz{height:10px;background-position:-3855px 0}.iti-flag.om{height:10px;background-position:-3877px 0}.iti-flag.pa{height:14px;background-position:-3899px 0}.iti-flag.pe{height:14px;background-position:-3921px 0}.iti-flag.pf{height:14px;background-position:-3943px 0}.iti-flag.pg{height:15px;background-position:-3965px 0}.iti-flag.ph{height:10px;background-position:-3987px 0}.iti-flag.pk{height:14px;background-position:-4009px 0}.iti-flag.pl{height:13px;background-position:-4031px 0}.iti-flag.pm{height:14px;background-position:-4053px 0}.iti-flag.pn{height:10px;background-position:-4075px 0}.iti-flag.pr{height:14px;background-position:-4097px 0}.iti-flag.ps{height:10px;background-position:-4119px 0}.iti-flag.pt{height:14px;background-position:-4141px 0}.iti-flag.pw{height:13px;background-position:-4163px 0}.iti-flag.py{height:11px;background-position:-4185px 0}.iti-flag.qa{height:8px;background-position:-4207px 0}.iti-flag.re{height:14px;background-position:-4229px 0}.iti-flag.ro{height:14px;background-position:-4251px 0}.iti-flag.rs{height:14px;background-position:-4273px 0}.iti-flag.ru{height:14px;background-position:-4295px 0}.iti-flag.rw{height:14px;background-position:-4317px 0}.iti-flag.sa{height:14px;background-position:-4339px 0}.iti-flag.sb{height:10px;background-position:-4361px 0}.iti-flag.sc{height:10px;background-position:-4383px 0}.iti-flag.sd{height:10px;background-position:-4405px 0}.iti-flag.se{height:13px;background-position:-4427px 0}.iti-flag.sg{height:14px;background-position:-4449px 0}.iti-flag.sh{height:10px;background-position:-4471px 0}.iti-flag.si{height:10px;background-position:-4493px 0}.iti-flag.sj{height:15px;background-position:-4515px 0}.iti-flag.sk{height:14px;background-position:-4537px 0}.iti-flag.sl{height:14px;background-position:-4559px 0}.iti-flag.sm{height:15px;background-position:-4581px 0}.iti-flag.sn{height:14px;background-position:-4603px 0}.iti-flag.so{height:14px;background-position:-4625px 0}.iti-flag.sr{height:14px;background-position:-4647px 0}.iti-flag.ss{height:10px;background-position:-4669px 0}.iti-flag.st{height:10px;background-position:-4691px 0}.iti-flag.sv{height:12px;background-position:-4713px 0}.iti-flag.sx{height:14px;background-position:-4735px 0}.iti-flag.sy{height:14px;background-position:-4757px 0}.iti-flag.sz{height:14px;background-position:-4779px 0}.iti-flag.ta{height:10px;background-position:-4801px 0}.iti-flag.tc{height:10px;background-position:-4823px 0}.iti-flag.td{height:14px;background-position:-4845px 0}.iti-flag.tf{height:14px;background-position:-4867px 0}.iti-flag.tg{height:13px;background-position:-4889px 0}.iti-flag.th{height:14px;background-position:-4911px 0}.iti-flag.tj{height:10px;background-position:-4933px 0}.iti-flag.tk{height:10px;background-position:-4955px 0}.iti-flag.tl{height:10px;background-position:-4977px 0}.iti-flag.tm{height:14px;background-position:-4999px 0}.iti-flag.tn{height:14px;background-position:-5021px 0}.iti-flag.to{height:10px;background-position:-5043px 0}.iti-flag.tr{height:14px;background-position:-5065px 0}.iti-flag.tt{height:12px;background-position:-5087px 0}.iti-flag.tv{height:10px;background-position:-5109px 0}.iti-flag.tw{height:14px;background-position:-5131px 0}.iti-flag.tz{height:14px;background-position:-5153px 0}.iti-flag.ua{height:14px;background-position:-5175px 0}.iti-flag.ug{height:14px;background-position:-5197px 0}.iti-flag.um{height:11px;background-position:-5219px 0}.iti-flag.us{height:11px;background-position:-5241px 0}.iti-flag.uy{height:14px;background-position:-5263px 0}.iti-flag.uz{height:10px;background-position:-5285px 0}.iti-flag.va{height:15px;background-position:-5307px 0}.iti-flag.vc{height:14px;background-position:-5324px 0}.iti-flag.ve{height:14px;background-position:-5346px 0}.iti-flag.vg{height:10px;background-position:-5368px 0}.iti-flag.vi{height:14px;background-position:-5390px 0}.iti-flag.vn{height:14px;background-position:-5412px 0}.iti-flag.vu{height:12px;background-position:-5434px 0}.iti-flag.wf{height:14px;background-position:-5456px 0}.iti-flag.ws{height:10px;background-position:-5478px 0}.iti-flag.xk{height:15px;background-position:-5500px 0}.iti-flag.ye{height:14px;background-position:-5522px 0}.iti-flag.yt{height:14px;background-position:-5544px 0}.iti-flag.za{height:14px;background-position:-5566px 0}.iti-flag.zm{height:14px;background-position:-5588px 0}.iti-flag.zw{height:10px;background-position:-5610px 0}.iti-flag{width:20px;height:15px;box-shadow:0 0 1px 0 #888;background-image:url(../img/flags.png);background-repeat:no-repeat;background-color:#dbdbdb;background-position:20px 0}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2 / 1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.iti-flag{background-image:url(../img/flags@2x.png)}}.iti-flag.np{background-color:transparent}.intl-tel-input{width:100%}
/* dark skin for the phone country dropdown */
.intl-tel-input .country-list {
    background: linear-gradient(180deg, var(--fh-bg-3), var(--fh-bg-2)) !important;
    border: 1px solid var(--fh-border-2) !important;
    border-radius: 12px;
    box-shadow: var(--fh-shadow);
    color: var(--fh-text);
    z-index: 1050;
}
.intl-tel-input .country-list .country { color: var(--fh-muted); padding: 8px 12px; }
.intl-tel-input .country-list .country.highlight,
.intl-tel-input .country-list .country:hover { background: var(--fh-surface-2) !important; color: var(--fh-text); }
.intl-tel-input .country-list .country .dial-code { color: var(--fh-muted-2); }
.intl-tel-input .country-list .divider { border-bottom: 1px solid var(--fh-border) !important; }
.intl-tel-input .flag-container .selected-flag { background: transparent !important; }
.intl-tel-input .flag-container .selected-flag .iti-arrow { border-top-color: var(--fh-muted); }
.intl-tel-input.separate-dial-code .selected-dial-code { color: var(--fh-text); }
