/* GROVE TREE - GLOBAL NAV BAR ALL PAGES */

/* 1. Header outer wrapper - let content scroll naturally */
header.wp-block-template-part {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  z-index: auto !important;
  background-color: transparent !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* Fix wp-site-blocks overflow */
.wp-site-blocks {
  overflow: visible !important;
}

/* 2. Fixed nav bar strip - ALL pages */
header .wp-block-group.alignfull.is-style-default {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  background-color: transparent !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
.admin-bar header .wp-block-group.alignfull.is-style-default {
  top: 32px !important;
}

/* 3. Fix inner nav header scrollbar on non-home pages */
header .wp-block-group.alignfull.is-style-default header,
header header.wp-block-group {
  overflow: visible !important;
  background-color: transparent !important;
}

/* 4. Orange request quote button */
header .wp-block-button__link {
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 10px 14px !important;
  background-color: #D9A066 !important;
  color: #3C3A33 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  letter-spacing: 0.5px !important;
}
header .wp-block-button__link:hover {
  transform: scale(1.08) !important;
  box-shadow: none !important;
}

/* 5. Nav items white text 30px */
header .wp-block-navigation-item > .wp-block-navigation-item__content,
header .wp-block-navigation-item > .wp-block-navigation-item__content .wp-block-navigation-item__label {
  font-size: 14px !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  letter-spacing: 0 !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}
header .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
header .wp-block-navigation-item:hover > .wp-block-navigation-item__content .wp-block-navigation-item__label {
  background-color: #ffffff !important;
  color: #000000 !important;
  border-radius: 6px !important;
}

/* 6. Hide Schedule Estimate top-bar text link */
header .wp-block-group.alignfull.is-style-default > div > a:first-child {
  display: none !important;
}

/* 7. Call or text top-bar link styling */
header .wp-block-group.alignfull.is-style-default > div > a:last-child {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  margin-left: auto !important;
}

/* 8. Compact nav bar - smaller logo and padding */
header .wp-block-group.alignfull.is-style-default header {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}
header .wp-block-site-logo img {
  max-height: 55px !important;
  width: auto !important;
}

/* Home page hero text colors */
.wp-block-cover.header-cover.is-style-section-2 h2,
.wp-block-cover.header-cover h2,
.header-cover .wp-block-cover__inner-container h2 {
  color: #3C3A33 !important;
}
.wp-block-cover.header-cover.is-style-section-2 p,
.wp-block-cover.header-cover p.has-text-align-center,
.header-cover .wp-block-cover__inner-container p {
  color: #3C3A33 !important;
}

/* Center text in white sections */
.grove-section.grove-section-white p {
  text-align: center !important;
}

/* Footer headings */
footer .wp-block-heading,
.wp-block-template-part footer .wp-block-heading {
  color: #C8C2B0 !important;
}

/* Map */
.is-layout-flow > .grove-map-wrap,
main > .grove-map-wrap,
.grove-map-wrap.grove-map-wrap {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 40px !important;
  margin-bottom: 40px !important;
  border-radius: 12px;
  overflow: hidden;
}

/* Section backgrounds */
.grove-section {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  padding-left: calc(50vw - 50%) !important;
  padding-right: calc(50vw - 50%) !important;
  padding-top: 40px !important;
  padding-bottom: 40px !important;
  box-sizing: border-box !important;
}
.grove-section-cream {
  background-color: #E0D4BE !important;
}
.grove-section-white {
  background-color: #FFFFFF !important;
}

@media (max-width: 768px) {
  .grove-split {
    flex-direction: column !important;
  }
}
/* Home page logo - doubled size */
body.home header .wp-block-site-logo {
  width: 132px !important;
}
body.home header .wp-block-site-logo img {
  max-height: 110px !important;
  width: auto !important;
}

/* Dropdown submenu text color - dark charcoal */
header .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
header .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item__content .wp-block-navigation-item__label {
  color: #000000 !important;
  font-size: 18px !important;
  background-color: transparent !important;
}
header .wp-block-navigation__submenu-container {
  background-color: #ffffff !important;
}
header .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item:hover .wp-block-navigation-item__content,
header .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item:hover .wp-block-navigation-item__content .wp-block-navigation-item__label {
  color: #000000 !important;
  background-color: #ffffff !important;
}

/* GLOBAL TEXT SIZE REDUCTION - reduce zoomed-in appearance */
.wp-block-heading,
h1.wp-block-heading, h2.wp-block-heading, h3.wp-block-heading,
h4.wp-block-heading, h5.wp-block-heading, h6.wp-block-heading {
  font-size: clamp(1.1rem, 3.5vw, 2.5rem) !important;
}

/* Large hero/banner headings - keep prominent but scaled down */
.wp-block-heading.alignwide.has-text-align-center {
  font-size: clamp(1.4rem, 4vw, 3rem) !important;
}

/* Body paragraphs - reduce from 28px */
.wp-block-paragraph:not(.has-small-font-size):not(.has-large-font-size) {
  font-size: clamp(0.875rem, 1.5vw, 1.1rem) !important;
}

/* Buttons - ensure they fit on page */
.wp-block-button__link,
.wp-element-button {
  font-size: 0.9rem !important;
  padding: 10px 20px !important;
  white-space: nowrap !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Fix hero subtitle/large paragraphs */
p.has-text-align-center.wp-block-paragraph,
.wp-block-paragraph.has-text-align-center {
  font-size: 1.1rem !important;
}

/* Ensure all buttons wrap properly and fit */
.wp-block-buttons {
  flex-wrap: wrap !important;
  justify-content: center !important;
}

/* Fix hero cover subtitle - override global theme style */
.wp-block-cover__inner-container p.wp-block-paragraph.has-text-align-center,
.wp-block-cover__inner-container .wp-block-paragraph {
  font-size: 1.1rem !important;
}

/* STRONGER override for cover block subtitle - uses highest specificity */
html body .wp-block-cover__inner-container p.wp-block-paragraph.has-text-align-center,
html body .wp-block-cover .wp-block-paragraph {
  font-size: 1.1rem !important;
}

/* BODY TEXT SIZE REDUCTION - override large paragraph sizes */
html body.home .grove-split-text p,
html body .grove-split-text p {
  font-size: 1rem !important;
  line-height: 1.7 !important;
}

html body.home .grove-section-cream .grove-split-text > div,
html body.home .grove-section-cream .grove-split-text > div strong,
html body.home .grove-section-cream .grove-split-text > div a,
html body .grove-section-cream .grove-split-text > div {
  font-size: 1rem !important;
}

/* General heading sizes - reduce slightly */
html body h2:not(header h2), 
html body .wp-block-heading:where(h2):not(header .wp-block-heading) {
  font-size: clamp(1.3rem, 3vw, 2rem) !important;
}

/* Nav overflow prevention - ensure nav fits on one row */
header nav.wp-block-navigation,
header .wp-block-navigation__container {
  flex-wrap: nowrap !important;
}

/* Reduce nav item padding to give button more room */
header .wp-block-navigation-item > .wp-block-navigation-item__content {
  padding-left: 8px !important;
  padding-right: 8px !important;
}


/* === TARGETED FIXES === */

/* Non-home page: dark nav background */
body:not(.home) header .wp-block-group.alignfull.is-style-default {
  background-color: #3C3A33 !important;
}

/* Non-home page: add top padding to push content below fixed nav */
body:not(.home) main.wp-block-group {
  padding-top: 230px !important;
}

/* Service tile headers - center aligned */
.grove-card h3 {
  text-align: center !important;
}

/* Service tile - flex layout for button alignment */
.grove-card {
  display: flex !important;
  flex-direction: column !important;
}

.grove-card > div[style*="padding"] {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

.grove-card > div[style*="padding"] p:last-child {
  margin-top: auto !important;
  padding-top: 16px !important;
}


/* Home page: dark nav background when scrolled past hero */
body.home header .wp-block-group.alignfull.is-style-default.header-scrolled {
  background-color: rgb(60, 58, 51) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
}


/* === NON-HOME PAGE NAV: SPREAD BUTTONS + LARGER LOGO === */

/* Slightly larger logo on non-home pages */
body:not(.home) header .wp-block-site-logo,
body:not(.home) header .wp-block-site-logo img.custom-logo {
  width: 110px !important;
  max-width: 110px !important;
  height: auto !important;
  max-height: none !important;
}

/* Match home page nav spacing: make nav wrapper grow + space-evenly distribution */
body:not(.home) header.wp-block-group.alignfull.is-content-justification-space-between > div:nth-child(2) {
  flex: 1 1 auto !important;
}

body:not(.home) header nav.wp-block-navigation,
body:not(.home) header .wp-block-navigation__container {
  justify-content: space-evenly !important;
  gap: 8px !important;
  column-gap: 8px !important;
  width: 100% !important;
}

body:not(.home) header .wp-block-navigation-item > .wp-block-navigation-item__content {
  padding-left: 12px !important;
  padding-right: 12px !important;
}

/* BLOG CHECKERBOARD PATTERN */
/* 3-column grid - alternate even items have darker background */
.page-id-11 .entry-content > div:nth-child(3) > div:nth-child(even) {
  background: rgb(180, 172, 160) !important;
}
.page-id-11 .entry-content > div:nth-child(3) > div:nth-child(odd) {
  background: rgb(213, 208, 200) !important;
}

/* SERVICE PAGE - Center first heading */
.page-id-14 .entry-content h1:first-of-type,
.page-id-14 .entry-content > *:first-child {
  text-align: center !important;
}

/* SERVICE AREAS PAGE - Center first heading */
.page-id-15 .entry-content h1:first-of-type,
.page-id-15 .entry-content > *:first-child {
  text-align: center !important;
}

/* BLOG PAGE - Center subtitle paragraph */
.page-id-11 .entry-content > p {
  text-align: center !important;
}

/* GLOBAL - Rounded corners on all images */
img:not(.wp-block-site-logo img):not(.avatar) {
  border-radius: 12px !important;
  overflow: hidden;
}
.wp-block-image figure,
.wp-block-cover,
.wp-block-media-text__media {
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* ==============================================
 *    SEO FIXES: COLOR CONTRAST IMPROVEMENTS
 *    Gold (#D9A066) on white fails WCAG AA.
 *    Replacing with a darker brown (#7A4A1E) for 
 *    sufficient contrast on white backgrounds.
 *    ============================================== */

/* Phone/email links in contact section */
a[href^="tel:"],
a[href^="mailto:"] {
	  color: #7A4A1E !important;
}

/* Grove service card buttons - LEARN MORE links */
.grove-btn {
	  background: #B8703A !important;
	  color: #FFFFFF !important;
}
.grove-btn:hover,
.grove-btn:focus,
.grove-btn:active,
.grove-btn:visited {
	  background: #9A5C2E !important;
	  color: #FFFFFF !important;
}

/* Navigation CTA button - Schedule Estimate */
.wp-block-navigation .wp-block-button__link,
.wp-block-button__link {
	  color: #3C3A33 !important;
}

/* Service area links (e.g. Coral Gables) */
.grove-section-white a,
.grove-section-cream a {
	  color: #5C3510 !important;
}
.grove-section-white a:hover,
.grove-section-cream a:hover {
	  color: #3C2008 !important;
	  text-decoration: underline;
}
}
}
}
}
}
}