/* ============================================================
   YOUR TIDY HOME — MODERN REDESIGN CSS v3.0
   Color Palette:
   --primary: #1B4FD8 (brand blue)
   --accent:  #22C55E (fresh green)
   --text:    #1E293B
   --white:   #FFFFFF
============================================================ */

/* ── GOOGLE FONTS ── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* ── CSS VARIABLES ── */
:root {
  --primary: #1B4FD8;
  --primary-dark: #1239A6;
  --primary-light: #EEF3FF;
  --accent: #22C55E;
  --accent-dark: #16A34A;
  --accent-light: #DCFCE7;
  --text: #1E293B;
  --muted: #64748B;
  --border: #E2E8F0;
  --white: #FFFFFF;
  --light-bg: #F8FAFF;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.10);
  --shadow-lg: 0 10px 40px rgba(0,0,0,0.12);
  --radius: 12px;
  --radius-lg: 20px;
}

/* ── BASE TYPOGRAPHY ── */
body, body * {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
body {
  color: var(--text) !important;
  background: var(--white) !important;
  line-height: 1.6 !important;
  -webkit-font-smoothing: antialiased !important;
}

/* ── HEADER / NAVIGATION BAR ── */
/* Override the inline blue background on the nav wrapper */
main > .wp-block-group:first-child,
.wp-block-group.has-background.is-content-justification-space-between:first-child,
div[style*="background-color:#03407a"],
div[style*="background-color: #03407a"] {
  background-color: #FFFFFF !important;
  background: #FFFFFF !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.08) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
}

/* Nav links */
.wp-block-navigation a,
.wp-block-navigation .wp-block-navigation-item__content {
  color: var(--text) !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.wp-block-navigation a:hover {
  color: var(--primary) !important;
}

/* ── HERO SECTION ── */
.wp-block-cover.alignfull,
.wp-block-cover {
  background-color: var(--primary) !important;
  background: linear-gradient(135deg, #0F2D6E 0%, #1B4FD8 55%, #2563EB 100%) !important;
}
.wp-block-cover__background {
  background-color: rgba(15, 45, 110, 0.65) !important;
}
.wp-block-cover h1,
.wp-block-cover .wp-block-heading {
  font-size: clamp(2rem, 4.5vw, 3.5rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  color: #FFFFFF !important;
  letter-spacing: -0.02em !important;
  text-shadow: 0 2px 24px rgba(0,0,0,0.25) !important;
}
.wp-block-cover p {
  font-size: 1.05rem !important;
  color: rgba(255,255,255,0.92) !important;
  line-height: 1.7 !important;
}

/* ── BUTTONS — Standardize to green primary ── */
.wp-block-button__link,
a.wp-block-button__link {
  background: var(--accent) !important;
  color: #FFFFFF !important;
  border: 2px solid var(--accent) !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.01em !important;
  padding: 14px 32px !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 14px rgba(34,197,94,0.28) !important;
  text-transform: none !important;
}
.wp-block-button__link:hover {
  background: var(--accent-dark) !important;
  border-color: var(--accent-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(34,197,94,0.40) !important;
  color: #FFFFFF !important;
}

/* Outline buttons (hero secondary) */
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: #FFFFFF !important;
  border: 2px solid rgba(255,255,255,0.80) !important;
  box-shadow: none !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: rgba(255,255,255,0.15) !important;
  border-color: #FFFFFF !important;
  transform: translateY(-2px) !important;
}

/* Footer button override */
footer .wp-block-button__link,
.wp-block-template-part footer .wp-block-button__link,
[style*="background-color:#0F1E3D"] .wp-block-button__link {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
}

/* ── HEADINGS ── */
h1, h2, h3, h4, h5, h6 {
  color: var(--text) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
}
h2 {
  font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
}
h3 {
  font-size: clamp(1.2rem, 2vw, 1.5rem) !important;
}

/* Section headings centered */
.wp-block-group .wp-block-heading[style*="text-align:center"],
.wp-block-group .wp-block-heading[style*="text-align: center"] {
  color: var(--text) !important;
}

/* ── CARDS (bordered groups) ── */
.wp-block-column .wp-block-group[style*="border"],
.wp-block-column .wp-block-group.has-border-color {
  border: 2px solid var(--border) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-sm) !important;
  transition: all 0.25s ease !important;
  background: var(--white) !important;
}
.wp-block-column .wp-block-group[style*="border"]:hover,
.wp-block-column .wp-block-group.has-border-color:hover {
  border-color: var(--primary) !important;
  box-shadow: 0 8px 28px rgba(27,79,216,0.14) !important;
  transform: translateY(-4px) !important;
}

/* ── FEATURE ICON IMAGES ── */
.wp-block-image img {
  transition: transform 0.3s ease !important;
}
.wp-block-image img:hover {
  transform: scale(1.06) translateY(-3px) !important;
}

/* ── SECTION BACKGROUNDS ── */
/* Light blue tinted sections */
.wp-block-group.alignfull.is-style-section-3,
.wp-block-group[class*="section-3"] {
  background: var(--light-bg) !important;
}

/* Dark blue banner strips */
.wp-block-group[style*="background-color:#1B4F72"],
.wp-block-group[style*="background-color:#14375A"],
.wp-block-group[style*="background-color:#0d3d6b"],
.wp-block-group[style*="background-color:#004080"] {
  background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%) !important;
  border-radius: 0 !important;
}

/* ── STEP NUMBERS ── */
.wp-block-group p:first-child strong,
.wp-block-group > p > strong:only-child {
  color: var(--primary) !important;
}

/* ── FAQ ACCORDION ── */
details {
  border: 1.5px solid var(--border) !important;
  border-radius: var(--radius) !important;
  margin-bottom: 12px !important;
  overflow: hidden !important;
  transition: box-shadow 0.2s, border-color 0.2s !important;
}
details:hover,
details[open] {
  box-shadow: 0 4px 16px rgba(27,79,216,0.10) !important;
  border-color: var(--primary) !important;
}
details summary {
  padding: 18px 24px !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  color: var(--text) !important;
  cursor: pointer !important;
  list-style: none !important;
}
details[open] summary {
  color: var(--primary) !important;
  background: var(--primary-light) !important;
}
details > *:not(summary) {
  padding: 4px 24px 18px !important;
  color: var(--muted) !important;
  line-height: 1.75 !important;
}

/* ── FORMS ── */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
select,
textarea {
  border: 2px solid var(--border) !important;
  border-radius: var(--radius) !important;
  padding: 13px 16px !important;
  font-size: 1rem !important;
  color: var(--text) !important;
  background: var(--white) !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
input:focus,
select:focus,
textarea:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(27,79,216,0.12) !important;
  outline: none !important;
}
input[type="submit"],
button[type="submit"],
.wpforms-submit {
  background: var(--accent) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 13px 32px !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 14px rgba(34,197,94,0.28) !important;
}
input[type="submit"]:hover,
button[type="submit"]:hover,
.wpforms-submit:hover {
  background: var(--accent-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(34,197,94,0.38) !important;
}

/* ── FOOTER ── */
footer,
.wp-block-template-part footer,
main > .wp-block-group:last-child[style*="background"],
div[style*="background-color:#0f1e3d"],
div[style*="background-color:#0F1E3D"],
div[style*="background-color: #0f1e3d"] {
  background: #0F1E3D !important;
}
footer *,
.wp-block-template-part footer *,
div[style*="background-color:#0f1e3d"] *,
div[style*="background-color:#0F1E3D"] * {
  color: #CBD5E1 !important;
}
footer a,
.wp-block-template-part footer a {
  color: #93C5FD !important;
  transition: color 0.2s !important;
  text-decoration: none !important;
}
footer a:hover {
  color: #FFFFFF !important;
}
footer h2, footer h3, footer h4,
.wp-block-template-part footer h2,
.wp-block-template-part footer h3 {
  color: #FFFFFF !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
footer p,
.wp-block-template-part footer p {
  font-size: 0.9rem !important;
  line-height: 1.65 !important;
}

/* Footer area tags (cities) */
footer .wp-block-button__link {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: #CBD5E1 !important;
  font-size: 0.8rem !important;
  padding: 4px 12px !important;
  border-radius: 50px !important;
  box-shadow: none !important;
}
footer .wp-block-button__link:hover {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: #FFFFFF !important;
  transform: none !important;
}

/* The CTA "Free Quote" button in footer  */
footer a[href*="quote"] .wp-block-button__link,
footer a[href*="free"] .wp-block-button__link,
.wp-block-button.is-style-fill .wp-block-button__link {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(34,197,94,0.28) !important;
}

/* ── LOCATION BADGE TAGS (service areas section) ── */
.wp-block-buttons .wp-block-button .wp-block-button__link[style*="border"],
p a[style*="border-radius"] {
  border-radius: 50px !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  padding: 6px 14px !important;
  transition: all 0.2s !important;
}

/* ── SEPARATOR ── */
.wp-block-separator {
  border-color: var(--border) !important;
  opacity: 0.6 !important;
}

/* ── QUOTE BLOCK ── */
blockquote,
.wp-block-quote {
  border-left: 4px solid var(--primary) !important;
  background: var(--primary-light) !important;
  padding: 18px 24px !important;
  border-radius: 0 var(--radius) var(--radius) 0 !important;
}

/* ── SMOOTH SCROLL ── */
html {
  scroll-behavior: smooth !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
  .wp-block-cover h1 {
    font-size: 1.9rem !important;
  }
  .wp-block-button__link {
    padding: 12px 22px !important;
    font-size: 0.9rem !important;
  }
}

/* ── SUBTLE SECTION DIVIDERS ── */
.wp-block-group.alignfull {
  border-top: 0 !important;
}

/* ── REVIEW SECTION ── */
.wp-block-heading[style*="#1B4FD8"],
.wp-block-heading[style*="color:#1b4fd8"],
.wp-block-heading[style*="color: #1b4fd8"] {
  color: var(--primary) !important;
}

/* END CUSTOM CSS v3.0 */

/* ── FOOTER CTA BUTTON (yth-cta-btn) ── */
.yth-cta-btn,
a.yth-cta-btn {
  background: var(--accent) !important;
  background: linear-gradient(135deg, #16A34A, #22C55E) !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(34,197,94,0.30) !important;
  border: none !important;
  transition: all 0.25s ease !important;
}
.yth-cta-btn:hover,
a.yth-cta-btn:hover {
  background: var(--accent-dark) !important;
  background: linear-gradient(135deg, #14532d, #16A34A) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(34,197,94,0.40) !important;
  color: #FFFFFF !important;
}

/* ── NAV STICKY SHADOW FIX ── */
.admin-bar .wp-block-group.is-content-justification-space-between:first-child,
.admin-bar main > .wp-block-group:first-child {
  top: 32px !important;
}

/* ── SECTION 3 LIGHT BG ── */
.is-style-section-3,
.wp-block-group.is-style-section-3 {
  background-color: var(--light-bg) !important;
}

/* ── BANNER STRIP (dark blue) ── */
.wp-block-group.is-style-section-3.alignfull[style*="background-color:#"] {
  background: linear-gradient(135deg, var(--primary-dark), var(--primary)) !important;
}


/* ── FOOTER TOP LINE — override orange gradient with brand blue ── */
#yth-footer-line {
  background: linear-gradient(90deg, #1B4FD8, #22C55E, #1239A6, #1B4FD8) !important;
  animation: gradientShift 4s linear infinite !important;
}

/* ── FOOTER section underline accents ── */
.wp-block-template-part footer h2::after,
.wp-block-template-part footer h3::after,
.wp-block-template-part footer .wp-block-heading::after {
  background-color: var(--accent) !important;
}
