/* 1) Load REAL bold weights (so “bold” actually exists) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Playfair+Display:wght@400;500;600;700;800;900&display=swap');

/* 2) FORCE the first big hero title on the homepage to be bold */
body.home .entry-content h1:first-of-type,
body.home .entry-content h2:first-of-type,
body.home .entry-content .wp-block-heading:first-of-type,
body.home .entry-content > :first-child .wp-block-heading,
body.home .entry-content > :first-child h1,
body.home .entry-content > :first-child h2,
body.home .entry-content > :first-child p:first-of-type {
font-family: "Playfair Display", Georgia, serif !important;
font-weight: 800 !important;
}

/* 3) Make sure the paragraph font is consistent too */
body {
font-family: "Inter", Arial, sans-serif !important;
}

.custom-logo-link img,
.site-logo-img img,
.wp-block-site-logo img {
filter: none !important;
-webkit-filter: none !important;
}
/* Remove Astra's logo container limits */
.ast-site-identity,
.site-branding,
.site-logo-img {
max-width: none !important;
width: auto !important;
}

/* Force the logo to a bigger width */
.ast-site-identity .custom-logo-link img,
.site-branding .custom-logo-link img,
.custom-logo-link img {
width: 260px !important;
max-width: 260px !important;
height: auto !important;
max-height: none !important;
}
/* Leadquery Section 1 */
#lq-growth-section{
  padding: 60px 0;
  background: #f5f7f6; /* CHANGE BACKGROUND COLOR HERE */
}

#lq-growth-section .lq-container{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}

#lq-growth-section .lq-grid{
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 32px;
  align-items: start;
}

#lq-growth-section .lq-title{
  margin: 0;
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.12;
  font-weight: 800;
  color: #111827 !important; /* forces visibility */
}

#lq-growth-section .lq-text{
  margin: 0 0 14px;
  font-size: 18px;
  line-height: 1.65;
  color: #374151 !important; /* forces visibility */
}

#lq-growth-section .lq-text--muted{
  color: #6b7280 !important;
}

/* Mobile */
@media (max-width: 900px){
  #lq-growth-section .lq-grid{
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
background: #f5f7f6;
/* ===== Site-wide mobile readability + spacing ===== */
@media (max-width: 768px) {

  /* Prevent horizontal scrolling */
  html, body { overflow-x: hidden; }

  /* Make big headings not explode on mobile */
  h1 { font-size: clamp(28px, 7vw, 40px); line-height: 1.1; }
  h2 { font-size: clamp(24px, 6vw, 34px); line-height: 1.15; }
  h3 { font-size: clamp(20px, 5vw, 28px); line-height: 1.2; }

  /* Paragraphs: comfortable size */
  p { font-size: 16px; line-height: 1.7; }

  /* If your sections use big vertical padding, reduce it */
  section, .wp-block-group, .wp-block-cover, .wp-block-columns {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  /* If you have a fixed/sticky header, make sure content isn't hiding under it */
  body { padding-top: env(safe-area-inset-top); }

  /* Make columns stack on mobile */
  .wp-block-columns { flex-wrap: wrap !important; }
  .wp-block-column { flex-basis: 100% !important; }
}

/* ===== Site-wide mobile readability + spacing ===== */
@media (max-width: 768px) {

  /* Prevent horizontal scrolling */
  html, body { overflow-x: hidden; }

  /* Make big headings not explode on mobile */
  h1 { font-size: clamp(28px, 7vw, 40px); line-height: 1.1; }
  h2 { font-size: clamp(24px, 6vw, 34px); line-height: 1.15; }
  h3 { font-size: clamp(20px, 5vw, 28px); line-height: 1.2; }

  /* Paragraphs: comfortable size */
  p { font-size: 16px; line-height: 1.7; }

  /* If your sections use big vertical padding, reduce it */
  section, .wp-block-group, .wp-block-cover, .wp-block-columns {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  /* If you have a fixed/sticky header, make sure content isn't hiding under it */
  body { padding-top: env(safe-area-inset-top); }

  /* Make columns stack on mobile */
  .wp-block-columns { flex-wrap: wrap !important; }
  .wp-block-column { flex-basis: 100% !important; }
}
/* ===== Mobile header cleanup (prevents overlap) ===== */
@media (max-width: 768px) {

  /* Hide the header CTA button that crowds mobile */
  a[href*="quote"],
  .header-button,
  .wp-block-button__link {
    display: none !important;
  }

  /* Make the header/nav stop overlapping the page content */
  header, .site-header, .wp-site-blocks > header {
    position: relative !important;
  }

  /* If your header is sticky/fixed, remove that on mobile */
  .is-sticky, .sticky-header, .header-sticky {
    position: relative !important;
    top: auto !important;
  }

  /* Give the first section room under the header */
  body.home .wp-site-blocks,
  body.home main,
  body.home #content {
    padding-top: 20px !important;
  }
}
@media (max-width: 768px) {
  a, button {
    /* hides only the specific button by its text-like class or container if your theme labels it */
  }
  .menu .button,
  .menu-item.button,
  .header-cta,
  .nav-cta {
    display:none !important;
  }
}
/* Leadquery — Make Custom HTML sections match site typography */
.lq-section, .lq-section * {
  font-family: inherit !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media (max-width: 768px) {

  /* Mobile spacing: stops the "awkward giant block" feel */
  .lq-section {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  /* Headings scale nicely on phones */
  .lq-section h1 {
    font-size: 34px !important;
    line-height: 1.12 !important;
    margin-bottom: 14px !important;
  }
  .lq-section h2 {
    font-size: 30px !important;
    line-height: 1.15 !important;
    margin-bottom: 14px !important;
  }

  /* Paragraphs: readable + not too wide */
  .lq-section p {
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 14px !important;
    max-width: 100% !important;
  }

  /* If your section uses big desktop padding (like 220px), override it on mobile */
  .lq-section[style*="padding:220px"] {
    padding-top: 110px !important;
  }
}
* --- LeadQuery: mobile spacing + consistent fonts (Astra-friendly) --- */

/* 1) Fix the BIG empty space + font mismatch on the first section (mobile only) */
@media (max-width: 768px) {

/* Reduce the top padding/space on that first section */
.lq-hero-mobilefix{
padding-top: 18px !important;
padding-bottom: 26px !important;
}

/* Kill extra margins that usually create the “too much space” look */
.lq-hero-mobilefix h1,
.lq-hero-mobilefix h2,
.lq-hero-mobilefix h3{
margin-top: 0 !important;
margin-bottom: 14px !important;
}

.lq-hero-mobilefix p{
margin-top: 0 !important;
}

/* Force the same font system Astra uses site-wide */
.lq-hero-mobilefix,
.lq-hero-mobilefix p{
font-family: var(--ast-global-font-family, inherit) !important;
}

.lq-hero-mobilefix h1,
.lq-hero-mobilefix h2,
.lq-hero-mobilefix h3{
font-family: var(--ast-global-heading-font-family, var(--ast-global-font-family, inherit)) !important;
letter-spacing: normal !important;
}

/* Make text sizing feel like your other sections */
.lq-hero-mobilefix h1,
.lq-hero-mobilefix h2{
font-size: clamp(28px, 7vw, 40px) !important;
line-height: 1.1 !important;
}

.lq-hero-mobilefix p{
font-size: 16px !important;
line-height: 1.55 !important;
}
}

/* 2) Optional: keep fonts consistent on the next 2 sections too */
.lq-section-2, .lq-section-2 p,
.lq-section-3, .lq-section-3 p{
font-family: var(--ast-global-font-family, inherit) !important;
}
.lq-section-2 h1, .lq-section-2 h2, .lq-section-2 h3,
.lq-section-3 h1, .lq-section-3 h2, .lq-section-3 h3{
font-family: var(--ast-global-heading-font-family, var(--ast-global-font-family, inherit)) !important;
}
/* Mobile fix: reduce huge top spacing + make fonts consistent (Astra) */
@media (max-width: 768px){

/* 1) Reduce the giant top gap that often comes from Astra containers */
.home .site-content,
.home .ast-container,
.home .entry-content{
padding-top: 0 !important;
margin-top: 0 !important;
}

/* 2) Tighten first section spacing (common “hero” containers) */
.home .wp-block-cover,
.home .wp-block-group,
.home .wp-block-group__inner-container{
margin-top: 0 !important;
}

/* 3) Force consistent fonts across headings + paragraphs on Home */
.home h1, .home h2, .home h3, .home p, .home li{
font-family: var(--ast-global-font-family, inherit) !important;
}

/* 4) Make headings/paragraphs feel like the other sections */
.home h1, .home h2{
line-height: 1.12 !important;
margin-top: 0 !important;
margin-bottom: 14px !important;
}

.home p{
font-size: 16px !important;
line-height: 1.55 !important;
margin-top: 0 !important;
}
}
/* MOBILE ONLY: make the first hero section match the site fonts + remove extra top space */
@media (max-width: 768px){

/* 1) Fix the font mismatch on the FIRST section title */
.home h1,
.home h2,
.home h3 {
font-family: var(--ast-global-heading-font-family) !important;
}

/* 2) Tighten the top spacing on the FIRST section */
.home .wp-block-cover:first-of-type,
.home .wp-block-group:first-of-type,
.home .wp-block-uagb-container:first-of-type {
padding-top: 20px !important;
margin-top: 0 !important;
}

/* 3) Make that first hero headline size behave better on phones */
.home .wp-block-cover:first-of-type h1,
.home .wp-block-group:first-of-type h1,
.home .wp-block-uagb-container:first-of-type h1 {
font-size: 34px !important;
line-height: 1.15 !important;
letter-spacing: 0 !important;
}
}
/* MOBILE ONLY — force the FIRST hero headline to use the SAME heading font */
@media (max-width: 768px){

/* first big headline (whether it's a P or a heading) */
.home .wp-block-cover:first-of-type .wp-block-cover__inner-container > :first-child{
font-family: var(--ast-global-heading-font-family) !important;
font-weight: 700 !important;
letter-spacing: 0 !important;
}

/* make sure it stays sized like a headline on phones */
.home .wp-block-cover:first-of-type .wp-block-cover__inner-container > :first-child{
font-size: 34px !important;
line-height: 1.15 !important;
margin-top: 0 !important;
}

/* remove extra top space above that first section */
.home .wp-block-cover:first-of-type{
margin-top: 0 !important;
padding-top: 20px !important;
}
}
/* Force the FIRST homepage hero section to use the same font on desktop + mobile */
.home .wp-block-cover:first-of-type,
.home .wp-block-cover:first-of-type * {
font-family: var(--ast-global-heading-font-family, var(--ast-global-font-family, inherit)) !important;
}

/* If your hero is not a Cover block, also catch common containers */
.home .wp-block-group:first-of-type,
.home .wp-block-group:first-of-type * ,
.home .wp-block-uagb-container:first-of-type,
.home .wp-block-uagb-container:first-of-type * {
font-family: var(--ast-global-heading-font-family, var(--ast-global-font-family, inherit)) !important;
}
/* HOME: force the FIRST section ("Never miss...") to use the same font as the rest of the site */
body.home .entry-content > *:first-child,
body.home .entry-content > *:first-child *{
font-family: var(--ast-global-font-family) !important;
}

/* Make the first section heading weight match your other sections better */
body.home .entry-content > *:first-child h1,
body.home .entry-content > *:first-child h2,
body.home .entry-content > *:first-child h3{
font-weight: 800 !important;
}

/* Mobile: remove the extra dead space above that first section */
@media (max-width: 768px){
body.home .entry-content > *:first-child{
margin-top: 0 !important;
padding-top: 18px !important;
}
body.home .entry-content > *:first-child .wp-block-cover__inner-container,
body.home .entry-content > *:first-child .uagb-section__inner-wrap,
body.home .entry-content > *:first-child .uagb-container-inner-blocks-wrap{
padding-top: 18px !important;
}
}
/* HOME: make only the first line ("Never miss...") bold */
body.home .entry-content > *:first-child h1,
body.home .entry-content > *:first-child h2,
body.home .entry-content > *:first-child h3{
font-weight: 800 !important;
}

/* If that headline is NOT an H1/H2/H3 and is just a paragraph, this catches it too */
body.home .entry-content > *:first-child p:first-of-type{
font-weight: 800 !important;
}
/* =========================
LeadQuery – Global Fonts
========================= */

/* 1) Force consistent fonts site-wide */
body {
font-family: "Inter", Arial, sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.wp-block-heading {
font-family: "Playfair Display", Georgia, serif !important;
font-weight: 700 !important;
letter-spacing: 0 !important;
}

/* 2) Normalize spacing so headings don’t create giant gaps */
h1, h2, h3, h4, h5, h6,
.wp-block-heading {
margin-top: 0 !important;
margin-bottom: 14px !important;
line-height: 1.05 !important;
}

p, .wp-block-paragraph {
margin-top: 0 !important;
margin-bottom: 16px !important;
line-height: 1.5 !important;
}

/* =========================
Home hero – fix top spacing
========================= */

/* Reduce “too much space at top” on homepage */
body.home .entry-content,
body.home .site-content,
body.home .site-main {
padding-top: 0 !important;
}

/* Tighten the first block/section spacing on homepage */
body.home .entry-content > :first-child {
margin-top: 0 !important;
padding-top: 24px !important;
}

/* If the hero is inside a Group/Container, tighten its padding */
body.home .wp-block-group:first-of-type,
body.home .wp-block-cover:first-of-type {
padding-top: 24px !important;
padding-bottom: 24px !important;
}

/* Mobile tweaks */
@media (max-width: 768px) {
body.home .entry-content > :first-child {
padding-top: 14px !important;
}

h1, .wp-block-heading {
line-height: 1.08 !important;
margin-bottom: 12px !important;
}
}
:root{
--lq-body-font: "Inter", Arial, sans-serif;
--lq-heading-font: "Playfair Display", Georgia, serif;
}

html, body,
.site, .site-content,
.entry-content, .wp-site-blocks,
p, li, a, span, div, label, input, textarea, button {
font-family: var(--lq-body-font) !important;
}

h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.entry-title {
font-family: var(--lq-heading-font) !important;
font-weight: 700 !important;
line-height: 1.12 !important;
}

p, ul, ol {
margin-top: 0 !important;
margin-bottom: 16px !important;
}

h1, h2, h3, h4, h5, h6,
.wp-block-heading {
margin-top: 0 !important;
margin-bottom: 14px !important;
}

.wp-block-group,
.wp-block-cover,
section {
padding-top: clamp(28px, 4vw, 56px) !important;
padding-bottom: clamp(28px, 4vw, 56px) !important;
}

@media (max-width: 768px){
.wp-block-cover,
.wp-block-group {
padding-top: 28px !important;
padding-bottom: 28px !important;
}
}
/* Mobile polish */
@media (max-width: 768px){

/* Prevent “giant headline” and awkward wraps */
h1, .wp-block-heading h1, .entry-content h1 {
font-size: clamp(30px, 7.5vw, 42px) !important;
line-height: 1.08 !important;
letter-spacing: -0.3px !important;
}
h2, .wp-block-heading h2, .entry-content h2 {
font-size: clamp(24px, 6.2vw, 34px) !important;
line-height: 1.12 !important;
}

/* Make paragraph text easier to read */
p, li {
font-size: 16px !important;
line-height: 1.55 !important;
}

/* Keep text from stretching edge-to-edge */
.entry-content,
.wp-site-blocks,
.wp-block-group__inner-container,
.wp-block-cover__inner-container {
padding-left: 18px !important;
padding-right: 18px !important;
}

/* Reduce “random huge gaps” between stacked sections */
.wp-block-group,
.wp-block-cover,
section {
padding-top: 22px !important;
padding-bottom: 22px !important;
}

/* If your hero has too much blank space at the top */
.wp-block-cover {
min-height: auto !important;
}
}
@media (max-width: 768px){
.tidio-chat-button, #tidio-chat, .tidio-chat {
transform: scale(0.92);
transform-origin: bottom right;
}
}
@media (max-width: 768px){
h1, h2, h3 {
hyphens: none !important;
overflow-wrap: normal !important;
word-break: normal !important;
}
}
/* Reduce mobile header height + logo size (Astra-friendly) */
@media (max-width: 768px) {
.main-header-bar {
padding-top: 8px !important;
padding-bottom: 8px !important;
min-height: 0 !important;
}

.custom-logo-link img,
.site-branding img {
max-height: 60px !important; /* adjust 50–70 if you want */
width: auto !important;
}
}
/* Make the top "Never..." hero align full-width like the "Growth..." section on mobile */
@media (max-width: 768px) {
.lq-hero {
width: 100% !important;
max-width: none !important;
margin-left: 0 !important;
margin-right: 0 !important;
}

/* If the theme adds inner padding that creates the “boxed” look */
.lq-hero .wp-block-group__inner-container,
.lq-hero .wp-block-cover__inner-container,
.lq-hero .wp-block-columns,
.lq-hero .wp-block-column {
max-width: none !important;
margin-left: 0 !important;
margin-right: 0 !important;
}
}
@media (max-width: 768px){
/* remove top space only on mobile */
.wp-site-blocks > *:first-child,
.site-content > *:first-child{
margin-top: 0 !important;
padding-top: 0 !important;
}
/* tighten the About section block */
.wp-block-group, .wp-block-cover, .wp-block-columns{
padding-top: 0 !important;
}
}
/* MOBILE: make the "Never..." hero full-width like the "Growth..." section */
@media (max-width: 768px){
.lq-hero{
width: 100% !important;
max-width: 100% !important;
margin-left: 0 !important;
margin-right: 0 !important;
}

/* If the theme is forcing a boxed inner width, remove it */
.lq-hero .wp-block-group__inner-container,
.lq-hero .wp-block-cover__inner-container{
max-width: 100% !important;
width: 100% !important;
}
}
/* MOBILE: make the "Never..." section full-width like the sections below */
@media (max-width: 768px){
.lq-hero{
width: 100vw !important;
max-width: 100vw !important;
margin-left: calc(50% - 50vw) !important;
margin-right: calc(50% - 50vw) !important;
padding-left: 22px !important;
padding-right: 22px !important;
box-sizing: border-box !important;
}
}
@media (max-width: 782px){
.about-hero{
padding-top: 24px !important;
padding-bottom: 24px !important;
margin-top: 0 !important;
}
}

/* Mobile: align the "Never miss..." section like Growth */
@media (max-width: 782px){
.hero-never{
padding-top: 24px !important;
padding-bottom: 24px !important;
}
.hero-never *{
text-align: left !important;
}
.hero-never{
padding-left: 22px !important;
padding-right: 22px !important;
}
}
/* Hide the default WordPress page title on the Contact page */
body.page-id-1418 .entry-title,
body.page-id-1418 h1.wp-block-post-title {
display: none !important;
}
/* Make the Contact page full-width and remove theme padding */
body.page-id-1418 .site-content,
body.page-id-1418 .content-area,
body.page-id-1418 .entry-content {
padding: 0 !important;
margin: 0 !important;
max-width: 100% !important;
}

/* Your custom section styling */
body.page-id-1418 .lq-contact{
background: linear-gradient(180deg, #14532d 0%, #166534 100%) !important;
color: #fff !important;
padding: 32px 18px 40px !important; /* less empty space */
}

body.page-id-1418 .lq-wrap{
max-width: 860px !important;
margin: 0 auto !important;
}

body.page-id-1418 .lq-title{
font-size: 44px !important; /* desktop size */
line-height: 1.08 !important;
margin: 0 0 18px 0 !important;
text-align: center !important;
}

body.page-id-1418 .lq-card{
background: rgba(255,255,255,0.10) !important;
border: 1px solid rgba(255,255,255,0.18) !important;
border-radius: 18px !important;
padding: 18px 18px 16px !important;
}

body.page-id-1418 .lq-card p{
margin: 0 0 12px 0 !important;
font-size: 16px !important;
line-height: 1.5 !important;
}

body.page-id-1418 .lq-card a{
color: #fff !important;
text-decoration: underline !important;
text-underline-offset: 3px !important;
}

body.page-id-1418 .lq-cta{
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
width: 100% !important;
margin-top: 10px !important;
padding: 14px 16px !important;
border-radius: 14px !important;
background: rgba(255,255,255,0.16) !important;
border: 1px solid rgba(255,255,255,0.22) !important;
color: #fff !important;
text-decoration: none !important;
font-weight: 700 !important;
}

/* Mobile sizing */
@media (max-width: 768px){
body.page-id-1418 .lq-title{ font-size: 32px !important; }
}
/* CONTACT page (post=1418): hide the big automatic page title */
body.page-id-1418 .entry-title,
body.page-id-1418 h1.entry-title,
body.page-id-1418 .wp-block-post-title,
body.page-id-1418 header.entry-header {
display: none !important;
}

/* Remove the extra top spacing the theme adds above the content */
body.page-id-1418 .site-content,
body.page-id-1418 .content-area,
body.page-id-1418 .entry-content {
padding-top: 0 !important;
margin-top: 0 !important;
}
body.page-id-1418 .entry-content > *:first-child{
margin-top: 0 !important;
}
lq-contact-logo
/* CONTACT page (ID 141): remove theme title/header */
body.page-id-141 .entry-header,
body.page-id-141 header.entry-header,
body.page-id-141 .page-header,
body.page-id-141 .wp-block-post-title,
body.page-id-141 .entry-title,
body.page-id-141 h1.entry-title{
display: none !important;
margin: 0 !important;
padding: 0 !important;
}

/* Also remove any top spacing left behind */
body.page-id-141 .site-main,
body.page-id-141 .content-area,
body.page-id-141 .content{
padding-top: 0 !important;
margin-top: 0 !important;
}

/* ==== NUCLEAR: REMOVE TOP GAP ABOVE HERO (WP) ==== */

/* 1) Kill padding/margins on the page wrappers */
html, body,
#page, #content, .site, .site-content,
.wp-site-blocks, .wp-site-blocks > * ,
.wp-block-group, .wp-block-cover, .wp-block-template-part {
margin-top: 0 !important;
padding-top: 0 !important;
}

/* 2) Force header to NOT create a big bottom gap */
header, .site-header, .wp-block-template-part.header,
.wp-site-blocks > header, .wp-site-blocks > .wp-block-template-part {
margin-bottom: 0 !important;
padding-bottom: 0 !important;
}

/* 3) Remove ANY spacer blocks that are causing empty space */
.wp-block-spacer {
display: none !important;
height: 0 !important;
margin: 0 !important;
padding: 0 !important;
}

/* 4) REMOVE that “green band” spacing area if it’s coming from a section/group */
.wp-block-group.has-background,
.wp-block-cover.has-background {
padding-top: 0 !important;
margin-top: 0 !important;
}

/* 5) Pull your first visible hero section UP (safe but effective)
- This targets the FIRST block after the header */
.wp-site-blocks > header + * {
margin-top: -140px !important;
}

/* 6) If your theme wraps main content, pull that up too */
main, .wp-site-blocks > main, .site-main {
margin-top: 0 !important;
padding-top: 0 !important;
}
/* =========================================================
FIX: REMOVE BIG WHITE GAP UNDER NAV (HEADER AREA)
========================================================= */

/* 0) Global: prevent weird top spacing */
html, body { margin:0 !important; padding:0 !important; }

/* 1) Header: kill padding/margins that create tall header */
header, .site-header, .main-header, .masthead,
.wp-block-template-part.header, .wp-site-blocks > header {
margin: 0 !important;
padding: 0 !important;
min-height: 0 !important;
height: auto !important;
}

/* 2) Common theme header rows/wraps that add vertical space */
.site-header .container,
.site-header .wrap,
.header-wrap,
.header-inner,
.header-row,
.header-main,
.main-header-bar,
.ast-primary-header-bar,
.ast-main-header-wrap,
.kadence-header-row,
.kadence-header-wrapper,
.elementor-header,
.elementor-location-header {
padding-top: 0 !important;
padding-bottom: 0 !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
min-height: 0 !important;
}

/* 3) Logo + nav area: remove top/bottom padding */
.site-branding,
.custom-logo-link,
.logo,
.nav-primary,
.main-navigation,
.wp-block-navigation,
.wp-block-site-logo {
margin: 0 !important;
padding: 0 !important;
}

/* 4) Content wrapper: remove “top padding” below header */
#content, .site-content, .content-area, main, .site-main,
.wp-site-blocks, .wp-site-blocks > main {
padding-top: 0 !important;
margin-top: 0 !important;
}

/* 5) FIRST section/hero: pull it up (this is usually the culprit) */
#content > *:first-child,
.site-content > *:first-child,
.site-main > *:first-child,
.entry-content > *:first-child,
.wp-site-blocks > main > *:first-child {
margin-top: 0 !important;
padding-top: 0 !important;
}

/* 6) If a spacer block exists, kill it */
.wp-block-spacer { height: 0 !important; margin: 0 !important; padding: 0 !important; display:none !important; }

/* 7) Mobile safety */
@media (max-width: 782px){
header, .site-header { position: relative !important; }
}
lq-about { padding: 64px 0; }
.lq-wrap { max-width: 980px; margin: 0 auto; padding: 0 20px; }

.lq-hero h1 { margin: 0 0 12px; }
.lq-lead { font-size: 1.1rem; line-height: 1.6; margin: 0 0 18px; max-width: 70ch; }

.lq-cta { display: flex; gap: 12px; flex-wrap: wrap; margin: 18px 0 10px; }
.lq-btn { display: inline-block; padding: 12px 16px; border-radius: 999px; text-decoration: none; font-weight: 600; }
.lq-btn-primary { background: #2aa84a; color: #fff; }
.lq-btn-ghost { background: transparent; border: 1px solid rgba(0,0,0,.15); color: inherit; }

.lq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 28px 0; }
.lq-card { background: rgba(0,0,0,.03); border: 1px solid rgba(0,0,0,.06); border-radius: 16px; padding: 18px; }
.lq-card h2 { margin: 0 0 10px; font-size: 1.15rem; }
.lq-card p, .lq-card li { line-height: 1.6; }
.lq-card ul { margin: 0; padding-left: 18px; }

.lq-quote { margin: 26px 0 0; padding: 18px 18px 18px 16px; border-left: 4px solid #2aa84a; background: rgba(42,168,74,.08); border-radius: 14px; }
.lq-quote p { margin: 0 0 8px; line-height: 1.6; }
.lq-quote cite { font-style: normal; opacity: .8; font-weight: 600; }

@media (max-width: 800px) {
.lq-grid { grid-template-columns: 1fr; }
}

lq-about { padding: 64px 0; }
.lq-wrap { max-width: 980px; margin: 0 auto; padding: 0 20px; }

.lq-hero h1 { margin: 0 0 12px; }
.lq-lead { font-size: 1.1rem; line-height: 1.6; margin: 0 0 18px; max-width: 70ch; }

.lq-cta { display: flex; gap: 12px; flex-wrap: wrap; margin: 18px 0 10px; }
.lq-btn { display: inline-block; padding: 12px 16px; border-radius: 999px; text-decoration: none; font-weight: 600; }
.lq-btn-primary { background: #2aa84a; color: #fff; }
.lq-btn-ghost { background: transparent; border: 1px solid rgba(0,0,0,.15); color: inherit; }

.lq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 28px 0; }
.lq-card { background: rgba(0,0,0,.03); border: 1px solid rgba(0,0,0,.06); border-radius: 16px; padding: 18px; }
.lq-card h2 { margin: 0 0 10px; font-size: 1.15rem; }
.lq-card p, .lq-card li { line-height: 1.6; }
.lq-card ul { margin: 0; padding-left: 18px; }

.lq-quote { margin: 26px 0 0; padding: 18px 18px 18px 16px; border-left: 4px solid #2aa84a; background: rgba(42,168,74,.08); border-radius: 14px; }
.lq-quote p { margin: 0 0 8px; line-height: 1.6; }
.lq-quote cite { font-style: normal; opacity: .8; font-weight: 600; }

@media (max-width: 800px) {
.lq-grid { grid-template-columns: 1fr; }
}

.lq-about { padding: 64px 0; }
.lq-wrap { max-width: 980px; margin: 0 auto; padding: 0 20px; }

.lq-hero h1 { margin: 0 0 12px; }
.lq-lead { font-size: 1.1rem; line-height: 1.6; margin: 0 0 18px; max-width: 70ch; }

.lq-cta { display: flex; gap: 12px; flex-wrap: wrap; margin: 18px 0 10px; }
.lq-btn { display: inline-block; padding: 12px 16px; border-radius: 999px; text-decoration: none; font-weight: 600; }
.lq-btn-primary { background: #2aa84a; color: #fff; }
.lq-btn-ghost { background: transparent; border: 1px solid rgba(0,0,0,.15); color: inherit; }

.lq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 28px 0; }
.lq-card { background: rgba(0,0,0,.03); border: 1px solid rgba(0,0,0,.06); border-radius: 16px; padding: 18px; }
.lq-card h2 { margin: 0 0 10px; font-size: 1.15rem; }
.lq-card p, .lq-card li { line-height: 1.6; }
.lq-card ul { margin: 0; padding-left: 18px; }

.lq-quote { margin: 26px 0 0; padding: 18px 18px 18px 16px; border-left: 4px solid #2aa84a; background: rgba(42,168,74,.08); border-radius: 14px; }
.lq-quote p { margin: 0 0 8px; line-height: 1.6; }
.lq-quote cite { font-style: normal; opacity: .8; font-weight: 600; }

@media (max-width: 800px) {
.lq-grid { grid-template-columns: 1fr; }
}
.about-section {
max-width: 900px;
margin: 80px auto;
padding: 0 20px;
text-align: center;
}

.section-title {
font-size: 40px; /* MATCHES "What LeadQuery Does" */
font-weight: 600;
margin-bottom: 16px;
color: #2f2f2f;
}

.section-text {
font-size: 18px;
line-height: 1.6;
color: #555;
max-width: 720px;
margin: 0 auto;
}

/* LeadQuery Pricing (Astra) */
.lq-pricing-wrap { padding: 64px 0; }
.lq-pricing-container { width: min(1100px, 92%); margin: 0 auto; }

.lq-pricing-header h2 { margin: 0 0 10px; font-size: clamp(28px, 3vw, 40px); line-height: 1.1; }
.lq-pricing-header p { margin: 0; max-width: 70ch; opacity: .9; }

.lq-grid { display: grid; gap: 18px; margin-top: 22px; }
.lq-grid--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 980px) { .lq-grid--3 { grid-template-columns: 1fr; } }

.lq-card {
border: 1px solid rgba(0,0,0,.10);
border-radius: 16px;
padding: 22px;
background: #fff;
position: relative;
}

.lq-card--featured { border-color: rgba(0,0,0,.22); }
.lq-badge {
position: absolute; top: 14px; right: 14px;
font-size: 12px; padding: 6px 10px; border-radius: 999px;
border: 1px solid rgba(0,0,0,.14); background: rgba(0,0,0,.03);
}

.lq-tier { margin: 0; font-size: 12px; letter-spacing: .10em; text-transform: uppercase; opacity: .75; }
.lq-price { display: flex; align-items: baseline; gap: 8px; margin-top: 8px; }
.lq-price-amount { font-size: 44px; font-weight: 750; line-height: 1; }
.lq-price-term { font-size: 14px; opacity: .75; }
.lq-setup { font-size: 13px; opacity: .75; margin-top: 4px; }

.lq-sub { margin: 14px 0 0; max-width: 60ch; opacity: .9; }
.lq-smallcap { margin: 14px 0 6px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; opacity: .7; }

.lq-list { margin: 12px 0 0; padding-left: 18px; }
.lq-list li { margin: 8px 0; }

.lq-wide { margin-top: 18px; }
.lq-wide .lq-card { padding: 22px; }

.lq-list-2col { columns: 2; column-gap: 28px; }
@media (max-width: 980px) { .lq-list-2col { columns: 1; } }

.lq-cta { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
.lq-btn {
display: inline-flex; align-items: center; justify-content: center;
padding: 12px 16px; border-radius: 12px; text-decoration: none;
border: 1px solid rgba(0,0,0,.18); font-weight: 650;
}
.lq-btn-primary { background: #0b3d2e; color: #fff !important; border-color: #0b3d2e; }
.lq-btn-ghost { background: transparent; color: inherit; }

.lq-support {
margin-top: 22px;
border: 1px solid rgba(0,0,0,.10);
border-radius: 18px;
padding: 22px;
background: #fff;
display: grid;
grid-template-columns: 1.4fr .8fr;
gap: 18px;
align-items: start;
}
@media (max-width: 980px) { .lq-support { grid-template-columns: 1fr; } }

.lq-support-amount { font-size: 40px; font-weight: 780; line-height: 1.1; margin-top: 10px; }
.lq-support-amount span { font-size: 14px; opacity: .75; font-weight: 650; margin-left: 6px; }

.lq-section { margin-top: 22px; }
.lq-section h3 { margin: 0 0 10px; }
.lq-section p { margin: 0; max-width: 75ch; opacity: .9; }

.lq-faq details {
border: 1px solid rgba(0,0,0,.10);
border-radius: 12px;
padding: 12px 14px;
background: #fff;
margin-top: 10px;
}
.lq-faq summary { cursor: pointer; font-weight: 700; }
.lq-faq .lq-faq-content { margin-top: 10px; opacity: .9; }

/* =========================
LeadQuery Pricing (Astra)
Hunter Green Palette Fix
========================= */

/* Palette */
:root{
--lq-hunter-900:#06261f;
--lq-hunter-800:#0b3d2e;
--lq-hunter-700:#0f4d3a;
--lq-hunter-600:#145a44;

--lq-sage-50:#f3f7f5; /* soft neutral */
--lq-sage-100:#e7f0ec; /* light sage */
--lq-sage-200:#d8e6e0;

--lq-ink:#0f172a;
--lq-muted:rgba(15,23,42,.75);
--lq-border:rgba(15,23,42,.12);
--lq-card:#ffffff;
}

/* Hard override any lime-tinted section backgrounds */
.lq-wrap{
background: linear-gradient(180deg, var(--lq-sage-50) 0%, var(--lq-sage-100) 100%) !important;
padding: 64px 0;
}

.lq-container{ width:min(1140px,92%); margin:0 auto; color:var(--lq-ink); }
.lq-header h2{ margin:0 0 10px; font-size:clamp(30px,3vw,44px); line-height:1.1; }
.lq-header p{ margin:0; max-width:75ch; color:var(--lq-muted); }

.lq-grid{ display:grid; gap:18px; margin-top:22px; }
.lq-grid-3{ grid-template-columns:repeat(3,1fr); }
@media(max-width:980px){ .lq-grid-3{ grid-template-columns:1fr; } }

.lq-card{
background:var(--lq-card);
border:1px solid var(--lq-border);
border-radius:18px;
padding:22px;
position:relative;
}

.lq-tier{ margin:0; font-size:12px; letter-spacing:.10em; text-transform:uppercase; color:rgba(15,23,42,.65); }
.lq-price{ display:flex; align-items:baseline; gap:8px; margin-top:10px; }
.lq-amt{ font-size:46px; font-weight:780; line-height:1; color:var(--lq-ink); }
.lq-term{ font-size:14px; color:rgba(15,23,42,.65); }
.lq-setup{ font-size:13px; color:rgba(15,23,42,.65); margin-top:6px; }

.lq-sub{ margin:14px 0 0; max-width:62ch; color:var(--lq-muted); }
.lq-smallcap{ margin:14px 0 6px; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:rgba(15,23,42,.60); }

.lq-list{ margin:12px 0 0; padding-left:18px; }
.lq-list li{ margin:8px 0; }

.lq-featured{ border-color:rgba(15,23,42,.20); }
.lq-badge{
position:absolute; top:14px; right:14px;
font-size:12px; padding:6px 10px;
border-radius:999px;
background:rgba(11,61,46,.08);
border:1px solid rgba(11,61,46,.18);
color:var(--lq-hunter-800);
font-weight:650;
}

/* Custom wide section */
.lq-wide{ margin-top:18px; }
.lq-list-2col{ columns:2; column-gap:28px; }
@media(max-width:980px){ .lq-list-2col{ columns:1; } }

/* Buttons */
.lq-cta{ display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.lq-btn{
display:inline-flex; align-items:center; justify-content:center;
padding:12px 16px; border-radius:12px;
text-decoration:none !important;
border:1px solid rgba(15,23,42,.18);
font-weight:700;
}
.lq-btn-primary{
background:var(--lq-hunter-800);
border-color:var(--lq-hunter-800);
color:#fff !important;
}
.lq-btn-ghost{ background:transparent; color:var(--lq-ink) !important; }

/* Support (3 options) */
.lq-support-wrap{ margin-top:22px; }
.lq-support-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:18px; }
@media(max-width:980px){ .lq-support-head{ flex-direction:column; align-items:flex-start; } }

.lq-support-note{
background:rgba(11,61,46,.08);
border:1px solid rgba(11,61,46,.16);
padding:10px 12px;
border-radius:12px;
color:var(--lq-hunter-800);
font-weight:650;
}

.lq-support-grid{ display:grid; gap:18px; margin-top:14px; grid-template-columns:repeat(3,1fr); }
@media(max-width:980px){ .lq-support-grid{ grid-template-columns:1fr; } }

.lq-addon-price{
margin-top:10px;
font-size:28px;
font-weight:800;
color:var(--lq-hunter-800);
}
.lq-addon-price span{ font-size:14px; font-weight:700; color:rgba(15,23,42,.65); margin-left:6px; }

/* Sections */
.lq-section{ margin-top:22px; }
.lq-section h3{ margin:0 0 10px; }
.lq-section p{ margin:0; max-width:80ch; color:var(--lq-muted); }

/* FAQ */
.lq-faq details{
background:#fff;
border:1px solid var(--lq-border);
border-radius:14px;
padding:12px 14px;
margin-top:10px;
}
.lq-faq summary{ cursor:pointer; font-weight:800; }
.lq-faq .lq-faq-content{ margin-top:10px; color:var(--lq-muted); }
/* =========================
LEADQUERY PRICING PAGE FIX
(Astra / WP Additional CSS)
========================= */

:root{
--lq-green:#0F3D2E; /* hunter green */
--lq-green-2:#1E5A45; /* lighter hunter */
--lq-bg:#F7F7F5; /* warm off-white */
--lq-card:#FFFFFF;
--lq-ink:#0B0F0D;
--lq-border:rgba(15,61,46,.18);
}

/* --- GLOBAL: kill lime/bright greens and force brand green --- */
a, .has-text-color, .has-link-color{ color: var(--lq-green); }
a:hover{ color: var(--lq-green-2); }

/* Buttons (Astra + WP buttons) */
.ast-button, button, input[type="button"], input[type="submit"],
.wp-element-button, a.wp-element-button{
background: var(--lq-green) !important;
border-color: var(--lq-green) !important;
color: #fff !important;
}
.ast-button:hover, button:hover, input[type="button"]:hover, input[type="submit"]:hover,
.wp-element-button:hover, a.wp-element-button:hover{
background: var(--lq-green-2) !important;
border-color: var(--lq-green-2) !important;
color: #fff !important;
}

/* Page background */
body{ background: var(--lq-bg) !important; }

/* --- 1) FIX: LeadQuery logo too close to pricing header --- */
/* Adds breathing room between logo block/image and the H1 */
.wp-block-site-logo,
.wp-block-site-logo img,
.wp-block-image img[alt*="LeadQuery"],
.wp-block-image img[title*="LeadQuery"]{
margin-bottom: 18px !important;
}
.wp-block-site-logo + h1,
.wp-block-image + h1,
h1{
margin-top: 12px !important;
}

/* --- Cards: make borders + spacing consistent (reduces “sloppy” look) --- */
.wp-block-group, .wp-block-column, .wp-block-columns{
border-color: var(--lq-border) !important;
}
.wp-block-group.is-style-default,
.wp-block-group.has-background{
border-radius: 16px !important;
}

/* --- 2) FIX: Custom section looks sloppy (force it into a clean card) --- */
/* Targets the Custom block by its typical heading label */
h2:where(:contains("Custom")), h3:where(:contains("Custom")){ color: var(--lq-ink); }

/* Safer: style the section immediately following the CUSTOM label if it exists */
.custom, .pricing-custom, #custom, #custom-plan,
section[aria-label*="Custom"], div[id*="custom"]{
background: var(--lq-card) !important;
border: 1px solid var(--lq-border) !important;
border-radius: 16px !important;
padding: 28px !important;
}
.custom ul, .pricing-custom ul, #custom-plan ul, #custom ul{
margin: 14px 0 0 !important;
}
.custom .wp-block-buttons, .pricing-custom .wp-block-buttons, #custom-plan .wp-block-buttons{
margin-top: 18px !important;
gap: 12px !important;
}

/* --- 3) FIX: Remove “Each option: +$349/month” bubble (unnecessary) --- */
.support-options .each-option,
.support-options .pricing-note,
.support-options .support-pill,
.support-options .wp-block-callout,
.support-options .wp-block-group[style*="position"],
.support-options .wp-block-group:has(> p:where(:contains("Each option"))){
display: none !important;
}
/* ================================}

/* =========================================
PRICING PAGE (2169) — CONTRAST FIX
Hunter green accents, readable cards
========================================= */

body.page-id-2169{
background:#F7F7F5 !important; /* keep page clean (not washed) */
color:#0B0F0D !important;
}

/* Brand hunter green */
body.page-id-2169{
--lq-green:#0F3D2E;
--lq-green-2:#1E5A45;
--lq-border:rgba(15,61,46,.18);
}

/* Headline area */
body.page-id-2169 h1,
body.page-id-2169 h2,
body.page-id-2169 h3,
body.page-id-2169 h4{
color:#0B0F0D !important;
font-weight:800 !important;
}

/* Fix “LeadQuery” logo spacing above H1 */
body.page-id-2169 .wp-block-site-logo,
body.page-id-2169 .wp-block-image{
margin-bottom:18px !important;
}

/* Pricing cards: white cards with hunter borders (NOT gray haze) */
body.page-id-2169 .wp-block-group,
body.page-id-2169 .wp-block-column{
background:#FFFFFF !important;
border:1px solid var(--lq-border) !important;
border-radius:16px !important;
}

/* Plan labels (Starter/Growth/Pro/Custom) bold + dark */
body.page-id-2169 .wp-block-group p:first-child,
body.page-id-2169 .wp-block-column p:first-child{
font-weight:800 !important;
color:#0B0F0D !important;
letter-spacing:.02em !important;
}

/* “Everything in …” bold + dark */
body.page-id-2169 p:where(.has-small-font-size){
font-weight:800 !important;
color:#0B0F0D !important;
}

/* Buttons hunter green */
body.page-id-2169 .ast-button,
body.page-id-2169 .wp-element-button,
body.page-id-2169 a.wp-element-button{
background:var(--lq-green) !important;
border-color:var(--lq-green) !important;
color:#fff !important;
font-weight:800 !important;
}
body.page-id-2169 .ast-button:hover,
body.page-id-2169 .wp-element-button:hover,
body.page-id-2169 a.wp-element-button:hover{
background:var(--lq-green-2) !important;
border-color:var(--lq-green-2) !important;
}

/* Remove “Each option: +$349/month” bubble */
body.page-id-2169 *:where([class*="each-option"],[class*="pricing-note"],[class*="option-pill"]){
display:none !important;
}

/* Remove Support Option 1 & 2 (keep only 3) */
body.page-id-2169 .wp-block-heading:where(:contains("Support Options")) ~ .wp-block-columns .wp-block-column:nth-child(1),
body.page-id-2169 .wp-block-heading:where(:contains("Support Options")) ~ .wp-block-columns .wp-block-column:nth-child(2){
display:none !important;
}