/*
 * Grün und Grau Gartenbau - Custom Styling
 * Modern, elegant design for garden/landscaping company
 * All colors unified to consistent green palette
 */

/* ==========================================================================
   ROOT VARIABLES & RESET
   ========================================================================== */
:root {
  --primary-green: #2E7D32;      /* Deep forest green */
  --accent-green: #43A047;       /* Main accent green */
  --light-green: #66BB6A;        /* Soft green */
  --highlight-green: #81C784;    /* Light highlight */
  --pale-green: #C8E6C9;         /* Very light green */
  --dark-gray: #263238;          /* Charcoal */
  --medium-gray: #546E7A;        /* Slate */
  --light-gray: #ECEFF1;         /* Off-white */
  --warm-white: #FAFAFA;         /* Warm background */
  --gold-accent: #C9A227;        /* Premium gold */
  --transition-smooth: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ==========================================================================
   COLOR OVERRIDE - Replace ALL inconsistent colors
   ========================================================================== */

/* Override Divi default blue (#2ea3f2) with green */
a,
.et_pb_text a,
.et_pb_blurb a,
.entry-title a,
a:link {
  color: var(--accent-green) !important;
}

a:hover,
.et_pb_text a:hover,
a:focus {
  color: var(--primary-green) !important;
}

/* Override all old greens: #7cc68d, #19d363, #75d328, #26c957, #1fa369, #6aaf08 */
.nav li ul,
#et-secondary-nav li ul {
  border-color: var(--accent-green) !important;
}

#top-menu li.current-menu-ancestor > a,
#top-menu li.current-menu-item > a,
#top-menu li.current_page_item > a,
.et-fixed-header #top-menu li.current-menu-ancestor > a,
.et-fixed-header #top-menu li.current-menu-item > a,
.et-fixed-header #top-menu li.current_page_item > a {
  color: var(--accent-green) !important;
}

#main-footer .footer-widget h4,
#main-footer .widget_block h1,
#main-footer .widget_block h2,
#main-footer .widget_block h3,
#main-footer .widget_block h4,
#main-footer .widget_block h5,
#main-footer .widget_block h6 {
  color: var(--light-green) !important;
}

#et-footer-nav .bottom-nav li.current-menu-item a {
  color: var(--accent-green) !important;
}

/* Override teal colors: #7EBEC5, #82c0c7, #98fafd, #b9dbdc, #abc9ce */
[style*="#7EBEC5"],
[style*="#82c0c7"],
[style*="#98fafd"],
[style*="#b9dbdc"],
[style*="#abc9ce"],
[style*="#7cc68d"],
[style*="#19d363"],
[style*="#2ea3f2"],
[style*="#2EA3F2"] {
  color: var(--accent-green) !important;
}

/* Divi Builder Module Colors */
.et_pb_bg_layout_light h1,
.et_pb_bg_layout_light h2,
.et_pb_bg_layout_light h3,
.et_pb_bg_layout_light h4,
.et_pb_bg_layout_light h5,
.et_pb_bg_layout_light h6 {
  color: var(--dark-gray);
}

/* Icon colors */
.et-pb-icon,
.et_pb_blurb .et-pb-icon,
.et_pb_icon {
  color: var(--accent-green) !important;
}

/* Module accent colors */
.et_pb_counter_amount,
.et_pb_counter_container .et_pb_counter_amount {
  background-color: var(--accent-green) !important;
}

.et_pb_circle_counter .et_pb_circle_counter_inner {
  color: var(--accent-green) !important;
}

/* Pricing tables */
.et_pb_pricing_heading {
  background-color: var(--accent-green) !important;
}

.et_pb_featured_table .et_pb_pricing_heading {
  background-color: var(--primary-green) !important;
}

/* Tabs */
.et_pb_tabs_controls li.et_pb_tab_active a {
  color: var(--accent-green) !important;
}

.et_pb_tabs_controls li.et_pb_tab_active {
  border-bottom-color: var(--accent-green) !important;
}

/* Social icons */
.et_pb_social_media_follow li a.icon {
  background-color: var(--accent-green) !important;
}

.et_pb_social_media_follow li a.icon:hover {
  background-color: var(--primary-green) !important;
}

/* Slide controls */
.et-pb-controllers a.et-pb-active-control,
.et-pb-controllers a:hover {
  background-color: var(--accent-green) !important;
}

/* Blog module */
.et_pb_post .entry-title a:hover {
  color: var(--accent-green) !important;
}

.et_pb_post .post-meta a:hover {
  color: var(--accent-green) !important;
}

/* Map pin */
.et_pb_map_pin h3 {
  color: var(--primary-green) !important;
}

/* Comments */
.comment-reply-link,
#respond input#submit {
  background-color: var(--accent-green) !important;
}

.comment-reply-link:hover,
#respond input#submit:hover {
  background-color: var(--primary-green) !important;
}

/* WooCommerce (if used) */
.woocommerce .price_span,
.woocommerce .price_span span ins,
.woocommerce .shop_table tbody td.product-subtotal,
.woocommerce nav.woocommerce-pagination ul li span {
  color: var(--accent-green) !important;
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce #place_order {
  background: var(--accent-green) !important;
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--primary-green) !important;
}

/* Sidebar widget hover */
.sidebar_widget ul li a:hover,
.sidebar_widget ul li a:focus {
  color: var(--accent-green) !important;
}

.tagcloud a:hover,
.tagcloud a:focus {
  background: var(--accent-green) !important;
  border-color: var(--accent-green) !important;
}

/* Pagination */
.pagination li:hover span,
.pagination li:hover a {
  background: var(--accent-green) !important;
}

/* Breadcrumb */
.breadcrumb ul li {
  color: var(--accent-green) !important;
}

/* Contact Form 7 */
.wpcf7 input[type="submit"] {
  background: var(--accent-green) !important;
}

.wpcf7 input[type="submit"]:hover {
  background: var(--primary-green) !important;
}

/* Override inline styles - important for Divi Builder elements */
.et_pb_section[style*="background-color: #2ea3f2"],
.et_pb_section[style*="background-color:#2ea3f2"],
.et_pb_row[style*="background-color: #2ea3f2"],
.et_pb_row[style*="background-color:#2ea3f2"] {
  background-color: var(--accent-green) !important;
}

.et_pb_section[style*="background-color: #7cc68d"],
.et_pb_section[style*="background-color:#7cc68d"],
.et_pb_section[style*="background-color: #19d363"],
.et_pb_section[style*="background-color:#19d363"] {
  background-color: var(--light-green) !important;
}

/* ==========================================================================
   TYPOGRAPHY ENHANCEMENTS
   ========================================================================== */
body {
  font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--dark-gray);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--dark-gray);
  line-height: 1.3;
}

h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.75rem, 4vw, 2.75rem); }
h3 { font-size: clamp(1.5rem, 3vw, 2rem); }

/* ==========================================================================
   HEADER & NAVIGATION
   ========================================================================== */
#main-header {
  background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.95) 100%);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 2px 20px rgba(0,0,0,0.06);
  transition: all 0.4s var(--transition-smooth);
}

#main-header.et-fixed-header {
  box-shadow: 0 4px 30px rgba(0,0,0,0.1);
}

#top-header {
  background: linear-gradient(135deg, var(--primary-green) 0%, var(--accent-green) 100%) !important;
  padding: 8px 0;
}

#top-header,
#top-header a,
#top-header #et-info span {
  color: #fff !important;
}

/* Navigation Links */
#top-menu a {
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  padding: 10px 18px !important;
  position: relative;
  transition: color 0.3s var(--transition-smooth);
}

#top-menu a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--accent-green), var(--highlight-green));
  border-radius: 2px;
  transition: all 0.4s var(--transition-smooth);
  transform: translateX(-50%);
}

#top-menu a:hover::after,
#top-menu li.current-menu-item a::after {
  width: 80%;
}

#top-menu li.current-menu-item > a,
#top-menu a:hover {
  color: var(--accent-green) !important;
}

/* Logo Enhancements */
.logo_container img {
  transition: transform 0.3s var(--transition-smooth);
}

.logo_container:hover img {
  transform: scale(1.02);
}

/* ==========================================================================
   HERO / BANNER SECTIONS
   ========================================================================== */
.et_pb_fullwidth_header {
  position: relative;
  overflow: hidden;
}

.et_pb_fullwidth_header_container h1,
.et_pb_fullwidth_header_container .et_pb_module_header {
  font-size: clamp(2.5rem, 6vw, 4.5rem) !important;
  font-weight: 800 !important;
  text-shadow: 2px 4px 20px rgba(0,0,0,0.3);
  margin-bottom: 20px !important;
  animation: fadeInUp 0.8s var(--transition-smooth) both;
}

.et_pb_fullwidth_header_container .et_pb_header_content_wrapper p {
  font-size: 1.25rem;
  opacity: 0.95;
  max-width: 600px;
  animation: fadeInUp 0.8s var(--transition-smooth) 0.2s both;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */
.et_pb_button,
.et_pb_more_button,
.wpcf7 input[type="submit"],
a.button,
button.button,
input.button {
  background: #43A047 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 15px 30px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #fff !important;
  transition: all 0.3s ease !important;
}

.et_pb_button:hover,
.wpcf7 input[type="submit"]:hover {
  background: #2E7D32 !important;
  transform: translateY(-2px) !important;
}

/* White button for CTA section */
.et_pb_button.white-btn {
  background: #ffffff !important;
  color: #2E7D32 !important;
}

.et_pb_button.white-btn:hover {
  background: #f0f0f0 !important;
  color: #2E7D32 !important;
}

.et_pb_section[style*="background-color:#2E7D32"] .et_pb_button:hover,
.et_pb_button[style*="background-color:#ffffff"]:hover {
  background: #f0f0f0 !important;
  color: #2E7D32 !important;
  transform: translateY(-2px) !important;
}

/* ==========================================================================
   SECTIONS & MODULES
   ========================================================================== */
.et_pb_section {
  position: relative;
}

/* Section Dividers */
.et_pb_section:not(.et_pb_fullwidth_section)::after {
  content: none;
}

/* Service/Feature Cards */
.et_pb_blurb {
  background: #fff;
  border-radius: 20px;
  padding: 40px 30px !important;
  box-shadow: 0 10px 40px rgba(0,0,0,0.06);
  transition: all 0.4s var(--transition-smooth);
  border: 1px solid rgba(0,0,0,0.04);
}

.et_pb_blurb:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 60px rgba(76,175,80,0.15);
}

.et_pb_blurb .et_pb_main_blurb_image {
  margin-bottom: 25px;
}

.et_pb_blurb .et_pb_main_blurb_image img {
  border-radius: 15px;
}

.et_pb_blurb .et-pb-icon {
  font-size: 60px !important;
  color: var(--accent-green) !important;
  background: linear-gradient(135deg, rgba(76,175,80,0.1) 0%, rgba(139,195,74,0.1) 100%);
  padding: 25px;
  border-radius: 20px;
  transition: all 0.3s var(--transition-smooth);
}

.et_pb_blurb:hover .et-pb-icon {
  transform: scale(1.1);
  background: linear-gradient(135deg, var(--accent-green) 0%, var(--highlight-green) 100%);
  color: #fff !important;
}

.et_pb_blurb h4 {
  margin-top: 15px !important;
  margin-bottom: 15px !important;
  font-size: 1.4rem !important;
}

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */
.et_pb_testimonial {
  background: linear-gradient(145deg, #fff 0%, var(--light-gray) 100%);
  border-radius: 25px;
  padding: 40px !important;
  box-shadow: 0 15px 50px rgba(0,0,0,0.08);
  border-left: 5px solid var(--accent-green);
  position: relative;
}

.et_pb_testimonial::before {
  content: '"';
  position: absolute;
  top: 20px;
  left: 30px;
  font-size: 80px;
  color: var(--accent-green);
  opacity: 0.2;
  font-family: Georgia, serif;
  line-height: 1;
}

.et_pb_testimonial_portrait {
  border: 4px solid var(--accent-green) !important;
  box-shadow: 0 5px 20px rgba(76,175,80,0.3);
}

/* ==========================================================================
   GALLERY & PORTFOLIO
   ========================================================================== */
.et_pb_gallery_item,
.et_pb_portfolio_item {
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  transition: all 0.4s var(--transition-smooth);
}

.et_pb_gallery_item:hover,
.et_pb_portfolio_item:hover {
  transform: scale(1.03);
  box-shadow: 0 20px 50px rgba(0,0,0,0.15);
}

.et_pb_gallery_item .et_overlay,
.et_pb_portfolio_item .et_overlay {
  background: linear-gradient(135deg, rgba(45,80,22,0.9) 0%, rgba(76,175,80,0.85) 100%);
}

/* ==========================================================================
   CONTACT FORM
   ========================================================================== */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.et_pb_contact_field input,
.et_pb_contact_field textarea,
select {
  background: var(--warm-white) !important;
  border: 2px solid transparent !important;
  border-radius: 12px !important;
  padding: 18px 20px !important;
  font-size: 16px !important;
  transition: all 0.3s var(--transition-smooth) !important;
  box-shadow: inset 0 2px 5px rgba(0,0,0,0.05);
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.et_pb_contact_field input:focus,
.et_pb_contact_field textarea:focus {
  border-color: var(--accent-green) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(76,175,80,0.15), inset 0 2px 5px rgba(0,0,0,0.02) !important;
  outline: none !important;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
#main-footer {
  background: #2E7D32 !important;
  position: relative;
}

#main-footer::before {
  display: none;
}

#footer-widgets {
  padding: 40px 0 30px !important;
}

#footer-widgets .container {
  text-align: center;
}

#main-footer .footer-widget {
  text-align: center;
}

#main-footer,
#main-footer p,
#main-footer li,
#main-footer span,
#main-footer strong {
  color: #fff !important;
}

#main-footer a {
  color: rgba(255,255,255,0.9) !important;
}

#main-footer a:hover {
  color: #fff !important;
  text-decoration: underline;
}

/* Footer contact styling */
.footer-contact {
  text-align: center;
}

.footer-contact .footer-logo {
  font-size: 22px;
  color: #fff;
  margin-bottom: 20px;
}

.footer-contact .footer-logo span {
  font-size: 14px;
  opacity: 0.8;
  display: block;
}

.footer-contact .footer-info {
  display: flex;
  gap: 50px;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
}

.footer-contact .footer-info p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
}

#footer-widgets .et_pb_widget {
  text-align: center !important;
}

#footer-widgets .fwidget {
  text-align: center !important;
}

#footer-bottom {
  background: rgba(0,0,0,0.15) !important;
  padding: 15px 0 !important;
}

#footer-bottom,
#footer-bottom p,
#footer-info {
  color: rgba(255,255,255,0.8) !important;
  font-size: 13px;
}

#footer-bottom .container {
  text-align: center;
}

/* ==========================================================================
   ANIMATIONS & SCROLL EFFECTS
   ========================================================================== */
.et_pb_section,
.et_pb_row,
.et_pb_column {
  animation: fadeInSection 0.6s var(--transition-smooth) both;
}

@keyframes fadeInSection {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Staggered animation for columns */
.et_pb_column:nth-child(1) { animation-delay: 0s; }
.et_pb_column:nth-child(2) { animation-delay: 0.1s; }
.et_pb_column:nth-child(3) { animation-delay: 0.2s; }
.et_pb_column:nth-child(4) { animation-delay: 0.3s; }

/* ==========================================================================
   SPECIAL ELEMENTS
   ========================================================================== */
/* Divider with leaf decoration */
.et_pb_divider::before {
  background: var(--accent-green) !important;
}

/* Counter Numbers */
.et_pb_number_counter .percent p {
  color: var(--accent-green) !important;
  font-weight: 800 !important;
}

/* Accordion */
.et_pb_toggle {
  border-radius: 10px !important;
  margin-bottom: 15px !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  overflow: hidden;
}

.et_pb_toggle_title {
  padding: 20px 25px !important;
  font-weight: 600 !important;
  transition: all 0.3s var(--transition-smooth);
}

.et_pb_toggle_open .et_pb_toggle_title {
  background: var(--accent-green);
  color: #fff !important;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .et_pb_blurb {
    padding: 30px 25px !important;
  }

  #top-menu a {
    padding: 12px 15px !important;
  }

  .et_pb_fullwidth_header_container h1 {
    font-size: 2.5rem !important;
  }
}

@media (max-width: 767px) {
  .et_pb_button {
    padding: 14px 28px !important;
    font-size: 13px !important;
  }

  h1, .et_pb_fullwidth_header_container h1 {
    font-size: 2rem !important;
  }

  .et_pb_blurb {
    margin-bottom: 20px;
  }

  #footer-widgets {
    padding: 50px 0 30px !important;
  }
}

/* ==========================================================================
   UTILITIES
   ========================================================================== */
.green-gradient-bg {
  background: linear-gradient(135deg, var(--primary-green) 0%, var(--accent-green) 100%);
}

.text-accent {
  color: var(--accent-green);
}

.shadow-soft {
  box-shadow: 0 10px 40px rgba(0,0,0,0.08);
}

/* Smooth scroll behavior */
html {
  scroll-behavior: smooth;
}

/* Selection styling */
::selection {
  background: var(--accent-green);
  color: #fff;
}

::-moz-selection {
  background: var(--accent-green);
  color: #fff;
}

/* ==========================================================================
   DIVI CUSTOMIZER OVERRIDE - Force consistent green
   ========================================================================== */

/* Override Divi customizer accent colors completely */
body.et_divi_theme a,
body .et_pb_module a {
  color: var(--accent-green);
}

body.et_divi_theme a:hover,
body .et_pb_module a:hover {
  color: var(--primary-green);
}

/* Top header override */
#top-header,
#et-secondary-nav li ul,
.et-fixed-header#top-header,
.et-fixed-header#top-header #et-secondary-nav li ul {
  background-color: var(--primary-green) !important;
}

/* Navigation current item */
#top-menu li.current-menu-item > a,
#top-menu li.current-menu-ancestor > a,
#top-menu li.current_page_item > a,
.et-fixed-header #top-menu li.current-menu-item > a,
.et-fixed-header #top-menu li.current-menu-ancestor > a,
.et-fixed-header #top-menu li.current_page_item > a {
  color: var(--accent-green) !important;
}

/* Submenu border */
.nav li ul {
  border-color: var(--accent-green) !important;
}

/* Footer widget titles - override #1fa369 */
#main-footer .footer-widget h4,
#main-footer .widget_block h1,
#main-footer .widget_block h2,
#main-footer .widget_block h3,
#main-footer .widget_block h4,
#main-footer .widget_block h5,
#main-footer .widget_block h6 {
  color: var(--light-green) !important;
}

/* Footer nav current item - override #19873a */
#et-footer-nav .bottom-nav li.current-menu-item a {
  color: var(--accent-green) !important;
}

/* ==========================================================================
   GARDENER THEME COLOR OVERRIDE - #6aaf08 → unified green
   ========================================================================== */

/* Banner buttons */
.banner a.contact_us {
  background: var(--accent-green) !important;
}

.banner a.read_more:hover,
.banner a.contact_us:hover {
  background: var(--primary-green) !important;
}

/* Breadcrumb */
.breadcrumb ul li,
.breadcrumb ul li a:hover {
  color: var(--accent-green) !important;
}

/* Sidebar hover */
.sidebar_widget ul li a:hover,
.sidebar_widget ul li a:focus {
  color: var(--accent-green) !important;
}

/* Tags */
.tagcloud a:hover,
.tagcloud a:focus {
  background: var(--accent-green) !important;
  border-color: var(--accent-green) !important;
}

/* Pagination */
.pagination li:hover span,
.pagination li:hover a,
.pagination li.active span {
  background: var(--accent-green) !important;
}

/* WooCommerce prices */
.woocommerce .price_span,
.woocommerce .price_span span ins {
  color: var(--accent-green) !important;
}

/* WooCommerce buttons */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce #place_order,
.blog_list_view .input-group button {
  background: var(--accent-green) !important;
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--primary-green) !important;
}

/* WooCommerce tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  border-color: var(--accent-green) !important;
}

/* Cart totals */
.woocommerce .shop_table tbody td.product-subtotal {
  color: var(--accent-green) !important;
}

/* Contact Form 7 submit */
.wpcf7 input[type="submit"] {
  background: var(--accent-green) !important;
}

.wpcf7 input[type="submit"]:hover {
  background: var(--primary-green) !important;
}

/* ==========================================================================
   FORCE OVERRIDE FOR ALL TEAL/BLUE VARIANTS
   ========================================================================== */

/* Any element with teal backgrounds */
[style*="background-color: #7EBEC5"],
[style*="background-color:#7EBEC5"],
[style*="background-color: #82c0c7"],
[style*="background-color:#82c0c7"],
[style*="background-color: #98fafd"],
[style*="background-color:#98fafd"],
[style*="background-color: #b9dbdc"],
[style*="background-color:#b9dbdc"],
[style*="background-color: #abc9ce"],
[style*="background-color:#abc9ce"] {
  background-color: var(--pale-green) !important;
}

/* Any element with blue/teal text */
[style*="color: #7EBEC5"],
[style*="color:#7EBEC5"],
[style*="color: #82c0c7"],
[style*="color:#82c0c7"],
[style*="color: #2ea3f2"],
[style*="color:#2ea3f2"],
[style*="color: #2EA3F2"],
[style*="color:#2EA3F2"] {
  color: var(--accent-green) !important;
}

/* Divi builder modules with accent colors */
.et_pb_text_color_light {
  color: var(--light-green) !important;
}

.et_pb_bg_layout_dark a {
  color: var(--light-green) !important;
}

.et_pb_bg_layout_dark a:hover {
  color: #fff !important;
}

/* Mobile menu accent */
.et_mobile_menu li a:hover,
.et_mobile_menu .current-menu-item a {
  color: var(--accent-green) !important;
}

/* Search button */
#et_search_icon:hover,
.et_search_form_container input:focus {
  color: var(--accent-green) !important;
  border-color: var(--accent-green) !important;
}

/* Slide navigation dots */
.et-pb-controllers a:hover,
.et-pb-controllers a.et-pb-active-control {
  background-color: var(--accent-green) !important;
}

/* Progress bar */
.et_pb_counter_amount {
  background-color: var(--accent-green) !important;
}

/* Circle counter */
.et_pb_circle_counter .et_pb_circle_counter_inner circle {
  stroke: var(--accent-green) !important;
}

/* Blog read more */
.et_pb_post .more-link {
  color: var(--accent-green) !important;
}

.et_pb_post .more-link:hover {
  color: var(--primary-green) !important;
}

/* Portfolio overlay icon */
.et_overlay:before {
  color: #fff !important;
}

/* Filterable portfolio */
.et_pb_filterable_portfolio .et_pb_portfolio_filters li a.active,
.et_pb_filterable_portfolio .et_pb_portfolio_filters li a:hover {
  color: var(--accent-green) !important;
  border-color: var(--accent-green) !important;
}

/* Pricing table featured */
.et_pb_featured_table {
  background-color: var(--primary-green) !important;
}

/* CTA module */
.et_pb_promo {
  border-color: var(--accent-green) !important;
}

/* Audio player */
.mejs-controls .mejs-time-rail .mejs-time-current,
.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current {
  background: var(--accent-green) !important;
}

/* Video overlay play button */
.et_pb_video_overlay_hover:hover {
  background-color: var(--accent-green) !important;
}

/* ==========================================================================
   PROJECT GALLERY - Equal sized framed images
   ========================================================================== */
.et_pb_image.et_pb_image {
  overflow: hidden;
}

.et_pb_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.et_pb_image:hover img {
  transform: scale(1.05);
}

/* Ensure gallery images are equal height */
.et_pb_row .et_pb_column .et_pb_image {
  height: 250px;
  overflow: hidden;
  border-radius: 10px;
  border: 5px solid #fff;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}

.et_pb_row .et_pb_column .et_pb_image .et_pb_image_wrap {
  height: 100%;
}

.et_pb_row .et_pb_column .et_pb_image .et_pb_image_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
   IMPRESSUM & PAGE SPECIFIC OVERRIDES
   ========================================================================== */

/* Override bright lime green backgrounds #7cda24, #7cc68d */
.et_pb_section[style*="background-color:#7cda24"],
.et_pb_section[style*="background-color: #7cda24"],
.et_pb_row[style*="background-color:#7cda24"],
.et_pb_row[style*="background-color: #7cda24"],
[style*="background-color:#7cda24"],
[style*="background-color: #7cda24"] {
  background-color: var(--accent-green) !important;
}

/* Override #467723 dark green */
.et_pb_section[style*="background-color:#467723"],
.et_pb_section[style*="background-color: #467723"],
[style*="background-color:#467723"],
[style*="background-color: #467723"],
[style*="background: #467723"],
[style*="background:#467723"] {
  background-color: var(--primary-green) !important;
}

/* Override #7cc68d light green backgrounds */
.et_pb_section[style*="background-color:#7cc68d"],
.et_pb_section[style*="background-color: #7cc68d"],
.et_pb_row[style*="background-color:#7cc68d"],
[style*="background:#7cc68d"],
[style*="background: #7cc68d"] {
  background-color: var(--light-green) !important;
}

/* Override #19d363 bright green */
.et_pb_section[style*="background-color:#19d363"],
.et_pb_section[style*="background-color: #19d363"],
[style*="background-color:#19d363"],
[style*="background-color: #19d363"] {
  background-color: var(--accent-green) !important;
}

/* Override all green scheme backgrounds from Divi */
.et_color_scheme_green .woocommerce-message,
.et_color_scheme_green .woocommerce-error,
.et_color_scheme_green .woocommerce-info,
.et_color_scheme_green.woocommerce a.button.alt,
.et_color_scheme_green.woocommerce button.button.alt,
.et_color_scheme_green.woocommerce input.button.alt,
.et_color_scheme_green.woocommerce a.button,
.et_color_scheme_green.woocommerce button.button,
.et_color_scheme_green.woocommerce input.button {
  background: var(--accent-green) !important;
}

/* Override inline row backgrounds for Impressum */
.et_pb_row_0[style*="background-color:#7cda24"],
.et_pb_section_0[style*="background-color:#7cda24"] {
  background-color: var(--accent-green) !important;
}

/* Make sure text is readable on green backgrounds */
.et_pb_section[style*="background-color:#7cda24"] *,
.et_pb_section[style*="background-color:#467723"] *,
.et_pb_section[style*="background-color:#7cc68d"] *,
[style*="background-color:#7cda24"] h1,
[style*="background-color:#7cda24"] h2,
[style*="background-color:#7cda24"] h3,
[style*="background-color:#7cda24"] h4,
[style*="background-color:#7cda24"] p {
  color: #fff !important;
}

/* Global override for ANY lime/bright green */
.et_pb_bg_layout_dark,
.et_pb_bg_layout_dark h1,
.et_pb_bg_layout_dark h2,
.et_pb_bg_layout_dark h3,
.et_pb_bg_layout_dark h4,
.et_pb_bg_layout_dark p {
  color: #fff;
}

/* Force consistent green on color scheme elements */
.et_color_scheme_green a {
  color: var(--accent-green) !important;
}

.et_color_scheme_green #top-menu li.current-menu-ancestor > a,
.et_color_scheme_green #top-menu li.current-menu-item > a,
.et_color_scheme_green #top-menu li.current_page_item > a,
.et_color_scheme_green .bottom-nav li.current-menu-item > a {
  color: var(--accent-green) !important;
}

.et_color_scheme_green .footer-widget h4,
.et_color_scheme_green #main-footer .widget_block h1,
.et_color_scheme_green #main-footer .widget_block h2,
.et_color_scheme_green #main-footer .widget_block h3,
.et_color_scheme_green #main-footer .widget_block h4,
.et_color_scheme_green #main-footer .widget_block h5,
.et_color_scheme_green #main-footer .widget_block h6 {
  color: var(--light-green) !important;
}

.et_color_scheme_green .footer-widget li:before {
  border-color: var(--accent-green) !important;
}

.et_color_scheme_green .et-search-form,
.et_color_scheme_green .nav li ul,
.et_color_scheme_green .et_mobile_menu,
.et_color_scheme_green .et_pb_pricing li:before {
  border-color: var(--accent-green) !important;
}

/* Top header green override */
#top-header {
  background-color: var(--primary-green) !important;
}

.et-fixed-header#top-header {
  background-color: var(--primary-green) !important;
}
