@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap');

/* Form field styling */
.elementor-field-group .elementor-field {
  border: none !important;
  border-bottom: 2px solid #ccc !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 8px 2px !important;
  font-family: Roboto, sans-serif !important;
  font-size: 15px !important;
  color: #333 !important;
}
.elementor-field-group .elementor-field:focus {
  border-bottom-color: #188bf6 !important;
  outline: none !important;
  box-shadow: none !important;
}
.elementor-field-group .elementor-field-label {
  color: #1a1a3e !important;
  font-family: Roboto, sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  margin-bottom: 6px !important;
}
.elementor-field-group {
  margin-bottom: 20px !important;
}
.elementor-field-group textarea.elementor-field {
  border: none !important;
  border-bottom: 2px solid #ccc !important;
  border-radius: 0 !important;
  background: transparent !important;
  min-height: 100px !important;
}
.elementor-field-group select.elementor-field-textual {
  border: none !important;
  border-bottom: 2px solid #ccc !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.e-form__buttons__wrapper .elementor-button,
.elementor-button[type="submit"] {
  padding: 12px 35px !important;
  font-family: Roboto, sans-serif !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
}

/* Blog listing page - card grid */
.blog .site-main { max-width: 1140px; margin: 0 auto; padding: 40px 30px; }
.blog .page-header { text-align: center; margin-bottom: 10px; }
.blog .page-header .entry-title { color: #0d47a1; font-family: Roboto, sans-serif; font-size: 36px; font-weight: 700; }
.blog .page-header::after { content: "Insights on PPC advertising, campaign strategy, and digital marketing."; display: block; text-align: center; color: #555; font-family: Roboto, sans-serif; font-size: 16px; margin-top: 8px; padding-bottom: 30px; border-bottom: none; }
.blog .page-content { display: flex !important; flex-wrap: wrap !important; gap: 30px; margin-top: 30px; }
.blog .page-content article.post { flex: 1 1 calc(50% - 15px) !important; max-width: calc(50% - 15px) !important; background: #fff; border: 1px solid #e0e0e0; border-radius: 10px; padding: 30px; box-shadow: 0 2px 12px rgba(0,0,0,0.06); transition: box-shadow 0.3s ease, transform 0.2s ease; display: flex; flex-direction: column; }
.blog .page-content article.post:hover { box-shadow: 0 6px 24px rgba(13,71,161,0.12); transform: translateY(-3px); }
.blog article .entry-title { font-family: Roboto, sans-serif; font-size: 22px; font-weight: 700; line-height: 1.3; margin-bottom: 12px; }
.blog article .entry-title a { color: #0d47a1; text-decoration: none; }
.blog article .entry-title a:hover { color: #188bf6; }
.blog article p { color: #555; font-family: Roboto, sans-serif; font-size: 15px; line-height: 1.6; flex-grow: 1; }
.blog article p::after { content: "Read More \2192"; display: block; margin-top: 20px; color: #188bf6; font-weight: 600; font-size: 15px; }
@media (max-width: 768px) { .blog .page-content article.post { flex: 1 1 100% !important; max-width: 100% !important; } }

/* Single blog post */
.single-post .site-main { max-width: 1140px; margin: 0 auto; padding: 40px 30px; }
.single-post .entry-title { display: none !important; }
.single-post .entry-content { color: #333; font-family: Roboto, sans-serif; font-size: 16px; line-height: 1.7; }
.single-post .entry-content h2 { color: #0d47a1; font-size: 26px; font-weight: 700; margin-top: 40px; }
.single-post .entry-content h3 { color: #188bf6; font-size: 22px; font-weight: 700; margin-top: 30px; }
/* Hide WordPress comments on blog posts */
.single-post .comments-area, .single-post #respond { display: none !important; }

/* Remove sticky sidebar on all pages (but not header) */
.elementor-sticky--active { position: static !important; }
[data-widget_type="form.default"] { position: static !important; }
.e-sticky { position: static !important; transform: none !important; }

/* Blog form Send button - left aligned, heading color */
.e-form__buttons__wrapper { text-align: left !important; justify-content: flex-start !important; }
.e-form__buttons__wrapper .elementor-button,
.elementor-button[type="submit"] {
  background-color: #0d47a1 !important;
}

/* Privacy Policy & Terms of Service page formatting */
.page-id-243 .site-main,
.page-id-244 .site-main {
  max-width: 900px;
  margin: 0 auto;
  padding: 40px 30px;
}
.page-id-243 .entry-title,
.p

/* Hide broken blog link */
a[href*="quality-score-ad-rank"] {
	  display: none !important;
}age-id-244 .entry-title {
  color: #0d47a1;
  font-family: Roboto, sans-serif;
  font-size: 36px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 3px solid #ffd21f;
}
.page-id-243 .entry-content,
.page-id-244 .entry-content {
  color: #333;
  font-family: Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.7;
}
.page-id-243 .entry-content h2,
.page-id-244 .entry-content h2 {
  color: #0d47a1;
  font-size: 24px;
  font-weight: 700;
  margin-top: 35px;
}
.page-id-243 .entry-content h3,
.page-id-244 .entry-content h3 {
  color: #188bf6;
  font-size: 20px;
  font-weight: 700;
  margin-top: 25px;
}

/* Force nav menu items to single row */
.elementor-widget-nav-menu { flex: 1 1 auto !important; min-width: 0 !important; }

/* ============================================
   BATCH UPDATE - Blog, Nav, Footer, Forms, Spacing
   ============================================ */

/* 1. Blog listing cards - fully clickable + fix Read More links */
.blog .page-content article.post {
  position: relative;
  cursor: pointer;
  transition: box-shadow 0.3s ease, transform 0.2s ease;
}
.blog .page-content article.post a {
  text-decoration: none;
}
.blog article .entry-title a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.blog article p::after {
  content: "Read More \2192" !important;
  display: block !important;
  margin-top: 20px !important;
  color: #188bf6 !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  pointer-events: none;
}

/* 2. Footer mascot image - circular */
.elementor-location-footer .elementor-widget-image img,
[data-elementor-type="footer"] .elementor-widget-image img {
  border-radius: 50% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  background: #ffffff;
  padding: 5px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}

/* 3. Liquid glass / glassmorphism effect on cards */
.blog .page-content article.post {
  background: rgba(255, 255, 255, 0.7) !important;
  backdrop-filter: blur(12px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255,255,255,0.6) !important;
}
.blog .page-content article.post:hover {
  box-shadow: 0 8px 32px rgba(13, 71, 161, 0.15), inset 0 1px 0 rgba(255,255,255,0.6) !important;
  transform: translateY(-4px) !important;
}
.services-row .service-card {
  background: rgba(255, 255, 255, 0.7) !important;
  backdrop-filter: blur(12px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255,255,255,0.6) !important;
  transition: all 0.3s ease !important;
}
.services-row .service-card:hover {
  box-shadow: 0 8px 32px rgba(13, 71, 161, 0.15), inset 0 1px 0 rgba(255,255,255,0.6) !important;
  transform: translateY(-4px) !important;
}

/* 4. Navigation menu - larger text + dropdown hover styling */
/* dropdown link rule removed */
/* dropdown hover rule removed */
/* dropdown rule removed */

/* 5. Bolder phone number, icon, and Let's Talk button */
.elementor-element .elementor-widget-html a[href^="tel"] {
  font-weight: 700 !important;
  font-size: 16px !important;
}
.elementor-element .elementor-widget-html a[href^="tel"] svg {
  width: 20px !important;
  height: 20px !important;
}
.elementor-button.elementor-size-sm,
a.elementor-button.elementor-size-sm {
  font-weight: 700 !important;
  font-size: 15px !important;
  padding: 12px 28px !important;
}

/* 6. Remove white space between header and hero on service pages */
.elementor-location-header + .site-main .elementor-section:first-child,
.elementor-location-header + #content .elementor-section:first-child,
.site-main > .elementor:first-child > .elementor-element:first-child,
.entry-content > .elementor:first-child > .elementor-element:first-child,
.entry-content > div:first-child > .e-con:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.site-main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.entry-content {
  margin-top: 0 !important;
}

/* 7. Proper paragraph spacing across all pages */
.elementor-widget-text-editor p,
.elementor-widget-theme-post-content p,
.entry-content p {
  margin-bottom: 1.2em !important;
  line-height: 1.75 !important;
}
.elementor-widget-text-editor p:last-child {
  margin-bottom: 0 !important;
}
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol,
.entry-content ul,
.entry-content ol {
  margin-bottom: 1.2em !important;
  padding-left: 1.5em !important;
}
.elementor-widget-text-editor li,
.entry-content li {
  margin-bottom: 0.5em !important;
  line-height: 1.7 !important;
}
.elementor-element-4210618 {
  display: none !important;
}


/* 9. Form dropdown (select) - match form styling */
.elementor-field-group select.elementor-field-textual,
.elementor-field-group select.elementor-field {
  border: none !important;
  border-bottom: 2px solid #ccc !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  color: #333 !important;
  padding: 8px 2px !important;
  font-family: Roboto, sans-serif !important;
  font-size: 15px !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='2' fill='none'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 8px center !important;
  background-size: 12px !important;
}
.elementor-field-group select.elementor-field-textual:focus,
.elementor-field-group select.elementor-field:focus {
  border-bottom-color: #188bf6 !important;
  outline: none !important;
}
.elementor-field-group select option {
  background: #ffffff !important;
  color: #333 !important;
}

/* ============================================
   SESSION 2 UPDATES - Feb 28, 2026
   ============================================ */

/* 10. Fix remaining white space between header and hero - STRONGER */
.elementor-location-header + .site-main,
.elementor-location-header + #content,
body:not(.elementor-editor-active) .site-main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body:not(.elementor-editor-active) .elementor-location-header {
  margin-bottom: 0 !important;
}
body:not(.elementor-editor-active) .site-main > .elementor:first-child > .elementor-element:first-child,
body:not(.elementor-editor-active) .site-main > article > .elementor:first-child > .elementor-element:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* Kill any gap between header and first section */
.elementor-location-header + * {
  margin-top: 0 !important;
}
#content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.site-main > .elementor > .elementor-section:first-child,
.site-main > .elementor > .e-con:first-child,
.site-main > article .elementor > .elementor-section:first-child,
.site-main > article .elementor > .e-con:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 11. Center services section card content */
.services-row .service-card,
.services-row .elementor-widget-wrap {
  text-align: center !important;
}
.services-row .service-card .elementor-icon-box-title,
.services-row .service-card .elementor-icon-box-description,
.services-row .service-card h3,
.services-row .service-card p {
  text-align: center !important;
}
.services-row .service-card .elementor-button-wrapper,
.services-row .service-card .elementor-widget-button {
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
}
/* Also center the icon in service cards */
.services-row .service-card .elementor-icon-box-icon,
.services-row .service-card .elementor-icon {
  text-align: center !important;
  margin: 0 auto !important;
}

/* 12. Let's Talk button - rounded pill style */
a[href*="/contact/"] .elementor-button,
.elementor-widget-button a[href*="/contact/"],
header .elementor-button[href*="/contact/"],
a.elementor-button[href*="/contact/"] {
  border-radius: 5px !important;
}
/* Also target the nav CTA button specifically */
.elementor-location-header .elementor-button {
  border-radius: 5px !important;
}

/* 13. Fix form double arrow on select dropdown */
.elementor-field-group select.elementor-field-textual,
.elementor-field-group select.elementor-field {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}
/* Hide Elementor's native select wrapper arrow if doubled */
.elementor-field-group .elementor-select-wrapper::after,
.elementor-field-group .elementor-field-subgroup .select-caret {
  display: none !important;
}
/* Make sure our custom SVG arrow still shows on the field itself */
.elementor-field-group select.elementor-field-textual {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='2' fill='none'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 8px center !important;
  background-size: 12px !important;
  padding-right: 30px !important;
}

/* 14. Phone icon - hollow/outline style */
.elementor-icon i.fas.fa-phone,
.elementor-icon i.fa-phone-alt,
.elementor-location-header i.fas.fa-phone,
.elementor-location-header i.fa-phone-alt {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 400 !important; /* 400 = regular/outline, 900 = solid */
}

/* 15. Liquid glass effect on FAQ items */
.elementor-accordion .elementor-accordion-item {
  background: rgba(255, 255, 255, 0.7) !important;
  backdrop-filter: blur(12px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 12px !important;
  margin-bottom: 12px !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255,255,255,0.6) !important;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.elementor-accordion .elementor-accordion-item:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 32px rgba(13, 71, 161, 0.12), inset 0 1px 0 rgba(255,255,255,0.6) !important;
}
.elementor-accordion .elementor-tab-title {
  border: none !important;
  padding: 18px 24px !important;
}
.elementor-accordion .elementor-tab-content {
  border-top: 1px solid rgba(13, 71, 161, 0.1) !important;
  padding: 18px 24px !important;
}

/* 16. Liquid glass on "Why GoodPup" value prop cards */
.elementor-widget-icon-box .elementor-icon-box-wrapper {
  background: rgba(255, 255, 255, 0.7) !important;
  backdrop-filter: blur(12px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255,255,255,0.6) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.elementor-widget-icon-box .elementor-icon-box-wrapper:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 32px rgba(13, 71, 161, 0.15), inset 0 1px 0 rgba(255,255,255,0.6) !important;
}

/* 17. Service + Blog page hero styling (hero ribbon REMOVED) */
/* Remove hero ribbon background from all service + blog pages */
body:not(.page-id-133) [data-elementor-type="wp-page"] > .e-con:first-child,
.single-post [data-elementor-type="wp-post"] > .e-con:first-child {
  background: transparent !important;
  padding: 30px 0 10px 0 !important;
  padding-block-start: 30px !important;
  min-height: unset !important;
  position: relative !important;
}
body:not(.page-id-133) [data-elementor-type="wp-page"] > .e-con:first-child::before,
.single-post [data-elementor-type="wp-post"] > .e-con:first-child::before {
  display: none !important;
}
/* Service + Blog page hero headings - blue, left-aligned */
body:not(.page-id-133) [data-elementor-type="wp-page"] > .e-con:first-child h1,
body:not(.page-id-133) [data-elementor-type="wp-page"] > .e-con:first-child h2,
.single-post [data-elementor-type="wp-post"] > .e-con:first-child .elementor-heading-title {
  color: #0d47a1 !important;
  text-align: center !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
}
body:not(.page-id-133) [data-elementor-type="wp-page"] > .e-con:first-child h1,
.single-post [data-elementor-type="wp-post"] > .e-con:first-child .elementor-widget-heading:first-child .elementor-heading-title {
  font-size: 36px !important;
}
/* Service page hero container - left-align content */
body:not(.page-id-133) [data-elementor-type="wp-page"] > .e-con:first-child .e-con-inner {
  align-items: flex-start !important;
  justify-content: flex-start !important;
}
/* Blog post subtitle heading - slightly smaller, lighter */
.single-post [data-elementor-type="wp-post"] > .e-con:first-child .elementor-widget-heading:nth-child(2) .elementor-heading-title {
  font-size: 18px !important;
  font-weight: 500 !important;
  color: #1d2e3b !important;
}
/* 18. Reduce excessive white space globally */
/* 19. Fix sticky header -- hide placeholder to prevent double-height */
.elementor-sticky--placeholder {
  display: none !important;
}
/* Also reduce header logo/section height for tighter header */
[data-elementor-type="header"] > .e-con.elementor-sticky--active > .e-con-inner {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}
[data-elementor-type="header"] .elementor-widget-image img {
  max-height: 65px !important;
  width: auto !important;
}

/* 20. Center service card content - using actual Elementor element IDs */
.elementor-element-4debe66 .e-con.e-child {
  text-align: center !important;
  align-items: center !important;
}
.elementor-element-4debe66 .e-con.e-child .elementor-widget {
  text-align: center !important;
  width: 100% !important;
}
.elementor-element-4debe66 .e-con.e-child .elementor-widget-heading .elementor-heading-title {
  text-align: center !important;
}
.elementor-element-4debe66 .e-con.e-child .elementor-widget-text-editor {
  text-align: center !important;
}
.elementor-element-4debe66 .e-con.e-child .elementor-widget-button {
  text-align: center !important;
}
.elementor-element-4debe66 .e-con.e-child .elementor-widget-button .elementor-button-wrapper {
  justify-content: center !important;
  display: flex !important;
}
.elementor-element-4debe66 .e-con.e-child .elementor-icon-wrapper {
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
}

/* 21. Enhanced liquid glass on service cards (home page) */
.elementor-element-4debe66 > .e-con-inner > .e-con.e-child {
  background: rgba(255, 255, 255, 0.65) !important;
  backdrop-filter: blur(16px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.06), inset 0 1px 0 rgba(255,255,255,0.7) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  padding: 28px 20px !important;
}
.elementor-element-4debe66 > .e-con-inner > .e-con.e-child:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 40px rgba(13, 71, 161, 0.12), inset 0 1px 0 rgba(255,255,255,0.7) !important;
}

/* 22. Liquid glass on "Why GoodPup" section cards */
.elementor-element-ad2ea4f .e-con.e-child {
  background: rgba(255, 255, 255, 0.65) !important;
  backdrop-filter: blur(16px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.06), inset 0 1px 0 rgba(255,255,255,0.7) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  padding: 28px !important;
}
.elementor-element-ad2ea4f .e-con.e-child:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 32px rgba(13, 71, 161, 0.15), inset 0 1px 0 rgba(255,255,255,0.7) !important;
}

/* 23. Liquid glass on industry cards (We Know Your Industry section) */
.elementor-element-56a1181 .e-con.e-child {
  backdrop-filter: blur(8px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(8px) saturate(150%) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255,255,255,0.15) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.elementor-element-56a1181 .e-con.e-child:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255,255,255,0.2) !important;
}

/* 24. Better FAQ block styling - separated card blocks */
.elementor-widget-accordion .elementor-accordion {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
.elementor-widget-accordion .elementor-accordion-item {
  background: rgba(255, 255, 255, 0.75) !important;
  backdrop-filter: blur(12px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(180%) !important;
  border: 1px solid rgba(13, 71, 161, 0.1) !important;
  border-radius: 14px !important;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.06) !important;
  overflow: hidden !important;
  margin-bottom: 0 !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.elementor-widget-accordion .elementor-accordion-item:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 24px rgba(13, 71, 161, 0.1) !important;
}
.elementor-widget-accordion .elementor-tab-title {
  border: none !important;
  padding: 20px 24px !important;
  background: transparent !important;
}
.elementor-widget-accordion .elementor-tab-content {
  border-top: 1px solid rgba(13, 71, 161, 0.08) !important;
  padding: 16px 24px 20px !important;
}

/* 25. Footer social icons - ensure proper spacing and style */
footer .elementor-social-icons-wrapper,
.elementor-location-footer .elementor-social-icons-wrapper {
  gap: 10px !important;
}

/* 26. Remove unwanted whitespace between sections globally */
.elementor > .e-con + .e-con {
  margin-top: 0 !important;
}

/* ===== MAJOR OVERHAUL: GRIDS, GLASS, FONTS, FORMS ===== */

/* 34. Font import - Poppins for headings, Inter for body */

/* 35. Apply branded fonts globally */
body, p, li, a, span, div, input, select, textarea, button {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  letter-spacing: -0.01em;
}
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
}

h2,
.elementor-widget-heading h2.elementor-heading-title {
  font-weight: 700 !important;
}
body { font-size: 16.5px !important; line-height: 1.7 !important; }

/* 36. Home page services grid - 4 columns */
.page-id-133 .elementor-element-4debe66 .e-con-inner > .e-con > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
/* Also target direct child containers of the service wrapper */
.page-id-133 .elementor-element-4debe66 .e-con-inner > .e-con {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

/* 37. Industries grid - 4 columns with equal heights */
.page-id-133 .elementor-element-96793d6 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
}
.page-id-133 .elementor-element-96793d6 > .e-con {
  height: 100% !important;
  min-height: 160px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 24px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* 38. Home page Why GoodPup grid - 4 columns */
.page-id-133 .elementor-element-ad2ea4f .e-con-inner > .e-con {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

/* 39. Responsive grids - tablet 2 cols, mobile 1 col */
@media (max-width: 1024px) {
  .page-id-133 .elementor-element-4debe66 .e-con-inner > .e-con,
  .page-id-133 .elementor-element-56a1181 .e-con-inner > .e-con,
  .page-id-133 .elementor-element-ad2ea4f .e-con-inner > .e-con {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 767px) {
  .page-id-133 .elementor-element-4debe66 .e-con-inner > .e-con,
  .page-id-133 .elementor-element-56a1181 .e-con-inner > .e-con,
  .page-id-133 .elementor-element-ad2ea4f .e-con-inner > .e-con {
    grid-template-columns: 1fr !important;
  }
}

/* 40. Home page bottom merge - Yellow CTA left of form */
.page-id-133 .elementor-element-b5c7484 {
  display: none !important;
}
.page-id-133 .elementor-element-946c563 {
  background: #0d47a1 !important;
  padding: 60px 0 !important;
}
.page-id-133 .elementor-element-946c563 .e-con-inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px 40px !important;
  align-items: start !important;
  max-width: 1300px !important;
}
.page-id-133 .elementor-element-42ac164 {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
.page-id-133 .elementor-element-4830fbc {
  grid-column: 1 !important;
  grid-row: 2 !important;
}
.page-id-133 .elementor-element-f62716d {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
}

/* 41. Form section left CTA text styling */
.page-id-133 .elementor-element-42ac164 .elementor-heading-title {
  color: #ffffff !important;
  font-family: 'Poppins', sans-serif !important;
  line-height: 1.3 !important;
}
.page-id-133 .elementor-element-4830fbc {
  color: rgba(255,255,255,0.9) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}
.page-id-133 .elementor-element-4830fbc p {
  color: rgba(255,255,255,0.9) !important;
}
.page-id-133 .elementor-element-f62716d {
  background: rgba(255,255,255,0.95) !important;
  backdrop-filter: blur(12px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.4) !important;
  border: 1px solid rgba(255,255,255,0.4) !important;
  border-radius: 20px !important;
  padding: 32px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.15) !important;
}

/* 42. FAQ always-visible glass cards - 2x3 grid */
.page-id-133 .elementor-element-a92815b {
  padding: 60px 0 !important;
}
.page-id-133 .elementor-element-d0e3cda .elementor-accordion {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}
.page-id-133 .elementor-accordion .elementor-accordion-item {
  background: rgba(255,255,255,0.75) !important;
  backdrop-filter: blur(12px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.4) !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 24px rgba(13,71,161,0.08) !important;
  padding: 24px !important;
  margin-bottom: 0 !important;
}
.page-id-133 .elementor-accordion .elementor-tab-title {
  padding: 0 !important;
  border: none !important;
  pointer-events: none !important;
  cursor: default !important;
}
.page-id-133 .elementor-accordion .elementor-tab-title a {
  color: #0d47a1 !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
}
.page-id-133 .elementor-accordion .elementor-tab-title .elementor-accordion-icon {
  display: none !important;
}
.page-id-133 .elementor-accordion .elementor-tab-content {
  display: block !important;
  padding: 12px 0 0 0 !important;
  border: none !important;
  color: #444 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}
@media (max-width: 1024px) {
  .page-id-133 .elementor-element-d0e3cda .elementor-accordion {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 767px) {
  .page-id-133 .elementor-element-d0e3cda .elementor-accordion {
    grid-template-columns: 1fr !important;
  }
}

/* 43. Form styling - depth, glass, visible button */
.elementor-widget-form .elementor-form {
  background: rgba(255,255,255,0.8) !important;
  backdrop-filter: blur(14px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.4) !important;
  border: 1px solid rgba(255,255,255,0.5) !important;
  border-radius: 20px !important;
  padding: 32px 28px !important;
  box-shadow: 0 8px 40px rgba(13,71,161,0.10), 0 2px 8px rgba(0,0,0,0.04) !important;
}
/* Send / Send Message button - highly visible */
.elementor-widget-form .elementor-button {
  background-color: #188bf6 !important;
  color: #ffffff !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: 17px !important;
  letter-spacing: 0.02em !important;
  border-radius: 12px !important;
  padding: 14px 32px !important;
  box-shadow: 0 4px 16px rgba(24,139,246,0.35) !important;
  transition: all 0.2s ease !important;
}
.elementor-widget-form .elementor-button:hover {
  background-color: #0d47a1 !important;
  box-shadow: 0 6px 24px rgba(13,71,161,0.4) !important;
  transform: translateY(-1px) !important;
}
/* Form inputs - subtle refinement */
.elementor-field-textual {
  border: 1px solid rgba(13,71,161,0.12) !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  font-size: 15px !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  background: rgba(255,255,255,0.6) !important;
}
.elementor-field-textual:focus {
  border-color: #188bf6 !important;
  box-shadow: 0 0 0 3px rgba(24,139,246,0.1) !important;
  outline: none !important;
}

/* 44. Liquid glass on ALL card-like blocks globally */
.page-id-133 .elementor-element-4debe66 .e-con-inner > .e-con > .e-con,
.page-id-133 .elementor-element-56a1181 .e-con-inner > .e-con > .e-con,
.page-id-133 .elementor-element-ad2ea4f .e-con-inner > .e-con > .e-con {
  background: rgba(255,255,255,0.7) !important;
  backdrop-filter: blur(14px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.4) !important;
  border: 1px solid rgba(255,255,255,0.35) !important;
  border-radius: 18px !important;
  box-shadow: 0 4px 24px rgba(13,71,161,0.07), 0 1px 3px rgba(0,0,0,0.03) !important;
  padding: 28px !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.page-id-133 .elementor-element-4debe66 .e-con-inner > .e-con > .e-con:hover,
.page-id-133 .elementor-element-56a1181 .e-con-inner > .e-con > .e-con:hover,
.page-id-133 .elementor-element-ad2ea4f .e-con-inner > .e-con > .e-con:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 32px rgba(13,71,161,0.12), 0 2px 6px rgba(0,0,0,0.05) !important;
}
/* Blog listing cards - liquid glass */
.blog .e-con > .e-con,
.archive .e-con > .e-con {
  background: rgba(255,255,255,0.7) !important;
  backdrop-filter: blur(12px) saturate(1.3) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.3) !important;
  border: 1px solid rgba(255,255,255,0.35) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 20px rgba(13,71,161,0.06) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

/* Reset glass card styling on footer containers (blog/archive pages) */
.archive footer.elementor-location-footer .e-con > .e-con,
footer.elementor-location-footer .e-con > .e-con {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: none !important;
}
/* Service page form sidebar - glass */
.elementor-widget-form .elementor-widget-container {
  border-radius: 20px !important;
}

/* 45. Footer services list - left aligned */
footer .elementor-icon-list-items,
[data-elementor-type="footer"] .elementor-icon-list-items,
.elementor-location-footer .elementor-icon-list-items {
  text-align: left !important;
  align-items: flex-start !important;
}
footer .elementor-icon-list-item,
[data-elementor-type="footer"] .elementor-icon-list-item,
.elementor-location-footer .elementor-icon-list-item {
  text-align: left !important;
  justify-content: flex-start !important;
}

/* 46. Form dropdown double-arrow fix - strengthened */
.elementor-field-type-select select,
.elementor-widget-form select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230d47a1' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 12px !important;
  padding-right: 40px !important;
}
/* Hide Elementor's built-in select arrow */
.elementor-field-type-select::after,
.elementor-field-type-select .select-caret-down-wrapper,
.elementor-field-type-select .elementor-field-option:after {
  display: none !important;
}
.elementor-field-type-select {
  position: relative !important;
}
.elementor-field-type-select select + *:not(label):not(.elementor-field-label) {
  display: none !important;
}

/* 47. Content width - match header 1300px */
[data-elementor-type="wp-page"] > .e-con > .e-con-inner,
[data-elementor-type="wp-post"] > .e-con > .e-con-inner {
  max-width: 1300px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 49. Blog sidebar - pure CSS sticky (prevents Elementor JS hitching) */
.single-post [data-elementor-type="wp-post"] .e-con .e-con-inner > .e-con:last-child {
    position: sticky !important;
    top: 100px !important;
    align-self: flex-start !important;
}

/* 50. Industry cards responsive equal heights */
@media (max-width: 1024px) {
  .page-id-133 .elementor-element-96793d6 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 767px) {
  .page-id-133 .elementor-element-96793d6 {
    grid-template-columns: 1fr !important;
  }
}

/* 51. Form section responsive for bottom merge */
@media (max-width: 1024px) {
  .page-id-133 .elementor-element-946c563 .e-con-inner {
    grid-template-columns: 1fr !important;
  }
}

/* 52. Hide yellow CTA block on all service pages */
.elementor-element-33e4cdf,
.elementor-element-81bf031,
.elementor-element-aea567d,
.elementor-element-ab386c7,
.elementor-element-31bfa38,
.elementor-element-fdbde9f {
  display: none !important;
}

/* 55. Hide blue CTA block at end of ALL service pages */
.elementor-element-33b7041,
.elementor-element-29984af,
.elementor-element-c3f2b54,
.elementor-element-b6ee905,
.elementor-element-5591348 {
  display: none !important;
}

/* 56. Footer services list - align with Our Services heading */
.elementor-element-91ac2c4 ul {
  padding-left: 0 !important;
  list-style: none !important;
  margin: 0 !important;
}

/* 57. Nav menu links - bolder */

/* 58. Logo - prevent excessive shrinking on responsive */
[data-elementor-type="header"] .elementor-widget-theme-site-logo img {
  min-width: 55px;
}
@media (max-width: 767px) {
  [data-elementor-type="header"] .elementor-widget-theme-site-logo img {
    min-width: 50px;
    max-height: 55px !important;
  }
}tor-element-d238856 {
  width: 100% !important;
  max-width: 800px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
.page-id-133 .elementor-element-6c2ef50 {
  padding-top: 40px !important;
  padding-bottom: 60px !important;
}
.page-id-133 .elementor-element-6c2ef50 h1 {
  font-size: 54px !important;
  text-align: center !important;
}
.page-id-133 .elementor-element-6c2ef50 h5 {
  text-align: center !important;
  font-size: 20px !important;
}
.page-id-133 .elementor-element-6c2ef50 p {
  text-align: center !important;
  font-size: 18px !important;
}
.page-id-133 .elementor-element-6c2ef50 .elementor-widget-button {
  text-align: center !important;
}
.page-id-133 .elementor-element-6c2ef50 .elementor-button {
  padding: 16px 36px !important;
  font-size: 17px !important;
}
.page-id-133 .elementor-element-d238856 .elementor-widget-button .elementor-widget-container {
  justify-content: center !important;
  display: flex !important;
  gap: 16px;
  flex-wrap: wrap;
}

/* --- 49. Home Page H2s: Bigger & Bolder --- */
.page-id-133 h2 {
  font-size: 42px !important;
  font-weight: 700 !important;
}
.page-id-133 h3:not(.elementor-accordion-title) {
  font-size: 32px !important;
}

/* --- 50. Blog Pages: Remove Yellow CTA Blocks --- */
.single-post .elementor-element-ff6535d,
.single-post .elementor-element-21e7362,
.single-post .elementor-element-5055159,
.single-post .elementor-element-f6c26ca {
  display: none !important;
}

/* --- 51. Internal Link Colors: Blue --- */
.elementor-widget-theme-post-content a,
.elementor-widget-text-editor a:not(.elementor-button) {
  color: #1565c0 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.elementor-widget-theme-post-content a:hover,
.elementor-widget-text-editor a:not(.elementor-button):hover {
  color: #0d47a1 !important;
  text-decoration: underline;
}
/* Exclude buttons, nav, and CTAs from blue link styling */
.elementor-button,
.elementor-icon-list-item a {
  color: inherit !important;
  text-decoration: none !important;
}

/* --- 52. Blog Pages: Match Header Width --- */
.single-post [data-elementor-type="wp-post"] > .e-con > .e-con-inner {
  max-width: 1300px !important;
}

/* --- 53. Responsive Adjustments for Round 3 --- */
@media (max-width: 1024px) {
  .page-id-133 .elementor-element-6c2ef50 h1 {
    font-size: 42px !important;
  }
  .page-id-133 h2 {
    font-size: 36px !important;
  }
  [data-elementor-type="header"] .elementor-widget-theme-site-logo img,
  [data-elementor-type="header"] .elementor-widget-theme-site-logo img {
    width: 85px;
    max-width: 85px !important;
  }
}
@media (max-width: 767px) {
  .page-id-133 .elementor-element-6c2ef50 h1 {
    font-size: 34px !important;
  }
  .page-id-133 h2 {
    font-size: 30px !important;
  }
  .page-id-133 .elementor-element-d238856 {
    max-width: 100% !important;
    padding: 0 16px !important;
  }
}

/* --- 54. Industry Cards: Background Photos with Dark Overlay --- */
/* Using .e-con.elementor-element for specificity match with Elementor's generated CSS */
.page-id-133 .e-con.e-child.elementor-element.elementor-element-eb3099e {
  background: linear-gradient(rgba(13,71,161,0.45), rgba(13,71,161,0.45)),
    url('https://images.unsplash.com/photo-1621905251189-08b45d6a269e?auto=format&fit=crop&w=600&q=60') center/cover no-repeat !important;
}
.page-id-133 .e-con.e-child.elementor-element.elementor-element-cba342e {
  background: linear-gradient(rgba(13,71,161,0.45), rgba(13,71,161,0.45)),
    url('https://images.unsplash.com/photo-1589829545856-d10d557cf95f?auto=format&fit=crop&w=600&q=60') center/cover no-repeat !important;
}
.page-id-133 .e-con.e-child.elementor-element.elementor-element-c23a962 {
  background: linear-gradient(rgba(13,71,161,0.45), rgba(13,71,161,0.45)),
    url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&w=600&q=60') center/cover no-repeat !important;
}
.page-id-133 .e-con.e-child.elementor-element.elementor-element-73a1bce {
  background: linear-gradient(rgba(13,71,161,0.45), rgba(13,71,161,0.45)),
    url('https://images.unsplash.com/photo-1563013544-824ae1b704d3?auto=format&fit=crop&w=600&q=60') center/cover no-repeat !important;
}
.page-id-133 .e-con.e-child.elementor-element.elementor-element-ed51260 {
  background: linear-gradient(rgba(13,71,161,0.45), rgba(13,71,161,0.45)),
    url('https://images.unsplash.com/photo-1441986300917-64674bd600d8?auto=format&fit=crop&w=600&q=60') center/cover no-repeat !important;
}
.page-id-133 .e-con.e-child.elementor-element.elementor-element-fdbb382 {
  background: linear-gradient(rgba(13,71,161,0.45), rgba(13,71,161,0.45)),
    url('https://images.unsplash.com/photo-1552664730-d307ca884978?auto=format&fit=crop&w=600&q=60') center/cover no-repeat !important;
}
.page-id-133 .e-con.e-child.elementor-element.elementor-element-3040a78 {
  background: linear-gradient(rgba(13,71,161,0.45), rgba(13,71,161,0.45)),
    url('https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?auto=format&fit=crop&w=600&q=60') center/cover no-repeat !important;
}
.page-id-133 .e-con.e-child.elementor-element.elementor-element-cf50111 {
  background: linear-gradient(rgba(13,71,161,0.45), rgba(13,71,161,0.45)),
    url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?auto=format&fit=crop&w=600&q=60') center/cover no-repeat !important;
}
/* Shared card styles for industry cards with backgrounds */
.page-id-133 .e-con.e-child.elementor-element.elementor-element-eb3099e,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-cba342e,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-c23a962,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-73a1bce,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-ed51260,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-fdbb382,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-3040a78,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-cf50111 {
  min-height: 200px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.page-id-133 .e-con.e-child.elementor-element.elementor-element-eb3099e:hover,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-cba342e:hover,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-c23a962:hover,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-73a1bce:hover,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-ed51260:hover,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-fdbb382:hover,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-3040a78:hover,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-cf50111:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 25px rgba(0,0,0,0.3) !important;
}

/* --- 55. Mobile Responsive Overrides --- */
@media (max-width: 767px) {
  /* Hero H1: scale down from 54px */
  .page-id-133 .elementor-element-6c2ef50 h1 {
    font-size: 32px !important;
  }
  /* Home page H2s: scale down from 42px */
  .page-id-133 h2 {
    font-size: 28px !important;
  }
  /* Home page H3s: scale down from 32px */
  .page-id-133 h3:not(.elementor-accordion-title) {
    font-size: 22px !important;
  }
  /* Blog H1: scale down from 36px */
  .single-post h1 {
    font-size: 26px !important;
  }
  /* Blog H2: scale down from 30px */
  .single-post h2 {
    font-size: 22px !important;
  }
  /* Nav: slightly smaller on mobile */
  /* Industry cards: ensure min-height scales */
  .page-id-133 .elementor-element-b52f877 .e-con-inner > .e-con > .e-con {
    min-height: 160px !important;
  }
}

@media (max-width: 480px) {
  .page-id-133 .elementor-element-6c2ef50 h1 {
    font-size: 28px !important;
  }
  .page-id-133 h2 {
    font-size: 24px !important;
  }
  .single-post h1 {
    font-size: 24px !important;
  }
}

/* --- 56. Footer: All Links & Text White --- */
.elementor-location-footer a,
[data-elementor-type="footer"] a,
footer a {
  color: #ffffff !important;
}
.elementor-location-footer a:hover,
[data-elementor-type="footer"] a:hover,
footer a:hover {
  color: #ffd21f !important;
  opacity: 0.9;
}
/* Footer list items that are black -> white */
.elementor-location-footer .elementor-icon-list-text,
.elementor-location-footer .elementor-widget-icon-list span,
[data-elementor-type="footer"] li,
[data-elementor-type="footer"] p:not([style*="bold"]),
[data-elementor-type="footer"] span {
  color: #ffffff !important;
}
/* Social icons white */
.elementor-location-footer .elementor-social-icon,
[data-elementor-type="footer"] .elementor-social-icon {
  color: #ffffff !important;
}

/* Footer text-editor widget links override (beats Section 51) */
[data-elementor-type="footer"] .elementor-widget-text-editor a,
[data-elementor-type="footer"] .elementor-widget-text-editor a:not(.elementor-button) {
  color: #ffffff !important;
  text-decoration: none !important;
}
[data-elementor-type="footer"] .elementor-widget-text-editor a:hover,
[data-elementor-type="footer"] .elementor-widget-text-editor a:not(.elementor-button):hover {
  color: #ffd21f !important;
}

/* --- 57. Blog Pages: Match Service Page Styling --- */
/* Blog H1: blue like service pages */
.single-post h1.entry-title,
.single-post .page-header h1 {
  color: #0d47a1 !important;
  font-size: 36px !important;
}
/* Blog H2s: blue like service pages */
.single-post .elementor-widget-text-editor h2,
.single-post [data-elementor-type="wp-post"] h2 {
  color: #0d47a1 !important;
  font-weight: 700 !important;
}
/* Blog H3s: blue like service pages */
.single-post .elementor-widget-text-editor h3,
.single-post [data-elementor-type="wp-post"] h3 {
  color: #0d47a1 !important;
}
/* Blog main container: widen to 1300px to match header nav */
.single-post main.site-main {
  max-width: 1300px !important;
}
.single-post .page-header {
  max-width: 1300px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Blog content containers: widen to 1300px */
.single-post [data-elementor-type="wp-post"] > .e-con {
  max-width: 1300px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.single-post [data-elementor-type="wp-post"] > .e-con > .e-con-inner {
  max-width: 1300px !important;
}
/* Blog hero section: tighter spacing + yellow divider */
.single-post .page-header {
  padding-top: 20px !important;
  padding-bottom: 15px !important;
  border-bottom: 4px solid #ffd21f !important;
}
.single-post [data-elementor-type="wp-post"] > .e-con:first-child {
  padding-top: 30px !important;
  padding-block-start: 30px !important;
  padding-bottom: 0px !important;
}
/* Blog subtitle / excerpt styling */
.single-post .elementor-widget-theme-post-excerpt p {
  color: #555 !important;
  font-size: 18px !important;
  margin-bottom: 0 !important;
}

/* ============================================
   SECTION 58: Round 3 - Home Page Overhaul & Blog Fixes
   ============================================ */

/* --- Step 2: Hero - Hide form, center content, bigger CTAs --- */
.page-id-133 .elementor-element-7a98ee1 {
  display: none !important;
}
.page-id-133 .elementor-element-d238856 {
  width: 100% !important;
  max-width: 800px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
.page-id-133 .elementor-element-06f82e4 .elementor-heading-title,
.page-id-133 .elementor-element-e24f469 .elementor-heading-title {
  text-align: center !important;
}
.page-id-133 .elementor-element-a130407 {
  text-align: center !important;
}
.page-id-133 .elementor-element-e24f469 h1 {
  font-weight: 700 !important;
}
/* Center button group */
.page-id-133 .elementor-element-433d0af {
  justify-content: center !important;
  align-items: center !important;
}
/* Bigger CTA buttons */
.page-id-133 .elementor-element-433d0af .elementor-button {
  font-size: 18px !important;
  padding: 18px 40px !important;
  font-weight: 600 !important;
}
/* Reduce hero top padding */
.page-id-133 .elementor-element-6c2ef50 {
  padding-top: 20px !important;
  padding-bottom: 40px !important;
}

/* --- Step 3: Home H2s - Bigger & Bolder --- */
.page-id-133 h2 {
  font-size: 42px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
.page-id-133 h3 {
  font-size: 32px !important;
  font-weight: 600 !important;
}

/* --- Step 7: Blog pages - Match service page width --- */
.single-post .elementor-location-single > .e-con {
  max-width: 1300px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}
.single-post .elementor-location-single > .e-con > .e-con-inner {
  max-width: 1300px !important;
  width: 100% !important;
}

/* --- Step 8: Remove yellow CTA blocks from blog posts --- */
.single-post .elementor-element-ff6535d,
.single-post .elementor-element-21e7362,
.single-post .elementor-element-5055159,
.single-post .elementor-element-f6c26ca {
  display: none !important;
}

/* --- Step 9: Internal link colors - Blue --- */
.elementor-widget-theme-post-content a:not(.elementor-button),
.elementor-widget-text-editor a:not(.elementor-button):not([data-elementor-type="footer"] a) {
  color: #1565c0 !important;
}
.elementor-widget-theme-post-content a:not(.elementor-button):hover,
.elementor-widget-text-editor a:not(.elementor-button):hover {
  color: #0d47a1 !important;
  text-decoration: underline !important;
}
/* Exclude footer, nav, and button links from blue */
[data-elementor-type="footer"] .elementor-widget-text-editor a,
[data-elementor-type="footer"] .elementor-widget-text-editor a:not(.elementor-button) {
  color: #ffffff !important;
  text-decoration: none !important;
}
[data-elementor-type="footer"] .elementor-widget-text-editor a:hover,
[data-elementor-type="footer"] .elementor-widget-text-editor a:not(.elementor-button):hover {
  color: #ffd21f !important;
  text-decoration: none !important;
}

/* Footer sitemap column headers - yellow */
.elementor-element-859a00c p[style*="font-weight:700"] {
  color: #ffd21f !important;
}
/* Footer sitemap grid responsive */
@media (max-width: 767px) {
  .elementor-element-859a00c div[style*="grid-template-columns"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 25px 15px !important;
  }
}
@media (max-width: 480px) {
  .elementor-element-859a00c div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }
}

/* Footer divider - content width only, not full page */
[data-elementor-type="footer"] .elementor-element-73f2b01 {
  border-top: none !important;
  border-bottom: none !important;
  position: relative;
}
[data-elementor-type="footer"] .elementor-element-73f2b01::before {
  content: "";
  display: block;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

/* Standardize footer font sizes */
[data-elementor-type="footer"] .elementor-element-8f7ffd4 .elementor-heading-title {
  font-size: 18px !important;
}
[data-elementor-type="footer"] .elementor-element-8f7ffd4 .elementor-text-editor,
[data-elementor-type="footer"] .elementor-element-8f7ffd4 .elementor-text-editor p,
[data-elementor-type="footer"] .elementor-element-8f7ffd4 .elementor-text-editor a {
  font-size: 14px !important;
}
[data-elementor-type="footer"] .elementor-element-81af2ad,
[data-elementor-type="footer"] .elementor-element-81af2ad p {
  font-size: 13px !important;
}
[data-elementor-type="footer"] .elementor-element-859a00c,
[data-elementor-type="footer"] .elementor-element-859a00c p,
[data-elementor-type="footer"] .elementor-element-859a00c a {
  font-size: 13px !important;
  line-height: 1.5 !important;
}
[data-elementor-type="footer"] .elementor-element-859a00c p[style*="font-weight:700"] {
  font-size: 15px !important;
  color: #ffd21f !important;
}
[data-elementor-type="footer"] .elementor-element-861e3b6,
[data-elementor-type="footer"] .elementor-element-861e3b6 p,
[data-elementor-type="footer"] .elementor-element-861e3b6 a {
  font-size: 13px !important;
}

/* ============================================
   SECTION 59: Punch List Fixes
   ============================================ */

/* Fix 1: Footer divider - properly centered */
[data-elementor-type="footer"] .elementor-element-73f2b01::before {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Fix 2: Bigger header logo */
[data-elementor-type="header"] .elementor-widget-theme-site-logo img {
  width: 140px;
  max-width: 140px !important;
  height: auto !important;
}

/* Fix 3: Services page - hide yellow block */
.page-id-40 .elementor-element-aa2fbe8 {
  display: none !important;
}

/* Fix 4: Privacy Policy & TOS - content width */
.page-id-243 .elementor-location-single > .e-con,
.page-id-244 .elementor-location-single > .e-con,
.page-id-243 [data-elementor-type="wp-page"] > .e-con,
.page-id-244 [data-elementor-type="wp-page"] > .e-con {
  max-width: 1300px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}

/* Fix 5: Contact page - content width & centered */
/* Contact page hero spacing - match other pages */

/* Fix 6: Global page width enforcement for all Elementor pages */
body:not(.elementor-editor-active) [data-elementor-type="wp-page"] > .e-con > .e-con-inner,
body:not(.elementor-editor-active) [data-elementor-type="wp-post"] > .e-con > .e-con-inner {
  max-width: 1300px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}

/* Fix: Logo override - more specific selector */
[data-elementor-type="header"] .elementor-widget-theme-site-logo .elementor-image img,
[data-elementor-type="header"] .elementor-widget-theme-site-logo img {
  width: 140px;
  max-width: 140px !important;
  height: auto !important;
}
/* removed logo widget override */

/* cache-bust 1772324403444 */

/* Fix: Privacy Policy & TOS pages - non-Elementor content width */
.page-id-243 > h1,
.page-id-243 > h2,
.page-id-243 > h3,
.page-id-243 > h4,
.page-id-243 > p,
.page-id-243 > ul,
.page-id-243 > ol,
.page-id-243 > table,
.page-id-243 > div:not(.nojq):not(.elementor):not(.elementor-location-header):not(.elementor-location-footer),
.page-id-244 > h1,
.page-id-244 > h2,
.page-id-244 > h3,
.page-id-244 > h4,
.page-id-244 > p,
.page-id-244 > ul,
.page-id-244 > ol,
.page-id-244 > table,
.page-id-244 > div:not(.nojq):not(.elementor):not(.elementor-location-header):not(.elementor-location-footer) {
    max-width: 1300px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 30px;
    padding-right: 30px;
    box-sizing: border-box;
}
.page-id-243 > h1:first-of-type,
.page-id-244 > h1:first-of-type {
    padding-top: 40px;
    color: #0d47a1;
    font-family: Roboto, sans-serif;
    font-size: 36px;
    font-weight: 700;
}
.page-id-243 > h2, .page-id-243 > h3,
.page-id-244 > h2, .page-id-244 > h3 {
    color: #0d47a1;
    font-family: Roboto, sans-serif;
}
.page-id-243 > p, .page-id-243 > ul, .page-id-243 > ol,
.page-id-244 > p, .page-id-244 > ul, .page-id-244 > ol {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    line-height: 1.7;
    color: #333;
}

/* ===== ROUND 3 FIXES - Session Continuation ===== */

/* Fix 1: Hide FAQ/service/blog blocks on Google Ads vs Meta Ads post (663) */
.postid-663 .elementor-element-5602134,
.postid-663 .elementor-element-d40bd92 {
    display: none !important;
}

/* Fix 2: Double header logo size (140px -> 280px) */
[data-elementor-type="header"] .elementor-widget-theme-site-logo .elementor-image img,
[data-elementor-type="header"] .elementor-widget-theme-site-logo img {
    width: 280px;
    max-width: 280px !important;
    height: auto !important;
}
/* removed logo widget override */

/* Fix 3: Content vs Form width ratio (~66% / ~29%) */
/* Target form column (the e-con child that contains the form widget) */
.e-con.e-child:has(.elementor-widget-form) {
    --width: 29% !important;
}
/* Target content column (sibling before the form column) */
.e-con.e-child:has(~ .e-con.e-child:has(.elementor-widget-form)) {
    --width: 66% !important;
}

/* Fix 4: Send button - compact style (small, not full-width) */
.elementor-widget-form .elementor-button {
    background-color: #0c41c7 !important;
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: normal !important;
    border-radius: 4px !important;
    padding: 10px 20px !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    width: auto !important;
    min-width: unset !important;
}
.elementor-widget-form .elementor-button:hover {
    background-color: #0d47a1 !important;
    box-shadow: 0 2px 8px rgba(12, 65, 199, 0.3) !important;
    transform: none !important;
}
.e-form__buttons__wrapper {
    text-align: left !important;
    justify-content: flex-start !important;
}
.e-form__buttons {
    flex-grow: 0 !important;
}

/* Fix 3b: Content column width - alternative selector (parent :has form, target first child) */
.e-con-inner:has(> .e-con.e-child .elementor-widget-form) > .e-con.e-child:first-child {
    --width: 66% !important;
}

/* Fix 4b: Button - prevent stretching to full width */
.elementor-widget-form .elementor-button {
    display: inline-block !important;
}
.e-form__buttons {
    flex-grow: 0 !important;
    width: auto !important;
}
.e-form__buttons__wrapper .elementor-field-type-submit {
    flex-basis: auto !important;
    flex-grow: 0 !important;
    width: auto !important;
}

/* Fix 5: Industry card hover effect for clickable cards */
.page-id-133 .elementor-element-eb3099e,
.page-id-133 .elementor-element-cba342e,
.page-id-133 .elementor-element-c23a962,
.page-id-133 .elementor-element-73a1bce,
.page-id-133 .elementor-element-ed51260,
.page-id-133 .elementor-element-fdbb382,
.page-id-133 .elementor-element-3040a78,
.page-id-133 .elementor-element-cf50111 {
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    cursor: pointer !important;
}
.page-id-133 .elementor-element-eb3099e:hover,
.page-id-133 .elementor-element-cba342e:hover,
.page-id-133 .elementor-element-c23a962:hover,
.page-id-133 .elementor-element-73a1bce:hover,
.page-id-133 .elementor-element-ed51260:hover,
.page-id-133 .elementor-element-fdbb382:hover,
.page-id-133 .elementor-element-3040a78:hover,
.page-id-133 .elementor-element-cf50111:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 6px 20px rgba(13,71,161,0.15) !important;
}

/* ===== ROUND 4 FIXES ===== */

/* Override Fix 3: Content/Form ratio - only apply when 2+ columns exist */
/* Reset single-column form containers (like home page) */
.e-con.e-child:has(.elementor-widget-form):only-child {
    --width: 100% !important;
}
/* Only apply ratio when parent has 2+ child columns */
.e-con-inner:has(> .e-con.e-child:nth-child(2)):has(> .e-con.e-child .elementor-widget-form) > .e-con.e-child:has(.elementor-widget-form) {
    --width: 29% !important;
}
.e-con-inner:has(> .e-con.e-child:nth-child(2)):has(> .e-con.e-child .elementor-widget-form) > .e-con.e-child:first-child:not(:has(.elementor-widget-form)) {
    --width: 66% !important;
}

/* Fix: Header logo column - widen to fit 280px logo */
/* removed old logo rule */

/* Fix: Services page - constrain to content width, 4 per row */
.page-id-40 .elementor-element-92ecee2 {
    max-width: 1300px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}
/* Reduce gap between hero and cards on /services/ */
.page-id-40 .elementor-element-92ecee2 {
    padding-top: 20px !important;
}

.page-id-40 .elementor-element-08b0929,
.page-id-40 .elementor-element-444e03b {
    max-width: 100% !important;
}
.page-id-40 .elementor-element-08b0929 > .e-con-inner > .e-con,
.page-id-40 .elementor-element-444e03b > .e-con-inner > .e-con {
    --width: 23% !important;
}

/* ===== ROUND 4b - Home page form fix ===== */
/* Home page form column should be full-width (not in a 2-col layout) */
.page-id-133 .elementor-element-f62716d {
    --width: 100% !important;
}
/* Also reset the content column override for home page */
.page-id-133 .elementor-element-946c563 .e-con.e-child:first-child {
    --width: initial !important;
}

/* ===== ROUND 4c - Higher specificity home page form fix ===== */
body.page-id-133 .elementor-element-f62716d.e-con.e-child {
    --width: 100% !important;
    max-width: 100% !important;
}

/* ===== ROUND 4d - Services card width fix (cards are direct children, no e-con-inner) ===== */
.page-id-40 .elementor-element-08b0929 > .e-con,
.page-id-40 .elementor-element-444e03b > .e-con {
    --width: 23% !important;
}

/* ===== ROUND 5 - Visual Polish ===== */

/* 1. Home page - all section backgrounds white */
.page-id-133 [data-elementor-type="wp-page"] > .e-con {
    background-color: #ffffff !important;
    background-image: none !important;
}
/* Keep intentionally colored sections: industry (blue), CTA (yellow), form (blue) */
.page-id-133 [data-elementor-type="wp-page"] > .e-con.elementor-element-56a1181 {
    background-color: #0d47a1 !important;
    background-image: none !important;
}
.page-id-133 [data-elementor-type="wp-page"] > .e-con.elementor-element-b5c7484 {
    background-color: #ffd21f !important;
    background-image: none !important;
}
.page-id-133 [data-elementor-type="wp-page"] > .e-con.elementor-element-946c563 {
    background-color: #0d47a1 !important;
    background-image: none !important;
}

/* 2. Home page service cards - Learn More as blue button with white text */
.page-id-133 .elementor-element-4debe66 .e-con.e-child a {
    color: #ffffff !important;
    background-color: #188bf6 !important;
    padding: 8px 18px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    display: inline-block !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    transition: background-color 0.2s ease !important;
}
.page-id-133 .elementor-element-4debe66 .e-con.e-child a:hover {
    background-color: #0d47a1 !important;
}

/* 3. Header nav - brand blue color, Poppins font */

/* 4. Footer divider - centered horizontal line between top and bottom sections */
[data-elementor-type="footer"] .elementor-element-859a00c {
    border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
    padding-top: 30px !important;
    margin-top: 20px !important;
    max-width: 1300px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ===== HOME PAGE HERO - Cincinnati Skyline Background ===== */
.page-id-133 [data-elementor-type="wp-page"] > .e-con:first-child {
    background-image: url('https://images.unsplash.com/photo-1592159784618-f1f74127d773?w=1920&q=80&auto=format') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    position: relative !important;
}
.page-id-133 [data-elementor-type="wp-page"] > .e-con:first-child::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(135deg, rgba(13,71,161,0.85) 0%, rgba(0,0,0,0.7) 100%) !important;
    z-index: 0 !important;
}
.page-id-133 [data-elementor-type="wp-page"] > .e-con:first-child .e-con-inner {
    position: relative !important;
    z-index: 1 !important;
}
/* Hero text colors on dark overlay */
.page-id-133 [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-text-editor {
    color: #ffffff !important;
}
.page-id-133 [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-text-editor p {
    color: #e0e0e0 !important;
}
.page-id-133 [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-heading .elementor-heading-title {
    color: #ffffff !important;
}
.page-id-133 [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-heading h1.elementor-heading-title {
    color: #ffd21f !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3) !important;
}

/* Center text in "You Own Everything" value props section */
.elementor-element-404c458 > .e-con {
  text-align: center !important;
}
.elementor-element-404c458 > .e-con .elementor-widget-heading,
.elementor-element-404c458 > .e-con .elementor-widget-text-editor {
  text-align: center !important;
}
.elementor-element-404c458 > .e-con .elementor-heading-title,
.elementor-element-404c458 > .e-con .elementor-text-editor {
  text-align: center !important;
}

/* Make service cards equal height and stretch within rows */
.page-id-133 .elementor-element-4debe66 .elementor-element-53afe76 {
  align-items: stretch !important;
}
.elementor-element-53afe76 > .e-con {
  min-height: 460px !important;
  display: flex !important;
  flex-direction: column !important;
}
.elementor-element-53afe76 > .e-con .elementor-widget-button {
  margin-top: auto !important;
}

/* ===== HOMEPAGE DESIGN UPDATES (March 2026) ===== */

/* 1. Hero CTA buttons - white font */
.elementor-element-19cd790 .elementor-button,
.elementor-element-91e0ea7 .elementor-button {
    color: #ffffff !important;
}
.elementor-element-19cd790 .elementor-button-text,
.elementor-element-91e0ea7 .elementor-button-text {
    color: #ffffff !important;
}
.elementor-element-19cd790 .elementor-button-icon,
.elementor-element-19cd790 .elementor-button-icon i,
.elementor-element-19cd790 .elementor-button-icon svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* 2. Fix service card spacing - remove forced min-height */
.elementor-element-53afe76 > .e-con {
    min-height: 0 !important;
}

/* 3. Homepage section backgrounds - all white (not footer) */
.page-id-133 [data-elementor-type="wp-page"] > .e-con.elementor-element-56a1181,
.elementor-133 .elementor-element.elementor-element-56a1181:not(.elementor-motion-effects-element-type-background) {
    background-color: #ffffff !important;
    background-image: none !important;
}
.page-id-133 [data-elementor-type="wp-page"] > .e-con.elementor-element-b5c7484,
.elementor-133 .elementor-element.elementor-element-b5c7484:not(.elementor-motion-effects-element-type-background) {
    background-color: #ffffff !important;
    background-image: none !important;
}
.page-id-133 [data-elementor-type="wp-page"] > .e-con.elementor-element-946c563,
.elementor-133 .elementor-element.elementor-element-946c563:not(.elementor-motion-effects-element-type-background) {
    background-color: #ffffff !important;
    background-image: none !important;
}

/* Adjust text colors for formerly blue/yellow sections */
.elementor-element-56a1181 .elementor-heading-title {
    color: #0d47a1 !important;
}
.elementor-element-56a1181 .elementor-text-editor,
.elementor-element-56a1181 .elementor-text-editor p,
.elementor-element-56a1181 p {
    color: #1d2e3b !important;
}
.elementor-element-b5c7484 .elementor-heading-title {
    color: #0d47a1 !important;
}
.elementor-element-b5c7484 .elementor-text-editor,
.elementor-element-b5c7484 .elementor-text-editor p,
.elementor-element-b5c7484 p {
    color: #1d2e3b !important;
}
.elementor-element-946c563 .elementor-heading-title {
    color: #0d47a1 !important;
}
.elementor-element-946c563 .elementor-text-editor,
.elementor-element-946c563 .elementor-text-editor p,
.elementor-element-946c563 p {
    color: #1d2e3b !important;
}
.elementor-element-946c563 .elementor-field-label {
    color: #1d2e3b !important;
}

/* 4. Homepage H2s bold - match H1 font-weight (700) */
.elementor-133 h2 {
    font-weight: 700 !important;
}

/* 5. Remove footer top divider line (fill gaps with matching bg) */
[data-elementor-id="240"] {
    background-color: #0d47a1;
}

/* 6. Fix header-hero white space on all pages */
[data-elementor-id="57"] > .e-con + .e-con {
    margin-bottom: 0 !important;
}

/* === Additional specificity fixes for white-to-white sections === */

/* Section 946c563 - Form section heading (was white on blue) */
.page-id-133 .elementor-element-42ac164 .elementor-heading-title {
    color: #0d47a1 !important;
}
/* Section 946c563 - Text content (was white/yellow on blue) */
.page-id-133 .elementor-element-4830fbc,
.page-id-133 .elementor-element-4830fbc p,
.page-id-133 .elementor-element-4830fbc strong {
    color: #1d2e3b !important;
}
.page-id-133 .elementor-element-4830fbc h3 {
    color: #0d47a1 !important;
}

.page-id-133 .elementor-element-c7d8937 .elementor-button,
.page-id-133 .elementor-element-c7d8937 .elementor-button-text {
    color: #ffffff !important;
}
/* "Get a Free Ads Audit" button - give it visible border on white bg */
.page-id-133 .elementor-element-94c659c .elementor-button {
    background-color: #188bf6 !important;
    color: #ffffff !important;
}
.page-id-133 .elementor-element-94c659c .elementor-button-text {
    color: #ffffff !important;
}

/* Footer section overlap fix for sub-pixel gaps */
[data-elementor-id="240"] > .e-con + .e-con {
    margin-top: -1px !important;
}

/* ===== HEADER SCROLL FIX + NEW CHANGES (March 2026 Batch 2) ===== */

/* Fix header/hero gap AND scroll hitching */
/* Remove margin from nav, collapse placeholder, smooth sticky transition */
[data-elementor-id="57"] > .e-con:first-child {
    margin-bottom: 0 !important;
}
[data-elementor-id="57"] > .e-con + .e-con {
    height: 0 !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}
/* Smooth sticky header transition to reduce hitching */
[data-elementor-id="57"] > .e-con.e-sticky {
    transition: none !important;
}
[data-elementor-id="57"] .elementor-element {
    transition: background 0.15s ease, box-shadow 0.15s ease !important;
}
/* Industry card text colors - white titles, yellow subtitles */
.elementor-element-96793d6 h4.elementor-heading-title {
    color: #ffffff !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}
.elementor-element-96793d6 h5.elementor-heading-title {
    color: #ffd21f !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}

/* Nav dropdown arrow - match nav text color (blue instead of black) */
.sub-arrow svg,

/* Blue H tags on all pages (blog, industry, service area, etc.) */
/* Targets page content headings globally */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.elementor h1.elementor-heading-title,
.elementor h2.elementor-heading-title,
.elementor h3.elementor-heading-title,
.elementor h4.elementor-heading-title {
    color: #0d47a1 !important;
}
/* Preserve white text on dark/blue overlay sections */
.elementor-element-96793d6 h4.elementor-heading-title {
    color: #ffffff !important;
}

/* ===== MOBILE/TABLET RESPONSIVE OPTIMIZATION ===== */

/* Tablet (768px - 1024px) */
@media (max-width: 1024px) {
    /* Prevent content from being squished */
    .elementor-section .elementor-container {
        flex-wrap: wrap !important;
    }
    .e-con {
        flex-wrap: wrap !important;
    }
    /* Make two-column layouts stack on tablet */
    .e-con > .e-con {
        width: 100% !important;
        max-width: 100% !important;
    }
    /* Forms should be full width */
    .elementor-form {
        width: 100% !important;
    }
    /* Industry cards - 2 per row on tablet */
    .elementor-element-96793d6 > .e-con {
        width: 48% !important;
        min-width: 48% !important;
    }
    /* Fix two-column layouts on tablet too */
    .e-con-inner {
        flex-direction: column !important;
    }
    .e-con-inner > .e-con {
        width: 100% !important;
        max-width: 100% !important;
        --width: 100% !important;
    }
    /* Keep header row layout on tablet */
    [data-elementor-id="57"] .e-con-inner {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }
    [data-elementor-id="57"] .e-con-inner > .e-con {
        width: auto !important;
        max-width: none !important;
        --width: auto !important;
    }
}

/* Mobile (up to 767px) */
@media (max-width: 767px) {
    /* Stack ALL columns vertically */
    .elementor-section .elementor-container {
        flex-direction: column !important;
    }
    .e-con {
        flex-wrap: wrap !important;
        flex-direction: column !important;
    }
    .e-con > .e-con {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
    }
    /* Hero text sizing */
    .elementor-element-6c2ef50 h1,
    .elementor-element-6c2ef50 .elementor-heading-title {
        font-size: 32px !important;
        line-height: 1.2 !important;
    }
    .elementor-element-6c2ef50 .elementor-text-editor {
        font-size: 16px !important;
    }
    /* Hero buttons stack vertically */
    .elementor-element-6c2ef50 .elementor-button-wrapper {
        display: block !important;
        width: 100% !important;
        margin-bottom: 10px !important;
    }
    /* Service cards - 1 per row */
    .elementor-element-53afe76 > .e-con > .e-con {
        width: 100% !important;
        max-width: 100% !important;
    }
    /* Industry cards - 1 per row */
    .elementor-element-96793d6 > .e-con {
        width: 100% !important;
        min-width: 100% !important;
    }
    /* Form containers full width */
    .elementor-form {
        width: 100% !important;
        max-width: 100% !important;
    }
    .elementor-field-group {
        width: 100% !important;
        flex-basis: 100% !important;
        max-width: 100% !important;
    }
    /* General font size adjustments */
    h1.elementor-heading-title,
    .elementor h1 {
        font-size: 28px !important;
    }
    h2.elementor-heading-title,
    .elementor h2 {
        font-size: 24px !important;
    }
    h3.elementor-heading-title,
    .elementor h3 {
        font-size: 20px !important;
    }
    /* Padding adjustments for mobile */
    .e-con {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    /* Header nav - ensure mobile menu works */
    /* dropdown item rule removed */
    /* Value props section - stack cards */
    .elementor-element-404c458 > .e-con {
        width: 100% !important;
        max-width: 100% !important;
    }
    /* Two-column form fields stack */
    .elementor-field-type-text,
    .elementor-field-type-email,
    .elementor-field-type-tel {
        width: 100% !important;
    }
    /* Phone container - show and align left */

    /* Fix two-column layouts stacking on mobile (content + form) */
    .e-con-inner {
        flex-direction: column !important;
    }
    .e-con-inner > .e-con {
        width: 100% !important;
        max-width: 100% !important;
        --width: 100% !important;
    }
    /* Keep header row layout on mobile */
    [data-elementor-id="57"] .e-con-inner {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }
    [data-elementor-id="57"] .e-con-inner > .e-con {
        width: auto !important;
        max-width: none !important;
        --width: auto !important;
    }
    /* Ensure sticky forms are not sticky on mobile */
    .e-con.e-sticky {
        position: relative !important;
    }
}

/* ===== CENTER H1s ON ALL PAGES ===== */
.elementor h1.elementor-heading-title,
.entry-content h1 {
    text-align: center !important;
}

/* ===== YELLOW DIVIDER FADE EFFECT ===== */
/* Replace solid yellow line with gradient that fades at edges */
.elementor-widget-divider .elementor-divider-separator {
    background: linear-gradient(
        to right,
        transparent 0%,
        #ffd21f 15%,
        #ffd21f 85%,
        transparent 100%
    ) !important;
    border: none !important;
    height: 4px !important;
}
/* Override any border-based dividers */
.elementor-widget-divider .elementor-divider-separator::after,
.elementor-widget-divider .elementor-divider-separator::before {
    display: none !important;
}
.elementor-widget-divider .elementor-divider {
    border: none !important;
}

/* ====================================================
   BATCH CSS UPDATE - March 2026
   ==================================================== */

/* --- Fix header/hero gap AND scroll hitching --- */
[data-elementor-id="57"] > .e-con:first-child {
    margin-bottom: 0 !important;
}
[data-elementor-id="57"] > .e-con + .e-con {
    height: 0 !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}
[data-elementor-id="57"] > .e-con.e-sticky {
    transition: none !important;
}
[data-elementor-id="57"] .elementor-element {
    transition: background 0.15s ease, box-shadow 0.15s ease !important;
}

/* --- Industry card text: white titles, yellow subtitles --- */
.elementor-element-96793d6 h4.elementor-heading-title {
    color: #ffffff !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}
.elementor-element-96793d6 h5.elementor-heading-title {
    color: #ffd21f !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}

/* --- Nav dropdown arrow color --- */
.sub-arrow svg,

/* --- Blue H tags globally --- */
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4,
.elementor h1.elementor-heading-title,
.elementor h2.elementor-heading-title,
.elementor h3.elementor-heading-title,
.elementor h4.elementor-heading-title {
    color: #0d47a1 !important;
}
/* Preserve white on industry cards */
.elementor-element-96793d6 h4.elementor-heading-title {
    color: #ffffff !important;
}

/* --- Center H1s on all pages --- */
.elementor h1.elementor-heading-title,
.entry-content h1 {
    text-align: center !important;
}

/* --- Yellow divider fade effect --- */
.elementor-widget-divider .elementor-divider-separator {
    background: linear-gradient(to right, transparent 0%, #ffd21f 15%, #ffd21f 85%, transparent 100%) !important;
    border: none !important;
    height: 4px !important;
}
.elementor-widget-divider .elementor-divider-separator::after,
.elementor-widget-divider .elementor-divider-separator::before {
    display: none !important;
}
.elementor-widget-divider .elementor-divider {
    border: none !important;
}

/* --- Hide yellow CTA block on About page --- */
.elementor-element-ae211c5 {
    display: none !important;
}

/* --- FAQ sub-headings larger --- */
.elementor-widget-icon-box .elementor-icon-box-title {
    font-size: 22px !important;
}

/* ====== TABLET (max-width: 1024px) ====== */
@media (max-width: 1024px) {
    .elementor-section .elementor-container { flex-wrap: wrap !important; }
    .e-con { flex-wrap: wrap !important; }
    .e-con > .e-con { width: 100% !important; max-width: 100% !important; }
    .elementor-form { width: 100% !important; }
    .elementor-element-96793d6 > .e-con { width: 48% !important; min-width: 48% !important; }
    .e-con-inner { flex-direction: column !important; }
    .e-con-inner > .e-con { width: 100% !important; max-width: 100% !important; --width: 100% !important; }
    /* Keep header row on tablet */
    [data-elementor-id="57"] .e-con-inner { flex-direction: row !important; align-items: center !important; justify-content: space-between !important; }
    [data-elementor-id="57"] .e-con-inner > .e-con { width: auto !important; max-width: none !important; --width: auto !important; }
}

/* ====== MOBILE (max-width: 767px) ====== */
@media (max-width: 767px) {
    .elementor-section .elementor-container { flex-direction: column !important; }
    .e-con { flex-wrap: wrap !important; flex-direction: column !important; }
    .e-con > .e-con { width: 100% !important; max-width: 100% !important; min-width: 100% !important; }
    /* Hero text sizing */
    .elementor-element-6c2ef50 h1,
    .elementor-element-6c2ef50 .elementor-heading-title { font-size: 32px !important; line-height: 1.2 !important; }
    .elementor-element-6c2ef50 .elementor-text-editor { font-size: 16px !important; }
    /* Service cards 1 per row */
    .elementor-element-53afe76 > .e-con > .e-con { width: 100% !important; max-width: 100% !important; }
    /* Industry cards 1 per row */
    .elementor-element-96793d6 > .e-con { width: 100% !important; min-width: 100% !important; }
    /* Forms full width */
    .elementor-form { width: 100% !important; max-width: 100% !important; }
    .elementor-field-group { width: 100% !important; flex-basis: 100% !important; max-width: 100% !important; }
    /* Font sizing */
    h1.elementor-heading-title, .elementor h1 { font-size: 28px !important; }
    h2.elementor-heading-title, .elementor h2 { font-size: 24px !important; }
    h3.elementor-heading-title, .elementor h3 { font-size: 20px !important; }
    /* Padding */
    .e-con { padding-left: 15px !important; padding-right: 15px !important; }
    /* Value props stack */
    .elementor-element-404c458 > .e-con { width: 100% !important; max-width: 100% !important; }
    /* Two-column layouts stack */
    .e-con-inner { flex-direction: column !important; }
    .e-con-inner > .e-con { width: 100% !important; max-width: 100% !important; --width: 100% !important; }
    /* Sticky forms not sticky on mobile */
    .e-con.e-sticky { position: relative !important; }

    /* === MOBILE HEADER: phone LEFT | logo CENTER | hamburger RIGHT === */
    [data-elementor-id="57"] .e-con-inner {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
    }
    [data-elementor-id="57"] .e-con-inner > .e-con {
        width: auto !important;
        max-width: none !important;
        --width: auto !important;
    }

}

/* --- CTA Button: Yellow + Centered, Hide Call/Text --- */
/* Make "Get Your Free Audit" buttons yellow with dark text */
.elementor-widget-text-editor.elementor-widget a[href*="/contact/"][style*="background"] {
    background: #ffd21f !important;
    color: #1d2e3b !important;
}
/* Center the CTA paragraph */
.elementor-widget-text-editor p:has(a[style*="background"]) {
    text-align: center !important;
}
/* Hide Call/Text phone links next to CTA buttons */
.elementor-widget-text-editor p:has(a[style*="background"]) > a[href^="tel:"] {
    display: none !important;
}

/* --- Services Page: Learn More buttons white text --- */
.elementor-button .elementor-button-text {
    color: #ffffff !important;
}
/* --- Services Page: Hide redundant "Services We Provide" heading --- */
.elementor-element-aa5cfe3 {
    display: none !important;
}
/* --- Services Page: Hide redundant subtitle --- */
.elementor-element-195a1ff {
    display: none !important;
}

/* --- Homepage: Reduce section spacing --- */
.page-id-133 > .elementor > .e-con > .e-con-inner {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}
/* Keep hero section padding as-is */
.page-id-133 .elementor-element-6c2ef50 .e-con-inner {
    padding-top: 20px !important;
    padding-bottom: 40px !important;
}

/* --- FAQ page: Larger sub headings --- */
.page-id-178 h3.elementor-heading-title {
    font-size: 28px !important;
}

/* === 2. Homepage: Subheadings smaller than H2s === */
.elementor-element-ad6fc5e h3.elementor-heading-title,
.elementor-element-dbe75cd h3.elementor-heading-title {
    font-size: 22px !important;
    font-weight: 400 !important;
    color: #555 !important;
}

/* === 3. Service Cards Clickable (homepage) === */
.elementor-element-53afe76 .e-child:has(.elementor-widget-button) {
    position: relative !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.elementor-element-53afe76 .e-child:has(.elementor-widget-button):hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.12) !important;
}
.elementor-element-53afe76 .elementor-button-link::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
}

/* === 4. CTA Button: Blue glass + white text === */
.elementor-widget-text-editor.elementor-widget a[href*="/contact/"][style*="background"] {
    background: linear-gradient(135deg, #188bf6 0%, #0d47a1 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(13,71,161,0.3), inset 0 1px 0 rgba(255,255,255,0.3) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.15) !important;
    padding: 14px 32px !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
}
.elementor-widget-text-editor.elementor-widget a[href*="/contact/"][style*="background"]:hover {
    box-shadow: 0 6px 20px rgba(13,71,161,0.4), inset 0 1px 0 rgba(255,255,255,0.35) !important;
    transform: translateY(-2px) !important;
}

/* === 5. All H1s centered (broader selector) === */
h1, .entry-title, .page-title,
.elementor h1.elementor-heading-title,
.entry-content h1 {
    text-align: center !important;
}

/* === 6. Mobile: Logo centered + H1 centered === */
@media (max-width: 767px) {
    /* Ensure H1s are centered on mobile */
    h1, .entry-title, .page-title {
        text-align: center !important;
    }
}
/* === Fix: Button widget static so ::after covers full card === */
.elementor-element-53afe76 .e-child .elementor-widget-button {
    position: static !important;
}
.elementor-element-53afe76 .e-child .elementor-button-wrapper {
    position: static !important;
}

/* === Service Pages: Yellow divider fade to content width === */
.page-id-71 .elementor > .e-con.e-parent:first-child,
.page-id-79 .elementor > .e-con.e-parent:first-child,
.page-id-77 .elementor > .e-con.e-parent:first-child,
.page-id-81 .elementor > .e-con.e-parent:first-child,
.page-id-75 .elementor > .e-con.e-parent:first-child,
.page-id-83 .elementor > .e-con.e-parent:first-child,
.page-id-168 .elementor > .e-con.e-parent:first-child,
.page-id-1354 .elementor > .e-con.e-parent:first-child,
.page-id-657 .elementor > .e-con.e-parent:first-child,
.page-id-677 .elementor > .e-con.e-parent:first-child,
.page-id-678 .elementor > .e-con.e-parent:first-child,
.page-id-679 .elementor > .e-con.e-parent:first-child,
.page-id-680 .elementor > .e-con.e-parent:first-child,
.page-id-1537 .elementor > .e-con.e-parent:first-child,
.page-id-1608 .elementor > .e-con.e-parent:first-child,
.page-id-2053 .elementor > .e-con.e-parent:first-child,
.page-id-668 .elementor > .e-con.e-parent:first-child,
.page-id-1816 .elementor > .e-con.e-parent:first-child,
.page-id-1995 .elementor > .e-con.e-parent:first-child ,
.page-id-3348 .elementor > .e-con.e-parent:first-child,
.page-id-3359 .elementor > .e-con.e-parent:first-child,
.page-id-3364 .elementor > .e-con.e-parent:first-child,
.page-id-3369 .elementor > .e-con.e-parent:first-child,
.page-id-3374 .elementor > .e-con.e-parent:first-child,
.page-id-3379 .elementor > .e-con.e-parent:first-child,
.page-id-3387 .elementor > .e-con.e-parent:first-child,
.page-id-3392 .elementor > .e-con.e-parent:first-child,
.page-id-3397 .elementor > .e-con.e-parent:first-child,
.page-id-3402 .elementor > .e-con.e-parent:first-child {
    border-bottom: none !important;
    position: relative !important;
}
.page-id-71 .elementor > .e-con.e-parent:first-child::after,
.page-id-79 .elementor > .e-con.e-parent:first-child::after,
.page-id-77 .elementor > .e-con.e-parent:first-child::after,
.page-id-81 .elementor > .e-con.e-parent:first-child::after,
.page-id-75 .elementor > .e-con.e-parent:first-child::after,
.page-id-83 .elementor > .e-con.e-parent:first-child::after,
.page-id-168 .elementor > .e-con.e-parent:first-child::after,
.page-id-1354 .elementor > .e-con.e-parent:first-child::after,
.page-id-657 .elementor > .e-con.e-parent:first-child::after,
.page-id-677 .elementor > .e-con.e-parent:first-child::after,
.page-id-678 .elementor > .e-con.e-parent:first-child::after,
.page-id-679 .elementor > .e-con.e-parent:first-child::after,
.page-id-680 .elementor > .e-con.e-parent:first-child::after,
.page-id-1537 .elementor > .e-con.e-parent:first-child::after,
.page-id-1608 .elementor > .e-con.e-parent:first-child::after,
.page-id-2053 .elementor > .e-con.e-parent:first-child::after,
.page-id-668 .elementor > .e-con.e-parent:first-child::after,
.page-id-1816 .elementor > .e-con.e-parent:first-child::after,
.page-id-1995 .elementor > .e-con.e-parent:first-child::after ,
.page-id-3348 .elementor > .e-con.e-parent:first-child::after,
.page-id-3359 .elementor > .e-con.e-parent:first-child::after,
.page-id-3364 .elementor > .e-con.e-parent:first-child::after,
.page-id-3369 .elementor > .e-con.e-parent:first-child::after,
.page-id-3374 .elementor > .e-con.e-parent:first-child::after,
.page-id-3379 .elementor > .e-con.e-parent:first-child::after,
.page-id-3387 .elementor > .e-con.e-parent:first-child::after,
.page-id-3392 .elementor > .e-con.e-parent:first-child::after,
.page-id-3397 .elementor > .e-con.e-parent:first-child::after,
.page-id-3402 .elementor > .e-con.e-parent:first-child::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    max-width: 1300px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent 0%, #ffd21f 8%, #ffd21f 92%, transparent 100%) !important;
    pointer-events: none !important;
}

/* === Mobile: Center logo in header === */
@media (max-width: 767px) {
/* removed old logo rule */
}

/* === Mobile: Center ALL H1s on all pages === */
@media (max-width: 1024px) {
    .elementor-widget-heading h1.elementor-heading-title,
    .elementor-widget-theme-post-content h1,
    h1.entry-title,
    h1.page-title,
    .elementor h1 {
        text-align: center !important;
    }
}

/* === OVERRIDE: Center ALL H1s on ALL pages (desktop + mobile) === */
body:not(.page-id-0) [data-elementor-type="wp-page"] > .e-con:first-child h1,
body:not(.page-id-0) .elementor h1.elementor-heading-title,
body:not(.page-id-0) h1.elementor-heading-title,
.elementor-widget-heading h1.elementor-heading-title {
    text-align: center !important;
}

/* === Fix: H1 widget full width so centering works === */
[data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-heading {
    width: 100% !important;
}

/* === Mobile: Hamburger menu slide from right (FIXED) === */
@media (max-width: 1024px) {
}

/* === Homepage: Learn More buttons - branded yellow + bigger === */
.page-id-133 .elementor-element-53afe76 .e-con.e-child .elementor-button,
.page-id-133 .elementor-element-53afe76 .elementor-widget-button .elementor-button {
    background-color: #ffd21f !important;
    color: #1d2e3b !important;
    border-color: #ffd21f !important;
    font-size: 16px !important;
    padding: 14px 32px !important;
    font-weight: 600 !important;
}
.page-id-133 .elementor-element-53afe76 .e-con.e-child .elementor-button:hover,
.page-id-133 .elementor-element-53afe76 .elementor-widget-button .elementor-button:hover {
    background-color: #e6bd1b !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 210, 31, 0.4) !important;
}

/* === Yellow dividers: About, Contact, FAQ, Services pages === */
.page-id-86 .elementor > .e-con.e-parent:first-child,
.page-id-90 .elementor > .e-con.e-parent:first-child,
.page-id-178 .elementor > .e-con.e-parent:first-child,
.page-id-3348 .elementor > .e-con.e-parent:first-child,
.page-id-3359 .elementor > .e-con.e-parent:first-child,
.page-id-3364 .elementor > .e-con.e-parent:first-child,
.page-id-3369 .elementor > .e-con.e-parent:first-child,
.page-id-3374 .elementor > .e-con.e-parent:first-child,
.page-id-3379 .elementor > .e-con.e-parent:first-child,
.page-id-3387 .elementor > .e-con.e-parent:first-child,
.page-id-3392 .elementor > .e-con.e-parent:first-child,
.page-id-3397 .elementor > .e-con.e-parent:first-child,
.page-id-3402 .elementor > .e-con.e-parent:first-child,
.page-id-40 .elementor > .e-con.e-parent:first-child {
    border-bottom: none !important;
    position: relative !important;
}
.page-id-86 .elementor > .e-con.e-parent:first-child::after,
.page-id-90 .elementor > .e-con.e-parent:first-child::after,
.page-id-178 .elementor > .e-con.e-parent:first-child::after,
.page-id-3348 .elementor > .e-con.e-parent:first-child::after,
.page-id-3359 .elementor > .e-con.e-parent:first-child::after,
.page-id-3364 .elementor > .e-con.e-parent:first-child::after,
.page-id-3369 .elementor > .e-con.e-parent:first-child::after,
.page-id-3374 .elementor > .e-con.e-parent:first-child::after,
.page-id-3379 .elementor > .e-con.e-parent:first-child::after,
.page-id-3387 .elementor > .e-con.e-parent:first-child::after,
.page-id-3392 .elementor > .e-con.e-parent:first-child::after,
.page-id-3397 .elementor > .e-con.e-parent:first-child::after,
.page-id-3402 .elementor > .e-con.e-parent:first-child::after,
.page-id-40 .elementor > .e-con.e-parent:first-child::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    max-width: 1300px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent 0%, #ffd21f 8%, #ffd21f 92%, transparent 100%) !important;
    pointer-events: none !important;
}

/* === Remove any yellow divider/border from footer === */
[data-elementor-id="240"] .e-con.e-parent:first-child::after {
    display: none !important;
    content: none !important;
}
[data-elementor-id="240"],
[data-elementor-id="240"] .e-con {
    border-top: none !important;
    border-bottom: none !important;
}
footer::before,
footer::after {
    display: none !important;
}

/* === Fix white space above header === */
html {
    margin-top: 0 !important;
}
body:not(.admin-bar) {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.elementor-location-header {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
[data-elementor-type="header"] {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* === Remove top divider line in footer === */
footer .elementor-element-73f2b01::before {
    display: none !important;
    content: none !important;
    border: none !important;
}

/* === Mobile: Nav dropdown items vertical + proper layout === */
@media (max-width: 1024px) {
}

/* === FIX: Mobile slide panel - remove shadow/border/radius from generic dropdown === */
@media (max-width: 1024px) {
}

/* === Homepage: Learn More buttons - back to branded blue === */
.page-id-133 .elementor-element-53afe76 .e-con.e-child .elementor-button,
.page-id-133 .elementor-element-53afe76 .elementor-widget-button .elementor-button {
    background-color: #188bf6 !important;
    color: #ffffff !important;
    border-color: #188bf6 !important;
}
.page-id-133 .elementor-element-53afe76 .e-con.e-child .elementor-button:hover,
.page-id-133 .elementor-element-53afe76 .elementor-widget-button .elementor-button:hover {
    background-color: #0d47a1 !important;
    box-shadow: 0 4px 12px rgba(13, 71, 161, 0.4) !important;
}

/* === Homepage: Fix whitespace in content+form section === */
.page-id-133 [data-id="935bcdd"] {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

/* === MOBILE MENU: Full-screen overlay + All mobile fixes === */
/* Works with Elementor's native toggle - no :has() needed */
@media (max-width: 1024px) {
    /* Header bar above overlay */
    [data-elementor-id="57"] > .elementor-container {
        position: relative !important;
        z-index: 10001 !important;
        background: #ffffff !important;
    }
}

/* Mobile-specific: hide Let's Talk, show phone icon, center logo */
@media (max-width: 767px) {
    /* Center logo on mobile */
/* removed old logo rule */

}

/* === DESKTOP FIXES === */

/* H2s on homepage match H1 font weight */
.page-id-133 .elementor-widget-heading .elementor-heading-title {
    font-weight: 700 !important;
}

/* Hero CTA phone button - icon closer to text */
.elementor-element-19cd790 .elementor-button-icon {
    margin-right: -3px !important;
}
.elementor-133 .elementor-element.elementor-element-19cd790 .elementor-button-icon i,
.elementor-133 .elementor-element.elementor-element-19cd790 .elementor-button-icon svg {
    font-size: 16px !important;
    width: 16px !important;
    height: 16px !important;
}
.elementor-element-19cd790 .elementor-button-content-wrapper {
    gap: 6px !important;
}

/* Contact page subtitle - visible color and centered */


/* Fix: Contact page subtitle full-width so text-align center works */
.page-id-90 .elementor-element-5672864 {
    width: 100% !important;
}

/* Fix: Footer headings invisible (dark blue on dark blue bg) - change to white */
.elementor-location-footer .elementor-element-4a6a765 .elementor-heading-title,
.elementor-location-footer .elementor-element-2f1c01d .elementor-heading-title {
    color: #ffffff !important;
}

/* "Let's Talk" menu button - pill style */
@media (min-width: 1025px) {
  li.menu-cta-button {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  li.menu-cta-button {
    padding: 0px 15% !important;
    margin-top: 30px !important;
    margin-bottom: 15px !important;
  }
  li.menu-cta-button > a {
    justify-content: center !important;
    text-align: center !important;
    border-radius: 8px !important;
    background: #0d47a1 !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    padding: 14px 24px !important;
    display: flex !important;
    width: 100% !important;
  }
  li.menu-cta-button > a:hover {
    background: #1565c0 !important;
  }
}
/* Mobile header: logo LEFT, hamburger RIGHT */
@media (max-width: 1024px) {
  .elementor-element-5a37cb27 > .e-con-inner {
    justify-content: space-between !important;
    align-items: center !important;
  }
  .elementor-element-6b3edf5b {
    width: auto !important;
    flex-shrink: 0 !important;
  }
  .elementor-element-449ce4ce {
    width: auto !important;
    flex-shrink: 0 !important;
    padding-right: 0 !important;
  }
}
/* Desktop nav link spacing - tighter */
.elementor-element-7f14b7c5 .elementor-nav-menu > li > a {
  padding-left: 10px !important;
  padding-right: 10px !important;
}
.elementor-element-7f14b7c5 .elementor-nav-menu > li {
  margin-right: 8px !important;
}
/* Homepage form section: rebalance columns */
.elementor-133 .elementor-element.elementor-element-935bcdd {
  --width: 55% !important;
  width: 55% !important;
}
.elementor-133 .elementor-element.elementor-element-72090f4 {
  --width: 45% !important;
  width: 45% !important;
}

/* Homepage: Right padding on "Ready to Stop Wasting Money" text column */
.elementor-133 .elementor-element.elementor-element-935bcdd {
  padding-right: 40px !important;
}

/* Homepage: Larger FAQ accordion headings */
.elementor-133 .elementor-element.elementor-element-d0e3cda .elementor-tab-title a {
  font-size: 22px !important;
  line-height: 1.3 !important;
}

/* ===== Blog posts: Full-width content on mobile ===== */
@media (max-width: 767px) {
  .single-post [data-elementor-type="wp-post"] .e-con-boxed > .e-con-inner > .e-con.e-child {
    --width: 100% !important;
    width: 100% !important;
  }
}

/* ===== Contact/Let's Talk page fixes ===== */
/* More top padding between yellow line and "Let's Talk" heading */
.page-id-90 .elementor-90 .elementor-element.elementor-element-933bcf5.e-con {
    padding-top: 70px !important;
    padding-block-start: 70px !important;
    --padding-top: 70px !important;
    --padding-block-start: 70px !important;
}

/* Left-align Business Hours text */
.elementor-90 .elementor-element.elementor-element-057b470,
.elementor-90 .elementor-element.elementor-element-057b470 p {
  text-align: left !important;
}

/* Fix "Why GoodPup Digital?" paragraph alignment */
.page-id-90 .elementor-location-footer .elementor-element-634140c,
.page-id-90 .elementor-location-footer .elementor-element-634140c p {
  text-align: left !important;
}
/* Fix Our Services list alignment in footer */
.page-id-90 .elementor-location-footer .elementor-icon-list-items {
  text-align: left !important;
}
.page-id-90 .elementor-location-footer .elementor-icon-list-item a {
  justify-content: flex-start !important;
}
/* Fix Our Services text alignment in footer on contact page */
.page-id-90 .elementor-location-footer .elementor-element-91ac2c4,
.page-id-90 .elementor-location-footer .elementor-element-91ac2c4 p {
  text-align: left !important;
}

/* ===== Blog post content width: match service page width ===== */
.single-post [data-elementor-type="wp-post"] > .e-con-boxed {
  max-width: 100% !important;
}

/* ===== Blog listing hero: match service page hero style ===== */
.blog .page-header .entry-title {
  font-family: Poppins, sans-serif !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  letter-spacing: -0.72px !important;
  line-height: 1 !important;
}
.blog .page-header {
  padding-top: 30px !important;
  padding-bottom: 10px !important;
}
.blog .page-header::after {
  font-family: Roboto, sans-serif !important;
}

/* Blog post: Make main container full-width to match service pages */
.single-post main.site-main {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ===== BLOG LISTING PAGE: Matching yellow gradient lines ===== */
/* Top gradient line (before heading) */
.blog .page-header {
    position: relative !important;
}
.blog .page-header::before {
    content: none !important;
    display: none !important;
}
/* Blog listing header: yellow gradient line at bottom edge */
.blog .elementor-element-5a37cb27 {
    position: relative !important;
}
.blog .elementor-element-5a37cb27::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    max-width: 1300px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent 0%, #ffd21f 8%, #ffd21f 92%, transparent 100%) !important;
    pointer-events: none !important;
    z-index: 10 !important;
}
/* Bottom gradient line: change solid border to gradient on ::after subtitle */
.blog .page-header::after {
    content: none !important;
    display: none !important;
}
/* Blog listing: style the archive description subtitle (real HTML text) */
.blog .page-header .archive-description {
    text-align: center !important;
    color: #555 !important;
    font-family: Roboto, sans-serif !important;
    font-size: 16px !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
    padding-bottom: 20px !important;
}
/* Blog listing: bottom yellow gradient line below subtitle */
.blog .page-header {
    padding-top: 50px !important;
    padding-bottom: 0 !important;
    margin-bottom: 10px !important;
}
@media (max-width: 767px) {
    .blog .page-header {
        padding-top: 25px !important;
    }
}
.blog .page-header .archive-description::after {
    content: '' !important;
    display: block !important;
    max-width: 1300px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent 0%, #ffd21f 8%, #ffd21f 92%, transparent 100%) !important;
    margin: 20px auto 0 auto !important;
}

/* ===== BLOG POST PAGES: Matching yellow gradient lines ===== */
/* Top gradient line: change solid border to gradient */
.single-post .page-header {
    border-bottom-style: solid !important;
    border-bottom-width: 3px !important;
    border-image: linear-gradient(90deg, transparent 0%, #ffd21f 8%, #ffd21f 92%, transparent 100%) 1 !important;
}
/* Bottom gradient line below hero title section */
.single-post [data-elementor-type="wp-post"] > .e-con-boxed:first-child {
    position: relative !important;
}
.single-post [data-elementor-type="wp-post"] > .e-con-boxed:first-child::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 1300px !important;
    max-width: 100% !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent 0%, #ffd21f 8%, #ffd21f 92%, transparent 100%) !important;
    z-index: 1 !important;
}

/* ===== BLOG POSTS: Remove extra sections below content ===== */

/* Hide "Share this" (Jetpack sharing) buttons on all blog posts */
.single-post .sharedaddy {
    display: none !important;
}

/* Hide "Related Services & Resources" bottom sections */
.single-post .elementor-element-5602134,
.single-post .elementor-element-4576bc9,
.single-post .elementor-element-9e15605 {
    display: none !important;
}

/* Related Articles now enabled on all blog post sidebars (headings renamed, links updated) */

/* Post 186: Related Articles now enabled (heading renamed, links updated) */

/* Post 663: Related Articles icon list no longer hidden, un-hide rule removed */

/* ===== FIX: Blog listing top yellow line - position at header bottom ===== */
/* Removed duplicate blog page-header::before full-width override */

/* ===== FIX: Blog post top yellow line - centered full-width at header bottom ===== */
/* Remove the old border-bottom approach */
.single-post .page-header {
    border-bottom: none !important;
    border-image: none !important;
    position: relative !important;
    overflow: visible !important;
}
/* Add centered full-width gradient line via ::before */
/* Blog post: top yellow line moved to header bottom (matches service pages) */
.single-post .page-header::before {
    content: none !important;
    display: none !important;
}
/* Blog post header: yellow gradient line at bottom edge */
.single-post .elementor-element-5a37cb27 {
    position: relative !important;
}
.single-post .elementor-element-5a37cb27::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    max-width: 1300px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent 0%, #ffd21f 8%, #ffd21f 92%, transparent 100%) !important;
    pointer-events: none !important;
    z-index: 10 !important;
}

/* ===== FIX: Home page header padding - match other pages ===== */
.home .elementor-element-5a37cb27 > .e-con-inner {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

/* ===== FIX: Phone container white bg on blog listing page ===== */
.elementor-element-43c7002 {
    width: auto !important;
    flex-shrink: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* ===== FIX: Footer hitching on blog pages - remove all transitions ===== */
/* ===== FIX: Footer hitching on blog posts ===== */
/* Disable all transitions to prevent visual jumps */
.single-post .elementor-element,
.single-post .e-con,
.single-post .elementor-sticky--effects,
.single-post .elementor-sticky__spacer,
.single-post table tr,
.single-post table td,
.single-post table th,
.single-post table strong {
    transition: none !important;
}
/* Override Elementor JS sticky with pure CSS sticky */
.single-post .elementor-element-d327761 {
    position: relative !important;
    align-self: flex-start !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    inset-inline-start: auto !important;
    inset: auto !important;
}
/* Hide Elementor spacer that causes layout shifts */
.single-post .elementor-sticky__spacer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}
/* Prevent Elementor from changing sidebar to fixed/absolute */
.single-post .elementor-element-d327761.elementor-sticky--effects {
    position: relative !important;
    width: var(--width) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    inset-inline-start: auto !important;
    inset: auto !important;
}
.single-post .elementor-element-d327761.elementor-sticky--active {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    inset-inline-start: auto !important;
    inset: auto !important;
    width: var(--width) !important;
}

/* ===== FIX: Phone container bg override - needs higher specificity ===== */
.blog .e-con > .elementor-element.elementor-element-43c7002 {
    background: transparent !important;
    background-color: transparent !important;
}

/* ===== Service area pages: Blue H2 headings ===== */
.page-id-657 h2,
.page-id-677 h2,
.page-id-678 h2,
.page-id-679 h2,
.page-id-680 h2 {
    color: #0d47a1 !important;
}/* ===== Contact page: reduce white gap before footer ===== */
.page-id-90 .elementor-element-fc993f2 {
    padding-bottom: 20px !important;
    padding-left: max(30px, calc(50% - 600px)) !important;
    padding-right: max(30px, calc(50% - 600px)) !important;
}
.page-id-90 .elementor-element-fc993f2 .e-con-inner {
    padding-bottom: 10px !important;
}

/* Services page: spacing between header and H2 */
/* Spacing between header and hero on /services/ */
/* /services/ page cards section spacing */
.page-id-40 .elementor-element-92ecee2 {
    padding-top: 20px !important;
}

/* ===== Industry pages: header yellow line + blue H2s ===== */
.page-id-668 .elementor-element-5a37cb27,
.page-id-669 .elementor-element-5a37cb27,
.page-id-670 .elementor-element-5a37cb27,
.page-id-671 .elementor-element-5a37cb27,
.page-id-672 .elementor-element-5a37cb27,
.page-id-673 .elementor-element-5a37cb27,
.page-id-674 .elementor-element-5a37cb27,
.page-id-675 .elementor-element-5a37cb27 {
    position: relative !important;
}
.page-id-668 .elementor-element-5a37cb27::after,
.page-id-669 .elementor-element-5a37cb27::after,
.page-id-670 .elementor-element-5a37cb27::after,
.page-id-671 .elementor-element-5a37cb27::after,
.page-id-672 .elementor-element-5a37cb27::after,
.page-id-673 .elementor-element-5a37cb27::after,
.page-id-674 .elementor-element-5a37cb27::after,
.page-id-675 .elementor-element-5a37cb27::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    max-width: 1300px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent 0%, #ffd21f 8%, #ffd21f 92%, transparent 100%) !important;
    pointer-events: none !important;
    z-index: 10 !important;
}
.page-id-668 h2,
.page-id-669 h2,
.page-id-670 h2,
.page-id-671 h2,
.page-id-672 h2,
.page-id-673 h2,
.page-id-674 h2,
.page-id-675 h2,
.page-id-1816 h2 {
    color: #0d47a1 !important;
}

/* Industry pages: replace full-width hero border with faded gradient line */
.page-id-668 [data-elementor-type="wp-page"] > .e-con:first-child,
.page-id-669 [data-elementor-type="wp-page"] > .e-con:first-child,
.page-id-670 [data-elementor-type="wp-page"] > .e-con:first-child,
.page-id-671 [data-elementor-type="wp-page"] > .e-con:first-child,
.page-id-672 [data-elementor-type="wp-page"] > .e-con:first-child,
.page-id-673 [data-elementor-type="wp-page"] > .e-con:first-child,
.page-id-674 [data-elementor-type="wp-page"] > .e-con:first-child,
.page-id-675 [data-elementor-type="wp-page"] > .e-con:first-child {
    border-bottom: none !important;
    position: relative !important;
}
.page-id-668 [data-elementor-type="wp-page"] > .e-con:first-child::after,
.page-id-669 [data-elementor-type="wp-page"] > .e-con:first-child::after,
.page-id-670 [data-elementor-type="wp-page"] > .e-con:first-child::after,
.page-id-671 [data-elementor-type="wp-page"] > .e-con:first-child::after,
.page-id-672 [data-elementor-type="wp-page"] > .e-con:first-child::after,
.page-id-673 [data-elementor-type="wp-page"] > .e-con:first-child::after,
.page-id-674 [data-elementor-type="wp-page"] > .e-con:first-child::after,
.page-id-675 [data-elementor-type="wp-page"] > .e-con:first-child::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    max-width: 1300px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent 0%, #ffd21f 8%, #ffd21f 92%, transparent 100%) !important;
    pointer-events: none !important;
    z-index: 10 !important;
}

/* /services/ page: match title font size to service pages at all breakpoints */
@media (max-width: 1024px) {
    .page-id-40 .elementor-element-442b387 .elementor-heading-title {
        font-size: 36px !important;
    }
}
@media (max-width: 767px) {
    .page-id-40 .elementor-element-442b387 .elementor-heading-title {
        font-size: 28px !important;
    }
    .page-id-40 .elementor-element-aa5cfe3 .elementor-heading-title {
        font-size: 24px !important;
    }
}
/* Hide Elementor sticky spacer on blog posts */
.single-post .elementor-sticky__spacer {
    display: none !important;
}

/* ===== Homepage section spacing ===== */
/* Gap between hero and "Services We Provide" */
.page-id-133 .elementor-element-4debe66 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}
/* Gap between "Everything You Need to Succeed" subtitle and cards */
.page-id-133 .elementor-element-ad6fc5e {
    padding-bottom: 20px !important;
}
/* "We Know Your Industry" section */
.page-id-133 .elementor-element-56a1181 {
    padding-top: 60px !important;
    padding-bottom: 40px !important;
}
/* "Why Good Pup Digital?" section */
.page-id-133 .elementor-element-ad2ea4f {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}
/* CTA text section */
.page-id-133 .elementor-element-b5c7484 {
    padding-top: 60px !important;
}
/* Contact/form section */
.page-id-133 .elementor-element-eae2f89 {
    padding-top: 40px !important;
    padding-bottom: 60px !important;
}
/* FAQ section */
.page-id-133 .elementor-element-a92815b {
    padding-top: 80px !important;
}

/* Homepage mobile: contact section spacing */
@media (max-width: 767px) {
    .page-id-133 .elementor-element.elementor-element-eae2f89.e-con {
        padding: 30px 15px !important;
        padding-inline: 15px !important;
        --flex-direction: column !important;
    }
    .page-id-133 .elementor-element.elementor-element-eae2f89 > .e-con-inner {
        --flex-direction: column !important;
        flex-direction: column !important;
        flex-flow: column wrap !important;
        gap: 30px !important;
        align-items: stretch !important;
        width: 100% !important;
    }
    .page-id-133 .elementor-element.elementor-element-935bcdd.e-con {
        padding: 0px !important;
        text-align: center !important;
        --text-align: center !important;
        width: 100% !important;
        max-width: 100% !important;
        --width: 100% !important;
        flex: 0 0 100% !important;
    }
    .page-id-133 .elementor-element.elementor-element-72090f4.e-con {
        padding: 0 !important;
        padding-inline: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        --width: 100% !important;
        flex: 0 0 100% !important;
    }
    .page-id-133 .elementor-element.elementor-element-42ac164 {
        text-align: center !important;
        --text-align: center !important;
    }
}

/* Industry cards: clickable hover effect */
.page-id-133 .elementor-element-eb3099e,
.page-id-133 .elementor-element-cba342e,
.page-id-133 .elementor-element-c23a962,
.page-id-133 .elementor-element-73a1bce,
.page-id-133 .elementor-element-ed51260,
.page-id-133 .elementor-element-fdbb382,
.page-id-133 .elementor-element-3040a78,
.page-id-133 .elementor-element-cf50111 {
    cursor: pointer !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.page-id-133 .elementor-element-eb3099e:hover,
.page-id-133 .elementor-element-cba342e:hover,
.page-id-133 .elementor-element-c23a962:hover,
.page-id-133 .elementor-element-73a1bce:hover,
.page-id-133 .elementor-element-ed51260:hover,
.page-id-133 .elementor-element-fdbb382:hover,
.page-id-133 .elementor-element-3040a78:hover,
.page-id-133 .elementor-element-cf50111:hover {
    transform: scale(1.03) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.3) !important;
}
/* Homepage footer internal top spacing to match service pages */
.page-id-133 .elementor-location-footer .elementor-element-8f7ffd4 > .e-con-inner {
    padding-top: 50px !important;
    padding-bottom: 40px !important;
}
.page-id-133 .elementor-location-footer .elementor-element-73f2b01 > .e-con-inner {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
}
.page-id-133 .elementor-location-footer .elementor-element-56e5cd9 > .e-con-inner {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

/* /services/ card titles bigger on mobile */
@media (max-width: 767px) {
    .page-id-40 .elementor-element-08b0929 h3.elementor-heading-title {
        font-size: 24px !important;
    }
}

/* Blog post hero spacing - hide redundant WP page-header, adjust padding */
.single-post .page-header {
    display: none !important;
}

/* Contact page mobile: match form width to homepage */
@media (max-width: 767px) {
    .page-id-90 .elementor-element.elementor-element-fc993f2.e-con {
        padding-left: 15px !important;
        padding-right: 15px !important;
        padding-inline-start: 15px !important;
        padding-inline-end: 15px !important;
    }
    .page-id-90 .elementor-element.elementor-element-41d7c4b.e-con {
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-inline-start: 0 !important;
        padding-inline-end: 0 !important;
        width: 100% !important;
        --width: 100% !important;
    }
    .page-id-90 .elementor-element.elementor-element-31b91ad.e-con {
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-inline-start: 0 !important;
        padding-inline-end: 0 !important;
        width: 100% !important;
        --width: 100% !important;
    }
}

/* Push Learn More buttons to bottom of service cards for alignment */
.page-id-133 .elementor-element-53afe76 .e-child .elementor-widget-button {
  margin-top: auto !important;
}

/* Contact page form container mobile padding */
@media (max-width: 767px) {
  .page-id-90 .elementor-element.elementor-element-41d7c4b.e-con {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* Keep phone/email link colors on contact page */
.page-id-90 .elementor-element-568966c a,
.page-id-90 .elementor-element-8f83a69 a {
  color: inherit !important;
  text-decoration: none !important;
}
.page-id-90 .elementor-element-568966c a:hover,
.page-id-90 .elementor-element-8f83a69 a:hover {
  text-decoration: underline !important;
}
/* Contact page - form and info side by side */
.page-id-90 .elementor-element-41d7c4b {
  --width: 55% !important;
  width: 55% !important;
}
.page-id-90 .elementor-element-31b91ad {
  --width: 45% !important;
  width: 45% !important;
}

/* Google Shopping Ads page - match service page template styling */
.page-id-1354 .elementor-element-f19cf33 h2 {
  color: #0d47a1 !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin-top: 35px !important;
  margin-bottom: 15px !important;
}
.page-id-1354 .elementor-element-f19cf33 h3 {
  color: #0d47a1 !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  margin-top: 25px !important;
  margin-bottom: 10px !important;
}
.page-id-1354 .elementor-element-f19cf33 p {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
}
.page-id-1354 .elementor-element-f19cf33 ul {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
  padding-left: 25px !important;
}
.page-id-1354 .elementor-element-f19cf33 li {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
  margin-bottom: 5px !important;
}
.page-id-1354 .elementor-element-f19cf33 ol {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
  padding-left: 25px !important;
}
.page-id-1354 .elementor-element-f19cf33 ol li {
  margin-bottom: 10px !important;
}
/* Google Shopping Ads page - inline buttons match Elementor button style */
.page-id-1354 .elementor-element-f19cf33 .elementor-button {
  background-color: #188bf6 !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 12px 24px !important;
  border-radius: 4px !important;
  display: inline-block !important;
  text-decoration: none !important;
  text-align: center !important;
  line-height: 1 !important;
  letter-spacing: 0px !important;
  fill: #ffffff !important;
  transition: all 0.3s !important;
}
.page-id-1354 .elementor-element-f19cf33 .elementor-button:hover {
  background-color: #0d47a1 !important;
  color: #ffffff !important;
}

/* Shopping page hero: remove border-bottom and add proper yellow gradient line */


/* Offline Conversion Tracking page - body content styling */
.page-id-1537 .elementor-element-baf5rkg h2 {
  color: #0d47a1 !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.56px !important;
  margin-top: 35px !important;
  margin-bottom: 15px !important;
}
.page-id-1537 .elementor-element-baf5rkg h3 {
  color: #0d47a1 !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  margin-top: 25px !important;
  margin-bottom: 10px !important;
}
.page-id-1537 .elementor-element-baf5rkg p {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
}
.page-id-1537 .elementor-element-baf5rkg ul {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
  padding-left: 25px !important;
}
.page-id-1537 .elementor-element-baf5rkg li {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
  margin-bottom: 5px !important;
}
.page-id-1537 .elementor-element-baf5rkg ol {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
  padding-left: 25px !important;
}
.page-id-1537 .elementor-element-baf5rkg ol li {
  margin-bottom: 10px !important;
}
.page-id-1537 .elementor-element-baf5rkg .elementor-button {
  background-color: #188bf6 !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 12px 24px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  display: inline-block !important;
}


/* LSA page - body content styling */
.page-id-1608 .elementor-element-f1b54e2 h2 {
  color: #0d47a1 !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.56px !important;
  margin-top: 35px !important;
  margin-bottom: 15px !important;
}
.page-id-1608 .elementor-element-f1b54e2 h3 {
  color: #0d47a1 !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  margin-top: 25px !important;
  margin-bottom: 10px !important;
}
.page-id-1608 .elementor-element-f1b54e2 p {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
}
.page-id-1608 .elementor-element-f1b54e2 ul {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
  padding-left: 25px !important;
}
.page-id-1608 .elementor-element-f1b54e2 li {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
  margin-bottom: 5px !important;
}
.page-id-1608 .elementor-element-f1b54e2 ol {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
  padding-left: 25px !important;
}
.page-id-1608 .elementor-element-f1b54e2 ol li {
  margin-bottom: 10px !important;
}
.page-id-1608 .elementor-element-f1b54e2 .elementor-button {
  background-color: #188bf6 !important;
  color: #ffffff !important;
  padding: 12px 28px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  display: inline-block !important;
}

/* Upper footer nav links - tight spacing */
.elementor-element-91ac2c4 p {
  margin: 0 0 8px 0 !important;
}

/* Homepage desktop: subheadline styling + spacing */
.page-id-133 .elementor-element-ad6fc5e .elementor-heading-title,
.page-id-133 .elementor-element-dbe75cd .elementor-heading-title {
  font-weight: 400 !important;
  font-size: 18px !important;
}
.page-id-133 .elementor-element-ad6fc5e,
.page-id-133 .elementor-element-dbe75cd {
  padding-bottom: 20px;
  margin-top: -8px !important;
}

/* Homepage mobile: H2s + subheadlines + spacing */
@media (max-width: 767px) {
  /* H2s: 30px bold */
  .page-id-133 .elementor-widget-heading h2.elementor-heading-title {
    font-size: 30px !important;
    font-weight: 700 !important;
  }
  /* Subheadlines: 18px regular, pulled closer to H2 */
  .page-id-133 .elementor-element-ad6fc5e,
  .page-id-133 .elementor-element-dbe75cd {
    margin-top: -8px !important;
    padding-bottom: 10px !important;
  }
  .page-id-133 .elementor-element-ad6fc5e .elementor-heading-title,
  .page-id-133 .elementor-element-dbe75cd .elementor-heading-title {
    font-size: 18px !important;
    font-weight: 400 !important;
  }
}
/* Global mobile: H1 padding to match body content across all pages (not homepage) */
@media (max-width: 767px) {
  body:not(.page-id-133) .elementor-widget-heading h1.elementor-heading-title {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* Homepage: "Ready to Stop" section - align left column content with "Why GPD" section */
.page-id-133 .elementor-element-935bcdd {
  padding-left: 0px !important;
}
/* Hide blue "Is This Right" CTA block on Home Services page */

/* Ready to Stop paragraph styling - match WhyGPD */
.page-id-133 .elementor-element.elementor-element-6b4227b p {
    color: #555 !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
}




/* Prevent tables from causing horizontal page overflow on mobile */
@media (max-width: 767px) {
  .elementor-widget-text-editor table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }
  .elementor-widget-text-editor .elementor-widget-container {
    overflow-x: hidden;
  }
}

/* Services page H1 container - match service page spacing */
body.page-id-40 > .elementor[data-elementor-type="wp-page"] > .e-con:first-child {
  padding-top: 35px !important;
  padding-bottom: 30px !important;
}

/* ===== BUTTON ANIMATIONS ===== */
@keyframes subtlePulse {
  0% { transform: scale(1); box-shadow: 0 4px 15px rgba(0,0,0,0.2); }
  50% { transform: scale(1.03); box-shadow: 0 6px 20px rgba(0,0,0,0.3); }
  100% { transform: scale(1); box-shadow: 0 4px 15px rgba(0,0,0,0.2); }
}

/* Hero CTA buttons - pulse animation */
.elementor-element-19cd790 .elementor-button,
.elementor-element-91e0ea7 .elementor-button {
  animation: subtlePulse 2.5s ease-in-out infinite;
}

.elementor-element-19cd790 .elementor-button:hover,
.elementor-element-91e0ea7 .elementor-button:hover {
  animation: none;
}

/* ALL Elementor buttons - consistent hover */
.elementor-button-wrapper .elementor-button {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.elementor-button-wrapper .elementor-button:hover {
	
	
	}
  transform: scale(1.05);
  box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}

/* Footer section titles - yellow override (must beat [data-elementor-type="footer"] p:not([style*="bold"]) rule) */
[data-elementor-type="footer"] p:not([style*="bold"])[style*="ffd21f"] {
  color: #ffd21f !important;
}



/* ===== BLOG ARCHIVE NAV LINK COLOR ===== */
.blog .nav-links a,
.archive .nav-links a {
  color: #188bf6 !important;
  text-decoration: none;
}

.blog .nav-links a:hover,
.archive .nav-links a:hover {
  color: #0d47a1 !important;
  text-decoration: underline;
}
/* ===== BLOG TABLE ALIGNMENT ===== */




.elementor-widget-text-editor table th {
  background-color: #0d47a1;
  color: white;
  font-weight: 600;
}

.elementor-widget-text-editor table tr:nth-child(even) {
  background-color: #f8f9fa;
}

/* ===== TABLE HEADER GRADIENT ===== */




.elementor-widget-text-editor table td,
.elementor-widget-text-editor table th {
  padding: 10px 14px;
  border: 1px solid #e0e0e0;
  text-align: left;
}

.elementor-widget-text-editor table tr:nth-child(even) {
  background-color: #f8f9fa;
}



/* ===== FOOTER YELLOW HEADERS ===== */
.elementor-element-859a00c span[style*="ffd21f"] {
  color: #ffd21f !important;
  font-weight: 600 !important;
}

/* Footer 4-column widget full width */
.elementor-element-859a00c {
  width: 100% !important;
}

/* Footer columns stack on mobile */
@media (max-width: 767px) {
  .elementor-element-859a00c div[style*="display: flex"] {
    flex-direction: column !important;
  }
}
/* ===== HIDE WP PAGE TITLE ON SEO PAGES ===== */
.page-id-3348 .page-header,
.page-id-3359 .page-header,
.page-id-3364 .page-header,
.page-id-3369 .page-header,
.page-id-3374 .page-header,
.page-id-3379 .page-header,
.page-id-3387 .page-header,
.page-id-3392 .page-header,
.page-id-3397 .page-header,
.page-id-3402 .page-header {
  display: none !important;
}

/* ===== FOOTER LINK SIZE ===== */
.elementor-element-859a00c p,
.elementor-element-859a00c a {
  font-size: 13px !important;
  line-height: 1.5 !important;
}
.elementor-element-859a00c p > span {
  font-size: 15px !important;
}

/* Footer link/text sizing - match midwestaudiovisual.com */
.elementor-location-footer .elementor-element-859a00c p,
.elementor-location-footer .elementor-element-859a00c a {
  font-size: 15px !important;
  line-height: 22px !important;
}
.elementor-location-footer .elementor-element-859a00c p[style*="color: #ffd21f"] {
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
}

/* Upper footer section sizing - match lower footer */
.elementor-location-footer p,
.elementor-location-footer a,
.elementor-location-footer li {
  font-size: 15px !important;
  line-height: 22px !important;
}
.elementor-location-footer h2,
.elementor-location-footer h3,
.elementor-location-footer h4,
.elementor-location-footer .elementor-heading-title {
  font-size: 18px !important;
  line-height: 26px !important;
}

/* Hide WP title on SEO pages (Elementor provides its own H1) */
.page-id-3348 .entry-title,
.page-id-3359 .entry-title,
.page-id-3364 .entry-title,
.page-id-3369 .entry-title,
.page-id-3374 .entry-title,
.page-id-3379 .entry-title,
.page-id-3387 .entry-title,
.page-id-3392 .entry-title,
.page-id-3397 .entry-title,
.page-id-3402 .entry-title {
  display: none !important;
}

/* ===== NAV DROPDOWN - INSTANT HOVER + SUB-HEADERS ===== */
/* Instant hover - no delay */
.elementor-nav-menu .menu-item-has-children:hover > .sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transition: opacity 0.15s ease, visibility 0s !important;
}
.elementor-nav-menu .menu-item-has-children > .sub-menu {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease, visibility 0s 0.15s !important;
}

/* Sub-header labels (Paid Advertising, SEO & Web) - not clickable */
.sub-menu > .menu-item > a[href="#"] {
  pointer-events: none !important;
  cursor: default !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #0d47a1 !important;
  padding-top: 12px !important;
  padding-bottom: 4px !important;
  border-bottom: none !important;
  margin-top: 8px !important;
}
.sub-menu > .menu-item:first-child > a[href="#"] {
  margin-top: 0 !important;
}

/* Sub-sub items (the actual service links) - slightly indented */
.sub-menu .sub-menu a {
  padding-left: 25px !important;
  font-size: 14px !important;
}

/* Mobile: stack vertically, sub-headers visible */
@media (max-width: 1024px) {
  .sub-menu > .menu-item > a[href="#"] {
    font-size: 11px !important;
    margin-top: 10px !important;
    padding-bottom: 2px !important;
  }
  .sub-menu .sub-menu a {
    padding-left: 30px !important;
  }
}

/* Remove broken blog link from footer */
a[href="/blog/google-ads-quality-score-ad-rank/"] {
	  display: none !important;
}
}
/* ===== TABLE STYLING (liquid glass) ===== */
.elementor-widget-text-editor figure.wp-block-table {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
figure.wp-block-table {
  margin: 0 !important;
}
.elementor-widget-text-editor figure.wp-block-table table,
.elementor-widget-text-editor table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background-color: rgba(255,255,255,0.45) !important;
  border: 1px solid rgba(255,255,255,0.6) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.06) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}
.elementor-widget-text-editor table thead th {
  padding: 14px 20px !important;
  text-align: left !important;
  font-weight: 700 !important;
  color: #0d47a1 !important;
  font-size: 15px !important;
  background-color: rgba(240,245,255,0.55) !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  border-right: none !important;
  border-left: none !important;
  border-top: none !important;
}
.elementor-widget-text-editor table tbody td {
  padding: 12px 20px !important;
  color: #1d2e3b !important;
  background-color: transparent !important;
  border-bottom: 1px solid rgba(0,0,0,0.05) !important;
  border-right: none !important;
  border-left: none !important;
  border-top: none !important;
}
.elementor-widget-text-editor table tbody tr:nth-child(even) td {
  background-color: rgba(248,249,250,0.4) !important;
}
.elementor-widget-text-editor table tbody tr:last-child td {
  border-bottom: none !important;
}
.elementor-widget-text-editor table th,
.elementor-widget-text-editor table td {
  padding: 12px 20px !important;
  border: none !important;
  text-align: left !important;
}
/* ===== BLOG PAGINATION LINKS ===== */
.pagination a,
.nav-next a,
.nav-previous a {
  color: #188bf6 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
.pagination a:hover,
.nav-next a:hover,
.nav-previous a:hover {
  color: #0d47a1 !important;
}
/* Mobile nav dropdown: clean white, no border, no gap */
.elementor-nav-menu--dropdown.elementor-nav-menu__container {
  border: none !important;
  background-color: #ffffff !important;
  margin-top: 0 !important;
}

/* ===== STICKY HEADER ===== */
.elementor-57 {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    width: 100% !important;
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.3s ease;
}





/* === Auto Repair Landing Page (4150) - Complete Styles === */

/* Base */
.page-id-4150 { font-family: 'DM Sans', sans-serif !important; }
.page-id-4150 .elementor { max-width: 100%; }

/* All parent sections: boxed content */
.page-id-4150 .elementor > .e-con.e-parent {
  max-width: 100% !important;
  padding: 0 20px !important;
}
.page-id-4150 .elementor > .e-con.e-parent > .e-con-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 40px 0 !important;
}

/* ---- HEADER (29c9929) ---- */
.page-id-4150 .elementor-element-29c9929 {
  background: #ffffff !important;
  border-bottom: 1px solid #e0e0e0 !important;
  padding: 0 20px !important;
}
body.page-id-4150 .elementor > .elementor-element-29c9929.e-con.e-parent > .e-con-inner {
  padding: 12px 20px !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 20px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
.page-id-4150 .elementor-element-29c9929 img {
  max-height: 60px !important;
  width: auto !important;
}
.page-id-4150 .elementor-element-29c9929 .elementor-button {
  background: #ffd21f !important;
  color: #1d2e3b !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  padding: 10px 22px !important;
  font-size: 15px !important;
  text-decoration: none !important;
}

/* ---- HERO (id=hero) ---- */
.page-id-4150 .elementor-element-hero {
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%) !important;
}
body.page-id-4150 .elementor > .elementor-element-hero.e-con.e-parent > .e-con-inner {
  padding: 35px 0 25px 0 !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 40px !important;
  align-items: flex-start !important;
}

/* Hero left column */
.page-id-4150 .elementor-element-a29f37d {
  width: 55% !important;
  flex: 0 0 55% !important;
  min-width: 0 !important;
}

/* Hero right column */
.page-id-4150 .elementor-element-f5e3c9f {
  width: 40% !important;
  flex: 0 0 40% !important;
  min-width: 0 !important;
}

/* H1 */
body.page-id-4150 .elementor .elementor-element-58f004a h1.elementor-heading-title,
body.page-id-4150 .elementor .elementor-element-58f004a .elementor-heading-title {
  color: #1d2e3b !important;
  font-size: 38px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

/* Subtitle */
.page-id-4150 .elementor-element-f0520a6,
.page-id-4150 .elementor-element-f0520a6 p {
  color: #555555 !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  text-align: left !important;
}

/* Icon list (checkmarks) */
.page-id-4150 .elementor-element-1093cd3 .elementor-icon-list-text {
  color: #333333 !important;
  font-size: 16px !important;
}
.page-id-4150 .elementor-element-1093cd3 .elementor-icon-list-icon i,
.page-id-4150 .elementor-element-1093cd3 .elementor-icon-list-icon svg {
  color: #4caf50 !important;
  fill: #4caf50 !important;
}
.page-id-4150 .elementor-element-1093cd3 .elementor-icon-list-text strong {
  color: #1d2e3b !important;
  font-weight: 700 !important;
}

/* Ad credits callout */
.page-id-4150 .elementor-element-0beb15a,
.page-id-4150 .elementor-element-0beb15a p {
  color: #666666 !important;
  font-size: 15px !important;
  font-style: italic !important;
}
.page-id-4150 .elementor-element-0beb15a strong,
.page-id-4150 .elementor-element-0beb15a em:first-child {
  color: #0d47a1 !important;
}

/* ---- FORM BOX ---- */
.page-id-4150 .elementor-element-f5e3c9f {
  background: #0d47a1 !important;
  border-radius: 12px !important;
  padding: 30px 25px !important;
}

/* Form heading */
.page-id-4150 .elementor-element-e83eae9 h2,
.page-id-4150 .elementor-element-e83eae9 .elementor-heading-title {
  color: #ffffff !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-bottom: 5px !important;
}

/* Form subtitle */
.page-id-4150 .elementor-element-39eeb78,
.page-id-4150 .elementor-element-39eeb78 p {
  color: rgba(255,255,255,0.8) !important;
  font-size: 14px !important;
  text-align: center !important;
  margin-bottom: 15px !important;
}

/* Reassurance text */
.page-id-4150 .elementor-element-9c75c99,
.page-id-4150 .elementor-element-9c75c99 p {
  color: rgba(255,255,255,0.7) !important;
  font-size: 13px !important;
  text-align: center !important;
  font-style: italic !important;
  margin-top: 10px !important;
}

/* ---- TRUST BAR (fb80da2) ---- */
.page-id-4150 .elementor-element-fb80da2 {
  background: #f0f4f8 !important;
}
body.page-id-4150 .elementor > .elementor-element-fb80da2.e-con.e-parent > .e-con-inner {
  padding: 20px 0 !important;
  flex-direction: row !important;
  justify-content: center !important;
  gap: 40px !important;
  align-items: center !important;
}
.page-id-4150 .elementor-element-fb80da2 .elementor-icon-list-text {
  color: #1d2e3b !important;
  font-weight: 600 !important;
  font-size: 15px !important;
}
.page-id-4150 .elementor-element-fb80da2 .elementor-icon-list-icon i,
.page-id-4150 .elementor-element-fb80da2 .elementor-icon-list-icon svg {
  color: #0d47a1 !important;
  fill: #0d47a1 !important;
  font-size: 22px !important;
}

/* ---- BENEFITS (7a73818) ---- */
.page-id-4150 .elementor-element-7a73818 {
  background: #ffffff !important;
}
.page-id-4150 .elementor-element-7a73818 > .e-con-inner {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 40px !important;
  align-items: flex-start !important;
}
.page-id-4150 .elementor-element-487f80c {
  width: 58% !important;
  flex: 0 0 58% !important;
}
.page-id-4150 .elementor-element-d06d597 {
  width: 38% !important;
  flex: 0 0 38% !important;
}

/* Benefits heading */
.page-id-4150 .elementor-element-7a73818 h2 {
  color: #0d47a1 !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  margin-bottom: 20px !important;
}

/* Benefits icon list */
.page-id-4150 .elementor-element-487f80c .elementor-icon-list-text {
  color: #333 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}
.page-id-4150 .elementor-element-487f80c .elementor-icon-list-text strong {
  color: #1d2e3b !important;
}
.page-id-4150 .elementor-element-487f80c .elementor-icon-list-icon i,
.page-id-4150 .elementor-element-487f80c .elementor-icon-list-icon svg {
  color: #4caf50 !important;
  fill: #4caf50 !important;
}

/* Video placeholder */
.page-id-4150 .elementor-element-d06d597 {
  background: #f0f4f8 !important;
  border-radius: 12px !important;
  padding: 30px !important;
  text-align: center !important;
}

/* ---- MISTAKES (f3c8519) ---- */
.page-id-4150 .elementor-element-f3c8519 {
  background: #f8fafc !important;
}
.page-id-4150 .elementor-element-f3c8519 h2 {
  color: #0d47a1 !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  margin-bottom: 20px !important;
}
.page-id-4150 .elementor-element-f3c8519 .elementor-icon-list-text {
  color: #333 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}
.page-id-4150 .elementor-element-f3c8519 .elementor-icon-list-text strong {
  color: #1d2e3b !important;
}
.page-id-4150 .elementor-element-f3c8519 .elementor-icon-list-icon i,
.page-id-4150 .elementor-element-f3c8519 .elementor-icon-list-icon svg {
  color: #e53935 !important;
  fill: #e53935 !important;
}
/* Mistakes CTA button */
.page-id-4150 .elementor-element-f3c8519 .elementor-button {
  background: #188bf6 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 14px 30px !important;
  border-radius: 6px !important;
}

/* ---- HOW IT WORKS (f7cbe52) ---- */
.page-id-4150 .elementor-element-f7cbe52 {
  background: #ffffff !important;
}
.page-id-4150 .elementor-element-f7cbe52 h2 {
  color: #0d47a1 !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-bottom: 10px !important;
}

/* Steps row */
.page-id-4150 .elementor-element-fb14539 {
  flex-direction: row !important;
  gap: 30px !important;
}
.page-id-4150 .elementor-element-b73c03f,
.page-id-4150 .elementor-element-fec7bc3,
.page-id-4150 .elementor-element-1ee46c0 {
  flex: 1 !important;
  text-align: center !important;
  padding: 25px !important;
  background: #f0f4f8 !important;
  border-radius: 12px !important;
}
.page-id-4150 .elementor-element-f7cbe52 h3 {
  color: #0d47a1 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
}
.page-id-4150 .elementor-element-f7cbe52 .elementor-icon i,
.page-id-4150 .elementor-element-f7cbe52 .elementor-icon svg {
  color: #0d47a1 !important;
  fill: #0d47a1 !important;
  font-size: 36px !important;
}
.page-id-4150 .elementor-element-f7cbe52 p {
  color: #555 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}


.page-id-4150 .elementor-element-81ecb7e .elementor-element:first-child .elementor-button {
  background: #ffd21f !important;
  color: #1d2e3b !important;
}
.page-id-4150 .elementor-element-81ecb7e .elementor-element:last-child .elementor-button {
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
}

/* ---- FOOTER (518d710) ---- */
.page-id-4150 .elementor-element-518d710 {
  background: #1d2e3b !important;
}
.page-id-4150 .elementor-element-518d710 > .e-con-inner {
  padding: 20px 0 !important;
  text-align: center !important;
}
.page-id-4150 .elementor-element-518d710,
.page-id-4150 .elementor-element-518d710 p,
.page-id-4150 .elementor-element-518d710 a {
  color: rgba(255,255,255,0.6) !important;
  font-size: 13px !important;
}
.page-id-4150 .elementor-element-518d710 a:hover {
  color: #ffffff !important;
}

/* ---- MOBILE ---- */
@media (max-width: 767px) {
  .page-id-4150 .elementor > .e-con.e-parent > .e-con-inner {
    padding: 30px 0 !important;
  }
  .page-id-4150 .elementor-element-hero > .e-con-inner {
    flex-direction: column !important;
  }
  .page-id-4150 .elementor-element-a29f37d,
  .page-id-4150 .elementor-element-f5e3c9f {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
  .page-id-4150 .elementor-element-58f004a h1,
  .page-id-4150 .elementor-element-58f004a .elementor-heading-title {
    font-size: 28px !important;
    text-align: center !important;
  }
  .page-id-4150 .elementor-element-f5e3c9f {
    order: -1 !important;
  }
  .page-id-4150 .elementor-element-fb80da2 > .e-con-inner {
    flex-direction: column !important;
    gap: 15px !important;
    text-align: center !important;
  }
  .page-id-4150 .elementor-element-7a73818 > .e-con-inner {
    flex-direction: column !important;
  }
  .page-id-4150 .elementor-element-487f80c,
  .page-id-4150 .elementor-element-d06d597 {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
  .page-id-4150 .elementor-element-fb14539 {
    flex-direction: column !important;
  }
}


/* === LP 4150 Fixes === */

/* Trust bar items: force 25% width */
.page-id-4150 .elementor-element-e6f2bb0,
.page-id-4150 .elementor-element-83bb535,
.page-id-4150 .elementor-element-582cf2d,
.page-id-4150 .elementor-element-821008b {
  width: auto !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
}

/* Trust bar: no wrap */
.page-id-4150 .elementor-element-fb80da2 > .e-con-inner {
  flex-wrap: nowrap !important;
}

/* H1 left-align override */
.page-id-4150 .elementor-element-a29f37d {
  text-align: left !important;
}
.page-id-4150 .elementor-element-a29f37d .elementor-widget-wrap,
.page-id-4150 .elementor-element-a29f37d .e-con-inner {
  text-align: left !important;
  align-items: flex-start !important;
}

/* ---- VISUAL POLISH ---- */
/* Hero top accent line */
.page-id-4150 .elementor-element-hero::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #0d47a1, #188bf6, #ffd21f) !important;
}
.page-id-4150 .elementor-element-hero {
  position: relative !important;
}

/* Stronger trust bar icons */
.page-id-4150 .elementor-element-fb80da2 .elementor-icon-list-icon i,
.page-id-4150 .elementor-element-fb80da2 .elementor-icon-list-icon svg {
  font-size: 26px !important;
}
.page-id-4150 .elementor-element-fb80da2 .elementor-icon-list-text {
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
}

/* Form box shadow for depth */
.page-id-4150 .elementor-element-f5e3c9f {
  box-shadow: 0 8px 30px rgba(13, 71, 161, 0.15) !important;
}

/* Hero subtle bottom border */
.page-id-4150 .elementor-element-hero {
  border-bottom: 1px solid #e8edf2 !important;
}

/* Trust bar stronger styling */
.page-id-4150 .elementor-element-fb80da2 {
  background: #f8fafc !important;
  border-bottom: 1px solid #e8edf2 !important;
  border-top: 1px solid #e8edf2 !important;
}

/* Mistakes CTA button → yellow */
.page-id-4150 .elementor-element-f3c8519 .elementor-button {
  background: #ffd21f !important;
  color: #1d2e3b !important;
}

/* ---- MOBILE RESPONSIVE ---- */
@media (max-width: 767px) {
  /* Header mobile */
  body.page-id-4150 .elementor-element-29c9929 > .e-con-inner {
    padding: 10px 15px !important;
    gap: 10px !important;
  }
  .page-id-4150 .elementor-element-29c9929 img {
    max-height: 40px !important;
  }
  .page-id-4150 .elementor-element-29c9929 .elementor-button {
    font-size: 13px !important;
    padding: 8px 14px !important;
  }

  /* Hero mobile: stack columns */
  .page-id-4150 .elementor-element-hero > .e-con-inner {
    flex-direction: column !important;
    padding: 25px 0 20px 0 !important;
    gap: 25px !important;
  }
  .page-id-4150 .elementor-element-a29f37d {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
  .page-id-4150 .elementor-element-f5e3c9f {
    width: 100% !important;
    flex: 0 0 100% !important;
    padding: 25px 20px !important;
  }

  /* H1 mobile */
  body.page-id-4150 .elementor .elementor-element-58f004a h1.elementor-heading-title,
  body.page-id-4150 .elementor .elementor-element-58f004a .elementor-heading-title {
    font-size: 28px !important;
  }

  /* Trust bar mobile: 2x2 grid */
  .page-id-4150 .elementor-element-fb80da2 > .e-con-inner {
    flex-wrap: wrap !important;
    gap: 15px 20px !important;
    padding: 20px 15px !important;
    justify-content: flex-start !important;
  }
  .page-id-4150 .elementor-element-fb80da2 .elementor-widget {
    flex: 0 0 45% !important;
  }

  /* Benefits mobile: stack */
  .page-id-4150 .elementor-element-7a73818 > .e-con-inner {
    flex-direction: column !important;
  }
  .page-id-4150 .elementor-element-487f80c,
  .page-id-4150 .elementor-element-d06d597 {
    width: 100% !important;
    flex: 0 0 100% !important;
  }

  /* Steps mobile: stack */
  .page-id-4150 .elementor-element-fb14539 {
    flex-direction: column !important;
    gap: 15px !important;
  }

  /* General mobile padding */
  .page-id-4150 .elementor > .e-con.e-parent {
    padding: 0 15px !important;
  }
  .page-id-4150 .elementor > .e-con.e-parent > .e-con-inner {
    padding: 30px 0 !important;
  }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
  .page-id-4150 .elementor-element-hero > .e-con-inner {
    gap: 25px !important;
  }
  .page-id-4150 .elementor-element-a29f37d {
    width: 50% !important;
    flex: 0 0 50% !important;
  }
  .page-id-4150 .elementor-element-f5e3c9f {
    width: 45% !important;
    flex: 0 0 45% !important;
  }
  body.page-id-4150 .elementor .elementor-element-58f004a h1.elementor-heading-title {
    font-size: 32px !important;
  }
}


/* About page - mobile image responsive */
@media (max-width: 767px) {
  .page-id-86 img[style*="float"] {
    width: 150px !important;
    margin: 0 0 10px 15px !important;
    border-radius: 8px !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .page-id-86 img[style*="float"] {
    width: 200px !important;
  }
}

/* Services dropdown styling */
.elementor-nav-menu > li.menu-item-has-children > .sub-menu {
  border-radius: 10px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12) !important;
  border: 1px solid rgba(13, 71, 161, 0.08) !important;
  padding: 8px 0 !important;
}
/* Section headers (Paid Media, SEO & Web) */
.elementor-nav-menu--dropdown li.mega-menu-header > a {
  font-weight: 700 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
  color: #0d47a1 !important;
  pointer-events: none !important;
  cursor: default !important;
  padding: 6px 20px 4px !important;
  opacity: 0.65 !important;
  background: none !important;
}
/* First header - less top padding */
.elementor-nav-menu--dropdown li.mega-menu-header:first-child > a {
  padding-top: 4px !important;
}
/* SEO & Web header gets a separator line above */
.elementor-nav-menu--dropdown li.mega-menu-header:not(:first-child) {
  border-top: 1px solid rgba(13, 71, 161, 0.1) !important;
  margin-top: 6px !important;
  padding-top: 2px !important;
}
/* Regular service links */
.elementor-nav-menu--dropdown li:not(.mega-menu-header) > a {
  transition: background 0.2s ease, color 0.2s ease !important;
}
.elementor-nav-menu--dropdown li:not(.mega-menu-header) > a:hover {
  background: rgba(13, 71, 161, 0.06) !important;
  color: #0d47a1 !important;
}

/* Mobile nav fixes - scroll lock and whitespace */
@media (max-width: 1024px) {
  body.elementor-menu-toggle--open,
  html.elementor-menu-toggle--open {
    overflow: auto !important;
    overflow-y: auto !important;
    height: auto !important;
  }
  /* Make the nav dropdown scrollable */
  .elementor-nav-menu__container {
    max-height: 85vh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .elementor-nav-menu--dropdown-mobile .sub-menu {
    position: static !important;
    transition: none !important;
    animation: none !important;
  }
  .elementor-nav-menu--dropdown-mobile .elementor-active > .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
  }
  .elementor-nav-menu--dropdown-mobile li:not(.elementor-active) > .sub-menu {
    display: none !important;
  }
  .elementor-nav-menu--dropdown li.mega-menu-header > a {
    font-size: 12px !important;
    padding: 10px 20px 2px !important;
  }
}

/* ===== PAGE 4150 - VISUAL POLISH (April 2026) ===== */

/* -- How It Works step cards -- */
.page-id-4150 .elementor-element-f7cbe52 .e-con-inner .e-con {
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 30px 25px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.page-id-4150 .elementor-element-f7cbe52 .e-con-inner .e-con:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.1) !important;
}

/* -- Pricing section cards -- */

/* -- FAQ section styling -- */

/* -- Mistakes section alternating bg -- */
.page-id-4150 .elementor-element-f3c8519 {
  background: #f8fafc !important;
}

/* -- Benefits section -- */
.page-id-4150 .elementor-element-7a73818 {
  background: #ffffff !important;
}

/* -- How it Works bg -- */
.page-id-4150 .elementor-element-f7cbe52 {
  background: #ffffff !important;
}

/* -- Pricing bg -- */

/* -- CTA button hover enhancement -- */
.page-id-4150 .elementor-element-a8f6854 .elementor-button {
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.page-id-4150 .elementor-element-a8f6854 .elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 15px rgba(255, 210, 31, 0.4) !important;
}

/* -- Testimonial call button hover -- */
.page-id-4150 .elementor-element-520fcbf a:hover {
  background: #1d2e3b !important;
  color: #ffffff !important;
  border-color: #1d2e3b !important;
}
.page-id-4150 .elementor-element-520fcbf a:hover svg {
  stroke: #ffffff !important;
}

/* -- Video placeholder styling -- */
.page-id-4150 .elementor-element-d06d597 {
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* -- Footer section styling -- */
.page-id-4150 .elementor-element-518d710 {
  background: #1d2e3b !important;
  border-top: 3px solid #ffd21f !important;
}
.page-id-4150 .elementor-element-518d710 p,
.page-id-4150 .elementor-element-518d710 a {
  color: #b0bec5 !important;
}

/* -- How It Works step cards (correct targeting) -- */
.page-id-4150 .elementor-element-fb14539 > .e-con-inner > .e-con {
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 30px 25px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  border: 1px solid #e8edf2 !important;
}
.page-id-4150 .elementor-element-fb14539 > .e-con-inner > .e-con:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.1) !important;
}

/* -- Pricing section cards (correct targeting) -- */

/* -- How It Works step cards (direct children of row) -- */
.page-id-4150 .elementor-element-fb14539 > .e-con {
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 30px 25px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  border: 1px solid #e8edf2 !important;
}
.page-id-4150 .elementor-element-fb14539 > .e-con:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.1) !important;
}

/* -- Hero ad credits CTA button -- */
.page-id-4150 .elementor-element-f9dc171 .elementor-button {
  background-color: #ffd21f !important;
  color: #1d2e3b !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 14px 28px !important;
  border-radius: 6px !important;
  border: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  margin-top: 15px !important;
}
.page-id-4150 .elementor-element-f9dc171 .elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 15px rgba(255, 210, 31, 0.4) !important;
  background-color: #f0c800 !important;
}
.page-id-4150 .elementor-element-f9dc171 .elementor-button .elementor-button-text {
  color: #1d2e3b !important;
  font-weight: 700 !important;
}

/* ===== PAGE 4150 - MOBILE FIX (767px and below) ===== */
@media (max-width: 767px) {
  /* H1 - reduce from desktop size */
  .page-id-4150 .elementor-element-58f004a h1.elementor-heading-title {
    font-size: 28px !important;
    line-height: 1.2 !important;
  }
  
  /* Subtitle text */
  .page-id-4150 .elementor-element-f0520a6 {
    font-size: 15px !important;
  }
  .page-id-4150 .elementor-element-f0520a6 p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
  
  /* Star rating HTML widget */
  .page-id-4150 .elementor-element-32e9e98 {
    font-size: 14px !important;
  }
  
  /* Icon list items - tighter */
  .page-id-4150 .elementor-element-1093cd3 .elementor-icon-list-text {
    font-size: 14px !important;
    line-height: 1.4 !important;
  }
  .page-id-4150 .elementor-element-1093cd3 .elementor-icon-list-item {
    padding-bottom: 8px !important;
  }
  .page-id-4150 .elementor-element-1093cd3 .elementor-icon-list-icon svg {
    width: 18px !important;
    height: 18px !important;
  }
  
  /* Ad credits text */
  .page-id-4150 .elementor-element-0beb15a {
    font-size: 13px !important;
  }
  .page-id-4150 .elementor-element-0beb15a p {
    font-size: 13px !important;
  }
  
  /* CTA button - full width on mobile */
  .page-id-4150 .elementor-element-f9dc171 .elementor-button {
    font-size: 15px !important;
    padding: 12px 20px !important;
    width: 100% !important;
    text-align: center !important;
  }
  .page-id-4150 .elementor-element-f9dc171 {
    width: 100% !important;
  }
  
  /* Form box heading */
  .page-id-4150 .elementor-element-e83eae9 h2.elementor-heading-title,
  .page-id-4150 .elementor-element-e83eae9 h3.elementor-heading-title {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }
  
  /* Form subtitle */
  .page-id-4150 .elementor-element-39eeb78 p {
    font-size: 13px !important;
  }
  
  /* Hero section padding */
  .page-id-4150 .elementor-element-hero.e-con.e-parent > .e-con-inner,
  body.page-id-4150 .elementor > .elementor-element-hero.e-con.e-parent > .e-con-inner {
    padding: 20px 15px !important;
  }
  
  /* Left column padding */
  .page-id-4150 .elementor-element-a29f37d {
    padding: 0 5px !important;
  }
  
  /* Form box */
  .page-id-4150 .elementor-element-f5e3c9f {
    margin-top: 20px !important;
  }
  
  /* Header on mobile */
  .page-id-4150 .elementor-element-29c9929 {
    padding: 10px 15px !important;
  }
  .page-id-4150 .elementor-element-a8f6854 .elementor-button {
    font-size: 13px !important;
    padding: 8px 14px !important;
  }
  
  /* Trust bar on mobile - stack or scroll */
  .page-id-4150 .elementor-element-fb80da2 .e-con-inner {
    flex-wrap: wrap !important;
    gap: 15px !important;
    justify-content: center !important;
    padding: 20px 10px !important;
  }
  .page-id-4150 .elementor-element-fb80da2 .elementor-icon-list-text {
    font-size: 13px !important;
  }
  
  /* Section headings on mobile */
  .page-id-4150 h2.elementor-heading-title {
    font-size: 24px !important;
  }
  
  /* How it Works step cards on mobile */
  .page-id-4150 .elementor-element-fb14539 {
    flex-direction: column !important;
  }
  .page-id-4150 .elementor-element-fb14539 > .e-con {
    padding: 20px 15px !important;
    margin-bottom: 12px !important;
  }
  
  /* Body text on mobile */
  .page-id-4150 p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
  
  /* Header logo smaller on mobile */
  .page-id-4150 .elementor-element-2928212 img {
    max-width: 120px !important;
  }
}

/* ===== TABLET (768px - 1024px) ===== */
@media (min-width: 768px) and (max-width: 1024px) {
  .page-id-4150 .elementor-element-58f004a h1.elementor-heading-title {
    font-size: 32px !important;
  }
  .page-id-4150 .elementor-element-f0520a6 p {
    font-size: 15px !important;
  }
  .page-id-4150 .elementor-element-e83eae9 h2.elementor-heading-title,
  .page-id-4150 .elementor-element-e83eae9 h3.elementor-heading-title {
    font-size: 24px !important;
  }
}


/* ===== AUTO REPAIR LANDING PAGE - FONTS (Montserrat / Inter) ===== */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800;900&display=swap');

/* H1 - Hero heading (Gilroy-style bold) */
body.page-id-4150 .elementor .elementor-element.elementor-element-58f004a .elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 900 !important;
  font-size: 48px !important;
  line-height: 1.1 !important;
  letter-spacing: -1px !important;
}

/* Main section H2 headings */
body.page-id-4150 .elementor .elementor-element.elementor-element-c79d202 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-a699c62 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-40361a9 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-f01e111 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-070f990 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-8332962 .elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px !important;
  line-height: 1.15 !important;
}

/* Sub-headings (step titles, form heading) */
body.page-id-4150 .elementor .elementor-element.elementor-element-e83eae9 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-f0d41c6 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-ba821d1 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-7507a3c .elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
}

/* Body text - Inter (closest to Proxima Nova, already loaded) */
body.page-id-4150 .elementor-widget-text-editor,
body.page-id-4150 .elementor-widget-text-editor p,
body.page-id-4150 .elementor-widget-icon-list .elementor-icon-list-text {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* Mobile font sizes */
@media (max-width: 767px) {
  body.page-id-4150 .elementor .elementor-element.elementor-element-58f004a .elementor-heading-title {
    font-size: 32px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.5px !important;
  }
  body.page-id-4150 .elementor .elementor-element.elementor-element-c79d202 .elementor-heading-title,
  body.page-id-4150 .elementor .elementor-element.elementor-element-a699c62 .elementor-heading-title,
  body.page-id-4150 .elementor .elementor-element.elementor-element-40361a9 .elementor-heading-title,
  body.page-id-4150 .elementor .elementor-element.elementor-element-f01e111 .elementor-heading-title,
  body.page-id-4150 .elementor .elementor-element.elementor-element-070f990 .elementor-heading-title,
  body.page-id-4150 .elementor .elementor-element.elementor-element-8332962 .elementor-heading-title {
    font-size: 24px !important;
  }
}


/* ===== AUTO REPAIR LANDING PAGE - BUTTON STYLES (GrowMyAds-inspired) ===== */
/* ALL CTA buttons on landing page - yellow with dark offset shadow */
body.page-id-4150 .elementor-element-f9dc171 .elementor-button,
body.page-id-4150 .elementor-element-4603aaf .elementor-button,
body.page-id-4150 .elementor-element-32c4025 .elementor-button,
body.page-id-4150 .elementor-element-4a031eb .elementor-button {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 17px !important;
  padding: 14px 36px !important;
  border-radius: 8px !important;
  border: 2px solid #1d2e3b !important;
  box-shadow: 4px 4px 0px 0px #1d2e3b !important;
  text-transform: none !important;
  letter-spacing: 0.1px !important;
  transition: all 0.15s ease !important;
  background-color: #ffd21f !important;
  color: #1d2e3b !important;
}

body.page-id-4150 .elementor-element-f9dc171 .elementor-button:hover,
body.page-id-4150 .elementor-element-4603aaf .elementor-button:hover,
body.page-id-4150 .elementor-element-32c4025 .elementor-button:hover,
body.page-id-4150 .elementor-element-4a031eb .elementor-button:hover {
  box-shadow: 2px 2px 0px 0px #1d2e3b !important;
  transform: translate(2px, 2px) !important;
  background-color: #ffda33 !important;
}

/* Blue CTA buttons - with blue offset shadow */
body.page-id-4150 .elementor-element-dff8dcd .elementor-button,
body.page-id-4150 .elementor-element-209466f .elementor-button,
body.page-id-4150 .elementor-element-6280bea .elementor-button {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 13px 32px !important;
  border-radius: 8px !important;
  border: 2px solid #0a3680 !important;
  box-shadow: 4px 4px 0px 0px #0a3680 !important;
  transition: all 0.15s ease !important;
  background-color: #188bf6 !important;
  color: #ffffff !important;
}

body.page-id-4150 .elementor-element-dff8dcd .elementor-button:hover,
body.page-id-4150 .elementor-element-209466f .elementor-button:hover,
body.page-id-4150 .elementor-element-6280bea .elementor-button:hover {
  box-shadow: 2px 2px 0px 0px #0a3680 !important;
  transform: translate(2px, 2px) !important;
}

/* Mobile button adjustments */
@media (max-width: 767px) {
  body.page-id-4150 .elementor-element-f9dc171 .elementor-button,
  body.page-id-4150 .elementor-element-4603aaf .elementor-button,
  body.page-id-4150 .elementor-element-32c4025 .elementor-button,
  body.page-id-4150 .elementor-element-4a031eb .elementor-button {
    font-size: 15px !important;
    padding: 12px 24px !important;
    box-shadow: 3px 3px 0px 0px #1d2e3b !important;
  }
  body.page-id-4150 .elementor-element-dff8dcd .elementor-button,
  body.page-id-4150 .elementor-element-209466f .elementor-button,
  body.page-id-4150 .elementor-element-6280bea .elementor-button {
    font-size: 14px !important;
    padding: 11px 24px !important;
    box-shadow: 3px 3px 0px 0px #0a3680 !important;
  }
}


/* === LP 4150 Form Mobile Width Fix === */
@media (max-width: 767px) {
  body.page-id-4150 #game-plan-form {
    padding: 20px 12px !important;
    margin-left: -5px !important;
    margin-right: -5px !important;
    width: calc(100% + 10px) !important;
  }
  body.page-id-4150 #game-plan-form .elementor-form {
    width: 100% !important;
  }
  body.page-id-4150 #game-plan-form .elementor-field-group {
    padding: 0 !important;
    width: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
  body.page-id-4150 #game-plan-form .elementor-field {
    padding: 12px 14px !important;
    font-size: 15px !important;
    width: 100% !important;
  }
  body.page-id-4150 #game-plan-form .elementor-button {
    width: 100% !important;
    font-size: 16px !important;
    padding: 14px 20px !important;
  }
  body.page-id-4150 #game-plan-form .elementor-field-group-step {
    width: 100% !important;
    flex-basis: 100% !important;
  }
}


/* === LP 4150 Design Refresh === */

/* Headings → black */
body.page-id-4150 .elementor .elementor-heading-title {
  color: #1d1d1d !important;
}
/* Keep white headings white (form heading, bottom CTA, step numbers) */
body.page-id-4150 .elementor-element-e83eae9 .elementor-heading-title,
body.page-id-4150 .elementor-element-8332962 .elementor-heading-title,
body.page-id-4150 .elementor-element-f673d06 .elementor-heading-title,
body.page-id-4150 .elementor-element-3ea9fb8 .elementor-heading-title,
body.page-id-4150 .elementor-element-b1a104a .elementor-heading-title {
  color: #ffffff !important;
}

/* Yellow highlight mark on headings */
body.page-id-4150 .elementor-heading-title mark,
body.page-id-4150 .elementor-heading-title span.highlight {
  background: linear-gradient(to top, #ffd21f 40%, transparent 40%) !important;
  padding: 0 4px !important;
  color: inherit !important;
}

/* Icon list checkmarks → yellow */
body.page-id-4150 .elementor-icon-list-icon svg {
  fill: #ffd21f !important;
  color: #ffd21f !important;
}

/* Form → white card (backup for Elementor settings) */
body.page-id-4150 #game-plan-form {
  background: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
}
body.page-id-4150 #game-plan-form .elementor-heading-title {
  color: #1d1d1d !important;
}

/* Form step indicators */
body.page-id-4150 #game-plan-form .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number {
  background-color: #ffd21f !important;
  color: #1d1d1d !important;
  border-color: #ffd21f !important;
}
body.page-id-4150 #game-plan-form .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number {
  background-color: #ffd21f !important;
  color: #1d1d1d !important;
  border-color: #ffd21f !important;
}
body.page-id-4150 #game-plan-form .e-form__indicators__indicator__separator {
  background-color: #e0e0e0 !important;
}
body.page-id-4150 #game-plan-form .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__separator {
  background-color: #ffd21f !important;
}

/* Form Next/Submit button → yellow brand */
body.page-id-4150 #game-plan-form .elementor-button {
  background-color: #ffd21f !important;
  color: #1d1d1d !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  border: 2px solid #1d1d1d !important;
  border-radius: 8px !important;
  box-shadow: 3px 3px 0px 0px #1d1d1d !important;
  transition: all 0.15s ease !important;
}
body.page-id-4150 #game-plan-form .elementor-button:hover {
  box-shadow: 1px 1px 0px 0px #1d1d1d !important;
  transform: translate(2px, 2px) !important;
}

/* Header-Hero separator line */
body.page-id-4150 .elementor > .e-con.e-parent:first-child {
  border-top: 3px solid #ffd21f !important;
}


/* === LP 4150 Hero Dark BG Overrides === */
body.page-id-4150 .elementor-element-58f004a .elementor-heading-title {
  color: #ffffff !important;
}
body.page-id-4150 .elementor-element-58f004a .elementor-heading-title mark {
  color: #ffffff !important;
  background: linear-gradient(to top, #ffd21f 35%, transparent 35%) !important;
}

/* Hero icon list text white */
body.page-id-4150 .elementor-element-1093cd3 .elementor-icon-list-text {
  color: #ffffff !important;
}
body.page-id-4150 .elementor-element-1093cd3 .elementor-icon-list-text strong {
  color: #ffffff !important;
}

/* Form on dark hero needs its own styling */
body.page-id-4150 #game-plan-form .elementor-field {
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
}

/* Bottom CTA section mark - white on dark */
body.page-id-4150 .elementor-element-8332962 .elementor-heading-title {
  color: #ffffff !important;
}
body.page-id-4150 .elementor-element-8332962 .elementor-heading-title mark {
  color: #ffffff !important;
  background: linear-gradient(to top, #ffd21f 35%, transparent 35%) !important;
}

/* Yellow separator line between header and hero */
body.page-id-4150 .elementor > .e-con.e-parent:first-child {
  border-top: 3px solid #ffd21f !important;
}

/* Hero section "Book Your Free Strategy Call" heading in form stays dark on white */
body.page-id-4150 #game-plan-form .elementor-element-e83eae9 .elementor-heading-title {
  color: #1d1d1d !important;
}


/* === LP 4150 Specificity Fixes === */
/* H1 white on dark hero - max specificity */
body.page-id-4150 .elementor .elementor-element.elementor-element-58f004a .elementor-heading-title {
  color: #ffffff !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-58f004a .elementor-heading-title mark {
  color: #ffffff !important;
  background: linear-gradient(to top, #ffd21f 35%, transparent 35%) !important;
  -webkit-box-decoration-break: clone !important;
  box-decoration-break: clone !important;
  padding: 0 4px !important;
}

/* All mark tags on page - yellow highlight */
body.page-id-4150 .elementor .elementor-heading-title mark {
  background: linear-gradient(to top, #ffd21f 40%, transparent 40%) !important;
  -webkit-box-decoration-break: clone !important;
  box-decoration-break: clone !important;
  padding: 0 4px !important;
  color: inherit !important;
}

/* Hero body text white */
body.page-id-4150 .elementor .elementor-element.elementor-element-f0520a6 .elementor-widget-container p {
  color: rgba(255,255,255,0.85) !important;
}

/* Stars text white */
body.page-id-4150 .elementor .elementor-element.elementor-element-32e9e98 {
  color: rgba(255,255,255,0.7) !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-32e9e98 * {
  color: rgba(255,255,255,0.7) !important;
}

/* Hero icon list text white */
body.page-id-4150 .elementor .elementor-element.elementor-element-1093cd3 .elementor-icon-list-text,
body.page-id-4150 .elementor .elementor-element.elementor-element-1093cd3 .elementor-icon-list-text strong {
  color: #ffffff !important;
}

/* "New to Google Ads" button on dark hero */
body.page-id-4150 .elementor .elementor-element.elementor-element-f9dc171 .elementor-button {
  background-color: #ffd21f !important;
  color: #1d1d1d !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-f9dc171 .elementor-button-text {
  color: #1d1d1d !important;
}

/* After-submit text on white form */
body.page-id-4150 .elementor .elementor-element.elementor-element-9c75c99 p {
  color: #777 !important;
  font-style: italic !important;
}


/* === LP 4150 Mark Highlight Fix - High Specificity === */
body.page-id-4150 .elementor .elementor-widget-heading .elementor-heading-title mark {
  background: linear-gradient(to top, #ffd21f 40%, transparent 40%) !important;
  -webkit-box-decoration-break: clone !important;
  box-decoration-break: clone !important;
  padding: 0 4px !important;
  color: inherit !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-a699c62 .elementor-heading-title mark,
body.page-id-4150 .elementor .elementor-element.elementor-element-40361a9 .elementor-heading-title mark,
body.page-id-4150 .elementor .elementor-element.elementor-element-f01e111 .elementor-heading-title mark,
body.page-id-4150 .elementor .elementor-element.elementor-element-8332962 .elementor-heading-title mark {
  background: linear-gradient(to top, #ffd21f 40%, transparent 40%) !important;
  color: inherit !important;
  padding: 0 4px !important;
}


/* Fix c79d202 mark highlight */
body.page-id-4150 .elementor .elementor-element.elementor-element-c79d202 .elementor-heading-title mark {
  background: linear-gradient(to top, #ffd21f 40%, transparent 40%) !important;
  color: inherit !important;
  padding: 0 4px !important;
  -webkit-box-decoration-break: clone !important;
}


/* === LP 4150 Hero Background Image === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child {
  background: #0d1b2a url('https://images.unsplash.com/photo-1619642751034-765dfdf7c58e?w=1920&q=80') center/cover no-repeat !important;
  position: relative !important;
}
/* Dark overlay using ::after (::before is used for yellow line) */
body.page-id-4150 .elementor > .e-con.e-parent:first-child::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  background: linear-gradient(135deg, rgba(13,27,42,0.88) 0%, rgba(13,27,42,0.82) 50%, rgba(13,27,42,0.90) 100%) !important;
  z-index: 0 !important;
  pointer-events: none !important;
  height: auto !important;
  width: auto !important;
}
/* Ensure all hero children are above the overlay */
body.page-id-4150 .elementor > .e-con.e-parent:first-child > * {
  position: relative !important;
  z-index: 1 !important;
}


/* === LP 4150 Fix ::before yellow line conflict === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  bottom: auto !important;
  background: linear-gradient(90deg, #0d47a1, #188bf6, #ffd21f) !important;
  z-index: 2 !important;
  pointer-events: none !important;
  opacity: 1 !important;
}


/* === LP 4150 Hero Overlay Full Height Fix === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 100% !important;
  width: 100% !important;
  background: rgba(13,27,42,0.85) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}


/* === LP 4150 HERO BG FIX — correct selector === */
/* Remove bg from header (first-child was wrong target) */
body.page-id-4150 .elementor > .e-con.e-parent:first-child {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
}
body.page-id-4150 .elementor > .e-con.e-parent:first-child::after {
  content: none !important;
  display: none !important;
}

/* Correct hero background - targets data-id="hero" */
body.page-id-4150 .elementor .elementor-element.elementor-element-hero {
  background: #0d1b2a url('https://images.unsplash.com/photo-1625047509248-ec889cbff17f?w=1920&q=80') center/cover no-repeat !important;
  position: relative !important; overflow: hidden !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-hero::after {
  content: "" !important; display: block !important; position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  width: 100% !important; height: 100% !important;
  background: rgba(13,27,42,0.72) !important; z-index: 0 !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-hero > .e-con-inner {
  position: relative !important;
  z-index: 1 !important;
}

/* Keep the yellow gradient ::before line on the hero, not header */
body.page-id-4150 .elementor > .e-con.e-parent:first-child::before {
  content: none !important;
  display: none !important;
}


/* === LP 4150 Checkmark Color Fix === */
body.page-id-4150 .elementor .elementor-icon-list-icon svg {
  fill: #ffd21f !important;
  color: #ffd21f !important;
}
body.page-id-4150 .elementor .elementor-icon-list-icon i {
  color: #ffd21f !important;
}
body.page-id-4150 .elementor .elementor-icon-list-icon {
  color: #ffd21f !important;
}


/* === LP 4150 Header Restore === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child {
  background-color: #ffffff !important;
  background-image: none !important;
}
/* Restore original yellow line ::before for the header */
body.page-id-4150 .elementor > .e-con.e-parent:first-child::before {
  display: block !important;
  content: "" !important;
}
body.page-id-4150 .elementor > .e-con.e-parent:first-child::after {
  display: block !important;
  content: "" !important;
  background: linear-gradient(90deg, #0d47a1, #188bf6, #ffd21f) !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  top: auto !important;
  width: auto !important;
  z-index: 10 !important;
  pointer-events: none !important;
}


/* === LP 4150 Color Refresh: Light Blue + Yellow === */

/* Header button → yellow brutalist */
body.page-id-4150 .elementor .elementor-element.elementor-element-a8f6854 .elementor-button {
  background-color: #ffd21f !important;
  color: #1d2e3b !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  border: 2px solid #1d2e3b !important;
  border-radius: 8px !important;
  box-shadow: 3px 3px 0px 0px #1d2e3b !important;
  transition: all 0.15s ease !important;
  font-size: 14px !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-a8f6854 .elementor-button:hover {
  box-shadow: 1px 1px 0px 0px #1d2e3b !important;
  transform: translate(2px, 2px) !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-a8f6854 .elementor-button-text {
  color: #1d2e3b !important;
}

/* Header bg → keep white but change from dark blue */
body.page-id-4150 .elementor .elementor-element.elementor-element-29c9929 {
  background-color: #ffffff !important;
}

/* Trust bar icons → light blue */
body.page-id-4150 .elementor-element-fb80da2 .elementor-icon i,
body.page-id-4150 .elementor-element-fb80da2 .elementor-icon svg {
  color: #188bf6 !important;
  fill: #188bf6 !important;
}

/* Step number circles → light blue bg */
body.page-id-4150 .elementor-element-b73c03f,
body.page-id-4150 .elementor-element-fec7bc3,
body.page-id-4150 .elementor-element-1ee46c0 {
  background-color: #188bf6 !important;
}

/* "New to Google Ads" button → left align */
body.page-id-4150 .elementor .elementor-element.elementor-element-f9dc171 {
  text-align: left !important;
  width: auto !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-f9dc171 .elementor-widget-container {
  text-align: left !important;
}

/* Hero text all light */
body.page-id-4150 .elementor-element-hero .elementor-widget-text-editor p,
body.page-id-4150 .elementor-element-hero .elementor-widget-text-editor {
  color: rgba(255,255,255,0.85) !important;
}
body.page-id-4150 .elementor-element-hero .elementor-widget-icon-list .elementor-icon-list-text,
body.page-id-4150 .elementor-element-hero .elementor-widget-icon-list .elementor-icon-list-text strong {
  color: #ffffff !important;
}
body.page-id-4150 .elementor-element-hero .elementor-widget-html {
  color: rgba(255,255,255,0.7) !important;
}
body.page-id-4150 .elementor-element-hero .elementor-widget-html * {
  color: rgba(255,255,255,0.7) !important;
}

/* Accordion → light blue title bg instead of dark blue */
body.page-id-4150 .elementor-accordion .elementor-tab-title {
  background-color: #f0f7ff !important;
  border-color: #188bf6 !important;
}
body.page-id-4150 .elementor-accordion .elementor-tab-title a {
  color: #1d1d1d !important;
}
body.page-id-4150 .elementor-accordion .elementor-tab-title .elementor-accordion-icon {
  color: #188bf6 !important;
}


/* === LP 4150 "New to Google Ads" Button Left Align === */
body.page-id-4150 .elementor .elementor-element.elementor-element-f9dc171 .elementor-widget-container {
  text-align: left !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-f9dc171 .elementor-button {
  width: auto !important;
  display: inline-flex !important;
  max-width: 80% !important;
}


/* === LP 4150 "Why" Section Button — Centered & Large === */
body.page-id-4150 .elementor .elementor-element.elementor-element-dff8dcd {
  text-align: center !important;
  margin-top: 20px !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-dff8dcd .elementor-button {
  font-size: 18px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  padding: 16px 40px !important;
}

/* === Why Section: Match icon size to hero (22px) === */
body.page-id-4150 .elementor .elementor-element.elementor-element-f8446d2 .elementor-icon-list-icon svg {
  width: 22px !important;
  height: 22px !important;
}

/* === Why Section: Button yellow brutalist style === */
body.page-id-4150 .elementor .elementor-element.elementor-element-dff8dcd .elementor-button {
  background-color: #ffd21f !important;
  color: #1d1d1d !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  border: 2px solid #1d1d1d !important;
  border-radius: 8px !important;
  box-shadow: 3px 3px 0px 0px #1d1d1d !important;
  font-size: 18px !important;
  padding: 16px 40px !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-dff8dcd .elementor-button:hover {
  background-color: #e6bc00 !important;
  box-shadow: 1px 1px 0px 0px #1d1d1d !important;
  transform: translate(2px, 2px) !important;
}

/* === Why Section: Dark bg behind checkmark SVG so cutout shows dark like hero === */
body.page-id-4150 .elementor .elementor-element.elementor-element-f8446d2 .elementor-icon-list-icon svg {
  background-color: #1d1d1d !important;
  border-radius: 50% !important;
}

/* === Why Section: 3D brutalist effect on checkmark icons === */
body.page-id-4150 .elementor .elementor-element.elementor-element-f8446d2 .elementor-icon-list-icon svg {
  border: 2px solid #1d1d1d !important;
  box-shadow: 2px 2px 0px 0px #1d1d1d !important;
}

/* === Why Section: Soften 3D effect on checkmark icons === */
body.page-id-4150 .elementor .elementor-element.elementor-element-f8446d2 .elementor-icon-list-icon svg {
  border: 1.5px solid #1d1d1d !important;
  box-shadow: 1.5px 1.5px 0px 0px #1d1d1d !important;
}

/* === 5 Ways Section: Button text black === */
body.page-id-4150 .elementor .elementor-element.elementor-element-4603aaf .elementor-button {
  color: #1d1d1d !important;
}

/* === Why + 5 Ways section buttons: Force text span black === */
body.page-id-4150 .elementor .elementor-element.elementor-element-dff8dcd .elementor-button-text,
body.page-id-4150 .elementor .elementor-element.elementor-element-4603aaf .elementor-button-text {
  color: #1d1d1d !important;
}

/* === Sticky header === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}
/* Offset for admin bar when logged in */
body.admin-bar.page-id-4150 .elementor > .e-con.e-parent:first-child {
  top: 32px !important;
}

/* === Remove yellow/blue separator lines between header and hero === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child::after {
  display: none !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-hero {
  border-top: none !important;
}

/* === Remove ::before gradient line on header too === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child::before {
  display: none !important;
}

/* === Sticky header shadow for separation === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child {
  box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}

/* === Header: reduce height === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* === Trust bar icons: yellow with 3D brutalist === */
body.page-id-4150 .elementor .elementor-element.elementor-element-b35bfbd .elementor-icon,
body.page-id-4150 .elementor .elementor-element.elementor-element-21a4231 .elementor-icon,
body.page-id-4150 .elementor .elementor-element.elementor-element-b85d6f5 .elementor-icon,
body.page-id-4150 .elementor .elementor-element.elementor-element-d585a2b .elementor-icon {
  color: #1d1d1d !important;
  background-color: #ffd21f !important;
  border: 1.5px solid #1d1d1d !important;
  border-radius: 50% !important;
  box-shadow: 1.5px 1.5px 0px 0px #1d1d1d !important;
  padding: 12px !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-b35bfbd .elementor-icon svg,
body.page-id-4150 .elementor .elementor-element.elementor-element-21a4231 .elementor-icon svg,
body.page-id-4150 .elementor .elementor-element.elementor-element-b85d6f5 .elementor-icon svg,
body.page-id-4150 .elementor .elementor-element.elementor-element-d585a2b .elementor-icon svg {
  fill: #1d1d1d !important;
  color: #1d1d1d !important;
}

/* === How It Works step circles: yellow 3D === */
body.page-id-4150 .elementor .elementor-element.elementor-element-b73c03f,
body.page-id-4150 .elementor .elementor-element.elementor-element-fec7bc3,
body.page-id-4150 .elementor .elementor-element.elementor-element-1ee46c0 {
  background-color: #ffd21f !important;
  border: 1.5px solid #1d1d1d !important;
  border-radius: 50% !important;
  box-shadow: 2px 2px 0px 0px #1d1d1d !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-f673d06 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-3ea9fb8 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-b1a104a .elementor-heading-title {
  color: #1d1d1d !important;
}

/* === How It Works button: yellow brutalist === */
body.page-id-4150 .elementor .elementor-element.elementor-element-209466f .elementor-button {
  background-color: #ffd21f !important;
  color: #1d1d1d !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  border: 2px solid #1d1d1d !important;
  border-radius: 8px !important;
  box-shadow: 3px 3px 0px 0px #1d1d1d !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-209466f .elementor-button-text {
  color: #1d1d1d !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-209466f .elementor-button:hover {
  background-color: #e6bc00 !important;
  box-shadow: 1px 1px 0px 0px #1d1d1d !important;
  transform: translate(2px, 2px) !important;
}

/* === Cost section button: yellow brutalist === */
body.page-id-4150 .elementor .elementor-element.elementor-element-6280bea .elementor-button {
  background-color: #ffd21f !important;
  color: #1d1d1d !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  border: 2px solid #1d1d1d !important;
  border-radius: 8px !important;
  box-shadow: 3px 3px 0px 0px #1d1d1d !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-6280bea .elementor-button-text {
  color: #1d1d1d !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-6280bea .elementor-button:hover {
  background-color: #e6bc00 !important;
  box-shadow: 1px 1px 0px 0px #1d1d1d !important;
  transform: translate(2px, 2px) !important;
}

/* === Gold stars for hero rating === */
body.page-id-4150 .elementor .elementor-element.elementor-element-32e9e98 .star-rating {
  color: #ffd21f;
  font-size: 18px;
  letter-spacing: 2px;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-32e9e98 .rating-text {
  color: rgba(255,255,255,0.9);
  font-family: 'Inter', sans-serif;
  font-size: 14px;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-32e9e98 .google-logo {
  height: 16px;
  vertical-align: middle;
  margin: 0 4px;
}

/* === Fix accordion toggle smooth animation === */
body.page-id-4150 .elementor-toggle .elementor-tab-content {
  transition: none !important;
}

/* === 5 Ways section: Red X icons === */
body.page-id-4150 .elementor .elementor-element.elementor-element-22742e7 .elementor-icon-list-icon svg {
  fill: #e53935 !important;
  color: #e53935 !important;
}

/* === Form description text: make visible (dark text on white form card) === */
body.page-id-4150 .elementor .elementor-element.elementor-element-39eeb78 p,
body.page-id-4150 .elementor .elementor-element.elementor-element-39eeb78 {
  color: #666666 !important;
}

/* === Pricing table: yellow/black theme === */
body.page-id-4150 .elementor .elementor-element.elementor-element-4bb7d76 table thead tr {
  background: #ffd21f !important;
  color: #1d1d1d !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-4bb7d76 table th {
  background: #ffd21f !important;
  color: #1d1d1d !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-4bb7d76 table {
  border: 2px solid #1d1d1d !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 3px 3px 0px 0px #1d1d1d !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-4bb7d76 table td {
  border-bottom: 1px solid #e0e0e0 !important;
}

/* === Accordion/toggle: remove hitching transition === */
body.page-id-4150 .elementor .elementor-element.elementor-element-c75c96b .elementor-tab-content {
  transition: none !important;
  animation: none !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-c75c96b .elementor-toggle-item .elementor-tab-content {
  transition: none !important;
}

/* === Remove yellow border-top from header === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child {
  border-top: none !important;
  border-bottom: none !important;
}

/* === 5 Ways red X icons: 3D brutalist effect === */
body.page-id-4150 .elementor .elementor-element.elementor-element-22742e7 .elementor-icon-list-icon svg {
  background-color: #1d1d1d !important;
  border-radius: 50% !important;
  border: 1.5px solid #1d1d1d !important;
  box-shadow: 1.5px 1.5px 0px 0px #1d1d1d !important;
}

/* === Trust bar icons: smaller size === */
body.page-id-4150 .elementor .elementor-element.elementor-element-b35bfbd .elementor-icon,
body.page-id-4150 .elementor .elementor-element.elementor-element-21a4231 .elementor-icon,
body.page-id-4150 .elementor .elementor-element.elementor-element-b85d6f5 .elementor-icon,
body.page-id-4150 .elementor .elementor-element.elementor-element-d585a2b .elementor-icon {
  padding: 8px !important;
  font-size: 28px !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-b35bfbd .elementor-icon svg,
body.page-id-4150 .elementor .elementor-element.elementor-element-21a4231 .elementor-icon svg,
body.page-id-4150 .elementor .elementor-element.elementor-element-b85d6f5 .elementor-icon svg,
body.page-id-4150 .elementor .elementor-element.elementor-element-d585a2b .elementor-icon svg {
  width: 28px !important;
  height: 28px !important;
}

/* === How It Works: REMOVE yellow from outer step containers === */
body.page-id-4150 .elementor .elementor-element.elementor-element-b73c03f,
body.page-id-4150 .elementor .elementor-element.elementor-element-fec7bc3,
body.page-id-4150 .elementor .elementor-element.elementor-element-1ee46c0 {
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* === How It Works: Yellow 3D on the actual number circles === */
body.page-id-4150 .elementor .elementor-element.elementor-element-f673d06,
body.page-id-4150 .elementor .elementor-element.elementor-element-3ea9fb8,
body.page-id-4150 .elementor .elementor-element.elementor-element-b1a104a {
  background-color: #ffd21f !important;
  border: 1.5px solid #1d1d1d !important;
  box-shadow: 2px 2px 0px 0px #1d1d1d !important;
}

/* === Accordion: force instant open/close (override jQuery slideToggle) === */
body.page-id-4150 .elementor .elementor-element.elementor-element-c75c96b .elementor-tab-content {
  transition: none !important;
  animation: none !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-c75c96b .elementor-tab-content[style*="display: block"] {
  display: block !important;
  height: auto !important;
  overflow: visible !important;
}

/* === Step circles: perfect round shape, match icon style === */
body.page-id-4150 .elementor .elementor-element.elementor-element-f673d06,
body.page-id-4150 .elementor .elementor-element.elementor-element-3ea9fb8,
body.page-id-4150 .elementor .elementor-element.elementor-element-b1a104a {
  width: 54px !important;
  height: 54px !important;
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-radius: 50% !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-f673d06 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-3ea9fb8 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-b1a104a .elementor-heading-title {
  font-size: 22px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

/* === How It Works step cards: rounded corners like buttons (8px) === */
body.page-id-4150 .elementor .elementor-element.elementor-element-b73c03f,
body.page-id-4150 .elementor .elementor-element.elementor-element-fec7bc3,
body.page-id-4150 .elementor .elementor-element.elementor-element-1ee46c0 {
  border-radius: 12px !important;
}

/* === Accordion: force instant close (jQuery slideUp override) === */
body.page-id-4150 .elementor .elementor-element.elementor-element-c75c96b .elementor-tab-content {
  transition: none !important;
  animation: none !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-c75c96b .elementor-toggle .elementor-tab-content:not([style*="display: block"]) {
  display: none !important;
  height: 0 !important;
}

/* === Header button: larger === */
body.page-id-4150 .elementor .elementor-element.elementor-element-a8f6854 .elementor-button {
  font-size: 16px !important;
  padding: 14px 28px !important;
}

/* === Hero left column: center vertically === */
body.page-id-4150 .elementor .elementor-element.elementor-element-a29f37d {
  justify-content: center !important;
  align-self: center !important;
}

/* === Hero section: add top padding (space between header and hero) === */
body.page-id-4150 .elementor .elementor-element.elementor-element-hero {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

/* === Hero inner: vertically center columns === */
body.page-id-4150 .elementor .elementor-element.elementor-element-hero > .e-con-inner {
  align-items: center !important;
}

/* === Hero inner: force vertical center columns (higher specificity) === */
body.page-id-4150 .elementor .elementor-element.elementor-element-hero > .e-con-inner {
  align-items: center !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-hero .e-con-inner {
  align-items: center !important;
}

/* === Hero inner: match exact Elementor selector specificity === */
body.page-id-4150 .elementor > .elementor-element-hero.e-con.e-parent > .e-con-inner {
  align-items: center !important;
}


/* ===== LANDING PAGE FORM STYLING (page 4150) ===== */

/* Step indicators - 3D brutalist yellow/black style */
.page-id-4150 .e-form__indicators__indicator__number {
  background: #ffd21f !important;
  color: #1d2e3b !important;
  border: 2px solid #1d2e3b !important;
  box-shadow: 3px 3px 0px #1d2e3b !important;
  font-family: Roboto, sans-serif !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  width: 38px !important;
  height: 38px !important;
  line-height: 34px !important;
}
.page-id-4150 .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number {
  background: #ffd21f !important;
  transform: scale(1.1);
}
.page-id-4150 .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number {
  background: #1d2e3b !important;
  color: #ffd21f !important;
  border-color: #1d2e3b !important;
}
.page-id-4150 .e-form__indicators__indicator--state-inactive .e-form__indicators__indicator__number {
  background: #e8e8e8 !important;
  color: #999 !important;
  border-color: #ccc !important;
  box-shadow: 2px 2px 0px #ccc !important;
}
.page-id-4150 .e-form__indicators__indicator__separator {
  background-color: #1d2e3b !important;
  height: 3px !important;
}

/* Previous/Next buttons - horizontal layout */
.page-id-4150 .e-form__buttons {
  display: flex !important;
  flex-direction: row !important;
  gap: 12px !important;
  justify-content: space-between !important;
}
.page-id-4150 .e-form__buttons .e-form__buttons__wrapper {
  flex: 1 !important;
}
.page-id-4150 .e-form__buttons .e-form__buttons__wrapper button {
  width: 100% !important;
}

/* Radio buttons - card/button style */
.page-id-4150 .elementor-field-type-radio .elementor-field-subgroup {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.page-id-4150 .elementor-field-type-radio .elementor-field-option {
  display: block !important;
  width: 100% !important;
}
.page-id-4150 .elementor-field-type-radio .elementor-field-option label {
  display: block !important;
  padding: 14px 18px !important;
  border: 2px solid #ddd !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  font-family: Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #1d2e3b !important;
  background: #fff !important;
}
.page-id-4150 .elementor-field-type-radio .elementor-field-option label:hover {
  border-color: #ffd21f !important;
  background: #fffde6 !important;
}
.page-id-4150 .elementor-field-type-radio .elementor-field-option input[type="radio"] {
  display: none !important;
}
.page-id-4150 .elementor-field-type-radio .elementor-field-option input[type="radio"]:checked + label {
  border-color: #ffd21f !important;
  background: #ffd21f !important;
  color: #1d2e3b !important;
  font-weight: 700 !important;
  box-shadow: 3px 3px 0px #1d2e3b !important;
}@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap');

/* Form field styling */
.elementor-field-group .elementor-field {
  border: none !important;
  border-bottom: 2px solid #ccc !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 8px 2px !important;
  font-family: Roboto, sans-serif !important;
  font-size: 15px !important;
  color: #333 !important;
}
.elementor-field-group .elementor-field:focus {
  border-bottom-color: #188bf6 !important;
  outline: none !important;
  box-shadow: none !important;
}
.elementor-field-group .elementor-field-label {
  color: #1a1a3e !important;
  font-family: Roboto, sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  margin-bottom: 6px !important;
}
.elementor-field-group {
  margin-bottom: 20px !important;
}
.elementor-field-group textarea.elementor-field {
  border: none !important;
  border-bottom: 2px solid #ccc !important;
  border-radius: 0 !important;
  background: transparent !important;
  min-height: 100px !important;
}
.elementor-field-group select.elementor-field-textual {
  border: none !important;
  border-bottom: 2px solid #ccc !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.e-form__buttons__wrapper .elementor-button,
.elementor-button[type="submit"] {
  padding: 12px 35px !important;
  font-family: Roboto, sans-serif !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
}

/* Blog listing page - card grid */
.blog .site-main { max-width: 1140px; margin: 0 auto; padding: 40px 30px; }
.blog .page-header { text-align: center; margin-bottom: 10px; }
.blog .page-header .entry-title { color: #0d47a1; font-family: Roboto, sans-serif; font-size: 36px; font-weight: 700; }
.blog .page-header::after { content: "Insights on PPC advertising, campaign strategy, and digital marketing."; display: block; text-align: center; color: #555; font-family: Roboto, sans-serif; font-size: 16px; margin-top: 8px; padding-bottom: 30px; border-bottom: none; }
.blog .page-content { display: flex !important; flex-wrap: wrap !important; gap: 30px; margin-top: 30px; }
.blog .page-content article.post { flex: 1 1 calc(50% - 15px) !important; max-width: calc(50% - 15px) !important; background: #fff; border: 1px solid #e0e0e0; border-radius: 10px; padding: 30px; box-shadow: 0 2px 12px rgba(0,0,0,0.06); transition: box-shadow 0.3s ease, transform 0.2s ease; display: flex; flex-direction: column; }
.blog .page-content article.post:hover { box-shadow: 0 6px 24px rgba(13,71,161,0.12); transform: translateY(-3px); }
.blog article .entry-title { font-family: Roboto, sans-serif; font-size: 22px; font-weight: 700; line-height: 1.3; margin-bottom: 12px; }
.blog article .entry-title a { color: #0d47a1; text-decoration: none; }
.blog article .entry-title a:hover { color: #188bf6; }
.blog article p { color: #555; font-family: Roboto, sans-serif; font-size: 15px; line-height: 1.6; flex-grow: 1; }
.blog article p::after { content: "Read More \2192"; display: block; margin-top: 20px; color: #188bf6; font-weight: 600; font-size: 15px; }
@media (max-width: 768px) { .blog .page-content article.post { flex: 1 1 100% !important; max-width: 100% !important; } }

/* Single blog post */
.single-post .site-main { max-width: 1140px; margin: 0 auto; padding: 40px 30px; }
.single-post .entry-title { display: none !important; }
.single-post .entry-content { color: #333; font-family: Roboto, sans-serif; font-size: 16px; line-height: 1.7; }
.single-post .entry-content h2 { color: #0d47a1; font-size: 26px; font-weight: 700; margin-top: 40px; }
.single-post .entry-content h3 { color: #188bf6; font-size: 22px; font-weight: 700; margin-top: 30px; }
/* Hide WordPress comments on blog posts */
.single-post .comments-area, .single-post #respond { display: none !important; }

/* Remove sticky sidebar on all pages (but not header) */
.elementor-sticky--active { position: static !important; }
[data-widget_type="form.default"] { position: static !important; }
.e-sticky { position: static !important; transform: none !important; }

/* Blog form Send button - left aligned, heading color */
.e-form__buttons__wrapper { text-align: left !important; justify-content: flex-start !important; }
.e-form__buttons__wrapper .elementor-button,
.elementor-button[type="submit"] {
  background-color: #0d47a1 !important;
}

/* Privacy Policy & Terms of Service page formatting */
.page-id-243 .site-main,
.page-id-244 .site-main {
  max-width: 900px;
  margin: 0 auto;
  padding: 40px 30px;
}
.page-id-243 .entry-title,
.p

/* Hide broken blog link */
a[href*="quality-score-ad-rank"] {
	  display: none !important;
}age-id-244 .entry-title {
  color: #0d47a1;
  font-family: Roboto, sans-serif;
  font-size: 36px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 3px solid #ffd21f;
}
.page-id-243 .entry-content,
.page-id-244 .entry-content {
  color: #333;
  font-family: Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.7;
}
.page-id-243 .entry-content h2,
.page-id-244 .entry-content h2 {
  color: #0d47a1;
  font-size: 24px;
  font-weight: 700;
  margin-top: 35px;
}
.page-id-243 .entry-content h3,
.page-id-244 .entry-content h3 {
  color: #188bf6;
  font-size: 20px;
  font-weight: 700;
  margin-top: 25px;
}

/* Force nav menu items to single row */
.elementor-widget-nav-menu { flex: 1 1 auto !important; min-width: 0 !important; }

/* ============================================
   BATCH UPDATE - Blog, Nav, Footer, Forms, Spacing
   ============================================ */

/* 1. Blog listing cards - fully clickable + fix Read More links */
.blog .page-content article.post {
  position: relative;
  cursor: pointer;
  transition: box-shadow 0.3s ease, transform 0.2s ease;
}
.blog .page-content article.post a {
  text-decoration: none;
}
.blog article .entry-title a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.blog article p::after {
  content: "Read More \2192" !important;
  display: block !important;
  margin-top: 20px !important;
  color: #188bf6 !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  pointer-events: none;
}

/* 2. Footer mascot image - circular */
.elementor-location-footer .elementor-widget-image img,
[data-elementor-type="footer"] .elementor-widget-image img {
  border-radius: 50% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  background: #ffffff;
  padding: 5px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}

/* 3. Liquid glass / glassmorphism effect on cards */
.blog .page-content article.post {
  background: rgba(255, 255, 255, 0.7) !important;
  backdrop-filter: blur(12px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255,255,255,0.6) !important;
}
.blog .page-content article.post:hover {
  box-shadow: 0 8px 32px rgba(13, 71, 161, 0.15), inset 0 1px 0 rgba(255,255,255,0.6) !important;
  transform: translateY(-4px) !important;
}
.services-row .service-card {
  background: rgba(255, 255, 255, 0.7) !important;
  backdrop-filter: blur(12px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255,255,255,0.6) !important;
  transition: all 0.3s ease !important;
}
.services-row .service-card:hover {
  box-shadow: 0 8px 32px rgba(13, 71, 161, 0.15), inset 0 1px 0 rgba(255,255,255,0.6) !important;
  transform: translateY(-4px) !important;
}

/* 4. Navigation menu - larger text + dropdown hover styling */
/* dropdown link rule removed */
/* dropdown hover rule removed */
/* dropdown rule removed */

/* 5. Bolder phone number, icon, and Let's Talk button */
.elementor-element .elementor-widget-html a[href^="tel"] {
  font-weight: 700 !important;
  font-size: 16px !important;
}
.elementor-element .elementor-widget-html a[href^="tel"] svg {
  width: 20px !important;
  height: 20px !important;
}
.elementor-button.elementor-size-sm,
a.elementor-button.elementor-size-sm {
  font-weight: 700 !important;
  font-size: 15px !important;
  padding: 12px 28px !important;
}

/* 6. Remove white space between header and hero on service pages */
.elementor-location-header + .site-main .elementor-section:first-child,
.elementor-location-header + #content .elementor-section:first-child,
.site-main > .elementor:first-child > .elementor-element:first-child,
.entry-content > .elementor:first-child > .elementor-element:first-child,
.entry-content > div:first-child > .e-con:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.site-main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.entry-content {
  margin-top: 0 !important;
}

/* 7. Proper paragraph spacing across all pages */
.elementor-widget-text-editor p,
.elementor-widget-theme-post-content p,
.entry-content p {
  margin-bottom: 1.2em !important;
  line-height: 1.75 !important;
}
.elementor-widget-text-editor p:last-child {
  margin-bottom: 0 !important;
}
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol,
.entry-content ul,
.entry-content ol {
  margin-bottom: 1.2em !important;
  padding-left: 1.5em !important;
}
.elementor-widget-text-editor li,
.entry-content li {
  margin-bottom: 0.5em !important;
  line-height: 1.7 !important;
}
.elementor-element-4210618 {
  display: none !important;
}


/* 9. Form dropdown (select) - match form styling */
.elementor-field-group select.elementor-field-textual,
.elementor-field-group select.elementor-field {
  border: none !important;
  border-bottom: 2px solid #ccc !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  color: #333 !important;
  padding: 8px 2px !important;
  font-family: Roboto, sans-serif !important;
  font-size: 15px !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='2' fill='none'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 8px center !important;
  background-size: 12px !important;
}
.elementor-field-group select.elementor-field-textual:focus,
.elementor-field-group select.elementor-field:focus {
  border-bottom-color: #188bf6 !important;
  outline: none !important;
}
.elementor-field-group select option {
  background: #ffffff !important;
  color: #333 !important;
}

/* ============================================
   SESSION 2 UPDATES - Feb 28, 2026
   ============================================ */

/* 10. Fix remaining white space between header and hero - STRONGER */
.elementor-location-header + .site-main,
.elementor-location-header + #content,
body:not(.elementor-editor-active) .site-main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body:not(.elementor-editor-active) .elementor-location-header {
  margin-bottom: 0 !important;
}
body:not(.elementor-editor-active) .site-main > .elementor:first-child > .elementor-element:first-child,
body:not(.elementor-editor-active) .site-main > article > .elementor:first-child > .elementor-element:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* Kill any gap between header and first section */
.elementor-location-header + * {
  margin-top: 0 !important;
}
#content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.site-main > .elementor > .elementor-section:first-child,
.site-main > .elementor > .e-con:first-child,
.site-main > article .elementor > .elementor-section:first-child,
.site-main > article .elementor > .e-con:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 11. Center services section card content */
.services-row .service-card,
.services-row .elementor-widget-wrap {
  text-align: center !important;
}
.services-row .service-card .elementor-icon-box-title,
.services-row .service-card .elementor-icon-box-description,
.services-row .service-card h3,
.services-row .service-card p {
  text-align: center !important;
}
.services-row .service-card .elementor-button-wrapper,
.services-row .service-card .elementor-widget-button {
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
}
/* Also center the icon in service cards */
.services-row .service-card .elementor-icon-box-icon,
.services-row .service-card .elementor-icon {
  text-align: center !important;
  margin: 0 auto !important;
}

/* 12. Let's Talk button - rounded pill style */
a[href*="/contact/"] .elementor-button,
.elementor-widget-button a[href*="/contact/"],
header .elementor-button[href*="/contact/"],
a.elementor-button[href*="/contact/"] {
  border-radius: 5px !important;
}
/* Also target the nav CTA button specifically */
.elementor-location-header .elementor-button {
  border-radius: 5px !important;
}

/* 13. Fix form double arrow on select dropdown */
.elementor-field-group select.elementor-field-textual,
.elementor-field-group select.elementor-field {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}
/* Hide Elementor's native select wrapper arrow if doubled */
.elementor-field-group .elementor-select-wrapper::after,
.elementor-field-group .elementor-field-subgroup .select-caret {
  display: none !important;
}
/* Make sure our custom SVG arrow still shows on the field itself */
.elementor-field-group select.elementor-field-textual {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='2' fill='none'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 8px center !important;
  background-size: 12px !important;
  padding-right: 30px !important;
}

/* 14. Phone icon - hollow/outline style */
.elementor-icon i.fas.fa-phone,
.elementor-icon i.fa-phone-alt,
.elementor-location-header i.fas.fa-phone,
.elementor-location-header i.fa-phone-alt {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 400 !important; /* 400 = regular/outline, 900 = solid */
}

/* 15. Liquid glass effect on FAQ items */
.elementor-accordion .elementor-accordion-item {
  background: rgba(255, 255, 255, 0.7) !important;
  backdrop-filter: blur(12px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 12px !important;
  margin-bottom: 12px !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255,255,255,0.6) !important;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.elementor-accordion .elementor-accordion-item:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 32px rgba(13, 71, 161, 0.12), inset 0 1px 0 rgba(255,255,255,0.6) !important;
}
.elementor-accordion .elementor-tab-title {
  border: none !important;
  padding: 18px 24px !important;
}
.elementor-accordion .elementor-tab-content {
  border-top: 1px solid rgba(13, 71, 161, 0.1) !important;
  padding: 18px 24px !important;
}

/* 16. Liquid glass on "Why GoodPup" value prop cards */
.elementor-widget-icon-box .elementor-icon-box-wrapper {
  background: rgba(255, 255, 255, 0.7) !important;
  backdrop-filter: blur(12px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255,255,255,0.6) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.elementor-widget-icon-box .elementor-icon-box-wrapper:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 32px rgba(13, 71, 161, 0.15), inset 0 1px 0 rgba(255,255,255,0.6) !important;
}

/* 17. Service + Blog page hero styling (hero ribbon REMOVED) */
/* Remove hero ribbon background from all service + blog pages */
body:not(.page-id-133) [data-elementor-type="wp-page"] > .e-con:first-child,
.single-post [data-elementor-type="wp-post"] > .e-con:first-child {
  background: transparent !important;
  padding: 30px 0 10px 0 !important;
  padding-block-start: 30px !important;
  min-height: unset !important;
  position: relative !important;
}
body:not(.page-id-133) [data-elementor-type="wp-page"] > .e-con:first-child::before,
.single-post [data-elementor-type="wp-post"] > .e-con:first-child::before {
  display: none !important;
}
/* Service + Blog page hero headings - blue, left-aligned */
body:not(.page-id-133) [data-elementor-type="wp-page"] > .e-con:first-child h1,
body:not(.page-id-133) [data-elementor-type="wp-page"] > .e-con:first-child h2,
.single-post [data-elementor-type="wp-post"] > .e-con:first-child .elementor-heading-title {
  color: #0d47a1 !important;
  text-align: center !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
}
body:not(.page-id-133) [data-elementor-type="wp-page"] > .e-con:first-child h1,
.single-post [data-elementor-type="wp-post"] > .e-con:first-child .elementor-widget-heading:first-child .elementor-heading-title {
  font-size: 36px !important;
}
/* Service page hero container - left-align content */
body:not(.page-id-133) [data-elementor-type="wp-page"] > .e-con:first-child .e-con-inner {
  align-items: flex-start !important;
  justify-content: flex-start !important;
}
/* Blog post subtitle heading - slightly smaller, lighter */
.single-post [data-elementor-type="wp-post"] > .e-con:first-child .elementor-widget-heading:nth-child(2) .elementor-heading-title {
  font-size: 18px !important;
  font-weight: 500 !important;
  color: #1d2e3b !important;
}
/* 18. Reduce excessive white space globally */
/* 19. Fix sticky header -- hide placeholder to prevent double-height */
.elementor-sticky--placeholder {
  display: none !important;
}
/* Also reduce header logo/section height for tighter header */
[data-elementor-type="header"] > .e-con.elementor-sticky--active > .e-con-inner {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}
[data-elementor-type="header"] .elementor-widget-image img {
  max-height: 65px !important;
  width: auto !important;
}

/* 20. Center service card content - using actual Elementor element IDs */
.elementor-element-4debe66 .e-con.e-child {
  text-align: center !important;
  align-items: center !important;
}
.elementor-element-4debe66 .e-con.e-child .elementor-widget {
  text-align: center !important;
  width: 100% !important;
}
.elementor-element-4debe66 .e-con.e-child .elementor-widget-heading .elementor-heading-title {
  text-align: center !important;
}
.elementor-element-4debe66 .e-con.e-child .elementor-widget-text-editor {
  text-align: center !important;
}
.elementor-element-4debe66 .e-con.e-child .elementor-widget-button {
  text-align: center !important;
}
.elementor-element-4debe66 .e-con.e-child .elementor-widget-button .elementor-button-wrapper {
  justify-content: center !important;
  display: flex !important;
}
.elementor-element-4debe66 .e-con.e-child .elementor-icon-wrapper {
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
}

/* 21. Enhanced liquid glass on service cards (home page) */
.elementor-element-4debe66 > .e-con-inner > .e-con.e-child {
  background: rgba(255, 255, 255, 0.65) !important;
  backdrop-filter: blur(16px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.06), inset 0 1px 0 rgba(255,255,255,0.7) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  padding: 28px 20px !important;
}
.elementor-element-4debe66 > .e-con-inner > .e-con.e-child:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 40px rgba(13, 71, 161, 0.12), inset 0 1px 0 rgba(255,255,255,0.7) !important;
}

/* 22. Liquid glass on "Why GoodPup" section cards */
.elementor-element-ad2ea4f .e-con.e-child {
  background: rgba(255, 255, 255, 0.65) !important;
  backdrop-filter: blur(16px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.06), inset 0 1px 0 rgba(255,255,255,0.7) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  padding: 28px !important;
}
.elementor-element-ad2ea4f .e-con.e-child:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 32px rgba(13, 71, 161, 0.15), inset 0 1px 0 rgba(255,255,255,0.7) !important;
}

/* 23. Liquid glass on industry cards (We Know Your Industry section) */
.elementor-element-56a1181 .e-con.e-child {
  backdrop-filter: blur(8px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(8px) saturate(150%) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255,255,255,0.15) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.elementor-element-56a1181 .e-con.e-child:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255,255,255,0.2) !important;
}

/* 24. Better FAQ block styling - separated card blocks */
.elementor-widget-accordion .elementor-accordion {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
.elementor-widget-accordion .elementor-accordion-item {
  background: rgba(255, 255, 255, 0.75) !important;
  backdrop-filter: blur(12px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(180%) !important;
  border: 1px solid rgba(13, 71, 161, 0.1) !important;
  border-radius: 14px !important;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.06) !important;
  overflow: hidden !important;
  margin-bottom: 0 !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.elementor-widget-accordion .elementor-accordion-item:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 24px rgba(13, 71, 161, 0.1) !important;
}
.elementor-widget-accordion .elementor-tab-title {
  border: none !important;
  padding: 20px 24px !important;
  background: transparent !important;
}
.elementor-widget-accordion .elementor-tab-content {
  border-top: 1px solid rgba(13, 71, 161, 0.08) !important;
  padding: 16px 24px 20px !important;
}

/* 25. Footer social icons - ensure proper spacing and style */
footer .elementor-social-icons-wrapper,
.elementor-location-footer .elementor-social-icons-wrapper {
  gap: 10px !important;
}

/* 26. Remove unwanted whitespace between sections globally */
.elementor > .e-con + .e-con {
  margin-top: 0 !important;
}

/* ===== MAJOR OVERHAUL: GRIDS, GLASS, FONTS, FORMS ===== */

/* 34. Font import - Poppins for headings, Inter for body */

/* 35. Apply branded fonts globally */
body, p, li, a, span, div, input, select, textarea, button {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  letter-spacing: -0.01em;
}
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
}

h2,
.elementor-widget-heading h2.elementor-heading-title {
  font-weight: 700 !important;
}
body { font-size: 16.5px !important; line-height: 1.7 !important; }

/* 36. Home page services grid - 4 columns */
.page-id-133 .elementor-element-4debe66 .e-con-inner > .e-con > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
/* Also target direct child containers of the service wrapper */
.page-id-133 .elementor-element-4debe66 .e-con-inner > .e-con {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

/* 37. Industries grid - 4 columns with equal heights */
.page-id-133 .elementor-element-96793d6 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
}
.page-id-133 .elementor-element-96793d6 > .e-con {
  height: 100% !important;
  min-height: 160px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 24px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* 38. Home page Why GoodPup grid - 4 columns */
.page-id-133 .elementor-element-ad2ea4f .e-con-inner > .e-con {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

/* 39. Responsive grids - tablet 2 cols, mobile 1 col */
@media (max-width: 1024px) {
  .page-id-133 .elementor-element-4debe66 .e-con-inner > .e-con,
  .page-id-133 .elementor-element-56a1181 .e-con-inner > .e-con,
  .page-id-133 .elementor-element-ad2ea4f .e-con-inner > .e-con {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 767px) {
  .page-id-133 .elementor-element-4debe66 .e-con-inner > .e-con,
  .page-id-133 .elementor-element-56a1181 .e-con-inner > .e-con,
  .page-id-133 .elementor-element-ad2ea4f .e-con-inner > .e-con {
    grid-template-columns: 1fr !important;
  }
}

/* 40. Home page bottom merge - Yellow CTA left of form */
.page-id-133 .elementor-element-b5c7484 {
  display: none !important;
}
.page-id-133 .elementor-element-946c563 {
  background: #0d47a1 !important;
  padding: 60px 0 !important;
}
.page-id-133 .elementor-element-946c563 .e-con-inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px 40px !important;
  align-items: start !important;
  max-width: 1300px !important;
}
.page-id-133 .elementor-element-42ac164 {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
.page-id-133 .elementor-element-4830fbc {
  grid-column: 1 !important;
  grid-row: 2 !important;
}
.page-id-133 .elementor-element-f62716d {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
}

/* 41. Form section left CTA text styling */
.page-id-133 .elementor-element-42ac164 .elementor-heading-title {
  color: #ffffff !important;
  font-family: 'Poppins', sans-serif !important;
  line-height: 1.3 !important;
}
.page-id-133 .elementor-element-4830fbc {
  color: rgba(255,255,255,0.9) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}
.page-id-133 .elementor-element-4830fbc p {
  color: rgba(255,255,255,0.9) !important;
}
.page-id-133 .elementor-element-f62716d {
  background: rgba(255,255,255,0.95) !important;
  backdrop-filter: blur(12px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.4) !important;
  border: 1px solid rgba(255,255,255,0.4) !important;
  border-radius: 20px !important;
  padding: 32px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.15) !important;
}

/* 42. FAQ always-visible glass cards - 2x3 grid */
.page-id-133 .elementor-element-a92815b {
  padding: 60px 0 !important;
}
.page-id-133 .elementor-element-d0e3cda .elementor-accordion {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}
.page-id-133 .elementor-accordion .elementor-accordion-item {
  background: rgba(255,255,255,0.75) !important;
  backdrop-filter: blur(12px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.4) !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 24px rgba(13,71,161,0.08) !important;
  padding: 24px !important;
  margin-bottom: 0 !important;
}
.page-id-133 .elementor-accordion .elementor-tab-title {
  padding: 0 !important;
  border: none !important;
  pointer-events: none !important;
  cursor: default !important;
}
.page-id-133 .elementor-accordion .elementor-tab-title a {
  color: #0d47a1 !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
}
.page-id-133 .elementor-accordion .elementor-tab-title .elementor-accordion-icon {
  display: none !important;
}
.page-id-133 .elementor-accordion .elementor-tab-content {
  display: block !important;
  padding: 12px 0 0 0 !important;
  border: none !important;
  color: #444 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}
@media (max-width: 1024px) {
  .page-id-133 .elementor-element-d0e3cda .elementor-accordion {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 767px) {
  .page-id-133 .elementor-element-d0e3cda .elementor-accordion {
    grid-template-columns: 1fr !important;
  }
}

/* 43. Form styling - depth, glass, visible button */
.elementor-widget-form .elementor-form {
  background: rgba(255,255,255,0.8) !important;
  backdrop-filter: blur(14px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.4) !important;
  border: 1px solid rgba(255,255,255,0.5) !important;
  border-radius: 20px !important;
  padding: 32px 28px !important;
  box-shadow: 0 8px 40px rgba(13,71,161,0.10), 0 2px 8px rgba(0,0,0,0.04) !important;
}
/* Send / Send Message button - highly visible */
.elementor-widget-form .elementor-button {
  background-color: #188bf6 !important;
  color: #ffffff !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: 17px !important;
  letter-spacing: 0.02em !important;
  border-radius: 12px !important;
  padding: 14px 32px !important;
  box-shadow: 0 4px 16px rgba(24,139,246,0.35) !important;
  transition: all 0.2s ease !important;
}
.elementor-widget-form .elementor-button:hover {
  background-color: #0d47a1 !important;
  box-shadow: 0 6px 24px rgba(13,71,161,0.4) !important;
  transform: translateY(-1px) !important;
}
/* Form inputs - subtle refinement */
.elementor-field-textual {
  border: 1px solid rgba(13,71,161,0.12) !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  font-size: 15px !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  background: rgba(255,255,255,0.6) !important;
}
.elementor-field-textual:focus {
  border-color: #188bf6 !important;
  box-shadow: 0 0 0 3px rgba(24,139,246,0.1) !important;
  outline: none !important;
}

/* 44. Liquid glass on ALL card-like blocks globally */
.page-id-133 .elementor-element-4debe66 .e-con-inner > .e-con > .e-con,
.page-id-133 .elementor-element-56a1181 .e-con-inner > .e-con > .e-con,
.page-id-133 .elementor-element-ad2ea4f .e-con-inner > .e-con > .e-con {
  background: rgba(255,255,255,0.7) !important;
  backdrop-filter: blur(14px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.4) !important;
  border: 1px solid rgba(255,255,255,0.35) !important;
  border-radius: 18px !important;
  box-shadow: 0 4px 24px rgba(13,71,161,0.07), 0 1px 3px rgba(0,0,0,0.03) !important;
  padding: 28px !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.page-id-133 .elementor-element-4debe66 .e-con-inner > .e-con > .e-con:hover,
.page-id-133 .elementor-element-56a1181 .e-con-inner > .e-con > .e-con:hover,
.page-id-133 .elementor-element-ad2ea4f .e-con-inner > .e-con > .e-con:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 32px rgba(13,71,161,0.12), 0 2px 6px rgba(0,0,0,0.05) !important;
}
/* Blog listing cards - liquid glass */
.blog .e-con > .e-con,
.archive .e-con > .e-con {
  background: rgba(255,255,255,0.7) !important;
  backdrop-filter: blur(12px) saturate(1.3) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.3) !important;
  border: 1px solid rgba(255,255,255,0.35) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 20px rgba(13,71,161,0.06) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

/* Reset glass card styling on footer containers (blog/archive pages) */
.archive footer.elementor-location-footer .e-con > .e-con,
footer.elementor-location-footer .e-con > .e-con {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: none !important;
}
/* Service page form sidebar - glass */
.elementor-widget-form .elementor-widget-container {
  border-radius: 20px !important;
}

/* 45. Footer services list - left aligned */
footer .elementor-icon-list-items,
[data-elementor-type="footer"] .elementor-icon-list-items,
.elementor-location-footer .elementor-icon-list-items {
  text-align: left !important;
  align-items: flex-start !important;
}
footer .elementor-icon-list-item,
[data-elementor-type="footer"] .elementor-icon-list-item,
.elementor-location-footer .elementor-icon-list-item {
  text-align: left !important;
  justify-content: flex-start !important;
}

/* 46. Form dropdown double-arrow fix - strengthened */
.elementor-field-type-select select,
.elementor-widget-form select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230d47a1' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 12px !important;
  padding-right: 40px !important;
}
/* Hide Elementor's built-in select arrow */
.elementor-field-type-select::after,
.elementor-field-type-select .select-caret-down-wrapper,
.elementor-field-type-select .elementor-field-option:after {
  display: none !important;
}
.elementor-field-type-select {
  position: relative !important;
}
.elementor-field-type-select select + *:not(label):not(.elementor-field-label) {
  display: none !important;
}

/* 47. Content width - match header 1300px */
[data-elementor-type="wp-page"] > .e-con > .e-con-inner,
[data-elementor-type="wp-post"] > .e-con > .e-con-inner {
  max-width: 1300px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 49. Blog sidebar - pure CSS sticky (prevents Elementor JS hitching) */
.single-post [data-elementor-type="wp-post"] .e-con .e-con-inner > .e-con:last-child {
    position: sticky !important;
    top: 100px !important;
    align-self: flex-start !important;
}

/* 50. Industry cards responsive equal heights */
@media (max-width: 1024px) {
  .page-id-133 .elementor-element-96793d6 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 767px) {
  .page-id-133 .elementor-element-96793d6 {
    grid-template-columns: 1fr !important;
  }
}

/* 51. Form section responsive for bottom merge */
@media (max-width: 1024px) {
  .page-id-133 .elementor-element-946c563 .e-con-inner {
    grid-template-columns: 1fr !important;
  }
}

/* 52. Hide yellow CTA block on all service pages */
.elementor-element-33e4cdf,
.elementor-element-81bf031,
.elementor-element-aea567d,
.elementor-element-ab386c7,
.elementor-element-31bfa38,
.elementor-element-fdbde9f {
  display: none !important;
}

/* 55. Hide blue CTA block at end of ALL service pages */
.elementor-element-33b7041,
.elementor-element-29984af,
.elementor-element-c3f2b54,
.elementor-element-b6ee905,
.elementor-element-5591348 {
  display: none !important;
}

/* 56. Footer services list - align with Our Services heading */
.elementor-element-91ac2c4 ul {
  padding-left: 0 !important;
  list-style: none !important;
  margin: 0 !important;
}

/* 57. Nav menu links - bolder */

/* 58. Logo - prevent excessive shrinking on responsive */
[data-elementor-type="header"] .elementor-widget-theme-site-logo img {
  min-width: 55px;
}
@media (max-width: 767px) {
  [data-elementor-type="header"] .elementor-widget-theme-site-logo img {
    min-width: 50px;
    max-height: 55px !important;
  }
}tor-element-d238856 {
  width: 100% !important;
  max-width: 800px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
.page-id-133 .elementor-element-6c2ef50 {
  padding-top: 40px !important;
  padding-bottom: 60px !important;
}
.page-id-133 .elementor-element-6c2ef50 h1 {
  font-size: 54px !important;
  text-align: center !important;
}
.page-id-133 .elementor-element-6c2ef50 h5 {
  text-align: center !important;
  font-size: 20px !important;
}
.page-id-133 .elementor-element-6c2ef50 p {
  text-align: center !important;
  font-size: 18px !important;
}
.page-id-133 .elementor-element-6c2ef50 .elementor-widget-button {
  text-align: center !important;
}
.page-id-133 .elementor-element-6c2ef50 .elementor-button {
  padding: 16px 36px !important;
  font-size: 17px !important;
}
.page-id-133 .elementor-element-d238856 .elementor-widget-button .elementor-widget-container {
  justify-content: center !important;
  display: flex !important;
  gap: 16px;
  flex-wrap: wrap;
}

/* --- 49. Home Page H2s: Bigger & Bolder --- */
.page-id-133 h2 {
  font-size: 42px !important;
  font-weight: 700 !important;
}
.page-id-133 h3:not(.elementor-accordion-title) {
  font-size: 32px !important;
}

/* --- 50. Blog Pages: Remove Yellow CTA Blocks --- */
.single-post .elementor-element-ff6535d,
.single-post .elementor-element-21e7362,
.single-post .elementor-element-5055159,
.single-post .elementor-element-f6c26ca {
  display: none !important;
}

/* --- 51. Internal Link Colors: Blue --- */
.elementor-widget-theme-post-content a,
.elementor-widget-text-editor a:not(.elementor-button) {
  color: #1565c0 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.elementor-widget-theme-post-content a:hover,
.elementor-widget-text-editor a:not(.elementor-button):hover {
  color: #0d47a1 !important;
  text-decoration: underline;
}
/* Exclude buttons, nav, and CTAs from blue link styling */
.elementor-button,
.elementor-icon-list-item a {
  color: inherit !important;
  text-decoration: none !important;
}

/* --- 52. Blog Pages: Match Header Width --- */
.single-post [data-elementor-type="wp-post"] > .e-con > .e-con-inner {
  max-width: 1300px !important;
}

/* --- 53. Responsive Adjustments for Round 3 --- */
@media (max-width: 1024px) {
  .page-id-133 .elementor-element-6c2ef50 h1 {
    font-size: 42px !important;
  }
  .page-id-133 h2 {
    font-size: 36px !important;
  }
  [data-elementor-type="header"] .elementor-widget-theme-site-logo img,
  [data-elementor-type="header"] .elementor-widget-theme-site-logo img {
    width: 85px;
    max-width: 85px !important;
  }
}
@media (max-width: 767px) {
  .page-id-133 .elementor-element-6c2ef50 h1 {
    font-size: 34px !important;
  }
  .page-id-133 h2 {
    font-size: 30px !important;
  }
  .page-id-133 .elementor-element-d238856 {
    max-width: 100% !important;
    padding: 0 16px !important;
  }
}

/* --- 54. Industry Cards: Background Photos with Dark Overlay --- */
/* Using .e-con.elementor-element for specificity match with Elementor's generated CSS */
.page-id-133 .e-con.e-child.elementor-element.elementor-element-eb3099e {
  background: linear-gradient(rgba(13,71,161,0.45), rgba(13,71,161,0.45)),
    url('https://images.unsplash.com/photo-1621905251189-08b45d6a269e?auto=format&fit=crop&w=600&q=60') center/cover no-repeat !important;
}
.page-id-133 .e-con.e-child.elementor-element.elementor-element-cba342e {
  background: linear-gradient(rgba(13,71,161,0.45), rgba(13,71,161,0.45)),
    url('https://images.unsplash.com/photo-1589829545856-d10d557cf95f?auto=format&fit=crop&w=600&q=60') center/cover no-repeat !important;
}
.page-id-133 .e-con.e-child.elementor-element.elementor-element-c23a962 {
  background: linear-gradient(rgba(13,71,161,0.45), rgba(13,71,161,0.45)),
    url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&w=600&q=60') center/cover no-repeat !important;
}
.page-id-133 .e-con.e-child.elementor-element.elementor-element-73a1bce {
  background: linear-gradient(rgba(13,71,161,0.45), rgba(13,71,161,0.45)),
    url('https://images.unsplash.com/photo-1563013544-824ae1b704d3?auto=format&fit=crop&w=600&q=60') center/cover no-repeat !important;
}
.page-id-133 .e-con.e-child.elementor-element.elementor-element-ed51260 {
  background: linear-gradient(rgba(13,71,161,0.45), rgba(13,71,161,0.45)),
    url('https://images.unsplash.com/photo-1441986300917-64674bd600d8?auto=format&fit=crop&w=600&q=60') center/cover no-repeat !important;
}
.page-id-133 .e-con.e-child.elementor-element.elementor-element-fdbb382 {
  background: linear-gradient(rgba(13,71,161,0.45), rgba(13,71,161,0.45)),
    url('https://images.unsplash.com/photo-1552664730-d307ca884978?auto=format&fit=crop&w=600&q=60') center/cover no-repeat !important;
}
.page-id-133 .e-con.e-child.elementor-element.elementor-element-3040a78 {
  background: linear-gradient(rgba(13,71,161,0.45), rgba(13,71,161,0.45)),
    url('https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?auto=format&fit=crop&w=600&q=60') center/cover no-repeat !important;
}
.page-id-133 .e-con.e-child.elementor-element.elementor-element-cf50111 {
  background: linear-gradient(rgba(13,71,161,0.45), rgba(13,71,161,0.45)),
    url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?auto=format&fit=crop&w=600&q=60') center/cover no-repeat !important;
}
/* Shared card styles for industry cards with backgrounds */
.page-id-133 .e-con.e-child.elementor-element.elementor-element-eb3099e,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-cba342e,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-c23a962,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-73a1bce,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-ed51260,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-fdbb382,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-3040a78,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-cf50111 {
  min-height: 200px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.page-id-133 .e-con.e-child.elementor-element.elementor-element-eb3099e:hover,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-cba342e:hover,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-c23a962:hover,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-73a1bce:hover,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-ed51260:hover,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-fdbb382:hover,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-3040a78:hover,
.page-id-133 .e-con.e-child.elementor-element.elementor-element-cf50111:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 25px rgba(0,0,0,0.3) !important;
}

/* --- 55. Mobile Responsive Overrides --- */
@media (max-width: 767px) {
  /* Hero H1: scale down from 54px */
  .page-id-133 .elementor-element-6c2ef50 h1 {
    font-size: 32px !important;
  }
  /* Home page H2s: scale down from 42px */
  .page-id-133 h2 {
    font-size: 28px !important;
  }
  /* Home page H3s: scale down from 32px */
  .page-id-133 h3:not(.elementor-accordion-title) {
    font-size: 22px !important;
  }
  /* Blog H1: scale down from 36px */
  .single-post h1 {
    font-size: 26px !important;
  }
  /* Blog H2: scale down from 30px */
  .single-post h2 {
    font-size: 22px !important;
  }
  /* Nav: slightly smaller on mobile */
  /* Industry cards: ensure min-height scales */
  .page-id-133 .elementor-element-b52f877 .e-con-inner > .e-con > .e-con {
    min-height: 160px !important;
  }
}

@media (max-width: 480px) {
  .page-id-133 .elementor-element-6c2ef50 h1 {
    font-size: 28px !important;
  }
  .page-id-133 h2 {
    font-size: 24px !important;
  }
  .single-post h1 {
    font-size: 24px !important;
  }
}

/* --- 56. Footer: All Links & Text White --- */
.elementor-location-footer a,
[data-elementor-type="footer"] a,
footer a {
  color: #ffffff !important;
}
.elementor-location-footer a:hover,
[data-elementor-type="footer"] a:hover,
footer a:hover {
  color: #ffd21f !important;
  opacity: 0.9;
}
/* Footer list items that are black -> white */
.elementor-location-footer .elementor-icon-list-text,
.elementor-location-footer .elementor-widget-icon-list span,
[data-elementor-type="footer"] li,
[data-elementor-type="footer"] p:not([style*="bold"]),
[data-elementor-type="footer"] span {
  color: #ffffff !important;
}
/* Social icons white */
.elementor-location-footer .elementor-social-icon,
[data-elementor-type="footer"] .elementor-social-icon {
  color: #ffffff !important;
}

/* Footer text-editor widget links override (beats Section 51) */
[data-elementor-type="footer"] .elementor-widget-text-editor a,
[data-elementor-type="footer"] .elementor-widget-text-editor a:not(.elementor-button) {
  color: #ffffff !important;
  text-decoration: none !important;
}
[data-elementor-type="footer"] .elementor-widget-text-editor a:hover,
[data-elementor-type="footer"] .elementor-widget-text-editor a:not(.elementor-button):hover {
  color: #ffd21f !important;
}

/* --- 57. Blog Pages: Match Service Page Styling --- */
/* Blog H1: blue like service pages */
.single-post h1.entry-title,
.single-post .page-header h1 {
  color: #0d47a1 !important;
  font-size: 36px !important;
}
/* Blog H2s: blue like service pages */
.single-post .elementor-widget-text-editor h2,
.single-post [data-elementor-type="wp-post"] h2 {
  color: #0d47a1 !important;
  font-weight: 700 !important;
}
/* Blog H3s: blue like service pages */
.single-post .elementor-widget-text-editor h3,
.single-post [data-elementor-type="wp-post"] h3 {
  color: #0d47a1 !important;
}
/* Blog main container: widen to 1300px to match header nav */
.single-post main.site-main {
  max-width: 1300px !important;
}
.single-post .page-header {
  max-width: 1300px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Blog content containers: widen to 1300px */
.single-post [data-elementor-type="wp-post"] > .e-con {
  max-width: 1300px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.single-post [data-elementor-type="wp-post"] > .e-con > .e-con-inner {
  max-width: 1300px !important;
}
/* Blog hero section: tighter spacing + yellow divider */
.single-post .page-header {
  padding-top: 20px !important;
  padding-bottom: 15px !important;
  border-bottom: 4px solid #ffd21f !important;
}
.single-post [data-elementor-type="wp-post"] > .e-con:first-child {
  padding-top: 30px !important;
  padding-block-start: 30px !important;
  padding-bottom: 0px !important;
}
/* Blog subtitle / excerpt styling */
.single-post .elementor-widget-theme-post-excerpt p {
  color: #555 !important;
  font-size: 18px !important;
  margin-bottom: 0 !important;
}

/* ============================================
   SECTION 58: Round 3 - Home Page Overhaul & Blog Fixes
   ============================================ */

/* --- Step 2: Hero - Hide form, center content, bigger CTAs --- */
.page-id-133 .elementor-element-7a98ee1 {
  display: none !important;
}
.page-id-133 .elementor-element-d238856 {
  width: 100% !important;
  max-width: 800px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
.page-id-133 .elementor-element-06f82e4 .elementor-heading-title,
.page-id-133 .elementor-element-e24f469 .elementor-heading-title {
  text-align: center !important;
}
.page-id-133 .elementor-element-a130407 {
  text-align: center !important;
}
.page-id-133 .elementor-element-e24f469 h1 {
  font-weight: 700 !important;
}
/* Center button group */
.page-id-133 .elementor-element-433d0af {
  justify-content: center !important;
  align-items: center !important;
}
/* Bigger CTA buttons */
.page-id-133 .elementor-element-433d0af .elementor-button {
  font-size: 18px !important;
  padding: 18px 40px !important;
  font-weight: 600 !important;
}
/* Reduce hero top padding */
.page-id-133 .elementor-element-6c2ef50 {
  padding-top: 20px !important;
  padding-bottom: 40px !important;
}

/* --- Step 3: Home H2s - Bigger & Bolder --- */
.page-id-133 h2 {
  font-size: 42px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
.page-id-133 h3 {
  font-size: 32px !important;
  font-weight: 600 !important;
}

/* --- Step 7: Blog pages - Match service page width --- */
.single-post .elementor-location-single > .e-con {
  max-width: 1300px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}
.single-post .elementor-location-single > .e-con > .e-con-inner {
  max-width: 1300px !important;
  width: 100% !important;
}

/* --- Step 8: Remove yellow CTA blocks from blog posts --- */
.single-post .elementor-element-ff6535d,
.single-post .elementor-element-21e7362,
.single-post .elementor-element-5055159,
.single-post .elementor-element-f6c26ca {
  display: none !important;
}

/* --- Step 9: Internal link colors - Blue --- */
.elementor-widget-theme-post-content a:not(.elementor-button),
.elementor-widget-text-editor a:not(.elementor-button):not([data-elementor-type="footer"] a) {
  color: #1565c0 !important;
}
.elementor-widget-theme-post-content a:not(.elementor-button):hover,
.elementor-widget-text-editor a:not(.elementor-button):hover {
  color: #0d47a1 !important;
  text-decoration: underline !important;
}
/* Exclude footer, nav, and button links from blue */
[data-elementor-type="footer"] .elementor-widget-text-editor a,
[data-elementor-type="footer"] .elementor-widget-text-editor a:not(.elementor-button) {
  color: #ffffff !important;
  text-decoration: none !important;
}
[data-elementor-type="footer"] .elementor-widget-text-editor a:hover,
[data-elementor-type="footer"] .elementor-widget-text-editor a:not(.elementor-button):hover {
  color: #ffd21f !important;
  text-decoration: none !important;
}

/* Footer sitemap column headers - yellow */
.elementor-element-859a00c p[style*="font-weight:700"] {
  color: #ffd21f !important;
}
/* Footer sitemap grid responsive */
@media (max-width: 767px) {
  .elementor-element-859a00c div[style*="grid-template-columns"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 25px 15px !important;
  }
}
@media (max-width: 480px) {
  .elementor-element-859a00c div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }
}

/* Footer divider - content width only, not full page */
[data-elementor-type="footer"] .elementor-element-73f2b01 {
  border-top: none !important;
  border-bottom: none !important;
  position: relative;
}
[data-elementor-type="footer"] .elementor-element-73f2b01::before {
  content: "";
  display: block;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

/* Standardize footer font sizes */
[data-elementor-type="footer"] .elementor-element-8f7ffd4 .elementor-heading-title {
  font-size: 18px !important;
}
[data-elementor-type="footer"] .elementor-element-8f7ffd4 .elementor-text-editor,
[data-elementor-type="footer"] .elementor-element-8f7ffd4 .elementor-text-editor p,
[data-elementor-type="footer"] .elementor-element-8f7ffd4 .elementor-text-editor a {
  font-size: 14px !important;
}
[data-elementor-type="footer"] .elementor-element-81af2ad,
[data-elementor-type="footer"] .elementor-element-81af2ad p {
  font-size: 13px !important;
}
[data-elementor-type="footer"] .elementor-element-859a00c,
[data-elementor-type="footer"] .elementor-element-859a00c p,
[data-elementor-type="footer"] .elementor-element-859a00c a {
  font-size: 13px !important;
  line-height: 1.5 !important;
}
[data-elementor-type="footer"] .elementor-element-859a00c p[style*="font-weight:700"] {
  font-size: 15px !important;
  color: #ffd21f !important;
}
[data-elementor-type="footer"] .elementor-element-861e3b6,
[data-elementor-type="footer"] .elementor-element-861e3b6 p,
[data-elementor-type="footer"] .elementor-element-861e3b6 a {
  font-size: 13px !important;
}

/* ============================================
   SECTION 59: Punch List Fixes
   ============================================ */

/* Fix 1: Footer divider - properly centered */
[data-elementor-type="footer"] .elementor-element-73f2b01::before {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Fix 2: Bigger header logo */
[data-elementor-type="header"] .elementor-widget-theme-site-logo img {
  width: 140px;
  max-width: 140px !important;
  height: auto !important;
}

/* Fix 3: Services page - hide yellow block */
.page-id-40 .elementor-element-aa2fbe8 {
  display: none !important;
}

/* Fix 4: Privacy Policy & TOS - content width */
.page-id-243 .elementor-location-single > .e-con,
.page-id-244 .elementor-location-single > .e-con,
.page-id-243 [data-elementor-type="wp-page"] > .e-con,
.page-id-244 [data-elementor-type="wp-page"] > .e-con {
  max-width: 1300px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}

/* Fix 5: Contact page - content width & centered */
/* Contact page hero spacing - match other pages */

/* Fix 6: Global page width enforcement for all Elementor pages */
body:not(.elementor-editor-active) [data-elementor-type="wp-page"] > .e-con > .e-con-inner,
body:not(.elementor-editor-active) [data-elementor-type="wp-post"] > .e-con > .e-con-inner {
  max-width: 1300px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}

/* Fix: Logo override - more specific selector */
[data-elementor-type="header"] .elementor-widget-theme-site-logo .elementor-image img,
[data-elementor-type="header"] .elementor-widget-theme-site-logo img {
  width: 140px;
  max-width: 140px !important;
  height: auto !important;
}
/* removed logo widget override */

/* cache-bust 1772324403444 */

/* Fix: Privacy Policy & TOS pages - non-Elementor content width */
.page-id-243 > h1,
.page-id-243 > h2,
.page-id-243 > h3,
.page-id-243 > h4,
.page-id-243 > p,
.page-id-243 > ul,
.page-id-243 > ol,
.page-id-243 > table,
.page-id-243 > div:not(.nojq):not(.elementor):not(.elementor-location-header):not(.elementor-location-footer),
.page-id-244 > h1,
.page-id-244 > h2,
.page-id-244 > h3,
.page-id-244 > h4,
.page-id-244 > p,
.page-id-244 > ul,
.page-id-244 > ol,
.page-id-244 > table,
.page-id-244 > div:not(.nojq):not(.elementor):not(.elementor-location-header):not(.elementor-location-footer) {
    max-width: 1300px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 30px;
    padding-right: 30px;
    box-sizing: border-box;
}
.page-id-243 > h1:first-of-type,
.page-id-244 > h1:first-of-type {
    padding-top: 40px;
    color: #0d47a1;
    font-family: Roboto, sans-serif;
    font-size: 36px;
    font-weight: 700;
}
.page-id-243 > h2, .page-id-243 > h3,
.page-id-244 > h2, .page-id-244 > h3 {
    color: #0d47a1;
    font-family: Roboto, sans-serif;
}
.page-id-243 > p, .page-id-243 > ul, .page-id-243 > ol,
.page-id-244 > p, .page-id-244 > ul, .page-id-244 > ol {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    line-height: 1.7;
    color: #333;
}

/* ===== ROUND 3 FIXES - Session Continuation ===== */

/* Fix 1: Hide FAQ/service/blog blocks on Google Ads vs Meta Ads post (663) */
.postid-663 .elementor-element-5602134,
.postid-663 .elementor-element-d40bd92 {
    display: none !important;
}

/* Fix 2: Double header logo size (140px -> 280px) */
[data-elementor-type="header"] .elementor-widget-theme-site-logo .elementor-image img,
[data-elementor-type="header"] .elementor-widget-theme-site-logo img {
    width: 280px;
    max-width: 280px !important;
    height: auto !important;
}
/* removed logo widget override */

/* Fix 3: Content vs Form width ratio (~66% / ~29%) */
/* Target form column (the e-con child that contains the form widget) */
.e-con.e-child:has(.elementor-widget-form) {
    --width: 29% !important;
}
/* Target content column (sibling before the form column) */
.e-con.e-child:has(~ .e-con.e-child:has(.elementor-widget-form)) {
    --width: 66% !important;
}

/* Fix 4: Send button - compact style (small, not full-width) */
.elementor-widget-form .elementor-button {
    background-color: #0c41c7 !important;
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: normal !important;
    border-radius: 4px !important;
    padding: 10px 20px !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    width: auto !important;
    min-width: unset !important;
}
.elementor-widget-form .elementor-button:hover {
    background-color: #0d47a1 !important;
    box-shadow: 0 2px 8px rgba(12, 65, 199, 0.3) !important;
    transform: none !important;
}
.e-form__buttons__wrapper {
    text-align: left !important;
    justify-content: flex-start !important;
}
.e-form__buttons {
    flex-grow: 0 !important;
}

/* Fix 3b: Content column width - alternative selector (parent :has form, target first child) */
.e-con-inner:has(> .e-con.e-child .elementor-widget-form) > .e-con.e-child:first-child {
    --width: 66% !important;
}

/* Fix 4b: Button - prevent stretching to full width */
.elementor-widget-form .elementor-button {
    display: inline-block !important;
}
.e-form__buttons {
    flex-grow: 0 !important;
    width: auto !important;
}
.e-form__buttons__wrapper .elementor-field-type-submit {
    flex-basis: auto !important;
    flex-grow: 0 !important;
    width: auto !important;
}

/* Fix 5: Industry card hover effect for clickable cards */
.page-id-133 .elementor-element-eb3099e,
.page-id-133 .elementor-element-cba342e,
.page-id-133 .elementor-element-c23a962,
.page-id-133 .elementor-element-73a1bce,
.page-id-133 .elementor-element-ed51260,
.page-id-133 .elementor-element-fdbb382,
.page-id-133 .elementor-element-3040a78,
.page-id-133 .elementor-element-cf50111 {
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    cursor: pointer !important;
}
.page-id-133 .elementor-element-eb3099e:hover,
.page-id-133 .elementor-element-cba342e:hover,
.page-id-133 .elementor-element-c23a962:hover,
.page-id-133 .elementor-element-73a1bce:hover,
.page-id-133 .elementor-element-ed51260:hover,
.page-id-133 .elementor-element-fdbb382:hover,
.page-id-133 .elementor-element-3040a78:hover,
.page-id-133 .elementor-element-cf50111:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 6px 20px rgba(13,71,161,0.15) !important;
}

/* ===== ROUND 4 FIXES ===== */

/* Override Fix 3: Content/Form ratio - only apply when 2+ columns exist */
/* Reset single-column form containers (like home page) */
.e-con.e-child:has(.elementor-widget-form):only-child {
    --width: 100% !important;
}
/* Only apply ratio when parent has 2+ child columns */
.e-con-inner:has(> .e-con.e-child:nth-child(2)):has(> .e-con.e-child .elementor-widget-form) > .e-con.e-child:has(.elementor-widget-form) {
    --width: 29% !important;
}
.e-con-inner:has(> .e-con.e-child:nth-child(2)):has(> .e-con.e-child .elementor-widget-form) > .e-con.e-child:first-child:not(:has(.elementor-widget-form)) {
    --width: 66% !important;
}

/* Fix: Header logo column - widen to fit 280px logo */
/* removed old logo rule */

/* Fix: Services page - constrain to content width, 4 per row */
.page-id-40 .elementor-element-92ecee2 {
    max-width: 1300px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}
/* Reduce gap between hero and cards on /services/ */
.page-id-40 .elementor-element-92ecee2 {
    padding-top: 20px !important;
}

.page-id-40 .elementor-element-08b0929,
.page-id-40 .elementor-element-444e03b {
    max-width: 100% !important;
}
.page-id-40 .elementor-element-08b0929 > .e-con-inner > .e-con,
.page-id-40 .elementor-element-444e03b > .e-con-inner > .e-con {
    --width: 23% !important;
}

/* ===== ROUND 4b - Home page form fix ===== */
/* Home page form column should be full-width (not in a 2-col layout) */
.page-id-133 .elementor-element-f62716d {
    --width: 100% !important;
}
/* Also reset the content column override for home page */
.page-id-133 .elementor-element-946c563 .e-con.e-child:first-child {
    --width: initial !important;
}

/* ===== ROUND 4c - Higher specificity home page form fix ===== */
body.page-id-133 .elementor-element-f62716d.e-con.e-child {
    --width: 100% !important;
    max-width: 100% !important;
}

/* ===== ROUND 4d - Services card width fix (cards are direct children, no e-con-inner) ===== */
.page-id-40 .elementor-element-08b0929 > .e-con,
.page-id-40 .elementor-element-444e03b > .e-con {
    --width: 23% !important;
}

/* ===== ROUND 5 - Visual Polish ===== */

/* 1. Home page - all section backgrounds white */
.page-id-133 [data-elementor-type="wp-page"] > .e-con {
    background-color: #ffffff !important;
    background-image: none !important;
}
/* Keep intentionally colored sections: industry (blue), CTA (yellow), form (blue) */
.page-id-133 [data-elementor-type="wp-page"] > .e-con.elementor-element-56a1181 {
    background-color: #0d47a1 !important;
    background-image: none !important;
}
.page-id-133 [data-elementor-type="wp-page"] > .e-con.elementor-element-b5c7484 {
    background-color: #ffd21f !important;
    background-image: none !important;
}
.page-id-133 [data-elementor-type="wp-page"] > .e-con.elementor-element-946c563 {
    background-color: #0d47a1 !important;
    background-image: none !important;
}

/* 2. Home page service cards - Learn More as blue button with white text */
.page-id-133 .elementor-element-4debe66 .e-con.e-child a {
    color: #ffffff !important;
    background-color: #188bf6 !important;
    padding: 8px 18px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    display: inline-block !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    transition: background-color 0.2s ease !important;
}
.page-id-133 .elementor-element-4debe66 .e-con.e-child a:hover {
    background-color: #0d47a1 !important;
}

/* 3. Header nav - brand blue color, Poppins font */

/* 4. Footer divider - centered horizontal line between top and bottom sections */
[data-elementor-type="footer"] .elementor-element-859a00c {
    border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
    padding-top: 30px !important;
    margin-top: 20px !important;
    max-width: 1300px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ===== HOME PAGE HERO - Cincinnati Skyline Background ===== */
.page-id-133 [data-elementor-type="wp-page"] > .e-con:first-child {
    background-image: url('https://images.unsplash.com/photo-1592159784618-f1f74127d773?w=1920&q=80&auto=format') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    position: relative !important;
}
.page-id-133 [data-elementor-type="wp-page"] > .e-con:first-child::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(135deg, rgba(13,71,161,0.85) 0%, rgba(0,0,0,0.7) 100%) !important;
    z-index: 0 !important;
}
.page-id-133 [data-elementor-type="wp-page"] > .e-con:first-child .e-con-inner {
    position: relative !important;
    z-index: 1 !important;
}
/* Hero text colors on dark overlay */
.page-id-133 [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-text-editor {
    color: #ffffff !important;
}
.page-id-133 [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-text-editor p {
    color: #e0e0e0 !important;
}
.page-id-133 [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-heading .elementor-heading-title {
    color: #ffffff !important;
}
.page-id-133 [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-heading h1.elementor-heading-title {
    color: #ffd21f !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3) !important;
}

/* Center text in "You Own Everything" value props section */
.elementor-element-404c458 > .e-con {
  text-align: center !important;
}
.elementor-element-404c458 > .e-con .elementor-widget-heading,
.elementor-element-404c458 > .e-con .elementor-widget-text-editor {
  text-align: center !important;
}
.elementor-element-404c458 > .e-con .elementor-heading-title,
.elementor-element-404c458 > .e-con .elementor-text-editor {
  text-align: center !important;
}

/* Make service cards equal height and stretch within rows */
.page-id-133 .elementor-element-4debe66 .elementor-element-53afe76 {
  align-items: stretch !important;
}
.elementor-element-53afe76 > .e-con {
  min-height: 460px !important;
  display: flex !important;
  flex-direction: column !important;
}
.elementor-element-53afe76 > .e-con .elementor-widget-button {
  margin-top: auto !important;
}

/* ===== HOMEPAGE DESIGN UPDATES (March 2026) ===== */

/* 1. Hero CTA buttons - white font */
.elementor-element-19cd790 .elementor-button,
.elementor-element-91e0ea7 .elementor-button {
    color: #ffffff !important;
}
.elementor-element-19cd790 .elementor-button-text,
.elementor-element-91e0ea7 .elementor-button-text {
    color: #ffffff !important;
}
.elementor-element-19cd790 .elementor-button-icon,
.elementor-element-19cd790 .elementor-button-icon i,
.elementor-element-19cd790 .elementor-button-icon svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* 2. Fix service card spacing - remove forced min-height */
.elementor-element-53afe76 > .e-con {
    min-height: 0 !important;
}

/* 3. Homepage section backgrounds - all white (not footer) */
.page-id-133 [data-elementor-type="wp-page"] > .e-con.elementor-element-56a1181,
.elementor-133 .elementor-element.elementor-element-56a1181:not(.elementor-motion-effects-element-type-background) {
    background-color: #ffffff !important;
    background-image: none !important;
}
.page-id-133 [data-elementor-type="wp-page"] > .e-con.elementor-element-b5c7484,
.elementor-133 .elementor-element.elementor-element-b5c7484:not(.elementor-motion-effects-element-type-background) {
    background-color: #ffffff !important;
    background-image: none !important;
}
.page-id-133 [data-elementor-type="wp-page"] > .e-con.elementor-element-946c563,
.elementor-133 .elementor-element.elementor-element-946c563:not(.elementor-motion-effects-element-type-background) {
    background-color: #ffffff !important;
    background-image: none !important;
}

/* Adjust text colors for formerly blue/yellow sections */
.elementor-element-56a1181 .elementor-heading-title {
    color: #0d47a1 !important;
}
.elementor-element-56a1181 .elementor-text-editor,
.elementor-element-56a1181 .elementor-text-editor p,
.elementor-element-56a1181 p {
    color: #1d2e3b !important;
}
.elementor-element-b5c7484 .elementor-heading-title {
    color: #0d47a1 !important;
}
.elementor-element-b5c7484 .elementor-text-editor,
.elementor-element-b5c7484 .elementor-text-editor p,
.elementor-element-b5c7484 p {
    color: #1d2e3b !important;
}
.elementor-element-946c563 .elementor-heading-title {
    color: #0d47a1 !important;
}
.elementor-element-946c563 .elementor-text-editor,
.elementor-element-946c563 .elementor-text-editor p,
.elementor-element-946c563 p {
    color: #1d2e3b !important;
}
.elementor-element-946c563 .elementor-field-label {
    color: #1d2e3b !important;
}

/* 4. Homepage H2s bold - match H1 font-weight (700) */
.elementor-133 h2 {
    font-weight: 700 !important;
}

/* 5. Remove footer top divider line (fill gaps with matching bg) */
[data-elementor-id="240"] {
    background-color: #0d47a1;
}

/* 6. Fix header-hero white space on all pages */
[data-elementor-id="57"] > .e-con + .e-con {
    margin-bottom: 0 !important;
}

/* === Additional specificity fixes for white-to-white sections === */

/* Section 946c563 - Form section heading (was white on blue) */
.page-id-133 .elementor-element-42ac164 .elementor-heading-title {
    color: #0d47a1 !important;
}
/* Section 946c563 - Text content (was white/yellow on blue) */
.page-id-133 .elementor-element-4830fbc,
.page-id-133 .elementor-element-4830fbc p,
.page-id-133 .elementor-element-4830fbc strong {
    color: #1d2e3b !important;
}
.page-id-133 .elementor-element-4830fbc h3 {
    color: #0d47a1 !important;
}

.page-id-133 .elementor-element-c7d8937 .elementor-button,
.page-id-133 .elementor-element-c7d8937 .elementor-button-text {
    color: #ffffff !important;
}
/* "Get a Free Ads Audit" button - give it visible border on white bg */
.page-id-133 .elementor-element-94c659c .elementor-button {
    background-color: #188bf6 !important;
    color: #ffffff !important;
}
.page-id-133 .elementor-element-94c659c .elementor-button-text {
    color: #ffffff !important;
}

/* Footer section overlap fix for sub-pixel gaps */
[data-elementor-id="240"] > .e-con + .e-con {
    margin-top: -1px !important;
}

/* ===== HEADER SCROLL FIX + NEW CHANGES (March 2026 Batch 2) ===== */

/* Fix header/hero gap AND scroll hitching */
/* Remove margin from nav, collapse placeholder, smooth sticky transition */
[data-elementor-id="57"] > .e-con:first-child {
    margin-bottom: 0 !important;
}
[data-elementor-id="57"] > .e-con + .e-con {
    height: 0 !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}
/* Smooth sticky header transition to reduce hitching */
[data-elementor-id="57"] > .e-con.e-sticky {
    transition: none !important;
}
[data-elementor-id="57"] .elementor-element {
    transition: background 0.15s ease, box-shadow 0.15s ease !important;
}
/* Industry card text colors - white titles, yellow subtitles */
.elementor-element-96793d6 h4.elementor-heading-title {
    color: #ffffff !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}
.elementor-element-96793d6 h5.elementor-heading-title {
    color: #ffd21f !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}

/* Nav dropdown arrow - match nav text color (blue instead of black) */
.sub-arrow svg,

/* Blue H tags on all pages (blog, industry, service area, etc.) */
/* Targets page content headings globally */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.elementor h1.elementor-heading-title,
.elementor h2.elementor-heading-title,
.elementor h3.elementor-heading-title,
.elementor h4.elementor-heading-title {
    color: #0d47a1 !important;
}
/* Preserve white text on dark/blue overlay sections */
.elementor-element-96793d6 h4.elementor-heading-title {
    color: #ffffff !important;
}

/* ===== MOBILE/TABLET RESPONSIVE OPTIMIZATION ===== */

/* Tablet (768px - 1024px) */
@media (max-width: 1024px) {
    /* Prevent content from being squished */
    .elementor-section .elementor-container {
        flex-wrap: wrap !important;
    }
    .e-con {
        flex-wrap: wrap !important;
    }
    /* Make two-column layouts stack on tablet */
    .e-con > .e-con {
        width: 100% !important;
        max-width: 100% !important;
    }
    /* Forms should be full width */
    .elementor-form {
        width: 100% !important;
    }
    /* Industry cards - 2 per row on tablet */
    .elementor-element-96793d6 > .e-con {
        width: 48% !important;
        min-width: 48% !important;
    }
    /* Fix two-column layouts on tablet too */
    .e-con-inner {
        flex-direction: column !important;
    }
    .e-con-inner > .e-con {
        width: 100% !important;
        max-width: 100% !important;
        --width: 100% !important;
    }
    /* Keep header row layout on tablet */
    [data-elementor-id="57"] .e-con-inner {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }
    [data-elementor-id="57"] .e-con-inner > .e-con {
        width: auto !important;
        max-width: none !important;
        --width: auto !important;
    }
}

/* Mobile (up to 767px) */
@media (max-width: 767px) {
    /* Stack ALL columns vertically */
    .elementor-section .elementor-container {
        flex-direction: column !important;
    }
    .e-con {
        flex-wrap: wrap !important;
        flex-direction: column !important;
    }
    .e-con > .e-con {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
    }
    /* Hero text sizing */
    .elementor-element-6c2ef50 h1,
    .elementor-element-6c2ef50 .elementor-heading-title {
        font-size: 32px !important;
        line-height: 1.2 !important;
    }
    .elementor-element-6c2ef50 .elementor-text-editor {
        font-size: 16px !important;
    }
    /* Hero buttons stack vertically */
    .elementor-element-6c2ef50 .elementor-button-wrapper {
        display: block !important;
        width: 100% !important;
        margin-bottom: 10px !important;
    }
    /* Service cards - 1 per row */
    .elementor-element-53afe76 > .e-con > .e-con {
        width: 100% !important;
        max-width: 100% !important;
    }
    /* Industry cards - 1 per row */
    .elementor-element-96793d6 > .e-con {
        width: 100% !important;
        min-width: 100% !important;
    }
    /* Form containers full width */
    .elementor-form {
        width: 100% !important;
        max-width: 100% !important;
    }
    .elementor-field-group {
        width: 100% !important;
        flex-basis: 100% !important;
        max-width: 100% !important;
    }
    /* General font size adjustments */
    h1.elementor-heading-title,
    .elementor h1 {
        font-size: 28px !important;
    }
    h2.elementor-heading-title,
    .elementor h2 {
        font-size: 24px !important;
    }
    h3.elementor-heading-title,
    .elementor h3 {
        font-size: 20px !important;
    }
    /* Padding adjustments for mobile */
    .e-con {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    /* Header nav - ensure mobile menu works */
    /* dropdown item rule removed */
    /* Value props section - stack cards */
    .elementor-element-404c458 > .e-con {
        width: 100% !important;
        max-width: 100% !important;
    }
    /* Two-column form fields stack */
    .elementor-field-type-text,
    .elementor-field-type-email,
    .elementor-field-type-tel {
        width: 100% !important;
    }
    /* Phone container - show and align left */

    /* Fix two-column layouts stacking on mobile (content + form) */
    .e-con-inner {
        flex-direction: column !important;
    }
    .e-con-inner > .e-con {
        width: 100% !important;
        max-width: 100% !important;
        --width: 100% !important;
    }
    /* Keep header row layout on mobile */
    [data-elementor-id="57"] .e-con-inner {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }
    [data-elementor-id="57"] .e-con-inner > .e-con {
        width: auto !important;
        max-width: none !important;
        --width: auto !important;
    }
    /* Ensure sticky forms are not sticky on mobile */
    .e-con.e-sticky {
        position: relative !important;
    }
}

/* ===== CENTER H1s ON ALL PAGES ===== */
.elementor h1.elementor-heading-title,
.entry-content h1 {
    text-align: center !important;
}

/* ===== YELLOW DIVIDER FADE EFFECT ===== */
/* Replace solid yellow line with gradient that fades at edges */
.elementor-widget-divider .elementor-divider-separator {
    background: linear-gradient(
        to right,
        transparent 0%,
        #ffd21f 15%,
        #ffd21f 85%,
        transparent 100%
    ) !important;
    border: none !important;
    height: 4px !important;
}
/* Override any border-based dividers */
.elementor-widget-divider .elementor-divider-separator::after,
.elementor-widget-divider .elementor-divider-separator::before {
    display: none !important;
}
.elementor-widget-divider .elementor-divider {
    border: none !important;
}

/* ====================================================
   BATCH CSS UPDATE - March 2026
   ==================================================== */

/* --- Fix header/hero gap AND scroll hitching --- */
[data-elementor-id="57"] > .e-con:first-child {
    margin-bottom: 0 !important;
}
[data-elementor-id="57"] > .e-con + .e-con {
    height: 0 !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}
[data-elementor-id="57"] > .e-con.e-sticky {
    transition: none !important;
}
[data-elementor-id="57"] .elementor-element {
    transition: background 0.15s ease, box-shadow 0.15s ease !important;
}

/* --- Industry card text: white titles, yellow subtitles --- */
.elementor-element-96793d6 h4.elementor-heading-title {
    color: #ffffff !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}
.elementor-element-96793d6 h5.elementor-heading-title {
    color: #ffd21f !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}

/* --- Nav dropdown arrow color --- */
.sub-arrow svg,

/* --- Blue H tags globally --- */
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4,
.elementor h1.elementor-heading-title,
.elementor h2.elementor-heading-title,
.elementor h3.elementor-heading-title,
.elementor h4.elementor-heading-title {
    color: #0d47a1 !important;
}
/* Preserve white on industry cards */
.elementor-element-96793d6 h4.elementor-heading-title {
    color: #ffffff !important;
}

/* --- Center H1s on all pages --- */
.elementor h1.elementor-heading-title,
.entry-content h1 {
    text-align: center !important;
}

/* --- Yellow divider fade effect --- */
.elementor-widget-divider .elementor-divider-separator {
    background: linear-gradient(to right, transparent 0%, #ffd21f 15%, #ffd21f 85%, transparent 100%) !important;
    border: none !important;
    height: 4px !important;
}
.elementor-widget-divider .elementor-divider-separator::after,
.elementor-widget-divider .elementor-divider-separator::before {
    display: none !important;
}
.elementor-widget-divider .elementor-divider {
    border: none !important;
}

/* --- Hide yellow CTA block on About page --- */
.elementor-element-ae211c5 {
    display: none !important;
}

/* --- FAQ sub-headings larger --- */
.elementor-widget-icon-box .elementor-icon-box-title {
    font-size: 22px !important;
}

/* ====== TABLET (max-width: 1024px) ====== */
@media (max-width: 1024px) {
    .elementor-section .elementor-container { flex-wrap: wrap !important; }
    .e-con { flex-wrap: wrap !important; }
    .e-con > .e-con { width: 100% !important; max-width: 100% !important; }
    .elementor-form { width: 100% !important; }
    .elementor-element-96793d6 > .e-con { width: 48% !important; min-width: 48% !important; }
    .e-con-inner { flex-direction: column !important; }
    .e-con-inner > .e-con { width: 100% !important; max-width: 100% !important; --width: 100% !important; }
    /* Keep header row on tablet */
    [data-elementor-id="57"] .e-con-inner { flex-direction: row !important; align-items: center !important; justify-content: space-between !important; }
    [data-elementor-id="57"] .e-con-inner > .e-con { width: auto !important; max-width: none !important; --width: auto !important; }
}

/* ====== MOBILE (max-width: 767px) ====== */
@media (max-width: 767px) {
    .elementor-section .elementor-container { flex-direction: column !important; }
    .e-con { flex-wrap: wrap !important; flex-direction: column !important; }
    .e-con > .e-con { width: 100% !important; max-width: 100% !important; min-width: 100% !important; }
    /* Hero text sizing */
    .elementor-element-6c2ef50 h1,
    .elementor-element-6c2ef50 .elementor-heading-title { font-size: 32px !important; line-height: 1.2 !important; }
    .elementor-element-6c2ef50 .elementor-text-editor { font-size: 16px !important; }
    /* Service cards 1 per row */
    .elementor-element-53afe76 > .e-con > .e-con { width: 100% !important; max-width: 100% !important; }
    /* Industry cards 1 per row */
    .elementor-element-96793d6 > .e-con { width: 100% !important; min-width: 100% !important; }
    /* Forms full width */
    .elementor-form { width: 100% !important; max-width: 100% !important; }
    .elementor-field-group { width: 100% !important; flex-basis: 100% !important; max-width: 100% !important; }
    /* Font sizing */
    h1.elementor-heading-title, .elementor h1 { font-size: 28px !important; }
    h2.elementor-heading-title, .elementor h2 { font-size: 24px !important; }
    h3.elementor-heading-title, .elementor h3 { font-size: 20px !important; }
    /* Padding */
    .e-con { padding-left: 15px !important; padding-right: 15px !important; }
    /* Value props stack */
    .elementor-element-404c458 > .e-con { width: 100% !important; max-width: 100% !important; }
    /* Two-column layouts stack */
    .e-con-inner { flex-direction: column !important; }
    .e-con-inner > .e-con { width: 100% !important; max-width: 100% !important; --width: 100% !important; }
    /* Sticky forms not sticky on mobile */
    .e-con.e-sticky { position: relative !important; }

    /* === MOBILE HEADER: phone LEFT | logo CENTER | hamburger RIGHT === */
    [data-elementor-id="57"] .e-con-inner {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
    }
    [data-elementor-id="57"] .e-con-inner > .e-con {
        width: auto !important;
        max-width: none !important;
        --width: auto !important;
    }

}

/* --- CTA Button: Yellow + Centered, Hide Call/Text --- */
/* Make "Get Your Free Audit" buttons yellow with dark text */
.elementor-widget-text-editor.elementor-widget a[href*="/contact/"][style*="background"] {
    background: #ffd21f !important;
    color: #1d2e3b !important;
}
/* Center the CTA paragraph */
.elementor-widget-text-editor p:has(a[style*="background"]) {
    text-align: center !important;
}
/* Hide Call/Text phone links next to CTA buttons */
.elementor-widget-text-editor p:has(a[style*="background"]) > a[href^="tel:"] {
    display: none !important;
}

/* --- Services Page: Learn More buttons white text --- */
.elementor-button .elementor-button-text {
    color: #ffffff !important;
}
/* --- Services Page: Hide redundant "Services We Provide" heading --- */
.elementor-element-aa5cfe3 {
    display: none !important;
}
/* --- Services Page: Hide redundant subtitle --- */
.elementor-element-195a1ff {
    display: none !important;
}

/* --- Homepage: Reduce section spacing --- */
.page-id-133 > .elementor > .e-con > .e-con-inner {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}
/* Keep hero section padding as-is */
.page-id-133 .elementor-element-6c2ef50 .e-con-inner {
    padding-top: 20px !important;
    padding-bottom: 40px !important;
}

/* --- FAQ page: Larger sub headings --- */
.page-id-178 h3.elementor-heading-title {
    font-size: 28px !important;
}

/* === 2. Homepage: Subheadings smaller than H2s === */
.elementor-element-ad6fc5e h3.elementor-heading-title,
.elementor-element-dbe75cd h3.elementor-heading-title {
    font-size: 22px !important;
    font-weight: 400 !important;
    color: #555 !important;
}

/* === 3. Service Cards Clickable (homepage) === */
.elementor-element-53afe76 .e-child:has(.elementor-widget-button) {
    position: relative !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.elementor-element-53afe76 .e-child:has(.elementor-widget-button):hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.12) !important;
}
.elementor-element-53afe76 .elementor-button-link::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
}

/* === 4. CTA Button: Blue glass + white text === */
.elementor-widget-text-editor.elementor-widget a[href*="/contact/"][style*="background"] {
    background: linear-gradient(135deg, #188bf6 0%, #0d47a1 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(13,71,161,0.3), inset 0 1px 0 rgba(255,255,255,0.3) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.15) !important;
    padding: 14px 32px !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
}
.elementor-widget-text-editor.elementor-widget a[href*="/contact/"][style*="background"]:hover {
    box-shadow: 0 6px 20px rgba(13,71,161,0.4), inset 0 1px 0 rgba(255,255,255,0.35) !important;
    transform: translateY(-2px) !important;
}

/* === 5. All H1s centered (broader selector) === */
h1, .entry-title, .page-title,
.elementor h1.elementor-heading-title,
.entry-content h1 {
    text-align: center !important;
}

/* === 6. Mobile: Logo centered + H1 centered === */
@media (max-width: 767px) {
    /* Ensure H1s are centered on mobile */
    h1, .entry-title, .page-title {
        text-align: center !important;
    }
}
/* === Fix: Button widget static so ::after covers full card === */
.elementor-element-53afe76 .e-child .elementor-widget-button {
    position: static !important;
}
.elementor-element-53afe76 .e-child .elementor-button-wrapper {
    position: static !important;
}

/* === Service Pages: Yellow divider fade to content width === */
.page-id-71 .elementor > .e-con.e-parent:first-child,
.page-id-79 .elementor > .e-con.e-parent:first-child,
.page-id-77 .elementor > .e-con.e-parent:first-child,
.page-id-81 .elementor > .e-con.e-parent:first-child,
.page-id-75 .elementor > .e-con.e-parent:first-child,
.page-id-83 .elementor > .e-con.e-parent:first-child,
.page-id-168 .elementor > .e-con.e-parent:first-child,
.page-id-1354 .elementor > .e-con.e-parent:first-child,
.page-id-657 .elementor > .e-con.e-parent:first-child,
.page-id-677 .elementor > .e-con.e-parent:first-child,
.page-id-678 .elementor > .e-con.e-parent:first-child,
.page-id-679 .elementor > .e-con.e-parent:first-child,
.page-id-680 .elementor > .e-con.e-parent:first-child,
.page-id-1537 .elementor > .e-con.e-parent:first-child,
.page-id-1608 .elementor > .e-con.e-parent:first-child,
.page-id-2053 .elementor > .e-con.e-parent:first-child,
.page-id-668 .elementor > .e-con.e-parent:first-child,
.page-id-1816 .elementor > .e-con.e-parent:first-child,
.page-id-1995 .elementor > .e-con.e-parent:first-child ,
.page-id-3348 .elementor > .e-con.e-parent:first-child,
.page-id-3359 .elementor > .e-con.e-parent:first-child,
.page-id-3364 .elementor > .e-con.e-parent:first-child,
.page-id-3369 .elementor > .e-con.e-parent:first-child,
.page-id-3374 .elementor > .e-con.e-parent:first-child,
.page-id-3379 .elementor > .e-con.e-parent:first-child,
.page-id-3387 .elementor > .e-con.e-parent:first-child,
.page-id-3392 .elementor > .e-con.e-parent:first-child,
.page-id-3397 .elementor > .e-con.e-parent:first-child,
.page-id-3402 .elementor > .e-con.e-parent:first-child {
    border-bottom: none !important;
    position: relative !important;
}
.page-id-71 .elementor > .e-con.e-parent:first-child::after,
.page-id-79 .elementor > .e-con.e-parent:first-child::after,
.page-id-77 .elementor > .e-con.e-parent:first-child::after,
.page-id-81 .elementor > .e-con.e-parent:first-child::after,
.page-id-75 .elementor > .e-con.e-parent:first-child::after,
.page-id-83 .elementor > .e-con.e-parent:first-child::after,
.page-id-168 .elementor > .e-con.e-parent:first-child::after,
.page-id-1354 .elementor > .e-con.e-parent:first-child::after,
.page-id-657 .elementor > .e-con.e-parent:first-child::after,
.page-id-677 .elementor > .e-con.e-parent:first-child::after,
.page-id-678 .elementor > .e-con.e-parent:first-child::after,
.page-id-679 .elementor > .e-con.e-parent:first-child::after,
.page-id-680 .elementor > .e-con.e-parent:first-child::after,
.page-id-1537 .elementor > .e-con.e-parent:first-child::after,
.page-id-1608 .elementor > .e-con.e-parent:first-child::after,
.page-id-2053 .elementor > .e-con.e-parent:first-child::after,
.page-id-668 .elementor > .e-con.e-parent:first-child::after,
.page-id-1816 .elementor > .e-con.e-parent:first-child::after,
.page-id-1995 .elementor > .e-con.e-parent:first-child::after ,
.page-id-3348 .elementor > .e-con.e-parent:first-child::after,
.page-id-3359 .elementor > .e-con.e-parent:first-child::after,
.page-id-3364 .elementor > .e-con.e-parent:first-child::after,
.page-id-3369 .elementor > .e-con.e-parent:first-child::after,
.page-id-3374 .elementor > .e-con.e-parent:first-child::after,
.page-id-3379 .elementor > .e-con.e-parent:first-child::after,
.page-id-3387 .elementor > .e-con.e-parent:first-child::after,
.page-id-3392 .elementor > .e-con.e-parent:first-child::after,
.page-id-3397 .elementor > .e-con.e-parent:first-child::after,
.page-id-3402 .elementor > .e-con.e-parent:first-child::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    max-width: 1300px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent 0%, #ffd21f 8%, #ffd21f 92%, transparent 100%) !important;
    pointer-events: none !important;
}

/* === Mobile: Center logo in header === */
@media (max-width: 767px) {
/* removed old logo rule */
}

/* === Mobile: Center ALL H1s on all pages === */
@media (max-width: 1024px) {
    .elementor-widget-heading h1.elementor-heading-title,
    .elementor-widget-theme-post-content h1,
    h1.entry-title,
    h1.page-title,
    .elementor h1 {
        text-align: center !important;
    }
}

/* === OVERRIDE: Center ALL H1s on ALL pages (desktop + mobile) === */
body:not(.page-id-0) [data-elementor-type="wp-page"] > .e-con:first-child h1,
body:not(.page-id-0) .elementor h1.elementor-heading-title,
body:not(.page-id-0) h1.elementor-heading-title,
.elementor-widget-heading h1.elementor-heading-title {
    text-align: center !important;
}

/* === Fix: H1 widget full width so centering works === */
[data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-heading {
    width: 100% !important;
}

/* === Mobile: Hamburger menu slide from right (FIXED) === */
@media (max-width: 1024px) {
}

/* === Homepage: Learn More buttons - branded yellow + bigger === */
.page-id-133 .elementor-element-53afe76 .e-con.e-child .elementor-button,
.page-id-133 .elementor-element-53afe76 .elementor-widget-button .elementor-button {
    background-color: #ffd21f !important;
    color: #1d2e3b !important;
    border-color: #ffd21f !important;
    font-size: 16px !important;
    padding: 14px 32px !important;
    font-weight: 600 !important;
}
.page-id-133 .elementor-element-53afe76 .e-con.e-child .elementor-button:hover,
.page-id-133 .elementor-element-53afe76 .elementor-widget-button .elementor-button:hover {
    background-color: #e6bd1b !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 210, 31, 0.4) !important;
}

/* === Yellow dividers: About, Contact, FAQ, Services pages === */
.page-id-86 .elementor > .e-con.e-parent:first-child,
.page-id-90 .elementor > .e-con.e-parent:first-child,
.page-id-178 .elementor > .e-con.e-parent:first-child,
.page-id-3348 .elementor > .e-con.e-parent:first-child,
.page-id-3359 .elementor > .e-con.e-parent:first-child,
.page-id-3364 .elementor > .e-con.e-parent:first-child,
.page-id-3369 .elementor > .e-con.e-parent:first-child,
.page-id-3374 .elementor > .e-con.e-parent:first-child,
.page-id-3379 .elementor > .e-con.e-parent:first-child,
.page-id-3387 .elementor > .e-con.e-parent:first-child,
.page-id-3392 .elementor > .e-con.e-parent:first-child,
.page-id-3397 .elementor > .e-con.e-parent:first-child,
.page-id-3402 .elementor > .e-con.e-parent:first-child,
.page-id-40 .elementor > .e-con.e-parent:first-child {
    border-bottom: none !important;
    position: relative !important;
}
.page-id-86 .elementor > .e-con.e-parent:first-child::after,
.page-id-90 .elementor > .e-con.e-parent:first-child::after,
.page-id-178 .elementor > .e-con.e-parent:first-child::after,
.page-id-3348 .elementor > .e-con.e-parent:first-child::after,
.page-id-3359 .elementor > .e-con.e-parent:first-child::after,
.page-id-3364 .elementor > .e-con.e-parent:first-child::after,
.page-id-3369 .elementor > .e-con.e-parent:first-child::after,
.page-id-3374 .elementor > .e-con.e-parent:first-child::after,
.page-id-3379 .elementor > .e-con.e-parent:first-child::after,
.page-id-3387 .elementor > .e-con.e-parent:first-child::after,
.page-id-3392 .elementor > .e-con.e-parent:first-child::after,
.page-id-3397 .elementor > .e-con.e-parent:first-child::after,
.page-id-3402 .elementor > .e-con.e-parent:first-child::after,
.page-id-40 .elementor > .e-con.e-parent:first-child::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    max-width: 1300px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent 0%, #ffd21f 8%, #ffd21f 92%, transparent 100%) !important;
    pointer-events: none !important;
}

/* === Remove any yellow divider/border from footer === */
[data-elementor-id="240"] .e-con.e-parent:first-child::after {
    display: none !important;
    content: none !important;
}
[data-elementor-id="240"],
[data-elementor-id="240"] .e-con {
    border-top: none !important;
    border-bottom: none !important;
}
footer::before,
footer::after {
    display: none !important;
}

/* === Fix white space above header === */
html {
    margin-top: 0 !important;
}
body:not(.admin-bar) {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.elementor-location-header {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
[data-elementor-type="header"] {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* === Remove top divider line in footer === */
footer .elementor-element-73f2b01::before {
    display: none !important;
    content: none !important;
    border: none !important;
}

/* === Mobile: Nav dropdown items vertical + proper layout === */
@media (max-width: 1024px) {
}

/* === FIX: Mobile slide panel - remove shadow/border/radius from generic dropdown === */
@media (max-width: 1024px) {
}

/* === Homepage: Learn More buttons - back to branded blue === */
.page-id-133 .elementor-element-53afe76 .e-con.e-child .elementor-button,
.page-id-133 .elementor-element-53afe76 .elementor-widget-button .elementor-button {
    background-color: #188bf6 !important;
    color: #ffffff !important;
    border-color: #188bf6 !important;
}
.page-id-133 .elementor-element-53afe76 .e-con.e-child .elementor-button:hover,
.page-id-133 .elementor-element-53afe76 .elementor-widget-button .elementor-button:hover {
    background-color: #0d47a1 !important;
    box-shadow: 0 4px 12px rgba(13, 71, 161, 0.4) !important;
}

/* === Homepage: Fix whitespace in content+form section === */
.page-id-133 [data-id="935bcdd"] {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

/* === MOBILE MENU: Full-screen overlay + All mobile fixes === */
/* Works with Elementor's native toggle - no :has() needed */
@media (max-width: 1024px) {
    /* Header bar above overlay */
    [data-elementor-id="57"] > .elementor-container {
        position: relative !important;
        z-index: 10001 !important;
        background: #ffffff !important;
    }
}

/* Mobile-specific: hide Let's Talk, show phone icon, center logo */
@media (max-width: 767px) {
    /* Center logo on mobile */
/* removed old logo rule */

}

/* === DESKTOP FIXES === */

/* H2s on homepage match H1 font weight */
.page-id-133 .elementor-widget-heading .elementor-heading-title {
    font-weight: 700 !important;
}

/* Hero CTA phone button - icon closer to text */
.elementor-element-19cd790 .elementor-button-icon {
    margin-right: -3px !important;
}
.elementor-133 .elementor-element.elementor-element-19cd790 .elementor-button-icon i,
.elementor-133 .elementor-element.elementor-element-19cd790 .elementor-button-icon svg {
    font-size: 16px !important;
    width: 16px !important;
    height: 16px !important;
}
.elementor-element-19cd790 .elementor-button-content-wrapper {
    gap: 6px !important;
}

/* Contact page subtitle - visible color and centered */


/* Fix: Contact page subtitle full-width so text-align center works */
.page-id-90 .elementor-element-5672864 {
    width: 100% !important;
}

/* Fix: Footer headings invisible (dark blue on dark blue bg) - change to white */
.elementor-location-footer .elementor-element-4a6a765 .elementor-heading-title,
.elementor-location-footer .elementor-element-2f1c01d .elementor-heading-title {
    color: #ffffff !important;
}

/* "Let's Talk" menu button - pill style */
@media (min-width: 1025px) {
  li.menu-cta-button {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  li.menu-cta-button {
    padding: 0px 15% !important;
    margin-top: 30px !important;
    margin-bottom: 15px !important;
  }
  li.menu-cta-button > a {
    justify-content: center !important;
    text-align: center !important;
    border-radius: 8px !important;
    background: #0d47a1 !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    padding: 14px 24px !important;
    display: flex !important;
    width: 100% !important;
  }
  li.menu-cta-button > a:hover {
    background: #1565c0 !important;
  }
}
/* Mobile header: logo LEFT, hamburger RIGHT */
@media (max-width: 1024px) {
  .elementor-element-5a37cb27 > .e-con-inner {
    justify-content: space-between !important;
    align-items: center !important;
  }
  .elementor-element-6b3edf5b {
    width: auto !important;
    flex-shrink: 0 !important;
  }
  .elementor-element-449ce4ce {
    width: auto !important;
    flex-shrink: 0 !important;
    padding-right: 0 !important;
  }
}
/* Desktop nav link spacing - tighter */
.elementor-element-7f14b7c5 .elementor-nav-menu > li > a {
  padding-left: 10px !important;
  padding-right: 10px !important;
}
.elementor-element-7f14b7c5 .elementor-nav-menu > li {
  margin-right: 8px !important;
}
/* Homepage form section: rebalance columns */
.elementor-133 .elementor-element.elementor-element-935bcdd {
  --width: 55% !important;
  width: 55% !important;
}
.elementor-133 .elementor-element.elementor-element-72090f4 {
  --width: 45% !important;
  width: 45% !important;
}

/* Homepage: Right padding on "Ready to Stop Wasting Money" text column */
.elementor-133 .elementor-element.elementor-element-935bcdd {
  padding-right: 40px !important;
}

/* Homepage: Larger FAQ accordion headings */
.elementor-133 .elementor-element.elementor-element-d0e3cda .elementor-tab-title a {
  font-size: 22px !important;
  line-height: 1.3 !important;
}

/* ===== Blog posts: Full-width content on mobile ===== */
@media (max-width: 767px) {
  .single-post [data-elementor-type="wp-post"] .e-con-boxed > .e-con-inner > .e-con.e-child {
    --width: 100% !important;
    width: 100% !important;
  }
}

/* ===== Contact/Let's Talk page fixes ===== */
/* More top padding between yellow line and "Let's Talk" heading */
.page-id-90 .elementor-90 .elementor-element.elementor-element-933bcf5.e-con {
    padding-top: 70px !important;
    padding-block-start: 70px !important;
    --padding-top: 70px !important;
    --padding-block-start: 70px !important;
}

/* Left-align Business Hours text */
.elementor-90 .elementor-element.elementor-element-057b470,
.elementor-90 .elementor-element.elementor-element-057b470 p {
  text-align: left !important;
}

/* Fix "Why GoodPup Digital?" paragraph alignment */
.page-id-90 .elementor-location-footer .elementor-element-634140c,
.page-id-90 .elementor-location-footer .elementor-element-634140c p {
  text-align: left !important;
}
/* Fix Our Services list alignment in footer */
.page-id-90 .elementor-location-footer .elementor-icon-list-items {
  text-align: left !important;
}
.page-id-90 .elementor-location-footer .elementor-icon-list-item a {
  justify-content: flex-start !important;
}
/* Fix Our Services text alignment in footer on contact page */
.page-id-90 .elementor-location-footer .elementor-element-91ac2c4,
.page-id-90 .elementor-location-footer .elementor-element-91ac2c4 p {
  text-align: left !important;
}

/* ===== Blog post content width: match service page width ===== */
.single-post [data-elementor-type="wp-post"] > .e-con-boxed {
  max-width: 100% !important;
}

/* ===== Blog listing hero: match service page hero style ===== */
.blog .page-header .entry-title {
  font-family: Poppins, sans-serif !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  letter-spacing: -0.72px !important;
  line-height: 1 !important;
}
.blog .page-header {
  padding-top: 30px !important;
  padding-bottom: 10px !important;
}
.blog .page-header::after {
  font-family: Roboto, sans-serif !important;
}

/* Blog post: Make main container full-width to match service pages */
.single-post main.site-main {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ===== BLOG LISTING PAGE: Matching yellow gradient lines ===== */
/* Top gradient line (before heading) */
.blog .page-header {
    position: relative !important;
}
.blog .page-header::before {
    content: none !important;
    display: none !important;
}
/* Blog listing header: yellow gradient line at bottom edge */
.blog .elementor-element-5a37cb27 {
    position: relative !important;
}
.blog .elementor-element-5a37cb27::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    max-width: 1300px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent 0%, #ffd21f 8%, #ffd21f 92%, transparent 100%) !important;
    pointer-events: none !important;
    z-index: 10 !important;
}
/* Bottom gradient line: change solid border to gradient on ::after subtitle */
.blog .page-header::after {
    content: none !important;
    display: none !important;
}
/* Blog listing: style the archive description subtitle (real HTML text) */
.blog .page-header .archive-description {
    text-align: center !important;
    color: #555 !important;
    font-family: Roboto, sans-serif !important;
    font-size: 16px !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
    padding-bottom: 20px !important;
}
/* Blog listing: bottom yellow gradient line below subtitle */
.blog .page-header {
    padding-top: 50px !important;
    padding-bottom: 0 !important;
    margin-bottom: 10px !important;
}
@media (max-width: 767px) {
    .blog .page-header {
        padding-top: 25px !important;
    }
}
.blog .page-header .archive-description::after {
    content: '' !important;
    display: block !important;
    max-width: 1300px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent 0%, #ffd21f 8%, #ffd21f 92%, transparent 100%) !important;
    margin: 20px auto 0 auto !important;
}

/* ===== BLOG POST PAGES: Matching yellow gradient lines ===== */
/* Top gradient line: change solid border to gradient */
.single-post .page-header {
    border-bottom-style: solid !important;
    border-bottom-width: 3px !important;
    border-image: linear-gradient(90deg, transparent 0%, #ffd21f 8%, #ffd21f 92%, transparent 100%) 1 !important;
}
/* Bottom gradient line below hero title section */
.single-post [data-elementor-type="wp-post"] > .e-con-boxed:first-child {
    position: relative !important;
}
.single-post [data-elementor-type="wp-post"] > .e-con-boxed:first-child::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 1300px !important;
    max-width: 100% !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent 0%, #ffd21f 8%, #ffd21f 92%, transparent 100%) !important;
    z-index: 1 !important;
}

/* ===== BLOG POSTS: Remove extra sections below content ===== */

/* Hide "Share this" (Jetpack sharing) buttons on all blog posts */
.single-post .sharedaddy {
    display: none !important;
}

/* Hide "Related Services & Resources" bottom sections */
.single-post .elementor-element-5602134,
.single-post .elementor-element-4576bc9,
.single-post .elementor-element-9e15605 {
    display: none !important;
}

/* Related Articles now enabled on all blog post sidebars (headings renamed, links updated) */

/* Post 186: Related Articles now enabled (heading renamed, links updated) */

/* Post 663: Related Articles icon list no longer hidden, un-hide rule removed */

/* ===== FIX: Blog listing top yellow line - position at header bottom ===== */
/* Removed duplicate blog page-header::before full-width override */

/* ===== FIX: Blog post top yellow line - centered full-width at header bottom ===== */
/* Remove the old border-bottom approach */
.single-post .page-header {
    border-bottom: none !important;
    border-image: none !important;
    position: relative !important;
    overflow: visible !important;
}
/* Add centered full-width gradient line via ::before */
/* Blog post: top yellow line moved to header bottom (matches service pages) */
.single-post .page-header::before {
    content: none !important;
    display: none !important;
}
/* Blog post header: yellow gradient line at bottom edge */
.single-post .elementor-element-5a37cb27 {
    position: relative !important;
}
.single-post .elementor-element-5a37cb27::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    max-width: 1300px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent 0%, #ffd21f 8%, #ffd21f 92%, transparent 100%) !important;
    pointer-events: none !important;
    z-index: 10 !important;
}

/* ===== FIX: Home page header padding - match other pages ===== */
.home .elementor-element-5a37cb27 > .e-con-inner {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

/* ===== FIX: Phone container white bg on blog listing page ===== */
.elementor-element-43c7002 {
    width: auto !important;
    flex-shrink: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* ===== FIX: Footer hitching on blog pages - remove all transitions ===== */
/* ===== FIX: Footer hitching on blog posts ===== */
/* Disable all transitions to prevent visual jumps */
.single-post .elementor-element,
.single-post .e-con,
.single-post .elementor-sticky--effects,
.single-post .elementor-sticky__spacer,
.single-post table tr,
.single-post table td,
.single-post table th,
.single-post table strong {
    transition: none !important;
}
/* Override Elementor JS sticky with pure CSS sticky */
.single-post .elementor-element-d327761 {
    position: relative !important;
    align-self: flex-start !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    inset-inline-start: auto !important;
    inset: auto !important;
}
/* Hide Elementor spacer that causes layout shifts */
.single-post .elementor-sticky__spacer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}
/* Prevent Elementor from changing sidebar to fixed/absolute */
.single-post .elementor-element-d327761.elementor-sticky--effects {
    position: relative !important;
    width: var(--width) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    inset-inline-start: auto !important;
    inset: auto !important;
}
.single-post .elementor-element-d327761.elementor-sticky--active {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    inset-inline-start: auto !important;
    inset: auto !important;
    width: var(--width) !important;
}

/* ===== FIX: Phone container bg override - needs higher specificity ===== */
.blog .e-con > .elementor-element.elementor-element-43c7002 {
    background: transparent !important;
    background-color: transparent !important;
}

/* ===== Service area pages: Blue H2 headings ===== */
.page-id-657 h2,
.page-id-677 h2,
.page-id-678 h2,
.page-id-679 h2,
.page-id-680 h2 {
    color: #0d47a1 !important;
}/* ===== Contact page: reduce white gap before footer ===== */
.page-id-90 .elementor-element-fc993f2 {
    padding-bottom: 20px !important;
    padding-left: max(30px, calc(50% - 600px)) !important;
    padding-right: max(30px, calc(50% - 600px)) !important;
}
.page-id-90 .elementor-element-fc993f2 .e-con-inner {
    padding-bottom: 10px !important;
}

/* Services page: spacing between header and H2 */
/* Spacing between header and hero on /services/ */
/* /services/ page cards section spacing */
.page-id-40 .elementor-element-92ecee2 {
    padding-top: 20px !important;
}

/* ===== Industry pages: header yellow line + blue H2s ===== */
.page-id-668 .elementor-element-5a37cb27,
.page-id-669 .elementor-element-5a37cb27,
.page-id-670 .elementor-element-5a37cb27,
.page-id-671 .elementor-element-5a37cb27,
.page-id-672 .elementor-element-5a37cb27,
.page-id-673 .elementor-element-5a37cb27,
.page-id-674 .elementor-element-5a37cb27,
.page-id-675 .elementor-element-5a37cb27 {
    position: relative !important;
}
.page-id-668 .elementor-element-5a37cb27::after,
.page-id-669 .elementor-element-5a37cb27::after,
.page-id-670 .elementor-element-5a37cb27::after,
.page-id-671 .elementor-element-5a37cb27::after,
.page-id-672 .elementor-element-5a37cb27::after,
.page-id-673 .elementor-element-5a37cb27::after,
.page-id-674 .elementor-element-5a37cb27::after,
.page-id-675 .elementor-element-5a37cb27::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    max-width: 1300px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent 0%, #ffd21f 8%, #ffd21f 92%, transparent 100%) !important;
    pointer-events: none !important;
    z-index: 10 !important;
}
.page-id-668 h2,
.page-id-669 h2,
.page-id-670 h2,
.page-id-671 h2,
.page-id-672 h2,
.page-id-673 h2,
.page-id-674 h2,
.page-id-675 h2,
.page-id-1816 h2 {
    color: #0d47a1 !important;
}

/* Industry pages: replace full-width hero border with faded gradient line */
.page-id-668 [data-elementor-type="wp-page"] > .e-con:first-child,
.page-id-669 [data-elementor-type="wp-page"] > .e-con:first-child,
.page-id-670 [data-elementor-type="wp-page"] > .e-con:first-child,
.page-id-671 [data-elementor-type="wp-page"] > .e-con:first-child,
.page-id-672 [data-elementor-type="wp-page"] > .e-con:first-child,
.page-id-673 [data-elementor-type="wp-page"] > .e-con:first-child,
.page-id-674 [data-elementor-type="wp-page"] > .e-con:first-child,
.page-id-675 [data-elementor-type="wp-page"] > .e-con:first-child {
    border-bottom: none !important;
    position: relative !important;
}
.page-id-668 [data-elementor-type="wp-page"] > .e-con:first-child::after,
.page-id-669 [data-elementor-type="wp-page"] > .e-con:first-child::after,
.page-id-670 [data-elementor-type="wp-page"] > .e-con:first-child::after,
.page-id-671 [data-elementor-type="wp-page"] > .e-con:first-child::after,
.page-id-672 [data-elementor-type="wp-page"] > .e-con:first-child::after,
.page-id-673 [data-elementor-type="wp-page"] > .e-con:first-child::after,
.page-id-674 [data-elementor-type="wp-page"] > .e-con:first-child::after,
.page-id-675 [data-elementor-type="wp-page"] > .e-con:first-child::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    max-width: 1300px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent 0%, #ffd21f 8%, #ffd21f 92%, transparent 100%) !important;
    pointer-events: none !important;
    z-index: 10 !important;
}

/* /services/ page: match title font size to service pages at all breakpoints */
@media (max-width: 1024px) {
    .page-id-40 .elementor-element-442b387 .elementor-heading-title {
        font-size: 36px !important;
    }
}
@media (max-width: 767px) {
    .page-id-40 .elementor-element-442b387 .elementor-heading-title {
        font-size: 28px !important;
    }
    .page-id-40 .elementor-element-aa5cfe3 .elementor-heading-title {
        font-size: 24px !important;
    }
}
/* Hide Elementor sticky spacer on blog posts */
.single-post .elementor-sticky__spacer {
    display: none !important;
}

/* ===== Homepage section spacing ===== */
/* Gap between hero and "Services We Provide" */
.page-id-133 .elementor-element-4debe66 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}
/* Gap between "Everything You Need to Succeed" subtitle and cards */
.page-id-133 .elementor-element-ad6fc5e {
    padding-bottom: 20px !important;
}
/* "We Know Your Industry" section */
.page-id-133 .elementor-element-56a1181 {
    padding-top: 60px !important;
    padding-bottom: 40px !important;
}
/* "Why Good Pup Digital?" section */
.page-id-133 .elementor-element-ad2ea4f {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}
/* CTA text section */
.page-id-133 .elementor-element-b5c7484 {
    padding-top: 60px !important;
}
/* Contact/form section */
.page-id-133 .elementor-element-eae2f89 {
    padding-top: 40px !important;
    padding-bottom: 60px !important;
}
/* FAQ section */
.page-id-133 .elementor-element-a92815b {
    padding-top: 80px !important;
}

/* Homepage mobile: contact section spacing */
@media (max-width: 767px) {
    .page-id-133 .elementor-element.elementor-element-eae2f89.e-con {
        padding: 30px 15px !important;
        padding-inline: 15px !important;
        --flex-direction: column !important;
    }
    .page-id-133 .elementor-element.elementor-element-eae2f89 > .e-con-inner {
        --flex-direction: column !important;
        flex-direction: column !important;
        flex-flow: column wrap !important;
        gap: 30px !important;
        align-items: stretch !important;
        width: 100% !important;
    }
    .page-id-133 .elementor-element.elementor-element-935bcdd.e-con {
        padding: 0px !important;
        text-align: center !important;
        --text-align: center !important;
        width: 100% !important;
        max-width: 100% !important;
        --width: 100% !important;
        flex: 0 0 100% !important;
    }
    .page-id-133 .elementor-element.elementor-element-72090f4.e-con {
        padding: 0 !important;
        padding-inline: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        --width: 100% !important;
        flex: 0 0 100% !important;
    }
    .page-id-133 .elementor-element.elementor-element-42ac164 {
        text-align: center !important;
        --text-align: center !important;
    }
}

/* Industry cards: clickable hover effect */
.page-id-133 .elementor-element-eb3099e,
.page-id-133 .elementor-element-cba342e,
.page-id-133 .elementor-element-c23a962,
.page-id-133 .elementor-element-73a1bce,
.page-id-133 .elementor-element-ed51260,
.page-id-133 .elementor-element-fdbb382,
.page-id-133 .elementor-element-3040a78,
.page-id-133 .elementor-element-cf50111 {
    cursor: pointer !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.page-id-133 .elementor-element-eb3099e:hover,
.page-id-133 .elementor-element-cba342e:hover,
.page-id-133 .elementor-element-c23a962:hover,
.page-id-133 .elementor-element-73a1bce:hover,
.page-id-133 .elementor-element-ed51260:hover,
.page-id-133 .elementor-element-fdbb382:hover,
.page-id-133 .elementor-element-3040a78:hover,
.page-id-133 .elementor-element-cf50111:hover {
    transform: scale(1.03) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.3) !important;
}
/* Homepage footer internal top spacing to match service pages */
.page-id-133 .elementor-location-footer .elementor-element-8f7ffd4 > .e-con-inner {
    padding-top: 50px !important;
    padding-bottom: 40px !important;
}
.page-id-133 .elementor-location-footer .elementor-element-73f2b01 > .e-con-inner {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
}
.page-id-133 .elementor-location-footer .elementor-element-56e5cd9 > .e-con-inner {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

/* /services/ card titles bigger on mobile */
@media (max-width: 767px) {
    .page-id-40 .elementor-element-08b0929 h3.elementor-heading-title {
        font-size: 24px !important;
    }
}

/* Blog post hero spacing - hide redundant WP page-header, adjust padding */
.single-post .page-header {
    display: none !important;
}

/* Contact page mobile: match form width to homepage */
@media (max-width: 767px) {
    .page-id-90 .elementor-element.elementor-element-fc993f2.e-con {
        padding-left: 15px !important;
        padding-right: 15px !important;
        padding-inline-start: 15px !important;
        padding-inline-end: 15px !important;
    }
    .page-id-90 .elementor-element.elementor-element-41d7c4b.e-con {
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-inline-start: 0 !important;
        padding-inline-end: 0 !important;
        width: 100% !important;
        --width: 100% !important;
    }
    .page-id-90 .elementor-element.elementor-element-31b91ad.e-con {
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-inline-start: 0 !important;
        padding-inline-end: 0 !important;
        width: 100% !important;
        --width: 100% !important;
    }
}

/* Push Learn More buttons to bottom of service cards for alignment */
.page-id-133 .elementor-element-53afe76 .e-child .elementor-widget-button {
  margin-top: auto !important;
}

/* Contact page form container mobile padding */
@media (max-width: 767px) {
  .page-id-90 .elementor-element.elementor-element-41d7c4b.e-con {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* Keep phone/email link colors on contact page */
.page-id-90 .elementor-element-568966c a,
.page-id-90 .elementor-element-8f83a69 a {
  color: inherit !important;
  text-decoration: none !important;
}
.page-id-90 .elementor-element-568966c a:hover,
.page-id-90 .elementor-element-8f83a69 a:hover {
  text-decoration: underline !important;
}
/* Contact page - form and info side by side */
.page-id-90 .elementor-element-41d7c4b {
  --width: 55% !important;
  width: 55% !important;
}
.page-id-90 .elementor-element-31b91ad {
  --width: 45% !important;
  width: 45% !important;
}

/* Google Shopping Ads page - match service page template styling */
.page-id-1354 .elementor-element-f19cf33 h2 {
  color: #0d47a1 !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin-top: 35px !important;
  margin-bottom: 15px !important;
}
.page-id-1354 .elementor-element-f19cf33 h3 {
  color: #0d47a1 !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  margin-top: 25px !important;
  margin-bottom: 10px !important;
}
.page-id-1354 .elementor-element-f19cf33 p {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
}
.page-id-1354 .elementor-element-f19cf33 ul {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
  padding-left: 25px !important;
}
.page-id-1354 .elementor-element-f19cf33 li {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
  margin-bottom: 5px !important;
}
.page-id-1354 .elementor-element-f19cf33 ol {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
  padding-left: 25px !important;
}
.page-id-1354 .elementor-element-f19cf33 ol li {
  margin-bottom: 10px !important;
}
/* Google Shopping Ads page - inline buttons match Elementor button style */
.page-id-1354 .elementor-element-f19cf33 .elementor-button {
  background-color: #188bf6 !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 12px 24px !important;
  border-radius: 4px !important;
  display: inline-block !important;
  text-decoration: none !important;
  text-align: center !important;
  line-height: 1 !important;
  letter-spacing: 0px !important;
  fill: #ffffff !important;
  transition: all 0.3s !important;
}
.page-id-1354 .elementor-element-f19cf33 .elementor-button:hover {
  background-color: #0d47a1 !important;
  color: #ffffff !important;
}

/* Shopping page hero: remove border-bottom and add proper yellow gradient line */


/* Offline Conversion Tracking page - body content styling */
.page-id-1537 .elementor-element-baf5rkg h2 {
  color: #0d47a1 !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.56px !important;
  margin-top: 35px !important;
  margin-bottom: 15px !important;
}
.page-id-1537 .elementor-element-baf5rkg h3 {
  color: #0d47a1 !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  margin-top: 25px !important;
  margin-bottom: 10px !important;
}
.page-id-1537 .elementor-element-baf5rkg p {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
}
.page-id-1537 .elementor-element-baf5rkg ul {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
  padding-left: 25px !important;
}
.page-id-1537 .elementor-element-baf5rkg li {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
  margin-bottom: 5px !important;
}
.page-id-1537 .elementor-element-baf5rkg ol {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
  padding-left: 25px !important;
}
.page-id-1537 .elementor-element-baf5rkg ol li {
  margin-bottom: 10px !important;
}
.page-id-1537 .elementor-element-baf5rkg .elementor-button {
  background-color: #188bf6 !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 12px 24px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  display: inline-block !important;
}


/* LSA page - body content styling */
.page-id-1608 .elementor-element-f1b54e2 h2 {
  color: #0d47a1 !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.56px !important;
  margin-top: 35px !important;
  margin-bottom: 15px !important;
}
.page-id-1608 .elementor-element-f1b54e2 h3 {
  color: #0d47a1 !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  margin-top: 25px !important;
  margin-bottom: 10px !important;
}
.page-id-1608 .elementor-element-f1b54e2 p {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
}
.page-id-1608 .elementor-element-f1b54e2 ul {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
  padding-left: 25px !important;
}
.page-id-1608 .elementor-element-f1b54e2 li {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
  margin-bottom: 5px !important;
}
.page-id-1608 .elementor-element-f1b54e2 ol {
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: #000000 !important;
  padding-left: 25px !important;
}
.page-id-1608 .elementor-element-f1b54e2 ol li {
  margin-bottom: 10px !important;
}
.page-id-1608 .elementor-element-f1b54e2 .elementor-button {
  background-color: #188bf6 !important;
  color: #ffffff !important;
  padding: 12px 28px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  display: inline-block !important;
}

/* Upper footer nav links - tight spacing */
.elementor-element-91ac2c4 p {
  margin: 0 0 8px 0 !important;
}

/* Homepage desktop: subheadline styling + spacing */
.page-id-133 .elementor-element-ad6fc5e .elementor-heading-title,
.page-id-133 .elementor-element-dbe75cd .elementor-heading-title {
  font-weight: 400 !important;
  font-size: 18px !important;
}
.page-id-133 .elementor-element-ad6fc5e,
.page-id-133 .elementor-element-dbe75cd {
  padding-bottom: 20px;
  margin-top: -8px !important;
}

/* Homepage mobile: H2s + subheadlines + spacing */
@media (max-width: 767px) {
  /* H2s: 30px bold */
  .page-id-133 .elementor-widget-heading h2.elementor-heading-title {
    font-size: 30px !important;
    font-weight: 700 !important;
  }
  /* Subheadlines: 18px regular, pulled closer to H2 */
  .page-id-133 .elementor-element-ad6fc5e,
  .page-id-133 .elementor-element-dbe75cd {
    margin-top: -8px !important;
    padding-bottom: 10px !important;
  }
  .page-id-133 .elementor-element-ad6fc5e .elementor-heading-title,
  .page-id-133 .elementor-element-dbe75cd .elementor-heading-title {
    font-size: 18px !important;
    font-weight: 400 !important;
  }
}
/* Global mobile: H1 padding to match body content across all pages (not homepage) */
@media (max-width: 767px) {
  body:not(.page-id-133) .elementor-widget-heading h1.elementor-heading-title {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* Homepage: "Ready to Stop" section - align left column content with "Why GPD" section */
.page-id-133 .elementor-element-935bcdd {
  padding-left: 0px !important;
}
/* Hide blue "Is This Right" CTA block on Home Services page */

/* Ready to Stop paragraph styling - match WhyGPD */
.page-id-133 .elementor-element.elementor-element-6b4227b p {
    color: #555 !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
}




/* Prevent tables from causing horizontal page overflow on mobile */
@media (max-width: 767px) {
  .elementor-widget-text-editor table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }
  .elementor-widget-text-editor .elementor-widget-container {
    overflow-x: hidden;
  }
}

/* Services page H1 container - match service page spacing */
body.page-id-40 > .elementor[data-elementor-type="wp-page"] > .e-con:first-child {
  padding-top: 35px !important;
  padding-bottom: 30px !important;
}

/* ===== BUTTON ANIMATIONS ===== */
@keyframes subtlePulse {
  0% { transform: scale(1); box-shadow: 0 4px 15px rgba(0,0,0,0.2); }
  50% { transform: scale(1.03); box-shadow: 0 6px 20px rgba(0,0,0,0.3); }
  100% { transform: scale(1); box-shadow: 0 4px 15px rgba(0,0,0,0.2); }
}

/* Hero CTA buttons - pulse animation */
.elementor-element-19cd790 .elementor-button,
.elementor-element-91e0ea7 .elementor-button {
  animation: subtlePulse 2.5s ease-in-out infinite;
}

.elementor-element-19cd790 .elementor-button:hover,
.elementor-element-91e0ea7 .elementor-button:hover {
  animation: none;
}

/* ALL Elementor buttons - consistent hover */
.elementor-button-wrapper .elementor-button {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.elementor-button-wrapper .elementor-button:hover {
	
	
	}
  transform: scale(1.05);
  box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}

/* Footer section titles - yellow override (must beat [data-elementor-type="footer"] p:not([style*="bold"]) rule) */
[data-elementor-type="footer"] p:not([style*="bold"])[style*="ffd21f"] {
  color: #ffd21f !important;
}



/* ===== BLOG ARCHIVE NAV LINK COLOR ===== */
.blog .nav-links a,
.archive .nav-links a {
  color: #188bf6 !important;
  text-decoration: none;
}

.blog .nav-links a:hover,
.archive .nav-links a:hover {
  color: #0d47a1 !important;
  text-decoration: underline;
}
/* ===== BLOG TABLE ALIGNMENT ===== */




.elementor-widget-text-editor table th {
  background-color: #0d47a1;
  color: white;
  font-weight: 600;
}

.elementor-widget-text-editor table tr:nth-child(even) {
  background-color: #f8f9fa;
}

/* ===== TABLE HEADER GRADIENT ===== */




.elementor-widget-text-editor table td,
.elementor-widget-text-editor table th {
  padding: 10px 14px;
  border: 1px solid #e0e0e0;
  text-align: left;
}

.elementor-widget-text-editor table tr:nth-child(even) {
  background-color: #f8f9fa;
}



/* ===== FOOTER YELLOW HEADERS ===== */
.elementor-element-859a00c span[style*="ffd21f"] {
  color: #ffd21f !important;
  font-weight: 600 !important;
}

/* Footer 4-column widget full width */
.elementor-element-859a00c {
  width: 100% !important;
}

/* Footer columns stack on mobile */
@media (max-width: 767px) {
  .elementor-element-859a00c div[style*="display: flex"] {
    flex-direction: column !important;
  }
}
/* ===== HIDE WP PAGE TITLE ON SEO PAGES ===== */
.page-id-3348 .page-header,
.page-id-3359 .page-header,
.page-id-3364 .page-header,
.page-id-3369 .page-header,
.page-id-3374 .page-header,
.page-id-3379 .page-header,
.page-id-3387 .page-header,
.page-id-3392 .page-header,
.page-id-3397 .page-header,
.page-id-3402 .page-header {
  display: none !important;
}

/* ===== FOOTER LINK SIZE ===== */
.elementor-element-859a00c p,
.elementor-element-859a00c a {
  font-size: 13px !important;
  line-height: 1.5 !important;
}
.elementor-element-859a00c p > span {
  font-size: 15px !important;
}

/* Footer link/text sizing - match midwestaudiovisual.com */
.elementor-location-footer .elementor-element-859a00c p,
.elementor-location-footer .elementor-element-859a00c a {
  font-size: 15px !important;
  line-height: 22px !important;
}
.elementor-location-footer .elementor-element-859a00c p[style*="color: #ffd21f"] {
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
}

/* Upper footer section sizing - match lower footer */
.elementor-location-footer p,
.elementor-location-footer a,
.elementor-location-footer li {
  font-size: 15px !important;
  line-height: 22px !important;
}
.elementor-location-footer h2,
.elementor-location-footer h3,
.elementor-location-footer h4,
.elementor-location-footer .elementor-heading-title {
  font-size: 18px !important;
  line-height: 26px !important;
}

/* Hide WP title on SEO pages (Elementor provides its own H1) */
.page-id-3348 .entry-title,
.page-id-3359 .entry-title,
.page-id-3364 .entry-title,
.page-id-3369 .entry-title,
.page-id-3374 .entry-title,
.page-id-3379 .entry-title,
.page-id-3387 .entry-title,
.page-id-3392 .entry-title,
.page-id-3397 .entry-title,
.page-id-3402 .entry-title {
  display: none !important;
}

/* ===== NAV DROPDOWN - INSTANT HOVER + SUB-HEADERS ===== */
/* Instant hover - no delay */
.elementor-nav-menu .menu-item-has-children:hover > .sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transition: opacity 0.15s ease, visibility 0s !important;
}
.elementor-nav-menu .menu-item-has-children > .sub-menu {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease, visibility 0s 0.15s !important;
}

/* Sub-header labels (Paid Advertising, SEO & Web) - not clickable */
.sub-menu > .menu-item > a[href="#"] {
  pointer-events: none !important;
  cursor: default !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #0d47a1 !important;
  padding-top: 12px !important;
  padding-bottom: 4px !important;
  border-bottom: none !important;
  margin-top: 8px !important;
}
.sub-menu > .menu-item:first-child > a[href="#"] {
  margin-top: 0 !important;
}

/* Sub-sub items (the actual service links) - slightly indented */
.sub-menu .sub-menu a {
  padding-left: 25px !important;
  font-size: 14px !important;
}

/* Mobile: stack vertically, sub-headers visible */
@media (max-width: 1024px) {
  .sub-menu > .menu-item > a[href="#"] {
    font-size: 11px !important;
    margin-top: 10px !important;
    padding-bottom: 2px !important;
  }
  .sub-menu .sub-menu a {
    padding-left: 30px !important;
  }
}

/* Remove broken blog link from footer */
a[href="/blog/google-ads-quality-score-ad-rank/"] {
	  display: none !important;
}
}
/* ===== TABLE STYLING (liquid glass) ===== */
.elementor-widget-text-editor figure.wp-block-table {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
figure.wp-block-table {
  margin: 0 !important;
}
.elementor-widget-text-editor figure.wp-block-table table,
.elementor-widget-text-editor table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background-color: rgba(255,255,255,0.45) !important;
  border: 1px solid rgba(255,255,255,0.6) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.06) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}
.elementor-widget-text-editor table thead th {
  padding: 14px 20px !important;
  text-align: left !important;
  font-weight: 700 !important;
  color: #0d47a1 !important;
  font-size: 15px !important;
  background-color: rgba(240,245,255,0.55) !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  border-right: none !important;
  border-left: none !important;
  border-top: none !important;
}
.elementor-widget-text-editor table tbody td {
  padding: 12px 20px !important;
  color: #1d2e3b !important;
  background-color: transparent !important;
  border-bottom: 1px solid rgba(0,0,0,0.05) !important;
  border-right: none !important;
  border-left: none !important;
  border-top: none !important;
}
.elementor-widget-text-editor table tbody tr:nth-child(even) td {
  background-color: rgba(248,249,250,0.4) !important;
}
.elementor-widget-text-editor table tbody tr:last-child td {
  border-bottom: none !important;
}
.elementor-widget-text-editor table th,
.elementor-widget-text-editor table td {
  padding: 12px 20px !important;
  border: none !important;
  text-align: left !important;
}
/* ===== BLOG PAGINATION LINKS ===== */
.pagination a,
.nav-next a,
.nav-previous a {
  color: #188bf6 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
.pagination a:hover,
.nav-next a:hover,
.nav-previous a:hover {
  color: #0d47a1 !important;
}
/* Mobile nav dropdown: clean white, no border, no gap */
.elementor-nav-menu--dropdown.elementor-nav-menu__container {
  border: none !important;
  background-color: #ffffff !important;
  margin-top: 0 !important;
}

/* ===== STICKY HEADER ===== */
.elementor-57 {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    width: 100% !important;
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.3s ease;
}





/* === Auto Repair Landing Page (4150) - Complete Styles === */

/* Base */
.page-id-4150 { font-family: 'DM Sans', sans-serif !important; }
.page-id-4150 .elementor { max-width: 100%; }

/* All parent sections: boxed content */
.page-id-4150 .elementor > .e-con.e-parent {
  max-width: 100% !important;
  padding: 0 20px !important;
}
.page-id-4150 .elementor > .e-con.e-parent > .e-con-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 40px 0 !important;
}

/* ---- HEADER (29c9929) ---- */
.page-id-4150 .elementor-element-29c9929 {
  background: #ffffff !important;
  border-bottom: 1px solid #e0e0e0 !important;
  padding: 0 20px !important;
}
body.page-id-4150 .elementor > .elementor-element-29c9929.e-con.e-parent > .e-con-inner {
  padding: 12px 20px !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 20px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
.page-id-4150 .elementor-element-29c9929 img {
  max-height: 60px !important;
  width: auto !important;
}
.page-id-4150 .elementor-element-29c9929 .elementor-button {
  background: #ffd21f !important;
  color: #1d2e3b !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  padding: 10px 22px !important;
  font-size: 15px !important;
  text-decoration: none !important;
}

/* ---- HERO (id=hero) ---- */
.page-id-4150 .elementor-element-hero {
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%) !important;
}
body.page-id-4150 .elementor > .elementor-element-hero.e-con.e-parent > .e-con-inner {
  padding: 35px 0 25px 0 !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 40px !important;
  align-items: flex-start !important;
}

/* Hero left column */
.page-id-4150 .elementor-element-a29f37d {
  width: 55% !important;
  flex: 0 0 55% !important;
  min-width: 0 !important;
}

/* Hero right column */
.page-id-4150 .elementor-element-f5e3c9f {
  width: 40% !important;
  flex: 0 0 40% !important;
  min-width: 0 !important;
}

/* H1 */
body.page-id-4150 .elementor .elementor-element-58f004a h1.elementor-heading-title,
body.page-id-4150 .elementor .elementor-element-58f004a .elementor-heading-title {
  color: #1d2e3b !important;
  font-size: 38px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

/* Subtitle */
.page-id-4150 .elementor-element-f0520a6,
.page-id-4150 .elementor-element-f0520a6 p {
  color: #555555 !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  text-align: left !important;
}

/* Icon list (checkmarks) */
.page-id-4150 .elementor-element-1093cd3 .elementor-icon-list-text {
  color: #333333 !important;
  font-size: 16px !important;
}
.page-id-4150 .elementor-element-1093cd3 .elementor-icon-list-icon i,
.page-id-4150 .elementor-element-1093cd3 .elementor-icon-list-icon svg {
  color: #4caf50 !important;
  fill: #4caf50 !important;
}
.page-id-4150 .elementor-element-1093cd3 .elementor-icon-list-text strong {
  color: #1d2e3b !important;
  font-weight: 700 !important;
}

/* Ad credits callout */
.page-id-4150 .elementor-element-0beb15a,
.page-id-4150 .elementor-element-0beb15a p {
  color: #666666 !important;
  font-size: 15px !important;
  font-style: italic !important;
}
.page-id-4150 .elementor-element-0beb15a strong,
.page-id-4150 .elementor-element-0beb15a em:first-child {
  color: #0d47a1 !important;
}

/* ---- FORM BOX ---- */
.page-id-4150 .elementor-element-f5e3c9f {
  background: #0d47a1 !important;
  border-radius: 12px !important;
  padding: 30px 25px !important;
}

/* Form heading */
.page-id-4150 .elementor-element-e83eae9 h2,
.page-id-4150 .elementor-element-e83eae9 .elementor-heading-title {
  color: #ffffff !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-bottom: 5px !important;
}

/* Form subtitle */
.page-id-4150 .elementor-element-39eeb78,
.page-id-4150 .elementor-element-39eeb78 p {
  color: rgba(255,255,255,0.8) !important;
  font-size: 14px !important;
  text-align: center !important;
  margin-bottom: 15px !important;
}

/* Reassurance text */
.page-id-4150 .elementor-element-9c75c99,
.page-id-4150 .elementor-element-9c75c99 p {
  color: rgba(255,255,255,0.7) !important;
  font-size: 13px !important;
  text-align: center !important;
  font-style: italic !important;
  margin-top: 10px !important;
}

/* ---- TRUST BAR (fb80da2) ---- */
.page-id-4150 .elementor-element-fb80da2 {
  background: #f0f4f8 !important;
}
body.page-id-4150 .elementor > .elementor-element-fb80da2.e-con.e-parent > .e-con-inner {
  padding: 20px 0 !important;
  flex-direction: row !important;
  justify-content: center !important;
  gap: 40px !important;
  align-items: center !important;
}
.page-id-4150 .elementor-element-fb80da2 .elementor-icon-list-text {
  color: #1d2e3b !important;
  font-weight: 600 !important;
  font-size: 15px !important;
}
.page-id-4150 .elementor-element-fb80da2 .elementor-icon-list-icon i,
.page-id-4150 .elementor-element-fb80da2 .elementor-icon-list-icon svg {
  color: #0d47a1 !important;
  fill: #0d47a1 !important;
  font-size: 22px !important;
}

/* ---- BENEFITS (7a73818) ---- */
.page-id-4150 .elementor-element-7a73818 {
  background: #ffffff !important;
}
.page-id-4150 .elementor-element-7a73818 > .e-con-inner {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 40px !important;
  align-items: flex-start !important;
}
.page-id-4150 .elementor-element-487f80c {
  width: 58% !important;
  flex: 0 0 58% !important;
}
.page-id-4150 .elementor-element-d06d597 {
  width: 38% !important;
  flex: 0 0 38% !important;
}

/* Benefits heading */
.page-id-4150 .elementor-element-7a73818 h2 {
  color: #0d47a1 !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  margin-bottom: 20px !important;
}

/* Benefits icon list */
.page-id-4150 .elementor-element-487f80c .elementor-icon-list-text {
  color: #333 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}
.page-id-4150 .elementor-element-487f80c .elementor-icon-list-text strong {
  color: #1d2e3b !important;
}
.page-id-4150 .elementor-element-487f80c .elementor-icon-list-icon i,
.page-id-4150 .elementor-element-487f80c .elementor-icon-list-icon svg {
  color: #4caf50 !important;
  fill: #4caf50 !important;
}

/* Video placeholder */
.page-id-4150 .elementor-element-d06d597 {
  background: #f0f4f8 !important;
  border-radius: 12px !important;
  padding: 30px !important;
  text-align: center !important;
}

/* ---- MISTAKES (f3c8519) ---- */
.page-id-4150 .elementor-element-f3c8519 {
  background: #f8fafc !important;
}
.page-id-4150 .elementor-element-f3c8519 h2 {
  color: #0d47a1 !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  margin-bottom: 20px !important;
}
.page-id-4150 .elementor-element-f3c8519 .elementor-icon-list-text {
  color: #333 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}
.page-id-4150 .elementor-element-f3c8519 .elementor-icon-list-text strong {
  color: #1d2e3b !important;
}
.page-id-4150 .elementor-element-f3c8519 .elementor-icon-list-icon i,
.page-id-4150 .elementor-element-f3c8519 .elementor-icon-list-icon svg {
  color: #e53935 !important;
  fill: #e53935 !important;
}
/* Mistakes CTA button */
.page-id-4150 .elementor-element-f3c8519 .elementor-button {
  background: #188bf6 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 14px 30px !important;
  border-radius: 6px !important;
}

/* ---- HOW IT WORKS (f7cbe52) ---- */
.page-id-4150 .elementor-element-f7cbe52 {
  background: #ffffff !important;
}
.page-id-4150 .elementor-element-f7cbe52 h2 {
  color: #0d47a1 !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-bottom: 10px !important;
}

/* Steps row */
.page-id-4150 .elementor-element-fb14539 {
  flex-direction: row !important;
  gap: 30px !important;
}
.page-id-4150 .elementor-element-b73c03f,
.page-id-4150 .elementor-element-fec7bc3,
.page-id-4150 .elementor-element-1ee46c0 {
  flex: 1 !important;
  text-align: center !important;
  padding: 25px !important;
  background: #f0f4f8 !important;
  border-radius: 12px !important;
}
.page-id-4150 .elementor-element-f7cbe52 h3 {
  color: #0d47a1 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
}
.page-id-4150 .elementor-element-f7cbe52 .elementor-icon i,
.page-id-4150 .elementor-element-f7cbe52 .elementor-icon svg {
  color: #0d47a1 !important;
  fill: #0d47a1 !important;
  font-size: 36px !important;
}
.page-id-4150 .elementor-element-f7cbe52 p {
  color: #555 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}


.page-id-4150 .elementor-element-81ecb7e .elementor-element:first-child .elementor-button {
  background: #ffd21f !important;
  color: #1d2e3b !important;
}
.page-id-4150 .elementor-element-81ecb7e .elementor-element:last-child .elementor-button {
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
}

/* ---- FOOTER (518d710) ---- */
.page-id-4150 .elementor-element-518d710 {
  background: #1d2e3b !important;
}
.page-id-4150 .elementor-element-518d710 > .e-con-inner {
  padding: 20px 0 !important;
  text-align: center !important;
}
.page-id-4150 .elementor-element-518d710,
.page-id-4150 .elementor-element-518d710 p,
.page-id-4150 .elementor-element-518d710 a {
  color: rgba(255,255,255,0.6) !important;
  font-size: 13px !important;
}
.page-id-4150 .elementor-element-518d710 a:hover {
  color: #ffffff !important;
}

/* ---- MOBILE ---- */
@media (max-width: 767px) {
  .page-id-4150 .elementor > .e-con.e-parent > .e-con-inner {
    padding: 30px 0 !important;
  }
  .page-id-4150 .elementor-element-hero > .e-con-inner {
    flex-direction: column !important;
  }
  .page-id-4150 .elementor-element-a29f37d,
  .page-id-4150 .elementor-element-f5e3c9f {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
  .page-id-4150 .elementor-element-58f004a h1,
  .page-id-4150 .elementor-element-58f004a .elementor-heading-title {
    font-size: 28px !important;
    text-align: center !important;
  }
  .page-id-4150 .elementor-element-f5e3c9f {
    order: -1 !important;
  }
  .page-id-4150 .elementor-element-fb80da2 > .e-con-inner {
    flex-direction: column !important;
    gap: 15px !important;
    text-align: center !important;
  }
  .page-id-4150 .elementor-element-7a73818 > .e-con-inner {
    flex-direction: column !important;
  }
  .page-id-4150 .elementor-element-487f80c,
  .page-id-4150 .elementor-element-d06d597 {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
  .page-id-4150 .elementor-element-fb14539 {
    flex-direction: column !important;
  }
}


/* === LP 4150 Fixes === */

/* Trust bar items: force 25% width */
.page-id-4150 .elementor-element-e6f2bb0,
.page-id-4150 .elementor-element-83bb535,
.page-id-4150 .elementor-element-582cf2d,
.page-id-4150 .elementor-element-821008b {
  width: auto !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
}

/* Trust bar: no wrap */
.page-id-4150 .elementor-element-fb80da2 > .e-con-inner {
  flex-wrap: nowrap !important;
}

/* H1 left-align override */
.page-id-4150 .elementor-element-a29f37d {
  text-align: left !important;
}
.page-id-4150 .elementor-element-a29f37d .elementor-widget-wrap,
.page-id-4150 .elementor-element-a29f37d .e-con-inner {
  text-align: left !important;
  align-items: flex-start !important;
}

/* ---- VISUAL POLISH ---- */
/* Hero top accent line */
.page-id-4150 .elementor-element-hero::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #0d47a1, #188bf6, #ffd21f) !important;
}
.page-id-4150 .elementor-element-hero {
  position: relative !important;
}

/* Stronger trust bar icons */
.page-id-4150 .elementor-element-fb80da2 .elementor-icon-list-icon i,
.page-id-4150 .elementor-element-fb80da2 .elementor-icon-list-icon svg {
  font-size: 26px !important;
}
.page-id-4150 .elementor-element-fb80da2 .elementor-icon-list-text {
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
}

/* Form box shadow for depth */
.page-id-4150 .elementor-element-f5e3c9f {
  box-shadow: 0 8px 30px rgba(13, 71, 161, 0.15) !important;
}

/* Hero subtle bottom border */
.page-id-4150 .elementor-element-hero {
  border-bottom: 1px solid #e8edf2 !important;
}

/* Trust bar stronger styling */
.page-id-4150 .elementor-element-fb80da2 {
  background: #f8fafc !important;
  border-bottom: 1px solid #e8edf2 !important;
  border-top: 1px solid #e8edf2 !important;
}

/* Mistakes CTA button → yellow */
.page-id-4150 .elementor-element-f3c8519 .elementor-button {
  background: #ffd21f !important;
  color: #1d2e3b !important;
}

/* ---- MOBILE RESPONSIVE ---- */
@media (max-width: 767px) {
  /* Header mobile */
  body.page-id-4150 .elementor-element-29c9929 > .e-con-inner {
    padding: 10px 15px !important;
    gap: 10px !important;
  }
  .page-id-4150 .elementor-element-29c9929 img {
    max-height: 40px !important;
  }
  .page-id-4150 .elementor-element-29c9929 .elementor-button {
    font-size: 13px !important;
    padding: 8px 14px !important;
  }

  /* Hero mobile: stack columns */
  .page-id-4150 .elementor-element-hero > .e-con-inner {
    flex-direction: column !important;
    padding: 25px 0 20px 0 !important;
    gap: 25px !important;
  }
  .page-id-4150 .elementor-element-a29f37d {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
  .page-id-4150 .elementor-element-f5e3c9f {
    width: 100% !important;
    flex: 0 0 100% !important;
    padding: 25px 20px !important;
  }

  /* H1 mobile */
  body.page-id-4150 .elementor .elementor-element-58f004a h1.elementor-heading-title,
  body.page-id-4150 .elementor .elementor-element-58f004a .elementor-heading-title {
    font-size: 28px !important;
  }

  /* Trust bar mobile: 2x2 grid */
  .page-id-4150 .elementor-element-fb80da2 > .e-con-inner {
    flex-wrap: wrap !important;
    gap: 15px 20px !important;
    padding: 20px 15px !important;
    justify-content: flex-start !important;
  }
  .page-id-4150 .elementor-element-fb80da2 .elementor-widget {
    flex: 0 0 45% !important;
  }

  /* Benefits mobile: stack */
  .page-id-4150 .elementor-element-7a73818 > .e-con-inner {
    flex-direction: column !important;
  }
  .page-id-4150 .elementor-element-487f80c,
  .page-id-4150 .elementor-element-d06d597 {
    width: 100% !important;
    flex: 0 0 100% !important;
  }

  /* Steps mobile: stack */
  .page-id-4150 .elementor-element-fb14539 {
    flex-direction: column !important;
    gap: 15px !important;
  }

  /* General mobile padding */
  .page-id-4150 .elementor > .e-con.e-parent {
    padding: 0 15px !important;
  }
  .page-id-4150 .elementor > .e-con.e-parent > .e-con-inner {
    padding: 30px 0 !important;
  }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
  .page-id-4150 .elementor-element-hero > .e-con-inner {
    gap: 25px !important;
  }
  .page-id-4150 .elementor-element-a29f37d {
    width: 50% !important;
    flex: 0 0 50% !important;
  }
  .page-id-4150 .elementor-element-f5e3c9f {
    width: 45% !important;
    flex: 0 0 45% !important;
  }
  body.page-id-4150 .elementor .elementor-element-58f004a h1.elementor-heading-title {
    font-size: 32px !important;
  }
}


/* About page - mobile image responsive */
@media (max-width: 767px) {
  .page-id-86 img[style*="float"] {
    width: 150px !important;
    margin: 0 0 10px 15px !important;
    border-radius: 8px !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .page-id-86 img[style*="float"] {
    width: 200px !important;
  }
}

/* Services dropdown styling */
.elementor-nav-menu > li.menu-item-has-children > .sub-menu {
  border-radius: 10px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12) !important;
  border: 1px solid rgba(13, 71, 161, 0.08) !important;
  padding: 8px 0 !important;
}
/* Section headers (Paid Media, SEO & Web) */
.elementor-nav-menu--dropdown li.mega-menu-header > a {
  font-weight: 700 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
  color: #0d47a1 !important;
  pointer-events: none !important;
  cursor: default !important;
  padding: 6px 20px 4px !important;
  opacity: 0.65 !important;
  background: none !important;
}
/* First header - less top padding */
.elementor-nav-menu--dropdown li.mega-menu-header:first-child > a {
  padding-top: 4px !important;
}
/* SEO & Web header gets a separator line above */
.elementor-nav-menu--dropdown li.mega-menu-header:not(:first-child) {
  border-top: 1px solid rgba(13, 71, 161, 0.1) !important;
  margin-top: 6px !important;
  padding-top: 2px !important;
}
/* Regular service links */
.elementor-nav-menu--dropdown li:not(.mega-menu-header) > a {
  transition: background 0.2s ease, color 0.2s ease !important;
}
.elementor-nav-menu--dropdown li:not(.mega-menu-header) > a:hover {
  background: rgba(13, 71, 161, 0.06) !important;
  color: #0d47a1 !important;
}

/* Mobile nav fixes - scroll lock and whitespace */
@media (max-width: 1024px) {
  body.elementor-menu-toggle--open,
  html.elementor-menu-toggle--open {
    overflow: auto !important;
    overflow-y: auto !important;
    height: auto !important;
  }
  /* Make the nav dropdown scrollable */
  .elementor-nav-menu__container {
    max-height: 85vh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .elementor-nav-menu--dropdown-mobile .sub-menu {
    position: static !important;
    transition: none !important;
    animation: none !important;
  }
  .elementor-nav-menu--dropdown-mobile .elementor-active > .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
  }
  .elementor-nav-menu--dropdown-mobile li:not(.elementor-active) > .sub-menu {
    display: none !important;
  }
  .elementor-nav-menu--dropdown li.mega-menu-header > a {
    font-size: 12px !important;
    padding: 10px 20px 2px !important;
  }
}

/* ===== PAGE 4150 - VISUAL POLISH (April 2026) ===== */

/* -- How It Works step cards -- */
.page-id-4150 .elementor-element-f7cbe52 .e-con-inner .e-con {
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 30px 25px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.page-id-4150 .elementor-element-f7cbe52 .e-con-inner .e-con:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.1) !important;
}

/* -- Pricing section cards -- */

/* -- FAQ section styling -- */

/* -- Mistakes section alternating bg -- */
.page-id-4150 .elementor-element-f3c8519 {
  background: #f8fafc !important;
}

/* -- Benefits section -- */
.page-id-4150 .elementor-element-7a73818 {
  background: #ffffff !important;
}

/* -- How it Works bg -- */
.page-id-4150 .elementor-element-f7cbe52 {
  background: #ffffff !important;
}

/* -- Pricing bg -- */

/* -- CTA button hover enhancement -- */
.page-id-4150 .elementor-element-a8f6854 .elementor-button {
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.page-id-4150 .elementor-element-a8f6854 .elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 15px rgba(255, 210, 31, 0.4) !important;
}

/* -- Testimonial call button hover -- */
.page-id-4150 .elementor-element-520fcbf a:hover {
  background: #1d2e3b !important;
  color: #ffffff !important;
  border-color: #1d2e3b !important;
}
.page-id-4150 .elementor-element-520fcbf a:hover svg {
  stroke: #ffffff !important;
}

/* -- Video placeholder styling -- */
.page-id-4150 .elementor-element-d06d597 {
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* -- Footer section styling -- */
.page-id-4150 .elementor-element-518d710 {
  background: #1d2e3b !important;
  border-top: 3px solid #ffd21f !important;
}
.page-id-4150 .elementor-element-518d710 p,
.page-id-4150 .elementor-element-518d710 a {
  color: #b0bec5 !important;
}

/* -- How It Works step cards (correct targeting) -- */
.page-id-4150 .elementor-element-fb14539 > .e-con-inner > .e-con {
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 30px 25px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  border: 1px solid #e8edf2 !important;
}
.page-id-4150 .elementor-element-fb14539 > .e-con-inner > .e-con:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.1) !important;
}

/* -- Pricing section cards (correct targeting) -- */

/* -- How It Works step cards (direct children of row) -- */
.page-id-4150 .elementor-element-fb14539 > .e-con {
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 30px 25px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  border: 1px solid #e8edf2 !important;
}
.page-id-4150 .elementor-element-fb14539 > .e-con:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.1) !important;
}

/* -- Hero ad credits CTA button -- */
.page-id-4150 .elementor-element-f9dc171 .elementor-button {
  background-color: #ffd21f !important;
  color: #1d2e3b !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 14px 28px !important;
  border-radius: 6px !important;
  border: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  margin-top: 15px !important;
}
.page-id-4150 .elementor-element-f9dc171 .elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 15px rgba(255, 210, 31, 0.4) !important;
  background-color: #f0c800 !important;
}
.page-id-4150 .elementor-element-f9dc171 .elementor-button .elementor-button-text {
  color: #1d2e3b !important;
  font-weight: 700 !important;
}

/* ===== PAGE 4150 - MOBILE FIX (767px and below) ===== */
@media (max-width: 767px) {
  /* H1 - reduce from desktop size */
  .page-id-4150 .elementor-element-58f004a h1.elementor-heading-title {
    font-size: 28px !important;
    line-height: 1.2 !important;
  }
  
  /* Subtitle text */
  .page-id-4150 .elementor-element-f0520a6 {
    font-size: 15px !important;
  }
  .page-id-4150 .elementor-element-f0520a6 p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
  
  /* Star rating HTML widget */
  .page-id-4150 .elementor-element-32e9e98 {
    font-size: 14px !important;
  }
  
  /* Icon list items - tighter */
  .page-id-4150 .elementor-element-1093cd3 .elementor-icon-list-text {
    font-size: 14px !important;
    line-height: 1.4 !important;
  }
  .page-id-4150 .elementor-element-1093cd3 .elementor-icon-list-item {
    padding-bottom: 8px !important;
  }
  .page-id-4150 .elementor-element-1093cd3 .elementor-icon-list-icon svg {
    width: 18px !important;
    height: 18px !important;
  }
  
  /* Ad credits text */
  .page-id-4150 .elementor-element-0beb15a {
    font-size: 13px !important;
  }
  .page-id-4150 .elementor-element-0beb15a p {
    font-size: 13px !important;
  }
  
  /* CTA button - full width on mobile */
  .page-id-4150 .elementor-element-f9dc171 .elementor-button {
    font-size: 15px !important;
    padding: 12px 20px !important;
    width: 100% !important;
    text-align: center !important;
  }
  .page-id-4150 .elementor-element-f9dc171 {
    width: 100% !important;
  }
  
  /* Form box heading */
  .page-id-4150 .elementor-element-e83eae9 h2.elementor-heading-title,
  .page-id-4150 .elementor-element-e83eae9 h3.elementor-heading-title {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }
  
  /* Form subtitle */
  .page-id-4150 .elementor-element-39eeb78 p {
    font-size: 13px !important;
  }
  
  /* Hero section padding */
  .page-id-4150 .elementor-element-hero.e-con.e-parent > .e-con-inner,
  body.page-id-4150 .elementor > .elementor-element-hero.e-con.e-parent > .e-con-inner {
    padding: 20px 15px !important;
  }
  
  /* Left column padding */
  .page-id-4150 .elementor-element-a29f37d {
    padding: 0 5px !important;
  }
  
  /* Form box */
  .page-id-4150 .elementor-element-f5e3c9f {
    margin-top: 20px !important;
  }
  
  /* Header on mobile */
  .page-id-4150 .elementor-element-29c9929 {
    padding: 10px 15px !important;
  }
  .page-id-4150 .elementor-element-a8f6854 .elementor-button {
    font-size: 13px !important;
    padding: 8px 14px !important;
  }
  
  /* Trust bar on mobile - stack or scroll */
  .page-id-4150 .elementor-element-fb80da2 .e-con-inner {
    flex-wrap: wrap !important;
    gap: 15px !important;
    justify-content: center !important;
    padding: 20px 10px !important;
  }
  .page-id-4150 .elementor-element-fb80da2 .elementor-icon-list-text {
    font-size: 13px !important;
  }
  
  /* Section headings on mobile */
  .page-id-4150 h2.elementor-heading-title {
    font-size: 24px !important;
  }
  
  /* How it Works step cards on mobile */
  .page-id-4150 .elementor-element-fb14539 {
    flex-direction: column !important;
  }
  .page-id-4150 .elementor-element-fb14539 > .e-con {
    padding: 20px 15px !important;
    margin-bottom: 12px !important;
  }
  
  /* Body text on mobile */
  .page-id-4150 p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
  
  /* Header logo smaller on mobile */
  .page-id-4150 .elementor-element-2928212 img {
    max-width: 120px !important;
  }
}

/* ===== TABLET (768px - 1024px) ===== */
@media (min-width: 768px) and (max-width: 1024px) {
  .page-id-4150 .elementor-element-58f004a h1.elementor-heading-title {
    font-size: 32px !important;
  }
  .page-id-4150 .elementor-element-f0520a6 p {
    font-size: 15px !important;
  }
  .page-id-4150 .elementor-element-e83eae9 h2.elementor-heading-title,
  .page-id-4150 .elementor-element-e83eae9 h3.elementor-heading-title {
    font-size: 24px !important;
  }
}


/* ===== AUTO REPAIR LANDING PAGE - FONTS (Montserrat / Inter) ===== */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800;900&display=swap');

/* H1 - Hero heading (Gilroy-style bold) */
body.page-id-4150 .elementor .elementor-element.elementor-element-58f004a .elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 900 !important;
  font-size: 48px !important;
  line-height: 1.1 !important;
  letter-spacing: -1px !important;
}

/* Main section H2 headings */
body.page-id-4150 .elementor .elementor-element.elementor-element-c79d202 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-a699c62 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-40361a9 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-f01e111 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-070f990 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-8332962 .elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px !important;
  line-height: 1.15 !important;
}

/* Sub-headings (step titles, form heading) */
body.page-id-4150 .elementor .elementor-element.elementor-element-e83eae9 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-f0d41c6 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-ba821d1 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-7507a3c .elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
}

/* Body text - Inter (closest to Proxima Nova, already loaded) */
body.page-id-4150 .elementor-widget-text-editor,
body.page-id-4150 .elementor-widget-text-editor p,
body.page-id-4150 .elementor-widget-icon-list .elementor-icon-list-text {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* Mobile font sizes */
@media (max-width: 767px) {
  body.page-id-4150 .elementor .elementor-element.elementor-element-58f004a .elementor-heading-title {
    font-size: 32px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.5px !important;
  }
  body.page-id-4150 .elementor .elementor-element.elementor-element-c79d202 .elementor-heading-title,
  body.page-id-4150 .elementor .elementor-element.elementor-element-a699c62 .elementor-heading-title,
  body.page-id-4150 .elementor .elementor-element.elementor-element-40361a9 .elementor-heading-title,
  body.page-id-4150 .elementor .elementor-element.elementor-element-f01e111 .elementor-heading-title,
  body.page-id-4150 .elementor .elementor-element.elementor-element-070f990 .elementor-heading-title,
  body.page-id-4150 .elementor .elementor-element.elementor-element-8332962 .elementor-heading-title {
    font-size: 24px !important;
  }
}


/* ===== AUTO REPAIR LANDING PAGE - BUTTON STYLES (GrowMyAds-inspired) ===== */
/* ALL CTA buttons on landing page - yellow with dark offset shadow */
body.page-id-4150 .elementor-element-f9dc171 .elementor-button,
body.page-id-4150 .elementor-element-4603aaf .elementor-button,
body.page-id-4150 .elementor-element-32c4025 .elementor-button,
body.page-id-4150 .elementor-element-4a031eb .elementor-button {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 17px !important;
  padding: 14px 36px !important;
  border-radius: 8px !important;
  border: 2px solid #1d2e3b !important;
  box-shadow: 4px 4px 0px 0px #1d2e3b !important;
  text-transform: none !important;
  letter-spacing: 0.1px !important;
  transition: all 0.15s ease !important;
  background-color: #ffd21f !important;
  color: #1d2e3b !important;
}

body.page-id-4150 .elementor-element-f9dc171 .elementor-button:hover,
body.page-id-4150 .elementor-element-4603aaf .elementor-button:hover,
body.page-id-4150 .elementor-element-32c4025 .elementor-button:hover,
body.page-id-4150 .elementor-element-4a031eb .elementor-button:hover {
  box-shadow: 2px 2px 0px 0px #1d2e3b !important;
  transform: translate(2px, 2px) !important;
  background-color: #ffda33 !important;
}

/* Blue CTA buttons - with blue offset shadow */
body.page-id-4150 .elementor-element-dff8dcd .elementor-button,
body.page-id-4150 .elementor-element-209466f .elementor-button,
body.page-id-4150 .elementor-element-6280bea .elementor-button {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 13px 32px !important;
  border-radius: 8px !important;
  border: 2px solid #0a3680 !important;
  box-shadow: 4px 4px 0px 0px #0a3680 !important;
  transition: all 0.15s ease !important;
  background-color: #188bf6 !important;
  color: #ffffff !important;
}

body.page-id-4150 .elementor-element-dff8dcd .elementor-button:hover,
body.page-id-4150 .elementor-element-209466f .elementor-button:hover,
body.page-id-4150 .elementor-element-6280bea .elementor-button:hover {
  box-shadow: 2px 2px 0px 0px #0a3680 !important;
  transform: translate(2px, 2px) !important;
}

/* Mobile button adjustments */
@media (max-width: 767px) {
  body.page-id-4150 .elementor-element-f9dc171 .elementor-button,
  body.page-id-4150 .elementor-element-4603aaf .elementor-button,
  body.page-id-4150 .elementor-element-32c4025 .elementor-button,
  body.page-id-4150 .elementor-element-4a031eb .elementor-button {
    font-size: 15px !important;
    padding: 12px 24px !important;
    box-shadow: 3px 3px 0px 0px #1d2e3b !important;
  }
  body.page-id-4150 .elementor-element-dff8dcd .elementor-button,
  body.page-id-4150 .elementor-element-209466f .elementor-button,
  body.page-id-4150 .elementor-element-6280bea .elementor-button {
    font-size: 14px !important;
    padding: 11px 24px !important;
    box-shadow: 3px 3px 0px 0px #0a3680 !important;
  }
}


/* === LP 4150 Form Mobile Width Fix === */
@media (max-width: 767px) {
  body.page-id-4150 #game-plan-form {
    padding: 20px 12px !important;
    margin-left: -5px !important;
    margin-right: -5px !important;
    width: calc(100% + 10px) !important;
  }
  body.page-id-4150 #game-plan-form .elementor-form {
    width: 100% !important;
  }
  body.page-id-4150 #game-plan-form .elementor-field-group {
    padding: 0 !important;
    width: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
  body.page-id-4150 #game-plan-form .elementor-field {
    padding: 12px 14px !important;
    font-size: 15px !important;
    width: 100% !important;
  }
  body.page-id-4150 #game-plan-form .elementor-button {
    width: 100% !important;
    font-size: 16px !important;
    padding: 14px 20px !important;
  }
  body.page-id-4150 #game-plan-form .elementor-field-group-step {
    width: 100% !important;
    flex-basis: 100% !important;
  }
}


/* === LP 4150 Design Refresh === */

/* Headings → black */
body.page-id-4150 .elementor .elementor-heading-title {
  color: #1d1d1d !important;
}
/* Keep white headings white (form heading, bottom CTA, step numbers) */
body.page-id-4150 .elementor-element-e83eae9 .elementor-heading-title,
body.page-id-4150 .elementor-element-8332962 .elementor-heading-title,
body.page-id-4150 .elementor-element-f673d06 .elementor-heading-title,
body.page-id-4150 .elementor-element-3ea9fb8 .elementor-heading-title,
body.page-id-4150 .elementor-element-b1a104a .elementor-heading-title {
  color: #ffffff !important;
}

/* Yellow highlight mark on headings */
body.page-id-4150 .elementor-heading-title mark,
body.page-id-4150 .elementor-heading-title span.highlight {
  background: linear-gradient(to top, #ffd21f 40%, transparent 40%) !important;
  padding: 0 4px !important;
  color: inherit !important;
}

/* Icon list checkmarks → yellow */
body.page-id-4150 .elementor-icon-list-icon svg {
  fill: #ffd21f !important;
  color: #ffd21f !important;
}

/* Form → white card (backup for Elementor settings) */
body.page-id-4150 #game-plan-form {
  background: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
}
body.page-id-4150 #game-plan-form .elementor-heading-title {
  color: #1d1d1d !important;
}

/* Form step indicators */
body.page-id-4150 #game-plan-form .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number {
  background-color: #ffd21f !important;
  color: #1d1d1d !important;
  border-color: #ffd21f !important;
}
body.page-id-4150 #game-plan-form .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number {
  background-color: #ffd21f !important;
  color: #1d1d1d !important;
  border-color: #ffd21f !important;
}
body.page-id-4150 #game-plan-form .e-form__indicators__indicator__separator {
  background-color: #e0e0e0 !important;
}
body.page-id-4150 #game-plan-form .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__separator {
  background-color: #ffd21f !important;
}

/* Form Next/Submit button → yellow brand */
body.page-id-4150 #game-plan-form .elementor-button {
  background-color: #ffd21f !important;
  color: #1d1d1d !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  border: 2px solid #1d1d1d !important;
  border-radius: 8px !important;
  box-shadow: 3px 3px 0px 0px #1d1d1d !important;
  transition: all 0.15s ease !important;
}
body.page-id-4150 #game-plan-form .elementor-button:hover {
  box-shadow: 1px 1px 0px 0px #1d1d1d !important;
  transform: translate(2px, 2px) !important;
}

/* Header-Hero separator line */
body.page-id-4150 .elementor > .e-con.e-parent:first-child {
  border-top: 3px solid #ffd21f !important;
}


/* === LP 4150 Hero Dark BG Overrides === */
body.page-id-4150 .elementor-element-58f004a .elementor-heading-title {
  color: #ffffff !important;
}
body.page-id-4150 .elementor-element-58f004a .elementor-heading-title mark {
  color: #ffffff !important;
  background: linear-gradient(to top, #ffd21f 35%, transparent 35%) !important;
}

/* Hero icon list text white */
body.page-id-4150 .elementor-element-1093cd3 .elementor-icon-list-text {
  color: #ffffff !important;
}
body.page-id-4150 .elementor-element-1093cd3 .elementor-icon-list-text strong {
  color: #ffffff !important;
}

/* Form on dark hero needs its own styling */
body.page-id-4150 #game-plan-form .elementor-field {
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
}

/* Bottom CTA section mark - white on dark */
body.page-id-4150 .elementor-element-8332962 .elementor-heading-title {
  color: #ffffff !important;
}
body.page-id-4150 .elementor-element-8332962 .elementor-heading-title mark {
  color: #ffffff !important;
  background: linear-gradient(to top, #ffd21f 35%, transparent 35%) !important;
}

/* Yellow separator line between header and hero */
body.page-id-4150 .elementor > .e-con.e-parent:first-child {
  border-top: 3px solid #ffd21f !important;
}

/* Hero section "Book Your Free Strategy Call" heading in form stays dark on white */
body.page-id-4150 #game-plan-form .elementor-element-e83eae9 .elementor-heading-title {
  color: #1d1d1d !important;
}


/* === LP 4150 Specificity Fixes === */
/* H1 white on dark hero - max specificity */
body.page-id-4150 .elementor .elementor-element.elementor-element-58f004a .elementor-heading-title {
  color: #ffffff !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-58f004a .elementor-heading-title mark {
  color: #ffffff !important;
  background: linear-gradient(to top, #ffd21f 35%, transparent 35%) !important;
  -webkit-box-decoration-break: clone !important;
  box-decoration-break: clone !important;
  padding: 0 4px !important;
}

/* All mark tags on page - yellow highlight */
body.page-id-4150 .elementor .elementor-heading-title mark {
  background: linear-gradient(to top, #ffd21f 40%, transparent 40%) !important;
  -webkit-box-decoration-break: clone !important;
  box-decoration-break: clone !important;
  padding: 0 4px !important;
  color: inherit !important;
}

/* Hero body text white */
body.page-id-4150 .elementor .elementor-element.elementor-element-f0520a6 .elementor-widget-container p {
  color: rgba(255,255,255,0.85) !important;
}

/* Stars text white */
body.page-id-4150 .elementor .elementor-element.elementor-element-32e9e98 {
  color: rgba(255,255,255,0.7) !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-32e9e98 * {
  color: rgba(255,255,255,0.7) !important;
}

/* Hero icon list text white */
body.page-id-4150 .elementor .elementor-element.elementor-element-1093cd3 .elementor-icon-list-text,
body.page-id-4150 .elementor .elementor-element.elementor-element-1093cd3 .elementor-icon-list-text strong {
  color: #ffffff !important;
}

/* "New to Google Ads" button on dark hero */
body.page-id-4150 .elementor .elementor-element.elementor-element-f9dc171 .elementor-button {
  background-color: #ffd21f !important;
  color: #1d1d1d !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-f9dc171 .elementor-button-text {
  color: #1d1d1d !important;
}

/* After-submit text on white form */
body.page-id-4150 .elementor .elementor-element.elementor-element-9c75c99 p {
  color: #777 !important;
  font-style: italic !important;
}


/* === LP 4150 Mark Highlight Fix - High Specificity === */
body.page-id-4150 .elementor .elementor-widget-heading .elementor-heading-title mark {
  background: linear-gradient(to top, #ffd21f 40%, transparent 40%) !important;
  -webkit-box-decoration-break: clone !important;
  box-decoration-break: clone !important;
  padding: 0 4px !important;
  color: inherit !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-a699c62 .elementor-heading-title mark,
body.page-id-4150 .elementor .elementor-element.elementor-element-40361a9 .elementor-heading-title mark,
body.page-id-4150 .elementor .elementor-element.elementor-element-f01e111 .elementor-heading-title mark,
body.page-id-4150 .elementor .elementor-element.elementor-element-8332962 .elementor-heading-title mark {
  background: linear-gradient(to top, #ffd21f 40%, transparent 40%) !important;
  color: inherit !important;
  padding: 0 4px !important;
}


/* Fix c79d202 mark highlight */
body.page-id-4150 .elementor .elementor-element.elementor-element-c79d202 .elementor-heading-title mark {
  background: linear-gradient(to top, #ffd21f 40%, transparent 40%) !important;
  color: inherit !important;
  padding: 0 4px !important;
  -webkit-box-decoration-break: clone !important;
}


/* === LP 4150 Hero Background Image === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child {
  background: #0d1b2a url('https://images.unsplash.com/photo-1619642751034-765dfdf7c58e?w=1920&q=80') center/cover no-repeat !important;
  position: relative !important;
}
/* Dark overlay using ::after (::before is used for yellow line) */
body.page-id-4150 .elementor > .e-con.e-parent:first-child::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  background: linear-gradient(135deg, rgba(13,27,42,0.88) 0%, rgba(13,27,42,0.82) 50%, rgba(13,27,42,0.90) 100%) !important;
  z-index: 0 !important;
  pointer-events: none !important;
  height: auto !important;
  width: auto !important;
}
/* Ensure all hero children are above the overlay */
body.page-id-4150 .elementor > .e-con.e-parent:first-child > * {
  position: relative !important;
  z-index: 1 !important;
}


/* === LP 4150 Fix ::before yellow line conflict === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  bottom: auto !important;
  background: linear-gradient(90deg, #0d47a1, #188bf6, #ffd21f) !important;
  z-index: 2 !important;
  pointer-events: none !important;
  opacity: 1 !important;
}


/* === LP 4150 Hero Overlay Full Height Fix === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 100% !important;
  width: 100% !important;
  background: rgba(13,27,42,0.85) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}


/* === LP 4150 HERO BG FIX — correct selector === */
/* Remove bg from header (first-child was wrong target) */
body.page-id-4150 .elementor > .e-con.e-parent:first-child {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
}
body.page-id-4150 .elementor > .e-con.e-parent:first-child::after {
  content: none !important;
  display: none !important;
}

/* Correct hero background - targets data-id="hero" */
body.page-id-4150 .elementor .elementor-element.elementor-element-hero {
  background: #0d1b2a url('https://images.unsplash.com/photo-1625047509248-ec889cbff17f?w=1920&q=80') center/cover no-repeat !important;
  position: relative !important; overflow: hidden !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-hero::after {
  content: "" !important; display: block !important; position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  width: 100% !important; height: 100% !important;
  background: rgba(13,27,42,0.72) !important; z-index: 0 !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-hero > .e-con-inner {
  position: relative !important;
  z-index: 1 !important;
}

/* Keep the yellow gradient ::before line on the hero, not header */
body.page-id-4150 .elementor > .e-con.e-parent:first-child::before {
  content: none !important;
  display: none !important;
}


/* === LP 4150 Checkmark Color Fix === */
body.page-id-4150 .elementor .elementor-icon-list-icon svg {
  fill: #ffd21f !important;
  color: #ffd21f !important;
}
body.page-id-4150 .elementor .elementor-icon-list-icon i {
  color: #ffd21f !important;
}
body.page-id-4150 .elementor .elementor-icon-list-icon {
  color: #ffd21f !important;
}


/* === LP 4150 Header Restore === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child {
  background-color: #ffffff !important;
  background-image: none !important;
}
/* Restore original yellow line ::before for the header */
body.page-id-4150 .elementor > .e-con.e-parent:first-child::before {
  display: block !important;
  content: "" !important;
}
body.page-id-4150 .elementor > .e-con.e-parent:first-child::after {
  display: block !important;
  content: "" !important;
  background: linear-gradient(90deg, #0d47a1, #188bf6, #ffd21f) !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  top: auto !important;
  width: auto !important;
  z-index: 10 !important;
  pointer-events: none !important;
}


/* === LP 4150 Color Refresh: Light Blue + Yellow === */

/* Header button → yellow brutalist */
body.page-id-4150 .elementor .elementor-element.elementor-element-a8f6854 .elementor-button {
  background-color: #ffd21f !important;
  color: #1d2e3b !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  border: 2px solid #1d2e3b !important;
  border-radius: 8px !important;
  box-shadow: 3px 3px 0px 0px #1d2e3b !important;
  transition: all 0.15s ease !important;
  font-size: 14px !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-a8f6854 .elementor-button:hover {
  box-shadow: 1px 1px 0px 0px #1d2e3b !important;
  transform: translate(2px, 2px) !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-a8f6854 .elementor-button-text {
  color: #1d2e3b !important;
}

/* Header bg → keep white but change from dark blue */
body.page-id-4150 .elementor .elementor-element.elementor-element-29c9929 {
  background-color: #ffffff !important;
}

/* Trust bar icons → light blue */
body.page-id-4150 .elementor-element-fb80da2 .elementor-icon i,
body.page-id-4150 .elementor-element-fb80da2 .elementor-icon svg {
  color: #188bf6 !important;
  fill: #188bf6 !important;
}

/* Step number circles → light blue bg */
body.page-id-4150 .elementor-element-b73c03f,
body.page-id-4150 .elementor-element-fec7bc3,
body.page-id-4150 .elementor-element-1ee46c0 {
  background-color: #188bf6 !important;
}

/* "New to Google Ads" button → left align */
body.page-id-4150 .elementor .elementor-element.elementor-element-f9dc171 {
  text-align: left !important;
  width: auto !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-f9dc171 .elementor-widget-container {
  text-align: left !important;
}

/* Hero text all light */
body.page-id-4150 .elementor-element-hero .elementor-widget-text-editor p,
body.page-id-4150 .elementor-element-hero .elementor-widget-text-editor {
  color: rgba(255,255,255,0.85) !important;
}
body.page-id-4150 .elementor-element-hero .elementor-widget-icon-list .elementor-icon-list-text,
body.page-id-4150 .elementor-element-hero .elementor-widget-icon-list .elementor-icon-list-text strong {
  color: #ffffff !important;
}
body.page-id-4150 .elementor-element-hero .elementor-widget-html {
  color: rgba(255,255,255,0.7) !important;
}
body.page-id-4150 .elementor-element-hero .elementor-widget-html * {
  color: rgba(255,255,255,0.7) !important;
}

/* Accordion → light blue title bg instead of dark blue */
body.page-id-4150 .elementor-accordion .elementor-tab-title {
  background-color: #f0f7ff !important;
  border-color: #188bf6 !important;
}
body.page-id-4150 .elementor-accordion .elementor-tab-title a {
  color: #1d1d1d !important;
}
body.page-id-4150 .elementor-accordion .elementor-tab-title .elementor-accordion-icon {
  color: #188bf6 !important;
}


/* === LP 4150 "New to Google Ads" Button Left Align === */
body.page-id-4150 .elementor .elementor-element.elementor-element-f9dc171 .elementor-widget-container {
  text-align: left !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-f9dc171 .elementor-button {
  width: auto !important;
  display: inline-flex !important;
  max-width: 80% !important;
}


/* === LP 4150 "Why" Section Button — Centered & Large === */
body.page-id-4150 .elementor .elementor-element.elementor-element-dff8dcd {
  text-align: center !important;
  margin-top: 20px !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-dff8dcd .elementor-button {
  font-size: 18px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  padding: 16px 40px !important;
}

/* === Why Section: Match icon size to hero (22px) === */
body.page-id-4150 .elementor .elementor-element.elementor-element-f8446d2 .elementor-icon-list-icon svg {
  width: 22px !important;
  height: 22px !important;
}

/* === Why Section: Button yellow brutalist style === */
body.page-id-4150 .elementor .elementor-element.elementor-element-dff8dcd .elementor-button {
  background-color: #ffd21f !important;
  color: #1d1d1d !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  border: 2px solid #1d1d1d !important;
  border-radius: 8px !important;
  box-shadow: 3px 3px 0px 0px #1d1d1d !important;
  font-size: 18px !important;
  padding: 16px 40px !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-dff8dcd .elementor-button:hover {
  background-color: #e6bc00 !important;
  box-shadow: 1px 1px 0px 0px #1d1d1d !important;
  transform: translate(2px, 2px) !important;
}

/* === Why Section: Dark bg behind checkmark SVG so cutout shows dark like hero === */
body.page-id-4150 .elementor .elementor-element.elementor-element-f8446d2 .elementor-icon-list-icon svg {
  background-color: #1d1d1d !important;
  border-radius: 50% !important;
}

/* === Why Section: 3D brutalist effect on checkmark icons === */
body.page-id-4150 .elementor .elementor-element.elementor-element-f8446d2 .elementor-icon-list-icon svg {
  border: 2px solid #1d1d1d !important;
  box-shadow: 2px 2px 0px 0px #1d1d1d !important;
}

/* === Why Section: Soften 3D effect on checkmark icons === */
body.page-id-4150 .elementor .elementor-element.elementor-element-f8446d2 .elementor-icon-list-icon svg {
  border: 1.5px solid #1d1d1d !important;
  box-shadow: 1.5px 1.5px 0px 0px #1d1d1d !important;
}

/* === 5 Ways Section: Button text black === */
body.page-id-4150 .elementor .elementor-element.elementor-element-4603aaf .elementor-button {
  color: #1d1d1d !important;
}

/* === Why + 5 Ways section buttons: Force text span black === */
body.page-id-4150 .elementor .elementor-element.elementor-element-dff8dcd .elementor-button-text,
body.page-id-4150 .elementor .elementor-element.elementor-element-4603aaf .elementor-button-text {
  color: #1d1d1d !important;
}

/* === Sticky header === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}
/* Offset for admin bar when logged in */
body.admin-bar.page-id-4150 .elementor > .e-con.e-parent:first-child {
  top: 32px !important;
}

/* === Remove yellow/blue separator lines between header and hero === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child::after {
  display: none !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-hero {
  border-top: none !important;
}

/* === Remove ::before gradient line on header too === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child::before {
  display: none !important;
}

/* === Sticky header shadow for separation === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child {
  box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}

/* === Header: reduce height === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* === Trust bar icons: yellow with 3D brutalist === */
body.page-id-4150 .elementor .elementor-element.elementor-element-b35bfbd .elementor-icon,
body.page-id-4150 .elementor .elementor-element.elementor-element-21a4231 .elementor-icon,
body.page-id-4150 .elementor .elementor-element.elementor-element-b85d6f5 .elementor-icon,
body.page-id-4150 .elementor .elementor-element.elementor-element-d585a2b .elementor-icon {
  color: #1d1d1d !important;
  background-color: #ffd21f !important;
  border: 1.5px solid #1d1d1d !important;
  border-radius: 50% !important;
  box-shadow: 1.5px 1.5px 0px 0px #1d1d1d !important;
  padding: 12px !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-b35bfbd .elementor-icon svg,
body.page-id-4150 .elementor .elementor-element.elementor-element-21a4231 .elementor-icon svg,
body.page-id-4150 .elementor .elementor-element.elementor-element-b85d6f5 .elementor-icon svg,
body.page-id-4150 .elementor .elementor-element.elementor-element-d585a2b .elementor-icon svg {
  fill: #1d1d1d !important;
  color: #1d1d1d !important;
}

/* === How It Works step circles: yellow 3D === */
body.page-id-4150 .elementor .elementor-element.elementor-element-b73c03f,
body.page-id-4150 .elementor .elementor-element.elementor-element-fec7bc3,
body.page-id-4150 .elementor .elementor-element.elementor-element-1ee46c0 {
  background-color: #ffd21f !important;
  border: 1.5px solid #1d1d1d !important;
  border-radius: 50% !important;
  box-shadow: 2px 2px 0px 0px #1d1d1d !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-f673d06 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-3ea9fb8 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-b1a104a .elementor-heading-title {
  color: #1d1d1d !important;
}

/* === How It Works button: yellow brutalist === */
body.page-id-4150 .elementor .elementor-element.elementor-element-209466f .elementor-button {
  background-color: #ffd21f !important;
  color: #1d1d1d !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  border: 2px solid #1d1d1d !important;
  border-radius: 8px !important;
  box-shadow: 3px 3px 0px 0px #1d1d1d !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-209466f .elementor-button-text {
  color: #1d1d1d !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-209466f .elementor-button:hover {
  background-color: #e6bc00 !important;
  box-shadow: 1px 1px 0px 0px #1d1d1d !important;
  transform: translate(2px, 2px) !important;
}

/* === Cost section button: yellow brutalist === */
body.page-id-4150 .elementor .elementor-element.elementor-element-6280bea .elementor-button {
  background-color: #ffd21f !important;
  color: #1d1d1d !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  border: 2px solid #1d1d1d !important;
  border-radius: 8px !important;
  box-shadow: 3px 3px 0px 0px #1d1d1d !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-6280bea .elementor-button-text {
  color: #1d1d1d !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-6280bea .elementor-button:hover {
  background-color: #e6bc00 !important;
  box-shadow: 1px 1px 0px 0px #1d1d1d !important;
  transform: translate(2px, 2px) !important;
}

/* === Gold stars for hero rating === */
body.page-id-4150 .elementor .elementor-element.elementor-element-32e9e98 .star-rating {
  color: #ffd21f;
  font-size: 18px;
  letter-spacing: 2px;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-32e9e98 .rating-text {
  color: rgba(255,255,255,0.9);
  font-family: 'Inter', sans-serif;
  font-size: 14px;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-32e9e98 .google-logo {
  height: 16px;
  vertical-align: middle;
  margin: 0 4px;
}

/* === Fix accordion toggle smooth animation === */
body.page-id-4150 .elementor-toggle .elementor-tab-content {
  transition: none !important;
}

/* === 5 Ways section: Red X icons === */
body.page-id-4150 .elementor .elementor-element.elementor-element-22742e7 .elementor-icon-list-icon svg {
  fill: #e53935 !important;
  color: #e53935 !important;
}

/* === Form description text: make visible (dark text on white form card) === */
body.page-id-4150 .elementor .elementor-element.elementor-element-39eeb78 p,
body.page-id-4150 .elementor .elementor-element.elementor-element-39eeb78 {
  color: #666666 !important;
}

/* === Pricing table: yellow/black theme === */
body.page-id-4150 .elementor .elementor-element.elementor-element-4bb7d76 table thead tr {
  background: #ffd21f !important;
  color: #1d1d1d !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-4bb7d76 table th {
  background: #ffd21f !important;
  color: #1d1d1d !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-4bb7d76 table {
  border: 2px solid #1d1d1d !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 3px 3px 0px 0px #1d1d1d !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-4bb7d76 table td {
  border-bottom: 1px solid #e0e0e0 !important;
}

/* === Accordion/toggle: remove hitching transition === */
body.page-id-4150 .elementor .elementor-element.elementor-element-c75c96b .elementor-tab-content {
  transition: none !important;
  animation: none !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-c75c96b .elementor-toggle-item .elementor-tab-content {
  transition: none !important;
}

/* === Remove yellow border-top from header === */
body.page-id-4150 .elementor > .e-con.e-parent:first-child {
  border-top: none !important;
  border-bottom: none !important;
}

/* === 5 Ways red X icons: 3D brutalist effect === */
body.page-id-4150 .elementor .elementor-element.elementor-element-22742e7 .elementor-icon-list-icon svg {
  background-color: #1d1d1d !important;
  border-radius: 50% !important;
  border: 1.5px solid #1d1d1d !important;
  box-shadow: 1.5px 1.5px 0px 0px #1d1d1d !important;
}

/* === Trust bar icons: smaller size === */
body.page-id-4150 .elementor .elementor-element.elementor-element-b35bfbd .elementor-icon,
body.page-id-4150 .elementor .elementor-element.elementor-element-21a4231 .elementor-icon,
body.page-id-4150 .elementor .elementor-element.elementor-element-b85d6f5 .elementor-icon,
body.page-id-4150 .elementor .elementor-element.elementor-element-d585a2b .elementor-icon {
  padding: 8px !important;
  font-size: 28px !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-b35bfbd .elementor-icon svg,
body.page-id-4150 .elementor .elementor-element.elementor-element-21a4231 .elementor-icon svg,
body.page-id-4150 .elementor .elementor-element.elementor-element-b85d6f5 .elementor-icon svg,
body.page-id-4150 .elementor .elementor-element.elementor-element-d585a2b .elementor-icon svg {
  width: 28px !important;
  height: 28px !important;
}

/* === How It Works: REMOVE yellow from outer step containers === */
body.page-id-4150 .elementor .elementor-element.elementor-element-b73c03f,
body.page-id-4150 .elementor .elementor-element.elementor-element-fec7bc3,
body.page-id-4150 .elementor .elementor-element.elementor-element-1ee46c0 {
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* === How It Works: Yellow 3D on the actual number circles === */
body.page-id-4150 .elementor .elementor-element.elementor-element-f673d06,
body.page-id-4150 .elementor .elementor-element.elementor-element-3ea9fb8,
body.page-id-4150 .elementor .elementor-element.elementor-element-b1a104a {
  background-color: #ffd21f !important;
  border: 1.5px solid #1d1d1d !important;
  box-shadow: 2px 2px 0px 0px #1d1d1d !important;
}

/* === Accordion: force instant open/close (override jQuery slideToggle) === */
body.page-id-4150 .elementor .elementor-element.elementor-element-c75c96b .elementor-tab-content {
  transition: none !important;
  animation: none !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-c75c96b .elementor-tab-content[style*="display: block"] {
  display: block !important;
  height: auto !important;
  overflow: visible !important;
}

/* === Step circles: perfect round shape, match icon style === */
body.page-id-4150 .elementor .elementor-element.elementor-element-f673d06,
body.page-id-4150 .elementor .elementor-element.elementor-element-3ea9fb8,
body.page-id-4150 .elementor .elementor-element.elementor-element-b1a104a {
  width: 54px !important;
  height: 54px !important;
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-radius: 50% !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-f673d06 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-3ea9fb8 .elementor-heading-title,
body.page-id-4150 .elementor .elementor-element.elementor-element-b1a104a .elementor-heading-title {
  font-size: 22px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

/* === How It Works step cards: rounded corners like buttons (8px) === */
body.page-id-4150 .elementor .elementor-element.elementor-element-b73c03f,
body.page-id-4150 .elementor .elementor-element.elementor-element-fec7bc3,
body.page-id-4150 .elementor .elementor-element.elementor-element-1ee46c0 {
  border-radius: 12px !important;
}

/* === Accordion: force instant close (jQuery slideUp override) === */
body.page-id-4150 .elementor .elementor-element.elementor-element-c75c96b .elementor-tab-content {
  transition: none !important;
  animation: none !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-c75c96b .elementor-toggle .elementor-tab-content:not([style*="display: block"]) {
  display: none !important;
  height: 0 !important;
}

/* === Header button: larger === */
body.page-id-4150 .elementor .elementor-element.elementor-element-a8f6854 .elementor-button {
  font-size: 16px !important;
  padding: 14px 28px !important;
}

/* === Hero left column: center vertically === */
body.page-id-4150 .elementor .elementor-element.elementor-element-a29f37d {
  justify-content: center !important;
  align-self: center !important;
}

/* === Hero section: add top padding (space between header and hero) === */
body.page-id-4150 .elementor .elementor-element.elementor-element-hero {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

/* === Hero inner: vertically center columns === */
body.page-id-4150 .elementor .elementor-element.elementor-element-hero > .e-con-inner {
  align-items: center !important;
}

/* === Hero inner: force vertical center columns (higher specificity) === */
body.page-id-4150 .elementor .elementor-element.elementor-element-hero > .e-con-inner {
  align-items: center !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-hero .e-con-inner {
  align-items: center !important;
}

/* === Hero inner: match exact Elementor selector specificity === */
body.page-id-4150 .elementor > .elementor-element-hero.e-con.e-parent > .e-con-inner {
  align-items: center !important;
}


/* ===== LANDING PAGE FORM STYLING (page 4150) ===== */

/* Step indicators - 3D brutalist yellow/black style */
.page-id-4150 .e-form__indicators__indicator__number {
  background: #ffd21f !important;
  color: #1d2e3b !important;
  border: 2px solid #1d2e3b !important;
  box-shadow: 3px 3px 0px #1d2e3b !important;
  font-family: Roboto, sans-serif !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  width: 38px !important;
  height: 38px !important;
  line-height: 34px !important;
}
.page-id-4150 .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number {
  background: #ffd21f !important;
  transform: scale(1.1);
}
.page-id-4150 .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number {
  background: #1d2e3b !important;
  color: #ffd21f !important;
  border-color: #1d2e3b !important;
}
.page-id-4150 .e-form__indicators__indicator--state-inactive .e-form__indicators__indicator__number {
  background: #e8e8e8 !important;
  color: #999 !important;
  border-color: #ccc !important;
  box-shadow: 2px 2px 0px #ccc !important;
}
.page-id-4150 .e-form__indicators__indicator__separator {
  background-color: #1d2e3b !important;
  height: 3px !important;
}

/* Previous/Next buttons - horizontal layout */
.page-id-4150 .e-form__buttons {
  display: flex !important;
  flex-direction: row !important;
  gap: 12px !important;
  justify-content: space-between !important;
}
.page-id-4150 .e-form__buttons .e-form__buttons__wrapper {
  flex: 1 !important;
}
.page-id-4150 .e-form__buttons .e-form__buttons__wrapper button {
  width: 100% !important;
}

/* Radio buttons - card/button style */
.page-id-4150 .elementor-field-type-radio .elementor-field-subgroup {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.page-id-4150 .elementor-field-type-radio .elementor-field-option {
  display: block !important;
  width: 100% !important;
}
.page-id-4150 .elementor-field-type-radio .elementor-field-option label {
  display: block !important;
  padding: 14px 18px !important;
  border: 2px solid #ddd !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  font-family: Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #1d2e3b !important;
  background: #fff !important;
}
.page-id-4150 .elementor-field-type-radio .elementor-field-option label:hover {
  border-color: #ffd21f !important;
  background: #fffde6 !important;
}
.page-id-4150 .elementor-field-type-radio .elementor-field-option input[type="radio"] {
  display: none !important;
}
.page-id-4150 .elementor-field-type-radio .elementor-field-option input[type="radio"]:checked + label {
  border-color: #ffd21f !important;
  background: #ffd21f !important;
  color: #1d2e3b !important;
  font-weight: 700 !important;
  box-shadow: 3px 3px 0px #1d2e3b !important;
}

/* Red X icons - 3D effect matching yellow checks */
body.page-id-4150 .elementor .elementor-element.elementor-element-dee533a .elementor-icon-list-icon {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  min-width: auto !important;
}
body.page-id-4150 .elementor .elementor-element.elementor-element-dee533a .elementor-icon-list-icon svg {
  fill: #e53935 !important;
  color: #e53935 !important;
  background-color: #ffffff !important;
  border-radius: 50% !important;
  border: 1.5px solid #1d1d1d !important;
  box-shadow: 1.5px 1.5px 0px 0px #1d1d1d !important;
  width: 22px !important;
  height: 22px !important;
}
/* Footer row 8f7ffd4 - constrain to match sitemap width */
[data-elementor-type="footer"] .elementor-element.elementor-element-8f7ffd4 { max-width: 1200px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 0 !important; padding-right: 0 !important; }
