/* Duplika Nexus 1.0.3.
 * Native Nexus variables + targeted presentation overrides.
 * Keep nexus/, nexus_cart/ and standard_cart/ unmodified.
 */
:root {
  --white: #fff;
  --neutral-50: #f7f9fc;
  --neutral-100: #edf3f8;
  --neutral-200: #dce6ee;
  --neutral-300: #c3d1dc;
  --neutral-400: #879baa;
  --neutral-500: #5f7383;
  --neutral-600: #455e70;
  --neutral-700: #304c60;
  --neutral-800: #203d51;
  --neutral-900: #0d212f;
  --neutral-950: #06121a;
  --primary-50: #f0f7ff;
  --primary-100: #deefff;
  --primary-200: #bbdfff;
  --primary-300: #89c7ff;
  --primary-400: #59aff7;
  --primary-500: #288feb;
  --primary-600: #096abe;
  --primary-700: #005099;
  --primary-800: #064478;
  --primary-900: #0b365e;
  --primary-950: #08253f;
  --primary: #005099;
  --primary-lifted: #064478;
  --primary-accented: #0b365e;
  --secondary: #455e70;
  --secondary-lifted: #304c60;
  --secondary-accented: #203d51;
  --success: #167343;
  --success-lifted: #115b35;
  --success-accented: #0b4628;
  --info: #005099;
  --info-lifted: #064478;
  --info-accented: #0b365e;
  --notice: #7038b7;
  --notice-lifted: #602c9e;
  --notice-accented: #49207d;
  --warning: #a94800;
  --warning-lifted: #8a3900;
  --warning-accented: #702e00;
  --error: #b42336;
  --error-lifted: #962034;
  --error-accented: #79182a;
  --grayscale: #005099;
  --grayscale-lifted: #064478;
  --grayscale-accented: #0b365e;
  --neutral: #5f7383;
  --neutral-lifted: #455e70;
  --neutral-accented: #304c60;
  --text-inverted: #fff;
  --text-muted: #5f7383;
  --text-lifted: #5f7383;
  --text-accented: #455e70;
  --text: #0d212f;
  --border-muted: #dce6ee;
  --border: #c3d1dc;
  --border-lifted: #879baa;
  --border-accented: #005099;
  --bg: #fff;
  --bg-muted: #f7f9fc;
  --bg-lifted: #edf3f8;
  --bg-accented: #dce6ee;
  --bg-inverted: #005099;
  --yellow-200: #fff085;
  --yellow-300: #ffdf20;
  --teal-300: #46edd5;
  --teal-400: #00d5be;
  --emerald-300: #5ee9b5;
  --pink-400: #fb64b6;
  --text-xs: .75rem;
  --text-sm: .8125rem;
  --text-md: .9375rem;
  --text-lg: 1rem;
  --outline-sm: 1px;
  --outline-md: 2px;
  --outline-lg: 3px;
  --rounding-sm: .375rem;
  --rounding-md: .5rem;
  --rounding-lg: .75rem;
  --letter-spacing: 0em;
  --disabled-opacity: 50%;
  --duplika-font: Arial, Helvetica, sans-serif;
  --font-inter: var(--duplika-font);
  --duplika-link: #005099;
  --duplika-link-hover: #064478;
  --duplika-focus: #288feb;
  --duplika-success-bg: #edf9f2;
  --duplika-success-text: #145a37;
  --duplika-info-bg: #edf5ff;
  --duplika-info-text: #064478;
  --duplika-warning-bg: #fff6e8;
  --duplika-warning-text: #854000;
  --duplika-error-bg: #fff0f2;
  --duplika-error-text: #a41d31;
}

/* Dark tokens apply only on screen. Standalone documents without the hook
 * keep the default light tokens; printing always uses light tokens too. */
@media screen {
  :root[data-duplika-theme="light"] { color-scheme: light; }
  :root[data-duplika-theme="dark"] {
    color-scheme: dark;
    --primary: #096abe;
    --primary-lifted: #005099;
    --primary-accented: #064478;
    --secondary: #b4cadb;
    --secondary-lifted: #c7d9e7;
    --secondary-accented: #e2edf5;
    --success: #69d6a6;
    --success-lifted: #8ee3bc;
    --success-accented: #b7f0d5;
    --info: #89c7ff;
    --info-lifted: #bbdfff;
    --info-accented: #deefff;
    --notice: #c4a0f4;
    --notice-lifted: #d5bdf7;
    --notice-accented: #e7d8fb;
    --warning: #ffbf80;
    --warning-lifted: #ffd5a8;
    --warning-accented: #ffe5cc;
    --error: #ffb0ba;
    --error-lifted: #ffc7ce;
    --error-accented: #ffdde1;
    --grayscale: #096abe;
    --grayscale-lifted: #005099;
    --grayscale-accented: #064478;
    --neutral: #a8bfce;
    --neutral-lifted: #bdd0de;
    --neutral-accented: #d8e5ef;
    --text-muted: #a8bfce;
    --text-lifted: #a8bfce;
    --text-accented: #c4d5e2;
    --text: #edf5fb;
    --border-muted: #2b4355;
    --border: #3b566b;
    --border-lifted: #6e8da4;
    --border-accented: #89c7ff;
    --bg: #0d212f;
    --bg-muted: #06121a;
    --bg-lifted: #142e40;
    --bg-accented: #203d51;
    --bg-inverted: #096abe;
    --duplika-link: #89c7ff;
    --duplika-link-hover: #bbdfff;
    --duplika-focus: #89c7ff;
    --duplika-success-bg: #102f26;
    --duplika-success-text: #a1e8c7;
    --duplika-info-bg: #102d47;
    --duplika-info-text: #b3dcff;
    --duplika-warning-bg: #392b1a;
    --duplika-warning-text: #ffcf9d;
    --duplika-error-bg: #3b202b;
    --duplika-error-text: #ffc0c9;
  }

  /* The attribute is set only by our scoped HEAD hook. This keeps standalone
   * invoices, quotes and third-party themes outside these component rules. */
  html[data-duplika-theme] body {
    font-family: var(--duplika-font);
    font-size: .9375rem;
    font-weight: 400;
    background: var(--bg-muted);
    color: var(--text);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  html[data-duplika-theme] :is(h1,h2,h3,h4,h5,h6,input,select,textarea,button,.btn) {
    font-family: var(--duplika-font);
  }
  /* Match duplika.com's installed fonts, with a compact UI scale. Keep root
   * rem units and input sizes native; no font files or extra requests. */
  html[data-duplika-theme] :is(h1,h2) { font-weight: 500; letter-spacing: -.025em; }
  html[data-duplika-theme] h1 { font-size: clamp(1.75rem, 2.5vw, 2.25rem); line-height: 1.2; }
  /* Native page-title utility has !important; limit the override to that h1. */
  html[data-duplika-theme] h1.font-size-36 { font-size: clamp(1.75rem, 2.5vw, 2.25rem) !important; }
  html[data-duplika-theme] a:where(:not(#nexus-root *)) { color: var(--duplika-link); }
  html[data-duplika-theme] a:where(:not(#nexus-root *)):hover { color: var(--duplika-link-hover); }
  html[data-duplika-theme] :is(a,button,select,input,textarea):focus-visible {
    outline: 2px solid var(--duplika-focus);
    outline-offset: 3px;
  }
  html[data-duplika-theme] :is(.text-muted,.text-secondary,.small-text) { color: var(--text-muted) !important; }
  html[data-duplika-theme] .text-primary { color: var(--duplika-link) !important; }
  html[data-duplika-theme] :is(.text-dark,.text-body,.text-black-50) { color: var(--text) !important; }
  html[data-duplika-theme] :is(.text-success,.valid-feedback) { color: var(--duplika-success-text) !important; }
  html[data-duplika-theme] .text-info { color: var(--duplika-info-text) !important; }
  html[data-duplika-theme] .text-warning { color: var(--duplika-warning-text) !important; }
  html[data-duplika-theme] :is(.text-danger,.invalid-feedback) { color: var(--duplika-error-text) !important; }

  /* Header: native navigation, with a small appearance selector in its toolbar. */
  html[data-duplika-theme] #header { background: var(--bg); border-bottom: 1px solid var(--border-muted); }
  html[data-duplika-theme] #header > .navbar > .container {
    justify-content: space-between; gap: .5rem;
  }
  html[data-duplika-theme] #header .navbar-brand { flex-shrink: 0; margin-right: 1rem; }
  html[data-duplika-theme] #header .navbar-brand .logo-img { width: 166px; max-height: 50px; height: auto; }
  html[data-duplika-theme] #header .navbar-nav.toolbar {
    margin: 0 0 0 auto; gap: .35rem; align-items: center; flex-direction: row; flex-wrap: nowrap;
  }
  html[data-duplika-theme] #header :is(.navbar a,.toolbar .nav-link) { color: var(--text); }
  html[data-duplika-theme] #header .toolbar .nav-link {
    border-color: transparent; background: transparent; box-shadow: none; min-height: 40px; min-width: 40px;
  }
  html[data-duplika-theme] #header :is(.toolbar .nav-link:hover,.nav-link:focus-visible) { background: var(--bg-lifted); }
  #header :is([menuitemname="billingnotes" i],[menuitemname="Billing Notes" i],[id$="-billingnotes" i],[data-duplika-hide-menu-item]) { display: none !important; }
  /* Hide only the client-home promotion, not domain navigation or ordering. */
  .client-home-cards [menuitemname="Register a New Domain"] { display: none !important; }
  html[data-duplika-theme] #header .toolbar .duplika-locale {
    display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
    padding: .4rem .5rem; color: var(--text); font-size: .875rem; line-height: 1.4; white-space: nowrap;
  }
  .duplika-locale svg { flex-shrink: 0; pointer-events: none; }
  html[data-duplika-theme] #header .topbar { background: #06121a; color: #edf5fb; }
  html[data-duplika-theme] #header .topbar :is(.btn,.input-group-text) { color: #d8e5ef; }
  html[data-duplika-theme] .master-breadcrumb { background: var(--bg-muted); border-color: var(--border-muted); }
  html[data-duplika-theme] .breadcrumb { background: transparent; }
  html[data-duplika-theme] .breadcrumb-item.active { color: var(--text-muted); }
  html[data-duplika-theme] section#main-body { background: var(--bg-muted) !important; }
  /* Support links in both native sidebar copies, independent of translation. */
  #main-body .sidebar .list-group-item:is([menuitemname="Announcements" i], [menuitemname="Downloads" i]) { display: none !important; }
  html[data-duplika-theme] footer.footer { background: #06121a; color: #edf5fb; border-top: 1px solid #2b4355; }
  html[data-duplika-theme] footer.footer :is(a,.nav-link,.btn,.copyright,.text-muted) { color: #c4d5e2 !important; }
  html[data-duplika-theme] footer.footer .btn { background: transparent; border-color: #6e8da4; }
  html[data-duplika-theme] #header .toolbar .nav-link:focus-visible {
    outline: 2px solid var(--duplika-focus); outline-offset: 3px;
  }
  /* The footer disappears after its selector moves. Keep only that control as
   * a fallback without JavaScript or if a future parent changes the header. */
  #footer.footer[hidden] { display: none !important; }
  #footer.footer .list-inline-item:not(:has([data-target="#modalChooseLanguage"])) { display: none; }
  #footer.footer > .container > :is(.nav,.copyright) { display: none; }
  #footer.footer > .container > .list-inline { float: none !important; margin-bottom: 0; }

  .duplika-appearance { position: relative; display: grid; place-items: center; width: 42px; height: 40px;
    margin: 0; border: 1px solid transparent; border-radius: var(--rounding-sm); color: var(--text); background: transparent; }
  .duplika-appearance:hover { background: var(--bg-lifted); }
  .duplika-appearance:focus-within { outline: 2px solid var(--duplika-focus); outline-offset: 3px; }
  .duplika-appearance { cursor: pointer; padding: 0; }
  .duplika-appearance svg { pointer-events: none; }
  .duplika-icon-light,.duplika-icon-dark { display: none; }
  [data-duplika-theme="dark"] .duplika-icon-light,
  [data-duplika-theme="light"] .duplika-icon-dark { display: block; }
  /* These selectors are scoped by the child-only stylesheet, including when
   * JavaScript is unavailable. Do not hide country flags on phone fields. */
  #header form:has(input[name="search"]) { display: none !important; }
  :is(#header,#footer) [data-target="#modalChooseLanguage"] .iti-flag { display: none; }
  #modalChooseLanguage .iti-flag { display: none; }
  #duplika-help-feedback { position: fixed; right: 20px; bottom: calc(20px + env(safe-area-inset-bottom, 0px));
    z-index: 1030; max-width: min(320px, calc(100vw - 40px)); padding: 1rem;
    background: var(--bg); color: var(--text); border: 1px solid var(--border-muted); border-radius: var(--rounding-sm); }
  #duplika-help-feedback[hidden] { display: none !important; }
  #duplika-help-feedback a { display: block; margin-top: .5rem; }
  #duplika-help-retry { margin-top: .5rem; }
  .duplika-brand-fallback { font-size: 1.65rem; font-weight: 750; letter-spacing: -.04em; }
  .duplika-brand-fallback[hidden],.logo-img[hidden] { display: none !important; }

  /* Surfaces which still use fixed Bootstrap/WHMCS colors. */
  html[data-duplika-theme] :is(.card,.mc-promo-login,.mc-promo-manage,.panel,.modal-content,.dropdown-menu,.popover) {
    color: var(--text); background-color: var(--bg); border-color: var(--border-muted); border-radius: var(--rounding-lg);
  }
  html[data-duplika-theme] :is(.card-header,.card-footer,.panel-heading,.panel-footer,.modal-footer,.popover-header) {
    color: var(--text); background-color: var(--bg); border-color: var(--border-muted);
  }
  html[data-duplika-theme] .popover-body { color: var(--text); }
  html[data-duplika-theme] :is(.list-group-item,.dropdown-item,.dropdown-item-text) { color: var(--text); background-color: var(--bg); border-color: var(--border-muted); }
  html[data-duplika-theme] :is(.list-group-item-action:hover,.list-group-item-action:focus,.dropdown-item:hover,.dropdown-item:focus) { color: var(--text); background-color: var(--bg-lifted); }
  html[data-duplika-theme] :is(.list-group-item.active,.dropdown-item.active,.dropdown-item:active) { color: var(--duplika-link); background-color: var(--bg-lifted); }
  html[data-duplika-theme] :is(.dropdown-divider,hr,.nav-tabs) { border-color: var(--border-muted); }
  html[data-duplika-theme] :is(.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link) {
    color: var(--text); background-color: var(--bg); border-color: var(--border-muted);
  }
  html[data-duplika-theme] :is(.bg-white,.bg-light,.bg-default,.well) { background-color: var(--bg) !important; color: var(--text); }
  html[data-duplika-theme] :is(.bg-primary,.badge-primary) { background-color: var(--primary) !important; color: #fff; }
  html[data-duplika-theme] .close { color: var(--text); text-shadow: none; }

  /* Public homepage keeps native markup, actions and domain search behavior. */
  html[data-duplika-theme] body #main-body .action-icon-btns a {
    background: var(--bg); color: var(--text); border: 1px solid var(--border-muted);
  }
  html[data-duplika-theme] body #main-body .action-icon-btns a:is(:hover,:focus) {
    background: var(--bg-lifted); color: var(--duplika-link); border-color: var(--border-lifted);
  }
  html[data-duplika-theme] .action-icon-btns a .ico-container i { color: var(--duplika-link); }
  html[data-duplika-theme] .home-domain-search .input-group-wrapper {
    background: var(--bg); border-color: var(--border);
  }
  html[data-duplika-theme] .home-domain-search .tld-logos { color: var(--text-muted); font-weight: 400; }
  /* TLD artwork contains dark lettering; a small white backing preserves it. */
  html[data-duplika-theme="dark"] .home-domain-search .tld-logos img {
    background: #fff; border-radius: .25rem; padding: .25rem;
  }
  html[data-duplika-theme] body #main-body .btn-outline-primary {
    color: var(--duplika-link); border-color: var(--border-accented);
  }
  html[data-duplika-theme] body #main-body .btn-outline-primary:is(:hover,:focus,:active,.active) {
    background: var(--primary); color: #fff; border-color: var(--primary);
  }

  /* Account dashboard: match the native nesting to override its fixed white
   * backgrounds. Generic .btn/.card-footer rules have lower specificity. */
  html[data-duplika-theme] body .primary-content .client-home-cards :is(.card,.mc-promo-manage,.mc-promo-login) .card-header .btn {
    background: var(--bg-lifted); color: var(--text); border-color: var(--border);
  }
  html[data-duplika-theme] body .primary-content .client-home-cards :is(.card,.mc-promo-manage,.mc-promo-login) .card-header .btn:is(:hover,:focus,:active,.active) {
    background: var(--primary); color: #fff; border-color: var(--primary);
  }
  html[data-duplika-theme] body .primary-content .client-home-cards :is(.card,.mc-promo-manage,.mc-promo-login) .card-footer {
    background: var(--bg); color: var(--text); border-color: var(--border-muted);
  }
  html[data-duplika-theme] body .primary-content .client-home-cards :is(.card,.mc-promo-manage,.mc-promo-login) .card-footer .btn-view-more {
    color: var(--duplika-link);
  }
  html[data-duplika-theme] body .primary-content .client-home-cards :is(.card,.mc-promo-manage,.mc-promo-login) .card-footer .btn-view-more:is(:hover,:focus) {
    color: var(--duplika-link-hover); text-decoration: underline;
  }
  html[data-duplika-theme] body .primary-content .client-home-cards :is(.card,.mc-promo-manage,.mc-promo-login) .card-footer .btn-view-more.disabled {
    color: var(--text-muted); text-decoration: none;
  }
  html[data-duplika-theme] .client-home-cards .list-group { border-color: var(--border-muted) !important; }
  html[data-duplika-theme] .client-home-cards .list-group .list-group-item { border-color: var(--border-muted); }
  html[data-duplika-theme] .client-home-cards small { color: var(--text-muted); }
  html[data-duplika-theme] .tiles .tile { background: var(--bg); border-color: var(--border-muted); color: var(--duplika-link); }
  html[data-duplika-theme] .tiles .tile:is(:hover,:focus) { background: var(--bg-lifted); color: var(--duplika-link-hover); }
  html[data-duplika-theme] .tiles .tile .title { color: var(--text-accented); }
  html[data-duplika-theme] .tiles .tile i { color: var(--text-muted); }
  html[data-duplika-theme] .tiles .tile:hover i { color: var(--text-accented); }

  /* Native status labels use pastel backgrounds in dark mode. Preserve their
   * semantic colors and give only those known light backgrounds dark text. */
  html[data-duplika-theme="dark"] .label:is(.label-default,.label-success,.label-info,.label-danger,.status-pending,.status-active,.status-open,.status-completed,.status-customer-reply,.status-answered,.status-pending-registration,.status-redemption,.status-grace,.status-terminated,.status-onhold,.status-inprogress,.status-closed,.status-paid,.status-unpaid,.status-cancelled,.status-collections,.status-accepted) { color: #06121a; }
  html[data-duplika-theme] .label:is(.label-warning,.status-pending-transfer,.status-suspended,.status-refunded) { color: #06121a; }
  /* Nexus status-* backgrounds also match plain addon ticket text without
   * .label. Keep that text unfilled; native badges retain their status colors. */
  html[data-duplika-theme] :is(.table,.table-list) td > span:is(.status-open,.status-pending,.status-answered,.status-customer-reply,.status-onhold,.status-inprogress,.status-closed):not(.label):not(.badge) {
    background-color: transparent; color: var(--text);
  }

  /* Leave validation icons, widths and behavior to the native form controls. */
  html[data-duplika-theme] body :is(.form-control,.custom-select,.field,.input-group-text,.input-group-addon) {
    background-color: var(--bg); color: var(--text); border-color: var(--border);
  }
  html[data-duplika-theme] body :is(.form-control,.field):focus { background-color: var(--bg); color: var(--text); border-color: var(--duplika-focus); }
  html[data-duplika-theme] :is(input,textarea)::placeholder { color: var(--text-muted); opacity: 1; }
  html[data-duplika-theme] :is(.form-control:disabled,.form-control[readonly],.custom-select:disabled) { background-color: var(--bg-lifted); color: var(--text-muted); }
  html[data-duplika-theme] .custom-control-label::before { background-color: var(--bg); border-color: var(--border-lifted); }
  html[data-duplika-theme] .custom-control-input:checked ~ .custom-control-label::before { background-color: var(--primary); border-color: var(--primary); }
  html[data-duplika-theme] :is(input[type="checkbox"],input[type="radio"]) { accent-color: var(--primary); }
  html[data-duplika-theme] body :is(.form-control.is-invalid,.was-validated .form-control:invalid) { border-color: var(--error); }
  html[data-duplika-theme] body :is(.form-control.is-valid,.was-validated .form-control:valid) { border-color: var(--success); }
  html[data-duplika-theme] .input-group-merge :is(.form-control,.input-group-text) { background-color: var(--bg); }

  /* Primary controls stay white-on-blue in both modes (normal text contrast). */
  html[data-duplika-theme] body :is(.btn-primary,.btn-order-now,.btn-checkout) {
    background: var(--primary); border-color: var(--primary); color: #fff;
  }
  html[data-duplika-theme] body :is(.btn-primary,.btn-order-now,.btn-checkout):is(:hover,:focus,:active,.active) {
    background: var(--primary-lifted); border-color: var(--primary-lifted); color: #fff;
  }
  html[data-duplika-theme] body :is(.btn-primary,.btn-order-now,.btn-checkout):is(:disabled,.disabled) {
    background: var(--primary); border-color: var(--primary); color: #fff; opacity: .55;
  }
  html[data-duplika-theme] body :is(.btn-default,.btn-light,.btn-outline-secondary) {
    background: var(--bg); border-color: var(--border); color: var(--text);
  }
  html[data-duplika-theme] body :is(.btn-default,.btn-light,.btn-outline-secondary):is(:hover,:focus,:active,.active) {
    background: var(--bg-lifted); border-color: var(--border-lifted); color: var(--text);
  }
  html[data-duplika-theme] .btn-link { color: var(--duplika-link); }
  html[data-duplika-theme] .btn-success { background-color: #167343; border-color: #167343; color: #fff; }
  html[data-duplika-theme] .btn-danger { background-color: #b42336; border-color: #b42336; color: #fff; }
  html[data-duplika-theme] .alert-success { background: var(--duplika-success-bg); color: var(--duplika-success-text); border-color: var(--success); }
  html[data-duplika-theme] .alert-info { background: var(--duplika-info-bg); color: var(--duplika-info-text); border-color: var(--info); }
  html[data-duplika-theme] .alert-warning { background: var(--duplika-warning-bg); color: var(--duplika-warning-text); border-color: var(--warning); }
  html[data-duplika-theme] .alert-danger { background: var(--duplika-error-bg); color: var(--duplika-error-text); border-color: var(--error); }
  html[data-duplika-theme] .alert :is(a,.alert-link) { color: inherit; text-decoration: underline; }

  html[data-duplika-theme] .table { color: var(--text); }
  html[data-duplika-theme] .table :is(th,td) { border-color: var(--border-muted); }
  html[data-duplika-theme] body .table-list > tbody > tr > td { color: var(--text); background: var(--bg); }
  html[data-duplika-theme] body .table-list > tbody > tr:hover > td { color: var(--text); background: var(--bg-lifted); }
  /* Native lists: service/domain is column 2; the domains list uses column 3. */
  #tableServicesList > thead > tr > th:nth-child(2),
  #tableServicesList > tbody > tr > td:nth-child(2),
  #tableDomainsList > thead > tr > th:nth-child(3),
  #tableDomainsList > tbody > tr > td:nth-child(3) { text-align: left; }
  /* Native table-list cells paint over thead, including sorted columns.
   * Override the cells too, without touching sorting icons or handlers. */
  html[data-duplika-theme] body :is(.table,.table-list) > thead,
  html[data-duplika-theme] body :is(.table,.table-list) > thead > tr > :is(th,td) {
    color: var(--text); background-color: var(--bg-lifted);
  }
  html[data-duplika-theme] body .table-list > thead > tr > :is(.sorting_asc,.sorting_desc) {
    color: var(--text); background-color: var(--bg-accented);
  }
  html[data-duplika-theme] :is(.table-striped tbody tr:nth-of-type(odd),.table-hover tbody tr:hover) { color: var(--text); background-color: var(--bg-lifted); }
  html[data-duplika-theme] .page-link { color: var(--duplika-link); background-color: var(--bg); border-color: var(--border-muted); }
  html[data-duplika-theme] .page-item.active .page-link { color: #fff; background-color: var(--primary); border-color: var(--primary); }
  html[data-duplika-theme] .page-item.disabled .page-link { color: var(--text-muted); background-color: var(--bg-muted); border-color: var(--border-muted); }
  html[data-duplika-theme] :is(.dataTables_wrapper,.dataTables_length,.dataTables_filter,.dataTables_info,.dataTables_paginate) { color: var(--text); }
  html[data-duplika-theme] body .dataTables_wrapper .dataTables_filter label .form-control { background: var(--bg); }
  html[data-duplika-theme] :is(pre,.md-editor,.md-editor > textarea,.md-editor > .md-preview,.ticket-reply,.ticket-reply .message) { background: var(--bg); color: var(--text); border-color: var(--border-muted); }
  html[data-duplika-theme] :is(.ticket-reply .user,.ticket-reply.staff .user,.md-editor > .md-header,.md-editor .md-footer) { background: var(--bg-lifted); color: var(--text); border-color: var(--border-muted); }
  html[data-duplika-theme] :is(.iti__country-list,.intl-tel-input .country-list) { background: var(--bg); color: var(--text); border-color: var(--border-muted); }
  html[data-duplika-theme] :is(.iti__country.iti__highlight,.intl-tel-input .country-list .country.highlight) { background: var(--bg-lifted); }

  /* Standard Cart is a dependency of Nexus Cart; its product/checkout screens
   * are still regular WHMCS templates. Higher specificity beats their late CSS. */
  html[data-duplika-theme] body #order-standard_cart :is(.products .product,.products .product header,.view-cart-empty,.domain-selection-options,.panel-heading,.panel-footer,.domain-promo-box) {
    background-color: var(--bg); color: var(--text); border-color: var(--border-muted);
  }
  html[data-duplika-theme] body #order-standard_cart .products .product header span { color: var(--text); }
  html[data-duplika-theme] body #order-standard_cart .products .product header .qty { color: var(--text-muted); }
  /* Domain choices inherit Standard Cart's 13px/300 gray labels. Keep the
   * native radios and form behavior, with readable text in both appearances. */
  html[data-duplika-theme] body #order-standard_cart .domain-selection-options .option { background-color: var(--bg); }
  html[data-duplika-theme] body #order-standard_cart .domain-selection-options .option > label {
    color: var(--text); font-size: 1rem; font-weight: 500; line-height: 1.5; cursor: pointer;
  }
  html[data-duplika-theme] body #order-standard_cart .domain-selection-options .option-selected > label { font-weight: 600; }
  html[data-duplika-theme] body #order-standard_cart .domain-selection-options .option:focus-within {
    outline: 2px solid var(--duplika-focus); outline-offset: 2px;
  }
  /* Native lookup results: style existing states, without changing availability
   * or cart handlers. Suggestions are presentation-only; lookup stays native. */
  html[data-duplika-theme] body #order-standard_cart .suggested-domains { display: none !important; }
  html[data-duplika-theme] body #order-standard_cart .spotlight-tlds {
    background-color: var(--bg-lifted); border-radius: var(--rounding-md);
  }
  html[data-duplika-theme] body #order-standard_cart .spotlight-tld {
    background-color: var(--bg); color: var(--text); border-color: var(--border-muted);
    height: auto; min-height: 132px;
  }
  html[data-duplika-theme] body #order-standard_cart .spotlight-tld .btn {
    min-height: 36px; font-size: .875rem; font-weight: 600;
    width: 85%; min-width: 0; white-space: normal; overflow-wrap: anywhere;
  }
  html[data-duplika-theme] body #order-standard_cart .spotlight-tld .btn span { font-weight: inherit; }
  html[data-duplika-theme] body #order-standard_cart .spotlight-tld .domain-lookup-result > :is(.unavailable,.invalid) { margin: 1.5rem 0 0; }
  html[data-duplika-theme] body #order-standard_cart .spotlight-tld .btn-add-to-cart {
    background-color: var(--primary); border-color: var(--primary); color: #fff;
  }
  html[data-duplika-theme] body #order-standard_cart .spotlight-tld .btn-add-to-cart:not(:disabled):is(:hover,:focus-visible) {
    background-color: var(--primary-lifted); border-color: var(--primary-lifted);
  }
  html[data-duplika-theme] body #order-standard_cart .spotlight-tld .btn:focus-visible {
    outline: 2px solid var(--duplika-focus); outline-offset: 3px;
  }
  html[data-duplika-theme] body #order-standard_cart .spotlight-tld .btn:disabled {
    background-color: var(--bg-lifted); border-color: var(--border); color: var(--text-accented);
    opacity: 1;
  }
  html[data-duplika-theme] body #order-standard_cart .domain-checker-available { color: var(--success); }
  html[data-duplika-theme] body #order-standard_cart :is(.domain-checker-unavailable,.domain-checker-invalid) { color: var(--error); }
  html[data-duplika-theme] body #order-standard_cart :is(.sub-heading span,.domain-selection-options .option-selected,.view-cart-tabs .nav-tabs a[aria-expanded="true"]) { background: var(--bg-lifted); color: var(--text); }
  html[data-duplika-theme] body #order-standard_cart :is(.panel label,.form-control,.field,.field-help-text,.summary-container,.view-cart-items,.view-cart-items .item-domain) { color: var(--text); }
  html[data-duplika-theme] body #order-standard_cart :is(.field-help-text,.product-desc) { color: var(--text-accented); }
  html[data-duplika-theme] body #order-standard_cart :is(.field,.form-control,.view-cart-items .item,.view-cart-items .item:nth-child(even)) { background-color: var(--bg); }
  html[data-duplika-theme] body #order-standard_cart :is(.domain-pricing .tld-pricing-header div,.domain-pricing .tld-filters .badge) { color: var(--text); background-color: var(--bg); border-color: var(--border-muted); }
  html[data-duplika-theme] body #order-standard_cart .domain-pricing .tld-filters .badge-success { background-color: var(--primary); color: #fff; }
  html[data-duplika-theme] body #order-standard_cart :is(.account-select-container .account,.cc-input-container,.order-summary .summary-container) { background-color: var(--bg); color: var(--text); border-color: var(--border-muted); }
  html[data-duplika-theme] body #order-standard_cart :is(.account-select-container .account.active,.account-select-container .account:hover) { background-color: var(--bg-lifted); }
  html[data-duplika-theme] #nexus-root { --font-inter: var(--duplika-font); font-family: var(--duplika-font); color: var(--text); }
}

@media screen and (max-width: 1199.98px) {
  /* Let the collapsed menu occupy only the height of its visible content. */
  html[data-duplika-theme] #header .main-navbar-wrapper { min-height: 0; }
  /* Restore the gutters required by Standard Cart's nested Bootstrap rows. */
  html[data-duplika-theme] body #order-standard_cart .cart-body { padding: 0 15px !important; }
}

@media screen and (max-width: 575.98px) {
  html[data-duplika-theme] #header .navbar-brand { margin-right: 0; }
  html[data-duplika-theme] #header .navbar-brand .logo-img { width: 142px; }
  html[data-duplika-theme] #header .navbar-nav.toolbar { gap: .2rem; }
  html[data-duplika-theme] #header .toolbar .nav-item.ml-2 { margin-left: .2rem !important; }
  #header .duplika-locale-label { display: none; }
  html[data-duplika-theme] #header .toolbar .duplika-locale { width: 40px; padding: 0; }
}
@media screen and (max-width: 359.98px) {
  html[data-duplika-theme] #header .navbar-brand .logo-img { width: 108px; }
}
@media print {
  .duplika-appearance-item, #duplika-help { display: none !important; }
}
