/* === REAL CONSTRUCTIONS - WHITE + ORANGE + NAVY === */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap");

/* === BASE === */
html { scroll-behavior: smooth !important; }
body, .site {
  background-color: #ffffff !important;
  color: #333333 !important;
  padding-top: 80px !important;
}
body, p, h1, h2, h3, h4, h5, h6, a, span, div, li, input, textarea, button {
  font-family: "Inter", -apple-system, sans-serif !important;
}
h1, h2, h3, h4 { color: #222222 !important; }
p { color: #444444 !important; line-height: 1.7 !important; }

/* === HIDE PAGE TITLE === */
.page .entry-header, .page-title, h1.entry-title,
.site-main > article > header { display: none !important; }

/* Bigger bolder typography */
h1 { font-size: 52px !important; font-weight: 900 !important; }
h2 { font-size: 40px !important; font-weight: 800 !important; }
h3 { font-size: 24px !important; font-weight: 700 !important; }
h3[style*="color:#FF6600"], h3.has-text-color[style*="#FF6600"] {
  color: #FF6600 !important;
  -webkit-text-fill-color: #FF6600 !important;
}

/* === HEADER - WHITE STICKY BAR === */
.site-header {
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  z-index: 9999 !important;
  background: #ffffff !important;
  padding: 15px 50px !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border: none !important;
  border-bottom: 1px solid #eee !important;
  box-shadow: 0 2px 20px rgba(0,0,0,0.06) !important;
  overflow: visible !important;
}

/* Logo */
.site-branding { display: flex; align-items: center; }
.site-branding .site-logo,
.site-branding .custom-logo-link { display: block !important; }
.site-branding .site-logo > a > img,
.site-branding .custom-logo-link > img,
.site-branding img.custom-logo {
  display: block !important;
  height: 50px !important;
  max-height: 50px !important;
  width: auto !important;
  object-fit: contain !important;
}
.site-branding::before, .site-branding::after { content: none !important; }
.site-description { display: none !important; }
.site-title { display: none !important; }

/* Nav */
.site-navigation a, .main-navigation a, nav a {
  color: #333333 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  padding: 8px 18px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  transition: color 0.3s ease !important;
}
.site-navigation a:hover, .main-navigation a:hover, nav a:hover {
  color: #FF6600 !important;
}

/* === GEOMETRIC ACCENTS === */
/* Orange top-line on section subtitles */
.has-text-color[style*="color:#FF6600"][style*="uppercase"] {
  position: relative !important;
  padding-top: 20px !important;
}
.has-text-color[style*="color:#FF6600"][style*="uppercase"]::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 40px !important;
  height: 3px !important;
  background: #FF6600 !important;
}
/* Left-aligned version */
p.has-text-color[style*="color:#FF6600"][style*="uppercase"]:not(.has-text-align-center)::before {
  left: 0 !important;
  transform: none !important;
}

/* === HERO COVER BLOCKS === */
.wp-block-cover.alignfull {
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-top: -80px !important;
}
.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover h3,
.wp-block-cover .wp-block-heading { color: #ffffff !important; }
.wp-block-cover p { color: #dddddd !important; }
.wp-block-cover .has-text-color[style*="color:#FF6600"] { color: #FF6600 !important; }

/* === SERVICE/INFO CARDS === */
.wp-block-column.has-background {
  border-radius: 8px !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  border: 1px solid #f0f0f0 !important;
}
.wp-block-column.has-background:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,0.08) !important;
}

/* Orange cards (service boxes) */
.wp-block-column.has-background[style*="background-color:#FF6600"],
.wp-block-column.has-background[style*="background-color:#ffffff"] {
  border: none !important;
}

/* === BUTTONS === */
.wp-block-button__link,
.is-style-outline .wp-block-button__link,
a.wp-block-button__link {
  background-color: #FF6600 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 2px solid #FF6600 !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  transition: all 0.3s ease !important;
}
.wp-block-button__link:hover,
.is-style-outline .wp-block-button__link:hover,
a.wp-block-button__link:hover {
  background-color: transparent !important;
  color: #FF6600 !important;
  -webkit-text-fill-color: #FF6600 !important;
  border: 2px solid #FF6600 !important;
  transform: translateY(-2px) !important;
}
/* On dark/cover backgrounds - hover shows white outline instead */
.wp-block-cover .wp-block-button__link:hover {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #ffffff !important;
  background-color: transparent !important;
}

/* === DARK SECTIONS (CTA, team) === */
.wp-block-group.has-background[style*="background-color:#0a0a18"],
.wp-block-group.has-background[style*="background-color:#0b1222"] {
  background-color: #1B2A6B !important;
}
.wp-block-group.has-background[style*="background-color:#0a0a18"] h2,
.wp-block-group.has-background[style*="background-color:#0a0a18"] h3,
.wp-block-group.has-background[style*="background-color:#0a0a18"] h4,
.wp-block-group.has-background[style*="background-color:#0b1222"] h2,
.wp-block-group.has-background[style*="background-color:#0b1222"] h3,
.wp-block-group.has-background[style*="background-color:#0b1222"] h4 {
  color: #FF6600 !important;
}
.wp-block-group.has-background[style*="background-color:#0a0a18"] p,
.wp-block-group.has-background[style*="background-color:#0a0a18"] li,
.wp-block-group.has-background[style*="background-color:#0a0a18"] span,
.wp-block-group.has-background[style*="background-color:#0b1222"] p,
.wp-block-group.has-background[style*="background-color:#0b1222"] li,
.wp-block-group.has-background[style*="background-color:#0b1222"] span {
  color: #ffffff !important;
}
.wp-block-group.has-background[style*="background-color:#0a0a18"] h4[style*="color:#FF6600"],
.wp-block-group.has-background[style*="background-color:#0b1222"] h4[style*="color:#FF6600"] {
  color: #FF6600 !important;
}

/* === ALTERNATING SECTIONS === */
.wp-block-group.alignfull {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* === STATS SECTION === */
.wp-block-heading[style*="color:#FF6600"][style*="font-size:48px"] {
  font-size: 56px !important;
  font-weight: 900 !important;
}

/* === FORMS === */
input, textarea, select {
  background: #ffffff !important;
  border: 2px solid #e0e0e0 !important;
  color: #222 !important;
  border-radius: 6px !important;
  padding: 14px !important;
  font-size: 15px !important;
  transition: border-color 0.3s ease !important;
}
input:focus, textarea:focus {
  border-color: #FF6600 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(255,102,0,0.1) !important;
}

/* === FOOTER === */
.site-footer {
  background: #1B2A6B !important;
  padding: 40px 50px !important;
  color: #ffffff !important;
}
.site-footer a { color: #FF6600 !important; }
.site-footer .site-branding img.custom-logo,
.site-footer .site-branding .site-logo > a > img {
  /* original colors */
  height: 35px !important;
}

/* === SCROLL FADE-IN ANIMATIONS === */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
.wp-block-columns,
.wp-block-group.alignfull,
.wp-block-heading,
.wp-block-cover__inner-container > * {
  animation: fadeInUp 0.8s ease both !important;
}

/* === SCROLLBAR === */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #f5f5f5; }
::-webkit-scrollbar-thumb { background: #FF6600; border-radius: 3px; }

/* === GLOBAL OVERFLOW FIX === */
body, html { overflow-x: clip !important; overflow-y: auto !important; }
.entry-content, .site-main, .site-content { overflow-x: clip !important; max-width: 100vw !important; overflow-y: visible !important; }




/* === CRITICAL: Navy section text visibility === */
[style*="background-color:#1B2A6B"] *:not([style*="background-color:#ffffff"]) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
[style*="background-color:#1B2A6B"] h2 {
  color: #FF6600 !important;
  -webkit-text-fill-color: #FF6600 !important;
}
[style*="background-color:#1B2A6B"] [style*="color:#FF6600"] {
  color: #FF6600 !important;
  -webkit-text-fill-color: #FF6600 !important;
}
/* White cards inside navy - dark text */
[style*="background-color:#1B2A6B"] [style*="background-color:#ffffff"] * {
  color: #222222 !important;
  -webkit-text-fill-color: #222222 !important;
}
[style*="background-color:#1B2A6B"] [style*="background-color:#ffffff"] [style*="color:#FF6600"] {
  color: #FF6600 !important;
  -webkit-text-fill-color: #FF6600 !important;
}
[style*="background-color:#1B2A6B"] [style*="background-color:#ffffff"] p[style*="color:#666"] {
  color: #666666 !important;
  -webkit-text-fill-color: #666666 !important;
}

/* CRITICAL FIX 2: ALL orange buttons = white text */
[style*="background-color:#FF6600"],
a[style*="background-color:#FF6600"],
.wp-block-button__link[style*="FF6600"] {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* CRITICAL FIX 3: Footer ALL text white */
.site-footer, .site-footer * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.site-footer a { color: #FF6600 !important; -webkit-text-fill-color: #FF6600 !important; }

/* CRITICAL FIX 4: Hide WordPress comment form on pages */
.page .comments-area, .page #respond, .page .comment-form,
.page .comments-title, .page .no-comments { display: none !important; }

/* CRITICAL FIX 5: Contact form submit button */
.contact-submit input[type="submit"],
.wpforms-submit,
form input[type="submit"] {
  background-color: #FF6600 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 14px 35px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  cursor: pointer !important;
}


/* === FIXES: list text black, image scaling === */
.wp-block-list, .wp-block-list li,
ul.has-text-color, ul.has-text-color li {
  color: #222222 !important;
  -webkit-text-fill-color: #222222 !important;
}
.wp-block-columns .wp-block-image img {
  max-height: 500px !important;
  object-fit: cover !important;
  width: 100% !important;
}


/* === COMPREHENSIVE IMAGE + SECTION FIX === */
/* Two-column sections: image + text side by side */
.entry-content > .wp-block-columns.alignwide {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
  gap: 50px !important;
  align-items: center !important;
}
/* Images in columns: constrained, rounded, not bleeding */
.wp-block-columns .wp-block-image {
  overflow: hidden !important;
  border-radius: 12px !important;
}
.wp-block-columns .wp-block-image img {
  max-height: 350px !important;
  width: 100% !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  display: block !important;
}
.wp-block-columns .wp-block-image figure {
  margin: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
/* Prevent text overflow in columns */
.wp-block-column {
  overflow: hidden !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}
/* Heading text wrap */
.wp-block-column h2 {
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
}

/* === MOBILE RESPONSIVE === */
@media (max-width: 768px) {
  body, .site { padding-top: 70px !important; }
  body, html, .site { overflow-x: clip !important; overflow-y: auto !important; max-width: 100vw !important; }
  .site-header {
    padding: 10px 15px !important;
  }
  .site-branding img.custom-logo,
  .site-branding .site-logo > a > img,
  .site-branding .custom-logo-link > img {
    height: 35px !important;
    max-height: 35px !important;
  }
  .site-navigation a, nav a {
    font-size: 12px !important;
    padding: 8px 10px !important;
  }
  /* Hero */
  .wp-block-cover { min-height: 70vh !important; }
  .wp-block-cover.alignfull { margin-top: -70px !important; }
  .wp-block-cover h1 { font-size: 32px !important; }
  .wp-block-cover p { font-size: 14px !important; }
  h1 { font-size: 32px !important; } h2 { font-size: 28px !important; } h3 { font-size: 20px !important; }
  /* Stack columns */
  .wp-block-columns { flex-direction: column !important; }
  .wp-block-column { flex-basis: 100% !important; width: 100% !important; max-width: 100% !important; margin-bottom: 15px !important; }
  /* Sections */
  .wp-block-group.alignfull { padding-left: 20px !important; padding-right: 20px !important; }
  .alignfull, .wp-block-cover.alignfull { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; }
  /* Buttons */
  .wp-block-button__link { font-size: 14px !important; padding: 12px 25px !important; }
  .wp-block-buttons { flex-wrap: wrap !important; justify-content: center !important; gap: 10px !important; }
  /* Spacers */
  .wp-block-spacer { height: 30px !important; }
  /* Footer */
  .site-footer { padding: 25px 15px !important; text-align: center !important; }
  /* Images */
  img { max-width: 100% !important; height: auto !important; }
  iframe { max-width: 100% !important; }
}

@media (max-width: 480px) {
  .wp-block-cover h1 { font-size: 26px !important; }
  .site-branding img.custom-logo,
  .site-branding .site-logo > a > img { height: 30px !important; }
  .site-navigation a, nav a { font-size: 11px !important; padding: 5px 6px !important; }
  .wp-block-heading[style*="font-size:48px"],
  .wp-block-heading[style*="font-size:56px"] { font-size: 36px !important; }
}