/* 7heaven.cloud — Blesta client template ("7heaven"), loaded after Bootstrap 4.6 + Look & Feel theme.
   Same tokens as the marketing site (brand/tokens.css). Every rule is scoped to body.th7 so it wins
   over theme.css without !important. Dark = default; no shadows except the mobile tab bar. */

:root {
  --ground: #0B0F13;
  --ground-deep: #0F141A;
  --surface: #121820;
  --surface-2: #1A222C;
  --hairline: #232D38;
  --hairline-strong: #3A4E5C;
  --ink: #EDEAE3;
  --ink-muted: #9AA3AC;
  --ember: #E8743A;
  --ember-hover: #EF8A55;
  --on-ember: #0B0F13;
  --on-ember-muted: #2B1A10;
  --ember-text: #F09A68;
  --dawn: #EBD3B8;
  --success: #5CB88C;
  --danger: #E7776A;
  --font-display: "Unbounded", "Noto Sans Georgian", sans-serif;
  --font-sans: "Instrument Sans", "Noto Sans Georgian", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-pill: 999px;
  --ease-out: cubic-bezier(.2, .7, .2, 1);
  --side-w: 264px;
  --top-h: 72px;
  --tab-h: 64px;
}

/* ============ Base ============ */

/* html body.th7 beats Blesta's default Look & Feel custom CSS (body.client-…, body[class^="plugin-order"]) */
html body.th7 {
  background: var(--ground);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
.th7 a { color: var(--ember-text); transition: color .2s ease; }
.th7 a:hover { color: var(--ink); text-decoration: none; }
.th7 h1, .th7 h2, .th7 h3, .th7 h4, .th7 h5, .th7 h6 {
  color: var(--ink);
  font-family: var(--font-display);
  font-weight: 800;
  letter-spacing: -.01em;
}
.th7 hr { border-color: var(--hairline); }
.th7 .text-muted, .th7 small, .th7 .small { color: var(--ink-muted) !important; }
.th7 .text-primary, .th7 .text-info { color: var(--ember-text) !important; }
.th7 .text-success { color: var(--success) !important; }
.th7 .text-danger { color: var(--danger) !important; }
.th7 .text-warning { color: var(--dawn) !important; }
.th7 .bg-light, .th7 .bg-white { background: var(--surface) !important; }
.th7 :focus-visible { outline: 2px solid var(--dawn); outline-offset: 2px; }
.th7 ::selection { background: var(--ember); color: var(--on-ember); }

.th7-skip {
  position: absolute; left: 16px; top: -100px; z-index: 100;
  padding: 12px 20px; border-radius: var(--radius-pill);
  background: var(--ember); color: var(--on-ember) !important; font-weight: 600;
}
.th7-skip:focus { top: 16px; }

.th7-eyebrow {
  margin: 0 0 8px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .1em;
  color: var(--ink-muted);
}

/* ============ Layout: sidebar + main ============ */

.th7-app { display: flex; min-height: 100vh; }

.th7-side {
  position: sticky;
  top: 0;
  flex: 0 0 var(--side-w);
  height: 100vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 24px 16px;
  border-right: 1px solid var(--hairline);
  background: var(--ground);
}
.th7-side__head { display: flex; align-items: center; justify-content: space-between; padding: 0 8px; }
.th7-side .th7-side__close { display: none; }

.th7-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink) !important; }
.th7-brand__mark { width: 28px; height: 28px; }
.th7-brand__logo { max-height: 36px; width: auto; }
.th7-brand__name { font-family: var(--font-display); font-weight: 800; font-size: 18px; letter-spacing: -.02em; }
.th7-brand__tld { font-family: var(--font-mono); font-weight: 400; font-size: 12px; color: var(--ink-muted); }

.th7-nav { display: flex; flex-direction: column; gap: 2px; }
.th7-nav__item {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 0 14px;
  border-radius: var(--radius-md);
  color: var(--ink-muted) !important;
  font-size: 15px;
  transition: background-color .2s ease, color .2s ease;
}
.th7-nav__item i { width: 18px; text-align: center; font-size: 15px; }
.th7-nav__item:hover { background: var(--surface); color: var(--ink) !important; }
.th7-nav__item.is-active { background: var(--surface-2); color: var(--ink) !important; }
.th7-nav__item.is-active i { color: var(--ember); }
.th7-nav__sub { display: flex; flex-direction: column; margin: 2px 0 6px 44px; border-left: 1px solid var(--hairline); }
.th7-nav__subitem { padding: 8px 14px; font-size: 14px; color: var(--ink-muted) !important; }
.th7-nav__subitem:hover, .th7-nav__subitem.is-active { color: var(--ink) !important; }

.th7-promo {
  margin-top: auto;
  padding: 20px;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-lg);
  background: var(--surface);
}
.th7-promo__title { margin: 0 0 6px; font-family: var(--font-display); font-weight: 800; font-size: 17px; }
.th7-promo__text { margin: 0 0 16px; color: var(--ink-muted); font-size: 13px; line-height: 1.5; }

.th7-account { display: flex; flex-direction: column; padding: 0 8px; }
.th7-account a:not(.btn) {
  display: flex; align-items: center; gap: 10px; min-height: 36px;
  color: var(--ink-muted) !important; font-size: 14px;
}
.th7-account a:not(.btn):hover { color: var(--ink) !important; }

.th7-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }

.th7-top {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: var(--top-h);
  padding: 0 32px;
  border-bottom: 1px solid var(--hairline);
  background: rgba(11, 15, 19, .92);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.th7-top__brand { display: none; }
.th7-top__title { flex: 1 1 auto; min-width: 0; margin: 0; font-size: 22px; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.th7-top__actions { display: flex; align-items: center; gap: 10px; }
.th7-top .th7-top__menu { display: none; }

.th7-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 16px 0 6px;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  background: var(--surface);
  color: var(--ink) !important;
  font-size: 14px;
  transition: border-color .2s ease, background-color .2s ease;
}
.th7-pill:hover { border-color: var(--hairline-strong); background: var(--surface-2); }
.th7-lang .th7-pill { padding: 0 16px; font-family: var(--font-mono); }
.th7-avatar {
  display: grid; place-items: center;
  width: 32px; height: 32px;
  border-radius: var(--radius-pill);
  background: var(--ember); color: var(--on-ember);
  font-family: var(--font-display); font-weight: 800; font-size: 14px;
}

.th7-iconbtn {
  display: grid; place-items: center;
  width: 44px; height: 44px; padding: 0;
  border: 1px solid var(--hairline); border-radius: var(--radius-pill);
  background: var(--surface); color: var(--ink);
}
.th7-iconbtn svg { width: 20px; height: 20px; }
.th7-iconbtn:hover { border-color: var(--hairline-strong); background: var(--surface-2); }

.th7-content { flex: 1 1 auto; width: 100%; max-width: 1240px; padding: 32px; }
.th7-content > .row { margin-left: -8px; margin-right: -8px; }
.th7-content > .row > [class*="col-"] { padding-left: 8px; padding-right: 8px; }

.th7-subnav { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 24px; padding: 6px; width: fit-content; max-width: 100%; border: 1px solid var(--hairline); border-radius: var(--radius-pill); background: var(--surface); }
.th7-subnav__item { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border-radius: var(--radius-pill); color: var(--ink-muted) !important; font-size: 14px; }
.th7-subnav__item:hover { color: var(--ink) !important; background: var(--surface-2); }
.th7-subnav__item.is-active { background: var(--surface-2); color: var(--ink) !important; }

.th7-foot {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px;
  padding: 20px 32px; border-top: 1px solid var(--hairline);
  color: var(--ink-muted); font-size: 12px;
}
.th7-foot__status { display: inline-flex; align-items: center; gap: 8px; }
.th7-dot { width: 7px; height: 7px; border-radius: var(--radius-pill); background: var(--success); animation: th7-pulse 1.8s ease-out infinite; }
@keyframes th7-pulse { 0% { box-shadow: 0 0 0 0 rgba(92, 184, 140, .6); } 100% { box-shadow: 0 0 0 10px rgba(92, 184, 140, 0); } }

.th7-scrim { position: fixed; inset: 0; z-index: 39; background: rgba(0, 0, 0, .55); }
.th7-tabbar { display: none; }

@media (max-width: 767px) {
  .th7 .cards .card { min-height: 0; padding: 18px; }
  .th7 .cards .card-value { font-size: 30px; }
}

/* Bare layout: log in / reset password */
.th7-bare { display: flex; flex-direction: column; align-items: center; gap: 32px; min-height: 100vh; padding: 64px 20px; }
.th7-bare__brand .th7-brand__mark { width: 34px; height: 34px; }
.th7-bare__brand .th7-brand__name { font-size: 22px; }
.th7-bare > .row { width: 100%; max-width: 520px; margin: 0; }
.th7-bare > .row > [class*="col-"] { flex: 0 0 100%; max-width: 100%; margin-left: 0; }

/* ============ Responsive ============ */

@media (max-width: 991px) {
  .th7-side {
    position: fixed; z-index: 40; left: 0; top: 0; bottom: 0;
    width: min(320px, 86vw); height: auto;
    transform: translateX(-102%);
    transition: transform .35s var(--ease-out);
  }
  .th7-menu-open .th7-side { transform: none; }
  .th7-side .th7-side__close { display: grid; }
  .th7-top { padding: 0 16px; min-height: 64px; }
  .th7-top__brand { display: inline-flex; }
  .th7-top__brand .th7-brand__name { font-size: 16px; }
  .th7-top__title { display: none; }
  .th7-top__actions { margin-left: auto; min-width: 0; }
  .th7-top__actions .th7-chip { min-width: 0; max-width: 42vw; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; line-height: 32px; }
  .th7-top__username { display: none; }
  .th7-top__user { padding: 0 6px; }
  .th7-top .th7-top__menu { display: grid; }
  .th7-content { padding: 20px 16px 32px; }
  .th7-foot { padding: 16px 16px calc(var(--tab-h) + 24px + env(safe-area-inset-bottom, 0px)); }

  .th7-tabbar {
    position: fixed; z-index: 30; left: 0; right: 0; bottom: 0;
    display: flex;
    padding: 6px 6px calc(6px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--hairline);
    background: rgba(11, 15, 19, .96);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    box-shadow: 0 -10px 30px rgba(0, 0, 0, .35);
  }
  .th7-tab {
    flex: 1 1 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
    min-width: 0; min-height: 52px; padding: 4px 2px;
    border: 0; border-radius: var(--radius-md); background: transparent;
    color: var(--ink-muted) !important; font-size: 11px; line-height: 1.2;
  }
  .th7-tab span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .th7-tab i { font-size: 17px; }
  .th7-tab.is-active { color: var(--ink) !important; }
  .th7-tab.is-active i { color: var(--ember); }
}

/* ============ Bootstrap components → brand ============ */

/* Cards (Blesta widgets) → bento cells */
.th7 .card, .th7 .card-blesta {
  margin-bottom: 16px;
  border: 1px solid var(--hairline) !important; /* Blesta sets .card-blesta border with !important */
  border-radius: var(--radius-lg);
  background: var(--surface);
  color: var(--ink);
  box-shadow: none;
  overflow: hidden;
}
.th7 .card.p-3 { padding: 0 !important; }
.th7 .card-header, .th7 .card-blesta > .card-header {
  padding: 20px 24px 12px;
  border-bottom: 0;
  background: transparent !important;
  color: var(--ink);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 17px;
}
.th7 .card-header h3, .th7 .card-header h4, .th7 .card-header h5 { margin: 0; font-size: 17px; }
.th7 .card-body { padding: 16px 24px 24px; }
.th7 .card-footer { padding: 16px 24px; border-top: 1px solid var(--hairline); background: transparent; }
.th7 .card-nav { margin: 0 24px; }
.th7 .card-content { padding: 0; }

/* Dashboard stat cards */
.th7 .cards { margin-left: -8px; margin-right: -8px; }
.th7 .cards > [class*="col-"] { padding-left: 8px; padding-right: 8px; }
.th7 .cards a { display: block; color: inherit !important; }
.th7 .cards .card {
  min-height: 132px;
  padding: 24px;
  transition: transform .45s var(--ease-out), border-color .35s ease;
}
.th7 .cards a:hover .card { transform: translateY(-4px); }
.th7 .cards > :not(:first-child) a:hover .card { border-color: var(--hairline-strong) !important; }
.th7 .cards > :first-child .card { background: var(--ember) !important; border-color: var(--ember) !important; color: var(--on-ember) !important; }
.th7 .cards > :first-child .card .card-label { color: var(--on-ember-muted); }
.th7 .cards .card-value { font-family: var(--font-display); font-weight: 900; font-size: 40px; line-height: 1; letter-spacing: -.02em; }
.th7 .cards .card-label { margin-top: 10px; font-size: 13px; color: var(--ink-muted); }

/* Buttons → pills */
.th7 .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 0 20px;
  border: 1px solid var(--hairline-strong); border-radius: var(--radius-pill);
  background: transparent; color: var(--ink);
  font-weight: 600; font-size: 14px; line-height: 1.2;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .15s ease;
}
.th7 .btn:hover { border-color: var(--ink-muted); background: var(--surface-2); color: var(--ink); }
.th7 .btn:active { transform: translateY(1px); }
.th7 .btn-block { display: flex; width: 100%; }
.th7 .btn-sm { min-height: 36px; padding: 0 14px; font-size: 13px; }
.th7 .btn-xs { min-height: 30px; padding: 0 12px; font-size: 12px; }
.th7 .btn-lg { min-height: 52px; padding: 0 26px; font-size: 15px; }
/* Look & Feel theme.css sets .btn-* colors with !important, hence !important below */
.th7 .btn-primary, .th7 .btn-success {
  border-color: var(--ember) !important; background: var(--ember) !important; color: var(--on-ember) !important;
}
.th7 .btn-primary:hover, .th7 .btn-success:hover,
.th7 .btn-primary:focus, .th7 .btn-success:focus { border-color: var(--ember-hover) !important; background: var(--ember-hover) !important; color: var(--on-ember) !important; }
.th7 .btn-light, .th7 .btn-default, .th7 .btn-secondary, .th7 .btn-info, .th7 .btn-outline-primary, .th7 .btn-outline-secondary {
  border-color: var(--hairline-strong) !important; background: transparent !important; color: var(--ink) !important;
}
.th7 .btn-light:hover, .th7 .btn-default:hover, .th7 .btn-secondary:hover, .th7 .btn-info:hover,
.th7 .btn-outline-primary:hover, .th7 .btn-outline-secondary:hover { border-color: var(--ink-muted) !important; background: var(--surface-2) !important; }
.th7 .btn-danger, .th7 .btn-outline-danger { border-color: rgba(231, 119, 106, .5) !important; background: transparent !important; color: var(--danger) !important; }
.th7 .btn-danger:hover, .th7 .btn-outline-danger:hover { background: rgba(231, 119, 106, .12) !important; }
.th7 .btn-warning { border-color: var(--dawn) !important; background: var(--dawn) !important; color: var(--on-ember) !important; }
.th7 .btn-group > .btn { border-radius: var(--radius-pill) !important; margin-left: 4px; }
.th7 .btn .fa, .th7 .btn .fas, .th7 .btn .far { font-size: .95em; }

/* Tables */
.th7 .table { color: var(--ink); background: transparent; margin-bottom: 0; }
.th7 .table th, .th7 .table td { border-color: var(--hairline); background: transparent; vertical-align: middle; padding: 14px 16px; }
.th7 .table-striped-alt > tbody > tr > td, .th7 .table-striped-alt > tbody > tr > th { background: transparent; }
.th7 .table thead th {
  border-top: 0; border-bottom: 1px solid var(--hairline);
  color: var(--ink-muted); font-size: 12px; font-weight: 500;
  white-space: nowrap;
}
.th7 .table thead th a { color: var(--ink-muted) !important; }
.th7 .table thead th a:hover { color: var(--ink) !important; }
.th7 .table-striped tbody tr:nth-of-type(odd), .th7 .table-striped-alt tbody tr:nth-of-type(odd) { background: transparent; }
/* Blesta: .table-striped > tbody > tr:nth-child(2n+1) > td { #fff } outranks .th7 .table td */
.th7 .table-striped > tbody > tr > td, .th7 .table-striped > tbody > tr > th { background-color: transparent !important; }
.th7 .table-hover > tbody > tr:hover > td, .th7 .table-hover > tbody > tr:hover > th { background: var(--surface-2) !important; color: var(--ink); }
.th7 .table-curved { border: 0; border-collapse: separate; border-spacing: 0; }
.th7 .table-curved td, .th7 .table-curved th { border-left: 0 !important; }
.th7 .table-bordered, .th7 .table-bordered th, .th7 .table-bordered td { border-color: var(--hairline); }
.th7 .table .expand_details, .th7 .table tr.expand_details td { background: var(--ground-deep); }

/* Forms */
.th7 label, .th7 .col-form-label { color: var(--ink-muted); font-size: 13px; font-weight: 500; }
.th7 .form-control, .th7 .custom-select, .th7 select.form-control, .th7 textarea.form-control {
  min-height: 44px;
  border: 1px solid var(--hairline-strong); border-radius: var(--radius-md);
  background: var(--ground); color: var(--ink);
  font-size: 15px;
  transition: border-color .2s ease;
}
.th7 .form-control::placeholder { color: var(--ink-muted); opacity: .7; }
.th7 .form-control:focus, .th7 .custom-select:focus { border-color: var(--dawn); background: var(--ground); color: var(--ink); box-shadow: none; }
.th7 .form-control:disabled, .th7 .form-control[readonly] { background: var(--surface-2); color: var(--ink-muted); }
.th7 .input-group-text { border-color: var(--hairline-strong); background: var(--surface-2); color: var(--ink-muted); border-radius: var(--radius-md); }
.th7 .form-check-input, .th7 input[type="checkbox"], .th7 input[type="radio"] { accent-color: var(--ember); }
.th7 .is-invalid, .th7 .form-control.is-invalid { border-color: var(--danger) !important; }
.th7 .invalid-feedback { color: var(--danger); }

/* Badges → status chips */
.th7 .badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 10px; border-radius: var(--radius-pill);
  background: var(--surface-2); color: var(--ink-muted);
  font-family: var(--font-mono); font-size: 11px; font-weight: 500; letter-spacing: .04em;
}
.th7 .badge-success { background: rgba(92, 184, 140, .14) !important; color: var(--success) !important; }
.th7 .badge-info, .th7 .badge-primary, .th7 .badge-warning { background: rgba(232, 116, 58, .16) !important; color: var(--ember-text) !important; }
.th7 .badge-danger { background: rgba(231, 119, 106, .14) !important; color: var(--danger) !important; }
.th7 .badge-secondary, .th7 .badge-light, .th7 .badge-default, .th7 .badge-dark { background: var(--surface-2) !important; color: var(--ink-muted) !important; }
.th7-chip { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border-radius: var(--radius-pill); font-size: 12px; }
.th7-chip--progress { background: rgba(232, 116, 58, .16); color: var(--ember-text) !important; }

/* Alerts */
.th7 .alert {
  border: 1px solid var(--hairline); border-radius: var(--radius-md);
  background: var(--surface-2); color: var(--ink);
  padding: 14px 18px;
}
.th7 .alert-success { border-color: rgba(92, 184, 140, .35); background: rgba(92, 184, 140, .1); }
.th7 .alert-danger { border-color: rgba(231, 119, 106, .35); background: rgba(231, 119, 106, .1); }
.th7 .alert-warning, .th7 .alert-info, .th7 .alert-primary { border-color: rgba(232, 116, 58, .35); background: rgba(232, 116, 58, .08); }
.th7 .alert .close { color: var(--ink); text-shadow: none; opacity: .6; }
.th7 .alert h4, .th7 .alert .alert-heading { font-size: 16px; }

/* Nav tabs / pills (widget links, service tabs) */
.th7 .nav-tabs { border-bottom: 1px solid var(--hairline); gap: 4px; }
.th7 .nav-tabs .nav-link {
  border: 0; border-radius: var(--radius-pill); margin-bottom: 8px;
  color: var(--ink-muted) !important; padding: 8px 16px;
}
.th7 .nav-tabs .nav-link:hover { background: var(--surface-2); color: var(--ink) !important; }
.th7 .nav-tabs .nav-link.active, .th7 .nav-tabs .nav-item.show .nav-link { background: var(--surface-2); color: var(--ink) !important; }
.th7 .nav-pills .nav-link { border-radius: var(--radius-pill); color: var(--ink-muted) !important; }
.th7 .nav-pills .nav-link.active, .th7 .nav-pills .show > .nav-link { background: var(--surface-2); color: var(--ink) !important; }

/* List groups (dashboard my-info, service tabs) */
.th7 .list-group-item {
  border-color: var(--hairline); background: transparent; color: var(--ink);
}
.th7 .list-group-item-action:hover, .th7 .list-group-item-action:focus { background: var(--surface-2); color: var(--ink); }
.th7 .list-group-item.active { border-color: var(--hairline); background: var(--surface-2); color: var(--ink); }
.th7 .list-group-item.active i { color: var(--ember); }
/* Blesta's Look & Feel paints these light blue with !important (theme_highlight_hover_color) */
.th7 a.list-group-item:hover, .th7 a.list-group-item:focus { background-color: var(--surface-2) !important; color: var(--ink) !important; }
.th7 a.list-group-item.active, .th7 a.list-group-item.active:hover, .th7 a.list-group-item.active:focus {
  border-color: var(--hairline) !important; background-color: var(--surface-2) !important; color: var(--ink) !important;
}
.th7 .list-group-item h4 { color: var(--ink) !important; }
.th7 .list-group-item.credits { color: var(--ember-text) !important; }
.th7 .bg-primary { background-color: var(--ember) !important; color: var(--on-ember) !important; }
.th7 .border-primary { border-color: var(--ember) !important; }
.th7 .text-secondary { color: var(--ink-muted) !important; }
.th7 .bg-secondary { background-color: var(--surface-2) !important; }

/* Dropdowns, modals, popovers, tooltips */
.th7 .dropdown-menu {
  padding: 6px; border: 1px solid var(--hairline); border-radius: var(--radius-md);
  background: var(--surface); box-shadow: none;
}
.th7 .dropdown-item { border-radius: 8px; padding: 10px 14px; color: var(--ink) !important; }
.th7 .dropdown-item:hover, .th7 .dropdown-item:focus { background: var(--surface-2); color: var(--ink) !important; }
.th7 .dropdown-divider { border-color: var(--hairline); }
.th7 .modal-content { border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--surface); color: var(--ink); }
.th7 .modal-header, .th7 .modal-footer { border-color: var(--hairline); }
.th7 .modal-header .close, .th7 .close { color: var(--ink); text-shadow: none; }
.th7 .modal-backdrop.show { opacity: .7; }
.th7 .popover { border-color: var(--hairline); background: var(--surface-2); }
.th7 .popover-body { color: var(--ink); }
.th7 .tooltip-inner { background: var(--surface-2); color: var(--ink); border-radius: 8px; }

/* Pagination */
.th7 .pagination .page-link {
  margin: 0 3px; border: 1px solid var(--hairline); border-radius: var(--radius-pill) !important;
  background: transparent; color: var(--ink-muted);
}
.th7 .pagination .page-link:hover { background: var(--surface-2); color: var(--ink); }
.th7 .pagination .page-item.active .page-link { border-color: var(--ember); background: var(--ember); color: var(--on-ember); }

/* Progress (cPanel usage) */
.th7 .progress { height: 8px; border-radius: var(--radius-pill); background: var(--hairline); }
.th7 .progress-bar { border-radius: var(--radius-pill); background: var(--ember); }

/* Wells / panels from older views */
.th7 .well, .th7 .panel, .th7 .jumbotron { border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: var(--surface); color: var(--ink); box-shadow: none; }
/* Blesta paints these #f8f9fa with !important */
.th7 .well, .th7 form.widget_filter_form, .th7 .top-focus-box { background-color: var(--surface) !important; }
.th7 .panel-heading { border-color: var(--hairline); background: transparent; color: var(--ink); }

/* Invoice view */
.th7 address { color: var(--ink); }
.th7 .invoice-paid, .th7 .paid { color: var(--success); }

/* Blesta borders these with !important */
.th7 .panel-blesta, .th7 .well, .th7 .border { border-color: var(--hairline) !important; }
.th7 .card-blesta, .th7 .panel-blesta { border-radius: var(--radius-lg) !important; }
.th7 .panel-body { padding: 24px; }
.th7 .panel-footer { padding: 16px 24px; border-top: 1px solid var(--hairline); background: transparent; font-size: 14px; }

/* Log in / password reset (bare layout) */
.th7--bare .card { padding: 8px; }
.th7--bare .card-header { font-size: 22px; padding-top: 28px; }
.th7--bare h2 { margin: 0 0 8px; font-size: 28px; line-height: 1.15; }
.th7--bare h2 .fas { display: none; }
.th7--bare h4 { margin: 0 0 6px; font-family: var(--font-sans); font-weight: 600; font-size: 17px; }
.th7--bare h2 + h4 + p { color: var(--ink-muted); }
.th7--bare .row > [class*="col-"] > hr { display: none; }
.th7--bare .checkbox label { display: flex; align-items: center; gap: 8px; margin: 4px 0 16px; }

/* ============ CMS portal page (my.7heaven.cloud/) ============ */

.th7 .portal-box .card { background: var(--surface) !important; transition: transform .45s var(--ease-out), border-color .35s ease; }
.th7 .portal-box .card:hover { background: var(--surface) !important; transform: translateY(-4px); border-color: var(--hairline-strong) !important; }
.th7 .portal-box a { color: var(--ink) !important; }
.th7 .portal-box .card-body { padding: 28px 24px !important; }
.th7 .portal-box i, .th7 .portal-box .fas { color: var(--ember); }
.th7 .portal-box h4 { margin: 12px 0 6px; font-size: 18px; }
.th7 .portal-box p { color: var(--ink-muted); font-size: 14px; }
.th7 .thanks blockquote, .th7 blockquote {
  margin: 0 0 16px; padding: 24px 28px;
  border: 1px solid var(--hairline); border-radius: var(--radius-lg);
  background: var(--surface); color: var(--ink-muted);
}
.th7 .thanks blockquote h2, .th7 .thanks blockquote h3 { color: var(--ink); }

/* Quotations are not used: hide the client dashboard block (and its page content) */
.th7 #client_quotations { display: none !important; }

/* ============ Order form (plugins/order, Standard template) ============ */

/* Steps: muted until reached, no synthetic italics on Georgian */
.th7 .card-steps { background: var(--surface) !important; }
.th7 .card-steps a { color: var(--ink-muted) !important; }
.th7 .card-steps a.active { color: var(--ink) !important; }
.th7 .card-steps a.active:before { color: var(--ember); }
.th7 .card-steps p { margin: 4px 0 0; color: var(--ink-muted); font-size: 13px; }
.th7 .card-steps em { font-style: normal; }

/* Domain search: the template's white globe and light well are made for a light page */
.th7 .whois {
  padding: 32px 24px;
  border-radius: var(--radius-lg);
  background: var(--ground-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' fill='none' stroke='%23EDEAE3' stroke-opacity='.05'%3E%3Cpath stroke-width='26' d='M209,15a195,195 0 1,0 2,0z'/%3E%3Cpath stroke-width='18' d='m210,15v390m195-195H15M59,90a260,260 0 0,0 302,0 m0,240 a260,260 0 0,0-302,0M195,20a250,250 0 0,0 0,382 m30,0 a250,250 0 0,0 0-382'/%3E%3C/svg%3E") no-repeat 112% -70px;
}
.th7 .whois .well { margin: 0 0 20px; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none; }
.th7 .whois .form-control.input-md { min-height: 56px; padding: 0 22px; border-radius: var(--radius-pill); font-size: 17px; }
.th7 .whois .tlds { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 16px; }
.th7 .whois .tlds .checkbox-inline {
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 36px; margin: 0; padding: 0 14px;
  border: 1px solid var(--hairline-strong); border-radius: var(--radius-pill);
  color: var(--ink); font-family: var(--font-mono); font-size: 13px;
  cursor: pointer;
  transition: border-color .2s ease, background-color .2s ease;
}
.th7 .whois .tlds .checkbox-inline:hover { border-color: var(--ink-muted); }
.th7 .whois .tlds .checkbox-inline:has(input:checked) { border-color: var(--ember); background: rgba(232, 116, 58, .12); }
.th7 .whois .tlds input { margin: 0; }
.th7 .whois .show_more { min-height: 36px; margin: 0 !important; }
.th7 .whois .search .btn-group { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.th7 .whois .search .btn-group > .btn { flex: 0 0 auto; margin: 0 !important; }
.th7 .tld_pricing_show td { background: transparent !important; }
/* Transfers are off for every TLD (Domain Options → Edit → Transfer): no button, no 0.00 column */
.th7 .whois button[name="transfer"],
.th7 .table-curved:has(.tld_pricing) th:nth-child(3),
.th7 .table-curved:has(.tld_pricing) td:nth-child(3) { display: none; }

@media (max-width: 767px) {
  .th7 .whois { padding: 20px 14px; background-image: none; }
  .th7 .whois .search .btn-group, .th7 .whois .search .btn-group > .btn { width: 100%; }
}
