/* =====================================================================
   NEXTHOSTS THEME LAYER  (loaded last in header.tpl)
   1. Neutralise the old 2015 theme rules that broke fonts and layout
   2. New shared components (SEO content, steps, legal, support, auth)
   3. Dark restyle of the legacy WHMCS pages (client area, KB, cart)
   ===================================================================== */

/* ---------- 1. LEGACY RESETS ---------- */
html body { background: var(--nh-navy, #0A0F1E); color: var(--nh-text, #E2E8F0); font-family: var(--font-main); }
body h1, body h2, body h3, body h4, body h5, body h6,
body p, body span, body strong, body em, body b, body small, body label,
body input, body select, body textarea, body button, body td, body th, body li, body a {
  font-family: inherit;
}
body h1, body h2, body h3, body h4, body h5, body h6 { font-family: var(--font-main); line-height: 1.2; }
body code, body pre, .nh-mono { font-family: var(--font-mono); }
a { color: var(--nh-cyan, #00C2FF); }
strong, b { font-weight: 700; }

/* the old theme forced a fixed 1000px wrapper */
.id-wrap, .whmcscontainer { width: auto !important; max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; float: none !important; }
.foot-color, .foot-wrap, .most-bottom { display: none; }

.nh-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* product card names became h3 for heading structure */
h3.nh-product-card__name, h3.nh-plan-card__name { font-family: var(--font-main); }
.nh-ssl__card-title { font-size: 0.9rem; font-weight: 700; color: #fff; margin-bottom: 2px; }
.nh-domain-strip h2 { font-size: 1.05rem; font-weight: 700; color: var(--nh-text); margin-bottom: 18px; text-align: center; }
.nh-promo__list a, .nh-faq-item__body a, .nh-feature-item p a { color: var(--nh-cyan); text-decoration: none; }
.nh-promo__list a:hover, .nh-faq-item__body a:hover, .nh-feature-item p a:hover { text-decoration: underline; }
.nh-final-cta p a { color: var(--nh-cyan); }

/* WHMCS featuresdesc rows on product pages. Hosting/VPS use .allrow > .rw, email uses
   .emailrw > .erw, SSL uses .sslrw > .srw and dedicated servers use ul.dedicated-listfeat.
   The old theme styled these as fixed height grey boxes, which caused the misaligned cards. */
.nh-plan-card .productdescription { margin: 0 0 22px; flex: 1; text-align: left; }
.nh-plan-card .productdescription > br { display: none; }
.nh-plan-card .productdescription .allrow,
.nh-plan-card .productdescription .emailrw,
.nh-plan-card .productdescription .sslrw,
.nh-plan-card .productdescription ul.dedicated-listfeat {
  display: flex; flex-direction: column; gap: 9px; float: none; width: auto; height: auto; margin: 0; padding: 0;
  text-align: left; background: none; border: 0; list-style: none;
}
.nh-plan-card .productdescription .rw,
.nh-plan-card .productdescription .erw,
.nh-plan-card .productdescription .srw,
.nh-plan-card .productdescription ul.dedicated-listfeat li {
  display: block; position: relative; float: none; width: auto;
  height: auto !important; min-height: 0; padding: 0 0 0 27px !important; margin: 0;
  border: 0; background: none !important; color: var(--nh-muted); font-size: 0.84rem; line-height: 1.5; text-align: left;
}
.nh-plan-card .productdescription .rw::before,
.nh-plan-card .productdescription .erw::before,
.nh-plan-card .productdescription .srw::before,
.nh-plan-card .productdescription ul.dedicated-listfeat li::before {
  content: '\2713'; position: absolute; left: 0; top: 1px; width: 18px; height: 18px; border-radius: 50%;
  background: rgba(26,109,255,0.14); color: var(--nh-cyan); font-size: 0.7rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.nh-plan-card .productdescription span,
.nh-plan-card .productdescription strong {
  display: inline; background: none; padding: 0; margin: 0; border-radius: 0; line-height: 1.5;
  font-size: 0.84rem; color: #fff; font-weight: 700; float: none; width: auto; height: auto;
}
.nh-plan-card .productdescription .srw span { font-weight: 500; color: var(--nh-text); }
.nh-plan-card .productdescription p,
.nh-plan-card .productdescription .planetext {
  display: inline; margin: 0 !important; padding: 0; line-height: 1.5 !important; font-size: 0.84rem; color: var(--nh-muted); float: none;
}
.nh-plan-card .productdescription p + p::before { content: ', '; }
.nh-plan-card .productdescription span + p::before,
.nh-plan-card .productdescription p + span::before { content: ' '; }
.nh-plan-card .productdescription .tick-icon { display: none; }
.nh-plan-card .productdescription .rw:empty,
.nh-plan-card .productdescription .erw:empty,
.nh-plan-card .productdescription .srw:empty,
.nh-plan-card .productdescription .rw:has(> p:empty):not(:has(> span, > strong, > p:not(:empty))),
.nh-plan-card .productdescription .srw:has(> span:only-child:empty) { display: none; }

/* ---------- 2. NEW SHARED COMPONENTS ---------- */

/* SEO content block */
.nh-seo-content { padding: 76px 0; background: var(--nh-navy); border-top: 1px solid var(--nh-border); }
.nh-seo-content__inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.nh-seo-content .nh-section-header { margin-bottom: 32px; }
.nh-seo-content .nh-section-header h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); }
.nh-seo-content__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.nh-seo-content p { font-size: 0.93rem; color: var(--nh-muted); line-height: 1.8; margin-bottom: 16px; }
.nh-seo-content h3 { font-size: 1.05rem; font-weight: 700; color: #fff; margin: 22px 0 8px; }
.nh-seo-content__cols > div > h3:first-child { margin-top: 0; }
.nh-seo-content p strong { color: var(--nh-text); }
.nh-seo-content a { color: var(--nh-cyan); text-decoration: none; border-bottom: 1px solid rgba(0,194,255,0.3); }
.nh-seo-content a:hover { border-bottom-color: var(--nh-cyan); }

.nh-plan-guide { display: flex; flex-direction: column; gap: 10px; }
.nh-seo-content a.nh-plan-guide__row,
.nh-plan-guide__row { display: block; border: 1px solid var(--nh-border); border-radius: 12px; padding: 14px 18px; background: var(--nh-card); transition: border-color 0.2s, transform 0.2s; }
.nh-seo-content a.nh-plan-guide__row:hover { border-color: rgba(0,194,255,0.35); transform: translateX(3px); }
.nh-plan-guide__row strong { display: block; color: #fff; font-size: 0.92rem; margin-bottom: 2px; }
.nh-plan-guide__row span { display: block; color: var(--nh-muted); font-size: 0.82rem; line-height: 1.55; }

/* Steps */
.nh-steps { padding: 76px 0; background: var(--nh-surface); border-top: 1px solid var(--nh-border); }
.nh-steps__inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.nh-steps__list { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; counter-reset: none; }
.nh-step { background: var(--nh-card); border: 1px solid var(--nh-border); border-radius: 16px; padding: 26px; }
.nh-step__num { display: inline-flex; width: 36px; height: 36px; border-radius: 10px; align-items: center; justify-content: center; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--nh-blue), var(--nh-cyan)); margin-bottom: 14px; }
.nh-step h3 { font-size: 1rem; font-weight: 700; color: #fff; margin-bottom: 6px; }
.nh-step p { font-size: 0.85rem; color: var(--nh-muted); line-height: 1.6; margin: 0; }
.nh-step a { color: var(--nh-cyan); text-decoration: none; }
.nh-steps__list--compact { grid-template-columns: 1fr; gap: 12px; }
.nh-steps__list--compact .nh-step { display: grid; grid-template-columns: 36px 1fr; column-gap: 14px; padding: 18px; }
.nh-steps__list--compact .nh-step__num { grid-row: span 2; margin: 0; }

/* Legal pages */
.nh-legal { padding: 64px 0 80px; background: var(--nh-navy); }
.nh-legal__inner { max-width: 820px; margin: 0 auto; padding: 0 24px; }
.nh-legal h1 { font-size: clamp(1.9rem, 4vw, 2.6rem); font-weight: 800; color: #fff; letter-spacing: -0.03em; margin: 6px 0 10px; }
.nh-legal__updated { font-family: var(--font-mono); font-size: 0.78rem; color: var(--nh-muted); margin-bottom: 28px; }
.nh-legal h2, .nh-legal h3 { font-size: 1.15rem; font-weight: 700; color: #fff; margin: 30px 0 10px; }
.nh-legal p, .nh-legal li { font-size: 0.92rem; color: var(--nh-muted); line-height: 1.8; }
.nh-legal p { margin-bottom: 14px; }
.nh-legal ul { list-style: disc; padding-left: 22px; margin-bottom: 14px; }
.nh-legal li { margin-bottom: 6px; }
.nh-legal strong { color: var(--nh-text); }
.nh-legal a { color: var(--nh-cyan); }
.nh-legal br { display: none; }

/* Support centre */
.nh-support-search { display: flex; max-width: 560px; margin: 28px auto 0; border: 1px solid rgba(26,109,255,0.3); border-radius: 12px; overflow: hidden; background: rgba(255,255,255,0.03); }
.nh-support-search input { flex: 1; min-width: 0; padding: 15px 18px; background: transparent; border: 0; outline: 0; color: var(--nh-text); font-size: 0.92rem; }
.nh-support-search button { padding: 0 24px; border: 0; background: linear-gradient(135deg, var(--nh-blue), #0E57D0); color: #fff; font-weight: 700; cursor: pointer; }
.nh-support-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.nh-support-card { display: block; text-decoration: none; background: var(--nh-card); border: 1px solid var(--nh-border); border-radius: 16px; padding: 26px; transition: transform 0.2s, border-color 0.2s; }
.nh-support-card:hover { transform: translateY(-4px); border-color: rgba(26,109,255,0.35); }
.nh-support-card__icon { font-size: 1.5rem; display: block; margin-bottom: 12px; }
.nh-support-card h2 { font-size: 1.05rem; font-weight: 700; color: #fff; margin-bottom: 6px; }
.nh-support-card p { font-size: 0.85rem; color: var(--nh-muted); line-height: 1.6; }

/* Login / auth card */
.nh-auth { padding: 64px 16px 88px; display: flex; justify-content: center; background: radial-gradient(ellipse 60% 50% at 50% 0%, rgba(26,109,255,0.14), transparent 70%); }
.nh-auth__card { width: 100%; max-width: 440px; background: var(--nh-card); border: 1px solid var(--nh-border); border-radius: 20px; padding: 36px 32px; box-shadow: 0 24px 60px rgba(0,0,0,0.35); }
.nh-auth__brand { display: flex; justify-content: center; margin-bottom: 18px; }
.nh-auth__brand .nh-logo__mark, .reg-form .nh-logo__mark { width: 48px; height: 48px; border-radius: 12px; font-size: 1.3rem; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--nh-blue), var(--nh-cyan)); color: #fff; font-weight: 800; }
.nh-auth h1 { font-size: 1.5rem; font-weight: 800; color: #fff; text-align: center; margin-bottom: 6px; }
.nh-auth__sub { font-size: 0.88rem; color: var(--nh-muted); text-align: center; margin-bottom: 24px; }
.nh-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.nh-field label { font-size: 0.8rem; font-weight: 600; color: var(--nh-text); }
.nh-auth__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 0.82rem; margin-bottom: 20px; }
.nh-auth__row a { color: var(--nh-cyan); text-decoration: none; }
.nh-check { display: inline-flex; align-items: center; gap: 8px; color: var(--nh-muted); cursor: pointer; }
.nh-auth__submit { width: 100%; justify-content: center; }
.nh-auth__alt { text-align: center; margin-top: 22px; font-size: 0.86rem; color: var(--nh-muted); }
.nh-auth__alt a { color: var(--nh-cyan); font-weight: 700; text-decoration: none; }

/* ---------- 3. LEGACY WHMCS PAGES, DARK RESTYLE ---------- */

/* shared form controls */
main input[type="text"], main input[type="email"], main input[type="password"], main input[type="tel"],
main input[type="number"], main input[type="url"], main input[type="search"], main select, main textarea,
main .form-control {
  background: rgba(255,255,255,0.04) !important; border: 1px solid rgba(255,255,255,0.12) !important;
  color: var(--nh-text) !important; border-radius: 10px !important; padding: 11px 14px; font-size: 0.9rem;
  box-shadow: none !important; height: auto; min-height: 44px; max-width: 100%; line-height: 1.4;
}
main select option { background: #111827; color: var(--nh-text); }
/* keep the inline search bars (home, domains, support) borderless inside their pill */
main .nh-search-row input, main .nh-dc-search-row input, main .nh-support-search input {
  background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; min-height: 0;
}
main .nh-search-row select, main .nh-dc-search-row select {
  background: rgba(255,255,255,0.05) !important; border: 0 !important; border-left: 1px solid var(--nh-border) !important;
  border-radius: 0 !important; box-shadow: none !important; min-height: 0; width: auto;
}
main input:focus, main select:focus, main textarea:focus, main .form-control:focus { border-color: var(--nh-blue) !important; outline: none; box-shadow: 0 0 0 3px rgba(26,109,255,0.2) !important; }
main input::placeholder, main textarea::placeholder { color: #64748B; }
main input[type="checkbox"], main input[type="radio"] { min-height: 0; width: auto; accent-color: var(--nh-blue); }

/* buttons from Bootstrap 2/3 */
main .btn, main input[type="submit"]:not(.nh-btn), main input[type="button"], main button.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); color: var(--nh-text);
  border-radius: 10px; padding: 10px 20px; font-size: 0.87rem; font-weight: 700; text-shadow: none;
  background-image: none; box-shadow: none; cursor: pointer; transition: all 0.2s; height: auto; line-height: 1.3; width: auto;
}
main .btn:hover { background: rgba(255,255,255,0.1); color: #fff; }
main .btn-primary, main .btn-success, main input[type="submit"]:not(.nh-btn):not(.btn-default):not(.btn-danger) {
  background: linear-gradient(135deg, var(--nh-blue), #0E57D0) !important; border-color: transparent !important; color: #fff !important;
  box-shadow: 0 4px 16px rgba(26,109,255,0.3);
}
main .btn-success { background: linear-gradient(135deg, #00B884, #00936A) !important; box-shadow: 0 4px 16px rgba(0,184,132,0.25); }
main .btn-danger { background: rgba(255,77,106,0.15) !important; border-color: rgba(255,77,106,0.35) !important; color: #FF7A90 !important; }
main .btn-link { background: none; border: 0; color: var(--nh-cyan); }

/* alerts */
main .alert { border-radius: 12px; padding: 14px 18px; font-size: 0.88rem; text-shadow: none; background: rgba(255,255,255,0.04); border: 1px solid var(--nh-border); color: var(--nh-text); }
main .alert-error, main .alert-danger { background: rgba(255,77,106,0.1); border-color: rgba(255,77,106,0.28); color: #FF9AAA; }
main .alert-success { background: rgba(0,229,160,0.1); border-color: rgba(0,229,160,0.28); color: var(--nh-green); }
main .alert-info { background: rgba(0,194,255,0.08); border-color: rgba(0,194,255,0.25); color: #7DDCFF; }
main .alert-warning { background: rgba(255,140,66,0.1); border-color: rgba(255,140,66,0.3); color: #FFB37A; }

/* page headings */
main .page-header { clear: both; border: 0; margin-top: 0; margin-bottom: 0; padding: 40px 0 8px; background: transparent; }
main .whmcscontainer, main #order-standard_cart .categories-collapsed { background: transparent !important; }
main .styled_title { text-align: left; background: transparent; }
main > .row { margin-left: 0; margin-right: 0; }
main > .row > .id-wrap { margin-bottom: 14px; color: var(--nh-muted); font-size: 0.88rem; line-height: 1.6; }
main > .row > .id-wrap a { color: #fff; }
main > .row > .id-wrap a:hover { color: var(--nh-cyan); }
main .styled_title h1, main .page-header h1, main .header-lined h1 { font-size: clamp(1.7rem, 3.4vw, 2.3rem); font-weight: 800; color: #fff; letter-spacing: -0.02em; margin: 0 0 6px; }
main .styled_title h2, main .page-header h2 { font-size: 1.25rem; font-weight: 700; color: #fff; }
main .styled_title h1 small, main .page-header h1 small { color: var(--nh-muted); font-size: 0.55em; font-weight: 500; }
main .header-lined { border-bottom: 1px solid var(--nh-border); margin-bottom: 20px; padding-bottom: 6px; }
main .contentpadded { padding: 0; }
main .halfwidthcontainer { max-width: none; width: auto; margin: 0; }
main .whmcscontainer + .clear + .well, main > .well, main > p, main > table, main > form, main > .control-group, main > .alert, main > br + p {
  max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px;
}
main > p, main > br + p { color: var(--nh-muted); }
main h1, main h2, main h3, main h4 { color: #fff; }
main p, main li, main td, main label { color: var(--nh-muted); }
main hr { border: 0; border-top: 1px solid var(--nh-border); }

/* wells, boxes, panels */
main .well, main .panel, main .box, main .internalpadding, main .client-home-panels .panel {
  background: var(--nh-card) !important; border: 1px solid var(--nh-border) !important; border-radius: 14px !important;
  box-shadow: none !important; color: var(--nh-text);
}
main .well { padding: 24px; margin: 20px auto; }
main .panel-heading { background: rgba(255,255,255,0.03) !important; border-bottom: 1px solid var(--nh-border) !important; color: #fff !important; border-radius: 14px 14px 0 0 !important; }
main .panel-title { color: #fff; font-weight: 700; }
main .panel-footer { background: transparent !important; border-top: 1px solid var(--nh-border) !important; }
main .list-group-item { background: transparent; border-color: var(--nh-border); color: var(--nh-text); }
main .list-group-item.active, main .list-group-item:hover { background: rgba(26,109,255,0.12); border-color: rgba(26,109,255,0.3); color: #fff; }

/* tables */
main table.table, main table.data, main .table-framed, main table.clientareatable {
  width: 100%; border-collapse: separate; border-spacing: 0; background: var(--nh-card);
  border: 1px solid var(--nh-border) !important; border-radius: 14px; overflow: hidden; margin-bottom: 24px;
}
main .table th, main .table td, main table.data th, main table.data td { border-top: 1px solid var(--nh-border) !important; border-left: 0 !important; padding: 12px 14px; font-size: 0.86rem; color: var(--nh-text); background: transparent !important; vertical-align: middle; }
main .table thead th, main table.data th { background: rgba(255,255,255,0.03) !important; color: #fff; font-weight: 700; border-top: 0 !important; }
main .table-striped tbody tr:nth-child(odd) td { background: rgba(255,255,255,0.015) !important; }
main .table tbody tr:hover td { background: rgba(26,109,255,0.06) !important; }

/* labels / badges */
main .label, main .badge { border-radius: 99px; padding: 3px 10px; font-size: 0.72rem; font-weight: 700; text-shadow: none; }
main .label-success, main .label-active { background: rgba(0,229,160,0.15); color: var(--nh-green); }
main .label-danger, main .label-important, main .label-unpaid { background: rgba(255,77,106,0.15); color: #FF7A90; }
main .label-warning, main .label-pending { background: rgba(255,140,66,0.15); color: #FFB37A; }

/* pagination & tabs */
main .pagination a, main .pagination li a, main .pagination span { background: var(--nh-card) !important; border-color: var(--nh-border) !important; color: var(--nh-muted) !important; }
main .pagination .active a, main .pagination li.active span { background: var(--nh-blue) !important; color: #fff !important; }
main .nav-tabs { border-bottom-color: var(--nh-border); }
main .nav-tabs > li > a { color: var(--nh-muted); border-radius: 10px 10px 0 0; }
main .nav-tabs > li.active > a, main .nav-tabs > li.active > a:hover { background: var(--nh-card); color: #fff; border-color: var(--nh-border) var(--nh-border) transparent; }

/* knowledgebase & announcements */
main .col4 { float: left; width: 25%; padding: 8px; }
main .col4 .internalpadding { padding: 16px 18px; height: 100%; }
main .col4 img, main .kbarticle img[src*="folder.gif"], main img[src*="article.gif"] { display: none; }
main .fontsize2, main .col4 a { color: #fff; text-decoration: none; font-size: 0.95rem; }
main .col4 a:hover { color: var(--nh-cyan); }
main .bigfield { width: 100% !important; max-width: 560px; }
main .form-inline fieldset { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; border: 0; }
main .kbarticle, main .announcement { background: var(--nh-card); border: 1px solid var(--nh-border); border-radius: 14px; padding: 22px; margin-bottom: 16px; }
main .kbarticle p, main .announcement p { color: var(--nh-muted); line-height: 1.8; }

/* forms in old Bootstrap 2 layout (register, client area details, tickets) */
main .control-group { margin-bottom: 14px; border: 0; }
main .control-label { color: var(--nh-text) !important; font-size: 0.82rem; font-weight: 600; text-align: left !important; }
main .form-actions { background: transparent; border-top: 1px solid var(--nh-border); padding: 20px 0 0; }
main fieldset { border: 0; }
main legend { color: #fff; border-bottom-color: var(--nh-border); }

/* login and register wrappers from the old theme */
main .account-bg, main .reg-bg { background: radial-gradient(ellipse 60% 50% at 50% 0%, rgba(26,109,255,0.14), transparent 70%) !important; height: auto !important; min-height: 0 !important; padding: 56px 0 80px !important; float: none !important; width: 100% !important; }
main .loginholder, main .reg-holder { float: none !important; width: auto !important; max-width: 820px; margin: 0 auto !important; }
main .acc-log { font-size: clamp(1.6rem, 3.4vw, 2.2rem) !important; font-weight: 800; color: #fff !important; text-align: center; margin-bottom: 24px !important; text-shadow: none !important; }
main .login-form, main .reg-form { float: none !important; width: auto !important; height: auto !important; background: var(--nh-card) !important; border: 1px solid var(--nh-border) !important; border-radius: 20px !important; padding: 32px !important; box-shadow: 0 24px 60px rgba(0,0,0,0.35) !important; }
main .reg-form .nh-auth__brand { margin-bottom: 8px; }
main .reg-form .col2half { float: left; width: 50%; padding: 0 12px; }
main .reg-form .control-group .controls input, main .reg-form .control-group .controls select { width: 100% !important; }
main .reg-form .control-label { float: none !important; width: auto !important; display: block; margin-bottom: 6px; }
main .reg-form .controls { margin-left: 0 !important; }
main .reg-form hr, main .reg-form .clear { clear: both; }
main .reg-form p, main .reg-form label { color: var(--nh-muted); }
main .happy-smalllogo, main .happy-text { display: none !important; }

/* client area home */
main .clientareahome, main #clientareahome { color: var(--nh-text); }
main .dashboard-stat, main .tiles .tile { background: var(--nh-card); border: 1px solid var(--nh-border); border-radius: 14px; }

/* ---------- STANDARD CART (cart.php, domain transfer, checkout) ---------- */
.nh-cart-wrap { max-width: 1200px; padding: 40px 24px 72px; }
#order-standard_cart { color: var(--nh-text); }
#order-standard_cart .header-lined h1 { color: #fff; }
#order-standard_cart .panel, #order-standard_cart .view-cart-items, #order-standard_cart .summary-container,
#order-standard_cart .order-summary, #order-standard_cart .domain-checker-container, #order-standard_cart .product-info,
#order-standard_cart .sub-heading, #order-standard_cart .field-container, #order-standard_cart .view-cart-tabs .tab-content {
  background: var(--nh-card) !important; border: 1px solid var(--nh-border) !important; border-radius: 14px !important; color: var(--nh-text) !important; box-shadow: none !important;
}
#order-standard_cart .view-cart-items-header, #order-standard_cart .order-summary h2,
#order-standard_cart .summary-container .order-summary h2 { background: rgba(26,109,255,0.15) !important; color: #fff !important; border: 0 !important; border-radius: 14px 14px 0 0; }
#order-standard_cart .view-cart-items .item { border-bottom: 1px solid var(--nh-border) !important; background: transparent !important; }
#order-standard_cart .view-cart-empty { color: var(--nh-muted) !important; padding: 40px 20px; }
#order-standard_cart .order-summary .summary-container, #order-standard_cart .order-summary .subtotal,
#order-standard_cart .order-summary .total-due-today, #order-standard_cart .order-summary .recurring-totals { background: transparent !important; color: var(--nh-text) !important; border-color: var(--nh-border) !important; }
#order-standard_cart .order-summary .total-due-today .amt { color: #fff !important; }
#order-standard_cart .order-summary .subtotal span, #order-standard_cart .order-summary .total-due-today span { color: var(--nh-muted); }
#order-standard_cart .view-cart-tabs .nav-tabs > li > a { background: transparent; color: var(--nh-muted); border-color: transparent; }
#order-standard_cart .view-cart-tabs .nav-tabs > li.active > a { background: var(--nh-card) !important; color: #fff !important; border-color: var(--nh-border) var(--nh-border) transparent !important; }
#order-standard_cart .btn-checkout, #order-standard_cart .btn-success, #order-standard_cart #btnCompleteOrder { background: linear-gradient(135deg, #00B884, #00936A) !important; border: 0 !important; color: #fff !important; border-radius: 10px !important; }
#order-standard_cart .btn-continue-shopping, #order-standard_cart a.btn-link { color: var(--nh-cyan) !important; }
#order-standard_cart .sidebar .panel-heading { background: rgba(255,255,255,0.03) !important; }
#order-standard_cart .sidebar .list-group-item { background: transparent !important; color: var(--nh-muted) !important; border-color: var(--nh-border) !important; }
#order-standard_cart .sidebar .list-group-item.active { color: #fff !important; background: rgba(26,109,255,0.15) !important; }
#order-standard_cart .categories-collapsed { margin-bottom: 20px; }
#order-standard_cart .domain-checker-bg { background: transparent !important; }
#order-standard_cart .domain-checker-container { padding: 26px !important; }
#order-standard_cart .input-group-btn .btn, #order-standard_cart .domain-check-availability { border-radius: 0 10px 10px 0 !important; }
#order-standard_cart .input-group .form-control:first-child { border-radius: 10px 0 0 10px !important; }
#order-standard_cart label, #order-standard_cart p, #order-standard_cart .text-muted, #order-standard_cart small { color: var(--nh-muted) !important; }
#order-standard_cart h2, #order-standard_cart h3, #order-standard_cart h4, #order-standard_cart .product-title, #order-standard_cart .item-title { color: #fff !important; }
#order-standard_cart .prepend-icon .field-icon { color: #64748B; }
#order-standard_cart .icheckbox_square-blue, #order-standard_cart .iradio_square-blue { filter: invert(0.85) hue-rotate(180deg); }
#order-standard_cart .well { background: rgba(255,255,255,0.03) !important; }
#order-standard_cart .promo-code, #order-standard_cart .promotion { color: var(--nh-text); }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px) {
  .nh-seo-content__cols { grid-template-columns: 1fr; gap: 8px; }
  .nh-steps__list { grid-template-columns: 1fr; }
  .nh-support-grid { grid-template-columns: 1fr 1fr; }
  main .col4 { width: 50%; }
  main .reg-form .col2half { width: 100%; float: none; padding: 0; }
}
@media (max-width: 600px) {
  .id-wrap, .whmcscontainer, .nh-seo-content__inner, .nh-steps__inner, .nh-legal__inner { padding-left: 16px; padding-right: 16px; }
  .nh-support-grid { grid-template-columns: 1fr; }
  main .col4 { width: 100%; float: none; }
  .nh-auth__card, main .login-form, main .reg-form { padding: 26px 20px !important; }
  .nh-cart-wrap { padding: 28px 16px 56px; }
  .nh-page-hero { padding: 56px 0 40px; }
  .nh-plans, .nh-seo-content, .nh-feature-strip, .nh-faq, .nh-steps { padding-top: 52px; padding-bottom: 52px; }
}

/* search bars stack neatly on phones */
@media (max-width: 600px) {
  .nh-search-row, .nh-dc-search-row { flex-wrap: wrap; }
  main .nh-search-row input.nh-search-input, main .nh-dc-search-row input[type="text"] { flex: 1 1 100%; min-width: 0; border-bottom: 1px solid var(--nh-border) !important; }
  main .nh-search-row select, main .nh-dc-search-row select { flex: 1 1 40%; min-width: 0; border-left: 0 !important; padding: 12px; }
  .nh-search-btn, .nh-dc-search-btn { flex: 1 1 60%; min-width: 0; padding: 14px 12px; }
}

/* ---------- ORDER STEPS: choose domain, configure product, domains ---------- */
/* full width layout, the old empty sidebar column is removed */
#order-standard_cart .sidebar:empty, #order-standard_cart .col-md-3.sidebar { display: none !important; }
#order-standard_cart .pull-md-right.col-md-9 { width: 100%; float: none; }
#order-standard_cart .header-lined { border-bottom: 1px solid var(--nh-border); padding-bottom: 14px; margin-bottom: 26px; }
#order-standard_cart .header-lined h1 { font-size: clamp(1.6rem, 3vw, 2.1rem); font-weight: 800; letter-spacing: -0.02em; }

/* the three domain choices become dark selectable cards */
#order-standard_cart .domain-selection-options { margin: 0 0 24px; display: flex; flex-direction: column; gap: 12px; }
#order-standard_cart .domain-selection-options .option {
  background: var(--nh-card) !important; border: 1px solid var(--nh-border); border-radius: 14px;
  padding: 18px 22px; margin: 0; transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}
#order-standard_cart .domain-selection-options .option:hover { border-color: rgba(0,194,255,0.35); }
#order-standard_cart .domain-selection-options .option-selected {
  background: rgba(26,109,255,0.08) !important; border-color: rgba(26,109,255,0.6);
  box-shadow: 0 0 0 3px rgba(26,109,255,0.12);
}
#order-standard_cart .domain-selection-options .option > label {
  display: flex; align-items: center; gap: 12px; margin: 0; cursor: pointer;
  color: var(--nh-text) !important; font-size: 0.97rem; font-weight: 600;
}
#order-standard_cart .domain-selection-options .option-selected > label { color: #fff !important; font-weight: 700; }
#order-standard_cart .domain-selection-options .option .iradio_square-blue { margin-right: 0; flex-shrink: 0; }

/* the www. + name + extension + Check row */
#order-standard_cart .domain-input-group { margin: 16px 0 4px; }
#order-standard_cart .domain-input-group .row { margin-left: 0; margin-right: 0; }
#order-standard_cart .domain-input-group .col-sm-8.col-sm-offset-1, #order-standard_cart .domain-input-group .col-md-offset-2 { margin-left: 0; width: 82%; padding-left: 0; }
#order-standard_cart .domain-input-group .col-sm-2 { width: 18%; padding-right: 0; }
#order-standard_cart .domains-row { display: flex; gap: 8px; margin: 0; }
#order-standard_cart .domains-row > [class*="col-"] { float: none; width: auto; padding: 0 !important; }
#order-standard_cart .domains-row > .col-xs-9, #order-standard_cart .domains-row > .col-xs-7 { flex: 1 1 auto; }
#order-standard_cart .domains-row > .col-xs-3, #order-standard_cart .domains-row > .col-xs-5 { flex: 0 0 150px; }
#order-standard_cart .domain-input-group .input-group { display: flex; width: 100%; }
#order-standard_cart .domain-input-group .input-group-addon {
  display: flex; align-items: center; width: auto; padding: 0 14px; background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important; border-right: 0 !important; color: var(--nh-muted) !important;
  border-radius: 10px 0 0 10px !important; font-family: var(--font-mono); font-size: 0.88rem;
}
#order-standard_cart .domain-input-group .input-group .form-control { border-radius: 0 10px 10px 0 !important; flex: 1; }
#order-standard_cart .domain-input-group .form-control { height: 48px; font-size: 0.95rem; }
#order-standard_cart .domain-input-group select.form-control { padding-right: 30px; cursor: pointer; }
#order-standard_cart .domain-input-group .btn-primary { height: 48px; border-radius: 10px !important; font-size: 0.92rem; }
#order-standard_cart .domain-input-group .form-control-static { color: var(--nh-muted) !important; font-size: 0.85rem; padding-top: 14px; }

/* availability results */
#order-standard_cart .domain-checker-result-headline { color: #fff; font-weight: 700; font-size: 1.3rem; margin: 26px 0 16px; }
#order-standard_cart .domain-checker-available { color: var(--nh-green) !important; }
#order-standard_cart .domain-checker-unavailable { color: #FF7A90 !important; }
#order-standard_cart .domain-search-results, #order-standard_cart .domain-suggestions {
  background: var(--nh-card); border: 1px solid var(--nh-border); border-radius: 14px; padding: 18px 22px; color: var(--nh-text);
}
#order-standard_cart .domain-suggestions .list-group-item, #order-standard_cart .domain-suggestions li { border-color: var(--nh-border) !important; background: transparent !important; color: var(--nh-text) !important; }
#order-standard_cart .domain-loading-spinner { color: var(--nh-cyan); }

/* configure product step */
#order-standard_cart .product-info { padding: 22px !important; }
#order-standard_cart .product-info .product-title { font-size: 1.15rem; font-weight: 800; }
#order-standard_cart .sub-heading { background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--nh-border) !important; border-radius: 0 !important; margin: 28px 0 16px; padding: 0 0 8px; }
#order-standard_cart .sub-heading span { background: transparent !important; color: #fff !important; font-weight: 700; padding: 0; }

@media (max-width: 767px) {
  #order-standard_cart .domain-input-group .col-sm-8.col-sm-offset-1,
  #order-standard_cart .domain-input-group .col-sm-2 { width: 100%; padding: 0; }
  #order-standard_cart .domain-input-group .col-sm-2 { margin-top: 10px; }
  #order-standard_cart .domains-row > .col-xs-3, #order-standard_cart .domains-row > .col-xs-5 { flex: 0 0 110px; }
  #order-standard_cart .domain-selection-options .option { padding: 16px; }
}
#order-standard_cart .domain-search-results:not(:has(*)), #order-standard_cart .domain-suggestions:not(:has(*)) { display: none; }
#order-standard_cart .domain-search-results:not(:has(*:not(script))) { display: none; }
#order-standard_cart .domain-input-group .btn-block { width: 100%; display: flex; }
