/*
Theme Name: BorderlineData Child
Description: Child theme for BorderlineData - dark QA tool site
Template: hello-elementor
Version: 1.0.0
*/

/* ── Global dark palette ── */
:root {
  --bld-bg:         #0d1117;
  --bld-bg2:        #161b22;
  --bld-bg3:        #21262d;
  --bld-bg4:        #30363d;
  --bld-border:     #30363d;
  --bld-text:       #e6edf3;
  --bld-text2:      #8b949e;
  --bld-text3:      #6e7681;
  --bld-teal:       #00d4aa;
  --bld-teal2:      #00b894;
  --bld-teal-dim:   rgba(0,212,170,0.12);
  --bld-teal-glow:  rgba(0,212,170,0.08);
  --bld-red:        #f85149;
  --bld-yellow:     #e3b341;
  --bld-blue:       #58a6ff;
  --bld-green:      #39d353;
}

html, body {
  background-color: var(--bld-bg) !important;
  color: var(--bld-text);
  font-family: 'Inter', sans-serif;
}

/* Elementor containers inherit dark bg */
.e-con, .e-con-inner {
  --background-color: transparent;
}

/* Links */
a { color: var(--bld-teal); text-decoration: none; transition: color .18s ease; }
a:hover { color: var(--bld-teal2); }

/* Headings */
h1,h2,h3,h4,h5,h6 {
  font-family: 'DM Sans', sans-serif;
  color: var(--bld-text);
}

/* Code / mono spans */
code, .mono, pre {
  font-family: 'JetBrains Mono', monospace;
  background: var(--bld-bg3);
  border: 1px solid var(--bld-border);
  border-radius: 4px;
  padding: 1px 6px;
  font-size: 0.9em;
  color: var(--bld-teal);
}

/* ── Buttons ── */
.bld-btn-primary {
  background: var(--bld-teal);
  color: #0d1117;
  border: none;
  border-radius: 6px;
  padding: 10px 24px;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.bld-btn-primary:hover {
  background: var(--bld-teal2);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,212,170,0.3);
  color: #0d1117;
}
.bld-btn-ghost {
  border: 1px solid #444c56;
  color: var(--bld-text2);
  border-radius: 6px;
  padding: 10px 24px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  background: transparent;
  transition: all .18s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.bld-btn-ghost:hover {
  border-color: var(--bld-teal);
  color: var(--bld-teal);
  background: var(--bld-teal-dim);
}

/* ── Cards ── */
.bld-card {
  background: var(--bld-bg2);
  border: 1px solid var(--bld-border);
  border-radius: 12px;
  padding: 28px;
  transition: border-color .18s ease, transform .18s ease;
}
.bld-card:hover {
  border-color: var(--bld-teal);
  transform: translateY(-2px);
}

/* ── Section labels ── */
.bld-section-label {
  font-size: 11px;
  font-family: 'JetBrains Mono', monospace;
  color: var(--bld-teal);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}

/* ── Trust badge ── */
.bld-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--bld-teal-dim);
  border: 1px solid rgba(0,212,170,0.25);
  border-radius: 20px;
  padding: 4px 12px;
  font-size: 12px;
  font-family: 'JetBrains Mono', monospace;
  color: var(--bld-teal);
}

/* ── WPForms dark theme overrides ── */
.wpforms-container .wpforms-form input[type="text"],
.wpforms-container .wpforms-form input[type="email"],
.wpforms-container .wpforms-form input[type="number"],
.wpforms-container .wpforms-form textarea,
.wpforms-container .wpforms-form select {
  background: var(--bld-bg) !important;
  border: 1px solid #444c56 !important;
  border-radius: 6px !important;
  color: var(--bld-text) !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
  width: 100% !important;
  transition: border-color .18s ease !important;
  font-family: 'Inter', sans-serif !important;
}
.wpforms-container .wpforms-form input:focus,
.wpforms-container .wpforms-form textarea:focus,
.wpforms-container .wpforms-form select:focus {
  border-color: var(--bld-teal) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px var(--bld-teal-dim) !important;
}
.wpforms-container .wpforms-form label {
  color: var(--bld-text2) !important;
  font-size: 13px !important;
  margin-bottom: 4px !important;
  display: block !important;
  font-family: 'Inter', sans-serif !important;
}
.wpforms-container .wpforms-submit-container button[type="submit"] {
  background: var(--bld-teal) !important;
  color: #0d1117 !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 12px 32px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  cursor: pointer !important;
  transition: background .18s ease !important;
  font-family: 'DM Sans', sans-serif !important;
}
.wpforms-container .wpforms-submit-container button[type="submit"]:hover {
  background: var(--bld-teal2) !important;
}
.wpforms-confirmation-container-full {
  background: rgba(0,212,170,0.08) !important;
  border: 1px solid rgba(0,212,170,0.3) !important;
  border-radius: 8px !important;
  padding: 20px !important;
  color: var(--bld-teal) !important;
}

/* ── XPRO Header ── */
.xpro-header,
.xpro-header .xpro-header-main {
  background: rgba(13,17,23,0.92) !important;
  backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid var(--bld-border) !important;
}
.xpro-nav-menu a {
  color: var(--bld-text2) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 7px 12px !important;
  border-radius: 6px !important;
  transition: all .18s ease !important;
}
.xpro-nav-menu a:hover,
.xpro-nav-menu .current-menu-item > a {
  color: var(--bld-text) !important;
  background: var(--bld-bg3) !important;
}
.xpro-nav-menu .current-menu-item > a {
  color: var(--bld-teal) !important;
}

/* ── XPRO Footer ── */
.xpro-footer {
  background: var(--bld-bg2) !important;
  border-top: 1px solid var(--bld-border) !important;
}

/* ── Elementor global widget tweaks ── */
.elementor-widget-heading .elementor-heading-title {
  color: var(--bld-text);
}
.elementor-widget-text-editor p {
  color: var(--bld-text2);
}
.elementor-button.elementor-size-sm,
.elementor-button.elementor-size-md,
.elementor-button.elementor-size-lg {
  border-radius: 6px;
  font-weight: 700;
  transition: all .18s ease;
}

/* ── Responsive ── */
@media (max-width: 767px) {
  .e-con { padding-left: 16px !important; padding-right: 16px !important; }
}
@media (max-width: 1024px) {
  .xpro-nav-menu { display: none; }
  .xpro-mobile-toggle { display: flex !important; }
}
