/* ==========================================================================
   KIEMO OAZĖ PREMIUM STYLING SYSTEM (VPSROCKET DESIGN INSPIRED)
   ========================================================================== */

/* Variables */
:root {
  --oaze-dark: #060B08; /* Deep premium forest green-black */
  --oaze-card: #0E1512; /* Dark slate-green card backdrop */
  --oaze-accent: #D4C3A3; /* Champagne Gold accent */
  --oaze-text: #E8ECEA; /* Cream white text */
  --oaze-muted: #8E9B94; /* Soft gray-green muted text */
  --oaze-border: rgba(212, 195, 163, 0.08); /* Minimalist gold outline */
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans: 'Inter', sans-serif;
}

/* ==========================================
   BULLETPROOF FULL-BLEED BACKGROUND FORCE
   ========================================== */

/* Forces dark background on body, main wrappers, Astra headers, and columns */
body, 
#page, 
#primary, 
#content, 
.site-content, 
.ast-container,
.main-header-bar,
.site-header,
.entry-content,
.entry-page,
.ast-primary-header-bar,
.site-footer,
.ast-small-footer,
article,
main {
  background-color: var(--oaze-dark) !important;
  color: var(--oaze-text) !important;
}

/* Force dark background on any Elementor sections that contain our widgets */
.elementor-section:has(.kiemo-oaze-section-wrap),
.elementor-section:has(.elementor-widget-kiemo_oaze_header),
.elementor-section:has(.elementor-widget-kiemo_oaze_footer),
.elementor-column:has(.kiemo-oaze-section-wrap) {
  background-color: var(--oaze-dark) !important;
}

/* Integration skinning for Astra default headers & menus */
.main-header-bar a,
.site-header a,
.site-footer a,
.ast-primary-header-bar a,
.main-navigation a,
.site-title a {
  color: var(--oaze-text) !important;
  transition: color 0.3s ease;
}

.main-header-bar a:hover,
.site-header a:hover,
.site-footer a:hover,
.ast-primary-header-bar a:hover,
.main-navigation a:hover,
.site-title a:hover {
  color: var(--oaze-accent) !important;
}

/* Base Canvas Body Styles */
body.elementor-template-canvas {
  background-color: var(--oaze-dark) !important;
  color: var(--oaze-text) !important;
  font-family: var(--font-sans) !important;
  -webkit-font-smoothing: antialiased;
}

/* Force Dark Styling globally on all Kiemo Oaze section wrappers */
.kiemo-oaze-section-wrap {
  background-color: var(--oaze-dark) !important;
  color: var(--oaze-text) !important;
  font-family: var(--font-sans) !important;
  box-sizing: border-box;
}

/* Typography specificity overrides within section wrappers */
.kiemo-oaze-section-wrap h1,
.kiemo-oaze-section-wrap h2,
.kiemo-oaze-section-wrap h3,
.kiemo-oaze-section-wrap h4,
.kiemo-oaze-section-wrap h5,
.kiemo-oaze-section-wrap h6,
.kiemo-oaze-section-wrap .font-serif {
  font-family: var(--font-serif) !important;
  font-weight: 400 !important;
}

.kiemo-oaze-section-wrap p,
.kiemo-oaze-section-wrap li,
.kiemo-oaze-section-wrap a,
.kiemo-oaze-section-wrap span,
.kiemo-oaze-section-wrap label,
.kiemo-oaze-section-wrap input,
.kiemo-oaze-section-wrap textarea {
  font-family: var(--font-sans) !important;
}

/* ==========================================
   INTERACTIVE CARDS & BORDERS
   ========================================== */

/* Cards background and thin borders */
.kiemo-oaze-section-wrap .bg-oazeCard {
  background-color: var(--oaze-card) !important;
  border: 1px solid var(--oaze-border) !important;
  transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  border-radius: 0px !important;
}

.kiemo-oaze-section-wrap .bg-oazeCard:hover {
  transform: translateY(-5px);
  border-color: var(--oaze-accent) !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6) !important;
}

/* Portfolio Hover zoom */
.kiemo-oaze-section-wrap .group img {
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
.kiemo-oaze-section-wrap .group:hover img {
  transform: scale(1.04) !important;
}

/* Contact Inputs styling (Custom Form, WPForms, Contact Form 7) */
.kiemo-oaze-ajax-form input,
.kiemo-oaze-ajax-form textarea,
.wpforms-form input,
.wpforms-form textarea,
.wpforms-form select,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.wpcf7 select {
  border: 1px solid var(--oaze-border) !important;
  background-color: rgba(11, 19, 16, 0.4) !important;
  transition: all 0.3s ease;
  border-radius: 0px !important;
  color: var(--oaze-text) !important;
  padding: 12px 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.kiemo-oaze-ajax-form input:focus,
.kiemo-oaze-ajax-form textarea:focus,
.wpforms-form input:focus,
.wpforms-form textarea:focus,
.wpforms-form select:focus,
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  border-color: var(--oaze-accent) !important;
  outline: none !important;
  background-color: rgba(11, 19, 16, 0.7) !important;
}

/* WPForms and Contact Form 7 Button styling */
.wpforms-submit,
.wpcf7-submit {
  display: block !important;
  width: 100% !important;
  background-color: var(--oaze-accent) !important;
  color: var(--oaze-dark) !important;
  border: 1px solid var(--oaze-accent) !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  padding: 16px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  border-radius: 0px !important;
  box-sizing: border-box !important;
}

.wpforms-submit:hover,
.wpcf7-submit:hover {
  background-color: transparent !important;
  color: var(--oaze-accent) !important;
}

/* WPForms label styling */
.wpforms-field-label {
  color: var(--oaze-muted) !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-weight: 500 !important;
  margin-bottom: 8px !important;
  display: block !important;
}

/* CTA buttons outline transitions */
.kiemo-oaze-section-wrap .border-oazeAccent {
  border-color: var(--oaze-accent) !important;
}

.kiemo-oaze-section-wrap .bg-oazeAccent {
  background-color: var(--oaze-accent) !important;
}

/* Underline link effects */
.about-cta-link, .nav-link {
  position: relative;
}
.about-cta-link::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--oaze-accent);
  transform: scaleX(0.25);
  transform-origin: left;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.about-cta-link:hover::after {
  transform: scaleX(1);
}

/* ==========================================
   VPSROCKET INSPIRED STYLING MOCKS
   ========================================== */

/* YAML Terminal Style block */
pre {
  background-color: #030604 !important;
  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace !important;
  font-size: 11px !important;
  color: #9cdcb0 !important; /* Soft light code green */
  border-radius: 0px !important;
  margin: 0 !important;
  overflow-x: auto;
}

/* pulse dot animation */
@keyframes pulseGlow {
  0%, 100% {
    opacity: 0.5;
    transform: scale(0.85);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
}

.animate-pulse {
  animation: pulseGlow 2s infinite ease-in-out;
}

/* AJAX Spinner transition styling */
.btn-spinner {
  border-top-color: transparent !important;
}
.form-response-msg {
  transition: all 0.4s ease;
}
