/* ==========================================================
   OneClick Hosting — "Ice" client area theme
   Child of Twenty-One. Colours, type and components only.
   ========================================================== */
:root {
  --ice-bg: #F5F9FF;
  --ice-bg2: #EAF2FD;
  --ice-surface: #FFFFFF;
  --ice-border: #D6E3F5;
  --ice-border-strong: #B9CCE8;
  --ice-text: #0A1A3A;
  --ice-muted: #4A5F80;
  --ice-blue: #2563EB;
  --ice-blue-dark: #1D4ED8;
  --ice-green: #16A34A;
  --ice-green-dark: #15803D;
  --ice-navy: #0A1A3A;
  --ice-term-green: #4ADE80;
  --ice-term-blue: #7DD3FC;
  --ice-radius: 14px;
  --ice-font: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ice-display: "Space Grotesk", Inter, sans-serif;
  --ice-mono: "JetBrains Mono", SFMono-Regular, Menlo, monospace;
  --primary: #0A1A3A;
  --blue: #2563EB;
  --success: #16A34A;
}

/* ---------- Base ---------- */
body, body.primary-bg-color {
  background: var(--ice-bg) !important;
  color: var(--ice-text);
  font-family: var(--ice-font);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, .h1, .h2, .h3, .h4, .card-title, .pricing-card-title {
  font-family: var(--ice-display);
  font-weight: 700;
  letter-spacing: -0.025em;
  color: var(--ice-text);
}
h5, h6, .h5, .h6 { color: var(--ice-text); }
a { color: var(--ice-blue); }
a:hover { color: var(--ice-blue-dark); }
.text-muted, small.text-muted { color: var(--ice-muted) !important; }
code, kbd, pre { font-family: var(--ice-mono); }
::selection { background: #BFDBFE; }

/* ---------- Top strip ---------- */
.ice-strip {
  background: var(--ice-navy);
  color: #9FB4D6;
  font-family: var(--ice-mono);
  font-size: 12px;
  padding: 7px 0;
}
.ice-strip a { color: #EAF2FD; }
.ice-strip a:hover { color: var(--ice-term-green); text-decoration: none; }
.ice-strip span:first-child { color: var(--ice-term-green); }

/* ---------- Header ---------- */
.header { background: var(--ice-surface); border-bottom: 1px solid var(--ice-border); box-shadow: none; }
.header .topbar { background: var(--ice-bg2); border-bottom: 1px solid var(--ice-border); }
.header .topbar .btn, .header .topbar .input-group-text { color: var(--ice-muted); background: transparent; border: 0; font-size: 13px; }
.header .topbar .btn-active-client span { color: var(--ice-text); font-weight: 600; }
.header .navbar { padding-top: 14px; padding-bottom: 14px; }
.navbar-brand { display: inline-flex; align-items: center; gap: 10px; }
.ice-wordmark {
  font-family: var(--ice-display);
  font-weight: 700;
  font-size: 22px;
  letter-spacing: -0.01em;
  color: var(--ice-text);
}
.ice-wordmark span { color: var(--ice-green); }
.header .search .form-control, .header .search .btn {
  background: var(--ice-bg);
  border-color: var(--ice-border);
}
.header .search .form-control { border-radius: 0 10px 10px 0; }
.header .search .btn { border-radius: 10px 0 0 10px; color: var(--ice-muted); }
.header .toolbar .nav-link { color: var(--ice-text); border: 1px solid var(--ice-border); border-radius: 10px; }
.header .toolbar .badge-info { background: var(--ice-green); }

.main-navbar-wrapper { background: var(--ice-surface) !important; border-top: 1px solid var(--ice-border); }
.main-navbar-wrapper .navbar-nav .nav-link {
  color: var(--ice-muted) !important;
  font-weight: 500;
  font-size: 15px;
  padding: 12px 14px !important;
  border-radius: 8px;
}
.main-navbar-wrapper .navbar-nav .nav-link:hover,
.main-navbar-wrapper .navbar-nav .active > .nav-link,
.main-navbar-wrapper .navbar-nav .show > .nav-link { color: var(--ice-text) !important; background: var(--ice-bg2); }
.dropdown-menu { border: 1px solid var(--ice-border); border-radius: 12px; box-shadow: 0 16px 40px -18px rgba(10,26,58,.35); padding: 6px; }
.dropdown-item { border-radius: 8px; color: var(--ice-text); padding: 8px 12px; }
.dropdown-item:hover, .dropdown-item:focus { background: var(--ice-bg2); color: var(--ice-text); }
.dropdown-item.active, .dropdown-item:active { background: var(--ice-navy); color: #fff; }

/* ---------- Breadcrumb ---------- */
.master-breadcrumb { background: transparent; border: 0; }
.master-breadcrumb .breadcrumb { background: transparent; font-family: var(--ice-mono); font-size: 12px; padding: 18px 0 6px; margin: 0; }
.master-breadcrumb .breadcrumb-item, .master-breadcrumb .breadcrumb-item a { color: var(--ice-muted); }
.master-breadcrumb .breadcrumb-item.active { color: var(--ice-green); }

/* ---------- Layout ---------- */
#main-body { background: transparent; padding-top: 16px; padding-bottom: 72px; }
.primary-content > h1:first-child, .header-lined h1 { font-size: 34px; }

/* ---------- Cards / panels ---------- */
.card, .panel {
  background: var(--ice-surface);
  border: 1px solid var(--ice-border);
  border-radius: var(--ice-radius);
  box-shadow: none;
}
.card-header, .panel-heading {
  background: transparent;
  border-bottom: 1px solid var(--ice-border);
  padding: 16px 20px;
}
.card-header .card-title, .card-header h3, .card-header .h3 { font-size: 17px; margin: 0; }
.card-body { padding: 20px; }
.card-footer { background: var(--ice-bg); border-top: 1px solid var(--ice-border); border-radius: 0 0 var(--ice-radius) var(--ice-radius); }
.card-accent-blue, .card-accent-green, .card-accent-red, .card-accent-gold, .card-accent-teal,
.card-accent-midnight-blue, .card-accent-emerald, .card-accent-pomegranate, .card-accent-sun-flower,
.card-accent-asbestos, .card-accent-amethyst, .card-accent-orange { border-top: 1px solid var(--ice-border) !important; }

/* Sidebar */
.sidebar .card { margin-bottom: 18px; overflow: hidden; }
.sidebar .card-header { background: var(--ice-surface); }
.sidebar .card-header .card-title { font-family: var(--ice-mono); font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: lowercase; color: var(--ice-muted); }
.sidebar .card-header .card-title i { color: var(--ice-green); }
.sidebar .list-group-item { border-color: var(--ice-border); color: var(--ice-text); font-size: 14px; padding: 11px 20px; }
.sidebar .list-group-item:hover { background: var(--ice-bg); }
.sidebar .list-group-item.active, .list-group-item.active {
  background: var(--ice-bg2) !important;
  border-color: var(--ice-border) !important;
  color: var(--ice-text) !important;
  font-weight: 600;
  box-shadow: inset 3px 0 0 var(--ice-blue);
}
.list-group-item .badge { background: var(--ice-bg2); color: var(--ice-muted); font-weight: 600; }

/* ---------- Dashboard tiles ---------- */
.tiles { margin-bottom: 24px; }
.tiles .row { margin: 0 -8px; }
.tiles .tile {
  background: var(--ice-surface) !important;
  border: 1px solid var(--ice-border);
  border-radius: var(--ice-radius);
  margin: 0 8px 16px;
  padding: 20px 22px;
  transition: border-color .15s, transform .15s;
}
.tiles .tile:hover { border-color: var(--ice-blue); transform: translateY(-1px); text-decoration: none; }
.tiles .tile i { color: var(--ice-border-strong) !important; }
.tiles .tile .stat { font-family: var(--ice-display); font-weight: 700; font-size: 34px; letter-spacing: -0.03em; color: var(--ice-text); }
.tiles .tile .title { font-family: var(--ice-mono); font-size: 12px; text-transform: lowercase; color: var(--ice-muted); }
.tiles .tile .highlight { height: 3px; border-radius: 3px; }
.tiles .tile .highlight.bg-color-blue { background: var(--ice-blue) !important; }
.tiles .tile .highlight.bg-color-green { background: var(--ice-green) !important; }
.tiles .tile .highlight.bg-color-red { background: #EF4444 !important; }
.tiles .tile .highlight.bg-color-gold { background: #F59E0B !important; }
.client-home-cards .card-header { display: flex; align-items: center; }
.client-home-cards .card-header .card-title i { color: var(--ice-green); margin-right: 6px; }
.client-home-cards .card-header .btn { margin-left: auto; }

/* ---------- Buttons ---------- */
.btn { border-radius: 10px; font-weight: 600; padding: 9px 16px; transition: background .15s, border-color .15s, color .15s; }
.btn-sm { border-radius: 8px; padding: 5px 11px; }
.btn-lg { border-radius: 12px; padding: 13px 24px; }
.btn-primary, .btn-primary:not(:disabled):not(.disabled) {
  background: var(--ice-navy); border-color: var(--ice-navy); color: #fff;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:not(:disabled):not(.disabled):active {
  background: var(--ice-blue); border-color: var(--ice-blue); color: #fff;
}
.btn-success, .btn-success:not(:disabled):not(.disabled) { background: var(--ice-green); border-color: var(--ice-green); color: #fff; }
.btn-success:hover { background: var(--ice-green-dark); border-color: var(--ice-green-dark); }
.btn-info { background: var(--ice-blue); border-color: var(--ice-blue); color: #fff; }
.btn-info:hover { background: var(--ice-blue-dark); border-color: var(--ice-blue-dark); }
.btn-default, .btn-secondary, .btn-light, .btn-outline-primary, .btn-outline-secondary {
  background: var(--ice-surface); border: 1px solid var(--ice-border-strong); color: var(--ice-text);
}
.btn-default:hover, .btn-secondary:hover, .btn-light:hover, .btn-outline-primary:hover, .btn-outline-secondary:hover {
  background: var(--ice-bg2); border-color: var(--ice-blue); color: var(--ice-text);
}
.btn:focus, .btn.focus, .form-control:focus, .custom-select:focus { box-shadow: 0 0 0 3px rgba(37,99,235,.2) !important; }

/* ---------- Forms ---------- */
.form-control, .custom-select, .input-group-text {
  border-color: var(--ice-border-strong);
  border-radius: 10px;
  color: var(--ice-text);
}
.form-control { height: calc(1.5em + 1.1rem + 2px); padding: .55rem .9rem; }
textarea.form-control { height: auto; }
.form-control:focus { border-color: var(--ice-blue); }
.input-group-text { background: var(--ice-bg2); color: var(--ice-muted); }
label, .col-form-label { font-weight: 600; font-size: 14px; color: var(--ice-text); }

/* ---------- Tables ---------- */
.table { color: var(--ice-text); }
.table thead th, .table-list thead th, .dataTables_wrapper table.table-list thead th {
  background: var(--ice-surface) !important;
  border-bottom: 1px solid var(--ice-border) !important;
  border-top: 0;
  color: var(--ice-muted);
  font-family: var(--ice-mono);
  font-size: 12px;
  font-weight: 500;
  text-transform: lowercase;
}
.table td, .table th { border-color: #EAF2FD; vertical-align: middle; }
.table-list > tbody > tr > td { background: var(--ice-surface); }
.table-list > tbody > tr:hover > td { background: var(--ice-bg) !important; }
.table-container, .dataTables_wrapper { background: var(--ice-surface); border: 1px solid var(--ice-border); border-radius: var(--ice-radius); padding: 8px 12px; }
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.page-item.active .page-link { background: var(--ice-navy) !important; border-color: var(--ice-navy) !important; color: #fff !important; border-radius: 8px; }
.page-link { color: var(--ice-text); border-color: var(--ice-border); }

/* ---------- Status labels ---------- */
.label, .badge { border-radius: 999px; font-weight: 600; font-size: 12px; padding: 4px 10px; }
.status, .label.status { border-radius: 999px; }
.status-active, .status-paid, .status-completed, .status-open, .status-answered.label { background: #DCFCE7 !important; color: var(--ice-green-dark) !important; }
.status-pending, .status-unpaid, .status-customer-reply, .status-in-progress, .status-pending-transfer, .status-draft { background: #DBEAFE !important; color: var(--ice-blue-dark) !important; }
.status-answered { background: #DBEAFE !important; color: var(--ice-blue-dark) !important; }
.status-suspended, .status-overdue, .status-collections, .status-fraud, .status-expired, .status-redemption, .status-grace { background: #FEE2E2 !important; color: #B91C1C !important; }
.status-terminated, .status-cancelled, .status-closed, .status-refunded, .status-transferred-away, .status-onhold { background: #EEF2F7 !important; color: var(--ice-muted) !important; }
.badge-success { background: var(--ice-green); }
.badge-info, .badge-primary { background: var(--ice-blue); }

/* ---------- Alerts ---------- */
.alert { border-radius: 12px; border-width: 1px; }
.alert-info { background: #EFF6FF; border-color: #BFDBFE; color: #1E3A8A; }
.alert-success { background: #F0FDF4; border-color: #BBF7D0; color: #14532D; }
.alert-warning { background: #FFFBEB; border-color: #FDE68A; color: #78350F; }
.alert-danger { background: #FEF2F2; border-color: #FECACA; color: #7F1D1D; }

/* ---------- Nav tabs / pills ---------- */
.nav-tabs { border-bottom-color: var(--ice-border); }
.nav-tabs .nav-link { color: var(--ice-muted); border-radius: 10px 10px 0 0; }
.nav-tabs .nav-link.active { color: var(--ice-text); border-color: var(--ice-border) var(--ice-border) #fff; font-weight: 600; }
.nav-pills .nav-link.active { background: var(--ice-navy); }

/* ---------- Logged-out homepage: domain search hero ---------- */
.domain-search, .home-domain-search, #frmDomainHomepage, section.domain-search {
  background: var(--ice-navy) !important;
}
.home-domain-search { background: linear-gradient(180deg, var(--ice-navy), #0F2A5C) !important; border-radius: 0; }
.home-domain-search h2, .home-domain-search .h2, .domain-search h2 { color: #fff; font-family: var(--ice-display); }
.home-domain-search .input-group-wrapper, .domain-search .input-group { background: #fff; border-radius: 12px; padding: 6px; }
.home-domain-search .form-control { border: 0; font-family: var(--ice-mono); }
.home-domain-search .tld-logos, .home-domain-search .tld-logos li { color: #9FB4D6; }
.action-icon-btns a {
  background: var(--ice-surface) !important;
  border: 1px solid var(--ice-border) !important;
  border-radius: var(--ice-radius) !important;
  color: var(--ice-text) !important;
  font-weight: 600;
  box-shadow: none !important;
}
.action-icon-btns a:hover { border-color: var(--ice-blue) !important; }
.action-icon-btns a .ico-container { background: var(--ice-bg2) !important; border-radius: 12px; }
.action-icon-btns a .ico-container i { color: var(--ice-blue) !important; }
.card-columns.home .card { border-radius: 18px; }

/* ---------- Login / auth ---------- */
.login-form { background: transparent !important; box-shadow: none !important; border: 0 !important; }
.login-form .card, .card.mw-540 { border-radius: 18px; box-shadow: 0 30px 70px -40px rgba(10,26,58,.35); overflow: hidden; }

/* ---------- Footer ---------- */
.ice-footer { background: var(--ice-surface) !important; border-top: 1px solid var(--ice-border); color: var(--ice-text); padding: 56px 0 28px; margin-top: 0; }
.ice-footer .ice-label { font-family: var(--ice-mono); font-size: 12px; font-weight: 500; color: var(--ice-muted); margin-bottom: 14px; }
.ice-footer .ice-links li { margin-bottom: 8px; }
.ice-footer .ice-links a, .ice-footer-bottom a, .ice-footer .btn { color: var(--ice-text); background: none; border: 0; padding: 0; font-weight: 400; }
.ice-footer .ice-links a:hover, .ice-footer-bottom a:hover { color: var(--ice-blue); text-decoration: none; }
.ice-footer .ice-brand { gap: 10px; text-decoration: none; }
.ice-muted { color: var(--ice-muted); }
.ice-footer-bottom { border-top: 1px solid var(--ice-border); padding-top: 20px; font-size: 14px; color: var(--ice-muted); gap: 12px; }
.ice-footer-bottom .copyright { color: var(--ice-muted); }
.ice-footer-bottom .list-inline-item:not(:last-child) { margin-right: 18px; }

/* ---------- Misc ---------- */
.modal-content { border-radius: 16px; border-color: var(--ice-border); }
.popover { border-radius: 12px; border-color: var(--ice-border); }
.progress { background: var(--ice-bg2); border-radius: 999px; height: 8px; }
.progress-bar { background: linear-gradient(90deg, var(--ice-green), var(--ice-blue)); }
.ticket-reply .user, .view-ticket .posted-by { font-family: var(--ice-mono); }
.ticket-reply.staff { border-left: 3px solid var(--ice-blue); }

@media (max-width: 767px) {
  .ice-strip span:first-child { display: none; }
  .ice-wordmark { font-size: 19px; }
}

/* ---------- Order form (standard_cart) ---------- */
body #order-standard_cart .header-lined h1, body #order-standard_cart h1 { font-family: var(--ice-display); letter-spacing: -0.03em; }
body #order-standard_cart .products .product {
  background: var(--ice-surface);
  border: 1px solid var(--ice-border);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: none;
  transition: border-color .15s, box-shadow .15s;
}
body #order-standard_cart .products .product:hover { border-color: var(--ice-blue); box-shadow: 0 18px 40px -26px rgba(37,99,235,.45); }
body #order-standard_cart .products .product header {
  background: var(--ice-surface);
  border-bottom: 1px solid var(--ice-border);
  padding: 18px 22px;
}
body #order-standard_cart .products .product header span { font-family: var(--ice-display); font-weight: 700; font-size: 20px; color: var(--ice-text); }
body #order-standard_cart .products .product div.product-desc {
  font-family: var(--ice-mono);
  font-size: 13px;
  line-height: 1.9;
  color: var(--ice-muted);
  padding: 18px 22px;
}
body #order-standard_cart .products .product footer, body #order-standard_cart .products .product div.product-pricing { padding: 18px 22px; }
body #order-standard_cart .products .product .price {
  font-family: var(--ice-display);
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--ice-text);
}
body #order-standard_cart .btn-order-now, body #order-standard_cart .btn-success, body #order-standard_cart .btn-checkout {
  background: var(--ice-green) !important;
  border-color: var(--ice-green) !important;
  color: #fff !important;
  border-radius: 10px;
  font-weight: 600;
}
body #order-standard_cart .btn-order-now:hover, body #order-standard_cart .btn-success:hover, body #order-standard_cart .btn-checkout:hover {
  background: var(--ice-green-dark) !important;
  border-color: var(--ice-green-dark) !important;
}
body #order-standard_cart .btn-primary { background: var(--ice-navy); border-color: var(--ice-navy); }
body #order-standard_cart .summary-container, body #order-standard_cart .order-summary {
  background: var(--ice-navy) !important;
  border: 0 !important;
  border-radius: 16px;
  color: #EAF2FD;
}
body #order-standard_cart .order-summary h2 { background: transparent !important; color: #fff; font-family: var(--ice-display); }
body #order-standard_cart .order-summary .total-due-today .amt { font-family: var(--ice-display); color: #fff; }
body #order-standard_cart .order-summary .total-due-today span:not(.amt) { color: var(--ice-term-green); font-family: var(--ice-mono); }
body #order-standard_cart .view-cart-items-header { background: var(--ice-bg2); color: var(--ice-muted); font-family: var(--ice-mono); font-size: 12px; border-radius: 12px 12px 0 0; }
body #order-standard_cart .view-cart-items { border-color: var(--ice-border); }
body #order-standard_cart .sub-heading span { background: var(--ice-bg); color: var(--ice-muted); font-family: var(--ice-mono); font-size: 13px; }
body #order-standard_cart .sub-heading { border-top-color: var(--ice-border); }
body #order-standard_cart .field-container, body #order-standard_cart .domain-checker-container {
  background: var(--ice-surface) !important;
  border: 1px solid var(--ice-border);
  border-radius: 16px;
}
body #order-standard_cart .domain-checker-bg { background: var(--ice-navy) !important; border-radius: 16px; }
body #order-standard_cart .domain-checker-container .input-group-box, body #order-standard_cart .input-group-box { background: #fff; border-radius: 12px; }
body #order-standard_cart .domain-checker-available { color: var(--ice-green); }
body #order-standard_cart .domain-checker-unavailable { color: #B91C1C; }
body #order-standard_cart .panel, body #order-standard_cart .card { border-radius: 14px; }
body #order-standard_cart .product-info { background: var(--ice-surface); border: 1px solid var(--ice-border); border-radius: 14px; }
body #order-standard_cart .product-info .product-title { font-family: var(--ice-display); }
body #order-standard_cart .cart-sidebar .card-header, body #order-standard_cart .sidebar .card-header { background: var(--ice-surface); }
body #order-standard_cart .products .product .price { font-size: 22px; white-space: nowrap; }
body #order-standard_cart .products .product .btn-order-now { white-space: nowrap; padding: 10px 16px; }
body #order-standard_cart .products .product div.product-pricing { min-width: 150px; }
body #order-standard_cart .btn-warning, .btn-warning { background: var(--ice-green); border-color: var(--ice-green); color: #fff; }
body #order-standard_cart .btn-warning:hover, .btn-warning:hover { background: var(--ice-green-dark); border-color: var(--ice-green-dark); color: #fff; }
body #order-standard_cart .domain-promo-box .text-warning { color: var(--ice-green) !important; }

/* ==========================================================
   v2: match oneclickhosting.com.au
   ========================================================== */
/* Header: website bar */
.ice-sitebar { background: var(--ice-surface) !important; min-height: 72px; padding: 0 !important; }
.ice-sitebar .container { min-height: 72px; flex-wrap: nowrap; }
.ice-sitenav { list-style: none; margin: 0; padding: 0; gap: 4px; }
.ice-sitenav a { display: block; padding: 10px 12px; border-radius: 8px; color: var(--ice-muted); font-size: 15px; font-weight: 500; text-decoration: none !important; }
.ice-sitenav a:hover { color: var(--ice-text); background: var(--ice-bg2); }
.ice-btn-dark { background: var(--ice-navy); color: #fff !important; border-radius: 10px; padding: 10px 18px; font-weight: 600; font-size: 15px; }
.ice-btn-dark:hover { background: var(--ice-blue); }
.ice-sitebar .cart-btn, .ice-menu-btn { border: 1px solid var(--ice-border) !important; border-radius: 10px !important; width: 44px; height: 44px; display: inline-flex !important; align-items: center; justify-content: center; color: var(--ice-text) !important; position: relative; padding: 0 !important; }
.ice-sitebar .cart-btn .badge { position: absolute; top: -6px; right: -6px; background: var(--ice-green) !important; color: #fff; border-radius: 999px; font-size: 11px; }
/* Header: portal bar */
.ice-portalbar { background: var(--ice-bg2) !important; border-top: 1px solid var(--ice-border); border-bottom: 1px solid var(--ice-border); padding: 4px 0 !important; }
.ice-portal-label { font-family: var(--ice-mono); font-size: 12px; color: var(--ice-green); margin-right: 14px; white-space: nowrap; }
.ice-portalbar .navbar-nav .nav-link { font-size: 14px !important; padding: 8px 12px !important; }
.ice-sitenav-mobile { display: flex; flex-direction: column; border-bottom: 1px solid var(--ice-border); margin-bottom: 8px; padding-bottom: 8px; }
.ice-sitenav-mobile a { padding: 12px 8px; font-size: 16px; color: var(--ice-text); }
header.header .topbar { background: var(--ice-navy) !important; }
header.header .topbar .btn, header.header .topbar .input-group-text { color: #EAF2FD !important; }

/* Footer */
.ice-foot-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.4fr; gap: 40px; margin-bottom: 40px; }
.ice-footer .ice-label { text-transform: none; }
.ice-foot-links { display: inline-flex; flex-wrap: wrap; gap: 18px; align-items: center; }
.ice-foot-links a { color: var(--ice-muted) !important; }
.ice-flag { display: inline-flex; align-items: center; gap: 8px; color: var(--ice-muted); }
.ice-flag svg { border-radius: 2px; box-shadow: 0 0 0 1px var(--ice-border); }
@media (max-width: 991px) { .ice-foot-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px) { .ice-foot-grid { grid-template-columns: 1fr; gap: 28px; } }

/* Page headings */
#main-body h1, .header-lined h1 { font-family: var(--ice-display); letter-spacing: -0.035em; color: var(--ice-text); }
.master-breadcrumb { background: transparent !important; }

/* Cart sidebar = website card style */
body #order-standard_cart .cart-sidebar .card, .cart-sidebar .card { border: 1px solid var(--ice-border); border-radius: 16px; overflow: hidden; box-shadow: none; margin-bottom: 18px; }
.cart-sidebar .card-header { background: var(--ice-surface) !important; border-bottom: 1px solid var(--ice-border); }
.cart-sidebar .card-header .card-title, .cart-sidebar .card-title { font-family: var(--ice-mono) !important; font-size: 12px !important; font-weight: 500 !important; color: var(--ice-muted) !important; text-transform: lowercase; }
.cart-sidebar .card-header i { color: var(--ice-green); }
.cart-sidebar .list-group-item { border-color: var(--ice-border) !important; color: var(--ice-text) !important; font-size: 14px; padding: 11px 20px; }
.cart-sidebar .list-group-item:hover { background: var(--ice-bg) !important; }
.cart-sidebar .list-group-item.active { background: var(--ice-bg2) !important; color: var(--ice-text) !important; font-weight: 600; box-shadow: inset 3px 0 0 var(--ice-blue); border-color: var(--ice-border) !important; }

/* Domain checker: white card, mono input, green button */
body #order-standard_cart .domain-checker-container { background: transparent !important; border: 0 !important; padding: 0 !important; }
body #order-standard_cart .domain-checker-bg, .domain-checker-bg { background: var(--ice-surface) !important; background-image: none !important; border: 1px solid var(--ice-border2); border-radius: 18px; padding: 36px 0 !important; margin: 0 !important; }
body #order-standard_cart .domain-checker-container .input-group-box { background: transparent !important; box-shadow: none !important; padding: 0 !important; }
body #order-standard_cart #inputDomain, body #order-standard_cart .domain-checker-container .form-control { font-family: var(--ice-mono); font-size: 16px; height: 54px; border: 1px solid var(--ice-border2) !important; border-radius: 12px 0 0 12px !important; box-shadow: none !important; }
body #order-standard_cart .domain-check-availability, body #order-standard_cart .domain-checker-container .btn-primary { background: var(--ice-green) !important; border-color: var(--ice-green) !important; color: #fff !important; height: 54px; padding: 0 26px; border-radius: 0 12px 12px 0 !important; font-weight: 600; font-size: 16px; opacity: 1 !important; }
body #order-standard_cart .domain-check-availability:hover { background: #15803D !important; }
body #order-standard_cart .domain-checker-result-headline { font-family: var(--ice-display); letter-spacing: -0.02em; }
body #order-standard_cart .domain-price .price { font-family: var(--ice-display); font-weight: 700; }

/* Spotlight TLD tiles */
body #order-standard_cart .spotlight-tlds { background: transparent !important; }
body #order-standard_cart .spotlight-tld { background: var(--ice-surface) !important; border: 1px solid var(--ice-border) !important; border-radius: 12px !important; font-family: var(--ice-mono); }
body #order-standard_cart .spotlight-tld:hover { border-color: var(--ice-blue) !important; }
.spotlight-tld .spotlight-tld-sale, .spotlight-tld-hot, .spotlight-tld-new, .spotlight-tld-sale,
body #order-standard_cart .spotlight-tld .spotlight-tld-sale { background: var(--ice-green) !important; color: #fff !important; }
.label-sale, .badge-sale, body #order-standard_cart .label-sale { background: var(--ice-green) !important; color: #fff !important; border-radius: 6px; font-family: var(--ice-mono); }
body #order-standard_cart .spotlight-tld .btn-add-to-cart, body #order-standard_cart .btn-add-to-cart { background: var(--ice-navy) !important; border-color: var(--ice-navy) !important; color: #fff !important; border-radius: 8px; }
body #order-standard_cart .suggested-domains, body #order-standard_cart .domain-lookup-suggestions-loader { border-color: var(--ice-border) !important; background: var(--ice-surface) !important; border-radius: 0 0 14px 14px; }
body #order-standard_cart .domain-suggestion { border-color: var(--ice-border) !important; }
body #order-standard_cart .domain-suggestion .domain, body #order-standard_cart .domain-suggestion .extension { font-family: var(--ice-mono); }
body #order-standard_cart .nav-tabs .nav-link.active, body #order-standard_cart .tab-content { border-color: var(--ice-green); }

/* Promo boxes (Add hosting / Transfer) */
body #order-standard_cart .domain-promo-box, .domain-promo-box { background: var(--ice-surface) !important; border: 1px solid var(--ice-border) !important; border-radius: 18px !important; padding: 26px !important; }
body #order-standard_cart .domain-promo-box h3 { font-family: var(--ice-display); letter-spacing: -0.03em; }
body #order-standard_cart .domain-promo-box p.font-bold, body #order-standard_cart .domain-promo-box .text-warning, body #order-standard_cart .domain-promo-box .text-primary { color: var(--ice-green) !important; font-family: var(--ice-mono); font-size: 13px; font-weight: 500; }
body #order-standard_cart .domain-promo-box i, body #order-standard_cart .domain-promo-box .fas, body #order-standard_cart .domain-promo-box .far { color: var(--ice-blue) !important; }
body #order-standard_cart .domain-promo-box .btn { border-radius: 10px; font-weight: 600; }

/* Product cards: price in display font */
body #order-standard_cart .products .product .price { font-family: var(--ice-display) !important; font-weight: 700; font-size: 26px !important; letter-spacing: -0.03em; color: var(--ice-text); }
body #order-standard_cart .products .product header span { font-family: var(--ice-display); letter-spacing: -0.02em; }

/* Register page "Sign Up" divider */
.sub-heading { border-top-color: var(--ice-border) !important; }
.sub-heading .primary-bg-color, .sub-heading span { background: var(--ice-bg) !important; color: var(--ice-muted) !important; font-family: var(--ice-mono); font-size: 13px; }

/* Inputs with icons */
.prepend-icon .field-icon, .input-group-text { color: var(--ice-muted); background: var(--ice-bg2); border-color: var(--ice-border); }
.form-control { border-color: var(--ice-border2); border-radius: 10px; }
.form-control:focus { border-color: var(--ice-blue); box-shadow: 0 0 0 3px rgba(37,99,235,.15); }

/* Info alerts and empty states */
.alert-info { background: var(--ice-bg2) !important; border-color: var(--ice-border) !important; color: var(--ice-text) !important; border-radius: 12px; }
body #order-standard_cart .domain-checker-container .input-group-box input.form-control#inputDomain { border: 1px solid var(--ice-border2) !important; border-right: 0 !important; background: var(--ice-bg) !important; text-align: left; padding-left: 18px; }
body #order-standard_cart .domain-checker-container .input-group-box input.form-control#inputDomain:focus { border-color: var(--ice-blue) !important; background: #fff !important; }
/* Logged-in topbar on navy */
header.header .topbar { border-bottom: 1px solid #1B2D52; }
header.header .topbar .active-client .input-group-text { background: transparent !important; border: 0 !important; color: #9FB4D6 !important; font-family: var(--ice-mono); font-size: 12px; }
header.header .topbar .active-client .btn,
header.header .topbar .btn-active-client,
header.header .topbar .btn-active-client span { color: #FFFFFF !important; background: transparent !important; border: 0 !important; text-decoration: none !important; font-weight: 600; }
header.header .topbar .btn-active-client span { border-bottom: 1px dashed #4ADE80 !important; padding-bottom: 1px; }
header.header .topbar .btn-active-client:hover span { color: #4ADE80 !important; }
header.header .topbar .btn i, header.header .topbar #accountNotifications { color: #9FB4D6 !important; }
header.header .topbar .btn:hover i { color: #4ADE80 !important; }
/* Menus = website style */
.ice-portalbar .navbar-nav .nav-link,
.main-navbar-wrapper .navbar-nav .nav-link { font-family: var(--ice-font) !important; font-size: 15px !important; font-weight: 500 !important; color: var(--ice-muted) !important; border-radius: 8px; padding: 10px 12px !important; letter-spacing: 0; }
.ice-portalbar .navbar-nav .nav-link:hover,
.ice-portalbar .navbar-nav .show > .nav-link,
.ice-portalbar .navbar-nav .active > .nav-link { color: var(--ice-text) !important; background: var(--ice-surface) !important; }
header.header .dropdown-menu,
.main-navbar-wrapper .dropdown-menu { font-family: var(--ice-font); background: var(--ice-surface) !important; border: 1px solid var(--ice-border) !important; border-radius: 14px !important; padding: 8px !important; margin-top: 6px !important; min-width: 250px; box-shadow: 0 24px 50px -24px rgba(10,26,58,.35) !important; }
header.header .dropdown-menu .dropdown-item,
.main-navbar-wrapper .dropdown-menu .dropdown-item { font-family: var(--ice-font) !important; font-size: 15px !important; font-weight: 600 !important; color: var(--ice-text) !important; padding: 10px 12px !important; border-radius: 10px; line-height: 1.3; white-space: normal; }
header.header .dropdown-menu .dropdown-item:hover,
header.header .dropdown-menu .dropdown-item:focus,
header.header .dropdown-menu .dropdown-item.active,
.main-navbar-wrapper .dropdown-menu .dropdown-item:hover { background: var(--ice-bg2) !important; color: var(--ice-text) !important; }
header.header .dropdown-menu .dropdown-divider { border-color: var(--ice-border) !important; margin: 6px 4px; }
header.header .dropdown-menu .dropdown-item i { color: var(--ice-muted); margin-right: 6px; }
.ice-portalbar .dropdown-toggle::after { border-top-width: .32em; opacity: .6; margin-left: 6px; vertical-align: .15em; }
/* ---------- Mega-menu clean-up ---------- */
header.header .dropdown-menu > li.dropdown-item { padding: 0 !important; background: transparent !important; border-radius: 0; }
header.header .dropdown-menu > li.dropdown-item > a.dropdown-item { display: flex !important; flex-direction: column; align-items: flex-start; gap: 2px; padding: 10px 12px !important; }
header.header .dropdown-menu > li.dropdown-item > a.dropdown-item::after { font-family: var(--ice-mono); font-size: 12px; font-weight: 400; color: var(--ice-muted); white-space: normal; border: 0; margin: 0; }
header.header .dropdown-menu .dropdown-divider { margin: 4px 8px !important; }
header.header .dropdown-menu { min-width: 280px; }
#Primary_Navbar-Services-My_Services a::after { content: "Hosting, email & servers"; }
#Primary_Navbar-Services-Order_New_Services a::after { content: "Add a plan to your account"; }
#Primary_Navbar-Services-View_Available_Addons a::after { content: "Extras for your services"; }
#Primary_Navbar-Domains-My_Domains a::after { content: "Nameservers, DNS & contacts"; }
#Primary_Navbar-Domains-Renew_Domains a::after { content: "Renew before they expire"; }
#Primary_Navbar-Domains-Register_a_New_Domain a::after { content: ".com.au, .au, .com & more"; }
#Primary_Navbar-Domains-Transfer_a_Domain_to_Us a::after { content: "Free for .au domains"; }
#Primary_Navbar-Billing-My_Invoices a::after { content: "View & pay invoices"; }
#Primary_Navbar-Billing-My_Credit_and_Debit_Notes a::after { content: "Credits & adjustments"; }
#Primary_Navbar-Billing-My_Quotes a::after { content: "Quotes from our team"; }
#Primary_Navbar-Billing-Payment_Methods a::after { content: "Cards, PayPal & direct debit"; }
#Primary_Navbar-Billing-Add_Funds a::after { content: "Prepay account credit"; }
#Primary_Navbar-Support-Tickets a::after { content: "Your support requests"; }
#Primary_Navbar-Support-Announcements a::after { content: "News & maintenance"; }
#Primary_Navbar-Support-Knowledgebase a::after { content: "How-to guides"; }
#Primary_Navbar-Support-Network_Status a::after { content: "Live server status"; }
#Secondary_Navbar-Account-Logout a { color: #B91C1C !important; }
/* ---------- Mobile portal menu ---------- */
@media (max-width: 1199.98px) {
  .ice-strip span:first-child { display: none; }
  .ice-strip .container { justify-content: center !important; font-size: 12px; }
  .ice-strip a[href^="mailto"] { display: none; }
  .ice-portalbar { padding: 0 !important; border-bottom: 0 !important; }
  .ice-portalbar #mainNavbar.show, .ice-portalbar #mainNavbar.collapsing { border-bottom: 1px solid var(--ice-border); }
  .ice-portalbar #mainNavbar.show { max-height: calc(100dvh - 150px); overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 6px 0 18px; }
  .ice-portalbar .navbar-nav { flex-direction: column !important; width: 100%; margin: 0 !important; }
  .ice-portalbar .navbar-nav > li.nav-item { border-bottom: 1px solid var(--ice-border); padding: 4px 0; }
  .ice-portalbar .navbar-nav > li.nav-item > .nav-link { font-size: 16px !important; font-weight: 600 !important; color: var(--ice-text) !important; padding: 12px 4px !important; background: transparent !important; }
  .ice-portalbar .navbar-nav > li.dropdown > .dropdown-toggle { font-family: var(--ice-mono) !important; font-size: 12px !important; font-weight: 500 !important; color: #16A34A !important; padding: 12px 4px 4px !important; pointer-events: none; }
  .ice-portalbar .navbar-nav > li.dropdown > .dropdown-toggle::before { content: "// "; }
  .ice-portalbar .navbar-nav > li.dropdown > .dropdown-toggle::after { display: none; }
  .ice-portalbar .navbar-nav .dropdown-menu { display: block !important; position: static !important; float: none; transform: none !important; background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 0 6px !important; margin: 0 !important; min-width: 0; width: 100%; }
  .ice-portalbar .navbar-nav .dropdown-menu .dropdown-item { padding: 10px 4px !important; border-radius: 8px; }
  .ice-portalbar .navbar-nav .dropdown-menu .dropdown-divider { display: none; }
  .ice-portalbar .navbar-nav:last-child > li.nav-item:last-child { border-bottom: 0; }
  .ice-portalbar .ice-sitenav-mobile { list-style: none; margin: 0; padding: 0; }
  .ice-portalbar .ice-sitenav-mobile li a { display: block; padding: 12px 4px; font-size: 16px; font-weight: 600; color: var(--ice-text); border-bottom: 1px solid var(--ice-border); text-decoration: none; }
  header.header .topbar .container { flex-wrap: nowrap; }
}
@media (max-width: 1199.98px) {
  .ice-portalbar > .container { padding-left: 16px !important; padding-right: 16px !important; }
  .ice-portalbar .navbar-nav .dropdown-menu > li.dropdown-item { padding: 0 !important; }
  .ice-portalbar .navbar-nav .dropdown-menu > li.dropdown-item > a.dropdown-item { padding: 9px 4px !important; }
  .ice-strip .ice-strip-email { display: none; }
}
@media (max-width: 1199.98px) {
  .ice-portalbar .navbar-nav > li > a.nav-link:not(.dropdown-toggle) { font-size: 16px !important; font-weight: 600 !important; color: var(--ice-text) !important; padding: 12px 4px !important; }
}
@media (max-width: 1199.98px) {
  .ice-portalbar .navbar-nav > li:not(.dropdown) { border-bottom: 1px solid var(--ice-border); }
  .ice-portalbar .navbar-nav > li:not(.dropdown) > a { display: block; font-size: 16px !important; font-weight: 600 !important; color: var(--ice-text) !important; padding: 12px 4px !important; text-decoration: none; }
}
/* Store product cards on phones: stack, price row at the bottom */
@media (max-width: 767.98px) {
  body #order-standard_cart .products .product .product-desc,
  body #order-standard_cart .products .product footer { float: none !important; width: 100% !important; max-width: 100% !important; }
  body #order-standard_cart .products .product footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--ice-border); text-align: left !important; }
  body #order-standard_cart .products .product div.product-pricing { min-width: 0 !important; padding: 0 !important; margin: 0 !important; text-align: left !important; }
  body #order-standard_cart .products .product .price { font-size: 24px !important; }
  body #order-standard_cart .products .product footer .btn { flex: 0 0 auto; margin: 0 !important; width: auto !important; }
}
/* Domain step options as cards */
#frmProductDomain .domain-selection-options { background: transparent !important; padding: 0 !important; }
#frmProductDomain .domain-selection-options .option { background: var(--ice-surface); border: 1px solid var(--ice-border); border-radius: 14px; padding: 16px 18px !important; margin-bottom: 10px; }
#frmProductDomain .domain-selection-options .option-selected { border-color: #16A34A; box-shadow: 0 0 0 3px rgba(22,163,74,.12); }
#frmProductDomain .domain-selection-options .option label { font-weight: 600; color: var(--ice-text); font-size: 15px; margin: 0; }
#domainowndomain .ice-owndomain { height: 46px; font-family: var(--ice-mono); font-size: 16px; border: 1px solid var(--ice-border); border-radius: 10px; }
#domainowndomain .ice-owndomain:focus { border-color: #16A34A; box-shadow: 0 0 0 3px rgba(22,163,74,.15); }
/* Cart review step */
body #order-standard_cart .empty-cart .btn, body #order-standard_cart #btnEmptyCart { background: transparent !important; color: var(--ice-muted) !important; border: 0 !important; font-size: 13px; font-weight: 500; box-shadow: none !important; }
body #order-standard_cart .empty-cart .btn:hover, body #order-standard_cart #btnEmptyCart:hover { color: #B91C1C !important; }
body #order-standard_cart .view-cart-tabs .nav-tabs { border: 0; }
body #order-standard_cart .view-cart-tabs .nav-link { border: 0 !important; background: transparent !important; font-family: var(--ice-mono); font-size: 12px; color: var(--ice-muted) !important; padding-left: 0; }
body #order-standard_cart .view-cart-tabs .tab-content { background: transparent !important; border: 0 !important; padding: 0 !important; }
body #order-standard_cart .view-cart-tabs .input-group-prepend, body #order-standard_cart .view-cart-tabs .prepend-icon .field-icon { display: none !important; }
body #order-standard_cart .view-cart-tabs input.field, body #order-standard_cart .view-cart-tabs .form-control { padding-left: 14px !important; height: 46px; border-radius: 10px; }
body #order-standard_cart .order-summary #continueShopping, body #order-standard_cart .order-summary .btn-continue-shopping { color: #9FB4D6 !important; font-size: 13px; }
body #order-standard_cart .order-summary #continueShopping:hover { color: #FFFFFF !important; }
/* Checkout step */
body #order-standard_cart #btnCompleteOrder, body #order-standard_cart .btn-checkout { background: #16A34A !important; border-color: #16A34A !important; color: #FFFFFF !important; }
body #order-standard_cart #btnCompleteOrder:hover { background: #15803D !important; }
body #order-standard_cart .account .label, body #order-standard_cart .account .badge { display: none !important; }
body #order-standard_cart .alert-warning.checkout-security-msg { background: transparent !important; border: 0 !important; color: var(--ice-muted) !important; font-size: 12px; text-align: center; }
body #order-standard_cart .checkout-security-msg i { font-size: 14px !important; color: var(--ice-muted) !important; float: none !important; margin-right: 6px; }
/* ---------- Configure step ---------- */
body #order-standard_cart .header-lined p { color: var(--ice-muted); font-size: 15px; }
body #order-standard_cart .product-info { background: var(--ice-surface); border: 1px solid var(--ice-border); border-radius: 16px; padding: 22px 24px !important; margin-bottom: 16px; }
body #order-standard_cart .product-info .product-title { font-family: var(--ice-display); font-weight: 700; font-size: 22px; letter-spacing: -0.02em; color: var(--ice-text); margin: 0 0 10px; }
body #order-standard_cart .product-info p, body #order-standard_cart .product-info { font-family: var(--ice-mono); font-size: 13px; line-height: 1.85; color: var(--ice-muted); }
body #order-standard_cart .field-container { background: var(--ice-surface); border: 1px solid var(--ice-border); border-radius: 16px; padding: 18px 24px 20px !important; margin-bottom: 16px; }
body #order-standard_cart .field-container .form-group { margin: 0; }
body #order-standard_cart .field-container label { display: block; font-family: var(--ice-mono); font-size: 12px; color: #16A34A; margin: 0 0 8px; }
body #order-standard_cart .field-container label::before { content: "// "; }
body #order-standard_cart #inputBillingcycle { width: 100% !important; max-width: 100%; height: 50px; border-radius: 10px; border: 1px solid var(--ice-border); font-size: 16px; font-weight: 600; color: var(--ice-text); box-shadow: none; }
body #order-standard_cart #inputBillingcycle:focus { border-color: #16A34A; box-shadow: 0 0 0 3px rgba(22,163,74,.15); }
body #order-standard_cart .secondary-cart-body .alert-warning.info-text-sm { background: transparent !important; border: 0 !important; color: var(--ice-muted) !important; text-align: left; padding: 4px 0 !important; font-size: 14px; }
body #order-standard_cart .secondary-cart-body .alert-warning.info-text-sm i { display: none; }
body #order-standard_cart .secondary-cart-body .alert-warning.info-text-sm .alert-link { color: #16A34A !important; }
@media (max-width: 991.98px) {
  body #order-standard_cart .secondary-cart-sidebar { width: 100% !important; float: none !important; margin-top: 8px; }
  body #order-standard_cart .order-summary { border-radius: 16px; }
  body #order-standard_cart #btnCompleteProductConfig { width: 100%; display: block; }
}
body #order-standard_cart .order-summary .ice-domain-line { font-size: 13px; margin-top: 4px; }
body #order-standard_cart .order-summary .ice-domain-line span:first-child { max-width: 70%; overflow-wrap: anywhere; }
/* Phones: TLD dropdown wide enough for .com.au */
@media (max-width: 767.98px) {
  #frmProductDomain #domainregister .domains-row > [class*="col-"] { flex: 0 0 100%; max-width: 100%; }
  #frmProductDomain #domainregister .domains-row > [class*="col-"] + [class*="col-"] { margin-top: 8px; }
  #frmProductDomain #registertld { width: 100%; }
}
#producttotal .ice-domain-line span { font-size: 13px !important; line-height: 1.4; }
/* ---------- Domain details step (confdomains) ---------- */
body #order-standard_cart .addon-products { display: none !important; } /* free DNS mgmt / email forwarding: hosting covers both */
body #order-standard_cart .sub-heading { margin: 26px 0 14px; }
body #order-standard_cart form[action*="confdomains"] .form-group.row { background: transparent; margin-bottom: 12px; }
body #order-standard_cart form[action*="confdomains"] .col-sm-4.text-sm-right { text-align: left !important; flex: 0 0 100%; max-width: 100%; font-family: var(--ice-mono); font-size: 12px; color: #16A34A; padding-bottom: 6px; }
body #order-standard_cart form[action*="confdomains"] .col-sm-4.text-sm-right label { font-weight: 500; margin: 0; }
body #order-standard_cart form[action*="confdomains"] .col-sm-8 { flex: 0 0 100%; max-width: 100%; }
body #order-standard_cart form[action*="confdomains"] .form-control { height: 48px; border-radius: 10px; border: 1px solid var(--ice-border); background: var(--ice-surface); font-size: 15px; }
body #order-standard_cart form[action*="confdomains"] .field-help-text, body #order-standard_cart form[action*="confdomains"] small { color: var(--ice-muted); font-size: 13px; }
body #order-standard_cart form[action*="confdomains"] .ice-domain-card { background: var(--ice-surface); border: 1px solid var(--ice-border); border-radius: 16px; padding: 20px 24px 8px; margin: 0 0 16px; }
body #order-standard_cart form[action*="confdomains"] .ice-domain-card .form-group.row { margin-left: 0; margin-right: 0; }
