/*
 * PulseXDR — Custom CSS
 * Terminal widget, page-specific overrides, Elementor fine-tuning.
 * Loaded after style.css via wp_enqueue_style in functions.php.
 */

/* =========================================================
   TERMINAL ANIMATION WIDGET
   Used on the About page via an Elementor HTML widget.
   Add class="about-terminal" to the outer <div> in the widget.
   ========================================================= */

.about-terminal {
  background: var(--bg2, #111111);
  border: 1px solid var(--border, #2A2A2A);
  border-radius: 12px;
  overflow: hidden;
  font-family: var(--font-mono, 'Liberation Mono', monospace);
  font-size: 0.8rem;
}

.about-terminal-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: var(--bg3, #1A1A1A);
  border-bottom: 1px solid var(--border, #2A2A2A);
}

.about-terminal-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}

.about-terminal-title {
  margin-left: 8px;
  color: var(--text-muted, #555555);
  font-size: 0.75rem;
}

.about-terminal-body {
  padding: 20px;
  line-height: 2;
  color: var(--text-dim, #888888);
}

/* Command prompt $ */
.about-terminal-body .cmd {
  color: var(--red, #E41E20);
  font-weight: 700;
}

/* Output lines */
.about-terminal-body .output {
  color: var(--text-muted, #555555);
}

/* Success lines — green checkmarks */
.about-terminal-body .success {
  color: #4CAF50;
}

/* Blinking block cursor */
.about-terminal-body .cursor {
  display: inline-block;
  width: 8px;
  height: 16px;
  background: var(--red, #E41E20);
  animation: terminal-blink 1s step-end infinite;
  vertical-align: text-bottom;
}

@keyframes terminal-blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0; }
}

/* =========================================================
   LANG SWITCH WIDGET
   TranslatePress renders its own switcher; this styles it
   to match the source design when using "floating" or
   injected-into-menu placement.
   ========================================================= */

.trp-language-switcher-container .trp-ls-shortcode-container,
.trp-floating-ls .trp-language-switcher {
  display: flex !important;
  gap: 4px;
  padding: 3px;
  background: var(--bg3, #1A1A1A);
  border-radius: 6px;
  border: 1px solid var(--border, #2A2A2A);
}

.trp-language-switcher-container .trp-ls-shortcode-language,
.trp-floating-ls .trp-language-switcher a {
  padding: 5px 12px;
  border-radius: 4px;
  font-size: 0.75rem !important;
  font-weight: 600;
  color: var(--text-dim, #888888) !important;
  background: transparent !important;
  border: none;
  text-decoration: none !important;
  transition: all 0.3s;
  font-family: var(--font-display, 'Poppins', sans-serif);
}

.trp-language-switcher-container .trp-ls-shortcode-current-language,
.trp-floating-ls .trp-language-switcher .trp-ls-shortcode-current-language {
  background: var(--red, #E41E20) !important;
  color: #FFFFFF !important;
}

/* =========================================================
   ELEMENTOR WIDGET SPACING FIXES
   ========================================================= */

/* Remove bottom margin from last element in a section */
.elementor-widget:last-child {
  margin-bottom: 0 !important;
}

/* Full-width section override when Elementor adds default padding */
.elementor-section.elementor-section-full_width.pxdr-hero-section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Ensure HTML widgets don't add extra wrapper padding */
.elementor-widget-html .elementor-widget-container {
  padding: 0;
}

/* Shortcode widget (CF7 forms) — remove Elementor default top/bottom */
.elementor-widget-shortcode .elementor-widget-container {
  padding: 0;
}

/* =========================================================
   ASTRA CUSTOMIZER OVERRIDES — colours forced via CSS
   (backup for values that don't take via Customizer)
   ========================================================= */

/* Page background */
body.pulsexdr-site,
body.pulsexdr-site .site-content {
  background-color: var(--bg, #0A0A0A) !important;
}

/* Default link colour */
body.pulsexdr-site a {
  color: var(--text, #E8E8E8);
}

/* Headings */
body.pulsexdr-site h1,
body.pulsexdr-site h2,
body.pulsexdr-site h3,
body.pulsexdr-site h4,
body.pulsexdr-site h5,
body.pulsexdr-site h6 {
  font-family: var(--font-display, 'Poppins', sans-serif);
  color: var(--text, #E8E8E8);
}

/* =========================================================
   PAGE HERO (small — for interior pages: Services, About, etc.)
   ========================================================= */

.pxdr-page-hero {
  padding: 140px 0 80px;
  background: var(--bg, #0A0A0A);
  position: relative;
  overflow: hidden;
}

.pxdr-page-hero::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--border, #2A2A2A);
}

.pxdr-page-hero .section-title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  margin-bottom: 0;
}

/* =========================================================
   COMPLIANZ COOKIE BANNER — dark override
   ========================================================= */

#cmplz-cookiebanner-container .cmplz-cookiebanner {
  background: var(--surface, #161616) !important;
  border: 1px solid var(--border, #2A2A2A) !important;
  color: var(--text, #E8E8E8) !important;
  font-family: var(--font-display, 'Poppins', sans-serif) !important;
}

#cmplz-cookiebanner-container .cmplz-btn {
  background: var(--red, #E41E20) !important;
  color: #FFFFFF !important;
  border: none !important;
  font-family: var(--font-display, 'Poppins', sans-serif) !important;
}

#cmplz-cookiebanner-container .cmplz-btn.cmplz-deny {
  background: transparent !important;
  border: 1px solid var(--border-light, #333333) !important;
  color: var(--text-dim, #888888) !important;
}

/* =========================================================
   PRINT STYLES — strip dark background for printing
   ========================================================= */

@media print {
  body {
    background: #FFFFFF !important;
    color: #000000 !important;
  }

  nav, footer, .pxdr-back-top {
    display: none !important;
  }
}
