/*
Theme Name: Energy Diagnostic LLC - Full Site Editor
Theme URI: https://energydiagnosticllc.com
Author: Energy Diagnostic LLC
Description: Fully editable block theme for Energy Diagnostic LLC. Header, footer, navigation, pages, buttons, colors, typography, sections and contact form labels are editable in WordPress.
Version: 2.11.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: energy-diagnostic-fse
*/

html { scroll-behavior: smooth; }
body { margin: 0; }
.wp-site-blocks { overflow: hidden; }
.ed-sticky-header { position: sticky; top: 0; z-index: 100; backdrop-filter: blur(10px); }
.ed-hero { min-height: 560px; display:flex; align-items:center; }
.ed-hero > .wp-block-group__inner-container { width: 100%; }
.ed-feature { height:100%; }
.ed-card { height:100%; overflow:hidden; }
.ed-card-visual { min-height:155px; }
.ed-contact-card { height:100%; }
.ed-contact-form label { display:block; font-weight:700; margin-bottom:6px; font-size:.85rem; text-transform:uppercase; letter-spacing:.03em; }
.ed-contact-form input, .ed-contact-form textarea { width:100%; box-sizing:border-box; padding:12px 13px; border:1px solid #cfd6cf; border-radius:4px; font:inherit; }
.ed-contact-form textarea { min-height:140px; resize:vertical; }
.ed-contact-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ed-contact-field { margin-bottom:18px; }
.ed-contact-submit { border:0; cursor:pointer; padding:13px 22px; border-radius:4px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; }
.ed-notice { padding:12px 15px; border-radius:4px; margin-bottom:18px; }
.ed-notice-success { background:#e8f5ec; color:#084b27; }
.ed-notice-error { background:#fff1f0; color:#8a2a22; }
@media (max-width: 782px) {
  .ed-hero { min-height:auto; }
  .ed-contact-row { grid-template-columns:1fr; gap:0; }
}

/* Global header/footer refinements */
.ed-global-header .wp-block-site-logo img { height:auto; max-height:190px; object-fit:contain; }
.ed-global-footer .wp-block-site-logo img { height:auto; max-height:190px; object-fit:contain; }
.ed-global-footer .wp-block-navigation-item__content { color:inherit; }
@media (max-width: 782px) {
  .ed-global-header .wp-block-site-logo img { max-height:125px; }
  .ed-global-footer .wp-block-site-logo img { max-height:150px; }
}

/* Service feature cards — outlined layout with larger icons */
.ed-feature {
  border: 1px solid #d9dfda !important;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 2px 10px rgba(16, 45, 27, 0.035);
  padding: 34px 28px 36px !important;
  box-sizing: border-box;
  min-height: 385px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.ed-feature > p:first-child {
  font-size: 4.25rem !important;
  line-height: 1 !important;
  margin: 0 0 26px !important;
  text-align: left !important;
  color: #0b6f3a !important;
}
.ed-feature h3 {
  text-align: left !important;
  font-size: clamp(1.45rem, 2vw, 2rem) !important;
  line-height: 1.08;
  margin-top: 0;
  margin-bottom: 18px;
}
.ed-feature h3::after {
  content: "";
  display: block;
  width: 54px;
  height: 4px;
  margin-top: 20px;
  border-radius: 999px;
  background: #f4bd18;
}
.ed-feature > p:not(:first-child) {
  text-align: left !important;
  font-size: 1.08rem;
  line-height: 1.65;
  margin-top: 0;
}
/* Add breathing room between the four feature cards */
.has-cream-background-color .wp-block-columns:has(.ed-feature) {
  gap: 18px !important;
  padding-top: 40px;
  padding-bottom: 40px;
}
@media (max-width: 782px) {
  .ed-feature { min-height: auto; padding: 28px 24px 30px !important; }
  .ed-feature > p:first-child { font-size: 3.5rem !important; margin-bottom: 20px !important; }
  .has-cream-background-color .wp-block-columns:has(.ed-feature) { gap: 16px !important; }
}

/* Approved editable service card pattern */
.ed-service-card { height:100%; box-sizing:border-box; }
.ed-service-card .wp-block-image img { display:block; }
.ed-service-card .wp-block-separator { border:0; height:3px; min-height:3px; }
@media (max-width: 782px) {
  .ed-service-card { min-height:auto !important; }
}

/* About section replaceable photo */
.ed-about-photo img { width:100%; height:360px; object-fit:cover; border:2px solid #0b7738; border-radius:10px; display:block; }
@media (max-width: 782px) { .ed-about-photo img { height:280px; } }
