/*
  hostbility_cart_theme
  A dashboard-native skin for the cart/order flow when using hostbility_theme.

  Goal:
  - Make all cart steps (products, configure, domain selection, view cart, checkout)
    render cleanly inside the logged-in hostbility_theme content area.
  - Keep WHMCS cart logic intact (no JS hooks/classes removed).
*/

#order-standard_cart {
  font-family: var(--h-font-family, 'Montserrat', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
  color: var(--h-text, #2d2d2d);
  background: transparent;
}

/* Domain-style primitives (ported from hostbility_theme domain pages)
   so the orderflow matches: clientarea.php?action=domains&view=register */
#order-standard_cart.h-domain-page {
  color: #1f2937;
}

#order-standard_cart.h-domain-page,
#order-standard_cart.h-domain-page button,
#order-standard_cart.h-domain-page input,
#order-standard_cart.h-domain-page select,
#order-standard_cart.h-domain-page textarea,
#order-standard_cart.h-domain-page table,
#order-standard_cart.h-domain-page thead,
#order-standard_cart.h-domain-page tbody,
#order-standard_cart.h-domain-page tr,
#order-standard_cart.h-domain-page th,
#order-standard_cart.h-domain-page td,
#order-standard_cart.h-domain-page a:not(.fas):not(.far):not(.fab):not(.fal):not(.fad),
#order-standard_cart.h-domain-page span,
#order-standard_cart.h-domain-page div,
#order-standard_cart.h-domain-page p,
#order-standard_cart.h-domain-page h1,
#order-standard_cart.h-domain-page h2,
#order-standard_cart.h-domain-page h3,
#order-standard_cart.h-domain-page h4,
#order-standard_cart.h-domain-page h5,
#order-standard_cart.h-domain-page h6,
#order-standard_cart.h-domain-page label,
#order-standard_cart.h-domain-page strong,
#order-standard_cart.h-domain-page small,
#order-standard_cart.h-domain-page li {
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

#order-standard_cart.h-domain-page .h-domain-page-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 24px;
  padding: 0 4px;
}

#order-standard_cart.h-domain-page .h-domain-page-title {
  margin: 0 0 8px;
  color: #111827;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
}

#order-standard_cart.h-domain-page .h-domain-page-subtitle {
  margin: 0;
  color: #6b7280;
  font-size: 0.93rem;
  line-height: 1.65;
  max-width: 760px;
}

#order-standard_cart.h-domain-page .h-domain-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.05);
  overflow: visible;
}

#order-standard_cart.h-domain-page .h-domain-card + .h-domain-card {
  margin-top: 24px;
}

#order-standard_cart.h-domain-page .h-domain-card-body {
  padding: 28px;
}

#order-standard_cart.h-domain-page .h-domain-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

#order-standard_cart.h-domain-page .h-domain-btn-primary,
#order-standard_cart.h-domain-page .h-domain-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 18px;
  border-radius: 12px;
  font-size: 0.86rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}

#order-standard_cart.h-domain-page .h-domain-btn-primary,
#order-standard_cart.h-domain-page .h-domain-btn-primary:hover,
#order-standard_cart.h-domain-page .h-domain-btn-primary:focus {
  border: 0;
  background: #072673;
  color: #ffffff;
  box-shadow: 0 14px 28px rgba(7, 38, 115, 0.18);
  text-decoration: none;
}

#order-standard_cart.h-domain-page .h-domain-btn-outline,
#order-standard_cart.h-domain-page .h-domain-btn-outline:hover,
#order-standard_cart.h-domain-page .h-domain-btn-outline:focus {
  border: 1px solid #dbe3ef;
  background: #ffffff;
  color: #374151;
  text-decoration: none;
}

#order-standard_cart.h-domain-page .h-domain-form-control,
#order-standard_cart.h-domain-page textarea.form-control,
#order-standard_cart.h-domain-page input.form-control,
#order-standard_cart.h-domain-page select.form-control {
  min-height: 46px;
  border-radius: 10px;
  border: 1px solid #dbe3ef;
  box-shadow: none;
  color: #374151;
  font-size: 0.92rem;
  padding: 12px 14px;
  background: #ffffff;
}

#order-standard_cart.h-domain-page .h-domain-helper {
  color: #6b7280;
  font-size: 0.9rem;
  line-height: 1.65;
}

/* Metrics (used by renewals + domain pages) */
#order-standard_cart.h-domain-page .h-domain-metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

#order-standard_cart.h-domain-page .h-domain-metric {
  min-width: 0;
  padding: 18px 20px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
}

#order-standard_cart.h-domain-page .h-domain-metric-label {
  display: block;
  margin-bottom: 10px;
  color: #6b7280;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

#order-standard_cart.h-domain-page .h-domain-metric-value {
  display: block;
  color: #111827;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.15;
}

#order-standard_cart.h-domain-page .h-domain-metric-meta {
  margin-top: 10px;
  color: #6b7280;
  font-size: 0.85rem;
  line-height: 1.6;
}

@media (max-width: 991px) {
  #order-standard_cart.h-domain-page .h-domain-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  #order-standard_cart.h-domain-page .h-domain-metric-grid {
    grid-template-columns: 1fr;
  }
}

/* Domain register-style stepper (re-used across cart steps) */
#order-standard_cart.h-domain-page .h-domain-register-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  padding: 0 8px;
  margin-bottom: 24px;
}

#order-standard_cart.h-domain-page .h-domain-register-steps::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 12%;
  right: 12%;
  height: 2px;
  background: linear-gradient(90deg, rgba(103, 61, 230, 0.22) 0%, rgba(7, 38, 115, 0.16) 100%);
}

#order-standard_cart.h-domain-page .h-domain-register-step {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
}

#order-standard_cart.h-domain-page .h-domain-register-step-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: #ffffff;
  border: 2px solid rgba(103, 61, 230, 0.18);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
  color: #5b3df5;
  font-size: 1rem;
  font-weight: 700;
}

#order-standard_cart.h-domain-page .h-domain-register-step-title {
  color: #111827;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.35;
}

#order-standard_cart.h-domain-page .h-domain-register-step-copy {
  max-width: 220px;
  color: #6b7280;
  font-size: 0.83rem;
  line-height: 1.55;
}

#order-standard_cart.h-domain-page .hb-cart-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: visible;
}

#order-standard_cart.h-domain-page .hb-cart-card,
#order-standard_cart.h-domain-page .hb-cart-flow > .h-domain-card,
#order-standard_cart.h-domain-page .h-domain-card-body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

/* Remove any orderform step wizards/steppers from the header across this theme */
#order-standard_cart .orderform-step-form-wizard-row-aws,
#order-standard_cart .orderform-step-form-wizard-row {
  display: none !important;
}

/* When we inject the domain-style shell into legacy WHMCS orderform templates,
   hide their older wizard/hero blocks to avoid duplicated headings. */
#order-standard_cart.hb-shell-injected .orderform-step-form-wizard-row-aws,
#order-standard_cart.hb-shell-injected .hero-content {
  display: none !important;
}

#order-standard_cart.hb-shell-injected .h-domain-page-header:not(.hb-shell-header) {
  display: none !important;
}

#order-standard_cart.hb-shell-injected .h-domain-register-steps:not(.hb-cart-steps) {
  display: none !important;
}

#order-standard_cart.hb-shell-injected .container,
#order-standard_cart.hb-shell-injected .container-fluid {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Linked accounts / social login (partials used inside checkout + client security) */
#order-standard_cart.h-domain-page .social-signin-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin: 12px 0;
}

#order-standard_cart.h-domain-page .social-signin-btns a,
#order-standard_cart.h-domain-page .social-signin-btns button,
#order-standard_cart.h-domain-page .providerPreLinking a,
#order-standard_cart.h-domain-page .providerPreLinking button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 42px;
  padding: 10px 18px;
  border-radius: 12px !important;
  border: 1px solid #dbe3ef !important;
  background: #ffffff !important;
  color: #374151 !important;
  font-size: 0.86rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

#order-standard_cart.h-domain-page .social-signin-btns a:hover,
#order-standard_cart.h-domain-page .social-signin-btns button:hover {
  background: #f8fbff !important;
  border-color: #c8d5e8 !important;
  color: #072673 !important;
}

#order-standard_cart.h-domain-page #tableLinkedAccounts {
  width: 100% !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #ffffff;
}

#order-standard_cart.h-domain-page #tableLinkedAccounts thead th {
  background: #f9fafb;
  border-bottom: 1px solid #eef2f7;
  color: #6b7280;
  font-weight: 800;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 14px 14px;
}

#order-standard_cart.h-domain-page #tableLinkedAccounts tbody td {
  border-top: 1px solid #f3f4f6;
  padding: 14px 14px;
  color: #111827;
  font-size: 0.92rem;
}

/* MarketConnect promo block (partial) */
#order-standard_cart.h-domain-page .mc-promo.addon-promo-container {
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #ffffff;
  padding: 18px 18px;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.05);
  margin-bottom: 16px;
}

#order-standard_cart.h-domain-page .mc-promo .btn-add,
#order-standard_cart.h-domain-page .marketconnect__promo__banner__add .btn-add {
  background: #072673 !important;
  border-color: #072673 !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
}

#order-standard_cart.h-domain-page .mc-promo .marketconnect__promo__banner__features {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

#order-standard_cart.h-domain-page .mc-promo .marketconnect__promo__banner__features li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: #374151;
  font-size: 0.92rem;
}

#order-standard_cart.h-domain-page .mc-promo .marketconnect__promo__banner__features i {
  color: #10b981;
  margin-top: 3px;
}

@media (max-width: 991px) {
  #order-standard_cart.h-domain-page .h-domain-register-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
  #order-standard_cart.h-domain-page .h-domain-register-steps::before {
    display: none;
  }
}

@media (max-width: 600px) {
  #order-standard_cart.h-domain-page .h-domain-card-body {
    padding: 22px;
  }
}

/* Feather icons:
   The orderform templates use <i class="feather icon-..."></i> but the icon map is not
   loaded when we skip the bundled orderform CSS for logged-in dashboard rendering.
   Provide the minimal, local mapping so buttons/icons render consistently. */
.feather {
  font-family: "feather" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
}

.icon-arrow-right:before { content: "\e829"; }
.icon-alert-circle:before { content: "\e81c"; }
.icon-check:before { content: "\e83f"; }
.icon-globe:before { content: "\e877"; }
.icon-lock:before { content: "\e887"; }
.icon-trash-2:before { content: "\e8da"; }
.icon-x:before { content: "\e8f6"; }

/* Feather font (fallback for pages that use .feather icon-* classes) */
@font-face {
  font-family: "feather";
  src: url("/templates/hostbility_theme/fonts/feather/feather.eot?t=1501841394106");
  src: url("/templates/hostbility_theme/fonts/feather/feather.eot?t=1501841394106#iefix") format("embedded-opentype"),
       url("/templates/hostbility_theme/fonts/feather/feather.woff?t=1501841394106") format("woff"),
       url("/templates/hostbility_theme/fonts/feather/feather.ttf?t=1501841394106") format("truetype"),
       url("/templates/hostbility_theme/fonts/feather/feather.svg?t=1501841394106#feather") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

#order-standard_cart .container {
  max-width: 1200px;
}

/* Fit the logged-in hostbility_theme content area:
   cart outputs inside .h-content-body .container-fluid, so we center and clamp width. */
body.h-body .h-content-body .order-form-menu-scroller.white-bg,
body.h-body .h-content-body #order-standard_cart {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  overflow: inherit;
}

body.h-body .h-content-body .order-form-menu-scroller.white-bg {
  margin-top: 0;
  margin-bottom: 24px;
}

body.h-body .h-content-body #order-standard_cart {
  padding-left: 16px;
  padding-right: 16px;
}

/* Avoid double container constraints while keeping Bootstrap grid spacing */
body.h-body .h-content-body #order-standard_cart .container,
body.h-body .h-content-body #order-standard_cart .container-fluid {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Many templates use col-11 which makes the content too narrow in the dashboard */
body.h-body .h-content-body #order-standard_cart .col-11 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

/* Some steps use col-10/col-9 wrappers which become too narrow inside the dashboard */
body.h-body .h-content-body #order-standard_cart .col-10,
body.h-body .h-content-body #order-standard_cart .col-9 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

/* Mobile: let the cart use full width with hostbility_theme padding */
@media (max-width: 767.98px) {
  body.h-body .h-content-body .order-form-menu-scroller.white-bg,
  body.h-body .h-content-body #order-standard_cart {
    max-width: 100%;
  }

  body.h-body .h-content-body .order-form-menu-scroller.white-bg {
    border-radius: 10px !important;
  }
}

/* "Domain page card layout" treatment for all non-domain cart steps.
   We map the existing WHMCS orderform blocks to the same card primitives (white surface,
   subtle border + shadow, consistent radius + spacing). */
#order-standard_cart.h-domain-page .secondary-cart-body,
#order-standard_cart.h-domain-page .register-area-box-checkout,
#order-standard_cart.h-domain-page .domains-addons-products-group-box,
#order-standard_cart.h-domain-page .domain-productconfigiration-options-group,
#order-standard_cart.h-domain-page .domain-input-group,
#order-standard_cart.h-domain-page .checkout-error-feedback {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.05) !important;
}

#order-standard_cart.h-domain-page .secondary-cart-body,
#order-standard_cart.h-domain-page .register-area-box-checkout,
#order-standard_cart.h-domain-page .domain-input-group {
  padding: 24px !important;
}

#order-standard_cart.h-domain-page .domains-addons-products-group-box,
#order-standard_cart.h-domain-page .domain-productconfigiration-options-group {
  padding: 22px !important;
}

#order-standard_cart.h-domain-page .secondary-cart-body,
#order-standard_cart.h-domain-page .register-area-box-checkout,
#order-standard_cart.h-domain-page .domains-addons-products-group-box,
#order-standard_cart.h-domain-page .domain-productconfigiration-options-group,
#order-standard_cart.h-domain-page .domain-input-group {
  margin-bottom: 24px;
}

/* Order summary: keep existing structure but align visuals with the domain cards */
#order-standard_cart.h-domain-page #orderSummary.ordersummary-coodiv-box {
  border: 1px solid #e5e7eb !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.05) !important;
}

/* Buttons: align with hostbility_theme primary */
#order-standard_cart.h-domain-page .btn.btn-primary,
#order-standard_cart.h-domain-page .btn-primary {
  background: #072673 !important;
  border-color: #072673 !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
}

#order-standard_cart.h-domain-page .btn.btn-light,
#order-standard_cart.h-domain-page .btn-light,
#order-standard_cart.h-domain-page .btn.btn-default,
#order-standard_cart.h-domain-page .btn-default {
  border-radius: 12px !important;
}

/* ------------------------------------------------------------
   Top Category Scroller (Shared Hosting / Addons / Renew / etc.)
   ------------------------------------------------------------
   This sits outside #order-standard_cart in our templates, so it must be
   fully self-styled and not depend on bundled orderform CSS.

   Features:
   - Horizontal scrolling with momentum (touch) + mouse drag
   - Arrow buttons
   - Fade indicators + scroll progress
   - Keyboard support (Left/Right/Home/End when focused)
*/
.order-form-menu-scroller.white-bg {
    position: relative;
    background: #ffffff !important;
    border: 1px solid rgba(228, 229, 231, 0.9) !important;
    border-radius: 0px !important;
    padding: 10px 10px !important;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.05) !important;
    overflow: hidden;
}

.h-content-body .order-form-menu-scroller.white-bg {
  margin-left: 16px;
  margin-right: 16px;
}

.order-form-menu-scroller.white-bg nav.nav {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start !important; /* override bootstrap justify-content-center utility */
  gap: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 6px 48px; /* room for arrows + fades */
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  touch-action: auto;
  cursor: grab;
  scroll-snap-type: x proximity;
}

.order-form-menu-scroller.white-bg nav.nav::-webkit-scrollbar {
  height: 0;
}

.order-form-menu-scroller.white-bg nav.nav:focus-visible {
  outline: 3px solid rgba(7, 38, 115, 0.22);
  outline-offset: 3px;
  border-radius: 14px;
}

.order-form-menu-scroller.white-bg nav.nav.is-dragging {
  cursor: grabbing;
}

.hb-guest-store-scroller .nav .nav-link {
  padding: 0 15px;
  border-right: 0;
  font-size: 13px;
  opacity: 1;
  border-top: 0;
  height: 40px;
  display: flex;
  align-items: center;
  color: #111827 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.order-form-menu-scroller.white-bg .nav-link {
  background: #f3f4f6;
  color: #374151;
  border: 0;
  border-radius: 999px;
  padding: 0px 10px;
  font-weight: 700;
  font-size: .85rem;
  line-height: 0.5;
  white-space: nowrap;
}

.order-form-menu-scroller.white-bg .nav-link {
  flex: 0 0 auto;
  white-space: nowrap;
  scroll-snap-align: start;
  border: 0 !important;
  border-radius: 10px !important;
  padding: 10px 16px;
  background: #f3f4f6;
  color: #374151;
  font-weight: 700 !important;
  font-size: 0.88rem;
  line-height: 1.2;
  transition: background-color 140ms ease, color 140ms ease, transform 140ms ease;
}

.order-form-menu-scroller.white-bg .nav-link:hover {
  background: #eef2ff;
  color: #111827;
}

.order-form-menu-scroller.white-bg .nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(7, 38, 115, 0.12);
}

.order-form-menu-scroller.white-bg .nav-link.active {
  background: #FAFAFA;
  color: #ffffff;
  box-shadow: 0 12px 26px rgba(7, 38, 115, 0.1);
}

.order-form-menu-scroller.white-bg .nav-link.disabled,
.order-form-menu-scroller.white-bg .nav-link[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

.order-form-menu-scroller.white-bg .nav-link .badge {
  margin-left: 8px;
  border-radius: 999px;
  padding: 3px 8px;
  background: rgba(255, 255, 255, 0.28);
  color: inherit;
  font-weight: 800;
  font-size: 0.75em;
}

/* When items don't overflow, center them and remove side padding reserved for arrows */
.order-form-menu-scroller.white-bg:not(.hb-menu-scroller--overflowing) nav.nav {
  justify-content: center !important;
  padding-left: 10px;
  padding-right: 10px;
}

/* Fade indicators (JS toggles hb-menu-scroller--at-start/--at-end) */
.order-form-menu-scroller.white-bg::before,
.order-form-menu-scroller.white-bg::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 40px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 160ms ease;
  z-index: 2;
}

.order-form-menu-scroller.white-bg::before {
  left: 0;
  background: linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}

.order-form-menu-scroller.white-bg::after {
  right: 0;
  background: linear-gradient(to left, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}

.order-form-menu-scroller.white-bg.hb-menu-scroller--overflowing:not(.hb-menu-scroller--at-start)::before {
  opacity: 1;
}

.order-form-menu-scroller.white-bg.hb-menu-scroller--overflowing:not(.hb-menu-scroller--at-end)::after {
  opacity: 1;
}

/* Arrow buttons (inserted by JS) */
.order-form-menu-scroller.white-bg .hb-menu-scroller__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(228, 229, 231, 1);
  color: #072673;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
  cursor: pointer;
  z-index: 4;
}

.order-form-menu-scroller.white-bg .hb-menu-scroller__arrow:hover {
  background: rgba(7, 38, 115, 0.04);
}

.order-form-menu-scroller.white-bg .hb-menu-scroller__arrow:focus-visible {
  outline: 3px solid rgba(7, 38, 115, 0.22);
  outline-offset: 2px;
}

.order-form-menu-scroller.white-bg .hb-menu-scroller__arrow--left {
  left: 8px;
}

.order-form-menu-scroller.white-bg .hb-menu-scroller__arrow--right {
  right: 8px;
}

.order-form-menu-scroller.white-bg:not(.hb-menu-scroller--overflowing) .hb-menu-scroller__arrow {
  display: none;
}

.order-form-menu-scroller.white-bg.hb-menu-scroller--at-start .hb-menu-scroller__arrow--left,
.order-form-menu-scroller.white-bg.hb-menu-scroller--at-end .hb-menu-scroller__arrow--right {
  opacity: 0;
  pointer-events: none;
}

/* Scroll progress (inserted by JS) */
.order-form-menu-scroller.white-bg .hb-menu-scroller__progress {
  height: 2px;
  margin: 8px 12px 2px;
  background: rgba(7, 38, 115, 0.10);
  border-radius: 999px;
  overflow: hidden;
}

.order-form-menu-scroller.white-bg .hb-menu-scroller__progress-bar {
  height: 100%;
  background: #072673;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 140ms ease;
}

.order-form-menu-scroller.white-bg:not(.hb-menu-scroller--overflowing) .hb-menu-scroller__progress {
  display: none;
}

@media (max-width: 480px) {
  .order-form-menu-scroller.white-bg {
    border-radius: 14px !important;
  }
  .order-form-menu-scroller.white-bg nav.nav {
    padding-left: 16px;
    padding-right: 16px;
  }
  .order-form-menu-scroller.white-bg .hb-menu-scroller__arrow {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .order-form-menu-scroller.white-bg .hb-menu-scroller__arrow {
    width: 44px;
    height: 44px;
  }
}

/* Normalize legacy spacing utilities used by the older orderform markup */
#order-standard_cart .mt-10 { margin-top: 24px !important; }
#order-standard_cart .mt-15 { margin-top: 28px !important; }
#order-standard_cart .mb-10 { margin-bottom: 24px !important; }
#order-standard_cart .mb-15 { margin-bottom: 28px !important; }

/* Page header ("hero") -> simple dashboard header */
#order-standard_cart .hero-content {
  text-align: left !important;
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
}

#order-standard_cart .hero-content .pre-title {
  display: none !important;
}

#order-standard_cart .hero-content.text-center {
  text-align: left !important;
}

#order-standard_cart .hero-content h1,
#order-standard_cart .hero-content .coodiv-text-4,
#order-standard_cart .hero-content .coodiv-text-6 {
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  margin: 0 0 8px 0 !important;
  color: var(--h-text, #2d2d2d) !important;
}

#order-standard_cart .hero-content p,
#order-standard_cart .hero-content .coodiv-text-10 {
  margin: 0 !important;
  color: var(--h-text-light, #727586) !important;
  font-size: 0.95rem !important;
}

/* Checkout form: rebuild the missing "orderform" field layout rules (we skip the bundled
   orderform CSS when logged in to avoid bootstrap/grid conflicts). */
#order-standard_cart .register-area-box-checkout-title {
  display: block;
  margin: 0 0 16px 0;
  color: #111827;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}

#order-standard_cart .register-area-box-checkout p {
  margin-top: 0;
  color: var(--h-text-light, #727586);
}

#order-standard_cart .form-group {
  margin-bottom: 16px;
}

/* Icon inputs used heavily on checkout */
#order-standard_cart .prepend-icon,
#order-standard_cart .prepend-icon .prepend-icon {
  position: relative;
}

#order-standard_cart .prepend-icon .field-icon {
  position: absolute;
  top: 50%;
  left: 14px;
  transform: translateY(-50%);
  margin: 0;
  pointer-events: none;
  z-index: 2;
  color: #9ca3af;
}

#order-standard_cart .prepend-icon .field-icon i {
  font-size: 16px;
  color: inherit;
}

#order-standard_cart .prepend-icon input.field.form-control,
#order-standard_cart .prepend-icon select.field.form-control,
#order-standard_cart .prepend-icon textarea.field.form-control {
  padding-left: 46px !important;
}

#order-standard_cart .field-error-msg {
  display: block;
  margin-top: 6px;
  color: #b91c1c;
  font-size: 0.8rem;
  line-height: 1.35;
}

/* Checkbox/radio align */
#order-standard_cart .checkbox-inline,
#order-standard_cart .radio-inline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #374151;
  font-size: 0.9rem;
}

/* "Already registered" buttons: make them match hostbility_theme sizing */
#order-standard_cart #btnAlreadyRegistered,
#order-standard_cart #btnNewUserSignup {
  border-radius: 999px !important;
  padding: 10px 16px !important;
  font-weight: 800 !important;
}

/* Checkout submit */
#order-standard_cart #btnCompleteOrder {
  border-radius: 12px !important;
  padding: 12px 22px !important;
  min-height: 48px;
  font-weight: 900 !important;
  letter-spacing: 0.01em;
}

/* View Cart layout: convert the inner row into a dashboard-style 2-column grid */
#order-standard_cart .secondary-cart-body,
#order-standard_cart .secondary-cart-sidebar {
  float: none !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

#order-standard_cart .secondary-cart-body > form {
  margin: 0;
}

#order-standard_cart .secondary-cart-body + .secondary-cart-sidebar {
  margin-top: 0;
}

/* Hostbility-native grid wrapper (used after removing legacy container/row/col scaffolding). */
#order-standard_cart .hb-cart-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 24px;
  align-items: start;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

#order-standard_cart .hb-cart-grid > *,
#order-standard_cart .secondary-cart-body > form,
#order-standard_cart .view-cart-items-coodiv-cart-group,
#order-standard_cart .item-in-cart,
#order-standard_cart #orderSummary {
  max-width: 100%;
  min-width: 0;
}

@media (max-width: 991.98px) {
  #order-standard_cart .hb-cart-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 575.98px) {
  #order-standard_cart.h-domain-page {
    padding-left: 12px;
    padding-right: 12px;
  }

  #order-standard_cart.h-domain-page .h-domain-card-body {
    padding: 16px;
  }

  #order-standard_cart .hb-cart-grid {
    gap: 16px;
  }
}

/* The templates wrap the two columns inside .col-11 > .row; make that row the grid */
body.h-body .h-content-body #order-standard_cart .col-11 > .row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 24px;
  align-items: start;
}

@media (max-width: 991.98px) {
  body.h-body .h-content-body #order-standard_cart .col-11 > .row {
    grid-template-columns: 1fr;
  }
}

/* Cart item cards (match domain card look) */
#order-standard_cart .item-in-cart {
  background: #ffffff !important;
  border: 1px solid var(--h-border, #e4e5e7) !important;
  border-radius: 10px !important;
  padding: 18px 18px !important;
  box-shadow: none !important;
  margin-bottom: 16px;
}

#order-standard_cart .product-header h5,
#order-standard_cart .product-header .coodiv-text-8 {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #111827 !important;
}

#order-standard_cart .item-group {
  color: var(--h-text-light, #727586) !important;
  font-size: 0.85rem !important;
}

#order-standard_cart .badge.badge-light {
  border: 1px solid var(--h-border, #e4e5e7);
  background: #f9fafb;
  color: #374151;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 0.78rem;
  font-weight: 600;
}

/* Order summary card */
#order-standard_cart #orderSummary.ordersummary-coodiv-box {
  border-radius: 10px !important;
  padding: 22px !important;
}

#order-standard_cart #orderSummary .ordersummary-coodiv-box-header h2 {
  font-size: 1rem !important;
  font-weight: 800 !important;
  margin: 0;
  color: #111827;
}

#order-standard_cart #orderSummary .subtotal,
#order-standard_cart #orderSummary .recurring-totals {
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
}

#order-standard_cart #orderSummary .total-due-today {
  margin-top: 14px;
  border-radius: 10px;
  background: rgba(7, 38, 115, 0.06);
  padding: 14px 14px;
}

#order-standard_cart #orderSummary .total-due-today .amt {
  display: block;
  font-size: 1.2rem;
  font-weight: 900;
  color: #072673;
  line-height: 1.2;
}

#order-standard_cart #orderSummary .btn-checkout {
  border-radius: 10px !important;
}

/* Steps bar: keep it visible, but fit inside dashboard content */
#order-standard_cart .orderform-step-form-wizard-row-aws {
  margin: 0 0 18px 0 !important;
}

#order-standard_cart .orderform-step-form-wizard-group {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px;
  border-radius: 999px;
  background: #efeff4;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

#order-standard_cart .orderform-step-form-wizard-group::-webkit-scrollbar {
  height: 0;
}

#order-standard_cart .orderform-step-form-wizard-item {
  border-radius: 15px !important;
  background: transparent !important;
  border: 0 !important;
  padding: 12px 22px !important;
  min-height: 58px;
  box-shadow: none !important;
  color: #4b5563;
  font-size: 0.98rem;
  font-weight: 500 !important;
  margin: 5px 10px;
  line-height: 30px;
}

#order-standard_cart .orderform-step-form-wizard-item i {
  color: #fff !important;
  font-size: 16px;
  margin: 0px 10px;
  background: var(--h-primary, #072673);
  padding: 10px;
  border-radius: 50px;
  height: 40px;
  width: 40px;
  text-align: center;
}

#order-standard_cart .orderform-step-form-wizard-item.active {
  background: #ffffff !important;
  color: #111827 !important;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.10) !important;
}

#order-standard_cart .orderform-step-form-wizard-item .left-triangle-border {
  display: none !important;
}

#order-standard_cart .orderform-step-form-wizard-item.active i {
  color: #fff !important;
}

@media (min-width: 992px) {
  .col-lg-9 {
    -ms-flex: 0 0 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* Card surfaces: align with hostbility_theme cards */
#order-standard_cart .white-bg,
#order-standard_cart .ordersummary-coodiv-box,
#order-standard_cart .register-area-box-checkout,
#order-standard_cart .domain-pricing,
#order-standard_cart .view-cart-promotion-code,
#order-standard_cart .domainresults,
#order-standard_cart .panel,
#order-standard_cart .card {
  background: #ffffff !important;
  border: 1px solid var(--h-border, #e4e5e7) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

/* Card padding to match domain pages */
#order-standard_cart .ordersummary-coodiv-box,
#order-standard_cart .register-area-box-checkout,
#order-standard_cart .white-bg.shadow-2,
#order-standard_cart .white-bg.shadow-1 {
  padding: 30px !important;
}

/* Form controls */
#order-standard_cart .form-control,
#order-standard_cart .custom-select,
#order-standard_cart input.form-control,
#order-standard_cart select.form-control,
#order-standard_cart textarea.form-control {
  min-height: 46px;
  border-radius: 10px;
  border: 1px solid var(--h-border, #e4e5e7);
  box-shadow: none;
  padding: 12px 16px;
  color: #111827;
}

#order-standard_cart .form-control:focus,
#order-standard_cart .custom-select:focus {
  border-color: rgba(7, 38, 115, 0.35);
  box-shadow: 0 0 0 3px rgba(7, 38, 115, 0.12);
  outline: 0;
}

/* Primary buttons */
#order-standard_cart .btn-primary,
#order-standard_cart .btn.btn-primary,
#order-standard_cart .btn.btn-black,
#order-standard_cart .btn-black {
  background: #072673 !important;
  border-color: #072673 !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  font-weight: 800;
}

/* Outline button style aligned to hostbility_theme */
#order-standard_cart .btn-outline-black,
#order-standard_cart .btn.btn-outline-black {
  background: #ffffff !important;
  border: 1px solid #072673 !important;
  color: #072673 !important;
  border-radius: 10px !important;
  font-weight: 700;
}

#order-standard_cart .btn-outline-black:hover,
#order-standard_cart .btn.btn-outline-black:hover {
  background: #072673 !important;
  color: #ffffff !important;
}

/* Reduce hard "square" buttons from legacy templates */
#order-standard_cart .rounded-0 {
  border-radius: 10px !important;
}

/* Make small “Edit” / action buttons match domain button sizing */
#order-standard_cart .minimal-button-cart,
#order-standard_cart .btn-remove-from-cart {
  border-radius: 10px !important;
  padding: 6px 10px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  line-height: 1.2;
}

/* Icon-only remove buttons (trash / X) */
#order-standard_cart button.btn-remove-from-cart:not(.btn-link) {
  width: 38px;
  height: 38px;
  padding: 0 !important;
  border-radius: 999px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--h-border, #e4e5e7);
  background: #ffffff;
  color: #6b7280;
}

#order-standard_cart button.btn-remove-from-cart:not(.btn-link):hover,
#order-standard_cart button.btn-remove-from-cart:not(.btn-link):focus {
  border-color: rgba(185, 28, 28, 0.35);
  color: #b91c1c;
  background: rgba(185, 28, 28, 0.04);
  outline: 0;
}

#order-standard_cart button.btn-remove-from-cart i.feather {
  font-size: 16px;
  line-height: 1;
}

/* Empty cart button */
#order-standard_cart #btnEmptyCart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(185, 28, 28, 0.28);
  background: #ffffff;
  color: #b91c1c;
  font-weight: 800;
  font-size: 0.85rem;
}

#order-standard_cart #btnEmptyCart:hover,
#order-standard_cart #btnEmptyCart:focus {
  background: rgba(185, 28, 28, 0.06);
  border-color: rgba(185, 28, 28, 0.42);
  outline: 0;
}

#order-standard_cart #btnEmptyCart i.feather {
  font-size: 16px;
}

/* Place the "Empty cart" action where it doesn't break layout */
#order-standard_cart .empty-cart-btn {
  display: flex;
  justify-content: flex-end;
  margin: 8px 0 24px 0;
}

#order-standard_cart .btn-link.btn-remove-from-cart {
  color: #b91c1c;
  text-decoration: none;
}

#order-standard_cart .btn-link.btn-remove-from-cart:hover {
  color: #991b1b;
}

/* Make "continue shopping" / secondary actions consistent */
#order-standard_cart a {
  color: inherit;
}

@media (max-width: 575.98px) {
  #order-standard_cart .container,
  #order-standard_cart .container-fluid {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* Checkout page: keep the full WHMCS form neatly contained in the Hostbility card shell. */
#order-standard_cart.hb-checkout-page {
  --hb-checkout-primary: var(--h-primary, #072673);
  --hb-checkout-accent: var(--h-promo-accent, #673de6);
  --hb-checkout-ink: var(--h-text, #111827);
  --hb-checkout-muted: var(--h-muted, #6b7280);
  --hb-checkout-border: var(--h-border, #e5e7eb);
  --hb-checkout-soft: #f8fafc;
  max-width: 100%;
  overflow: hidden;
  color: var(--hb-checkout-ink);
}

#order-standard_cart.hb-checkout-page * {
  box-sizing: border-box;
}

@supports (overflow: clip) {
  #order-standard_cart.hb-checkout-page {
    overflow: clip;
  }
}

#order-standard_cart.hb-checkout-page .hb-cart-flow,
#order-standard_cart.hb-checkout-page .hb-cart-card,
#order-standard_cart.hb-checkout-page .h-domain-card-body,
#order-standard_cart.hb-checkout-page #frmCheckout {
  max-width: 100%;
  min-width: 0;
}

#order-standard_cart.hb-checkout-page .hb-cart-card {
  border-color: rgba(15, 23, 42, 0.08);
  border-radius: 22px;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.055);
}

#order-standard_cart.hb-checkout-page .h-domain-card-body {
  padding: clamp(18px, 2.4vw, 34px);
  overflow: visible;
}

#order-standard_cart.hb-checkout-page .already-registered {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin: 0 0 18px;
}

#order-standard_cart.hb-checkout-page .checkout-error-feedback {
  border: 1px solid rgba(220, 38, 38, 0.18);
  border-radius: 16px;
  background: #fff5f5;
  color: #991b1b;
  font-size: 0.9rem;
  line-height: 1.55;
}

#order-standard_cart.hb-checkout-page .register-area-box-checkout {
  position: relative;
  margin: 0 0 clamp(18px, 2vw, 26px);
  padding: clamp(22px, 2.3vw, 32px) !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.045) !important;
  overflow: visible;
}

#order-standard_cart.hb-checkout-page .register-area-box-checkout-title {
  position: static;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 18px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--hb-checkout-ink);
  font-size: clamp(0.98rem, 1.3vw, 1.08rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.015em;
  text-transform: none;
}

#order-standard_cart.hb-checkout-page .register-area-box-checkout-title::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--hb-checkout-primary);
  box-shadow: 0 0 0 5px rgba(7, 38, 115, 0.08);
}

#order-standard_cart.hb-checkout-page .row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -8px;
  margin-left: -8px;
}

#order-standard_cart.hb-checkout-page .row > [class*="col-"] {
  min-width: 0;
  padding-right: 8px;
  padding-left: 8px;
}

#order-standard_cart.hb-checkout-page .row > .pl-0,
#order-standard_cart.hb-checkout-page .row > .px-0 {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

#order-standard_cart.hb-checkout-page .form-group {
  position: relative;
  margin-bottom: 16px;
}

#order-standard_cart.hb-checkout-page label,
#order-standard_cart.hb-checkout-page .small,
#order-standard_cart.hb-checkout-page p,
#order-standard_cart.hb-checkout-page .field-help-text {
  color: var(--hb-checkout-muted);
  font-size: 0.86rem;
  font-weight: 500;
  line-height: 1.6;
}

#order-standard_cart.hb-checkout-page .form-group > label:not(.field-icon),
#order-standard_cart.hb-checkout-page #paymentGatewaysContainer > p {
  display: block;
  margin: 0 0 8px;
  color: var(--hb-checkout-ink);
  font-size: 0.82rem;
  font-weight: 700;
}

#order-standard_cart.hb-checkout-page .prepend-icon .field-icon {
  position: absolute;
  top: 50%;
  left: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin: 0;
  color: rgba(17, 24, 39, 0.46);
  transform: translateY(-50%);
  pointer-events: none;
}

#order-standard_cart.hb-checkout-page .prepend-icon .field-icon i {
  font-size: 0.9rem;
  line-height: 1;
}

#order-standard_cart.hb-checkout-page .prepend-icon textarea ~ .field-icon,
#order-standard_cart.hb-checkout-page .prepend-icon textarea + .field-icon {
  top: 22px;
  transform: none;
}

#order-standard_cart.hb-checkout-page .prepend-icon .form-control,
#order-standard_cart.hb-checkout-page .prepend-icon input.form-control,
#order-standard_cart.hb-checkout-page .prepend-icon select.form-control {
  padding-left: 46px;
}

#order-standard_cart.hb-checkout-page .form-control,
#order-standard_cart.hb-checkout-page .custom-select,
#order-standard_cart.hb-checkout-page input.form-control,
#order-standard_cart.hb-checkout-page select.form-control,
#order-standard_cart.hb-checkout-page textarea.form-control,
#order-standard_cart.hb-checkout-page .field {
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  border: 1px solid var(--hb-checkout-border);
  border-radius: 12px;
  background-color: #ffffff;
  color: var(--hb-checkout-ink);
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.45;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

#order-standard_cart.hb-checkout-page textarea.form-control {
  min-height: 120px;
  resize: vertical;
}

#order-standard_cart.hb-checkout-page .form-control::placeholder {
  color: rgba(107, 114, 128, 0.72);
}

#order-standard_cart.hb-checkout-page .form-control:focus,
#order-standard_cart.hb-checkout-page .custom-select:focus,
#order-standard_cart.hb-checkout-page .field:focus {
  border-color: rgba(7, 38, 115, 0.42);
  box-shadow: 0 0 0 4px rgba(7, 38, 115, 0.09);
}

@supports (color: color-mix(in srgb, #000 50%, #fff)) {
  #order-standard_cart.hb-checkout-page .form-control:focus,
  #order-standard_cart.hb-checkout-page .custom-select:focus,
  #order-standard_cart.hb-checkout-page .field:focus {
    border-color: color-mix(in srgb, var(--hb-checkout-primary) 42%, #dbe3ef);
  }
}

#order-standard_cart.hb-checkout-page .checkout-page-account-select {
  height: 100%;
  margin-bottom: 16px;
  border: 1px solid var(--hb-checkout-border);
  border-radius: 16px;
  background: #ffffff;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

#order-standard_cart.hb-checkout-page .checkout-page-account-select:hover,
#order-standard_cart.hb-checkout-page .checkout-page-account-select.active {
  border-color: rgba(7, 38, 115, 0.26);
  box-shadow: 0 14px 30px rgba(7, 38, 115, 0.08);
}

#order-standard_cart.hb-checkout-page .checkout-page-account-select label {
  display: flex;
  gap: 12px;
  width: 100%;
  min-height: 100%;
  padding: 16px;
  cursor: pointer;
}

#order-standard_cart.hb-checkout-page .checkout-page-account-select input[type="radio"] {
  flex: 0 0 auto;
  margin: 4px 0 0;
}

#order-standard_cart.hb-checkout-page .billingadress-wrap {
  min-width: 0;
  width: 100%;
}

#order-standard_cart.hb-checkout-page .billingadress-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

#order-standard_cart.hb-checkout-page .billingadress-header h6 {
  margin: 0;
  color: var(--hb-checkout-ink);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.35;
}

#order-standard_cart.hb-checkout-page #totalDueToday {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 20px;
  padding: 16px 18px;
  border: 1px solid rgba(16, 185, 129, 0.20);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.10), rgba(7, 38, 115, 0.06));
  color: #065f46;
  font-size: 0.92rem;
  font-weight: 700;
}

#order-standard_cart.hb-checkout-page #totalCartPrice {
  color: var(--hb-checkout-primary);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 800;
}

#order-standard_cart.hb-checkout-page .apply-credit-container,
#order-standard_cart.hb-checkout-page #paymentGatewaysContainer,
#order-standard_cart.hb-checkout-page .cc-input-container {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  background: var(--hb-checkout-soft);
}

#order-standard_cart.hb-checkout-page .payment-gateways-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
}

#order-standard_cart.hb-checkout-page .payment-gateways-container .radio-inline,
#order-standard_cart.hb-checkout-page .apply-credit-container .radio,
#order-standard_cart.hb-checkout-page .cc-input-container .radio-inline {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--hb-checkout-border);
  border-radius: 12px;
  background: #ffffff;
  color: var(--hb-checkout-ink);
  font-size: 0.88rem;
  font-weight: 700;
}

#order-standard_cart.hb-checkout-page .payment-gateways-container input,
#order-standard_cart.hb-checkout-page .apply-credit-container input,
#order-standard_cart.hb-checkout-page .cc-input-container input[type="radio"] {
  flex: 0 0 auto;
  margin: 0;
}

#order-standard_cart.hb-checkout-page #creditCardInputFields ul {
  padding: 0;
  margin: 16px 0;
  list-style: none;
}

#order-standard_cart.hb-checkout-page .input-group {
  width: 100%;
}

#order-standard_cart.hb-checkout-page .input-group .form-control {
  min-width: 0;
}

#order-standard_cart.hb-checkout-page table,
#order-standard_cart.hb-checkout-page .table,
#order-standard_cart.hb-checkout-page iframe,
#order-standard_cart.hb-checkout-page img,
#order-standard_cart.hb-checkout-page #paymentGatewayInput,
#order-standard_cart.hb-checkout-page #frmCheckout .alert,
#order-standard_cart.hb-checkout-page .existing-cc-grid,
#order-standard_cart.hb-checkout-page .remote-inputs {
  max-width: 100%;
}

#order-standard_cart.hb-checkout-page .table-responsive {
  border: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

#order-standard_cart.hb-checkout-page #paymentGatewayInput iframe,
#order-standard_cart.hb-checkout-page .cc-input-container iframe {
  width: 100%;
  border-radius: 12px;
}

#order-standard_cart.hb-checkout-page .inputcardcvv-button,
#order-standard_cart.hb-checkout-page .input-group-append .btn,
#order-standard_cart.hb-checkout-page .input-group-btn .btn {
  min-width: 44px;
  border-radius: 10px;
  border: 1px solid var(--hb-checkout-border);
  background: #ffffff;
  color: var(--hb-checkout-primary);
  font-weight: 800;
}

#order-standard_cart.hb-checkout-page .password-strength-meter {
  width: 100%;
  margin: 2px 0 16px;
}

#order-standard_cart.hb-checkout-page .password-strength-meter .progress {
  height: 8px;
  border-radius: 999px;
  background: #e5e7eb;
  overflow: hidden;
}

#order-standard_cart.hb-checkout-page .marketing-email-optin,
#order-standard_cart.hb-checkout-page .text-center:last-of-type {
  text-align: left !important;
}

#order-standard_cart.hb-checkout-page .text-center:last-of-type {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  margin-top: 8px;
}

#order-standard_cart.hb-checkout-page .text-center:last-of-type p {
  margin: 0;
}

#order-standard_cart.hb-checkout-page .checkbox-inline {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--hb-checkout-muted);
  text-align: left;
}

#order-standard_cart.hb-checkout-page .checkbox-inline a {
  color: var(--hb-checkout-primary);
  font-weight: 800;
  text-decoration: none;
}

#order-standard_cart.hb-checkout-page .btn,
#order-standard_cart.hb-checkout-page button {
  white-space: normal;
}

#order-standard_cart.hb-checkout-page #btnAlreadyRegistered,
#order-standard_cart.hb-checkout-page #btnNewUserSignup,
#order-standard_cart.hb-checkout-page #btnExistingLogin,
#order-standard_cart.hb-checkout-page #btnCompleteOrder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 12px 18px;
  border-radius: 12px !important;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.2;
}

#order-standard_cart.hb-checkout-page #btnCompleteOrder {
  width: min(100%, 360px);
  margin-left: auto;
  border: 0 !important;
  background: var(--hb-checkout-primary) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 36px rgba(7, 38, 115, 0.18);
}

#order-standard_cart.hb-checkout-page #btnCompleteOrder:hover,
#order-standard_cart.hb-checkout-page #btnCompleteOrder:focus {
  filter: brightness(1.04);
  transform: translateY(-1px);
}

@media (max-width: 991.98px) {
  #order-standard_cart.hb-checkout-page .h-domain-page-header {
    align-items: stretch;
  }

  #order-standard_cart.hb-checkout-page .h-domain-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 767.98px) {
  #order-standard_cart.hb-checkout-page {
    overflow: visible;
  }

  #order-standard_cart.hb-checkout-page .h-domain-card-body {
    padding: 16px;
  }

  #order-standard_cart.hb-checkout-page .register-area-box-checkout {
    padding: 20px !important;
    border-radius: 16px !important;
  }

  #order-standard_cart.hb-checkout-page .row {
    margin-right: 0;
    margin-left: 0;
  }

  #order-standard_cart.hb-checkout-page .row > [class*="col-"],
  #order-standard_cart.hb-checkout-page .row > .pl-0,
  #order-standard_cart.hb-checkout-page .row > .px-0 {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  #order-standard_cart.hb-checkout-page .already-registered,
  #order-standard_cart.hb-checkout-page .h-domain-actions,
  #order-standard_cart.hb-checkout-page #totalDueToday {
    flex-direction: column;
    align-items: stretch;
  }

  #order-standard_cart.hb-checkout-page .payment-gateways-container {
    grid-template-columns: 1fr;
  }

  #order-standard_cart.hb-checkout-page #btnCompleteOrder {
    width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 420px) {
  #order-standard_cart.hb-checkout-page .h-domain-card-body {
    padding: 12px;
  }

  #order-standard_cart.hb-checkout-page .register-area-box-checkout {
    padding: 16px !important;
  }
}

/* Service renewals: dashboard-native hierarchy and responsive checkout flow. */
#order-standard_cart.hb-renewals-page {
  --hb-renew-primary: var(--h-primary, #072673);
  --hb-renew-primary-soft: color-mix(in srgb, var(--hb-renew-primary) 8%, #ffffff);
  --hb-renew-border: rgba(15, 23, 42, 0.10);
  --hb-renew-text: #111827;
  --hb-renew-muted: #64748b;
  width: 100%;
  max-width: 100%;
  overflow: visible;
}

#order-standard_cart.hb-renewals-page .h-domain-page-header {
  align-items: center;
  margin-bottom: 20px;
  padding: 22px 24px;
  border: 1px solid var(--hb-renew-border);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--hb-renew-primary) 12%, transparent), transparent 42%),
    #ffffff;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.05);
}

#order-standard_cart.hb-renewals-page .h-domain-page-title {
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  font-weight: 700;
  letter-spacing: -0.025em;
}

#order-standard_cart.hb-renewals-page .h-domain-page-subtitle {
  max-width: 680px;
  color: var(--hb-renew-muted);
  font-size: 0.9rem;
}

#order-standard_cart.hb-renewals-page .h-domain-card {
  border-color: var(--hb-renew-border);
  border-radius: 18px;
  background: #f8fafc;
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.06);
}

#order-standard_cart.hb-renewals-page .h-domain-card-body {
  padding: clamp(18px, 2.5vw, 30px);
}

#order-standard_cart.hb-renewals-page .hb-renewals-search {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 18px !important;
}

#order-standard_cart.hb-renewals-page .service-renewals-filter.form-control {
  width: min(100%, 420px) !important;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid var(--hb-renew-border) !important;
  border-radius: 10px !important;
  background: #ffffff;
  color: var(--hb-renew-text);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

#order-standard_cart.hb-renewals-page .hb-renewals-count {
  margin: 0 0 18px;
  color: var(--hb-renew-muted);
  font-size: 0.82rem;
  font-weight: 600;
}

#order-standard_cart.hb-renewals-page .hb-renewals-count a {
  color: var(--hb-renew-primary);
  font-weight: 700;
}

#order-standard_cart.hb-renewals-page .hb-renewals-grid {
  align-items: flex-start;
  margin-top: 0;
}

#order-standard_cart.hb-renewals-page .service-renewals {
  margin: 0;
  border: 0;
  background: transparent;
}

#order-standard_cart.hb-renewals-page .service-renewals .service-renewal,
#order-standard_cart.hb-renewals-page .service-renewals .service-renewal:nth-child(even) {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

#order-standard_cart.hb-renewals-page .hb-renewal-card {
  position: relative;
  margin-bottom: 16px;
  padding: clamp(18px, 2vw, 24px);
  overflow: hidden;
  border: 1px solid var(--hb-renew-border);
  border-radius: 15px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.045);
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

#order-standard_cart.hb-renewals-page .hb-renewal-card::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--hb-renew-primary);
  content: "";
}

#order-standard_cart.hb-renewals-page .hb-renewal-card:hover {
  border-color: color-mix(in srgb, var(--hb-renew-primary) 28%, var(--hb-renew-border));
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08);
  transform: translateY(-2px);
}

#order-standard_cart.hb-renewals-page .hb-renewal-card.is-disabled {
  opacity: 1;
  background: #f8fafc;
}

#order-standard_cart.hb-renewals-page .hb-renewal-card.is-disabled::before {
  background: #94a3b8;
}

#order-standard_cart.hb-renewals-page .hb-renewal-top,
#order-standard_cart.hb-renewals-page .hb-renewal-bottom {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

#order-standard_cart.hb-renewals-page .hb-renewal-bottom {
  align-items: flex-end;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(15, 23, 42, 0.07);
}

#order-standard_cart.hb-renewals-page .hb-renewal-product {
  color: var(--hb-renew-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
}

#order-standard_cart.hb-renewals-page .hb-renewal-domain {
  margin-top: 5px;
  color: var(--hb-renew-primary);
  font-size: 0.86rem;
  font-weight: 650;
  overflow-wrap: anywhere;
}

#order-standard_cart.hb-renewals-page .hb-renewal-desc {
  margin-top: 13px;
  color: var(--hb-renew-muted);
  font-size: 0.84rem;
  line-height: 1.6;
}

#order-standard_cart.hb-renewals-page .hb-renewal-badge .badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  white-space: nowrap;
}

#order-standard_cart.hb-renewals-page .hb-renewal-period-label {
  margin-bottom: 5px;
  color: var(--hb-renew-muted);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

#order-standard_cart.hb-renewals-page .hb-renewal-period-value {
  color: var(--hb-renew-text);
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.5;
}

#order-standard_cart.hb-renewals-page .btn-add-renewal-to-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 132px;
  min-height: 42px;
  padding: 10px 16px !important;
  border: 1px solid var(--hb-renew-primary) !important;
  border-radius: 10px !important;
  background: var(--hb-renew-primary) !important;
  color: #ffffff !important;
  font-size: 0.78rem !important;
  font-weight: 700;
  line-height: 1.2;
  white-space: normal;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--hb-renew-primary) 20%, transparent);
}

#order-standard_cart.hb-renewals-page .btn-add-renewal-to-cart:hover,
#order-standard_cart.hb-renewals-page .btn-add-renewal-to-cart:focus {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

#order-standard_cart.hb-renewals-page .btn-add-renewal-to-cart[aria-busy="true"] {
  cursor: wait;
  opacity: 0.82;
}

#order-standard_cart.hb-renewals-page .hb-renewal-ineligible {
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.55;
}

#order-standard_cart.hb-renewals-page .hb-renewal-ineligible i {
  margin-right: 7px;
  color: #d97706;
}

#order-standard_cart.hb-renewals-page .hb-renewals-summary {
  position: sticky;
  top: 22px;
  padding: 18px;
  border: 1px solid var(--hb-renew-border);
  border-radius: 15px;
  background: #ffffff;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
}

#order-standard_cart.hb-renewals-page .hb-renewals-summary .order-summary {
  margin-bottom: 14px;
  overflow: hidden;
  border: 0;
  border-radius: 12px;
  background: var(--hb-renew-primary);
}

#order-standard_cart.hb-renewals-page .hb-renewals-summary .order-summary h2 {
  padding: 13px 16px;
  color: #ffffff;
  font-size: 0.95rem;
  font-weight: 700;
}

#order-standard_cart.hb-renewals-page .hb-renewals-summary .summary-container {
  border-radius: 0 0 11px 11px;
  background: #f8fafc;
}

#order-standard_cart.hb-renewals-page #btnGoToCart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  border: 0;
  border-radius: 10px;
  background: var(--hb-renew-primary);
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 700;
}

#order-standard_cart.hb-renewals-page .hb-renewal-bridge-notice {
  margin: 0 0 16px;
  padding: 13px 15px;
  border: 1px solid #f5cf7a;
  border-radius: 10px;
  background: #fff9e8;
  color: #704b05;
  font-size: 0.82rem;
  line-height: 1.55;
}

#order-standard_cart.hb-renewals-page .hb-renewal-bridge-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

#order-standard_cart.hb-renewals-page .hb-renewal-bridge-retry {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid #b77909;
  border-radius: 8px;
  background: transparent;
  color: #704b05;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

@media (max-width: 991.98px) {
  #order-standard_cart.hb-renewals-page .hb-renewals-summary {
    position: static;
    margin-top: 8px;
  }
}

@media (max-width: 767.98px) {
  #order-standard_cart.hb-renewals-page .h-domain-page-header,
  #order-standard_cart.hb-renewals-page .hb-renewal-top,
  #order-standard_cart.hb-renewals-page .hb-renewal-bottom {
    align-items: stretch;
    flex-direction: column;
  }

  #order-standard_cart.hb-renewals-page .h-domain-page-header {
    padding: 18px;
  }

  #order-standard_cart.hb-renewals-page .h-domain-actions,
  #order-standard_cart.hb-renewals-page .h-domain-actions a,
  #order-standard_cart.hb-renewals-page .btn-add-renewal-to-cart {
    width: 100%;
  }

  #order-standard_cart.hb-renewals-page .hb-renewal-badge {
    align-self: flex-start;
  }

  #order-standard_cart.hb-renewals-page .service-renewals-filter.form-control {
    width: 100% !important;
  }

  #order-standard_cart.hb-renewals-page .hb-renewal-bridge-notice {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  #order-standard_cart.hb-renewals-page .hb-renewal-card,
  #order-standard_cart.hb-renewals-page .btn-add-renewal-to-cart {
    transition: none;
  }

  #order-standard_cart.hb-renewals-page .hb-renewal-card:hover,
  #order-standard_cart.hb-renewals-page .btn-add-renewal-to-cart:hover {
    transform: none;
  }
}
