/*
 * ONBIT — tema portalului clienților WHMCS (temă-copil a Twenty-One, WHMCS 8.13).
 * Același limbaj vizual ca www.onbit.ro/secure: negru ONBIT + portocaliu #F0612B (din logoul oficial),
 * Lexend pentru titluri, Source Sans 3 pentru text, IBM Plex Mono pentru etichete. Fonturi găzduite local.
 *
 * Reguli de contrast (WCAG 2.2 AA): pe portocaliu textul este negru (5,97:1), nu alb (3,26:1);
 * textul portocaliu pe alb folosește nuanța închisă #B5421A (5,3:1).
 * Fișierul se încarcă automat după stilurile Twenty-One; stilurile coșului (standard_cart) se încarcă după el,
 * de aceea regulile pentru coș sunt prefixate cu „body” (specificitate mai mare).
 */

/* ---------- Fonturi (subset latin + diacritice românești) ---------- */
@font-face { font-family: "Lexend"; src: url("../fonts/lexend-latin.woff2") format("woff2"); font-weight: 100 900; font-display: swap;
  unicode-range: U+0020-007E, U+00A0-00FF, U+2013-2014, U+2018-201E, U+2022, U+2026, U+2030, U+2039-203A, U+20AC, U+2122, U+2190-2193, U+2212; }
@font-face { font-family: "Lexend"; src: url("../fonts/lexend-ro.woff2") format("woff2"); font-weight: 100 900; font-display: swap;
  unicode-range: U+0102-0103, U+0218-021B, U+015E-015F, U+0162-0163; }
@font-face { font-family: "Source Sans 3"; src: url("../fonts/sourcesans3-latin.woff2") format("woff2"); font-weight: 200 900; font-display: swap;
  unicode-range: U+0020-007E, U+00A0-00FF, U+2013-2014, U+2018-201E, U+2022, U+2026, U+2030, U+2039-203A, U+20AC, U+2122, U+2190-2193, U+2212; }
@font-face { font-family: "Source Sans 3"; src: url("../fonts/sourcesans3-ro.woff2") format("woff2"); font-weight: 200 900; font-display: swap;
  unicode-range: U+0102-0103, U+0218-021B, U+015E-015F, U+0162-0163; }
@font-face { font-family: "IBM Plex Mono"; src: url("../fonts/plexmono500-latin.woff2") format("woff2"); font-weight: 500; font-display: swap;
  unicode-range: U+0020-007E, U+00A0-00FF, U+2013-2014, U+2018-201E, U+2022, U+2026, U+2030, U+2039-203A, U+20AC, U+2122, U+2190-2193, U+2212; }
@font-face { font-family: "IBM Plex Mono"; src: url("../fonts/plexmono500-ro.woff2") format("woff2"); font-weight: 500; font-display: swap;
  unicode-range: U+0102-0103, U+0218-021B, U+015E-015F, U+0162-0163; }
@font-face { font-family: "Lexend Fallback"; src: local("Arial"); size-adjust: 107.02%; ascent-override: 93.44%; descent-override: 23.36%; line-gap-override: 0%; }
@font-face { font-family: "Source Sans Fallback"; src: local("Arial"); size-adjust: 85.16%; ascent-override: 120.24%; descent-override: 46.97%; line-gap-override: 0%; }

/* ---------- Tokenuri (aceleași valori ca pe site) ---------- */
:root {
  --ob-ink: #0A0D12;
  --ob-ink-2: #0F1319;
  --ob-ink-3: #151A22;
  --ob-ink-4: #1C2330;
  --ob-ink-line: rgba(255, 255, 255, .09);
  --ob-ink-line-2: rgba(255, 255, 255, .16);
  --ob-on-ink: #F3F5F8;
  --ob-on-ink-2: #AEB7C4;
  --ob-on-ink-3: #8C96A5;

  --ob-paper: #FFFFFF;
  --ob-mist: #F4F5F7;
  --ob-mist-2: #EBEDF1;
  --ob-line: #E1E4EA;
  --ob-line-2: #CDD2DA;
  --ob-text: #0B0F14;
  --ob-text-2: #4A5361;
  --ob-text-3: #6B7483;

  --ob-brand: #F0612B;
  --ob-brand-hi: #FF7A48;
  --ob-brand-press: #E0501B;
  --ob-brand-ink: #B5421A;
  --ob-brand-ink-2: #8F3312;
  --ob-brand-wash: rgba(240, 97, 43, .10);
  --ob-brand-wash-2: rgba(240, 97, 43, .20);

  --ob-ok: #17865A;
  --ob-ok-press: #116B47;
  --ob-warn: #9A6200;
  --ob-warn-soft: #F5B544;
  --ob-err: #C0343A;
  --ob-err-press: #A12A30;

  --ob-font-display: "Lexend", "Lexend Fallback", system-ui, sans-serif;
  --ob-font-body: "Source Sans 3", "Source Sans Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ob-font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;

  --ob-r-sm: 8px;
  --ob-r: 10px;
  --ob-r-md: 12px;
  --ob-r-lg: 16px;
  --ob-r-xl: 20px;
  --ob-shadow-1: 0 1px 2px rgba(10, 13, 18, .05), 0 4px 14px -6px rgba(10, 13, 18, .12);
  --ob-shadow-2: 0 18px 40px -18px rgba(10, 13, 18, .35);
  --ob-ring: 0 0 0 3px rgba(240, 97, 43, .28);
  --ob-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Bază ---------- */
body {
  font-family: var(--ob-font-body);
  font-size: 1rem;
  line-height: 1.55;
  color: var(--ob-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.primary-bg-color { background-color: var(--ob-mist); }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--ob-font-display);
  font-weight: 600;
  letter-spacing: -.012em;
  color: inherit;
}
h1, .h1 { font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.35rem); letter-spacing: -.022em; }
h2, .h2 { font-size: clamp(1.45rem, 1.25rem + .9vw, 1.9rem); letter-spacing: -.018em; }
h3, .h3 { font-size: 1.3rem; }
h4, .h4 { font-size: 1.12rem; }
h5, .h5 { font-size: 1.02rem; }
b, strong { font-weight: 650; }
a { color: var(--ob-brand-ink); text-underline-offset: .18em; }
a:hover { color: var(--ob-brand-ink-2); }
::selection { background: var(--ob-brand); color: var(--ob-ink); }
:focus-visible { outline: 2px solid var(--ob-brand); outline-offset: 2px; }
.text-muted { color: var(--ob-text-2) !important; }
.text-primary { color: var(--ob-brand-ink) !important; }
.bg-primary { background-color: var(--ob-brand) !important; color: var(--ob-ink); }
/* Text alb pe portocaliu nu are contrast suficient: combinația „bg-primary text-white” (de ex. generatorul de parole) devine negru ONBIT. */
.bg-primary.text-white { background-color: var(--ob-ink) !important; }
.bg-primary.text-white .close { color: #fff; text-shadow: none; opacity: .8; }
.border-primary { border-color: var(--ob-brand) !important; }
hr { border-top-color: var(--ob-line); }
code, kbd, pre, samp { font-family: var(--ob-font-mono); }

.onbit-skip {
  position: absolute; left: 12px; top: -64px; z-index: 1100;
  padding: 10px 16px; border-radius: var(--ob-r);
  background: var(--ob-brand); color: var(--ob-ink); font-weight: 600; text-decoration: none;
  transition: top .2s var(--ob-ease);
}
.onbit-skip:focus { top: 12px; color: var(--ob-ink); }
#main-body:focus { outline: none; }

.onbit-eyebrow {
  display: flex; align-items: center; gap: 12px; margin: 0 0 16px;
  font-family: var(--ob-font-mono); font-weight: 500; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ob-brand-ink);
}
.onbit-eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--ob-brand); flex: none; }

/* ---------- Antet ---------- */
header.header { background-color: var(--ob-ink); color: var(--ob-on-ink); }
header.header .topbar { padding: 4px 0; background-color: #05070A; color: var(--ob-on-ink-2); border-bottom: 1px solid var(--ob-ink-line); }
header.header .topbar .btn,
header.header .topbar .active-client .btn { color: var(--ob-on-ink-2); font-size: .875rem; padding: .4rem .6rem; }
header.header .topbar .btn:hover,
header.header .topbar .active-client .btn:hover { color: var(--ob-on-ink); }
header.header .topbar .active-client .input-group-text { color: var(--ob-on-ink-3); font-size: .8rem; }
header.header .topbar .active-client .btn.btn-active-client span { border-bottom-color: var(--ob-on-ink-3); }
header.header .topbar .btn-return-to-admin { color: var(--ob-brand); }

header.header .navbar-light { padding: 14px 0; }
header.header .onbit-brand { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding: 0; text-decoration: none; }
header.header .logo-img { width: 150px; height: auto; max-width: none; max-height: none; }
.onbit-brand__label {
  padding-left: 12px; border-left: 1px solid var(--ob-ink-line-2);
  font-family: var(--ob-font-mono); font-weight: 500; font-size: .74rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--ob-on-ink-2); line-height: 1.6;
}
header.header .search { width: 340px; background-color: var(--ob-ink-3); border: 1px solid var(--ob-ink-line-2); border-radius: var(--ob-r); }
header.header .search .btn,
header.header .search .form-control { background-color: transparent; color: var(--ob-on-ink); box-shadow: none; }
header.header .search .btn { color: var(--ob-on-ink-3); }
header.header .search .form-control::placeholder { color: var(--ob-on-ink-3); opacity: 1; }
header.header .search:focus-within { border-color: var(--ob-brand); box-shadow: var(--ob-ring); }
header.header .toolbar .nav-link {
  display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px;
  padding: .5rem .8rem; border: 1px solid var(--ob-ink-line-2); border-radius: var(--ob-r);
  background-color: rgba(255, 255, 255, .04); color: var(--ob-on-ink);
}
header.header .toolbar .nav-link:hover,
header.header .toolbar .nav-link:focus { background-color: rgba(255, 255, 255, .09); color: #fff; }
header.header .toolbar .nav-link .badge { top: -6px; right: -6px; min-width: 20px; padding: 3px 6px; border-radius: 999px; background-color: var(--ob-brand); color: var(--ob-ink); opacity: 1; font-weight: 700; }

header.header .main-navbar-wrapper { background-color: var(--ob-ink-2); border-top: 1px solid var(--ob-ink-line); }
header.header .navbar a { color: var(--ob-on-ink-2); }
/* Twenty-One mută elementele meniului în „Mai multe” dacă lista #nav depășește 30 px înălțime (autoCollapse).
   De aceea linkurile au zonă de clic de 50 px, dar marginile negative păstrează înălțimea listei sub 30 px. */
header.header .main-navbar-wrapper .navbar-nav > li > a {
  display: flex; align-items: center; line-height: 24px;
  font-family: var(--ob-font-display); font-size: .95rem; font-weight: 500; letter-spacing: -.005em;
  color: var(--ob-on-ink-2); text-decoration: none; transition: color .15s, background-color .15s, box-shadow .15s;
}
@media (min-width: 1200px) {
  header.header .main-navbar-wrapper .navbar-collapse { padding: 13px 0; }
  header.header .main-navbar-wrapper .navbar-nav > li > a { padding: 13px 14px !important; margin: -13px 0; }
  header.header .main-navbar-wrapper .navbar-nav > li > .dropdown-menu { margin-top: 13px; }
}
header.header .main-navbar-wrapper .navbar-nav > li > a:hover,
header.header .main-navbar-wrapper .navbar-nav > li > a:focus,
header.header .main-navbar-wrapper .navbar-nav > li.show > a { color: #fff; background-color: rgba(255, 255, 255, .05); box-shadow: inset 0 -2px 0 var(--ob-brand); }
header.header .main-navbar-wrapper .navbar-nav .badge { background-color: var(--ob-brand); color: var(--ob-ink); }
header.header .dropdown-menu {
  padding: 6px; margin-top: 0; border: 1px solid var(--ob-line); border-radius: var(--ob-r-md);
  box-shadow: var(--ob-shadow-2); font-size: .95rem;
}
header.header li.dropdown-item { padding: 0; background: none; }
header.header a.dropdown-item { padding: 8px 12px !important; border-radius: var(--ob-r-sm); color: var(--ob-text); white-space: normal; }
header.header a.dropdown-item:hover,
header.header a.dropdown-item:focus { background-color: var(--ob-mist); color: var(--ob-text); }
header.header .dropdown-item.active,
header.header .dropdown-item:active { background-color: var(--ob-brand-wash); color: var(--ob-text); }
header.header .dropdown-divider { margin: 6px 4px; border-top-color: var(--ob-line); }

@media (max-width: 1199.98px) {
  header.header .main-navbar-wrapper .navbar-collapse { padding: 12px 15px 16px; }
  header.header .main-navbar-wrapper .navbar-nav > li > a { min-height: 48px; padding: 12px 4px !important; border-bottom: 1px solid var(--ob-ink-line); font-size: 1.05rem; color: var(--ob-on-ink); }
  header.header .main-navbar-wrapper .navbar-nav > li > a:hover,
  header.header .main-navbar-wrapper .navbar-nav > li.show > a { box-shadow: none; background: none; color: var(--ob-brand); }
  header.header .main-navbar-wrapper .dropdown-menu { margin: 6px 0 10px; background-color: var(--ob-ink-3); border-color: var(--ob-ink-line); box-shadow: none; }
  header.header .main-navbar-wrapper a.dropdown-item { color: var(--ob-on-ink-2); }
  header.header .main-navbar-wrapper a.dropdown-item:hover,
  header.header .main-navbar-wrapper a.dropdown-item:focus { background-color: rgba(255, 255, 255, .06); color: #fff; }
  header.header .main-navbar-wrapper .dropdown-divider { border-top-color: var(--ob-ink-line); }
  header.header .main-navbar-wrapper .search { width: 100%; }
}
@media (max-width: 575.98px) {
  header.header .navbar-light { padding: 10px 0; }
  header.header .logo-img { width: 124px; }
  .onbit-brand__label { padding-left: 10px; font-size: .66rem; letter-spacing: .16em; }
  header.header .onbit-brand { gap: 10px; }
}

/* Fir de navigare */
.master-breadcrumb { background-color: var(--ob-paper); border-bottom: 1px solid var(--ob-line); }
.master-breadcrumb .breadcrumb { margin: 0; padding: 12px 0; background: transparent; font-size: .92rem; }
.master-breadcrumb .breadcrumb-item a { color: var(--ob-text-2); text-decoration: none; }
.master-breadcrumb .breadcrumb-item a:hover { color: var(--ob-text); text-decoration: underline; }
.master-breadcrumb .breadcrumb-item.active { color: var(--ob-text); font-weight: 600; }
.master-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: var(--ob-line-2); }

/* Anunțuri de rețea / verificare cont */
.network-issue-alert { background-color: var(--ob-warn-soft); color: var(--ob-ink); }
.verification-banner { background-color: var(--ob-ink-3); color: var(--ob-on-ink); }
.verification-banner .btn.btn-action { background-color: var(--ob-brand); border-color: var(--ob-brand); color: var(--ob-ink); }

/* ---------- Prima pagină: introducere + căutare de domenii ---------- */
.onbit-hero {
  position: relative; overflow: hidden; isolation: isolate;
  padding: clamp(44px, 6.5vw, 92px) 0 clamp(48px, 6vw, 80px);
  background-color: var(--ob-ink); color: var(--ob-on-ink);
}
.onbit-hero--search { padding-bottom: clamp(112px, 12vw, 148px); }
.onbit-hero__slash { position: absolute; top: 0; right: 0; width: min(46vw, 560px); height: auto; z-index: -1; pointer-events: none; }
.onbit-hero__traces { position: absolute; top: 0; left: 0; width: min(44vw, 520px); height: auto; color: rgba(255, 255, 255, .06); z-index: -1; pointer-events: none; }
.onbit-hero .container { position: relative; }
.onbit-hero .onbit-eyebrow { color: var(--ob-brand); }
.onbit-hero h1 { max-width: 20ch; margin: 0; color: #fff; font-size: clamp(2rem, 1.3rem + 2.8vw, 3.4rem); line-height: 1.06; letter-spacing: -.028em; text-wrap: balance; }
.onbit-hero__lead { max-width: 62ch; margin: 18px 0 0; color: var(--ob-on-ink-2); font-size: clamp(1.05rem, 1rem + .35vw, 1.22rem); line-height: 1.55; }
.onbit-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
@media (max-width: 767.98px) {
  .onbit-hero__slash { width: 52vw; opacity: .5; }
  .onbit-hero__ctas .btn { flex: 1 1 100%; }
}

.home-domain-search.bg-white { background-color: transparent !important; }
.onbit-hero--search + #frmDomainHomepage .home-domain-search { position: relative; z-index: 2; margin-top: clamp(-100px, -8vw, -72px); }
.home-domain-search .container > div {
  padding: clamp(22px, 3vw, 32px) !important;
  background-color: var(--ob-paper); border: 1px solid var(--ob-line); border-radius: var(--ob-r-xl); box-shadow: var(--ob-shadow-2);
}
.home-domain-search h2 { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.55rem); }
.home-domain-search .input-group-wrapper { margin: 16px 0 12px; padding: 6px; border: 1px solid var(--ob-line-2); border-radius: 14px; }
.home-domain-search .input-group-wrapper:focus-within { border-color: var(--ob-brand); box-shadow: var(--ob-ring); }
.home-domain-search .input-group-wrapper .form-control { font-size: 1.05rem; }
.home-domain-search .input-group-wrapper .btn { border-radius: var(--ob-r) !important; }
.home-domain-search .btn-success { background-color: var(--ob-ink); border-color: var(--ob-ink); color: var(--ob-on-ink); }
.home-domain-search .btn-success:hover,
.home-domain-search .btn-success:focus { background-color: var(--ob-ink-4); border-color: var(--ob-ink-4); color: #fff; }
.home-domain-search .btn-link { color: var(--ob-brand-ink); font-weight: 600; }

.onbit-page-homepage section#main-body { padding-top: 44px; }
.onbit-home-section { margin: 0 0 48px; }
.onbit-home-title { margin: 8px 0 20px; font-size: clamp(1.35rem, 1.1rem + 1vw, 1.85rem); }
.onbit-groups { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; }
.primary-content .card.onbit-group { margin: 0; }
.onbit-group .card-body { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 24px !important; }
.primary-content .onbit-group .card-title { margin: 0; font-size: 1.2rem; }
.onbit-group p { margin: 0; color: var(--ob-text-2); }
.onbit-group .btn { margin-top: auto; }
.onbit-group p + .btn { margin-top: 8px; }
.onbit-group--secure { position: relative; overflow: hidden; order: -1; background-color: var(--ob-ink); border-color: var(--ob-ink); color: var(--ob-on-ink); }
.onbit-group--secure::before {
  content: ""; position: absolute; top: 0; right: 0; width: 210px; height: 210px; pointer-events: none;
  background: linear-gradient(225deg, #05070A 0 38%, transparent 38% 44%, var(--ob-brand) 44% 49%, transparent 49%);
}
.onbit-group--secure .card-body { position: relative; z-index: 1; }
.onbit-group--secure .onbit-eyebrow { margin: 0; color: var(--ob-brand); }
.primary-content .onbit-group--secure .card-title { color: #fff; font-size: 1.5rem; }
.onbit-group--secure p { max-width: 42ch; color: var(--ob-on-ink-2); }
.onbit-group__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 8px; }
.onbit-group__actions .btn { margin: 0; }
@media (min-width: 768px) { .onbit-group--secure { grid-column: span 2; } }
@media (max-width: 575.98px) { .onbit-group--secure::before { width: 120px; height: 120px; } }

.action-icon-btns > div { margin-bottom: 16px; }
.action-icon-btns a {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
  height: 100%; min-height: 150px; margin: 0; padding: 22px 12px;
  background-color: var(--ob-paper); border: 1px solid var(--ob-line); border-radius: var(--ob-r-lg); box-shadow: var(--ob-shadow-1);
  color: var(--ob-text); font-family: var(--ob-font-display); font-size: .98rem; font-weight: 500; line-height: 1.3; text-align: center;
  transition: border-color .2s var(--ob-ease), box-shadow .2s var(--ob-ease), transform .2s var(--ob-ease);
}
.action-icon-btns a .ico-container {
  display: grid; place-items: center; width: 56px; height: 56px; margin: 0; border-radius: 14px;
  background-color: var(--ob-brand-wash); font-size: 1.55rem; line-height: 1; transition: background-color .2s var(--ob-ease);
}
.action-icon-btns a .ico-container i { color: var(--ob-brand-ink); transition: color .2s var(--ob-ease); }
.action-icon-btns a:hover,
.action-icon-btns a:focus { color: var(--ob-text); border-color: var(--ob-brand); box-shadow: var(--ob-shadow-2); transform: translateY(-2px); text-decoration: none; }
.action-icon-btns a:hover .ico-container { font-size: 1.55rem; background-color: var(--ob-brand); }
.action-icon-btns a:hover .ico-container i { color: var(--ob-ink); }

/* ---------- Conținut, carduri, bara laterală ---------- */
section#main-body { padding: 32px 0 56px; }
.card { border: 1px solid var(--ob-line); border-radius: var(--ob-r-lg); box-shadow: 0 1px 2px rgba(10, 13, 18, .04); }
.card-header { padding: 14px 20px; background-color: var(--ob-paper); border-bottom: 1px solid var(--ob-line); }
.card-header:first-child { border-radius: calc(var(--ob-r-lg) - 1px) calc(var(--ob-r-lg) - 1px) 0 0; }
.card-footer { background-color: var(--ob-mist); border-top: 1px solid var(--ob-line); }
.card-footer:last-child { border-radius: 0 0 calc(var(--ob-r-lg) - 1px) calc(var(--ob-r-lg) - 1px); }
.card-title, .primary-content .card-title, .panel-title { font-family: var(--ob-font-display); font-weight: 600; letter-spacing: -.012em; }
.primary-content .card-title { font-size: 1.3rem; }
.primary-content .card { margin-bottom: 16px; }
[class*="card-accent-"] { border-top: 3px solid var(--ob-brand); }
.card-accent-red, .card-accent-pomegranate, .card-accent-magenta { border-top-color: var(--ob-err); }
.card-accent-green, .card-accent-emerald, .card-accent-lime { border-top-color: var(--ob-ok); }
.card-accent-gold, .card-accent-sun-flower, .card-accent-orange { border-top-color: var(--ob-warn-soft); }
.card-accent-asbestos, .card-accent-silver, .card-accent-wet-asphalt, .card-accent-midnight-blue { border-top-color: var(--ob-ink); }

.list-group-item { border-color: var(--ob-line); color: var(--ob-text); }
.list-group-item-action { color: var(--ob-text-2); }
.list-group-item-action:hover,
.list-group-item-action:focus { background-color: var(--ob-mist); color: var(--ob-text); }
.list-group-item.active { background-color: var(--ob-brand-wash); border-color: var(--ob-line); color: var(--ob-text); box-shadow: inset 3px 0 0 var(--ob-brand); }

.sidebar .card-sidebar { margin-bottom: 16px; }
.sidebar .card-title { font-size: 1rem; }
.sidebar .card-header .card-minimise { color: var(--ob-text-3); }
.sidebar .list-group { font-size: .95rem; }
.sidebar .list-group-item { padding: 10px 16px; border-color: var(--ob-mist-2); }
.sidebar .list-group-item:last-child { border-radius: 0 0 calc(var(--ob-r-lg) - 1px) calc(var(--ob-r-lg) - 1px); }
.sidebar .list-group-item.active,
.sidebar .list-group-item.active:hover,
.sidebar .list-group-item.active:focus { background-color: var(--ob-brand-wash); border-color: var(--ob-mist-2); color: var(--ob-text); font-weight: 600; box-shadow: inset 3px 0 0 var(--ob-brand); }
.sidebar .list-group-item .badge { width: auto; min-width: 28px; padding: 4px 8px; border-radius: 999px; background-color: var(--ob-mist-2); color: var(--ob-text-2); }
.sidebar .sidebar-menu-item-icon { color: var(--ob-text-3); }
.sidebar .list-group-item.active .sidebar-menu-item-icon { color: var(--ob-brand-ink); }
.sidebar .list-group-item > i.far.fa-circle { color: var(--ob-text-3); }

/* ---------- Butoane ---------- */
.btn {
  font-family: var(--ob-font-display); font-weight: 500; letter-spacing: -.005em; border-radius: var(--ob-r);
  transition: color .15s var(--ob-ease), background-color .15s var(--ob-ease), border-color .15s var(--ob-ease), box-shadow .15s var(--ob-ease);
}
.btn-lg, .btn-group-lg > .btn { padding: .72rem 1.35rem; font-size: 1.05rem; border-radius: var(--ob-r-md); }
.btn-sm, .btn-group-sm > .btn { border-radius: var(--ob-r-sm); }
.btn:focus, .btn.focus { box-shadow: var(--ob-ring); }
.btn:focus-visible { outline: 2px solid var(--ob-brand); outline-offset: 2px; }

.btn-primary { background-color: var(--ob-brand); border-color: var(--ob-brand); color: var(--ob-ink); }
.btn-primary:hover,
.btn-primary:focus, .btn-primary.focus { background-color: var(--ob-brand-hi); border-color: var(--ob-brand-hi); color: var(--ob-ink); }
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle { background-color: var(--ob-brand-press); border-color: var(--ob-brand-press); color: var(--ob-ink); }
.btn-primary.disabled, .btn-primary:disabled { background-color: var(--ob-brand); border-color: var(--ob-brand); color: var(--ob-ink); opacity: .55; }

.btn-outline-primary { color: var(--ob-brand-ink); border-color: var(--ob-brand); background-color: transparent; }
.btn-outline-primary:hover,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active { background-color: var(--ob-brand); border-color: var(--ob-brand); color: var(--ob-ink); }
.btn-outline-primary:focus, .btn-outline-primary.focus { box-shadow: var(--ob-ring); }

.btn-outline-light { color: var(--ob-on-ink); border-color: var(--ob-ink-line-2); background-color: transparent; }
.btn-outline-light:hover,
.btn-outline-light:focus,
.btn-outline-light:not(:disabled):not(.disabled):active { background-color: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .36); color: #fff; }

.btn-default { background-color: var(--ob-paper); border-color: var(--ob-line-2); color: var(--ob-text); }
.btn-default:hover,
.btn-default:focus, .btn-default.focus,
.btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { background-color: var(--ob-mist); border-color: var(--ob-text-3); color: var(--ob-text); }
.btn-default:active:hover, .btn-default.active:hover, .btn-default:active:focus, .btn-default.active:focus { background-color: var(--ob-mist-2); border-color: var(--ob-text-3); color: var(--ob-text); }

.btn-secondary { background-color: var(--ob-text-2); border-color: var(--ob-text-2); color: #fff; }
.btn-secondary:hover, .btn-secondary:focus { background-color: var(--ob-ink-4); border-color: var(--ob-ink-4); color: #fff; }
.btn-success { background-color: var(--ob-ok); border-color: var(--ob-ok); color: #fff; }
.btn-success:hover, .btn-success:focus,
.btn-success:not(:disabled):not(.disabled):active { background-color: var(--ob-ok-press); border-color: var(--ob-ok-press); color: #fff; }
.btn-danger { background-color: var(--ob-err); border-color: var(--ob-err); color: #fff; }
.btn-danger:hover, .btn-danger:focus,
.btn-danger:not(:disabled):not(.disabled):active { background-color: var(--ob-err-press); border-color: var(--ob-err-press); color: #fff; }
.btn-info { background-color: var(--ob-ink-4); border-color: var(--ob-ink-4); color: #fff; }
.btn-info:hover, .btn-info:focus,
.btn-info:not(:disabled):not(.disabled):active { background-color: var(--ob-ink); border-color: var(--ob-ink); color: #fff; }
.btn-warning { background-color: var(--ob-warn-soft); border-color: var(--ob-warn-soft); color: var(--ob-ink); }
.btn-warning:hover, .btn-warning:focus { background-color: #E9A52F; border-color: #E9A52F; color: var(--ob-ink); }
.btn-link { color: var(--ob-brand-ink); }
.btn-link:hover, .btn-link:focus { color: var(--ob-brand-ink-2); }
.btn-dark { background-color: var(--ob-ink); border-color: var(--ob-ink); color: #fff; }

/* Etichete și stări */
.badge { font-family: var(--ob-font-body); font-weight: 700; border-radius: 6px; }
.badge-primary, .badge-info { background-color: var(--ob-brand); color: var(--ob-ink); }
a.badge-primary:hover, a.badge-primary:focus { background-color: var(--ob-brand-hi); color: var(--ob-ink); }
.badge-success { background-color: var(--ob-ok); color: #fff; }
.badge-danger { background-color: var(--ob-err); color: #fff; }
.badge-warning { background-color: var(--ob-warn-soft); color: var(--ob-ink); }
.badge-secondary, .badge-light { background-color: var(--ob-mist-2); color: var(--ob-text-2); }
.badge-dark { background-color: var(--ob-ink); color: #fff; }

.label { display: inline-block; padding: .28em .62em; border-radius: 6px; font-weight: 600; font-size: .8em; letter-spacing: .02em; color: #fff; }
.label-default, .status-terminated, .status-cancelled, .status-closed, .status-collections, .status-expired, .status-transferred-away { background-color: var(--ob-text-3); }
.label-success, .status-active, .status-open, .status-completed, .status-paid, .status-accepted { background-color: var(--ob-ok); }
.label-info, .status-onhold, .status-payment-pending, .status-delivered, .status-answered { background-color: var(--ob-ink-4); }
.label-warning, .status-suspended, .status-pending-transfer, .status-refunded, .status-inprogress { background-color: var(--ob-warn); }
.label-danger, .status-pending, .status-unpaid { background-color: var(--ob-err); }
.status-customer-reply, .status-pending-registration, .status-redemption, .status-grace { background-color: var(--ob-brand-ink); }
.status-fraud, .status-lost, .status-dead { background-color: var(--ob-ink); }

/* ---------- Formulare ---------- */
.form-control, .custom-select { border-color: var(--ob-line-2); border-radius: var(--ob-r); color: var(--ob-text); }
.form-control::placeholder { color: var(--ob-text-3); opacity: 1; }
.form-control:focus, .custom-select:focus { border-color: var(--ob-brand); box-shadow: var(--ob-ring); color: var(--ob-text); }
.form-control:disabled, .form-control[readonly] { background-color: var(--ob-mist); }
.form-control-label, .col-form-label, .form-group > label { font-weight: 600; color: var(--ob-text); }
.input-group-text { background-color: var(--ob-mist); border-color: var(--ob-line-2); color: var(--ob-text-2); border-radius: var(--ob-r); }
.input-group-merge .input-group-text { background-color: var(--ob-paper); }
.input-group .btn-reveal-pw:hover, .input-group .btn-reveal-pw:active { color: var(--ob-brand-ink); }
.field-help-text, .form-text { color: var(--ob-text-2); }
.invalid-feedback { color: var(--ob-err); }
.is-invalid.form-control, .was-validated .form-control:invalid { border-color: var(--ob-err); }

.custom-control-input:checked ~ .custom-control-label::before { background-color: var(--ob-brand); border-color: var(--ob-brand); }
.custom-control-input:focus ~ .custom-control-label::before { box-shadow: var(--ob-ring); }
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { border-color: var(--ob-brand); }
.custom-control-input:not(:disabled):active ~ .custom-control-label::before { background-color: #FBD3C3; border-color: #FBD3C3; }
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%230A0D12' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%230A0D12'/%3e%3c/svg%3e");
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::after { background-color: var(--ob-ink); }
.custom-range::-webkit-slider-thumb { background-color: var(--ob-brand); }
.custom-range::-moz-range-thumb { background-color: var(--ob-brand); }

/* Comutatoare Da/Nu (bootstrap-switch, de ex. acordul de marketing la înregistrare) */
.bootstrap-switch { border-color: var(--ob-line-2); border-radius: var(--ob-r); }
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success,
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success { background-color: var(--ob-ok); border-color: var(--ob-ok); color: #fff; }
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary,
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary { background-color: var(--ob-brand); border-color: var(--ob-brand); color: var(--ob-ink); }
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default,
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default { background-color: var(--ob-mist-2); color: var(--ob-text); }
.bootstrap-switch.bootstrap-switch-focused { border-color: var(--ob-brand); box-shadow: var(--ob-ring); }

/* Editorul de mesaje din tichete (Markdown) */
.md-editor { border-color: var(--ob-line-2); border-radius: var(--ob-r); overflow: hidden; }
.md-editor.active { border-color: var(--ob-brand); box-shadow: var(--ob-ring); }
.md-editor .md-footer, .md-editor > .md-header { background-color: var(--ob-mist); }
.markdown-editor-status { color: var(--ob-text-2); }

/* Casete iCheck (folosite de Twenty-One și de coș): desenate în CSS, în culorile ONBIT, în locul imaginii albastre */
.icheckbox_square-blue,
.iradio_square-blue {
  position: relative; box-sizing: border-box; width: 22px; height: 22px;
  background: var(--ob-paper) !important; border: 2px solid var(--ob-line-2); border-radius: 6px;
  transition: border-color .15s, background-color .15s, box-shadow .15s;
}
.iradio_square-blue { border-radius: 50%; }
.icheckbox_square-blue.hover, .iradio_square-blue.hover { border-color: var(--ob-brand); }
.icheckbox_square-blue.focus, .iradio_square-blue.focus { border-color: var(--ob-brand); box-shadow: var(--ob-ring); }
.icheckbox_square-blue.checked { background: var(--ob-brand) !important; border-color: var(--ob-brand); }
.icheckbox_square-blue.checked::after {
  content: ""; position: absolute; left: 6px; top: 2px; width: 6px; height: 11px;
  border: solid var(--ob-ink); border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.iradio_square-blue.checked { border-color: var(--ob-brand); }
.iradio_square-blue.checked::after { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: var(--ob-brand); }
.icheckbox_square-blue.disabled, .iradio_square-blue.disabled { opacity: .5; }

/* ---------- Tabele ---------- */
.table { color: var(--ob-text); }
.table th, .table td { border-top-color: var(--ob-line); }
.table thead th { border-bottom: 1px solid var(--ob-line); color: var(--ob-text-2); font-weight: 600; }
.table-striped tbody tr:nth-of-type(odd) { background-color: var(--ob-mist); }
.table-hover tbody tr:hover { background-color: var(--ob-mist); }
.dataTables_wrapper table.table-list { border: 1px solid var(--ob-line); border-radius: var(--ob-r-md); border-collapse: separate; border-spacing: 0; overflow: hidden; }
.dataTables_wrapper table.table-list thead th { border-bottom: 1px solid var(--ob-line); }
.dataTables_wrapper table.table-list thead th.sorting_asc,
.dataTables_wrapper table.table-list thead th.sorting_desc { background-color: var(--ob-mist-2); color: var(--ob-text); }
table.table-list thead th { padding: 10px 8px; background-color: var(--ob-mist); color: var(--ob-text-2); font-weight: 600; font-size: .9rem; }
table.table-list tbody td { font-size: .95rem; border-top-color: var(--ob-mist-2); }
.table-list > tbody > tr > td { background-color: var(--ob-paper); }
.table-list > tbody > tr:hover > td { background-color: #FFF7F3; }
.table-list > tbody > tr > td a.border-left { border-left-color: var(--ob-line) !important; }
.dataTables_wrapper .dataTables_filter label .form-control { border-radius: var(--ob-r); }
.dataTables_wrapper .dataTables_info { color: var(--ob-text-2); }

/* ---------- Alerte ---------- */
.alert { border: 1px solid transparent; border-left-width: 4px; border-radius: var(--ob-r-md); }
.alert-success { background-color: #EAF6F0; border-color: #B7DFCB; border-left-color: var(--ob-ok); color: #0E5236; }
.alert-danger { background-color: #FCEDEE; border-color: #F1C3C6; border-left-color: var(--ob-err); color: #7E1A1F; }
.alert-warning { background-color: #FFF6E3; border-color: #F1D9A6; border-left-color: #D98A00; color: #5E3D00; }
.alert-info { background-color: #F1F3F6; border-color: var(--ob-line); border-left-color: var(--ob-ink-4); color: var(--ob-text); }
.alert-primary { background-color: #FEF1EC; border-color: #F8D0C0; border-left-color: var(--ob-brand); color: var(--ob-text); }
.alert-link, .alert a:not(.btn) { color: inherit; text-decoration: underline; font-weight: 600; }

/* ---------- Navigare în pagină, paginare, progres ---------- */
.nav-tabs { border-bottom-color: var(--ob-line); }
.nav-tabs .nav-link { color: var(--ob-text-2); font-family: var(--ob-font-display); font-weight: 500; border-radius: var(--ob-r) var(--ob-r) 0 0; }
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { border-color: transparent; background-color: var(--ob-mist-2); color: var(--ob-text); }
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link { color: var(--ob-text); background-color: var(--ob-paper); border-color: var(--ob-line) var(--ob-line) var(--ob-paper); box-shadow: inset 0 2px 0 var(--ob-brand); }
.nav-pills .nav-link { color: var(--ob-text-2); border-radius: var(--ob-r); }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link { background-color: var(--ob-ink); color: #fff; }
div.product-details-tab-container { border-color: var(--ob-line); border-radius: 0 0 var(--ob-r-lg) var(--ob-r-lg); }
.responsive-tabs-sm .nav-item { border-bottom-color: var(--ob-line) !important; }

.page-link { color: var(--ob-text); border-color: var(--ob-line); }
.page-link:hover { background-color: var(--ob-mist); border-color: var(--ob-line); color: var(--ob-text); }
.page-link:focus { box-shadow: var(--ob-ring); }
.pagination > li > a, .pagination > li > span { color: var(--ob-text); }
.pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover,
.pagination > .active > span, .pagination > .active > span:focus, .pagination > .active > span:hover,
.page-item.active .page-link { background-color: var(--ob-ink); border-color: var(--ob-ink); color: #fff; }
.page-item.disabled .page-link { color: var(--ob-text-3); border-color: var(--ob-line); }

.progress { height: .7rem; background-color: var(--ob-mist-2); border-radius: 999px; }
.progress-bar { background-color: var(--ob-brand); }

.dropdown-menu { border-color: var(--ob-line); border-radius: var(--ob-r-md); box-shadow: var(--ob-shadow-2); }
.dropdown-item { color: var(--ob-text); }
.dropdown-item:hover, .dropdown-item:focus { background-color: var(--ob-mist); color: var(--ob-text); }
.dropdown-item.active, .dropdown-item:active { background-color: var(--ob-brand-wash); color: var(--ob-text); }

.popover { border-color: var(--ob-line); border-radius: var(--ob-r-md); box-shadow: var(--ob-shadow-2); font-family: var(--ob-font-body); }
.popover-user-notifications { font-family: var(--ob-font-body); border-radius: var(--ob-r-md); }
.tooltip { font-family: var(--ob-font-body); }
.tooltip-inner { background-color: var(--ob-ink); border-radius: var(--ob-r-sm); }

/* Ferestre modale */
.modal-content { border: 0; border-radius: var(--ob-r-xl); box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .55); }
.modal-header { padding: 18px 22px; border-bottom-color: var(--ob-line); }
.modal-header .modal-title { font-family: var(--ob-font-display); font-weight: 600; }
.modal-footer { border-top-color: var(--ob-line); }
.modal-backdrop { background-color: #05070A; }
.modal-backdrop.show { opacity: .6; }
.modal-localisation .modal-content { background-color: var(--ob-ink); color: var(--ob-on-ink); }
.modal-localisation .modal-body {
  background: var(--ob-ink) radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1.3px) 0 0 / 9px 9px;
  border-radius: var(--ob-r-xl) var(--ob-r-xl) 0 0;
}
.modal-localisation .h5 { color: #fff; }
.modal-localisation .item-selector .item { margin: 4px 0; padding: 8px 6px; border: 1px solid var(--ob-ink-line-2); border-radius: var(--ob-r); color: var(--ob-on-ink-2); text-decoration: none; }
.modal-localisation .item-selector .item:hover { background-color: rgba(255, 255, 255, .07); color: #fff; }
.modal-localisation .item-selector .item.active { background-color: var(--ob-brand); border-color: var(--ob-brand); color: var(--ob-ink); font-weight: 600; }
.modal-localisation .modal-footer { background-color: var(--ob-ink); border-top: 1px solid var(--ob-ink-line); border-radius: 0 0 var(--ob-r-xl) var(--ob-r-xl); }
.modal-localisation .modal-footer .btn { background-color: var(--ob-brand); border-color: var(--ob-brand); color: var(--ob-ink); }

/* ---------- Zona clientului ---------- */
.tiles .row { overflow: hidden; background-color: var(--ob-paper); border: 1px solid var(--ob-line); border-radius: var(--ob-r-lg); box-shadow: var(--ob-shadow-1); }
.tiles .tile { padding: 18px 22px; background-color: var(--ob-paper); border-right: 1px solid var(--ob-line); color: var(--ob-text); }
.tiles .tile:hover { background-color: var(--ob-mist); text-decoration: none; }
.tiles .tile i { color: var(--ob-mist-2); font-size: 52px; }
.tiles .tile:hover i { color: #FAD3C4; font-size: 52px; }
.tiles .tile .stat { font-family: var(--ob-font-display); font-weight: 600; font-size: 2.4rem; letter-spacing: -.02em; color: var(--ob-text); }
.tiles .tile .title { font-family: var(--ob-font-mono); font-weight: 500; font-size: .72rem; letter-spacing: .12em; color: var(--ob-text-2); }
.tiles .tile .highlight { width: 32px; height: 3px; background-color: var(--ob-brand); }
.tiles div:nth-child(1) > .tile, .tiles div:nth-child(2) > .tile { border-bottom-color: var(--ob-line); }

.client-home-cards .card { font-size: .95rem; }
.client-home-cards .card-header { background-color: var(--ob-paper); border-bottom: 1px solid var(--ob-line); }
.client-home-cards .card-title { font-size: 1.02rem; }
.client-home-cards .card-header .btn { background-color: var(--ob-paper); border: 1px solid var(--ob-line-2); color: var(--ob-text); font-size: .8rem; }
.client-home-cards .card-header .btn:hover { background-color: var(--ob-mist); color: var(--ob-text); }
.client-home-cards .list-group { border-top: 1px solid var(--ob-line) !important; border-bottom: 1px solid var(--ob-line) !important; }
.client-home-cards .list-group .list-group-item { padding: 9px 16px; border-bottom-color: var(--ob-mist-2); }
.client-home-cards small { color: var(--ob-text-2); }
.client-home-cards .card-footer { padding: 6px 20px; background-color: var(--ob-paper); border-top: 0; }

.product-status { overflow: hidden; border-radius: var(--ob-r-lg); background-color: var(--ob-text-3); }
.product-status-active { background-color: var(--ob-ok); }
.product-status-pending { background-color: var(--ob-warn); }
.product-status-suspended { background-color: var(--ob-err); }
.product-status-fraud { background-color: var(--ob-ink); }
div.product-details div.product-icon { border-radius: 0; background-color: var(--ob-mist); }
div.product-details div.product-icon .fa-circle { color: var(--ob-ink); }
div.product-details div.product-icon h3 { font-size: 1.3rem; }
div.product-details div.product-icon h4 { font-family: var(--ob-font-body); font-size: 1rem; font-weight: 400; color: var(--ob-text-2); }
.product-status-text { font-family: var(--ob-font-mono); font-size: .8rem; letter-spacing: .12em; font-weight: 500; }

.view-ticket .posted-by { background-color: var(--ob-mist); color: var(--ob-text-2); }
.view-ticket .ticket-reply.staff { box-shadow: inset 3px 0 0 var(--ob-brand); }
.view-ticket .ticket-reply.staff .posted-by { background-color: #FEF1EC; }
.view-ticket .attachments { border-top-color: var(--ob-line); }
.view-ticket .attachment-list li span { border-color: var(--ob-line); border-radius: var(--ob-r); }

.announcements .announcement article { background-color: var(--ob-paper); border-left-color: var(--ob-brand); border-radius: 0 var(--ob-r-md) var(--ob-r-md) 0; }
.kb-category a:hover, .kb-article-item:hover { background-color: var(--ob-mist); }
.kb-article-item small { color: var(--ob-text-2); }

.login-form .card, .primary-content .card.mw-540, .primary-content .card.mw-750 { border-radius: var(--ob-r-xl); box-shadow: var(--ob-shadow-1); }
.login-form .card-footer { background-color: var(--ob-mist); }
.twofa-module.active { border-color: var(--ob-brand); }

/* Paginile de pe portal care nu au propriu-zis un card (de exemplu, textul „Powered by”) rămân centrate, fără modificări. */

/* ---------- Coșul de cumpărături (standard_cart) ---------- */
body #order-standard_cart { font-size: 15px; }
body #order-standard_cart label { color: var(--ob-text-2); }
body #order-standard_cart .header-lined h1 { font-family: var(--ob-font-display); font-weight: 600; letter-spacing: -.02em; }
body #order-standard_cart .header-lined p { color: var(--ob-text-2); }
body #order-standard_cart .sub-heading { border-top-color: var(--ob-line); }
body #order-standard_cart .sub-heading span,
body #order-standard_cart .sub-heading-borderless span {
  padding: 0 14px; background-color: var(--ob-mist);
  font-family: var(--ob-font-mono); font-weight: 500; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ob-text-2);
}

body #order-standard_cart .products .product { overflow: hidden; padding: 0 0 12px; border: 1px solid var(--ob-line); border-radius: var(--ob-r-lg); box-shadow: var(--ob-shadow-1); }
body #order-standard_cart .products .product header { margin: 0; padding: 14px 20px; background-color: var(--ob-ink); border-radius: 0; }
body #order-standard_cart .products .product header span { color: #fff; font-family: var(--ob-font-display); font-weight: 600; font-size: 1.15rem; }
body #order-standard_cart .products .product header .qty { color: var(--ob-on-ink-2); }
body #order-standard_cart .products .product div.product-desc { padding: 14px 20px; font-size: .95rem; color: var(--ob-text-2); }
body #order-standard_cart .products .product footer { font-size: .9rem; color: var(--ob-text-2); }
body #order-standard_cart .products .product div.product-pricing span.price { font-family: var(--ob-font-display); font-weight: 600; font-size: 1.7rem; letter-spacing: -.02em; color: var(--ob-text); }

body #order-standard_cart .btn-success,
body #order-standard_cart .btn-checkout,
body #order-standard_cart .btn-order-now { background-color: var(--ob-brand); border-color: var(--ob-brand); color: var(--ob-ink); }
body #order-standard_cart .btn-success:hover,
body #order-standard_cart .btn-checkout:hover,
body #order-standard_cart .btn-order-now:hover,
body #order-standard_cart .btn-success:focus { background-color: var(--ob-brand-hi); border-color: var(--ob-brand-hi); color: var(--ob-ink); }

body #order-standard_cart .field,
body #order-standard_cart .form-control { border-color: var(--ob-line-2); border-radius: var(--ob-r); color: var(--ob-text); }
body #order-standard_cart .form-control:focus,
body #order-standard_cart .field:focus { border-color: var(--ob-brand); box-shadow: var(--ob-ring); }
body #order-standard_cart .field-icon i { color: var(--ob-text-3); }
body #order-standard_cart .field-help-text { color: var(--ob-text-2); }
body #order-standard_cart .field[disabled], body #order-standard_cart .field[readonly],
body #order-standard_cart .form-control[disabled], body #order-standard_cart .form-control[readonly] { background-color: var(--ob-mist); }

body #order-standard_cart .product-info { padding: 16px 20px; background-color: var(--ob-paper); border: 1px solid var(--ob-line); border-radius: var(--ob-r-md); }
body #order-standard_cart .product-info .product-title { font-family: var(--ob-font-display); font-weight: 600; }

body #order-standard_cart .order-summary { overflow: hidden; background-color: var(--ob-ink); border-bottom: 0; border-radius: var(--ob-r-lg); }
body #order-standard_cart .order-summary h2 { padding: 14px; color: #fff; font-family: var(--ob-font-display); font-weight: 600; font-size: 1.15rem; }
body #order-standard_cart .summary-container { background-color: var(--ob-ink-3); color: var(--ob-on-ink); font-size: .9rem; border-radius: 0; }
body #order-standard_cart .order-summary .product-group,
body #order-standard_cart .order-summary .recurring-charges { color: var(--ob-on-ink-2); }
body #order-standard_cart .order-summary .summary-totals,
body #order-standard_cart .order-summary .subtotal,
body #order-standard_cart .order-summary .bordered-totals { border-color: var(--ob-ink-line-2); }
body #order-standard_cart .order-summary .total-due-today .amt { font-family: var(--ob-font-display); font-weight: 600; color: #fff; letter-spacing: -.02em; }
body #order-standard_cart .order-summary .btn-continue-shopping { color: var(--ob-on-ink-2); }
body #order-standard_cart .order-summary .btn-continue-shopping:hover { color: #fff; }
body #order-standard_cart .order-summary .loader { color: var(--ob-on-ink-3); }
body .order-summary i.fa-trash:hover { color: var(--ob-err); }

body #order-standard_cart .view-cart-items-header { background-color: var(--ob-ink); color: #fff; border-radius: var(--ob-r-md) var(--ob-r-md) 0 0; font-family: var(--ob-font-display); font-weight: 500; }
body #order-standard_cart .view-cart-items { border-bottom: 1px solid var(--ob-line); }
body #order-standard_cart .view-cart-items .item:nth-child(even) { background-color: var(--ob-mist); }
body #order-standard_cart .view-cart-items .item-domain { color: var(--ob-brand-ink); }
body #order-standard_cart .btn-remove-from-cart:hover { color: var(--ob-err); }
body #order-standard_cart .empty-cart .btn { background-color: var(--ob-ink); color: #fff; }
body #order-standard_cart .view-cart-tabs .nav-tabs a[aria-selected="true"],
body #order-standard_cart .view-cart-tabs .nav-tabs a[aria-expanded="true"] { background-color: var(--ob-paper); border-color: var(--ob-line) var(--ob-line) var(--ob-paper); }
body #order-standard_cart .view-cart-tabs .tab-content { background-color: var(--ob-paper); border: 1px solid var(--ob-line); border-top: 0; border-radius: 0 0 var(--ob-r-md) var(--ob-r-md); }
body #order-standard_cart .view-cart-promotion-code { border-color: var(--ob-line-2); border-radius: var(--ob-r); }
body #order-standard_cart .view-cart-gateway-checkout { background-color: var(--ob-mist); border-radius: var(--ob-r-md); }

body #order-standard_cart .domain-selection-options .option { background-color: var(--ob-paper); border: 1px solid var(--ob-line); border-radius: var(--ob-r-md); }
body #order-standard_cart .domain-selection-options .option-selected { background-color: #FEF1EC; border-color: var(--ob-brand); }
body #order-standard_cart .panel-addon { border-color: var(--ob-line); border-radius: var(--ob-r-md); overflow: hidden; }
body #order-standard_cart .panel-addon .panel-price { background-color: var(--ob-mist); }
body #order-standard_cart .panel-addon .panel-add,
body #order-standard_cart .panel-addon-selected .panel-add { background-color: var(--ob-ink); color: #fff; }
body #order-standard_cart .panel-addon-selected { border-color: var(--ob-brand); }
body #order-standard_cart .account-select-container { border-right-color: var(--ob-line); }
body #order-standard_cart .account-select-container div.account { background-color: var(--ob-mist); border-color: var(--ob-line); border-radius: var(--ob-r-md); }
body #order-standard_cart .account-select-container div.account.active { background-color: var(--ob-paper); border-color: var(--ob-brand); box-shadow: inset 3px 0 0 var(--ob-brand); }
body #order-standard_cart .cc-input-container,
body #order-standard_cart .apply-credit-container { background-color: var(--ob-mist); border-color: var(--ob-line); border-radius: var(--ob-r-md); }

body .domain-checker-container { background: var(--ob-ink); border-radius: var(--ob-r-lg); }
body .domain-checker-container .input-group-box { background-color: var(--ob-paper); border-radius: var(--ob-r-md); }
body .spotlight-tld { border-color: var(--ob-line); border-radius: var(--ob-r-md); }
body .spotlight-tld .btn:not(.domain-contact-support),
body .suggested-domains .btn:not(.domain-contact-support) { background-color: var(--ob-ink); border-color: var(--ob-ink); color: #fff; }
body .suggested-domains .card-header, body .suggested-domains .panel-heading { border-bottom-color: var(--ob-brand); }
body .domain-pricing .tld-pricing-header div:nth-child(odd) { border-color: var(--ob-brand); }
body .domain-pricing .tld-row.highlighted { background-color: #FEF1EC; }

/* ---------- Subsol ---------- */
footer.footer.onbit-footer {
  margin: 0; padding: clamp(48px, 6vw, 72px) 0 32px;
  background-color: var(--ob-ink); color: var(--ob-on-ink-2); border-top: 1px solid var(--ob-ink-line); font-size: .95rem;
}
.onbit-footer__grid { display: grid; grid-template-columns: 1.3fr repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); }
@media (max-width: 991.98px) { .onbit-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575.98px) { .onbit-footer__grid { grid-template-columns: 1fr; } }
.onbit-footer__brand img { width: 150px; height: auto; }
.onbit-footer__brand p { max-width: 34ch; margin: 16px 0 0; }
.onbit-footer h2 {
  margin: 0 0 14px; color: var(--ob-on-ink-3);
  font-family: var(--ob-font-mono); font-weight: 500; font-size: .75rem; letter-spacing: .16em; text-transform: uppercase;
}
.onbit-footer ul { list-style: none; margin: 0; padding: 0; }
.onbit-footer nav ul, .onbit-footer__grid > div:last-child ul { display: grid; gap: 2px; }
.onbit-footer a { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; color: var(--ob-on-ink-2); text-decoration: none; }
.onbit-footer a:hover, .onbit-footer a:focus { color: var(--ob-on-ink); text-decoration: underline; }
.onbit-footer a i { color: var(--ob-on-ink-3); }
footer.footer.onbit-footer .onbit-footer__social { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
footer.footer.onbit-footer .onbit-footer__social .list-inline-item { margin: 0; }
footer.footer.onbit-footer .btn-icon {
  display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; min-height: 0; margin: 0 !important; padding: 0;
  border-radius: var(--ob-r); background-color: rgba(255, 255, 255, .06); color: var(--ob-on-ink); font-size: 1rem; line-height: 1;
}
footer.footer.onbit-footer .btn-icon:hover { background-color: var(--ob-brand); color: var(--ob-ink); text-decoration: none; }
footer.footer.onbit-footer .onbit-footer__locale {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 8px 12px;
  background-color: rgba(255, 255, 255, .06); border: 1px solid var(--ob-ink-line-2); border-radius: var(--ob-r);
  color: var(--ob-on-ink); font-family: var(--ob-font-body); font-size: .9rem; line-height: 1.3;
}
footer.footer.onbit-footer .onbit-footer__locale:hover { background-color: rgba(255, 255, 255, .1); }
.onbit-footer__legal { display: grid; gap: 6px; margin-top: clamp(32px, 4vw, 48px); padding-top: 22px; border-top: 1px solid var(--ob-ink-line); font-size: .86rem; color: var(--ob-on-ink-3); }
.onbit-footer__legal p { margin: 0; }

/* ---------- Modulul ONBIT Secure (pagina serviciului și finalizarea comenzii) ---------- */
.onbit-secure-panel { border-top: 3px solid var(--ob-brand); }
.onbit-secure-panel .card-header .card-title, .onbit-secure-panel .panel-title { margin: 0; font-size: 1.1rem; }
.onbit-secure-panel .table { margin-bottom: 16px; font-size: .95rem; }
.onbit-secure-panel .onbit-secure-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.onbit-express { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; color: var(--ob-text); }
.onbit-express input { margin-top: .3em; flex: none; width: 18px; height: 18px; accent-color: var(--ob-brand); }
body #order-standard_cart .onbit-express { font-size: 1rem; line-height: 1.5; color: var(--ob-text); }

/* ---------- Mișcare redusă și tipărire ---------- */
@media (prefers-reduced-motion: reduce) {
  .btn, .action-icon-btns a, .action-icon-btns a .ico-container, .onbit-skip { transition: none; }
  .action-icon-btns a:hover, .action-icon-btns a:focus { transform: none; }
}
@media print {
  header.header, .onbit-hero, .onbit-skip, footer.onbit-footer, .master-breadcrumb, .sidebar { display: none !important; }
  body.primary-bg-color { background: #fff; }
  .card { box-shadow: none; }
}
