/* Logged-out public header: mirrors the Hostmate website navigation. */

#fullpage-overlay {
    display: none !important;
}

/* Default links */
a {
    color: var(--hm-green);
}

/* Hover / focus */
a:hover,
a:focus {
    color: var(--hm-green-dark);
}

/* Desktop header dropdowns: open on hover */
@media (min-width: 992px) {
    body.hm-theme .navbar .dropdown:hover > .dropdown-menu,
    body.hm-theme .navbar-nav .dropdown:hover > .dropdown-menu {
        display: block !important;
        margin-top: 0 !important;
    }

    body.hm-theme .navbar .dropdown:hover > .dropdown-toggle,
    body.hm-theme .navbar-nav .dropdown:hover > .dropdown-toggle {
        color: var(--hm-green) !important;
    }
}

.hm-public-header {
    position: relative;
    z-index: 10;
    border-bottom: 1px solid rgba(17,19,18,.08);
    background: rgba(255,255,255,.96);
}

.hm-public-header-inner {
    min-height: 78px;
    display: flex;
    align-items: center;
    gap: 30px;
    max-width: 1280px;
}

.hm-public-brand {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

.hm-public-brand .logo-img {
    width: 190px;
    height: auto;
    max-height: none;
}

.hm-public-nav {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 30px;
}

.hm-public-nav a,
.hm-public-login {
    font-family: inherit;
    font-size: .92rem;
    font-weight: 500;
}

.hm-public-login {
    font-weight: 600;
}

.hm-public-nav a {
    color: #373c39;
}

.hm-public-nav a:hover,
.hm-public-nav a:focus {
    color: var(--hm-green-dark);
    text-decoration: none;
}

.hm-public-login {
    padding: 10px 17px;
    border: 1px solid var(--hm-line);
    border-radius: 10px;
    color: #373c39;
}

.hm-public-login:hover,
.hm-public-login:focus {
    border-color: #b9c2bb;
    color: #373c39;
    text-decoration: none;
}

.hm-public-cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin-left: -14px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #7a837e;
    font-size: 15px;
    text-decoration: none;
}

.hm-public-cart:hover,
.hm-public-cart:focus {
    background: transparent;
    color: var(--hm-green-dark);
    text-decoration: none;
}

@media (max-width:767.98px) {
    .hm-public-header-inner {
        min-height: 68px;
        gap: 14px;
    }

    .hm-public-brand .logo-img {
        width: 150px;
    }

    .hm-public-nav {
        display: none;
    }

    .hm-public-login {
        margin-left: auto;
        padding: 8px 12px;
        font-size: .82rem;
    }

    .hm-public-cart {
        flex-basis: 32px;
        width: 32px;
        height: 32px;
        margin-left: -6px;
        border: 0;
        border-radius: 0;
        background: transparent;
        font-size: 14px;
    }
}

/* Hostmate Temp Child v1.2.0 — deliberate visual redesign */

:root {
    --hm-blue: #2563eb;
    --hm-blue-dark: #1d4ed8;
    --hm-ink: #16212c;
    --hm-text: #344150;
    --hm-muted: #6d7885;
    --hm-line: #e3e8ec;
    --hm-bg: #f6f8fa;
    --hm-white: #fff;
    --hm-radius: 7px;
}

html {
    background: var(--hm-bg);
}

body.hm-theme {
    background: var(--hm-bg) !important;
    color: var(--hm-text);
    font-family: Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

body.hm-theme h1,
body.hm-theme h2,
body.hm-theme h3,
body.hm-theme h4 {
    color: var(--hm-ink);
    font-family: inherit;
    letter-spacing: -.04em;
}

/* SHELL — intentionally unlike stock Twenty-One */

.hm-shell {
    background: #fff;
    border: 0;
    box-shadow: 0 1px 0 rgba(19,35,50,.08);
}

.hm-accountbar {
    min-height: 38px;
    background: #17232e !important;
    border: 0 !important;
    color: #dce4ea;
}

.hm-accountbar .container {
    max-width: 1280px;
}

.hm-accountbar .btn {
    min-height: 38px;
    padding: .42rem .65rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #dce4ea;
    font-size: 12px;
}

.hm-accountbar .btn:hover {
    background: rgba(255,255,255,.07);
    color: #fff;
}

.hm-accountbar .input-group-text {
    min-height: 38px;
    border: 0;
    background: transparent;
    color: #91a0ad;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.hm-accountbar .btn-active-client {
    font-weight: 600;
    color: #fff;
}

.hm-brandbar {
    min-height: 86px;
    padding: 0;
    background: #fff !important;
}

.hm-brandbar .container {
    max-width: 1280px;
}

.hm-brandbar .navbar-brand {
    padding: 18px 0;
}

.hm-brandbar .navbar-brand .logo-img {
    width: auto;
    max-height: 46px;
}

.hm-brandbar .search .input-group-prepend .btn {
    border: 0;
    border-radius: 6px 0 0 6px;
    background: #f1f4f6;
    color: #77828d;
}

.hm-brandbar .search .form-control {
    width: 280px;
    min-height: 40px;
    border: 0;
    border-radius: 0 6px 6px 0;
    background: #f1f4f6;
    box-shadow: none;
    font-size: 13px;
}

.hm-brandbar .toolbar .nav-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid var(--hm-line);
    border-radius: 6px;
    color: #44515e;
}

.hm-brandbar .toolbar .nav-link:hover {
    background: #f6f8fa;
    color: var(--hm-blue);
}

.hm-brandbar .cart-btn {
    position: relative;
}

.hm-mainnav {
    padding: 0;
    background: #fff !important;
    border-top: 1px solid #eef1f3 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

.hm-mainnav .container {
    max-width: 1280px;
}

.hm-mainnav .navbar-nav>.nav-item>.nav-link {
    position: relative;
    padding: 15px 17px;
    color: #4d5965;
    font-size: 13px;
    font-weight: 600;
}

.hm-mainnav .navbar-nav>.nav-item:first-child>.nav-link {
    padding-left: 0;
}

.hm-mainnav .navbar-nav>.nav-item>.nav-link:hover {
    color: var(--hm-blue);
}

.hm-mainnav .navbar-nav>.nav-item.active>.nav-link {
    color: var(--hm-blue);
}

.hm-mainnav .navbar-nav>.nav-item.active>.nav-link:after {
    content: "";
    position: absolute;
    left: 17px;
    right: 17px;
    bottom: 0;
    height: 2px;
    background: var(--hm-blue);
}

.hm-mainnav .navbar-nav>.nav-item:first-child.active>.nav-link:after {
    left: 0;
}

.hm-mainnav .dropdown-menu {
    margin-top: 0;
    padding: 7px;
    border: 1px solid var(--hm-line);
    border-radius: 7px;
    box-shadow: 0 12px 28px rgba(19,35,50,.11);
}

.hm-mainnav .dropdown-item {
    padding: 8px 10px;
    border-radius: 5px;
    font-size: 13px;
}

.hm-mainnav .dropdown-item:hover {
    background: #f2f6f9;
    color: var(--hm-blue);
}

/* Breadcrumb becomes a quiet utility strip */

.master-breadcrumb {
    background: #f6f8fa !important;
    border: 0 !important;
}

.master-breadcrumb .container {
    max-width: 1280px;
}

.master-breadcrumb .breadcrumb {
    margin: 0;
    padding: 12px 0;
    background: transparent;
    font-size: 12px;
    color: #84909b;
}

.master-breadcrumb a {
    color: #687583;
}

/* Main canvas */

#main-body {
    padding: 36px 0 58px;
}

#main-body>.container {
    max-width: 1280px;
}

.primary-content>.header-lined {
    margin: 0 0 24px;
    padding: 0 0 17px;
    border-bottom: 1px solid var(--hm-line);
}

.primary-content>.header-lined h1 {
    margin: 0;
    font-size: 1.7rem;
    font-weight: 650;
}

.primary-content>.header-lined small {
    color: var(--hm-muted);
}

/* DASHBOARD hero */

.hm-dashboard-intro {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin: 0 0 30px;
    padding: 0 0 27px;
    border-bottom: 1px solid var(--hm-line);
}

.hm-eyebrow {
    margin-bottom: 8px;
    color: var(--hm-blue);
    font-size: 10px;
    line-height: 1;
    font-weight: 750;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.hm-dashboard-title {
    margin: 0;
    font-size: 1.75rem;
    line-height: 1.08;
    font-weight: 650;
}

.hm-dashboard-subtitle {
    margin: 9px 0 0;
    color: var(--hm-muted);
    font-size: 14px;
}

.hm-dashboard-primary-action {
    padding: .7rem 1rem;
    border-radius: 6px;
    font-size: 13px;
}

/* Dashboard stats: horizontal information blocks, not stock WHMCS tiles */

.hm-overview-tiles {
    margin: 0 0 35px !important;
}

.hm-overview-tiles .row {
    margin: 0;
    border-top: 1px solid var(--hm-line);
    border-bottom: 0;
}

.hm-overview-tiles .row>[class*="col-"] {
    padding: 0;
}

.hm-overview-tiles .tile.hm-overview-card {
    display: flex;
    flex-direction: column;
    min-height: 176px;
    margin: 0;
    padding: 25px 24px 21px;
    border: 0;
    border-right: 1px solid var(--hm-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--hm-ink);
    transition: background .15s ease;
}

.hm-overview-tiles .row>[class*="col-"]:last-child .tile {
    border-right: 0;
}

.hm-overview-tiles .tile.hm-overview-card:hover {
    transform: none;
    background: #f1f8f3;
    box-shadow: none;
    text-decoration: none;
}

.hm-tile-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.hm-tile-label {
    color: #65717d;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.hm-tile-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid #dfe7ed;
    border-radius: 50%;
    background: #fff;
}

.hm-overview-tiles .tile .hm-tile-icon i {
    position: static !important;
    margin: 0 !important;
    color: var(--hm-blue);
    font-size: 12px;
    opacity: 1;
}

.hm-overview-tiles .tile .stat {
    margin: 0;
    color: var(--hm-ink);
    font-size: 2.35rem;
    line-height: 1;
    font-weight: 600;
    letter-spacing: -.05em;
}

.hm-overview-tiles .tile .title {
    margin-top: 8px;
    color: var(--hm-muted);
    font-size: 12px;
    font-weight: 400;
}

.hm-tile-link {
    margin-top: auto;
    padding-top: 16px;
    color: var(--hm-blue);
    font-size: 12px;
    font-weight: 650;
}

.hm-tile-link i {
    position: static !important;
    margin-left: 5px !important;
    font-size: 9px !important;
}

.hm-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin: 0 0 14px;
}

.hm-section-heading h2 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 650;
}

.hm-addon-output {
    margin-bottom: 22px;
}

/* Home panels: flatter editorial rows */

.hm-client-home-cards .card {
    overflow: hidden;
    margin-bottom: 40px;
    border: 1px solid var(--hm-line) !important;
    border-radius: 7px;
    background: #fff;
    box-shadow: none !important;
}

.hm-client-home-cards .card-header {
    padding: 14px 17px;
    border-bottom: 1px solid var(--hm-line);
    background: #fff;
}

.hm-client-home-cards .card-title {
    color: #25313d;
    font-size: 13px;
    font-weight: 650;
    letter-spacing: 0;
}

.hm-client-home-cards .hm-panel-icon {
    color: #7b8792;
}

.hm-client-home-cards .card-body {
    padding: 17px;
}

.hm-client-home-cards .list-group-item {
    padding: .78rem 1rem;
    border-color: #edf0f2;
    color: #43505c;
    font-size: 13px;
}

.hm-client-home-cards .list-group-item:hover {
    background: #f8fafb;
    color: var(--hm-blue);
}

.hm-client-home-cards .card-footer {
    padding: 10px 17px;
    border-top: 1px solid var(--hm-line);
    background: #fafbfc;
    font-size: 12px;
}

.hm-client-home-cards .card-footer:empty {
    display: none;
}

/* General WHMCS pages */

.card {
    border: 1px solid var(--hm-line);
    border-radius: 7px;
    box-shadow: none;
}

.card-header {
    padding: .9rem 1rem;
    border-bottom: 1px solid var(--hm-line);
    background: #fff;
}

.card-footer {
    border-top: 1px solid var(--hm-line);
    background: #fafbfc;
}

.sidebar .card {
    overflow: hidden;
    box-shadow: none;
}

.sidebar .card-header {
    background: #f7f9fa;
    color: #4c5965;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.sidebar .list-group-item {
    padding: .72rem .9rem;
    font-size: 13px;
}

.sidebar .list-group-item.active {
    background: #eef5fa;
    border-color: var(--hm-line);
    color: var(--hm-blue);
    font-weight: 600;
}

.btn {
    border-radius: 6px;
    box-shadow: none !important;
    font-weight: 600;
}

.btn-primary {
    background: var(--hm-blue);
    border-color: var(--hm-blue);
}

.btn-primary:hover,
.btn-primary:focus {
    background: var(--hm-blue-dark);
    border-color: var(--hm-blue-dark);
}

.btn-default,
.btn-secondary {
    background: #fff;
    border-color: #d7dee4;
    color: #3d4a57;
}

.form-control,
.custom-select {
    min-height: 40px;
    border-color: #d7dee4;
    border-radius: 6px;
    color: #26323e;
    box-shadow: none;
}

.form-control:focus,
.custom-select:focus {
    border-color: #7daed3;
    box-shadow: 0 0 0 .16rem rgba(37,99,235,.12);
}

.table {
    color: #394652;
}

.table thead th {
    padding: .78rem;
    border-top: 0;
    border-bottom: 1px solid #dfe5e9;
    background: #f7f9fa;
    color: #65717c;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.table td {
    border-top-color: #edf0f2;
}

.table-hover tbody tr:hover {
    background: #f8fafb;
}

.badge,
.status {
    border-radius: 4px;
    font-weight: 650;
}

.alert {
    border-radius: 6px;
    box-shadow: none;
}

.pagination .page-link {
    color: var(--hm-blue);
    border-color: var(--hm-line);
}

.page-item.active .page-link {
    background: var(--hm-blue);
    border-color: var(--hm-blue);
}

.modal-content,
.popover {
    border: 1px solid var(--hm-line);
    border-radius: 7px;
    box-shadow: 0 15px 38px rgba(19,35,50,.14);
}

.footer {
    border-top: 1px solid var(--hm-line);
    background: #fff;
    color: #77838e;
}

@media (max-width:1199.98px) {
    .hm-mainnav {
        padding: 10px 0;
    }

    .hm-mainnav .navbar-nav>.nav-item>.nav-link,
    .hm-mainnav .navbar-nav>.nav-item:first-child>.nav-link {
        padding: 9px 8px;
    }

    .hm-mainnav .navbar-nav>.nav-item.active>.nav-link:after {
        display: none;
    }
}

@media (max-width:767.98px) {
    .hm-brandbar {
        min-height: 68px;
    }

    #main-body {
        padding-top: 24px;
    }

    .hm-dashboard-intro {
        display: block;
        margin-bottom: 22px;
        padding-bottom: 22px;
    }

    .hm-dashboard-title {
        font-size: 1.75rem;
    }

    .hm-dashboard-primary-action {
        margin-top: 16px;
    }

    .hm-overview-tiles .row {
        border-bottom: 0;
    }

    .hm-overview-tiles .tile.hm-overview-card {
        min-height: 150px;
        padding: 19px 16px;
        border-bottom: 1px solid var(--hm-line);
    }

    .hm-overview-tiles .row>[class*="col-"]:nth-child(2n) .tile {
        border-right: 0;
    }

    .hm-overview-tiles .tile .stat {
        font-size: 2rem;
    }
}

/* 
   ==========================================================
   HOSTMATE v1.3.2 - green interaction palette
   ==========================================================
 */

:root {
    --hm-green: #28a745;
    --hm-green-dark: #218838;
    --hm-green-soft: #eaf7ed;
    --hm-green-border: #c9e8d0;
}

/* Left sidebar: active item should be clear without the old dark-grey block. */

.sidebar .list-group-item.active,
.sidebar .list-group-item.active:hover,
.sidebar .list-group-item.active:focus {
    background: var(--hm-green-soft) !important;
    border-color: var(--hm-green-border) !important;
    color: #176b2c !important;
}

.sidebar .list-group-item.active i {
    color: var(--hm-green) !important;
}

/* Replace legacy Bootstrap/WHMCS cyan info badges. */

.label-info,
.badge-info {
    background-color: #64748b !important;
    border-color: #64748b !important;
    color: #fff !important;
}

/* Form/action buttons: use Hostmate green. */

.btn-primary,
.btn-success,
.btn-info,
input[type="submit"].btn-primary,
button.btn-primary {
    background-color: var(--hm-green) !important;
    border-color: var(--hm-green) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-info:hover,
.btn-info:focus,
.btn-info:active,
input[type="submit"].btn-primary:hover,
button.btn-primary :hover,
.show>.btn-primary.dropdown-toggle,
.show>.btn-info.dropdown-toggle {
    background-color: var(--hm-green-dark) !important;
    border-color: var(--hm-green-dark) !important;
    color: #fff !important;
}

/* Change-password and other informational notices: neutral green-tinted info state. */

.alert-info {
    color: #1f5f2d !important;
    background-color: #edf8ef !important;
    border-color: #c9e8d0 !important;
}

.alert-info a {
    color: #176b2c;
}

/* Green focus treatment for forms. */

.form-control:focus,
.custom-select:focus {
    border-color: #69bf7c;
    box-shadow: 0 0 0 .16rem rgba(40,167,69,.14);
}

/* Account-home icons and links use the same green interaction colour. */

.hm-overview-tiles .tile .hm-tile-icon i,
.hm-tile-link,
.hm-client-home-cards .hm-panel-icon,
.hm-client-home-cards .list-group-item:hover,
.hm-account-sidebar-shortcuts .card-header i,
.hm-account-sidebar-shortcuts .list-group-item:hover {
    color: var(--hm-green) !important;
}

.hm-overview-tiles .tile.hm-overview-card:hover .hm-tile-link {
    color: var(--hm-green-dark) !important;
}

/* iCheck square radio/checkbox sprites recoloured to Hostmate green. */

.icheckbox_square-blue,
.iradio_square-blue {
    background-image: url(green.png) !important;
}

@media (-o-min-device-pixel-ratio:5/4), (-webkit-min-device-pixel-ratio:1.25), (min-resolution:120dpi), (min-resolution:1.25dppx) {
    .icheckbox_square-blue,
    .iradio_square-blue {
        background-image: url(green@2x.png) !important;
        background-size: 240px 24px;
    }
}

/* 
   Hostmate: hide the SSL/padlock status column on client domain and service lists.
   Services: SSL is column 1. Domains: checkbox is column 1, SSL is column 2.
 */

#tableServicesList th:first-child,
#tableServicesList td:first-child,
#tableDomainsList th:nth-child(2),
#tableDomainsList td:nth-child(2) {
    display: none !important;
}

/* Align Domain and Product/Service table headings with their left-aligned content. */

#tableDomainsList thead th:nth-child(3),
#tableServicesList thead th:nth-child(2) {
    text-align: left !important;
}

/* Client domain/service lists: first visible data column left, all remaining columns centred. */

#tableServicesList thead th,
#tableServicesList tbody td,
#tableDomainsList thead th,
#tableDomainsList tbody td {
    text-align: center !important;
}

/* Services: SSL column is hidden, so Product / Service is the first visible data column. */

#tableServicesList thead th:nth-child(2),
#tableServicesList tbody td:nth-child(2) {
    text-align: left !important;
}

/* Domains: checkbox remains first, SSL column is hidden, Domain is the first visible data column. */

#tableDomainsList thead th:nth-child(3),
#tableDomainsList tbody td:nth-child(3) {
    text-align: left !important;
}

/* 
   DataTables sorting arrows must not shift centred header labels.
   Keep the normal cell padding symmetrical, then position the sort
   indicators independently at the right edge of the header cell.
 */

#tableServicesList thead th:nth-child(n/**/+3),
#tableDomainsList thead th:nth-child(n/**/+4) {
    position: relative;
    padding-left: .78rem !important;
    padding-right: .78rem !important;
    text-align: center !important;
}

#tableServicesList thead th:nth-child(n/**/+3)::before,
#tableServicesList thead th:nth-child(n/**/+3)::after,
#tableDomainsList thead th:nth-child(n/**/+4)::before,
#tableDomainsList thead th:nth-child(n/**/+4)::after {
    position: absolute !important;
    right: 6px !important;
    left: auto !important;
}

/* Domain/service status badges: larger and give adjacent badges breathing room. */

#tableServicesList .status,
#tableDomainsList .status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 6px 10px !important;
    margin: 0 5px !important;
    font-size: 12px;
    line-height: 1;
    vertical-align: middle !important;
}

/* Keep all controls/badges in the status cells on the same vertical centre line. */

#tableServicesList tbody td:last-child > *,
#tableDomainsList tbody td:last-child > * {
    vertical-align: middle !important;
}

/* 
   ==========================================================
   HOSTMATE CONSOLE - unified left navigation rail
   Flatten WHMCS sidebar cards into one continuous sidebar.
   ==========================================================
 */

.sidebar {
    overflow: hidden;
    border: 1px solid #e2e7ea;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(22, 33, 44, .035);
}

/* Individual WHMCS sidebar sections no longer look like separate cards. */

.sidebar > .card,
.sidebar > .panel,
.sidebar .card,
.sidebar .panel {
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.sidebar > .card:first-child .card-header,
.sidebar > .panel:first-child .panel-heading {
    border-top: 0 !important;
}

/* Remove decorative heading icons too: section labels should stay quiet. */

.sidebar .card-header i,
.sidebar .card-header .fas,
.sidebar .card-header .far,
.sidebar .card-header .fal,
.sidebar .card-header .fab,
.sidebar .panel-heading i,
.sidebar .panel-heading .fas,
.sidebar .panel-heading .far,
.sidebar .panel-heading .fal,
.sidebar .panel-heading .fab {
    display: none !important;
}

/* Flatten section contents into the same continuous rail. */

.sidebar .card-body,
.sidebar .panel-body {
    padding: 3px 8px 11px !important;
    border: 0 !important;
    background: transparent !important;
}

/* Navigation links: clean, flat rows instead of boxed WHMCS items. */

.sidebar .list-group {
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.sidebar .list-group-item {
    min-height: 38px;
    margin: 1px 0 !important;
    padding: 9px 21px !important;
    border: 0 !important;
    border-left: 3px solid transparent !important;
    border-radius: 7px !important;
    background: transparent !important;
    box-shadow: none !important;
}

.sidebar .list-group-item:hover {
    border-left-color: #c7e8ce !important;
    background: #f4faf5 !important;
}

.sidebar .list-group-item.active,
.sidebar .list-group-item.active:hover,
.sidebar .list-group-item.active:focus {
    border-left-color: var(--hm-green) !important;
    background: var(--hm-green-soft) !important;
    color: #26332b !important;
      border-radius: 0 !important;
}

/* Simplify primary-nav icons for the unified rail: no more green squares. */

.sidebar .list-group-item > i,
.sidebar .list-group-item > .fas,
.sidebar .list-group-item > .far,
.sidebar .list-group-item > .fal,
.sidebar .list-group-item > .fab {
    display: inline-flex !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 5px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #829087 !important;
    font-size: 12px !important;
    transform: none !important;
}

.sidebar .list-group-item:hover > i,
.sidebar .list-group-item:hover > .fas,
.sidebar .list-group-item:hover > .far,
.sidebar .list-group-item:hover > .fal,
.sidebar .list-group-item:hover > .fab,
.sidebar .list-group-item.active > i,
.sidebar .list-group-item.active > .fas,
.sidebar .list-group-item.active > .far,
.sidebar .list-group-item.active > .fal,
.sidebar .list-group-item.active > .fab {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--hm-green) !important;
    transform: none !important;
}

/* 
   Remove the extra link/action icons throughout sidebar sections.
   WHMCS may place these before, inside or after link text, so target
   icon classes anywhere inside non-list-group sidebar links.
 */

.sidebar .card-body a:not(.list-group-item) i,
.sidebar .card-body a:not(.list-group-item) .fa,
.sidebar .card-body a:not(.list-group-item) .fas,
.sidebar .card-body a:not(.list-group-item) .far,
.sidebar .card-body a:not(.list-group-item) .fal,
.sidebar .card-body a:not(.list-group-item) .fab,
.sidebar .panel-body a:not(.list-group-item) i,
.sidebar .panel-body a:not(.list-group-item) .fa,
.sidebar .panel-body a:not(.list-group-item) .fas,
.sidebar .panel-body a:not(.list-group-item) .far,
.sidebar .panel-body a:not(.list-group-item) .fal,
.sidebar .panel-body a:not(.list-group-item) .fab,
.sidebar a.quick-nav i,
.sidebar a.quick-nav .fa,
.sidebar a.quick-nav .fas,
.sidebar a.quick-nav .far {
    display: none !important;
}

/* Lists/links inside panels should visually belong to the same rail. */

.sidebar .card-body ul,
.sidebar .panel-body ul {
    margin-bottom: 0;
}

.sidebar .card-body a:not(.list-group-item),
.sidebar .panel-body a:not(.list-group-item) {
    text-decoration: none;
}

/* 
   ==========================================================
   HOSTMATE SIDEBAR CORRECTION
   One physical rail; retain section/header icons, remove only
   the small icons attached to individual panel links.
   ==========================================================
 */

/* Secondary/account groups now live inside the same outer sidebar. */

.hm-unified-sidebar > .hm-sidebar-section {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Remove Bootstrap spacing/rounding from every card within the unified rail. */

.hm-unified-sidebar .card,
.hm-unified-sidebar .card-sidebar,
.hm-unified-sidebar .hm-account-tool-panel {
    overflow: visible !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}



/* Remove ONLY icons belonging to individual link rows inside the panels. */

.hm-unified-sidebar .list-group-item .sidebar-menu-item-icon-wrapper {
    display: none !important;
}

.hm-unified-sidebar .list-group-item .sidebar-menu-item-label {
    display: block !important;
}

/* 
   Ensure no old card spacing creates visual breaks between Contacts,
   Payment Methods, User Management, or other sidebar groups.
 */

.hm-unified-sidebar .mb-3.card,
.hm-unified-sidebar .card + .card,
.hm-unified-sidebar .panel + .panel {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Only the outer unified rail gets rounded corners. */

.hm-unified-sidebar {
    overflow: hidden !important;
    border: 1px solid #e2e7ea !important;
    border-radius: 12px !important;
    background: #fff !important;
}

/* 
   Sidebar section collapse chevron: keep it fixed at the right-centre.
   WHMCS changes the icon direction/class as the section opens/closes;
   positioning stays constant so only the arrow orientation changes.
 */

.hm-unified-sidebar .card-header .card-title,
.hm-unified-sidebar .panel-heading .card-title {
    position: relative;
    width: 100%;
    padding-right: 24px;
}

.hm-unified-sidebar .card-header .card-minimise,
.hm-unified-sidebar .panel-heading .card-minimise {
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    left: auto !important;
    float: none !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    line-height: 18px !important;
    text-align: center !important;
    transform: translateY(-50%) !important;
}

/* 
   Sidebar collapse control: slightly larger hit area and restore
   the open/closed arrow rotation without moving its position.
 */

.hm-unified-sidebar .card-header .card-minimise,
.hm-unified-sidebar .panel-heading .card-minimise {
    right: -3px !important;
    width: 24px !important;
    height: 24px !important;
    padding: 5px !important;
    line-height: 14px !important;
    border-radius: 6px !important;
    transform: translateY(-50%) rotate(0deg) !important;
    transform-origin: center !important;
    transition: transform .18s ease, background-color .15s ease !important;
}

.hm-unified-sidebar .card-header .card-minimise:hover,
.hm-unified-sidebar .panel-heading .card-minimise:hover {
    background: #f1f5f2 !important;
}

.hm-unified-sidebar .card-minimise.fa-chevron-down {
    transform: translateY(-50%) rotate(180deg) !important;
}

.hm-unified-sidebar .card-minimise.fa-chevron-up {
    transform: translateY(-50%) rotate(0deg) !important;
}

/* The Shortcuts group does not need a heading in the unified navigation rail. */

.hm-unified-sidebar .card-sidebar[id*="shortcut" i] .card-header,
.hm-unified-sidebar .card-sidebar[class*="shortcut" i] .card-header,
.hm-unified-sidebar .panel[id*="shortcut" i] .panel-heading,
.hm-unified-sidebar .panel[class*="shortcut" i] .panel-heading {
    display: none !important;
}

/* 
   Unified sidebar: WHMCS identifies dynamic panels with menuItemName,
   not an id/class. Remove the redundant Shortcuts heading itself.
 */

.hm-unified-sidebar [menuItemName*="Shortcuts" i] > .card-header {
    display: none !important;
}

/* Keep Logout as the final action in its link group. */

.hm-unified-sidebar .list-group {
    display: flex !important;
    flex-direction: column !important;
}

.hm-unified-sidebar .list-group > [menuItemName="Logout" i] {
    order: 999 !important;
}

/* 
   Logout is a child link inside the WHMCS Shortcuts list. Target the
   actual logout URL as well as WHMCS menu metadata, then force it last.
 */

.hm-unified-sidebar .list-group > a[href*="logout.php"],
.hm-unified-sidebar .list-group > a[href*="/logout"],
.hm-unified-sidebar .list-group > [menuitemname="Logout" i],
.hm-unified-sidebar .list-group > [data-menu-item-name="Logout" i] {
    order: 9999 !important;
}

/* 
   Client-area content panel header actions (View All, Open Ticket, etc.)
   must remain visible before hover.
 */

.hm-client-home-cards .card-header a,
.hm-client-home-cards .card-header .btn,
.primary-content .card-header a.float-right,
.primary-content .card-header a.pull-right {
    color: #3d4a57 !important;
    background: #f3f5f6 !important;
    border: 1px solid #dce2e6 !important;
    border-radius: 5px !important;
    padding: 4px 8px !important;
    text-decoration: none !important;
    opacity: 1 !important;
}

.hm-client-home-cards .card-header a:hover,
.hm-client-home-cards .card-header .btn:hover,
.primary-content .card-header a.float-right:hover,
.primary-content .card-header a.pull-right:hover {
    color: #26313b !important;
    background: #e7ebee !important;
    border-color: #d1d8dd !important;
}

/* 
   Normalize the actual Font Awesome glyphs inside all four dashboard circles.
   Regular FA icons can carry a dark text-shadow/stroke from the parent theme.
 */

.hm-overview-tiles .hm-tile-icon > i::before {
    color: var(--hm-green) !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
}

.hm-overview-tiles .hm-tile-icon > i {
    color: var(--hm-green) !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
}

/* 
   Account sidebar cleanup.
   Hide the redundant Your Info heading but retain its details and Update button.
 */

.hm-unified-sidebar [menuItemName="Client Details" i] > .card-header,
.hm-unified-sidebar [menuItemName="Your Info" i] > .card-header {
    display: none !important;
}

/* 
   Available Credit is secondary information: place its whole panel at the
   bottom of the unified sidebar, after the normal account/navigation groups.
 */

.hm-unified-sidebar {
    display: flex !important;
    flex-direction: column !important;
}

.hm-unified-sidebar > [menuItemName="Client Credit" i],
.hm-unified-sidebar > [menuItemName="Available Credit" i],
.hm-unified-sidebar > .hm-sidebar-section:has([menuItemName="Client Credit" i]),
.hm-unified-sidebar > .hm-sidebar-section:has([menuItemName="Available Credit" i]) {
    order: 900 !important;
}

/* Exact styling for dynamically identified account panels. */

.hm-unified-sidebar .hm-your-info-panel .card-body,
.hm-unified-sidebar .hm-your-info-panel .panel-body {
    padding: 16px 18px !important;
}



/* 
   Dynamic Available Credit panel: WHMCS can wrap the balance in floated/
   block elements, so center the actual content rather than only its parent.
 */

.hm-unified-sidebar .hm-available-credit-panel .card-body,
.hm-unified-sidebar .hm-available-credit-panel .panel-body,
.hm-unified-sidebar .hm-available-credit-panel .card-body *,
.hm-unified-sidebar .hm-available-credit-panel .panel-body * {
    float: none !important;
    width: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    justify-content: center !important;
    text-align: center !important;
}

/* 
   Final dashboard icon construction: the ring is an SVG, not a CSS border.
   Font Awesome/WHMCS can no longer recolour the circle itself.
 */

.hm-overview-tiles .hm-tile-icon {
    position: relative !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.hm-overview-tiles .hm-tile-icon-ring {
    position: absolute;
    inset: 0;
    display: block;
    width: 30px;
    height: 30px;
    pointer-events: none;
}

.hm-overview-tiles .hm-tile-icon > i {
    position: relative !important;
    z-index: 1;
}

/* 
   Main header navigation: use Hostmate green rather than legacy blue
   for hover, active links and dropdown hover states.
 */

.hm-mainnav .navbar-nav > .nav-item > .nav-link:hover,
.hm-mainnav .navbar-nav > .nav-item > .nav-link:focus,
.hm-mainnav .navbar-nav > .nav-item.active > .nav-link {
    color: var(--hm-green-dark) !important;
}

.hm-mainnav .navbar-nav > .nav-item.active > .nav-link::after {
    background: var(--hm-green) !important;
}

.hm-mainnav .dropdown-item:hover,
.hm-mainnav .dropdown-item:focus {
    color: var(--hm-green-dark) !important;
    background: var(--hm-green-soft) !important;
}

/* 
   Available Credit balance link: WHMCS/sidebar rules make anchors flex,
   which keeps the credit figure aligned to the left.
 */

.hm-unified-sidebar .hm-available-credit-panel a {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
}

/* These two sidebar panels do not need collapse controls. */

.hm-unified-sidebar .hm-your-info-panel .card-minimise,
.hm-unified-sidebar .hm-your-info-panel .panel-minimise,
.hm-unified-sidebar .hm-available-credit-panel .card-minimise,
.hm-unified-sidebar .hm-available-credit-panel .panel-minimise {
    display: none !important;
}

/* 
   Service action buttons: make Login to cPanel / Manage easier to spot
   without turning them into heavy primary CTAs.
 */

a.btn[href*="dologin.php"],
a.btn[href*="action=productdetails"],
a.btn[href*="clientarea.php?action=productdetails"] {
    background: var(--hm-green) !important;
    border-color: var(--hm-green) !important;
    color: #fff !important;
    font-weight: 650 !important;
}

a.btn[href*="dologin.php"]:hover,
a.btn[href*="dologin.php"]:focus,
a.btn[href*="action=productdetails"]:hover,
a.btn[href*="action=productdetails"]:focus,
a.btn[href*="clientarea.php?action=productdetails"]:hover,
a.btn[href*="clientarea.php?action=productdetails"]:focus {
    background: var(--hm-green-dark) !important;
    border-color: var(--hm-green-dark) !important;
    color: #fff !important;
}

/* 
   Primary service actions.
   cPanel is deliberately the strongest action; Manage is secondary but obvious.
 */

a.hm-primary-cpanel-action {
    background: #263746 !important;
    border: 1px solid #263746 !important;
    color: #fff !important;
    font-weight: 700 !important;
    box-shadow: 0 2px 5px rgba(24, 39, 52, .18) !important;
}

a.hm-primary-cpanel-action:hover,
a.hm-primary-cpanel-action:focus {
    background: #17232d !important;
    border-color: #17232d !important;
    color: #fff !important;
}

a.hm-primary-manage-action {
    background: #eef1f3 !important;
    border: 1px solid #aeb8c0 !important;
    color: #263746 !important;
    font-weight: 700 !important;
}

a.hm-primary-manage-action:hover,
a.hm-primary-manage-action:focus {
    background: #dde3e7 !important;
    border-color: #87949e !important;
    color: #17232d !important;
}

/* Active services: taller rows give service actions/dropdowns enough room. */

#tableServicesList tbody td {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

/* Do not clip the cPanel/Webmail action dropdown inside the services table. */

#tableServicesList,
#tableServicesList tbody,
#tableServicesList tbody tr,
#tableServicesList tbody td {
    overflow: visible !important;
}

/* 
   Dashboard Active Services rows (the central home-panel list, not ServicesList table).
   Give cPanel/Webmail split-button menus vertical room to open cleanly.
 */

.hm-client-home-cards .hm-dashboard-panel .list-group > .list-group-item {
    padding-top: 18px !important;
    padding-bottom: 20px !important;
    min-height: 76px;
    overflow: visible !important;
    border-bottom: 0 !important;
    background: none;
}

.hm-client-home-cards .hm-dashboard-panel,
.hm-client-home-cards .hm-dashboard-panel .list-group {
    overflow: visible !important;
    border: 0 !important;
}

.hm-client-home-cards .hm-dashboard-panel .list-group > .list-group-item:hover,
.hm-client-home-cards .hm-dashboard-panel .list-group > .list-group-item:focus-within {
    background: #e9f4ec !important;
}

/* Dashboard service actions: two distinct high-visibility controls. */

.hm-client-home-cards .hm-primary-cpanel-action {
    background: #263746 !important;
    border-color: #263746 !important;
    color: #fff !important;
    font-weight: 700 !important;
    box-shadow: 0 2px 5px rgba(24, 39, 52, .18) !important;
}

.hm-client-home-cards .hm-primary-cpanel-action:hover,
.hm-client-home-cards .hm-primary-cpanel-action:focus {
    background: #17232d !important;
    border-color: #17232d !important;
    color: #fff !important;
}

.hm-client-home-cards .hm-primary-manage-action {
    background: #dbeafe !important;
    border-color: #93b4d1 !important;
    color: #23445f !important;
    font-weight: 700 !important;
}

.hm-client-home-cards .hm-primary-manage-action:hover,
.hm-client-home-cards .hm-primary-manage-action:focus {
    background: #c7def1 !important;
    border-color: #789fbe !important;
    color: #172f43 !important;
}

/* Available Credit: keep the utility panel visually secondary. */

.hm-unified-sidebar .hm-available-credit-panel .card-header,
.hm-unified-sidebar .hm-available-credit-panel .card-title,
.hm-unified-sidebar .hm-available-credit-panel .panel-heading,
.hm-unified-sidebar .hm-available-credit-panel .panel-title {
    font-size: 10px !important;
}

.hm-unified-sidebar .hm-available-credit-panel .card-body,
.hm-unified-sidebar .hm-available-credit-panel .card-body a,
.hm-unified-sidebar .hm-available-credit-panel .panel-body,
.hm-unified-sidebar .hm-available-credit-panel .panel-body a {
    font-size: 12px !important;
}

.hm-unified-sidebar .hm-available-credit-panel .btn,
.hm-unified-sidebar .hm-available-credit-panel a.btn {
    padding: 4px 8px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
}

/* 
   Available Credit: remove the reserved collapse-control space entirely and
   centre the heading by layout, not text alignment alone.
 */

.hm-unified-sidebar .hm-available-credit-panel .card-header,
.hm-unified-sidebar .hm-available-credit-panel .panel-heading {
    position: relative !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    text-align: center !important;
}

.hm-unified-sidebar .hm-available-credit-panel .card-title,
.hm-unified-sidebar .hm-available-credit-panel .panel-title {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

.hm-unified-sidebar .hm-available-credit-panel .card-minimise,
.hm-unified-sidebar .hm-available-credit-panel .panel-minimise,
.hm-unified-sidebar .hm-available-credit-panel .card-title > .float-right,
.hm-unified-sidebar .hm-available-credit-panel .panel-title > .float-right {
    display: none !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* The balance may be rendered as a plain link/list item rather than card-body text. */

.hm-unified-sidebar .hm-available-credit-panel .collapsable-card-body,
.hm-unified-sidebar .hm-available-credit-panel .collapsable-card-body *,
.hm-unified-sidebar .hm-available-credit-panel .list-group,
.hm-unified-sidebar .hm-available-credit-panel .list-group-item,
.hm-unified-sidebar .hm-available-credit-panel a:not(.btn) {
    font-size: 12px !important;
}

/* Your Info/customer details: match Update button sizing to Add Credit. */

.hm-unified-sidebar .hm-your-info-panel .btn,
.hm-unified-sidebar .hm-your-info-panel a.btn,
.hm-unified-sidebar .hm-your-info-panel input[type="submit"] {
    padding: 4px 8px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
}

/* Hostmate dashboard domain-registration panel. */

.hm-domain-row {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    min-height: 40px;
}

.hm-domain-row .hm-domain-status {
    flex: 0 0 auto;
    padding: 4px 8px;
    border-radius: 4px;
    background: #e9f4ec;
    color: #26733c;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.hm-domain-row .hm-domain-name {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--hm-ink);
    font-weight: 650;
}

.hm-domain-row .hm-domain-expiry {
    flex: 0 0 auto;
    color: var(--hm-muted);
    font-size: 12px;
}

.hm-domain-row .hm-domain-manage,
.btn-view-details {
    flex: 0 0 auto;
    padding: 6px 10px;
    border: 1px solid #93b4d1;
    border-radius: 6px;
    background: #dbeafe;
    color: #23445f !important;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none !important;
}

.hm-domain-row .hm-domain-manage:hover,
.hm-domain-row .hm-domain-manage:focus {
    background: #c7def1;
    border-color: #789fbe;
    color: #172f43 !important;
}

@media (max-width: 767.98px) {
    .hm-domain-row {
        flex-wrap: wrap;
    }

    .hm-domain-row .hm-domain-name {
        flex-basis: calc(100% - 80px);
    }

    .hm-domain-row .hm-domain-expiry {
        margin-left: 0;
    }
}

/* Domain renewal state/action in the dashboard domain panel. */

.hm-domain-row .hm-domain-renew {
    flex: 0 0 auto;
    padding: 6px 10px;
    border: 1px solid #79a984;
    border-radius: 6px;
    background: #e5f3e8;
    color: #25663a !important;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none !important;
}

.hm-domain-row .hm-domain-renew:hover,
.hm-domain-row .hm-domain-renew:focus {
    background: #d4ead9;
    border-color: #5f916b;
    color: #194d2a !important;
}

.hm-domain-row .hm-domain-renew-wait {
    flex: 0 0 auto;
    color: #89939c;
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
}

/* Domain Renew: neutral light-grey action button, distinct from Manage. */

.hm-domain-row .hm-domain-renew {
    padding: 6px 10px !important;
    border: 1px solid #d3dbe1 !important;
    border-radius: 6px !important;
    background: #f1f3f5 !important;
    color: #3d4a57 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

.hm-domain-row .hm-domain-renew:hover,
.hm-domain-row .hm-domain-renew:focus {
    background: #e2e6e9 !important;
    border-color: #b9c3ca !important;
    color: #263746 !important;
}

/* Standardise the high-use dashboard actions to the compact Renew-button size. */

.hm-domain-row .hm-domain-manage,
.hm-client-home-cards .hm-primary-manage-action,
.hm-client-home-cards .hm-primary-cpanel-action {
    padding: 6px 10px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    border-radius: 6px !important;
}

/* 
   Hostmate Console standard panel action size.
   Applies to View All, Open Ticket and equivalent header actions across dashboard panels.
 */

.hm-client-home-cards .card-header a,
.hm-client-home-cards .card-header .btn,
.primary-content .card-header a.float-right,
.primary-content .card-header a.pull-right {
    padding: 6px 10px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    border-radius: 6px !important;
}

/* cPanel split-button: square joining corners so it sits flush with the adjacent dropdown arrow. */

.hm-client-home-cards .hm-primary-cpanel-action {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* cPanel split-button height: override WHMCS split/dropdown padding so it matches Manage/Renew. */

.hm-client-home-cards .hm-primary-cpanel-action {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    line-height: 1.2 !important;
    min-height: 0 !important;
    height: auto !important;
}

/* 
   cPanel split-button is rendered with Bootstrap's larger button sizing.
   Force its actual box height to the same compact 27px used by Manage/Renew.
 */

.hm-client-home-cards .hm-primary-cpanel-action {
    height: 27px !important;
    min-height: 27px !important;
    padding: 0 10px !important;
    line-height: 25px !important;
    box-sizing: border-box !important;
}

.hm-client-home-cards .hm-primary-cpanel-action + .dropdown-toggle {
    height: 27px !important;
    min-height: 27px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 25px !important;
    box-sizing: border-box !important;
}

/* 
   cPanel split control: size the actual dropdown-toggle button as well.
   WHMCS nests/positions this independently from the main cPanel action.
 */

.hm-client-home-cards .btn-group:has(.hm-primary-cpanel-action) > .dropdown-toggle,
.hm-client-home-cards .btn-group:has(.hm-primary-cpanel-action) > button.dropdown-toggle,
.hm-client-home-cards .btn-group:has(.hm-primary-cpanel-action) > a.dropdown-toggle {
    height: 27px !important;
    min-height: 27px !important;
    padding: 0 9px !important;
    line-height: 25px !important;
    box-sizing: border-box !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

/* Compact Webmail item in the cPanel split-button dropdown. */

.hm-client-home-cards .btn-group:has(.hm-primary-cpanel-action) .dropdown-menu .dropdown-item,
.hm-client-home-cards .btn-group:has(.hm-primary-cpanel-action) .dropdown-menu a {
    padding: 5px 10px !important;
    min-height: 0 !important;
    line-height: 1.2 !important;
    font-size: 11px !important;
}

/* Stronger hover feedback for the primary cPanel action. */

.hm-client-home-cards .hm-primary-cpanel-action:hover,
.hm-client-home-cards .hm-primary-cpanel-action:focus {
    background: #42586b !important;
    border-color: #42586b !important;
    color: #fff !important;
}

/* Give the adjoining split-button arrow the same hover language. */

.hm-client-home-cards .btn-group:has(.hm-primary-cpanel-action) > .dropdown-toggle:hover,
.hm-client-home-cards .btn-group:has(.hm-primary-cpanel-action) > .dropdown-toggle:focus,
.hm-client-home-cards .btn-group:has(.hm-primary-cpanel-action) > .dropdown-toggle[aria-expanded="true"] {
    background: #e4e9ed !important;
    border-color: #b9c3ca !important;
    color: #263746 !important;
}

/* 
   WHMCS cPanel split arrow: target the sibling control directly.
   Its own btn sizing was overriding the group-level rule.
 */

.hm-client-home-cards .hm-primary-cpanel-action ~ .dropdown-toggle,
.hm-client-home-cards .hm-primary-cpanel-action ~ button,
.hm-client-home-cards .hm-primary-cpanel-action ~ a {
    height: 27px !important;
    min-height: 27px !important;
    max-height: 27px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 25px !important;
    box-sizing: border-box !important;
    align-self: center !important;
}

/* Make the cPanel split-arrow a true continuation of the primary action. */

.hm-client-home-cards .hm-primary-cpanel-action ~ .dropdown-toggle,
.hm-client-home-cards .btn-group:has(.hm-primary-cpanel-action) > .dropdown-toggle {
    background: #263746 !important;
    border-color: #263746 !important;
    color: #fff !important;
}

.hm-client-home-cards .hm-primary-cpanel-action ~ .dropdown-toggle:hover,
.hm-client-home-cards .hm-primary-cpanel-action ~ .dropdown-toggle:focus,
.hm-client-home-cards .hm-primary-cpanel-action ~ .dropdown-toggle[aria-expanded="true"],
.hm-client-home-cards .btn-group:has(.hm-primary-cpanel-action) > .dropdown-toggle:hover,
.hm-client-home-cards .btn-group:has(.hm-primary-cpanel-action) > .dropdown-toggle:focus,
.hm-client-home-cards .btn-group:has(.hm-primary-cpanel-action) > .dropdown-toggle[aria-expanded="true"] {
    background: #42586b !important;
    border-color: #42586b !important;
    color: #fff !important;
}

/* cPanel split controls — classes are applied to the actual rendered WHMCS elements. */

.hm-client-home-cards .hm-cpanel-split-toggle {
    height: 27px !important;
    min-height: 27px !important;
    max-height: 27px !important;
    padding: 0 9px !important;
    line-height: 25px !important;
    box-sizing: border-box !important;
    background: #263746 !important;
    border-color: #263746 !important;
    color: #fff !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.hm-client-home-cards .hm-cpanel-split-toggle:hover,
.hm-client-home-cards .hm-cpanel-split-toggle:focus,
.hm-client-home-cards .hm-cpanel-split-toggle[aria-expanded="true"] {
    background: #42586b !important;
    border-color: #42586b !important;
    color: #fff !important;
}

.hm-client-home-cards .hm-cpanel-split-menu .dropdown-item,
.hm-client-home-cards .hm-cpanel-split-menu a {
    padding: 5px 10px !important;
    min-height: 0 !important;
    line-height: 1.2 !important;
    font-size: 11px !important;
}

/* Contacts: keep the sidebar section heading compact. */

.hm-unified-sidebar .hm-contacts-panel .card-header,
.hm-unified-sidebar .hm-user-management-panel .card-header,
.hm-unified-sidebar .hm-contacts-panel .card-title,
.hm-unified-sidebar .hm-user-management-panel .card-title,
.hm-unified-sidebar .hm-contacts-panel .panel-heading,
.hm-unified-sidebar .hm-user-management-panel .panel-heading,
.hm-unified-sidebar .hm-contacts-panel .panel-title,
.hm-unified-sidebar .hm-user-management-panel .panel-title {
    font-size: 12px !important;
}

/* Contacts: match New Contact button to Update and Add Credit sizing. */

.hm-unified-sidebar .hm-contacts-panel .btn,
.hm-unified-sidebar .hm-user-management-panel .btn,
.hm-unified-sidebar .hm-contacts-panel a.btn,
.hm-unified-sidebar .hm-user-management-panel a.btn,
.hm-unified-sidebar .hm-contacts-panel input[type="submit"],
.hm-unified-sidebar .hm-user-management-panel input[type="submit"] {
    padding: 4px 8px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
}

/* Available Credit: tighten vertical spacing around the heading and balance. */

.hm-unified-sidebar .hm-available-credit-panel .card-header,
.hm-unified-sidebar .hm-available-credit-panel .panel-heading {
    padding-top: 7px !important;
    padding-bottom: 2px !important;
}

.hm-unified-sidebar .hm-available-credit-panel .card-body,
.hm-unified-sidebar .hm-available-credit-panel .panel-body,
.hm-unified-sidebar .hm-available-credit-panel .collapsable-card-body,
.hm-unified-sidebar .hm-available-credit-panel .list-group-item {
    padding-top: 2px !important;
    padding-bottom: 7px !important;
}

/* 
   Available Credit: remove residual WHMCS minimum height/spacing so the panel
   hugs the title and balance instead of leaving empty space underneath.
 */

.hm-unified-sidebar .hm-available-credit-panel,
.hm-unified-sidebar .hm-available-credit-panel .collapsable-card-body,
.hm-unified-sidebar .hm-available-credit-panel .card-body,
.hm-unified-sidebar .hm-available-credit-panel .panel-body,
.hm-unified-sidebar .hm-available-credit-panel .list-group,
.hm-unified-sidebar .hm-available-credit-panel .list-group-item {
    min-height: 0 !important;
    height: auto !important;
}

.hm-unified-sidebar .hm-available-credit-panel .collapsable-card-body,
.hm-unified-sidebar .hm-available-credit-panel .card-body,
.hm-unified-sidebar .hm-available-credit-panel .panel-body,
.hm-unified-sidebar .hm-available-credit-panel .list-group-item {
    margin-bottom: 0 !important;
    padding-bottom: 3px !important;
}

.hm-unified-sidebar .hm-available-credit-panel {
    padding-bottom: 0 !important;
}

/* Account Users and Contacts: stronger section headings. */

.hm-unified-sidebar .hm-user-management-panel .card-title,
.hm-unified-sidebar .hm-user-management-panel .panel-title,
.hm-unified-sidebar .hm-contacts-panel .card-title,
.hm-unified-sidebar .hm-contacts-panel .panel-title {
    font-weight: 700 !important;
}

/* Contacts: remove the heading icon and match + New Contact to + New User. */

.hm-unified-sidebar .hm-contacts-panel .card-title > i:not(.card-minimise),
.hm-unified-sidebar .hm-contacts-panel .panel-title > i:not(.panel-minimise) {
    display: none !important;
}

.hm-unified-sidebar .hm-contacts-panel .card-footer .btn,
.hm-unified-sidebar .hm-contacts-panel .card-footer a.btn,
.hm-unified-sidebar .hm-contacts-panel .panel-footer .btn,
.hm-unified-sidebar .hm-contacts-panel .panel-footer a.btn {
    padding: 4px 8px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
}

/* Contacts: keep + New Contact compact and left aligned. */

.hm-unified-sidebar .hm-contacts-panel .card-footer,
.hm-unified-sidebar .hm-contacts-panel .panel-footer {
    text-align: left !important;
}

.hm-unified-sidebar .hm-contacts-panel .card-footer .btn,
.hm-unified-sidebar .hm-contacts-panel .card-footer a.btn,
.hm-unified-sidebar .hm-contacts-panel .panel-footer .btn,
.hm-unified-sidebar .hm-contacts-panel .panel-footer a.btn {
    display: inline-block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    float: none !important;
}

/* Global Hostmate sidebar section heading style */
.hm-unified-sidebar .card-title,
.hm-unified-sidebar .panel-title {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;

    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important;
    color: #344150 !important;
}

/* Standard Hostmate green dot */
.hm-unified-sidebar .card-title::before,
.hm-unified-sidebar .panel-title::before {
    content: "" !important;
    display: inline-block !important;
    flex: 0 0 7px !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: var(--hm-green) !important;
}

/* Hide old WHMCS heading icons so the dot replaces them */
.hm-unified-sidebar .card-title > i:not(.card-minimise),
.hm-unified-sidebar .panel-title > i:not(.panel-minimise) {
    display: none !important;
}

/* Remove dot from genuinely blank WHMCS headings,
   but preserve our labelled Hostmate panels */
.hm-unified-sidebar
.card:not(.hm-user-management-panel):not(.hm-contacts-panel):not(.hm-account-navigation-panel):not(.hm-your-info-panel)
.card-title:has(> .card-minimise:only-child)::before {
    content: none !important;
    display: none !important;
}

/* Account Users and Contacts: these sections stay expanded, so hide collapse arrows. */

.hm-unified-sidebar .hm-user-management-panel .card-minimise,
.hm-unified-sidebar .hm-user-management-panel .panel-minimise,
.hm-unified-sidebar .hm-contacts-panel .card-minimise,
.hm-unified-sidebar .hm-contacts-panel .panel-minimise {
    display: none !important;
}

/* Account tools link section stays expanded; remove its collapse arrow. */

.hm-unified-sidebar .hm-account-tools-panel .card-minimise,
.hm-unified-sidebar .hm-account-tools-panel .panel-minimise,
.hm-unified-sidebar [menuItemName="Hostmate Account Tools"] .card-header,
.hm-unified-sidebar [menuItemName="Hostmate Account Tools"] .panel-heading,
.hm-unified-sidebar [menuItemName="Hostmate Account Tools"] .card-minimise,
.hm-unified-sidebar [menuItemName="Hostmate Account Tools"] .panel-minimise {
    display: none !important;
}

.hm-theme .hm-account-tools-panel {
  padding: 15px 0;
}

/* Billing Details: present the account address block like the other account sections. */

.hm-unified-sidebar .hm-your-info-panel .card-header,
.hm-unified-sidebar .hm-your-info-panel .panel-heading {
    display: block !important;
}

.hm-unified-sidebar .hm-your-info-panel .card-title,
.hm-unified-sidebar .hm-your-info-panel .panel-title {
    font-size: 12px !important;
    font-weight: 700 !important;
}

.hm-unified-sidebar .hm-sidebar-title-dot {
    display: inline-block !important;
    width: 7px !important;
    height: 7px !important;
    margin-right: 7px !important;
    border-radius: 50% !important;
    background: #8fd6a3 !important;
    vertical-align: 1px !important;
}

/* Billing Details Update and Available Credit action: compact, left-aligned buttons. */

.hm-unified-sidebar .hm-your-info-panel .btn,
.hm-unified-sidebar .hm-your-info-panel a.btn,
.hm-unified-sidebar .hm-your-info-panel input[type="submit"],
.hm-unified-sidebar .hm-available-credit-panel .btn,
.hm-unified-sidebar .hm-available-credit-panel a.btn,
.hm-unified-sidebar .hm-available-credit-panel input[type="submit"] {
    display: inline-block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    float: none !important;
}

.hm-unified-sidebar .hm-your-info-panel .card-body,
.hm-unified-sidebar .hm-your-info-panel .panel-body {
    text-align: left !important;
}

/* Available Credit: match the Account Users / Account Contacts section style. */

.hm-unified-sidebar .hm-available-credit-panel,
.hm-unified-sidebar .hm-available-credit-panel .card-header,
.hm-unified-sidebar .hm-available-credit-panel .panel-heading,
.hm-unified-sidebar .hm-available-credit-panel .card-title,
.hm-unified-sidebar .hm-available-credit-panel .panel-title,
.hm-unified-sidebar .hm-available-credit-panel .collapsable-card-body,
.hm-unified-sidebar .hm-available-credit-panel .card-body,
.hm-unified-sidebar .hm-available-credit-panel .panel-body,
.hm-unified-sidebar .hm-available-credit-panel .list-group,
.hm-unified-sidebar .hm-available-credit-panel .list-group-item {
    text-align: left !important;
}

.hm-unified-sidebar .hm-available-credit-panel .card-header,
.hm-unified-sidebar .hm-available-credit-panel .panel-heading {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.hm-unified-sidebar .hm-available-credit-panel .card-title,
.hm-unified-sidebar .hm-available-credit-panel .panel-title {
    display: block !important;
    width: 100% !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-align: left !important;
}

.hm-unified-sidebar .hm-available-credit-panel .hm-credit-title-dot {
    display: inline-block !important;
    width: 7px !important;
    height: 7px !important;
    margin-right: 7px !important;
    border-radius: 50% !important;
    background: #8fd6a3 !important;
    vertical-align: 1px !important;
}

/* Credit balance stays left aligned and regular weight. */

.hm-unified-sidebar .hm-available-credit-panel .collapsable-card-body,
.hm-unified-sidebar .hm-available-credit-panel .collapsable-card-body *,
.hm-unified-sidebar .hm-available-credit-panel .card-body,
.hm-unified-sidebar .hm-available-credit-panel .card-body *,
.hm-unified-sidebar .hm-available-credit-panel .panel-body,
.hm-unified-sidebar .hm-available-credit-panel .panel-body *,
.hm-unified-sidebar .hm-available-credit-panel .list-group-item,
.hm-unified-sidebar .hm-available-credit-panel a:not(.btn) {
    text-align: left !important;
    font-weight: 400 !important;
}

/* Add Credit: same compact white/grey treatment as New User and New Contact. */

.hm-unified-sidebar .hm-available-credit-panel .btn,
.hm-unified-sidebar .hm-available-credit-panel a.btn,
.hm-unified-sidebar .hm-available-credit-panel input[type="submit"] {
    display: inline-block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    float: none !important;
    padding: 4px 8px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    background: #fff !important;
    border: 1px solid #dce2e6 !important;
    color: #3d4a57 !important;
    border-radius: 4px !important;
}

.hm-unified-sidebar .hm-available-credit-panel .btn:hover,
.hm-unified-sidebar .hm-available-credit-panel a.btn:hover {
    background: #f3f5f6 !important;
    border-color: #d0d8dd !important;
    color: #263746 !important;
}

/* Billing Details: match normal sidebar link/text sizing. */

.hm-unified-sidebar .hm-your-info-panel .card-body,
.hm-unified-sidebar .hm-your-info-panel .panel-body,
.hm-unified-sidebar .hm-your-info-panel .card-body *,
.hm-unified-sidebar .hm-your-info-panel .panel-body * {
    font-size: 12px !important;
}

/* Available Credit header: same vertical rhythm as the other account section headings. */

.hm-unified-sidebar .hm-available-credit-panel .card-header,
.hm-unified-sidebar .hm-available-credit-panel .panel-heading {
    padding: 10px 14px !important;
}

.hm-unified-sidebar .hm-available-credit-panel .card-title,
.hm-unified-sidebar .hm-available-credit-panel .panel-title {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 16px !important;
    margin: 0 !important;
}

/* Credit amount sits on the right of the title row and is not bold. */

.hm-unified-sidebar .hm-available-credit-panel .hm-credit-title-amount {
    margin-left: auto !important;
    padding-left: 10px !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    text-align: right !important;
    white-space: nowrap !important;
}

/* Unified left-column action buttons: light Hostmate green. */

.hm-unified-sidebar .hm-your-info-panel .btn,
.hm-unified-sidebar .hm-your-info-panel a.btn,
.hm-unified-sidebar .hm-your-info-panel input[type="submit"],
.hm-unified-sidebar .hm-user-management-panel .btn,
.hm-unified-sidebar .hm-user-management-panel a.btn,
.hm-unified-sidebar .hm-contacts-panel .btn,
.hm-unified-sidebar .hm-contacts-panel a.btn,
.hm-unified-sidebar .hm-available-credit-panel .btn,
.hm-unified-sidebar .hm-available-credit-panel a.btn,
.hm-unified-sidebar .hm-available-credit-panel input[type="submit"] {
    background: #e9f7ed !important;
    border: 1px solid #b9dfc3 !important;
    color: #246b38 !important;
}

.hm-unified-sidebar .hm-your-info-panel .btn:hover,
.hm-unified-sidebar .hm-your-info-panel a.btn:hover,
.hm-unified-sidebar .hm-user-management-panel .btn:hover,
.hm-unified-sidebar .hm-user-management-panel a.btn:hover,
.hm-unified-sidebar .hm-contacts-panel .btn:hover,
.hm-unified-sidebar .hm-contacts-panel a.btn:hover,
.hm-unified-sidebar .hm-available-credit-panel .btn:hover,
.hm-unified-sidebar .hm-available-credit-panel a.btn:hover {
    background: #d9f0df !important;
    border-color: #9fd2ad !important;
    color: #1f5d31 !important;
}

/* 
   Experimental split-layout treatment: extend the sidebar's white surface
   from the navigation rail to the left edge of the viewport.
 */

@media (min-width: 992px) {
    #main-body {
        position: relative !important;
        overflow: hidden !important;
    }

    #main-body .hm-sidebar-column {
        position: relative !important;
        padding-top: 18px !important;
        padding-bottom: 32px !important;
    }

    #main-body .hm-sidebar-column::before {
        content: "" !important;
        position: absolute !important;
        z-index: 0 !important;
        top: 0 !important;
        right: 0 !important;
        bottom: -1000px !important;
        width: 100vw !important;
        background: #fff !important;
        border-right: 1px solid #e2e7ea !important;
        pointer-events: none !important;
    }

    #main-body .hm-sidebar-column > * {
        position: relative !important;
        z-index: 1 !important;
    }

    /* 
       The column itself now provides the white navigation surface, so the
       inner sidebar no longer needs to look like a separate floating card.
     */

    #main-body .hm-unified-sidebar {
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    #main-body .primary-content {
        padding-top: 18px !important;
        padding-bottom: 32px !important;
        padding-left: 35px;
    }
}

/* Split sidebar layout: keep the white navigation column completely flat. */

@media (min-width: 992px) {
    #main-body .hm-sidebar-column,
    #main-body .hm-sidebar-column::before,
    #main-body .hm-unified-sidebar {
        box-shadow: none !important;
        filter: none !important;
    }
}

/* 
   Sidebar action rows: remove the stock grey footer strip and tighten the
   row itself by 2px vertically. Buttons retain their existing green style.
 */

.hm-unified-sidebar .hm-your-info-panel .card-footer,
.hm-unified-sidebar .hm-your-info-panel .panel-footer,
.hm-unified-sidebar .hm-user-management-panel .card-footer,
.hm-unified-sidebar .hm-user-management-panel .panel-footer,
.hm-unified-sidebar .hm-contacts-panel .card-footer,
.hm-unified-sidebar .hm-contacts-panel .panel-footer,
.hm-unified-sidebar .hm-available-credit-panel .card-footer,
.hm-unified-sidebar .hm-available-credit-panel .panel-footer {
    background: #fff !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

/* Billing Details: pull the Update action closer to the address details. */

.hm-unified-sidebar .hm-your-info-panel .card-body,
.hm-unified-sidebar .hm-your-info-panel .panel-body {
    padding-bottom: 8px !important;
}

.hm-unified-sidebar .hm-your-info-panel .card-footer,
.hm-unified-sidebar .hm-your-info-panel .panel-footer {
    padding-top: 4px !important;
}

/* 
   Breadcrumb: compact the strip and, on desktop, align the breadcrumb text
   with the text inside the left sidebar rather than the outer container edge.
 */

.master-breadcrumb {
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.master-breadcrumb .container {
    display: flex !important;
    align-items: center !important;
}

.master-breadcrumb .breadcrumb {
    width: 100% !important;
}

.master-breadcrumb .breadcrumb {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
    min-height: 0 !important;
}

@media (min-width: 992px) {
    .master-breadcrumb .container {
        padding-left: 30px !important;
    }

    /* 
       The stock #main-body top padding was adding another 30px of grey below
       the breadcrumb, making the breadcrumb look top-aligned in the combined
       grey area. The sidebar/content columns already provide their own spacing.
     */

    #main-body {
        padding-top: 0 !important;
    }
}

/* 
   Billing Details: correspondence email is first, so put the spacing
   below it before the customer's billing name and postal address.
 */

.hm-unified-sidebar .hm-your-info-panel .hm-correspondence-email {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

.hm-unified-sidebar .hm-your-info-panel .hm-correspondence-email-address {
    font-size: 12px !important;
    line-height: 1.35 !important;
    color: #343a40 !important;
    overflow-wrap: anywhere !important;
}

.hm-unified-sidebar .hm-your-info-panel .hm-correspondence-email-label {
    margin-top: 1px !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    color: #6c757d !important;
}

/* 
   Billing Details heading: replace the native WHMCS user icon with the
   standard Hostmate green status dot used by the other sidebar panels.
 */

.hm-unified-sidebar .hm-your-info-panel .card-title,
.hm-unified-sidebar .hm-your-info-panel .panel-title {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
}

.hm-unified-sidebar .hm-your-info-panel .card-title::before,
.hm-unified-sidebar .hm-your-info-panel .panel-title::before {
    content: "" !important;
    display: inline-block !important;
    flex: 0 0 7px !important;
    width: 7px !important;
    height: 7px !important;
    margin-right: 7px !important;
    border-radius: 50% !important;
    background: #28a745 !important;
}

/* 
   WHMCS account forms place the page title directly inside .card-body.
   This is the actual markup used by Account Details, User Management,
   Contact Details and related account pages.
 */

#main-body .primary-content .card-body > h3.card-title {
    padding: 6px 10px 6px 12px !important;
    border-left: 4px solid #28a745 !important;
    background: #f7f9f8 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    color: #495057 !important;
}

/* 
   Main content actions: keep existing Hostmate colours but make form/action
   buttons more compact across client-area pages. Sidebar buttons are excluded
   because they already have their own compact sizing.
 */

#main-body .primary-content .btn:not(.btn-xs),
#main-body .primary-content button.btn:not(.btn-xs),
#main-body .primary-content input.btn:not(.btn-xs),
#main-body .primary-content input[type="submit"].btn:not(.btn-xs) { 
  padding: 10px 19px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  min-height: 0 !important;
  height: auto !important;
}

/* 
   Filled action buttons read optically larger than the white Cancel button
   even with identical computed dimensions. Trim their vertical fill by 1px
   so primary and destructive actions visually match the neutral action.
 */

#main-body .primary-content .btn-primary,
#main-body .primary-content .btn-success,
#main-body .primary-content .btn-danger,
#main-body .primary-content .btn-info {
    padding-top: 3px !important;
    padding-bottom: 3px !important;
}

/* 
   Main content surface experiment: let the page background become the content
   canvas while keeping the left sidebar as the distinct solid-white rail.
   Interactive controls, tables and title bars retain their own surfaces.
 */

#main-body .primary-content > .card,
#main-body .primary-content > .panel,
#main-body .primary-content > form > .card,
#main-body .primary-content > form > .panel {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

#main-body .primary-content > .card > .card-body,
#main-body .primary-content > .panel > .panel-body,
#main-body .primary-content > form > .card > .card-body,
#main-body .primary-content > form > .panel > .panel-body {
    background: transparent !important;
}

/* 
   Main content typography and form controls: slightly reduce the scale of
   everyday content without changing sidebar or navigation sizing.
 */

#main-body .primary-content {
    font-size: 13px !important;
}

#main-body .primary-content .form-control,
#main-body .primary-content input[type="text"],
#main-body .primary-content input[type="email"],
#main-body .primary-content input[type="password"],
#main-body .primary-content input[type="tel"],
#main-body .primary-content input[type="number"],
#main-body .primary-content input[type="url"],
#main-body .primary-content select,
#main-body .primary-content textarea {
    font-size: 18px !important;
}

#main-body .primary-content input.form-control,
#main-body .primary-content select.form-control {
    min-height: 34px !important;
    height: 52px !important;
}

#main-body .primary-content input.form-control:not([type="tel"]),
#main-body .primary-content select.form-control {
    padding: 5px 9px !important;
}

#main-body .primary-content textarea.form-control {
    padding: 6px 9px !important;
}

#main-body .primary-content label,
#main-body .primary-content .form-text,
#main-body .primary-content .help-block {
    font-size: 12px !important;
}

/* 
   Hostmate login: full-height split layout. The left side is the white
   Hostmate information surface; the right side uses the normal page background.
 */

.hm-login-page {
    /* 
       Let the browser allocate the viewport between header, login content and
       footer. This removes the fragile hand-tuned 100vh pixel subtraction.
     */
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    overflow-y: auto !important;
}

.hm-login-page .master-breadcrumb {
    display: none !important;
}

.hm-login-page #main-body {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    flex: 1 0 auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
    background: #f4f7f9 !important;
}

.hm-login-page #main-body > .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.hm-login-page #main-body > .container {
    height: 100% !important;
    min-height: 0 !important;
}

.hm-login-page #main-body > .container > .row {
    height: 100% !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
}

.hm-login-page .hm-login-intro-column {
    position: relative !important;
    display: flex !important;
    align-items: stretch !important;
    padding: 0 30px 0 15px !important;
}

.hm-login-page .hm-login-intro-column::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    background: var(--hm-green) !important;
    border-right: 1px solid #e2e7ea !important;
    pointer-events: none !important;
}

.hm-login-page .hm-login-intro {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 100% !important;
    padding: 54px 36px !important;
    text-align: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #343a40 !important;
    box-shadow: none !important;
}

.hm-login-page .hm-login-intro-kicker {
    margin-bottom: 18px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .14em !important;
    color: #28a745 !important;
}

.hm-login-page .hm-login-intro h1 {
    max-width: 500px !important;
    margin: 0 auto 20px !important;
    font-size: clamp(42px, 4vw, 56px) !important;
    line-height: 1.02 !important;
    font-weight: 700 !important;
    letter-spacing: -.05em !important;
    color: var(--hm-white) !important;
}

.hm-login-page .hm-login-intro p {
    max-width: 460px !important;
    margin: 0 auto 34px !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
    color: var(--hm-white) !important;
}

.hm-login-page .hm-login-intro-points {
    width: fit-content !important;
    max-width: 100% !important;
    margin: 4px auto 0 !important;
    text-align: left !important;
}

.hm-login-page .hm-login-intro-points > div {
    display: flex !important;
    align-items: center !important;
    margin: 16px 0 !important;
    font-size: 13px !important;
    color: var(--hm-white) !important;
}

.hm-login-page .hm-login-intro-points span {
    flex: 0 0 7px !important;
    width: 7px !important;
    height: 7px !important;
    margin-right: 11px !important;
    border-radius: 50% !important;
    background: var(--hm-white) !important;
    border-color: var(--hm-white) !important;
}

.hm-login-page #main-body .primary-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 54px 56px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

@media (max-width: 991.98px) {
    .hm-login-page .hm-login-intro-column {
        display: none !important;
    }

    .hm-login-page {
        overflow-y: auto !important;
    }

    .hm-login-page #main-body {
        height: auto !important;
        min-height: 0 !important;
    }

    .hm-login-page #main-body > .container,
    .hm-login-page #main-body > .container > .row {
        height: auto !important;
        min-height: 0 !important;
    }

    .hm-login-page #main-body .primary-content {
        margin: 0 !important;
        padding: 32px 24px !important;
        border-radius: 0 !important;
        background: transparent !important;
    }
}

/* 
   ==========================================================
   HOSTMATE LOGIN FORM
   The login template itself belongs to the Twenty-One parent
   theme, so target the dedicated wrapper created in header.tpl
   rather than relying on the parent's internal login classes.
   ==========================================================
 */

.hm-login-page .hm-login-content {
    align-items: center !important;
}

.hm-login-page .hm-login-form-heading {
    width: 100% !important;
    max-width: 470px !important;
    margin: 0 auto 28px !important;
}

.hm-login-page .hm-login-form-kicker {
    margin-bottom: 10px !important;
    color: var(--hm-green) !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 750 !important;
    letter-spacing: .14em !important;
}

.hm-login-page .hm-login-form-heading h2 {
    margin: 0 0 8px !important;
    color: var(--hm-ink) !important;
    font-size: 2rem !important;
    line-height: 1.15 !important;
    font-weight: 650 !important;
    letter-spacing: -.035em !important;
}

.hm-login-page .hm-login-form-heading p {
    margin: 0 !important;
    color: var(--hm-muted) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

/* Keep the parent-theme login form aligned with the Hostmate heading. */

.hm-login-page .hm-login-content > form,
.hm-login-page .hm-login-content > .card,
.hm-login-page .hm-login-content > .logincontainer,
.hm-login-page .hm-login-content > div:not(.hm-login-form-heading) {
    width: 100% !important;
    max-width: 470px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Hide the stock WHMCS page heading because the Hostmate heading replaces it. */

.hm-login-page .hm-login-content > .header-lined {
    display: none !important;
}

.hm-login-page .hm-login-content .form-group {
    margin-bottom: 20px !important;
}

.hm-login-page .hm-login-content label {
    margin-bottom: 8px !important;
    color: #344150 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.hm-login-page .hm-login-content .form-control {
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 16px !important;
    border: 1px solid #d7dee4 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #26323e !important;
    font-size: 15px !important;
    box-shadow: none !important;
}

.hm-login-page .hm-login-content .form-control:hover {
    border-color: #bcc7cf !important;
}

.hm-login-page .hm-login-content .form-control:focus {
    border-color: var(--hm-green) !important;
    box-shadow: 0 0 0 3px rgba(40, 167, 69, .11) !important;
}

.hm-login-page .hm-login-content .input-group .form-control {
    border-radius: 0 !important;
}

/* 
   WHMCS password fields may also receive the generic left-icon rule below.
   When an input group has a trailing Show Password control, force the
   password input's right corners square so the two controls join flush.
 */

.hm-login-page .hm-login-content .input-group:has(.input-group-append) .form-control {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.hm-login-page .hm-login-content .input-group-append .btn,
.hm-login-page .hm-login-content .input-group-prepend .btn {
    min-width: 50px !important;
    border-color: #d7dee4 !important;
    background: #fff !important;
    color: #65717d !important;
}

.hm-login-page .hm-login-content .input-group-append .btn {
    border-radius: 0 8px 8px 0 !important;
}

.hm-login-page .hm-login-content .btn-primary,
.hm-login-page .hm-login-content input[type="submit"] {
    min-height: 52px !important;
    padding: 12px 24px !important;
    border-color: var(--hm-green) !important;
    border-radius: 6px !important;
    background: var(--hm-green) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

.hm-login-page .hm-login-content .btn-primary:hover,
.hm-login-page .hm-login-content .btn-primary:focus,
.hm-login-page .hm-login-content input[type="submit"]:hover,
.hm-login-page .hm-login-content input[type="submit"]:focus {
    border-color: var(--hm-green-dark) !important;
    background: var(--hm-green-dark) !important;
}

.hm-login-page .hm-login-content a {
    color: var(--hm-green-dark) !important;
    font-weight: 600 !important;
}

.hm-login-page .hm-login-content a:hover {
    color: #176b2c !important;
}

/* 
   Password recovery link: match the visual weight of Remember Me without
   making the secondary action compete with the Login button.
 */

.hm-login-page .hm-login-content a[href*="password/reset"],
.hm-login-page .hm-login-content a[href*="pwreset"],
.hm-login-page .hm-login-content a[href*="reset"] {
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
}

.hm-login-page .hm-login-content .btn-default,
.hm-login-page .hm-login-content .btn-secondary {
    border-color: #d7dee4 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #344150 !important;
    box-shadow: none !important;
}

/* 
   Hostmate login: refine the parent-theme field groups and remove
   duplicate stock login/register messaging.
 */

.hm-login-page .hm-login-content .input-group-prepend .input-group-text {
    min-width: 52px !important;
    justify-content: center !important;
    border: 1px solid var(--hm-green-border) !important;
    border-right: 0 !important;
    border-radius: 8px 0 0 8px !important;
    background: var(--hm-green-soft) !important;
    color: var(--hm-green-dark) !important;
}

.hm-login-page .hm-login-content .input-group-prepend .input-group-text i,
.hm-login-page .hm-login-content .input-group-prepend .input-group-text .fas,
.hm-login-page .hm-login-content .input-group-prepend .input-group-text .far {
    color: var(--hm-green-dark) !important;
}

/* 
   Replace the stock WHMCS person/key glyphs with Font Awesome icons.
   Use CSS escapes that the browser interprets as glyph codepoints rather
   than displaying the escape text literally.
 */

.hm-login-page .hm-login-content .input-group-prepend .input-group-text .fa-user::before,
.hm-login-page .hm-login-content .input-group-prepend .input-group-text .fa-user-alt::before {
    content: "" !important;

    /* envelope */
}

.hm-login-page .hm-login-content .input-group-prepend .input-group-text .fa-key::before {
    content: "" !important;

    /* lock */
}

.hm-login-page .hm-login-content .input-group-prepend + .form-control {
    border-radius: 0 8px 8px 0 !important;
}

/* 
   Exact Twenty-One login markup.
   The stock heading wrapper is the first child of card-body. Do not target
   .mb-4 because the password form-group also uses that utility class.
 */

.hm-login-page .hm-login-content form.login-form > .card > .card-body > :first-child,
.hm-login-page .hm-login-content form.login-form > .card > .card-footer {
    display: none !important;
}

/* 
   With the stock heading removed, the first field should begin cleanly
   beneath the Hostmate heading rather than retaining card-top spacing.
 */

.hm-login-page .hm-login-content form.login-form > .card > .card-body {
    padding-top: 0 !important;
}

/* 
   Login-page Security Koala watermark.
   Anchor it to the viewport rather than the login content container so the
   artwork sits flush against the right edge and just above the footer.
 */

.hm-login-page .hm-login-content::after {
    content: "" !important;
    position: fixed;
    right: 0;
    bottom: 55px;
    z-index: 0;
    width: min(800px, 72vw);
    aspect-ratio: 1 / 1;
    background: url("../images/hostmate-security-koala.png") center / contain no-repeat;
    opacity: .07;
    pointer-events: none;
}

.hm-login-page .hm-login-content > * {
    position: relative;
    z-index: 1;
}

@media (max-width: 767.98px) {
    .hm-login-page .hm-login-content::after {
        right: 0;
        bottom: 45px;
        width: 585px;
        opacity: .055;
    }
}

/* Public-site ABN strip shown above the logged-out WHMCS header. */

.hm-public-top-strip {
    background: #fff;
    color: #373c39;
}

.hm-public-top-strip-inner {
    min-height: 30px;
    max-width: 1280px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .03em;
}

/* 
   Hostmate footer.
   Explicitly size the footer and its children so Twenty-One cannot collapse
   the custom footer content.
 */

body.hm-theme footer#footer.hm-site-footer {
    position: relative !important;
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    color: #d7ddd9 !important;
    background: #090b0a !important;
    border: 0 !important;
    line-height: 1.4 !important;
}

body.hm-theme footer#footer.hm-site-footer > .hm-footer-top {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 72px !important;
    margin: 0 auto !important;
    padding-top: 30px !important;
    padding-bottom: 34px !important;
    overflow: visible !important;
}

body.hm-theme footer#footer.hm-site-footer .hm-footer-intro {
    flex: 1 1 48% !important;
    display: block !important;
    min-width: 0 !important;
    overflow: visible !important;
}

body.hm-theme footer#footer.hm-site-footer .hm-footer-brand {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
}

body.hm-theme footer#footer.hm-site-footer .hm-footer-logo {
    display: block !important;
    width: 180px !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    filter: brightness(0) invert(1);
}

body.hm-theme footer#footer.hm-site-footer .hm-footer-intro p {
    display: block !important;
    max-width: 390px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #9ca49f !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

body.hm-theme footer#footer.hm-site-footer .hm-footer-abn {
    display: block !important;
    margin: 0 !important;
    color: #737a76 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
}

body.hm-theme footer#footer.hm-site-footer .hm-footer-links {
    flex: 1 1 42% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(130px, 1fr)) !important;
    gap: 50px !important;
    margin: 0 !important;
    padding: 2px 0 0 !important;
    overflow: visible !important;
}

body.hm-theme footer#footer.hm-site-footer .hm-footer-links > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

body.hm-theme footer#footer.hm-site-footer .hm-footer-links strong {
    display: block !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

body.hm-theme footer#footer.hm-site-footer .hm-footer-links a {
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    color: #a7afaa !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.hm-theme footer#footer.hm-site-footer .hm-footer-links a:hover {
    color: #fff !important;
}

body.hm-theme footer#footer.hm-site-footer > .hm-footer-bottom {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 30px !important;
    margin: 0 auto !important;
    padding-top: 18px !important;
    padding-bottom: 28px !important;
    overflow: visible !important;
    border-top: 1px solid #222724 !important;
    color: #737a76 !important;
    font-size: 11px !important;
}

body.hm-theme footer#footer.hm-site-footer .hm-footer-bottom p {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    line-height: 1.4 !important;
}

@media (max-width: 767.98px) {
    body.hm-theme footer#footer.hm-site-footer {
    }

    body.hm-theme footer#footer.hm-site-footer > .hm-footer-top {
        flex-direction: column !important;
        gap: 28px !important;
        padding-top: 30px !important;
        padding-bottom: 28px !important;
    }

    body.hm-theme footer#footer.hm-site-footer .hm-footer-links {
        width: 100% !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px !important;
    }

    body.hm-theme footer#footer.hm-site-footer > .hm-footer-bottom {
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 3px !important;
    }
}

/* 
   ==========================================================
   HOSTMATE SHOPPING CART SHELL
   Give every WHMCS order step the same full-height split layout
   instead of falling back to the stock standalone cart canvas.
   ==========================================================
 */

body.hm-theme:has(.hm-cart-sidebar-column) {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

body.hm-theme:has(.hm-cart-sidebar-column) #main-body {
    position: relative;
    display: flex;
    flex: 1 0 auto;
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden;
    background: #f4f7f9;
}

body.hm-theme:has(.hm-cart-sidebar-column) #main-body > .container {
    display: flex;
    flex: 1 0 auto;
    min-height: 100%;
}

body.hm-theme:has(.hm-cart-sidebar-column) #main-body > .container > .row {
    flex: 1 0 auto;
    width: calc(100% + 30px);
    min-height: 100%;
    margin-bottom: 0;
}

.hm-cart-sidebar-column {
    position: relative;
    display: flex;
    align-items: stretch;
    padding: 0 30px 0 15px;
}

.hm-cart-sidebar-column::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    background: #fff;
    border-right: 1px solid #e2e7ea;
    pointer-events: none;
}

.hm-cart-sidebar {
    position: relative;
    z-index: 1;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 100%;
    padding: 42px 8px 44px 0;
}

.hm-cart-sidebar-kicker {
    margin-bottom: 10px;
    color: var(--hm-green);
    font-size: 10px;
    line-height: 1;
    font-weight: 750;
    letter-spacing: .14em;
}

.hm-cart-sidebar-title {
    margin-bottom: 28px;
    color: var(--hm-ink);
    font-size: 1.45rem;
    line-height: 1.12;
    font-weight: 650;
    letter-spacing: -.04em;
}

.hm-cart-sidebar-nav {
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--hm-line);
}

.hm-cart-sidebar-nav a {
    position: relative;
    padding: 14px 4px;
    border-bottom: 1px solid var(--hm-line);
    color: #4f5954;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.hm-cart-sidebar-nav a::after {
    content: "";
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    color: #a3aca7;
    font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free";
    font-size: 9px;
    font-weight: 900;
}

.hm-cart-sidebar-nav a:hover,
.hm-cart-sidebar-nav a:focus {
    color: var(--hm-green-dark);
    text-decoration: none;
}

.hm-cart-sidebar-note {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: auto;
    padding-top: 32px;
    color: var(--hm-muted);
    font-size: 12px;
    line-height: 1.55;
}

.hm-cart-sidebar-note strong {
    color: var(--hm-ink);
    font-size: 13px;
}

.hm-cart-sidebar-note a {
    width: fit-content;
    margin-top: 5px;
    color: var(--hm-green-dark);
    font-weight: 600;
}

.hm-cart-content {
    padding: 40px 15px 56px 42px;
}

@media (max-width: 991.98px) {
    body.hm-theme:has(.hm-cart-sidebar-column) #main-body {
        overflow: visible;
    }

    .hm-cart-sidebar-column {
        display: block;
        padding: 0 15px;
    }

    .hm-cart-sidebar-column::before {
        right: 50%;
        transform: translateX(50%);
        border-right: 0;
        border-bottom: 1px solid #e2e7ea;
    }

    .hm-cart-sidebar {
        min-height: 0;
        padding: 24px 0;
    }

    .hm-cart-sidebar-title {
        margin-bottom: 18px;
        font-size: 1.25rem;
    }

    .hm-cart-sidebar-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hm-cart-sidebar-nav a {
        padding-right: 24px;
    }

    .hm-cart-sidebar-note {
        display: none;
    }

    .hm-cart-content {
        padding: 30px 15px 48px;
    }
}

@media (max-width: 575.98px) {
    .hm-cart-sidebar-nav {
        grid-template-columns: 1fr;
    }
}

/* 
   Remove the stock Standard Cart category/menu column. Hostmate provides
   its own order navigation in the page-level left rail.
 */

.hm-cart-content #order-standard_cart .cart-sidebar,
.hm-cart-content #order-standard_cart .categories-collapsed,
.hm-cart-content #order-standard_cart .product-selection-sidebar,
.hm-cart-content #order-standard_cart .sidebar-collapsed {
    display: none !important;
}

.hm-cart-content #order-standard_cart .cart-body,
.hm-cart-content #order-standard_cart .products,
.hm-cart-content #order-standard_cart .product-selection,
.hm-cart-content #order-standard_cart .col-md-9,
.hm-cart-content #order-standard_cart .col-lg-9 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

/* 
   WHMCS Standard Cart commonly renders its category rail as the first
   narrow Bootstrap column. Hide that only inside the Hostmate cart area.
 */

@media (min-width: 768px) {
    .hm-cart-content #order-standard_cart > .row > .col-md-3:first-child,
    .hm-cart-content #order-standard_cart .row > .col-md-3:first-child.cart-sidebar {
        display: none !important;
    }
}

/* 
   ==========================================================
   HOSTMATE STANDARD CART CONTENT
   Restyle WHMCS ordering components so the right-hand canvas
   reads as part of Hostmate rather than the stock Standard Cart.
   ==========================================================
 */

.hm-cart-content #order-standard_cart {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--hm-text);
    font-family: inherit;
}

.hm-cart-content #order-standard_cart .header-lined,
.hm-cart-content #order-standard_cart .domain-selection-options,
.hm-cart-content #order-standard_cart .domain-input-group,
.hm-cart-content #order-standard_cart .products,
.hm-cart-content #order-standard_cart .product {
    font-family: inherit;
}

.hm-cart-content #order-standard_cart .header-lined {
    margin: 0 0 28px !important;
    padding: 0 0 20px !important;
    border-bottom: 1px solid var(--hm-line) !important;
}

.hm-cart-content #order-standard_cart .header-lined h1,
.hm-cart-content #order-standard_cart h1 {
    margin: 0 !important;
    color: var(--hm-ink) !important;
    font-size: clamp(2rem, 3vw, 2.75rem) !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    letter-spacing: -.045em !important;
}

.hm-cart-content #order-standard_cart h2 {
    color: var(--hm-ink) !important;
    font-size: 1.55rem !important;
    line-height: 1.15 !important;
    font-weight: 650 !important;
    letter-spacing: -.035em !important;
}

.hm-cart-content #order-standard_cart h3,
.hm-cart-content #order-standard_cart h4 {
    color: var(--hm-ink) !important;
    font-weight: 650 !important;
    letter-spacing: -.025em !important;
}

.hm-cart-content #order-standard_cart .text-muted,
.hm-cart-content #order-standard_cart p {
    color: var(--hm-muted);
}

/* Domain search/register/transfer */

.hm-cart-content #order-standard_cart .domain-selection-options {
    margin: 0 0 28px !important;
    padding: 28px !important;
    border: 1px solid var(--hm-line) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.hm-cart-content #order-standard_cart .domain-input-group {
    max-width: 820px;
    margin-right: auto;
    margin-left: auto;
}

.hm-cart-content #order-standard_cart .domain-input-group .form-control,
.hm-cart-content #order-standard_cart .domain-input-group .input-group-text,
.hm-cart-content #order-standard_cart .domain-input-group .btn {
    min-height: 48px;
}

.hm-cart-content #order-standard_cart .domain-input-group .form-control {
    border-color: #d8dfdb !important;
    background: #fff !important;
    font-size: 15px !important;
}

.hm-cart-content #order-standard_cart .domain-input-group .btn-primary,
.hm-cart-content #order-standard_cart .btn-primary,
.hm-cart-content #order-standard_cart .btn-success {
    border-color: var(--hm-green) !important;
    background: var(--hm-green) !important;
    color: #fff !important;
}

.hm-cart-content #order-standard_cart .domain-input-group .btn-primary:hover,
.hm-cart-content #order-standard_cart .btn-primary:hover,
.hm-cart-content #order-standard_cart .btn-success:hover {
    border-color: var(--hm-green-dark) !important;
    background: var(--hm-green-dark) !important;
}

.hm-cart-content #order-standard_cart .domain-checker-result-headline,
.hm-cart-content #order-standard_cart .domain-available,
.hm-cart-content #order-standard_cart .domain-price {
    color: var(--hm-ink);
}

.hm-cart-content #order-standard_cart .domain-pricing,
.hm-cart-content #order-standard_cart .domain-suggestions {
    border-color: var(--hm-line) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: none !important;
}

/* Product selection */

.hm-cart-content #order-standard_cart .products {
    margin: 0 !important;
}

.hm-cart-content #order-standard_cart .products .product,
.hm-cart-content #order-standard_cart .product {
    margin-bottom: 16px !important;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid var(--hm-line) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.hm-cart-content #order-standard_cart .products .product header,
.hm-cart-content #order-standard_cart .product .product-desc,
.hm-cart-content #order-standard_cart .product .product-pricing,
.hm-cart-content #order-standard_cart .product .product-info {
    background: transparent !important;
}

.hm-cart-content #order-standard_cart .products .product header {
    padding: 22px 24px 8px !important;
    border: 0 !important;
    color: var(--hm-ink) !important;
    font-size: 1.2rem !important;
    font-weight: 650 !important;
}

.hm-cart-content #order-standard_cart .product .product-desc,
.hm-cart-content #order-standard_cart .product .product-info {
    padding: 8px 24px 22px !important;
    color: var(--hm-muted) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

.hm-cart-content #order-standard_cart .product .product-pricing {
    padding: 20px 24px !important;
    border-top: 1px solid var(--hm-line) !important;
}

.hm-cart-content #order-standard_cart .product .price,
.hm-cart-content #order-standard_cart .product .pricing {
    color: var(--hm-ink) !important;
    font-weight: 650 !important;
}

/* Configuration, review and checkout surfaces */

.hm-cart-content #order-standard_cart .panel,
.hm-cart-content #order-standard_cart .card,
.hm-cart-content #order-standard_cart .view-cart-items,
.hm-cart-content #order-standard_cart .order-summary {
    border: 1px solid var(--hm-line) !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.hm-cart-content #order-standard_cart .panel-heading,
.hm-cart-content #order-standard_cart .card-header,
.hm-cart-content #order-standard_cart .view-cart-items-header {
    border-bottom: 1px solid var(--hm-line) !important;
    background: #f8faf9 !important;
    color: var(--hm-ink) !important;
    font-weight: 650 !important;
}

.hm-cart-content #order-standard_cart .order-summary {
    border-top: 3px solid var(--hm-green) !important;
}

.hm-cart-content #order-standard_cart .order-summary .subtotal,
.hm-cart-content #order-standard_cart .order-summary .total-due-today {
    color: var(--hm-ink) !important;
}

.hm-cart-content #order-standard_cart .order-summary .total-due-today .amt {
    color: var(--hm-green-dark) !important;
}

.hm-cart-content #order-standard_cart .form-control,
.hm-cart-content #order-standard_cart select {
    border-color: #d7dee0 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.hm-cart-content #order-standard_cart .form-control:focus,
.hm-cart-content #order-standard_cart select:focus {
    border-color: #8fb99b !important;
    box-shadow: 0 0 0 .16rem rgba(40,167,69,.1) !important;
}

.hm-cart-content #order-standard_cart .btn {
    border-radius: 6px !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.hm-cart-content #order-standard_cart .btn-default,
.hm-cart-content #order-standard_cart .btn-secondary {
    border-color: #d5ddd8 !important;
    background: #fff !important;
    color: #46504b !important;
}

.hm-cart-content #order-standard_cart table {
    color: #39433e !important;
}

.hm-cart-content #order-standard_cart table thead th {
    border-bottom-color: var(--hm-line) !important;
    background: #f8faf9 !important;
    color: #69736e !important;
    font-size: 10px !important;
    font-weight: 750 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase;
}

@media (max-width: 767.98px) {
    .hm-cart-content #order-standard_cart .domain-selection-options {
        padding: 20px !important;
    }

    .hm-cart-content #order-standard_cart .header-lined h1,
    .hm-cart-content #order-standard_cart h1 {
        font-size: 2rem !important;
    }
}

/* 
   ==========================================================
   DOMAIN REGISTRATION
   Strip the decorative Standard Cart treatment back to a simple
   Hostmate domain search and useful results.
   ==========================================================
 */

/* 
   WHMCS supplies a large promotional background behind the checker.
   The Hostmate order flow deliberately uses the page canvas instead.
 */

.hm-cart-content #order-standard_cart .domain-selection-options,
.hm-cart-content #order-standard_cart .domain-checker-container,
.hm-cart-content #order-standard_cart .domain-checker-bg,
.hm-cart-content #order-standard_cart .domain-checker-primary,
.hm-cart-content #order-standard_cart .domain-checker-available {
    background-image: none !important;
}

.hm-cart-content #order-standard_cart .domain-checker-container {
    margin: 0 0 28px !important;
    padding: 34px 32px !important;
    border: 1px solid var(--hm-line) !important;
    border-radius: 10px !important;
    background-color: #fff !important;
    box-shadow: none !important;
}

.hm-cart-content #order-standard_cart .domain-checker-container h2,
.hm-cart-content #order-standard_cart .domain-checker-container .domain-checker-title {
    margin-bottom: 18px !important;
    color: var(--hm-ink) !important;
    text-shadow: none !important;
}

.hm-cart-content #order-standard_cart .domain-checker-container p,
.hm-cart-content #order-standard_cart .domain-checker-container label {
    color: var(--hm-muted) !important;
    text-shadow: none !important;
}

/* 
   Remove the stock featured-TLD promo tiles (.com/.net etc.). Search
   results and normal pricing remain available without the ad-like cards.
 */

.hm-cart-content #order-standard_cart .featured-tlds,
.hm-cart-content #order-standard_cart .featured-tld,
.hm-cart-content #order-standard_cart .spotlight-tlds,
.hm-cart-content #order-standard_cart .spotlight-tld,
.hm-cart-content #order-standard_cart .tld-spotlight {
    display: none !important;
}

/* 
   The category browser is one of the most visually dated parts of the
   Standard Cart. Keep extension pricing useful, but remove its tab/chip UI.
 */

.hm-cart-content #order-standard_cart .tld-filters,
.hm-cart-content #order-standard_cart .tld-categories,
.hm-cart-content #order-standard_cart .domain-pricing .tld-filters,
.hm-cart-content #order-standard_cart .domain-pricing .tld-categories {
    display: none !important;
}

.hm-cart-content #order-standard_cart .domain-pricing {
    margin-top: 30px !important;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid var(--hm-line) !important;
    border-radius: 9px !important;
}

.hm-cart-content #order-standard_cart .domain-pricing > h4,
.hm-cart-content #order-standard_cart .domain-pricing .domain-pricing-title {
    margin: 0 !important;
    padding: 18px 20px !important;
    border-bottom: 1px solid var(--hm-line) !important;
    background: #fff !important;
    color: var(--hm-ink) !important;
}

.hm-cart-content #order-standard_cart .domain-pricing table {
    margin-bottom: 0 !important;
    background: #fff !important;
}

.hm-cart-content #order-standard_cart .domain-pricing table td,
.hm-cart-content #order-standard_cart .domain-pricing table th {
    padding: 13px 16px !important;
    vertical-align: middle !important;
}

/* 
   Search result rows should read as simple availability choices rather
   than nested WHMCS panels.
 */

.hm-cart-content #order-standard_cart .domain-search-result,
.hm-cart-content #order-standard_cart .domain-suggestion {
    margin-bottom: 10px !important;
    padding: 16px 18px !important;
    border: 1px solid var(--hm-line) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.hm-cart-content #order-standard_cart .domain-search-result .btn,
.hm-cart-content #order-standard_cart .domain-suggestion .btn {
    min-width: 92px;
}

@media (max-width: 767.98px) {
    .hm-cart-content #order-standard_cart .domain-checker-container {
        padding: 24px 20px !important;
    }
}

/* Match the domain checker controls to the Hostmate front-site search. */

.hm-cart-content #order-standard_cart .domain-checker-container {
    padding: 20px 22px !important;
}

.hm-cart-content #order-standard_cart .domain-checker-container .input-group,
.hm-cart-content #order-standard_cart .domain-input-group {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
}

.hm-cart-content #order-standard_cart .domain-checker-container .form-control,
.hm-cart-content #order-standard_cart .domain-input-group .form-control {
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 18px !important;
    border: 1px solid var(--hm-line) !important;
    border-radius: 10px !important;
    font-size: 16px !important;
}

.hm-cart-content #order-standard_cart .domain-checker-container .input-group-append,
.hm-cart-content #order-standard_cart .domain-input-group .input-group-append {
    margin-left: 0 !important;
}

.hm-cart-content #order-standard_cart .domain-checker-container .btn,
.hm-cart-content #order-standard_cart .domain-input-group .btn {
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 24px !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 750 !important;
}

/* The category controls are hidden above; remove WHMCS's orphaned heading too. */

.hm-cart-content #order-standard_cart .domain-pricing > h4,
.hm-cart-content #order-standard_cart .domain-pricing .domain-pricing-title,
.hm-cart-content #order-standard_cart .domain-pricing .tld-pricing-header {
    display: none !important;
}

/* Replace the stock blue/underlined pricing-table treatment. */

.hm-cart-content #order-standard_cart .domain-pricing thead th,
.hm-cart-content #order-standard_cart .domain-pricing .table-heading {
    border: 0 !important;
    border-bottom: 1px solid var(--hm-line) !important;
    background: #f8faf9 !important;
    color: #66716b !important;
    text-decoration: none !important;
}

.hm-cart-content #order-standard_cart .domain-pricing thead th a,
.hm-cart-content #order-standard_cart .domain-pricing .table-heading a {
    color: #66716b !important;
    text-decoration: none !important;
}

.hm-cart-content #order-standard_cart .domain-pricing tbody td {
    border-color: #edf1ee !important;
    background: #fff !important;
    color: #3f4944 !important;
    text-decoration: none !important;
}

.hm-cart-content #order-standard_cart .domain-pricing tbody tr:hover td {
    background: #fafcfb !important;
}

.hm-cart-content #order-standard_cart .domain-pricing a {
    text-decoration: none !important;
}

@media (max-width: 767.98px) {
    .hm-cart-content #order-standard_cart .domain-checker-container {
        padding: 18px !important;
    }

    .hm-cart-content #order-standard_cart .domain-checker-container .input-group,
    .hm-cart-content #order-standard_cart .domain-input-group {
        gap: 8px !important;
    }
}

/* Give the domain-search action more visual weight than the stock control. */

.hm-cart-content #order-standard_cart .domain-checker-container .btn,
.hm-cart-content #order-standard_cart .domain-input-group .btn {
    min-width: 150px !important;
    padding-right: 30px !important;
    padding-left: 30px !important;
    font-size: 17px !important;
}

/* 
   Remove Standard Cart's cross-sell panels beneath domain pricing:
   hosting upsell and domain-transfer promotion.
 */

.hm-cart-content #order-standard_cart .domain-pricing + .row,
.hm-cart-content #order-standard_cart .domain-pricing + .row + .row,
.hm-cart-content #order-standard_cart .domain-addons,
.hm-cart-content #order-standard_cart .domain-promo-box,
.hm-cart-content #order-standard_cart .domain-hosting,
.hm-cart-content #order-standard_cart .domain-transfer {
    display: none !important;
}

@media (max-width: 575.98px) {
    .hm-cart-content #order-standard_cart .domain-checker-container .btn,
    .hm-cart-content #order-standard_cart .domain-input-group .btn {
        min-width: 120px !important;
        padding-right: 20px !important;
        padding-left: 20px !important;
        font-size: 16px !important;
    }
}

/* 
   Compact the domain-search panel further. WHMCS nests extra wrappers
   inside the checker, so remove their vertical spacing as well.
 */

.hm-cart-content #order-standard_cart .domain-checker-container {
    padding: 12px 16px !important;
}

.hm-cart-content #order-standard_cart .domain-checker-container .domain-checker-bg,
.hm-cart-content #order-standard_cart .domain-checker-container .domain-checker-primary,
.hm-cart-content #order-standard_cart .domain-checker-container .domain-checker-available,
.hm-cart-content #order-standard_cart .domain-checker-container .domain-search {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
}

.hm-cart-content #order-standard_cart .domain-checker-container .btn,
.hm-cart-content #order-standard_cart .domain-input-group .btn {
    min-width: 165px !important;
    font-size: 22px !important;
    line-height: 1 !important;
}

@media (max-width: 767.98px) {
    .hm-cart-content #order-standard_cart .domain-checker-container {
        padding: 12px !important;
    }
}

/* 
   Use a CSS-drawn chevron so the cart rail does not depend on a
   particular Font Awesome font being available.
 */

.hm-cart-sidebar-nav a::after {
    content: "" !important;
    right: 6px !important;
    width: 7px !important;
    height: 7px !important;
    border-top: 1.5px solid #a3aca7 !important;
    border-right: 1.5px solid #a3aca7 !important;
    transform: translateY(-50%) rotate(45deg) !important;
    font-family: inherit !important;
}

.hm-cart-sidebar-nav a:hover::after,
.hm-cart-sidebar-nav a:focus::after {
    border-color: var(--hm-green-dark) !important;
}

/* 
   WHMCS Standard Cart applies button typography through more-specific
   selectors. Target the actual domain checker submit controls directly.
 */

.hm-cart-content #order-standard_cart .domain-checker-container button[type="submit"],
.hm-cart-content #order-standard_cart .domain-checker-container input[type="submit"],
.hm-cart-content #order-standard_cart .domain-checker-container .btn-primary,
.hm-cart-content #order-standard_cart .domain-input-group button,
.hm-cart-content #order-standard_cart .domain-input-group .btn {
    min-width: 165px !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 30px !important;
    font-size: 22px !important;
    line-height: 52px !important;
    font-weight: 750 !important;
}

/* Keep domain pricing rows uniform; remove Standard Cart zebra striping. */

.hm-cart-content #order-standard_cart .domain-pricing tbody tr,
.hm-cart-content #order-standard_cart .domain-pricing tbody tr:nth-child(odd),
.hm-cart-content #order-standard_cart .domain-pricing tbody tr:nth-child(even),
.hm-cart-content #order-standard_cart .domain-pricing tbody tr td,
.hm-cart-content #order-standard_cart .domain-pricing tbody tr:nth-child(odd) td,
.hm-cart-content #order-standard_cart .domain-pricing tbody tr:nth-child(even) td {
    background: #fff !important;
}

.hm-cart-content #order-standard_cart .domain-pricing tbody tr:hover,
.hm-cart-content #order-standard_cart .domain-pricing tbody tr:hover td {
    background: #fafcfb !important;
}

/* 
   Final domain-pricing table treatment. WHMCS Standard Cart applies
   striping to cells as well as rows, so override both explicitly.
 */

.hm-cart-content #order-standard_cart .domain-pricing table,
.hm-cart-content #order-standard_cart .domain-pricing table.table-striped,
.hm-cart-content #order-standard_cart .domain-pricing table tbody,
.hm-cart-content #order-standard_cart .domain-pricing table tbody tr,
.hm-cart-content #order-standard_cart .domain-pricing table tbody tr:nth-of-type(odd),
.hm-cart-content #order-standard_cart .domain-pricing table tbody tr:nth-of-type(even),
.hm-cart-content #order-standard_cart .domain-pricing table tbody tr > th,
.hm-cart-content #order-standard_cart .domain-pricing table tbody tr > td,
.hm-cart-content #order-standard_cart .domain-pricing table.table-striped tbody tr:nth-of-type(odd) > *,
.hm-cart-content #order-standard_cart .domain-pricing table.table-striped tbody tr:nth-of-type(even) > * {
    background: #fff !important;
    background-color: #fff !important;
    box-shadow: none !important;
}

.hm-cart-content #order-standard_cart .domain-pricing table tbody tr > th,
.hm-cart-content #order-standard_cart .domain-pricing table tbody tr > td {
    border-top: 1px solid #e7ece9 !important;
    border-right: 0 !important;
    border-left: 0 !important;
}

/* Remove the stock pale-blue separator beside the TLD column. */

.hm-cart-content #order-standard_cart .domain-pricing table tr > :first-child,
.hm-cart-content #order-standard_cart .domain-pricing table tr > :nth-child(2) {
    border-right: 0 !important;
    box-shadow: none !important;
}

.hm-cart-content #order-standard_cart .domain-pricing table tbody tr:hover > * {
    background: #fafcfb !important;
}

/* Restore useful labels without bringing back WHMCS's category heading. */

.hm-cart-content #order-standard_cart .domain-pricing table thead {
    display: table-header-group !important;
}

.hm-cart-content #order-standard_cart .domain-pricing table thead th {
    display: table-cell !important;
    padding: 13px 16px !important;
    border: 0 !important;
    border-bottom: 1px solid #dfe6e2 !important;
    background: #f8faf9 !important;
    color: #66716b !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
    letter-spacing: .055em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

/* 
   Some Standard Cart versions render the pricing headings as sortable
   links. Keep them visually identical to plain table headings.
 */

.hm-cart-content #order-standard_cart .domain-pricing table thead th a {
    color: inherit !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    text-decoration: none !important;
    text-transform: inherit !important;
}

/* 
   Exact WHMCS Standard Cart domainregister.tpl markup.
   Pricing is Bootstrap rows/divs, not an HTML table.
 */

.hm-cart-content #order-standard_cart .domain-pricing > .bg-white {
    overflow: hidden !important;
    border-radius: 0 !important;
    background: #fff !important;
}

.hm-cart-content #order-standard_cart .domain-pricing .tld-pricing-header {
    display: flex !important;
    margin: 0 !important;
    min-height: 46px !important;
    align-items: stretch !important;
    border-bottom: 1px solid #dfe6e2 !important;
    background: #f8faf9 !important;
    color: #66716b !important;
    font-size: 11px !important;
    font-weight: 750 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}

.hm-cart-content #order-standard_cart .domain-pricing .tld-pricing-header > div,
.hm-cart-content #order-standard_cart .domain-pricing .tld-pricing-header .row > div {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
}

.hm-cart-content #order-standard_cart .domain-pricing .tld-pricing-header .tld-column {
    justify-content: flex-start !important;
    padding-left: 24px !important;
}

.hm-cart-content #order-standard_cart .domain-pricing .tld-pricing-header > .col-md-8 > .row {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}

.hm-cart-content #order-standard_cart .domain-pricing .tld-row {
    margin: 0 !important;
    min-height: 64px !important;
    border: 0 !important;
    border-bottom: 1px solid #e7ece9 !important;
    background: #fff !important;
    color: #3f4944 !important;
}

.hm-cart-content #order-standard_cart .domain-pricing .tld-row:nth-child(odd),
.hm-cart-content #order-standard_cart .domain-pricing .tld-row:nth-child(even),
.hm-cart-content #order-standard_cart .domain-pricing .tld-row > div,
.hm-cart-content #order-standard_cart .domain-pricing .tld-row > .col-md-8 > .row,
.hm-cart-content #order-standard_cart .domain-pricing .tld-row > .col-md-8 > .row > div {
    background: #fff !important;
    background-color: #fff !important;
}

.hm-cart-content #order-standard_cart .domain-pricing .tld-row > .col-md-4,
.hm-cart-content #order-standard_cart .domain-pricing .tld-row .tld-column {
    border-right: 0 !important;
    box-shadow: none !important;
}

.hm-cart-content #order-standard_cart .domain-pricing .tld-row > .col-md-8 {
    border-left: 0 !important;
}

.hm-cart-content #order-standard_cart .domain-pricing .tld-row:hover,
.hm-cart-content #order-standard_cart .domain-pricing .tld-row:hover > div,
.hm-cart-content #order-standard_cart .domain-pricing .tld-row:hover > .col-md-8 > .row,
.hm-cart-content #order-standard_cart .domain-pricing .tld-row:hover > .col-md-8 > .row > div {
    background: #fafcfb !important;
}

.hm-cart-content #order-standard_cart .domain-pricing .tld-row.no-tlds {
    display: none !important;
}

/* Domain transfer page — restrained Hostmate treatment. */

.hm-cart-content #order-standard_cart .domain-transfer-container,
.hm-cart-content #order-standard_cart .domain-transfer {
    background: transparent !important;
}

.hm-cart-content #order-standard_cart .domain-transfer-container h2,
.hm-cart-content #order-standard_cart .domain-transfer h2 {
    margin-bottom: 8px !important;
    color: #17232e !important;
    font-size: clamp(1.65rem, 2.5vw, 2rem) !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: -.035em !important;
}

.hm-cart-content #order-standard_cart .domain-transfer-container h2 + p,
.hm-cart-content #order-standard_cart .domain-transfer h2 + p {
    margin-bottom: 28px !important;
    color: #77827c !important;
    font-size: 15px !important;
}

.hm-cart-content #order-standard_cart .domain-transfer-container .card,
.hm-cart-content #order-standard_cart .domain-transfer .card {
    overflow: hidden !important;
    border: 1px solid #e0e6e3 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.hm-cart-content #order-standard_cart .domain-transfer-container .card-header,
.hm-cart-content #order-standard_cart .domain-transfer .card-header {
    padding: 20px 24px 16px !important;
    border-bottom: 1px solid #e7ece9 !important;
    background: #fafcfb !important;
}

.hm-cart-content #order-standard_cart .domain-transfer-container .card-body,
.hm-cart-content #order-standard_cart .domain-transfer .card-body {
    padding: 24px !important;
}

.hm-cart-content #order-standard_cart .domain-transfer-container .form-control,
.hm-cart-content #order-standard_cart .domain-transfer .form-control {
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 16px !important;
    border: 1px solid #d9e0dc !important;
    border-radius: 10px !important;
    background: #fff !important;
    font-size: 16px !important;
}

.hm-cart-content #order-standard_cart .domain-transfer-container .form-control:focus,
.hm-cart-content #order-standard_cart .domain-transfer .form-control:focus {
    border-color: #28a745 !important;
    box-shadow: 0 0 0 3px rgba(40, 167, 69, .10) !important;
}

.hm-cart-content #order-standard_cart .domain-transfer-container .card-footer,
.hm-cart-content #order-standard_cart .domain-transfer .card-footer {
    padding: 16px 24px !important;
    border-top: 1px solid #e7ece9 !important;
    background: #fafcfb !important;
}

.hm-cart-content #order-standard_cart .domain-transfer-container .btn-primary,
.hm-cart-content #order-standard_cart .domain-transfer .btn-primary {
    min-width: 165px !important;
    min-height: 48px !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #28a745 !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 750 !important;
}

.hm-cart-content #order-standard_cart .domain-transfer-container .btn-primary:hover,
.hm-cart-content #order-standard_cart .domain-transfer .btn-primary:hover {
    background: #218838 !important;
}

/* Hide WHMCompleteSolution transfer-page remnants. */

.hm-cart-content #order-standard_cart .domain-transfer-container + p,
.hm-cart-content #order-standard_cart .domain-transfer + p,
.hm-cart-content #order-standard_cart .powered-by,
.hm-cart-content #order-standard_cart .whmcs-powered-by {
    display: none !important;
}

/* Domain transfer authorization-code Help link/icon. */

.hm-cart-content #order-standard_cart .domain-transfer-container .form-group a,
.hm-cart-content #order-standard_cart .domain-transfer .form-group a,
.hm-cart-content #order-standard_cart .domain-transfer-container .form-group a i,
.hm-cart-content #order-standard_cart .domain-transfer .form-group a i {
    color: #28a745 !important;
}

.hm-cart-content #order-standard_cart .domain-transfer-container .form-group a:hover,
.hm-cart-content #order-standard_cart .domain-transfer .form-group a:hover,
.hm-cart-content #order-standard_cart .domain-transfer-container .form-group a:hover i,
.hm-cart-content #order-standard_cart .domain-transfer .form-group a:hover i {
    color: #218838 !important;
}

/* Exact WHMCS transfer auth-code Help control. */

.hm-cart-content #order-standard_cart .fa-question-circle,
.hm-cart-content #order-standard_cart .fas.fa-question-circle,
.hm-cart-content #order-standard_cart a[data-toggle="popover"],
.hm-cart-content #order-standard_cart a[data-toggle="popover"] i,
.hm-cart-content #order-standard_cart a[data-bs-toggle="popover"],
.hm-cart-content #order-standard_cart a[data-bs-toggle="popover"] i {
    color: #28a745 !important;
}

.hm-cart-content #order-standard_cart a[data-toggle="popover"]:hover,
.hm-cart-content #order-standard_cart a[data-toggle="popover"]:hover i,
.hm-cart-content #order-standard_cart a[data-bs-toggle="popover"]:hover,
.hm-cart-content #order-standard_cart a[data-bs-toggle="popover"]:hover i {
    color: #218838 !important;
}

/* 
   Web Hosting product selection — Hostmate card treatment.
   Product names, descriptions and prices remain WHMCS-controlled.
 */

.hm-cart-content #order-standard_cart .products {
    margin-top: 22px !important;
}

.hm-cart-content #order-standard_cart .products .product {
    overflow: hidden !important;
    border: 1px solid #dfe6e2 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: none !important;
    transition: border-color .18s ease, transform .18s ease !important;
}

.hm-cart-content #order-standard_cart .products .product:hover {
    border-color: #cbd6d0 !important;
    transform: translateY(-1px) !important;
}

.hm-cart-content #order-standard_cart .products .product header,
.hm-cart-content #order-standard_cart .products .product .product-header {
    padding: 22px 30px 18px !important;
    border: 0 !important;
    border-top: 4px solid var(--hm-green) !important;
    border-bottom: 1px solid #dfe9e2 !important;
    background: var(--hm-green-soft) !important;
}

.hm-cart-content #order-standard_cart .products .product header span,
.hm-cart-content #order-standard_cart .products .product header h3,
.hm-cart-content #order-standard_cart .products .product .product-header h3 {
    color: #17232e !important;
    font-size: 25px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: -.025em !important;
}

.hm-cart-content #order-standard_cart .products .product .product-desc,
.hm-cart-content #order-standard_cart .products .product .product-body {
    padding: 12px 30px 26px !important;
    color: #69756f !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

.hm-cart-content #order-standard_cart .products .product .product-desc strong,
.hm-cart-content #order-standard_cart .products .product .product-body strong {
    color: #4c5953 !important;
    font-weight: 700 !important;
}

.hm-cart-content #order-standard_cart .products .product .product-pricing {
    padding: 18px 24px !important;
    border-top: 0 !important;
    background: #fafcfb !important;
    text-align: center !important;
}

.hm-cart-content #order-standard_cart .products .product .product-pricing .price,
.hm-cart-content #order-standard_cart .products .product .product-pricing .price-prefix {
    color: #17232e !important;
}

.hm-cart-content #order-standard_cart .products .product .product-pricing .price {
    font-size: 22px !important;
    font-weight: 750 !important;
}

.hm-cart-content #order-standard_cart .products .product .product-pricing .cycle {
    color: #77827c !important;
    font-size: 13px !important;
}

.hm-cart-content #order-standard_cart .hm-cart-action,
.hm-cart-content #order-standard_cart .products .product .btn,
.hm-cart-content #order-standard_cart .products .product .btn-success,
.hm-cart-content #order-standard_cart .products .product .btn-primary {
    min-width: 150px !important;
    min-height: 46px !important;
    padding: 0 22px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #28a745 !important;
    color: #fff !important;
    font-size: 15px !important;
    line-height: 46px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}

.hm-cart-content #order-standard_cart .hm-cart-action:hover,
.hm-cart-content #order-standard_cart .hm-cart-action:focus,
.hm-cart-content #order-standard_cart .products .product .btn:hover,
.hm-cart-content #order-standard_cart .products .product .btn-success:hover,
.hm-cart-content #order-standard_cart .products .product .btn-primary:hover {
    background: #218838 !important;
    color: #fff !important;
}

/* The cart glyph adds stock-WHMCS visual noise to the product CTA. */

.hm-cart-content #order-standard_cart .products .product .btn .fa-shopping-cart,
.hm-cart-content #order-standard_cart .products .product .btn .fas.fa-shopping-cart {
    display: none !important;
}

/* WHMCompleteSolution attribution is not part of the Hostmate cart UI. */

.hm-cart-content #order-standard_cart .products ~ .powered-by,
.hm-cart-content #order-standard_cart .products ~ .whmcs-powered-by {
    display: none !important;
}

@media (max-width: 767.98px) {
    .hm-cart-content #order-standard_cart .products .product header,
    .hm-cart-content #order-standard_cart .products .product .product-header {
        padding: 22px 22px 10px !important;
    }

    .hm-cart-content #order-standard_cart .products .product .product-desc,
    .hm-cart-content #order-standard_cart .products .product .product-body {
        padding: 10px 22px 22px !important;
    }
}

/* 
   Hosting cards: keep hover stable. Avoid WHMCS/product transforms that
   can make text and borders shift by a pixel during rollover.
 */

.hm-cart-content #order-standard_cart .products .product,
.hm-cart-content #order-standard_cart .products .product:hover,
.hm-cart-content #order-standard_cart .products .product:focus,
.hm-cart-content #order-standard_cart .products .product:focus-within {
    transform: none !important;
    top: auto !important;
    margin-top: 0 !important;
}

.hm-cart-content #order-standard_cart .products .product:hover,
.hm-cart-content #order-standard_cart .products .product:focus-within {
    border-color: #bfcac4 !important;
    box-shadow: 0 8px 24px rgba(19, 35, 24, .06) !important;
}

.hm-cart-content #order-standard_cart .products .product {
    transition: border-color .18s ease, box-shadow .18s ease !important;
}

/* 
   Hosting order: domain choice step. Keep WHMCS behaviour intact while
   replacing the stock grey panels and pill controls with Hostmate UI.
 */

.hm-cart-content #order-standard_cart .domain-selection-options {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.hm-cart-content #order-standard_cart .domain-selection-options .option,
.hm-cart-content #order-standard_cart .domain-selection-options .domain-selection-option {
    margin-bottom: 12px !important;
    padding: 22px 24px !important;
    border: 1px solid #e0e6e3 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.hm-cart-content #order-standard_cart .domain-selection-options .option:hover,
.hm-cart-content #order-standard_cart .domain-selection-options .domain-selection-option:hover {
    border-color: #cbd6d0 !important;
}

.hm-cart-content #order-standard_cart .domain-selection-options .option.option-selected,
.hm-cart-content #order-standard_cart .domain-selection-options .option.active,
.hm-cart-content #order-standard_cart .domain-selection-options .domain-selection-option.active,
.hm-cart-content #order-standard_cart .domain-selection-options .domain-selection-option.selected {
    border-color: rgba(40, 167, 69, .55) !important;
    background: #fbfefc !important;
}

.hm-cart-content #order-standard_cart .domain-selection-options label {
    color: #4f5b55 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

.hm-cart-content #order-standard_cart .domain-selection-options input[type="radio"] {
    accent-color: #28a745 !important;
}

/* Domain-entry controls. */

.hm-cart-content #order-standard_cart .domain-selection-options .form-control,
.hm-cart-content #order-standard_cart .domain-selection-options select,
.hm-cart-content #order-standard_cart .domain-selection-options .input-group-text,
.hm-cart-content #order-standard_cart .domain-selection-options .input-group-addon {
    height: 54px !important;
    min-height: 54px !important;
    border-color: #d9e0dc !important;
    background: #fff !important;
    color: #66716b !important;
    font-size: 16px !important;
}

.hm-cart-content #order-standard_cart .domain-selection-options .form-control {
    padding: 0 16px !important;
}

.hm-cart-content #order-standard_cart .domain-selection-options .input-group-text,
.hm-cart-content #order-standard_cart .domain-selection-options .input-group-addon {
    display: flex !important;
    align-items: center !important;
    padding: 0 16px !important;
    background: #f5f7f6 !important;
}

.hm-cart-content #order-standard_cart .domain-selection-options .form-control:focus,
.hm-cart-content #order-standard_cart .domain-selection-options select:focus {
    border-color: #28a745 !important;
    box-shadow: 0 0 0 3px rgba(40, 167, 69, .10) !important;
}

/* Check / Transfer / Use actions. */

.hm-cart-content #order-standard_cart .domain-selection-options .btn,
.hm-cart-content #order-standard_cart .domain-selection-options .btn-primary,
.hm-cart-content #order-standard_cart .domain-selection-options .btn-success {
    min-width: 150px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #28a745 !important;
    color: #fff !important;
    font-size: 15px !important;
    line-height: 48px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}

.hm-cart-content #order-standard_cart .domain-selection-options .btn:hover,
.hm-cart-content #order-standard_cart .domain-selection-options .btn-primary:hover,
.hm-cart-content #order-standard_cart .domain-selection-options .btn-success:hover {
    background: #218838 !important;
}

/* Long existing-domain explanation: preserve its wording but make it scan. */

.hm-cart-content #order-standard_cart .domain-selection-options .option p,
.hm-cart-content #order-standard_cart .domain-selection-options .domain-selection-option p,
.hm-cart-content #order-standard_cart .domain-selection-options .option .small,
.hm-cart-content #order-standard_cart .domain-selection-options .domain-selection-option .small {
    max-width: 900px !important;
    margin-top: 6px !important;
    margin-bottom: 16px !important;
    color: #77827c !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

/* Remove third-party attribution from this order step. */

.hm-cart-content #order-standard_cart .domain-selection-options ~ .powered-by,
.hm-cart-content #order-standard_cart .domain-selection-options ~ .whmcs-powered-by {
    display: none !important;
}

@media (max-width: 767.98px) {
    .hm-cart-content #order-standard_cart .domain-selection-options .option,
    .hm-cart-content #order-standard_cart .domain-selection-options .domain-selection-option {
        padding: 18px !important;
    }

    .hm-cart-content #order-standard_cart .domain-selection-options .btn,
    .hm-cart-content #order-standard_cart .domain-selection-options .btn-primary,
    .hm-cart-content #order-standard_cart .domain-selection-options .btn-success {
        width: 100% !important;
        margin-top: 10px !important;
    }
}

/* Hostmate cart domain selection */

.hm-cart-content #order-standard_cart .domain-selection-options .hm-domain-entry {
    display: grid;
    grid-template-columns: 72px 320px 155px 150px;
    gap: 12px;
    align-items: stretch;
    margin-top: 14px;
}

.hm-domain-prefix,
.hm-domain-entry .form-control,
.hm-domain-entry .hm-domain-action {
    height: 54px !important;
    min-height: 54px !important;
    box-sizing: border-box;
}

.hm-domain-prefix {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border: 1px solid #d9e0dc;
    border-radius: 10px;
    background: #f7f8f7;
    color: #59615d;
}

.hm-domain-entry .hm-domain-name,
.hm-domain-entry .hm-domain-tld {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    border: 1px solid #d9e0dc !important;
    border-radius: 10px !important;
}

.hm-domain-entry .hm-domain-name:focus,
.hm-domain-entry .hm-domain-tld:focus {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    transform: none !important;
    border-color: #28a745 !important;
    box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.10) !important;
}

.hm-domain-entry .hm-domain-action {
    width: 190px !important;
    min-width: 190px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #28a745 !important;
    color: #fff !important;
    font-size: 19px !important;
    font-weight: 750 !important;
}

.hm-domain-entry .hm-domain-action:hover,
.hm-domain-entry .hm-domain-action:focus {
    background: #218838 !important;
}

@media (max-width: 991.98px) {
    .hm-cart-content #order-standard_cart .domain-selection-options .hm-domain-entry {
        grid-template-columns: 72px minmax(0, 1fr) 145px;
    }

    .hm-domain-entry .hm-domain-action {
        grid-column: 1 / -1;
        width: 100% !important;
        min-width: 0 !important;
        height: 62px !important;
        min-height: 62px !important;
        padding: 0 28px !important;
    }
}

@media (max-width: 575.98px) {
    .hm-cart-content #order-standard_cart .domain-selection-options .hm-domain-entry {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .hm-domain-entry .hm-domain-tld {
        grid-column: 1 / -1;
    }
}

/* Hostmate configure-product page */

.hm-cart-content #order-standard_cart #frmConfigureProduct {
    --hm-config-gap: 28px;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct > .row {
    display: block !important;
    align-items: flex-start;
    gap: var(--hm-config-gap);
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .secondary-cart-body,
.hm-cart-content #order-standard_cart #frmConfigureProduct .secondary-cart-sidebar {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .secondary-cart-sidebar {
    margin-top: 28px;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .secondary-cart-body > p:first-child {
    margin: 0 0 18px;
    color: #6d7772;
    font-size: 16px;
    line-height: 1.6;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .product-info {
    margin: 0 0 28px !important;
    padding: 26px 28px !important;
    border: 1px solid var(--hm-line) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(19, 35, 24, 0.05) !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .product-info .product-title {
    margin: 0 0 12px !important;
    color: var(--hm-ink) !important;
    font-size: 26px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .product-info p:not(.product-title) {
    margin: 0 !important;
    color: #59645e !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .field-container {
    margin: 0 0 28px;
    padding: 22px 24px;
    border: 1px solid var(--hm-line);
    border-radius: 12px;
    background: #fff;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .field-container .form-group {
    margin-bottom: 0;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .field-container label {
    margin-bottom: 9px;
    color: #59645e;
    font-size: 13px;
    font-weight: 700;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct #inputBillingcycle {
    width: 100% !important;
    max-width: 360px;
    height: 52px !important;
    padding: 0 16px !important;
    border-radius: 10px !important;
    background-color: #fff !important;
    color: var(--hm-ink) !important;
    font-size: 16px !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .sub-heading {
    position: relative;
    margin: 34px 0 18px !important;
    height: auto !important;
    border: 0 !important;
    text-align: left !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .sub-heading::before {
    display: none !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .sub-heading span {
    display: inline-block;
    padding: 0 !important;
    background: transparent !important;
    color: var(--hm-ink) !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .addon-products {
    margin-left: -8px !important;
    margin-right: -8px !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .addon-products > [class*="col-"] {
    padding-left: 8px !important;
    padding-right: 8px !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .panel-addon {
    position: relative;
    height: calc(100% - 16px);
    margin-bottom: 16px !important;
    overflow: hidden;
    border: 1px solid var(--hm-line) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 8px 22px rgba(19, 35, 24, 0.04) !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .panel-addon:hover {
    border-color: rgba(40, 167, 69, 0.45) !important;
    box-shadow: 0 12px 28px rgba(19, 35, 24, 0.08) !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .panel-addon-selected {
    border-color: var(--hm-green) !important;
    box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.10) !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .panel-addon .card-body,
.hm-cart-content #order-standard_cart #frmConfigureProduct .panel-addon .panel-body {
    min-height: 132px;
    padding: 24px 24px 20px !important;
    color: #59645e !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .panel-addon label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px !important;
    color: var(--hm-ink) !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .panel-addon .panel-price {
    padding: 10px 20px !important;
    border-top: 1px solid var(--hm-line);
    background: #f7f9f8 !important;
    color: #66716b !important;
    font-size: 13px !important;
    font-weight: 650 !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .panel-addon .panel-add {
    padding: 12px 18px !important;
    background: var(--hm-green) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    transition: background .18s ease;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .panel-addon:hover .panel-add {
    background: var(--hm-green-dark) !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .alert-warning.info-text-sm {
    margin: 12px 0 0 !important;
    padding: 16px 18px !important;
    border: 1px solid rgba(40, 167, 69, 0.22) !important;
    border-radius: 10px !important;
    background: rgba(40, 167, 69, 0.06) !important;
    color: #53605a !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .alert-warning.info-text-sm .fa-question-circle {
    color: var(--hm-green) !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .alert-warning.info-text-sm a {
    color: var(--hm-green-dark) !important;
    font-weight: 700 !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct #orderSummary {
    position: static;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct #orderSummary,
.hm-cart-content #order-standard_cart #frmConfigureProduct .order-summary {
    width: 100% !important;
    max-width: none !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .order-summary {
    overflow: hidden;
    border: 1px solid var(--hm-line) !important;
    border-top: 4px solid var(--hm-green) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(19, 35, 24, 0.07) !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .order-summary h2 {
    margin: 0 !important;
    padding: 22px 24px 18px !important;
    border-bottom: 1px solid var(--hm-line);
    color: var(--hm-ink) !important;
    font-size: 30px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: -0.03em;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .order-summary .summary-container {
    padding: 18px 22px 22px !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct .order-summary .summary-container .total-due-today,
.hm-cart-content #order-standard_cart #frmConfigureProduct .order-summary .summary-container .amt {
    font-size: 19px !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct #btnCompleteProductConfig {
    width: 100% !important;
    min-height: 56px !important;
    margin-top: 14px !important;
    padding: 0 24px !important;
    border-radius: 10px !important;
    background: var(--hm-green) !important;
    border-color: var(--hm-green) !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 750 !important;
}

.hm-cart-content #order-standard_cart #frmConfigureProduct #btnCompleteProductConfig:hover,
.hm-cart-content #order-standard_cart #frmConfigureProduct #btnCompleteProductConfig:focus {
    background: var(--hm-green-dark) !important;
    border-color: var(--hm-green-dark) !important;
}

@media (max-width: 575.98px) {
    .hm-cart-content #order-standard_cart #frmConfigureProduct .product-info,
    .hm-cart-content #order-standard_cart #frmConfigureProduct .field-container {
        padding: 20px !important;
    }

    .hm-cart-content #order-standard_cart #frmConfigureProduct .product-info .product-title {
        font-size: 23px !important;
    }

    .hm-cart-content #order-standard_cart #frmConfigureProduct #inputBillingcycle {
        max-width: none;
    }

    .hm-cart-content #order-standard_cart #frmConfigureProduct .addon-products > [class*="col-"] {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
}

/* Hostmate review-cart page */

.hm-cart-content #order-standard_cart .hm-viewcart-layout {
    display: block !important;
}

.hm-cart-content #order-standard_cart .hm-viewcart-main,
.hm-cart-content #order-standard_cart .hm-viewcart-summary {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
}

.hm-cart-content #order-standard_cart .hm-viewcart-summary {
    margin-top: 32px;
}

.hm-cart-content #order-standard_cart .hm-viewcart-summary #orderSummary {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    overflow: hidden;
    border: 1px solid var(--hm-line) !important;
    border-top: 4px solid var(--hm-green) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(19,35,24,.07) !important;
}

.hm-cart-content #order-standard_cart .hm-viewcart-summary #orderSummary h2 {
    margin: 0 !important;
    padding: 22px 26px 18px !important;
    border-bottom: 1px solid var(--hm-line);
    color: var(--hm-ink) !important;
    font-size: 30px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: -.03em;
    text-align: left !important;
}

.hm-cart-content #order-standard_cart .hm-viewcart-summary #orderSummary .summary-container {
    padding: 22px 26px 26px !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
}

.hm-cart-content #order-standard_cart .hm-viewcart-summary #orderSummary .subtotal,
.hm-cart-content #order-standard_cart .hm-viewcart-summary #orderSummary .bordered-totals > div,
.hm-cart-content #order-standard_cart .hm-viewcart-summary #orderSummary .recurring-totals {
    padding: 10px 0 !important;
}

.hm-cart-content #order-standard_cart .hm-viewcart-summary #orderSummary .total-due-today {
    margin-top: 8px !important;
    padding: 24px 0 8px !important;
    text-align: right !important;
}

.hm-cart-content #order-standard_cart .hm-viewcart-summary #orderSummary .total-due-today .amt {
    display: block;
    color: var(--hm-green-dark) !important;
    font-size: 32px !important;
    line-height: 1.1 !important;
    font-weight: 500 !important;
}

.hm-cart-content #order-standard_cart .hm-viewcart-summary #checkout {
    width: 100% !important;
    min-height: 56px !important;
    margin-top: 22px !important;
    padding: 0 24px !important;
    border-radius: 10px !important;
    font-size: 18px !important;
    font-weight: 750 !important;
    line-height: 54px !important;
    text-align: center !important;
}

.hm-cart-content #order-standard_cart .hm-viewcart-summary #continueShopping {
    display: block !important;
    width: 100%;
    margin-top: 8px !important;
    text-align: center !important;
}

.hm-cart-content #order-standard_cart .view-cart-items-header {
    padding: 14px 18px !important;
    border: 1px solid var(--hm-line) !important;
    border-top: 4px solid var(--hm-green) !important;
    border-bottom: 0 !important;
    border-radius: 12px 12px 0 0 !important;
    background: var(--hm-green-soft) !important;
    color: var(--hm-ink) !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

.hm-cart-content #order-standard_cart .view-cart-items {
    overflow: hidden;
    border: 1px solid var(--hm-line) !important;
    border-radius: 0 0 12px 12px !important;
    background: #fff !important;
}

.hm-cart-content #order-standard_cart .view-cart-items .item {
    padding: 18px !important;
    border-bottom: 1px solid var(--hm-line) !important;
    background: #fff !important;
}

.hm-cart-content #order-standard_cart .view-cart-items .item:last-child {
    border-bottom: 0 !important;
}

.hm-cart-content #order-standard_cart .view-cart-items .item-title {
    color: var(--hm-ink) !important;
    font-size: 18px !important;
    font-weight: 650 !important;
}

.hm-cart-content #order-standard_cart .view-cart-tabs {
    margin-top: 28px !important;
}

.hm-cart-content #order-standard_cart .view-cart-tabs .nav-tabs {
    border-bottom-color: var(--hm-line) !important;
}

.hm-cart-content #order-standard_cart .view-cart-tabs .tab-content {
    padding: 20px !important;
    border: 1px solid var(--hm-line) !important;
    border-top: 0 !important;
    border-radius: 0 0 12px 12px !important;
    background: #fff !important;
}

.hm-cart-content #order-standard_cart .view-cart-tabs #inputPromotionCode {
    min-height: 50px !important;
    font-size: 15px !important;
}

.hm-cart-content #order-standard_cart .view-cart-tabs button[type="submit"] {
    min-height: 46px !important;
    border-radius: 9px !important;
}

@media (max-width: 575.98px) {
    .hm-cart-content #order-standard_cart .hm-viewcart-summary #orderSummary h2 {
        padding: 20px !important;
        font-size: 26px !important;
    }

    .hm-cart-content #order-standard_cart .hm-viewcart-summary #orderSummary .summary-container {
        padding: 20px !important;
    }

    .hm-cart-content #order-standard_cart .hm-viewcart-summary #orderSummary .total-due-today .amt {
        font-size: 28px !important;
    }
}

/* Hostmate review-cart finishing touches */

/* Remove the legacy promo-code field icon so it doesn't overlap the placeholder. */

.hm-cart-content #order-standard_cart .view-cart-tabs .prepend-icon .field-icon {
    display: none !important;
}

.hm-cart-content #order-standard_cart .view-cart-tabs .prepend-icon .field {
    padding-left: 16px !important;
}

/* Empty Cart is a secondary/destructive action, not a primary blue CTA. */

.hm-cart-content #order-standard_cart .empty-cart {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 10px !important;
}

.hm-cart-content #order-standard_cart #btnEmptyCart {
    min-height: 38px !important;
    padding: 0 14px !important;
    border: 1px solid #d7ded9 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #6b7470 !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 36px !important;
    text-decoration: none !important;
}

.hm-cart-content #order-standard_cart #btnEmptyCart:hover,
.hm-cart-content #order-standard_cart #btnEmptyCart:focus {
    border-color: #c8d0cb !important;
    background: #f7f9f8 !important;
    color: #b42318 !important;
}

.hm-cart-content #order-standard_cart #btnEmptyCart i {
    margin-right: 6px !important;
}

/* Temporarily hide cart promo and tax tabs */

.hm-cart-content #order-standard_cart .view-cart-tabs {
    display: none !important;
}

/* Increase cart item secondary text size */

.hm-cart-content #order-standard_cart .view-cart-items .item-group,
.hm-cart-content #order-standard_cart .view-cart-items .item-domain,
.hm-cart-content #order-standard_cart .view-cart-items .item small {
    font-size: 15px !important;
    line-height: 1.5 !important;
}

.hm-cart-content #order-standard_cart .view-cart-items .item-domain {
    margin-top: 2px !important;
}

/* Hostmate checkout page */

.hm-cart-content #order-standard_cart .hm-checkout-body {
    max-width: none !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-body > .header-lined {
    margin-bottom: 26px !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form {
    --hm-checkout-card-gap: 26px;
}

/* Intro / returning customer controls */

.hm-cart-content #order-standard_cart .hm-checkout-body .already-registered {
    margin: 0 0 24px !important;
    padding: 18px 20px !important;
    border: 1px solid var(--hm-line) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #5d6963 !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-body .already-registered p {
    margin: 7px 0 0 !important;
    font-size: 15px !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-body .already-registered .btn {
    min-height: 42px !important;
    padding: 0 16px !important;
    border-radius: 8px !important;
}

/* Replace old WHMCS line-through section labels. */

.hm-cart-content #order-standard_cart .hm-checkout-form .sub-heading {
    height: auto !important;
    margin: 30px 0 12px !important;
    border: 0 !important;
    text-align: left !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .sub-heading::before {
    display: none !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .sub-heading span {
    position: static !important;
    display: block !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--hm-ink) !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
    letter-spacing: -.02em !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .sub-heading span small {
    display: block;
    margin-top: 5px;
    color: #748078 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

/* Main form cards. */

.hm-cart-content #order-standard_cart .hm-checkout-form .sub-heading + .row,
.hm-cart-content #order-standard_cart .hm-checkout-form .sub-heading + .field-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 22px 22px 6px !important;
    border: 1px solid var(--hm-line) !important;
    border-top: 4px solid var(--hm-green) !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(19,35,24,.045) !important;
}

/* Inputs: remove old icon-overlay treatment and enlarge fields. */

.hm-cart-content #order-standard_cart .hm-checkout-form .prepend-icon .field-icon {
    display: none !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .prepend-icon .field,
.hm-cart-content #order-standard_cart .hm-checkout-form .form-control,
.hm-cart-content #order-standard_cart .hm-checkout-form .custom-select {
    min-height: 50px !important;
    padding: 0 15px !important;
    border: 1px solid #d8e0db !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: var(--hm-ink) !important;
    font-size: 15px !important;
    box-shadow: none !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form textarea.form-control {
    min-height: 120px !important;
    padding-top: 14px !important;
    line-height: 1.55 !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .form-control:focus,
.hm-cart-content #order-standard_cart .hm-checkout-form .custom-select:focus {
    border-color: var(--hm-green) !important;
    box-shadow: 0 0 0 3px rgba(40,167,69,.10) !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .form-group {
    margin-bottom: 16px !important;
}

/* Linked account / Google sign-in area. */

.hm-cart-content #order-standard_cart .hm-checkout-form .linked-accounts,
.hm-cart-content #order-standard_cart .hm-checkout-form [class*="linked-account"] {
    margin-bottom: 22px;
}

/* Existing-account selector. */

.hm-cart-content #order-standard_cart .hm-checkout-form .account-select-container .account {
    min-height: 76px;
    margin-bottom: 12px !important;
    padding: 16px !important;
    border: 1px solid var(--hm-line) !important;
    border-radius: 10px !important;
    background: #fff !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .account-select-container .account.active {
    border-color: rgba(40,167,69,.55) !important;
    box-shadow: 0 0 0 2px rgba(40,167,69,.08) !important;
}

/* Password area. */

.hm-cart-content #order-standard_cart .hm-checkout-form .generate-password {
    min-height: 40px !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .password-strength-meter {
    padding-top: 2px;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .password-strength-meter .progress {
    height: 8px !important;
    border-radius: 99px !important;
    background: #edf1ee !important;
}

/* Payment section. */

.hm-cart-content #order-standard_cart .hm-checkout-form #totalDueToday {
    margin: 0 0 18px !important;
    padding: 18px 20px !important;
    border: 1px solid rgba(40,167,69,.22) !important;
    border-radius: 11px !important;
    background: rgba(40,167,69,.08) !important;
    color: #245e31 !important;
    font-size: 17px !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form #totalDueToday strong {
    margin-left: 5px;
    color: var(--hm-green-dark) !important;
    font-size: 21px !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form #paymentGatewaysContainer {
    margin: 0 0 18px !important;
    padding: 20px !important;
    border: 1px solid var(--hm-line) !important;
    border-radius: 12px !important;
    background: #fff !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form #paymentGatewaysContainer > p {
    margin-bottom: 14px !important;
    color: #66726b !important;
    font-size: 14px !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form #paymentGatewaysContainer .radio-inline {
    margin: 4px 14px !important;
    color: var(--hm-ink) !important;
    font-size: 14px !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .cc-input-container,
.hm-cart-content #order-standard_cart .hm-checkout-form #paymentGatewayInput:not(:empty) {
    margin-top: 14px !important;
    padding: 22px !important;
    border: 1px solid var(--hm-line) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(19,35,24,.04) !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .cc-input-container ul {
    margin-bottom: 18px !important;
    padding-left: 0 !important;
    list-style: none !important;
}

/* Marketing opt-in. */

.hm-cart-content #order-standard_cart .hm-checkout-form .marketing-email-optin {
    margin: 28px 0 0 !important;
    padding: 20px 22px !important;
    border: 1px solid var(--hm-line) !important;
    border-radius: 12px !important;
    background: #fff !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .marketing-email-optin h4 {
    margin: 0 0 6px !important;
    color: var(--hm-ink) !important;
    font-size: 18px !important;
    font-weight: 750 !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .marketing-email-optin p {
    margin-bottom: 14px !important;
    color: #66726b !important;
    font-size: 14px !important;
}

/* Terms + final CTA. */

.hm-cart-content #order-standard_cart .hm-checkout-form > .text-center {
    margin-top: 28px !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form #btnCompleteOrder {
    width: 100% !important;
    min-height: 58px !important;
    padding: 0 28px !important;
    border-radius: 10px !important;
    background: var(--hm-green) !important;
    border-color: var(--hm-green) !important;
    color: #fff !important;
    font-size: 19px !important;
    line-height: 56px !important;
    font-weight: 800 !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form #btnCompleteOrder:hover,
.hm-cart-content #order-standard_cart .hm-checkout-form #btnCompleteOrder:focus {
    background: var(--hm-green-dark) !important;
    border-color: var(--hm-green-dark) !important;
}

/* Security note. */

.hm-cart-content #order-standard_cart .hm-checkout-body .checkout-security-msg {
    margin-top: 18px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
}

/* Keep small helper labels readable. */

.hm-cart-content #order-standard_cart .hm-checkout-form .small,
.hm-cart-content #order-standard_cart .hm-checkout-form small,
.hm-cart-content #order-standard_cart .hm-checkout-form .text-muted {
    font-size: 13px !important;
    line-height: 1.5 !important;
}

@media (max-width: 767.98px) {
    .hm-cart-content #order-standard_cart .hm-checkout-form .sub-heading + .row,
    .hm-cart-content #order-standard_cart .hm-checkout-form .sub-heading + .field-container,
    .hm-cart-content #order-standard_cart .hm-checkout-form .cc-input-container,
    .hm-cart-content #order-standard_cart .hm-checkout-form #paymentGatewayInput:not(:empty) {
        padding: 18px 18px 4px !important;
    }

    .hm-cart-content #order-standard_cart .hm-checkout-form .sub-heading span {
        font-size: 19px !important;
    }

    .hm-cart-content #order-standard_cart .hm-checkout-form .form-control,
    .hm-cart-content #order-standard_cart .hm-checkout-form .custom-select {
        min-height: 52px !important;
        font-size: 16px !important;
    }

    .hm-cart-content #order-standard_cart .hm-checkout-body .already-registered .pull-right {
        float: none !important;
        margin-bottom: 10px;
    }

    .hm-cart-content #order-standard_cart .hm-checkout-body .already-registered .btn {
        width: 100%;
    }
}

/* Fix checkout international phone input spacing */

.hm-cart-content #order-standard_cart .hm-checkout-form .iti {
    width: 100% !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .iti .form-control,
.hm-cart-content #order-standard_cart .hm-checkout-form .iti input[type="tel"] {
    padding-left: 96px !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .iti__selected-country,
.hm-cart-content #order-standard_cart .hm-checkout-form .iti__selected-flag {
    min-width: 82px !important;
    padding: 0 12px !important;
    border-right: 1px solid #e2e7e4 !important;
    background: #f7f9f8 !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .iti__country-container {
    z-index: 2;
}

/* Force checkout phone field clearance for WHMCS intl-tel-input variants */

.hm-cart-content #order-standard_cart .hm-checkout-form #inputPhone {
    padding-left: 112px !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .intl-tel-input,
.hm-cart-content #order-standard_cart .hm-checkout-form .iti {
    width: 100% !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .intl-tel-input .selected-flag,
.hm-cart-content #order-standard_cart .hm-checkout-form .intl-tel-input .flag-container,
.hm-cart-content #order-standard_cart .hm-checkout-form .iti__selected-country,
.hm-cart-content #order-standard_cart .hm-checkout-form .iti__country-container {
    width: 96px !important;
    min-width: 96px !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .intl-tel-input .selected-flag,
.hm-cart-content #order-standard_cart .hm-checkout-form .iti__selected-country {
    padding-left: 12px !important;
    padding-right: 12px !important;
    border-right: 1px solid #e2e7e4 !important;
    background: #f7f9f8 !important;
    box-sizing: border-box !important;
}

/* Match phone country selector border to focused input */

.hm-cart-content #order-standard_cart .hm-checkout-form .intl-tel-input:focus-within .selected-flag,
.hm-cart-content #order-standard_cart .hm-checkout-form .iti:focus-within .iti__selected-country {
    border-top: 1px solid var(--hm-green) !important;
    border-bottom: 1px solid var(--hm-green) !important;
    border-left: 1px solid var(--hm-green) !important;
    border-right: 1px solid #e2e7e4 !important;
    border-radius: 9px 0 0 9px !important;
}

.hm-cart-content #order-standard_cart .hm-checkout-form .intl-tel-input:focus-within .flag-container,
.hm-cart-content #order-standard_cart .hm-checkout-form .iti:focus-within .iti__country-container {
    border-radius: 9px 0 0 9px !important;
}

/* Hostmate domain search result cards */

.hm-cart-content #order-standard_cart #DomainSearchResults {
    margin-top: 28px !important;
}

.hm-cart-content #order-standard_cart #DomainSearchResults .primary-domain-header {
    margin: 0 0 0 !important;
    padding: 16px 20px !important;
    border: 1px solid var(--hm-line) !important;
    border-top: 4px solid var(--hm-green) !important;
    border-bottom: 0 !important;
    border-radius: 12px 12px 0 0 !important;
    background: #f8faf9 !important;
    color: var(--hm-ink) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

.hm-cart-content #order-standard_cart #searchDomainInfo {
    margin: 0 0 26px !important;
    padding: 26px 28px !important;
    border: 1px solid var(--hm-line) !important;
    border-top: 0 !important;
    border-radius: 0 0 12px 12px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(19,35,24,.05) !important;
}

.hm-cart-content #order-standard_cart #primaryLookupResult {
    text-align: center !important;
}

.hm-cart-content #order-standard_cart #primaryLookupResult .domain-available,
.hm-cart-content #order-standard_cart #primaryLookupResult .domain-checker-available {
    margin: 0 0 18px !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--hm-ink) !important;
    font-size: 24px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
}

.hm-cart-content #order-standard_cart #primaryLookupResult .domain-available strong,
.hm-cart-content #order-standard_cart #primaryLookupResult .domain-checker-available strong {
    font-weight: 800 !important;
}

.hm-cart-content #order-standard_cart #primaryLookupResult .domain-price {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    margin: 0 !important;
}

.hm-cart-content #order-standard_cart #primaryLookupResult .domain-price .price {
    color: var(--hm-ink) !important;
    font-size: 26px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
}

.hm-cart-content #order-standard_cart #primaryLookupResult .btn-add-to-cart {
    min-width: 138px !important;
    min-height: 46px !important;
    padding: 0 20px !important;
    border-radius: 9px !important;
    background: var(--hm-green) !important;
    border-color: var(--hm-green) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 750 !important;
}

.hm-cart-content #order-standard_cart #primaryLookupResult .btn-add-to-cart:hover,
.hm-cart-content #order-standard_cart #primaryLookupResult .btn-add-to-cart:focus {
    background: var(--hm-green-dark) !important;
    border-color: var(--hm-green-dark) !important;
}

/* Suggested domains may be disabled in WHMCS; when enabled, style the native container. */

.hm-cart-content #order-standard_cart .suggested-domains {
    margin-top: 26px !important;
    overflow: hidden !important;
    border: 1px solid var(--hm-line) !important;
    border-top: 4px solid var(--hm-green) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(19,35,24,.04) !important;
}

.hm-cart-content #order-standard_cart .suggested-domains .panel-heading,
.hm-cart-content #order-standard_cart .suggested-domains .card-header {
    padding: 17px 20px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--hm-line) !important;
    background: #f8faf9 !important;
    color: var(--hm-ink) !important;
    font-size: 17px !important;
    font-weight: 750 !important;
}

.hm-cart-content #order-standard_cart .suggested-domains .panel-body,
.hm-cart-content #order-standard_cart .suggested-domains .card-body {
    padding: 22px 20px !important;
    background: #fff !important;
    color: #6b7670 !important;
    font-size: 14px !important;
}

.hm-cart-content #order-standard_cart .suggested-domains .domain-suggestion {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin: 0 !important;
    padding: 16px 20px !important;
    border: 0 !important;
    border-top: 1px solid #edf1ee !important;
    border-radius: 0 !important;
    background: #fff !important;
}

.hm-cart-content #order-standard_cart .suggested-domains .domain-suggestion:first-child {
    border-top: 0 !important;
}

.hm-cart-content #order-standard_cart .suggested-domains .domain-suggestion .domain,
.hm-cart-content #order-standard_cart .suggested-domains .domain-suggestion .extension {
    color: var(--hm-ink) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

.hm-cart-content #order-standard_cart .suggested-domains .domain-suggestion .actions {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.hm-cart-content #order-standard_cart .suggested-domains .domain-suggestion .price {
    color: #4f5a54 !important;
    font-size: 15px !important;
    font-weight: 650 !important;
}

.hm-cart-content #order-standard_cart .suggested-domains .domain-suggestion .btn-add-to-cart {
    min-width: 112px !important;
    min-height: 40px !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    background: var(--hm-green) !important;
    border-color: var(--hm-green) !important;
    color: #fff !important;
    font-weight: 700 !important;
}

.hm-cart-content #order-standard_cart .suggested-domains .more-suggestions {
    padding: 14px 20px !important;
    border-top: 1px solid var(--hm-line) !important;
    background: #fafcfb !important;
}

.hm-cart-content #order-standard_cart .suggested-domains .domain-suggestions-warning {
    padding: 0 20px 18px !important;
    color: #7a847e !important;
    font-size: 12px !important;
}

@media (max-width: 575.98px) {
    .hm-cart-content #order-standard_cart #searchDomainInfo {
        padding: 22px 18px !important;
    }

    .hm-cart-content #order-standard_cart #primaryLookupResult .domain-available,
    .hm-cart-content #order-standard_cart #primaryLookupResult .domain-checker-available {
        font-size: 20px !important;
    }

    .hm-cart-content #order-standard_cart #primaryLookupResult .domain-price {
        flex-direction: column !important;
    }

    .hm-cart-content #order-standard_cart #primaryLookupResult .btn-add-to-cart {
        width: 100% !important;
    }

    .hm-cart-content #order-standard_cart .suggested-domains .domain-suggestion {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .hm-cart-content #order-standard_cart .suggested-domains .domain-suggestion .actions {
        width: 100% !important;
        justify-content: space-between !important;
    }
}

/* Hostmate domain configuration page */

.hm-cart-content #order-standard_cart #frmConfigureDomains > p:first-of-type {
    margin: 0 0 22px !important;
    color: #6d7772 !important;
    font-size: 15px !important;
}

.hm-cart-content #order-standard_cart .hm-domain-config-card,
.hm-cart-content #order-standard_cart .hm-nameserver-card {
    margin: 0 0 28px !important;
    overflow: hidden;
    border: 1px solid var(--hm-line) !important;
    border-top: 4px solid var(--hm-green) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(19,35,24,.05) !important;
}

.hm-cart-content #order-standard_cart .hm-domain-config-title {
    padding: 20px 24px 18px !important;
    border-bottom: 1px solid var(--hm-line) !important;
    background: #f8faf9 !important;
}

.hm-cart-content #order-standard_cart .hm-domain-config-title h2 {
    margin: 0 !important;
    color: var(--hm-ink) !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: -.025em !important;
}

.hm-cart-content #order-standard_cart .hm-domain-config-meta {
    margin: 0 !important;
    padding: 18px 22px 4px !important;
}

.hm-cart-content #order-standard_cart .hm-domain-config-meta .form-group {
    margin-bottom: 14px !important;
    color: #53605a !important;
    font-size: 14px !important;
}

.hm-cart-content #order-standard_cart .hm-domain-config-meta label {
    display: block;
    margin-bottom: 5px !important;
    color: #66716b !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.hm-cart-content #order-standard_cart .hm-domain-eligibility {
    margin: 8px 22px 22px !important;
    padding: 20px 22px 6px !important;
    border: 1px solid #e2e8e4 !important;
    border-radius: 12px !important;
    background: #fbfcfb !important;
}

.hm-cart-content #order-standard_cart .hm-domain-eligibility h3 {
    margin: 0 0 6px !important;
    color: var(--hm-ink) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
}

.hm-cart-content #order-standard_cart .hm-domain-eligibility-intro {
    margin: 0 0 18px !important;
    color: #66716b !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

.hm-cart-content #order-standard_cart .hm-domain-extra-field {
    display: grid !important;
    grid-template-columns: minmax(220px, .85fr) minmax(0, 1.55fr);
    gap: 20px !important;
    align-items: start !important;
    padding: 16px 0 !important;
    border-top: 1px solid #e8ece9 !important;
}

.hm-cart-content #order-standard_cart .hm-domain-extra-field:first-of-type {
    border-top: 0 !important;
}

.hm-cart-content #order-standard_cart .hm-domain-extra-label {
    color: #4f5b55 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    font-weight: 600 !important;
}

.hm-cart-content #order-standard_cart .hm-domain-extra-label a {
    font-weight: 650 !important;
}

.hm-cart-content #order-standard_cart .hm-domain-extra-control {
    min-width: 0 !important;
}

.hm-cart-content #order-standard_cart .hm-domain-extra-control input[type="text"],
.hm-cart-content #order-standard_cart .hm-domain-extra-control input[type="email"],
.hm-cart-content #order-standard_cart .hm-domain-extra-control input[type="number"],
.hm-cart-content #order-standard_cart .hm-domain-extra-control select,
.hm-cart-content #order-standard_cart .hm-domain-extra-control textarea,
.hm-cart-content #order-standard_cart .hm-domain-extra-control .form-control {
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 14px !important;
    border: 1px solid #d7dfda !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: var(--hm-ink) !important;
    font-size: 14px !important;
    box-shadow: none !important;
}

.hm-cart-content #order-standard_cart .hm-domain-extra-control textarea {
    min-height: 100px !important;
    padding-top: 12px !important;
}

.hm-cart-content #order-standard_cart .hm-domain-extra-control input:focus,
.hm-cart-content #order-standard_cart .hm-domain-extra-control select:focus,
.hm-cart-content #order-standard_cart .hm-domain-extra-control textarea:focus {
    border-color: var(--hm-green) !important;
    box-shadow: 0 0 0 3px rgba(40,167,69,.10) !important;
    outline: 0 !important;
}

.hm-cart-content #order-standard_cart .hm-domain-extra-control label {
    margin-right: 16px !important;
    margin-bottom: 8px !important;
    color: #4f5a54 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

.hm-cart-content #order-standard_cart .hm-nameserver-card {
    padding-bottom: 18px !important;
}

.hm-cart-content #order-standard_cart .hm-nameserver-intro {
    margin: 18px 22px 14px !important;
    color: #66716b !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

.hm-cart-content #order-standard_cart .hm-nameserver-card > .row {
    margin: 0 !important;
    padding: 0 14px !important;
}

.hm-cart-content #order-standard_cart .hm-nameserver-card .form-group {
    margin-bottom: 14px !important;
}

.hm-cart-content #order-standard_cart .hm-nameserver-card label {
    margin-bottom: 6px !important;
    color: #66716b !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.hm-cart-content #order-standard_cart .hm-nameserver-card .form-control {
    min-height: 48px !important;
    border-radius: 9px !important;
    font-size: 14px !important;
}

.hm-cart-content #order-standard_cart .hm-domain-config-submit {
    padding-top: 0 !important;
}

.hm-cart-content #order-standard_cart .hm-domain-config-submit .hm-domain-config-continue {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
}

.hm-cart-content #order-standard_cart .hm-domain-config-submit .hm-domain-config-continue:hover,
.hm-cart-content #order-standard_cart .hm-domain-config-submit .hm-domain-config-continue:focus {
    background: var(--hm-green-dark) !important;
    border-color: var(--hm-green-dark) !important;
}

.hm-cart-content #order-standard_cart #frmConfigureDomains + .powered-by,
.hm-cart-content #order-standard_cart #frmConfigureDomains + .whmcs-powered-by,
.hm-cart-content #order-standard_cart .powered-by,
.hm-cart-content #order-standard_cart .whmcs-powered-by {
    display: none !important;
}

@media (max-width: 767.98px) {
    .hm-cart-content #order-standard_cart .hm-domain-extra-field {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .hm-cart-content #order-standard_cart .hm-domain-config-title {
        padding: 18px 20px 16px !important;
    }

    .hm-cart-content #order-standard_cart .hm-domain-config-title h2 {
        font-size: 21px !important;
    }

    .hm-cart-content #order-standard_cart .hm-domain-eligibility {
        margin: 8px 16px 18px !important;
        padding: 18px 16px 4px !important;
    }

    .hm-cart-content #order-standard_cart .hm-domain-config-meta {
        padding: 16px 16px 2px !important;
    }
}

/* Canonical Hostmate cart action button - high-specificity final rule */

body.hm-theme .hm-cart-content #order-standard_cart button.hm-cart-action,
body.hm-theme .hm-cart-content #order-standard_cart a.hm-cart-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 150px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 22px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #28a745 !important;
    color: #fff !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 750 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

body.hm-theme .hm-cart-content #order-standard_cart button.hm-cart-action:hover,
body.hm-theme .hm-cart-content #order-standard_cart button.hm-cart-action:focus,
body.hm-theme .hm-cart-content #order-standard_cart a.hm-cart-action:hover,
body.hm-theme .hm-cart-content #order-standard_cart a.hm-cart-action:focus {
    background: #218838 !important;
    color: #fff !important;
}

/* Shared action sizing on hosting domain-selection page */

body.hm-theme .hm-cart-content #order-standard_cart #frmProductDomain .hm-domain-entry > button.hm-cart-action {
    width: 150px !important;
    min-width: 150px !important;
    height: 46px !important;
    min-height: 46px !important;
    align-self: center !important;
    margin: 0 !important;
}

body.hm-theme .hm-cart-content #order-standard_cart #frmProductDomain #domainincart button.hm-cart-action,
body.hm-theme .hm-cart-content #order-standard_cart #frmProductDomain #domainsubdomain button.hm-cart-action {
    width: 150px !important;
    min-width: 150px !important;
}

@media (max-width: 991.98px) {
    body.hm-theme .hm-cart-content #order-standard_cart #frmProductDomain .hm-domain-entry > button.hm-cart-action {
        grid-column: 1 / -1;
        width: 100% !important;
        min-width: 0 !important;
        height: 52px !important;
        min-height: 52px !important;
    }

    body.hm-theme .hm-cart-content #order-standard_cart #frmProductDomain #domainincart button.hm-cart-action,
    body.hm-theme .hm-cart-content #order-standard_cart #frmProductDomain #domainsubdomain button.hm-cart-action {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* Force in-cart domain Use button to canonical Hostmate action size */

body.hm-theme .hm-cart-content #order-standard_cart #frmProductDomain #domainincart button.hm-cart-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 150px !important;
    min-width: 150px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 22px !important;
    border: 0 !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 750 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

/* Modern domain addon cards */

.hm-cart-content #order-standard_cart .hm-domain-addons {
    margin-top: 22px !important;
    margin-left: -8px !important;
    margin-right: -8px !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addons > [class*="col-"] {
    padding-left: 8px !important;
    padding-right: 8px !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addon-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 220px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dfe6e2 !important;
    border-top: 4px solid var(--hm-green) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(20, 34, 28, 0.06) !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addon-card:hover {
    border-color: #cbd8d1 !important;
    box-shadow: 0 14px 30px rgba(20, 34, 28, 0.09) !important;
    transform: translateY(-1px);
}

.hm-cart-content #order-standard_cart .hm-domain-addon-card.panel-addon-selected {
    border-color: var(--hm-green) !important;
    box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.08), 0 14px 30px rgba(20, 34, 28, 0.08) !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addon-body {
    flex: 1 1 auto !important;
    padding: 22px 22px 18px !important;
    color: #56625c !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    text-align: left !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addon-body label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
    color: #1f2b25 !important;
    font-size: 17px !important;
    font-weight: 750 !important;
    cursor: pointer !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addon-body label input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    margin: 0 !important;
    accent-color: var(--hm-green);
    cursor: pointer !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addon-price {
    padding: 13px 22px !important;
    border-top: 1px solid #e8eeea !important;
    background: #f7f9f8 !important;
    color: #334039 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: left !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addon-add {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 48px !important;
    padding: 0 20px !important;
    border-top: 0 !important;
    background: var(--hm-green) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    text-align: center !important;
    cursor: pointer !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addon-card.panel-addon-selected .hm-domain-addon-add {
    background: var(--hm-green-dark) !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addon-add i {
    font-size: 13px !important;
}

@media (max-width: 767.98px) {
    .hm-cart-content #order-standard_cart .hm-domain-addon-card {
        min-height: 0 !important;
    }

    .hm-cart-content #order-standard_cart .hm-domain-addon-body {
        padding: 18px !important;
    }

    .hm-cart-content #order-standard_cart .hm-domain-addon-price {
        padding: 12px 18px !important;
    }
}

/* Domain addon layout refinement */

.hm-cart-content #order-standard_cart .hm-domain-addons {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin: 22px 0 0 !important;
    padding: 0 24px 24px !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addons > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addons-count-1 {
    grid-template-columns: minmax(0, 1fr) !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addons-count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addons-count-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addons-count-1 .hm-domain-addon-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 150px 170px !important;
    align-items: stretch !important;
    min-height: 0 !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addons-count-1 .hm-domain-addon-body {
    padding: 20px 24px !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addons-count-1 .hm-domain-addon-body label {
    margin-bottom: 8px !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addons-count-1 .hm-domain-addon-price {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px !important;
    border-top: 0 !important;
    border-left: 1px solid #e8eeea !important;
    text-align: center !important;
}

.hm-cart-content #order-standard_cart .hm-domain-addons-count-1 .hm-domain-addon-add {
    min-height: 100% !important;
    padding: 0 22px !important;
    border-radius: 0 !important;
}

@media (max-width: 767.98px) {
    .hm-cart-content #order-standard_cart .hm-domain-addons {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding: 0 16px 20px !important;
    }

    .hm-cart-content #order-standard_cart .hm-domain-addons-count-1 .hm-domain-addon-card {
        display: flex !important;
        flex-direction: column !important;
    }

    .hm-cart-content #order-standard_cart .hm-domain-addons-count-1 .hm-domain-addon-price {
        justify-content: flex-start !important;
        border-left: 0 !important;
        border-top: 1px solid #e8eeea !important;
        text-align: left !important;
    }

    .hm-cart-content #order-standard_cart .hm-domain-addons-count-1 .hm-domain-addon-add {
        min-height: 48px !important;
    }
}

/* Hostmate domain transfer page */

.hm-cart-content #order-standard_cart .hm-domain-transfer-intro {
    margin: 24px 0 28px !important;
}

.hm-cart-content #order-standard_cart .hm-domain-transfer-intro h2 {
    margin: 0 !important;
    color: #1f2a35 !important;
    font-size: 28px !important;
    font-weight: 800 !important;
}

.hm-cart-content #order-standard_cart .hm-domain-transfer-card {
    overflow: hidden !important;
    margin: 0 !important;
    border: 1px solid #dfe6e2 !important;
    border-top: 4px solid var(--hm-green) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(20, 34, 28, 0.06) !important;
}

.hm-cart-content #order-standard_cart .hm-domain-transfer-heading {
    padding: 20px 24px !important;
    border-bottom: 1px solid #e6ece8 !important;
    background: #f7f9f8 !important;
}

.hm-cart-content #order-standard_cart .hm-domain-transfer-heading .panel-title,
.hm-cart-content #order-standard_cart .hm-domain-transfer-heading .card-title {
    margin: 0 !important;
    color: #1f2a35 !important;
    font-size: 24px !important;
    font-weight: 800 !important;
}

.hm-cart-content #order-standard_cart .hm-domain-transfer-body {
    padding: 24px !important;
}

.hm-cart-content #order-standard_cart .hm-domain-transfer-body .form-group {
    margin-bottom: 20px !important;
}

.hm-cart-content #order-standard_cart .hm-domain-transfer-body label {
    margin-bottom: 8px !important;
    color: #59635e !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.hm-cart-content #order-standard_cart .hm-domain-transfer-body .form-control {
    min-height: 50px !important;
    border: 1px solid #d7dfda !important;
    border-radius: 9px !important;
    font-size: 15px !important;
    box-shadow: none !important;
}

.hm-cart-content #order-standard_cart .hm-domain-transfer-body .form-control:focus {
    border-color: var(--hm-green) !important;
    box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.10) !important;
}

.hm-cart-content #order-standard_cart .hm-domain-transfer-body label a {
    color: #4d6f5b !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.hm-cart-content #order-standard_cart .hm-domain-transfer-footer {
    padding: 16px 24px !important;
    border-top: 1px solid #e6ece8 !important;
    background: #f7f9f8 !important;
}

@media (max-width: 767.98px) {
    .hm-cart-content #order-standard_cart .hm-domain-transfer-intro {
        margin: 18px 0 22px !important;
    }

    .hm-cart-content #order-standard_cart .hm-domain-transfer-intro h2 {
        font-size: 23px !important;
    }

    .hm-cart-content #order-standard_cart .hm-domain-transfer-heading,
    .hm-cart-content #order-standard_cart .hm-domain-transfer-body,
    .hm-cart-content #order-standard_cart .hm-domain-transfer-footer {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

/* Center domain transfer cart action */

.hm-cart-content #order-standard_cart .hm-domain-transfer-footer {
    text-align: center !important;
}

/* 
   Hide breadcrumb on Hostmate order/cart pages so the split layout
   begins immediately below the main header.
 */

body.hm-theme:has(.hm-cart-sidebar-column) .master-breadcrumb {
    display: none !important;
}

/* Order summary header tint */

.hm-cart-content #order-standard_cart .order-summary {
    background: #fff !important;
}

.hm-cart-content #order-standard_cart .order-summary .summary-heading,
.hm-cart-content #order-standard_cart .order-summary .card-header,
.hm-cart-content #order-standard_cart .order-summary .panel-heading {
    background: var(--hm-green-soft) !important;
    border-bottom: 1px solid #dfe9e2 !important;
}

/* Left-align domain transfer intro */

.hm-cart-content #order-standard_cart .hm-domain-transfer-intro {
    text-align: left !important;
}

/* Correct review cart order summary header/body colours */

.hm-cart-content #order-standard_cart .hm-viewcart-summary #orderSummary > h2 {
    background: var(--hm-green-soft) !important;
    border-bottom: 1px solid #dfe9e2 !important;
}

.hm-cart-content #order-standard_cart .hm-viewcart-summary #orderSummary > .summary-container {
    background: #fff !important;
}

/* Seamless rounded hosting card headers */

.hm-cart-content #order-standard_cart .products .product {
    position: relative !important;
    overflow: hidden !important;
}

.hm-cart-content #order-standard_cart .products .product header,
.hm-cart-content #order-standard_cart .products .product .product-header {
    margin: -1px -1px 0 !important;
    padding: 23px 31px 18px !important;
    border-top: 4px solid var(--hm-green) !important;
    border-right: 1px solid #dfe6e2 !important;
    border-bottom: 1px solid #dfe9e2 !important;
    border-left: 1px solid #dfe6e2 !important;
    border-radius: 12px 12px 0 0 !important;
    background: var(--hm-green-soft) !important;
}

/* Annual monthly equivalent on hosting product cards */

.hm-cart-content #order-standard_cart .products .product .hm-annual-monthly-price {
    display: block !important;
    margin-top: 5px !important;
    color: #59665f !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 650 !important;
}

/* Hosting pricing currency note */

.hm-cart-content #order-standard_cart .hm-pricing-note {
    margin: 8px 0 4px !important;
    color: #7a8580 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    text-align: right !important;
}

/* Remove remaining divider above hosting pricing footer */

.hm-cart-content #order-standard_cart .products .product footer {
    border-top: 0 !important;
}

/* Modern hosting plan card refresh */

.hm-cart-content #order-standard_cart .products .product {
    border: 1px solid #dfe7e2 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(19, 35, 24, 0.055) !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.hm-cart-content #order-standard_cart .products .product:hover {
    border-color: #c9d8cf !important;
    box-shadow: 0 12px 30px rgba(19, 35, 24, 0.085) !important;
    transform: translateY(-2px) !important;
}

.hm-cart-content #order-standard_cart .products .product header,
.hm-cart-content #order-standard_cart .products .product .product-header {
    position: relative !important;
    margin: 0 !important;
    padding: 24px 30px 20px 34px !important;
    border: 0 !important;
    border-bottom: 1px solid #e3ebe6 !important;
    border-radius: 0 !important;
    background: #f1f8f3 !important;
    box-shadow: none !important;
}

.hm-cart-content #order-standard_cart .products .product header::before,
.hm-cart-content #order-standard_cart .products .product .product-header::before {
    content: "" !important;
    position: absolute !important;
    top: 20px !important;
    bottom: 20px !important;
    left: 18px !important;
    width: 4px !important;
    border-radius: 999px !important;
    background: var(--hm-green) !important;
}

.hm-cart-content #order-standard_cart .products .product .product-desc,
.hm-cart-content #order-standard_cart .products .product .product-body {
    padding: 20px 30px 24px !important;
}

.hm-cart-content #order-standard_cart .products .product footer {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 18px !important;
    padding: 18px 20px 20px !important;
    border-top: 0 !important;
    background: #f7faf8 !important;
}

.hm-cart-content #order-standard_cart .products .product .product-pricing {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
}

.hm-cart-content #order-standard_cart .products .product .product-pricing .price {
    font-size: 24px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
}

.hm-cart-content #order-standard_cart .products .product .product-pricing .cycle {
    display: block !important;
    margin-top: 4px !important;
}

.hm-cart-content #order-standard_cart .products .product .hm-annual-monthly-price {
    margin-top: 5px !important;
}

.hm-cart-content #order-standard_cart .products .product footer .btn {
    align-self: center !important;
    margin: 0 !important;
}

@media (max-width: 767.98px) {
    .hm-cart-content #order-standard_cart .products .product header,
    .hm-cart-content #order-standard_cart .products .product .product-header {
        padding: 20px 22px 18px !important;
    }

    .hm-cart-content #order-standard_cart .products .product .product-desc,
    .hm-cart-content #order-standard_cart .products .product .product-body {
        padding: 18px 22px 22px !important;
    }

    .hm-cart-content #order-standard_cart .products .product footer {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding: 18px 22px 22px !important;
    }

    .hm-cart-content #order-standard_cart .products .product footer .btn {
        width: 100% !important;
    }
}

/* Correct modern hosting card footer layout */

body.hm-theme .hm-cart-content #order-standard_cart .products .product footer {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    padding: 18px 20px 20px !important;
    background: #f7faf8 !important;
}

body.hm-theme .hm-cart-content #order-standard_cart .products .product footer .product-pricing {
    position: static !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    text-align: left !important;
}

body.hm-theme .hm-cart-content #order-standard_cart .products .product footer .btn-order-now,
body.hm-theme .hm-cart-content #order-standard_cart .products .product footer .btn {
    position: static !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    top: auto !important;
    float: none !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 150px !important;
    margin: 0 !important;
}

body.hm-theme .hm-cart-content #order-standard_cart .products .product .hm-annual-monthly-price {
    white-space: nowrap !important;
}

@media (max-width: 767.98px) {
    body.hm-theme .hm-cart-content #order-standard_cart .products .product footer {
        display: block !important;
    }

    body.hm-theme .hm-cart-content #order-standard_cart .products .product footer .btn-order-now,
    body.hm-theme .hm-cart-content #order-standard_cart .products .product footer .btn {
        width: 100% !important;
        margin-top: 14px !important;
    }

    body.hm-theme .hm-cart-content #order-standard_cart .products .product .hm-annual-monthly-price {
        white-space: normal !important;
    }
}

/* Refine hosting card Order Now CTA */

body.hm-theme .hm-cart-content #order-standard_cart .products .product footer {
    padding: 20px 26px 22px !important;
}

body.hm-theme .hm-cart-content #order-standard_cart .products .product footer .btn-order-now {
    min-width: 142px !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 20px !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    line-height: 44px !important;
    font-weight: 750 !important;
    box-shadow: 0 5px 12px rgba(40, 167, 69, 0.16) !important;
}

body.hm-theme .hm-cart-content #order-standard_cart .products .product footer .btn-order-now:hover,
body.hm-theme .hm-cart-content #order-standard_cart .products .product footer .btn-order-now:focus {
    box-shadow: 0 7px 16px rgba(40, 167, 69, 0.20) !important;
}

@media (max-width: 767.98px) {
    body.hm-theme .hm-cart-content #order-standard_cart .products .product footer .btn-order-now {
        width: 100% !important;
        min-width: 0 !important;
        height: 48px !important;
        min-height: 48px !important;
        line-height: 48px !important;
    }
}

/* Sharper Hostmate cart radius system */

body.hm-theme .hm-cart-content #order-standard_cart .products .product,
body.hm-theme .hm-cart-content #order-standard_cart .domain-selection-options .option,
body.hm-theme .hm-cart-content #order-standard_cart .hm-domain-config-card,
body.hm-theme .hm-cart-content #order-standard_cart .hm-nameserver-card,
body.hm-theme .hm-cart-content #order-standard_cart .hm-domain-addon-card,
body.hm-theme .hm-cart-content #order-standard_cart .hm-domain-transfer-card,
body.hm-theme .hm-cart-content #order-standard_cart .hm-viewcart-summary #orderSummary,
body.hm-theme .hm-cart-content #order-standard_cart .view-cart-items-header,
body.hm-theme .hm-cart-content #order-standard_cart .view-cart-items,
body.hm-theme .hm-cart-content #order-standard_cart .hm-checkout-form .card,
body.hm-theme .hm-cart-content #order-standard_cart .hm-checkout-form .panel {
    border-radius: 8px !important;
}

body.hm-theme .hm-cart-content #order-standard_cart .view-cart-items-header {
    border-radius: 8px 8px 0 0 !important;
}

body.hm-theme .hm-cart-content #order-standard_cart .view-cart-items {
    border-radius: 0 0 8px 8px !important;
}

body.hm-theme .hm-cart-content #order-standard_cart .products .product header,
body.hm-theme .hm-cart-content #order-standard_cart .products .product .product-header {
    border-radius: 0 !important;
}

body.hm-theme .hm-cart-content #order-standard_cart .form-control,
body.hm-theme .hm-cart-content #order-standard_cart select,
body.hm-theme .hm-cart-content #order-standard_cart .hm-domain-prefix {
    border-radius: 8px !important;
}

/* Force hosting pricing footer full width below plan details */

body.hm-theme .hm-cart-content #order-standard_cart .products .product .product-desc,
body.hm-theme .hm-cart-content #order-standard_cart .products .product .product-body {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

body.hm-theme .hm-cart-content #order-standard_cart .products .product footer {
    position: static !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    padding: 18px 26px 20px !important;
    background: #f7faf8 !important;
}

body.hm-theme .hm-cart-content #order-standard_cart .products .product footer .product-pricing {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
}

body.hm-theme .hm-cart-content #order-standard_cart .products .product footer .btn-order-now {
    flex: 0 0 auto !important;
    position: static !important;
    width: auto !important;
    min-width: 142px !important;
    margin: 0 !important;
}

@media (max-width: 767.98px) {
    body.hm-theme .hm-cart-content #order-standard_cart .products .product footer .btn-order-now {
        width: 100% !important;
        margin-top: 14px !important;
    }
}

/* Pin hosting pricing footer to card bottom */

body.hm-theme .hm-cart-content #order-standard_cart .products .product {
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
}

body.hm-theme .hm-cart-content #order-standard_cart .products .product .product-desc,
body.hm-theme .hm-cart-content #order-standard_cart .products .product .product-body {
    flex: 1 1 auto !important;
}

body.hm-theme .hm-cart-content #order-standard_cart .products .product footer {
    margin-top: auto !important;
    margin-bottom: 0 !important;
}

/* Mobile spacing between hosting accent bar and plan name */

@media (max-width: 767.98px) {
    body.hm-theme .hm-cart-content #order-standard_cart .products .product header,
    body.hm-theme .hm-cart-content #order-standard_cart .products .product .product-header {
        padding-left: 42px !important;
    }
}

/* Modern domain pricing header */

body.hm-theme .hm-cart-content #order-standard_cart .domain-pricing .tld-pricing-header,
body.hm-theme .hm-cart-content #order-standard_cart .domain-pricing table thead th {
    background: #f1f8f3 !important;
    color: #4f5d55 !important;
}

body.hm-theme .hm-cart-content #order-standard_cart .domain-pricing .tld-pricing-header {
    min-height: 52px !important;
    border-top: 3px solid var(--hm-green) !important;
    border-bottom: 1px solid #dfe9e2 !important;
}

body.hm-theme .hm-cart-content #order-standard_cart .domain-pricing .tld-pricing-header > div,
body.hm-theme .hm-cart-content #order-standard_cart .domain-pricing .tld-pricing-header .row,
body.hm-theme .hm-cart-content #order-standard_cart .domain-pricing .tld-pricing-header .row > div {
    background: transparent !important;
}

body.hm-theme .hm-cart-content #order-standard_cart .domain-pricing table thead th {
    border-top: 3px solid var(--hm-green) !important;
    border-bottom: 1px solid #dfe9e2 !important;
}

/* Thin outline SVG for public header cart */

.hm-public-cart .hm-public-cart-icon {
    width: 20px;
    height: 20px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width:767.98px) {
    .hm-public-cart .hm-public-cart-icon {
        width: 19px;
        height: 19px;
    }
}

/* Keep domain pricing header square inside outer pricing card */

body.hm-theme .hm-cart-content #order-standard_cart .domain-pricing > .bg-white,
body.hm-theme .hm-cart-content #order-standard_cart .domain-pricing .tld-pricing-header {
    border-radius: 0 !important;
}

/* Left-align hosting pricing note */

.hm-cart-content #order-standard_cart .hm-pricing-note {
    text-align: left !important;
}

/* Remove divider between hosting intro and pricing note */

body.hm-theme .hm-cart-content #order-standard_cart .header-lined + .categories-collapsed + .hm-pricing-note,
body.hm-theme .hm-cart-content #order-standard_cart .header-lined + .hm-pricing-note {
    margin-top: 0 !important;
}

body.hm-theme .hm-cart-content #order-standard_cart:has(.hm-pricing-note) > .row > .cart-body > .header-lined {
    margin-bottom: 28px !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
}

/* Hostmate hosting product-details section headings */

body.hm-theme #main-body .primary-content h3 {
    padding: 8px 10px 8px 12px !important;
    border-left: 4px solid #28a745 !important;
    background: #f7f9f8 !important;
    text-transform: uppercase !important;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 650;
    letter-spacing: -0.01em;
    color: #2f3a33;
}

.hm-client-home-cards .card-header {
    margin: -1px -1px 0;
    border: 0;
    border-radius: 0;
    padding: 0;
    padding-bottom: 0;
}

/* Console Home: remove icons from card H3 titles */

.hm-client-home-cards h3.card-title i,
.hm-client-home-cards h3.card-title .fas,
.hm-client-home-cards h3.card-title .far,
.hm-client-home-cards h3.card-title .fal,
.hm-client-home-cards h3.card-title .fab,
.hm-client-home-cards .hm-panel-icon {
    display: none !important;
}

.d-lg-none {
    display: none !important;
}

.collapsable-card-body {
    display: block !important;
}

/* 
   Mobile / small tablet:
   main content first, account/sidebar column underneath
 */

@media (max-width: 991.98px) {
    #main-body > .container > .row {
        display: flex !important;
        flex-direction: column !important;
    }

    #main-body .primary-content {
        order: 1 !important;
    }

    #main-body .hm-sidebar-column {
        order: 2 !important;
        margin-top: 30px !important;
    }
}

/* Hostmate: larger text in WHMCS table lists */
table.table-list tbody td {
    font-size: 14px !important;
}

/* Hostmate: larger status badges in table lists */
table.table-list .status,
table.table-list .badge {
    font-size: 12px !important;
    padding: 6px 10px !important;
    line-height: 1.2 !important;
}

body.hm-theme #main-body .hm-unified-sidebar .mb-3.card.card-sidebar.panel-default.panel-actions.view-filter-btns {
  background-color: var(--hm-green-soft) !important;
}

.mb-3.card.card-sidebar.panel-default.panel-actions.view-filter-btns .card-title {
  display: none;
}

button[data-identifier="cpanel"] {
  background: #ff6c2c !important;
  border-color: #ff6c2c !important;
  color: #fff !important;
}

button[data-identifier="cpanel"]:hover,
#custom-cpanel-login input[type="submit"]:hover {
  background: #202654 !important;
  border-color: #202654 !important;
  color: #fff !important;
}

/* cPanel logo inside the login button */
[data-identifier="cpanel"] .hm-cpanel-logo {
 width: 20px;
  height: 18px;
  margin-right: 1px;
  vertical-align: -4px;
  display: inline-block;
}

