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

/* WeGo-style form fields */
.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 */
.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,
.page-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 - more rounded/pill like WeGo */
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,
[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 - match wegounlimited.com (~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 - match wegounlimited.com 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 {
    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 {
    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-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-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 */
.page-id-90 [data-elementor-type="wp-page"] .elementor-widget-text-editor {
    text-align: center !important;
}
.page-id-90 [data-elementor-type="wp-page"] .elementor-widget-text-editor p {
    color: #5a6a78 !important;
    font-size: 17px !important;
}

/* 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 - matches WeGo 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 like WeGo */
.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: 600 !important;
  line-height: 1.2 !important;
  margin-top: 30px !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: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.56px !important;
  margin-top: 30px !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: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.56px !important;
  margin-top: 30px !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: 50px !important;
  padding-bottom: 40px !important;
}