:root {
  /* Dark luxury aviation palette */
  --color-bg:             #080A0F;
  --color-surface:        #111318;
  --color-surface-2:      #1A1C24;
  --color-primary:        #D4A843;
  --color-primary-lt:     #E8C065;
  --color-primary-dk:     #A8832E;
  --color-accent:         #2E86DE;
  --color-accent-lt:      #5BA3F5;
  --color-accent-dk:      #1A6AB8;
  --color-text:           #F0F2F8;
  --color-text-secondary: #9BA3B8;
  --color-text-muted:     #5A6075;
  --color-border:         #23262F;
  --color-border-lt:      #2E3240;
  --color-gold-line:      #D4A843;
}

/* Base dark background + global Orbitron font */
body, .et_pb_section, .et-db #et-main-area {
  background-color: var(--color-bg) !important;
  color: var(--color-text) !important;
  font-family: 'Orbitron', sans-serif !important;
}

/* Headings — gold */
h1, h2, h3, h4, h5, h6,
.et_pb_heading .et_pb_title_container h1,
.et_pb_heading .et_pb_title_container h2 {
  color: var(--color-primary) !important;
  font-family: 'Orbitron', sans-serif;
}

/* Body text — near white */
p, li, td, span {
  color: var(--color-text);
}

/* Gold decorative rule */
.section-heading-rule {
  width: 60px;
  height: 2px;
  background: var(--color-gold-line);
  margin: 12px auto 32px;
  display: block;
}

/* Feature cards on dark bg */
.feature-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 28px;
  transition: border-color 0.2s;
}
.feature-card:hover { border-color: var(--color-primary); }
.feature-card h3 { color: var(--color-primary); font-family: 'Orbitron', sans-serif; }
.feature-card p  { color: var(--color-text-secondary); }
.feature-card a  { color: var(--color-accent); font-weight: 600; }
.feature-card a:hover { color: var(--color-primary); }

/* Pricing cards */
.pricing-card {
  background: var(--color-surface);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 28px;
}
.pricing-card.featured { border-color: var(--color-primary); border-width: 2px; }
.pricing-card .price { font-size: 36px; font-weight: bold; color: var(--color-primary); }
.pricing-card .price-sub { font-size: 15px; color: var(--color-text-secondary); font-weight: normal; }
.pricing-card h3 { color: var(--color-text); margin-bottom: 8px; }
.pricing-card p  { color: var(--color-text-secondary); font-size: 14px; }

/* Buttons */
.btn-primary {
  background: var(--color-accent);
  color: #fff;
  padding: 14px 28px;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
  display: inline-block;
}
.btn-primary:hover { background: var(--color-accent-lt); color: #fff; }

.btn-gold {
  background: transparent;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
  padding: 14px 28px;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
  display: inline-block;
}
.btn-gold:hover { background: var(--color-primary); color: #080A0F; }

/* CTA banner sections */
.cta-banner {
  background: var(--color-surface);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  padding: 80px 20px;
  text-align: center;
}
.cta-banner h2 { color: var(--color-primary) !important; font-family: 'Orbitron', sans-serif; font-size: 38px; }
.cta-banner p  { color: var(--color-text-secondary); font-size: 18px; margin-bottom: 36px; }
.cta-banner-buttons { 
  display: flex; 
  gap: 16px; 
  justify-content: center; 
  align-items: center; 
  flex-wrap: wrap; 
}

/* Phone button in CTA */
.btn-phone {
  background: var(--color-primary);
  color: #080A0F !important;
  padding: 14px 28px;
  border-radius: 6px;
  font-size: 20px;
  font-weight: bold;
  text-decoration: none;
  display: inline-block;
  min-width: 220px;
}
.btn-phone:hover { background: var(--color-primary-lt); color: #080A0F !important; }

/* Book button in CTA */
.btn-book {
  background: var(--color-accent);
  color: #fff !important;
  padding: 14px 28px;
  border-radius: 6px;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  display: inline-block;
  min-width: 220px;
}
.btn-book:hover { background: var(--color-accent-lt); color: #fff !important; }

/* --- RESPONSIVE UPDATES --- */

@media (max-width: 767px) { 
  /* Center and stack banner buttons */
  .cta-banner-buttons {
    flex-direction: column;
    width: 100%;
  }

  .cta-banner-buttons a {
    width: 100%;
    max-width: 300px; /* Keeps buttons from hitting screen edges */
    box-sizing: border-box;
    margin: 0 auto; /* Ensures they stay dead center */
  }

  .cta-banner h2 {
    font-size: 28px; /* Slightly smaller for mobile screens */
  }

  /* Show the mobile bottom bar */
  .mobile-cta-bar { display: flex; } 
}

/* --- END RESPONSIVE UPDATES --- */

/* Breadcrumbs */
.breadcrumbs { font-size: 14px; color: var(--color-text-muted); margin-bottom: 32px; }
.breadcrumbs a { color: var(--color-accent); text-decoration: none; }
.breadcrumbs a:hover { color: var(--color-primary); }

/* FAQ accordion on dark bg */
details.faq-item {
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  border-radius: 6px;
  margin-bottom: 10px;
  padding: 20px 24px;
}
details.faq-item[open] { border-color: var(--color-primary); }
details.faq-item summary {
  font-weight: 600;
  font-size: 17px;
  cursor: pointer;
  font-family: 'Orbitron', sans-serif;
  color: var(--color-text);
  list-style: none;
}
details.faq-item summary::-webkit-details-marker { display: none; }
details.faq-item summary::before {
  content: '+';
  color: var(--color-primary);
  font-size: 20px;
  margin-right: 12px;
}
details.faq-item[open] summary::before { content: '\2212'; }
details.faq-item p { margin-top: 16px; color: var(--color-text-secondary); line-height: 1.75; }

/* Nav overrides for dark header */
#main-header, .et-fixed-header {
  background-color: rgba(8, 10, 15, 0.97) !important;
  border-bottom: 1px solid var(--color-border) !important;
}
#main-header .nav li a, #main-header .et_mobile_menu li a {
  color: var(--color-text) !important;
}
#main-header .nav li a:hover { color: var(--color-primary) !important; }

/* Mobile bottom CTA bar */
.mobile-cta-bar {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 9999;
  background: var(--color-surface);
  border-top: 1px solid var(--color-border);
  padding: 12px 16px;
  gap: 12px;
  justify-content: space-between;
  align-items: center;
}
.mobile-cta-bar a { color: var(--color-text); font-weight: 600; font-size: 15px; text-decoration: none; }
.mobile-cta-bar .btn-cta {
  background: var(--color-accent);
  padding: 8px 18px;
  border-radius: 6px;
  color: #fff !important;
}

/* Section alternating backgrounds */
.section-alt { background: var(--color-surface) !important; }

/* Number counter accent */
.et_pb_number_counter .percent { color: var(--color-primary) !important; }
.et_pb_number_counter .title   { color: var(--color-text-secondary) !important; }

/* Divi text module — ensure dark bg text is visible */
.et_pb_text_inner, .et_pb_text_inner * {
  color: var(--color-text);
}
.et_pb_text_inner h1, .et_pb_text_inner h2,
.et_pb_text_inner h3, .et_pb_text_inner h4 {
  color: var(--color-primary) !important;
}

/* Page wrapper dark */
.et_pb_section { background-color: var(--color-bg); }
.et_pb_section.section-alt { background-color: var(--color-surface) !important; }

/* Strong text in gold */
strong, b { color: var(--color-primary-lt); }