/* ============================================
   ipNX.ro — Blesta Custom Dark Theme v3
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --bg-main:   #08080f;
  --bg-card:   rgba(255,255,255,0.04);
  --bg-card-h: rgba(255,255,255,0.07);
  --border:    rgba(255,255,255,0.09);
  --primary:   #00c8ff;
  --accent:    #7c3aed;
  --text:      #e2e8f0;
  --muted:     #94a3b8;
  --radius:    14px;
  --radius-sm: 8px;
}

/* ─── GLOBAL ─── */
*, *::before, *::after { box-sizing: border-box !important; }

html, body {
  background: var(--bg-main) !important;
  color: var(--text) !important;
  font-family: 'Inter', sans-serif !important;
  min-height: 100vh !important;
}

body::before {
  content: '';
  position: fixed;
  top: -20%; left: -10%;
  width: 55%; height: 55%;
  background: radial-gradient(circle, rgba(0,200,255,0.07) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

body::after {
  content: '';
  position: fixed;
  bottom: -20%; right: -10%;
  width: 55%; height: 55%;
  background: radial-gradient(circle, rgba(124,58,237,0.07) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.container, .container-fluid, #main, #content, .content, #wrapper {
  position: relative !important;
  z-index: 1 !important;
}

/* ─── FORȚEAZĂ TOT TEXTUL SĂ FIE VIZIBIL ─── */
* {
  color: inherit !important;
}

body, div, p, span, li, td, th, label, small, strong, em, i,
h1, h2, h3, h4, h5, h6, a:not(.btn), input, select, textarea,
blockquote, .text-muted, .help-block {
  color: var(--text) !important;
}

.text-muted, .help-block, small, .small,
.list-group-item-text, .panel-body > p,
.panel-body > small, td.text-muted {
  color: var(--muted) !important;
}

/* ─── ASCUNDE LINIA CU STAFF LOGIN ─── */
.jumbotron ul li:first-child { display: none !important; }

/* ─── NAVBAR ─── */
.navbar,
.navbar-default,
nav.navbar {
  background: rgba(8,8,15,0.92) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid var(--border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 60px !important;
}

.navbar-default .navbar-nav > li > a,
.navbar-nav > li > a {
  color: var(--muted) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  transition: color .2s !important;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > .active > a {
  color: var(--primary) !important;
  background: transparent !important;
}

.navbar-default .navbar-right > li > a {
  color: var(--text) !important;
  font-weight: 600 !important;
}

.navbar-default .navbar-right > li > a:hover { color: var(--primary) !important; }

/* Dropdown */
.navbar-default .dropdown-menu, .dropdown-menu {
  background: #0d0d1a !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.6) !important;
  padding: 6px !important;
}

.dropdown-menu > li > a {
  color: var(--muted) !important;
  border-radius: 6px !important;
  padding: 8px 14px !important;
  font-size: 13px !important;
}

.dropdown-menu > li > a:hover {
  background: var(--bg-card-h) !important;
  color: var(--primary) !important;
}

/* ─── JUMBOTRON ─── */
.jumbotron {
  background: rgba(0,200,255,0.05) !important;
  border: 1px solid rgba(0,200,255,0.15) !important;
  border-radius: var(--radius) !important;
  color: var(--text) !important;
  padding: 28px 32px !important;
  margin-bottom: 24px !important;
}

/* ─── PANELS / CARDS ─── */
.panel, .panel-default, div.panel {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.3) !important;
  color: var(--text) !important;
  transition: border-color .25s, transform .2s !important;
}

.panel:hover { border-color: rgba(0,200,255,0.2) !important; }

.panel-default > .panel-heading, .panel > .panel-heading {
  background: rgba(255,255,255,0.04) !important;
  border-bottom: 1px solid var(--border) !important;
  border-radius: var(--radius) var(--radius) 0 0 !important;
  color: var(--text) !important;
  font-weight: 600 !important;
}

.panel-body { background: transparent !important; color: var(--text) !important; }
.panel-footer {
  background: rgba(255,255,255,0.03) !important;
  border-top: 1px solid var(--border) !important;
  color: var(--muted) !important;
}

/* ─── INFO BOXES / ALERTE BLESTA ─── */
.alert-info, div.alert-info, .info-box, .note {
  background: rgba(0,200,255,0.08) !important;
  border: 1px solid rgba(0,200,255,0.2) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--text) !important;
}

.alert-info *, .info-box * { color: var(--text) !important; }

/* ─── CLIENT INFO PANEL (stânga dashboard) ─── */
.client-info, .client-info *,
.panel .client-info p, .panel .client-info span,
.panel .client-info div, .panel .client-info small,
.panel .client-info address {
  color: var(--text) !important;
}

/* ─── LIST GROUP ─── */
.list-group-item {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}

.list-group-item:hover {
  background: var(--bg-card-h) !important;
  color: var(--text) !important;
}

.list-group-item.active {
  background: rgba(0,200,255,0.15) !important;
  border-color: rgba(0,200,255,0.3) !important;
  color: var(--primary) !important;
}

/* ─── CARD BOXES (Servicii, Facturi, Domenii, Comenzi, Bilete) ─── */
.card, .card-body {
  background: transparent !important;
  color: var(--text) !important;
}

.card-body *, .card * { color: var(--text) !important; }

/* Carduri colorate din dashboard (Domenii, Comenzi - gri default) */
[class*="bg-"] { color: #fff !important; }
[class*="bg-"] * { color: #fff !important; }

/* ─── HEADINGS & TEXT ─── */
h1, h2, h3, h4, h5, h6 { color: var(--text) !important; font-weight: 700 !important; }

/* ─── BUTOANE ─── */
.btn-primary, .btn-primary:focus {
  background: linear-gradient(135deg, #00c8ff, #0080aa) !important;
  border: none !important;
  color: #fff !important;
  font-weight: 600 !important;
  border-radius: var(--radius-sm) !important;
  transition: opacity .2s, transform .15s !important;
}

.btn-primary:hover { opacity: .88 !important; transform: translateY(-1px) !important; color: #fff !important; }

.btn-default, .btn-default:focus {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  font-weight: 500 !important;
  border-radius: var(--radius-sm) !important;
}

.btn-default:hover {
  background: var(--bg-card-h) !important;
  border-color: rgba(0,200,255,0.3) !important;
  color: var(--primary) !important;
}

.btn-success { background: linear-gradient(135deg,#22c55e,#16a34a) !important; border:none !important; color:#fff !important; border-radius:var(--radius-sm) !important; font-weight:600 !important; }
.btn-danger  { background: linear-gradient(135deg,#ef4444,#b91c1c) !important; border:none !important; color:#fff !important; border-radius:var(--radius-sm) !important; font-weight:600 !important; }
.btn-warning { background: linear-gradient(135deg,#eab308,#ca8a04) !important; border:none !important; color:#000 !important; border-radius:var(--radius-sm) !important; font-weight:600 !important; }

/* ─── FORMULARE ─── */
.form-control, input[type="text"], input[type="email"],
input[type="password"], input[type="number"], select, textarea {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--text) !important;
  font-size: 14px !important;
}

.form-control:focus, input:focus, select:focus, textarea:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(0,200,255,0.12) !important;
  background: rgba(255,255,255,0.09) !important;
  outline: none !important;
  color: var(--text) !important;
}

.form-control::placeholder { color: #4a5568 !important; }
label, .control-label { color: var(--muted) !important; font-weight: 500 !important; font-size: 13px !important; }

/* SELECT options */
select option { background: #0d0d1a !important; color: var(--text) !important; }

/* ─── TABELE ─── */
.table { color: var(--text) !important; }

.table > thead > tr > th {
  background: rgba(255,255,255,0.04) !important;
  border-bottom: 1px solid var(--border) !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
}

.table > tbody > tr > td {
  border-top: 1px solid var(--border) !important;
  color: var(--text) !important;
  background: transparent !important;
}

.table-striped > tbody > tr:nth-of-type(odd) { background: rgba(255,255,255,0.02) !important; }
.table-hover > tbody > tr:hover { background: rgba(0,200,255,0.04) !important; }

/* ─── ALERTE ─── */
.alert { border-radius: var(--radius-sm) !important; border-left-width: 3px !important; font-size: 14px !important; border-top: none !important; border-right: none !important; border-bottom: none !important; }
.alert * { color: inherit !important; }
.alert-success { background: rgba(34,197,94,0.12) !important; color: #86efac !important; border-color: #22c55e !important; }
.alert-danger, .alert-error { background: rgba(239,68,68,0.12) !important; color: #fca5a5 !important; border-color: #ef4444 !important; }
.alert-warning { background: rgba(234,179,8,0.12) !important; color: #fde047 !important; border-color: #eab308 !important; }
.alert-info { background: rgba(0,200,255,0.08) !important; color: var(--text) !important; border-color: var(--primary) !important; }

/* ─── BADGE / LABEL ─── */
.label-primary, .badge { background: var(--primary) !important; color:#000 !important; font-weight:600 !important; border-radius:20px !important; }
.label-success { background:#22c55e !important; color:#fff !important; border-radius:20px !important; }
.label-danger { background:#ef4444 !important; color:#fff !important; border-radius:20px !important; }
.label-warning { background:#eab308 !important; color:#000 !important; border-radius:20px !important; }
.label-default { background: rgba(255,255,255,0.1) !important; color: var(--text) !important; border-radius:20px !important; }

/* ─── LINKURI ─── */
a:not(.btn):not(.navbar-brand) { color: var(--primary) !important; }
a:not(.btn):hover { color: #fff !important; text-decoration: none !important; }

/* ─── BREADCRUMB ─── */
.breadcrumb { background: transparent !important; padding: 8px 0 !important; }
.breadcrumb > li { color: var(--muted) !important; font-size: 13px !important; }
.breadcrumb > .active { color: var(--text) !important; }
.breadcrumb a { color: var(--primary) !important; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--border) !important; }

/* ─── PAGINATION ─── */
.pagination > li > a, .pagination > li > span {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  margin: 0 2px !important;
  border-radius: var(--radius-sm) !important;
}

.pagination > .active > a {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: #000 !important;
  font-weight: 700 !important;
}

/* ─── WELL ─── */
.well {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: none !important;
  color: var(--text) !important;
}

/* ─── MODAL ─── */
.modal-content {
  background: #0d0d1a !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  color: var(--text) !important;
}

.modal-header {
  border-bottom: 1px solid var(--border) !important;
  background: rgba(255,255,255,0.03) !important;
  border-radius: var(--radius) var(--radius) 0 0 !important;
}

.modal-footer {
  border-top: 1px solid var(--border) !important;
  background: rgba(255,255,255,0.02) !important;
}

.modal-title, .modal-header h3, .modal-header h4 { color: var(--text) !important; }
.close { color: var(--text) !important; opacity: .6 !important; text-shadow: none !important; }
.close:hover { color: var(--primary) !important; opacity: 1 !important; }

/* ─── TABS ─── */
.nav-tabs { border-bottom: 1px solid var(--border) !important; }
.nav-tabs > li > a { color: var(--muted) !important; border: 1px solid transparent !important; border-radius: var(--radius-sm) var(--radius-sm) 0 0 !important; }
.nav-tabs > li > a:hover { background: var(--bg-card) !important; color: var(--text) !important; border-color: var(--border) !important; }
.nav-tabs > li.active > a { background: var(--bg-card-h) !important; border-color: var(--border) var(--border) transparent !important; color: var(--primary) !important; }

/* ─── FOOTER ─── */
footer, .footer {
  background: rgba(0,0,0,0.4) !important;
  border-top: 1px solid var(--border) !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  padding: 20px 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

footer *, .footer * { color: var(--muted) !important; }
footer a:hover, .footer a:hover { color: var(--primary) !important; }

/* ─── SCROLLBAR ─── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg-main); }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.15); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--primary); }

/* ─── ORDER FORM ─── */
.order-form, .order-form *,
#order_form, #order_form *,
.panel-cart, .panel-cart * {
  color: var(--text) !important;
}

/* Tabelul din rezumatul comenzii */
.summary-table, .cart-table,
table.table-cart, .order-summary table,
.panel-cart table, .panel-cart thead,
.panel-cart tbody, .panel-cart tr,
.panel-cart td, .panel-cart th {
  background: transparent !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* Celule tabel order */
td, th {
  background: transparent !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* Rânduri albe în tabel */
tr { background: transparent !important; }
tr:nth-child(even) { background: rgba(255,255,255,0.02) !important; }
tr:hover { background: rgba(0,200,255,0.03) !important; }

/* Input-uri order form */
.order-form input, .order-form select,
.order-form textarea, #order_form input {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  border-radius: var(--radius-sm) !important;
}

/* Checkbox-uri */
input[type="checkbox"] { accent-color: var(--primary) !important; }

/* Titluri secțiuni order */
.section-title, .order-form h2, .order-form h3,
.order-form .panel-heading, h2.title {
  color: var(--text) !important;
  font-weight: 700 !important;
}

/* Fundal alb rezidual pe orice div */
div[style*="background: #fff"],
div[style*="background:#fff"],
div[style*="background: white"],
div[style*="background-color: #fff"],
div[style*="background-color: white"] {
  background: var(--bg-card) !important;
  color: var(--text) !important;
}

/* Input grup */
.input-group-addon {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid var(--border) !important;
  color: var(--muted) !important;
}

/* Prețuri și sume */
.price, .total, .subtotal, .amount {
  color: var(--primary) !important;
  font-weight: 700 !important;
}

/* ─── FIX FUNDAL ALB REZIDUAL ─── */
.panel-body,
.panel .panel-body,
.panel-default .panel-body,
.card-body,
.well,
.box,
.box-body,
.content-box,
.order-content,
[class*="panel"],
[class*="card"] {
  background: #0c0c18 !important;
  color: var(--text) !important;
}

/* Override inline styles cu fundal alb */
[style*="background-color:#fff"],
[style*="background-color: #fff"],
[style*="background-color:white"],
[style*="background-color: white"],
[style*="background-color:#ffffff"],
[style*="background-color: #ffffff"],
[style*="background:#fff"],
[style*="background: #fff"],
[style*="background:white"],
[style*="background: white"] {
  background-color: #0c0c18 !important;
  color: var(--text) !important;
}

.bg-white, .bg-light, .bg-secondary-subtle {
  background: #0c0c18 !important;
  color: var(--text) !important;
}

/* Text negru forțat la alb */
[style*="color:#000"],
[style*="color: #000"],
[style*="color:black"],
[style*="color: black"],
[style*="color:#333"],
[style*="color: #333"],
[style*="color:#444"],
[style*="color:#555"] {
  color: var(--text) !important;
}

/* Forțează text vizibil pe orice element */
.text-dark, .text-body, .text-black { color: var(--text) !important; }

/* ─── FIX SPECIFIC bg-light + card-order (Bootstrap 5) ─── */

/* Override variabile Bootstrap 5 pentru bg-light */
.bg-light {
  --bs-bg-opacity: 1;
  --bs-light-rgb: 12, 12, 24;
  background-color: #0c0c18 !important;
}

/* Card-ul specific din order form */
.card-order,
.card-order.bg-light,
div.card.bg-light,
.card.bg-light,
.card.bg-light.p-3 {
  background-color: #0c0c18 !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}

/* Bootstrap 5 table-striped cu variabile CSS */
.table-striped {
  --bs-table-striped-bg: rgba(255,255,255,0.02);
  --bs-table-striped-color: #e2e8f0;
}

.table {
  --bs-table-bg: transparent;
  --bs-table-color: #e2e8f0;
  --bs-table-border-color: rgba(255,255,255,0.09);
  --bs-table-hover-bg: rgba(0,200,255,0.04);
}

/* Bootstrap 5 card variables */
.card {
  --bs-card-bg: #0c0c18;
  --bs-card-border-color: rgba(255,255,255,0.09);
  --bs-card-color: #e2e8f0;
}

/* Blesta Bootstrap 5 root variables */
:root {
  --bs-body-bg: #08080f;
  --bs-body-color: #e2e8f0;
  --bs-light-rgb: 12, 12, 24;
  --bs-secondary-bg: #0c0c18;
  --bs-tertiary-bg: #0d0d1a;
}
