.elementor-5104 .elementor-element.elementor-element-a7923d5{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5104 .elementor-element.elementor-element-92efac3 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-5104 .elementor-element.elementor-element-92efac3{width:100%;max-width:100%;}/* Start custom CSS for html, class: .elementor-element-92efac3 *//* ===============================================================
   JUST DUMP IT -- JDI-LP5-HotTubRemoval
   Colar no campo de CSS da pagina (Elementor).
   Autocontido de proposito: o Elementor nao compartilha CSS
   entre paginas, entao toda mudanca comum vai nos 6 arquivos.
   Secoes: split, objection, services, why, mid-cta, process, areas, crosssell
   =============================================================== */

/* ═══════════════════════════════════════════════════════════════
   BLUE CROCUS — LANDING PAGE CORE
   Extraido de 3 builds reais: Nooga, TotalHauling, DJ's Painting.

   NAO EDITAR por cliente. O que muda por cliente e:
     1. o bloco PLUGIN KILLER logo abaixo
     2. os TOKENS de marca
     3. a imagem de fundo do heroi (ver sections/ ou o brief)

   Prefixo de classe: njk-lp-  (padrao da casa desde Nooga)
   Ordem de concatenacao: core.css -> sections/*.css -> responsive.css
   ═══════════════════════════════════════════════════════════════ */

/* ── Esconder header/footer do tema WordPress ── */
header.site-header,
footer.site-footer,
#site-header,
#site-footer,
#masthead,
#colophon,
.site-header,
.site-footer,
nav.navbar,
.navbar,
.main-navigation,
.footer-widgets,
.footer-credits,
.wp-block-template-part[class*="header"],
.wp-block-template-part[class*="footer"] {
  display: none !important;
}

/* PLUGIN KILLER -- Just Dump It ------------------------------
   #ea11y-root e #accessibility-button sao o widget de acessibilidade
   do Elementor. No mobile ele cobre o botao flutuante de ligacao. */
#ea11y-root,
#accessibility-button,
.accessibility-trigger-button,
.pum-overlay,
.pum-container,
.popmake,
[id^="popmake-"],
[id^="pum-"],
.buttonizer,
.buttonizer-group,
[class*="buttonizer"],
[class*="lc_text-widget"],
[data-chat-type],
.tidio-chat,
#tawkchat-container,
.sticky-bar {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ═══ TOKENS ════════════════════════════════════════════════════ */
.njk-lp-wrapper {
  /* Just Dump It -- laranja do logo (#FB7122) + ciano de apoio */
  --njk-primary: #FB7122;
  --njk-primary-rgb: 251, 113, 34;
  --njk-primary-hover: #E4601A;
  --njk-primary-dark: #B84A0F;
  --njk-accent: #58DCE0;
  --njk-tint: #FFF3EB;
  --njk-tint-2: #FFE3D0;
  --njk-light: #F5F6F8;
  --njk-dark: #16181D;
  --njk-black: #16181D;
  --njk-body: #404751;
  --njk-white: #fff;
  --njk-gray-border: #E6EAEE;
  --njk-text-muted: #5F6770;
  --njk-footer-bg: #0F1419;
  --njk-success: #16a34a;
  --njk-star: #f59e0b;
  --njk-shadow-sm: 0 1px 2px rgba(17, 31, 44, .04), 0 2px 6px rgba(17, 31, 44, .04);
  --njk-shadow-md: 0 4px 12px rgba(17, 31, 44, .06), 0 8px 24px rgba(17, 31, 44, .04);
  --njk-shadow-lg: 0 12px 32px rgba(17, 31, 44, .08), 0 24px 56px rgba(17, 31, 44, .06);
  --njk-shadow-brand: 0 6px 20px rgba(var(--njk-primary-rgb), .22);
  --njk-radius: 10px;
  --njk-radius-lg: 16px;
  --njk-ease: cubic-bezier(.16, 1, .3, 1);
  --njk-dur-fast: 180ms;
  --njk-dur-base: 320ms;
  font-family: 'Titillium Web', sans-serif;
  color: var(--njk-body);
  line-height: 1.65;
  background: #fff;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overflow-x: clip;
  max-width: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.njk-lp-wrapper *,
.njk-lp-wrapper *::before,
.njk-lp-wrapper *::after { box-sizing: border-box }

.njk-lp-wrapper h1,
.njk-lp-wrapper h2,
.njk-lp-wrapper h3,
.njk-lp-wrapper h4,
.njk-lp-wrapper h5 {
  font-family: 'Titillium Web', sans-serif;
  font-weight: 700;
  color: var(--njk-black);
  margin: 0 0 14px 0;
  line-height: 1.15;
  letter-spacing: -0.02em;
  text-transform: none !important
}

.njk-lp-wrapper p { margin: 0 0 12px 0 }

.njk-lp-wrapper a {
  text-decoration: none;
  color: var(--njk-primary);
  transition: color var(--njk-dur-fast) ease
}

.njk-lp-wrapper ul { list-style: none; padding: 0; margin: 0 }
.njk-lp-wrapper img { max-width: 100%; height: auto; display: block }
.njk-lp-container { max-width: 1180px; margin: 0 auto; padding: 0 24px }

[data-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 700ms var(--njk-ease), transform 700ms var(--njk-ease);
  transition-delay: var(--reveal-delay, 0ms)
}
[data-reveal].is-visible,
.njk-lp-wrapper:not(.js-reveal-ready) [data-reveal] { opacity: 1; transform: translateY(0) }

/* ═══ Faixa de marcação (vermelho / grafite) ════════════════════ */


/* ═══ TIPOGRAFIA DE SEÇÃO ═══════════════════════════════════════ */
.njk-lp-prehead {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: transparent;
  color: var(--njk-primary);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: -0.005em;
  text-transform: none !important;
  margin-bottom: 18px
}

.njk-lp-prehead::before,
.njk-lp-prehead::after {
  content: '';
  display: inline-block;
  width: 24px;
  height: 2px;
  background: var(--njk-primary);
  border-radius: 2px;
  margin: 0 12px;
}

.njk-lp-prehead-left { justify-content: flex-start }
.njk-lp-prehead-left::before { display: none }

.njk-lp-section-title {
  font-size: 50px;
  line-height: 1.06;
  margin-bottom: 18px;
  color: var(--njk-black);
  font-weight: 700;
  letter-spacing: -0.025em;
  text-align: center;
  text-transform: none !important
}

.njk-lp-section-title span {
  color: var(--njk-primary);
  font-style: italic;
  font-weight: 700;
  padding-right: 0.12em;
}

.njk-lp-section-subtitle {
  display: block !important;
  width: 100% !important;
  font-size: 19px;
  color: var(--njk-text-muted);
  font-weight: 400;
  margin: 0 auto 48px auto !important;
  max-width: 820px !important;
  line-height: 1.55;
  text-align: center !important;
  text-transform: none !important
}

/* ═══ BOTÕES ════════════════════════════════════════════════════ */
.njk-lp-btn {
  text-transform: none;
  letter-spacing: -0.005em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 28px;
  background: var(--njk-primary);
  color: #fff !important;
  font-family: 'Titillium Web', sans-serif;
  font-weight: 600;
  font-size: 16px;
  border-radius: 10px;
  border: 1.5px solid var(--njk-primary);
  cursor: pointer;
  transition: all var(--njk-dur-base) var(--njk-ease);
  box-shadow: var(--njk-shadow-brand);
  position: relative;
  overflow: hidden;
  text-decoration: none !important;
  line-height: 1.2
}

.njk-lp-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .35) 50%, transparent 70%);
  transform: translateX(-120%);
  transition: transform 700ms var(--njk-ease);
  pointer-events: none
}

.njk-lp-btn:hover::before { transform: translateX(120%) }

.njk-lp-btn:hover {
  background: var(--njk-primary-hover);
  border-color: var(--njk-primary-hover);
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(var(--njk-primary-rgb), .35)
}

.njk-lp-btn > * { position: relative; z-index: 1 }

.njk-lp-btn-lg { padding: 20px 36px; font-size: 18px }

.njk-lp-btn-white {
  background: #fff !important;
  color: var(--njk-primary) !important;
  border-color: #fff !important
}

.njk-lp-btn-white:hover {
  background: var(--njk-light) !important;
  border-color: var(--njk-light) !important;
  color: var(--njk-primary) !important
}

.njk-lp-btn-white-outline {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.55) !important;
  box-shadow: none !important
}

.njk-lp-btn-white-outline:hover {
  background: #fff !important;
  color: var(--njk-primary) !important;
  border-color: #fff !important
}

.njk-lp-btn i {
  background-color: transparent !important;
  color: inherit !important;
  width: auto;
  height: auto;
  border-radius: 0;
  margin-left: 0;
  font-size: inherit;
  transition: none;
  display: inline;
}

.njk-lp-btn:hover i { transform: none !important }

/* ═══ TOPBAR ════════════════════════════════════════════════════ */
.njk-lp-topbar {
  background: var(--njk-dark);
  color: #fff;
  text-align: center;
  padding: 10px 20px;
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: -0.005em;
  border-bottom: 3px solid var(--njk-primary);
}

.njk-lp-topbar > span { margin: 0 14px }
.njk-lp-topbar > span i { margin-right: 6px; font-size: 12px; color: var(--njk-primary) }
.njk-show-mobile { display: none }

/* ═══ HEADER ════════════════════════════════════════════════════ */
.njk-lp-header {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: saturate(180%) blur(12px);
  -webkit-backdrop-filter: saturate(180%) blur(12px);
  padding: 12px 24px;
  position: sticky;
  top: 0;
  z-index: 999;
  border-bottom: 1px solid var(--njk-gray-border)
}

.njk-lp-header-flex {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px
}

.njk-lp-header-logo img { max-width: 118px; height: auto }
.njk-lp-header-nav { display: flex; align-items: center; gap: 24px }

.njk-lp-header-nav a {
  color: var(--njk-dark);
  font-weight: 500;
  font-size: 15px;
  position: relative;
  padding: 4px 0;
  letter-spacing: -0.005em
}

.njk-lp-header-nav a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--njk-primary);
  transition: width var(--njk-dur-base) var(--njk-ease)
}

.njk-lp-header-nav a:hover::after { width: 100% }
.njk-lp-header-nav a:hover { color: var(--njk-primary) }
.njk-lp-header-cta { display: flex; align-items: center; gap: 12px }

/* botão de ligação exclusivo do mobile */


/* ── Google badge ── */
.njk-lp-google-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  background: #fff;
  border: 1px solid rgba(var(--njk-primary-rgb), 0.26);
  border-radius: 12px;
  padding: 9px 18px;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(var(--njk-primary-rgb), 0.10);
  flex-shrink: 0;
  transition: box-shadow 0.2s ease;
  min-width: 112px;
}

.njk-lp-google-badge:hover { box-shadow: 0 3px 12px rgba(0,0,0,0.14) }
.njk-lp-google-badge-top { display: flex; align-items: center; gap: 8px }
.njk-lp-google-badge-logo { width: 23px; height: 23px; object-fit: contain; flex-shrink: 0 }
.njk-lp-google-badge-score { font-size: 19px; font-weight: 700; color: #202124; line-height: 1 }
.njk-lp-google-badge-stars { color: #FBBC04; font-size: 17px; letter-spacing: 2px; line-height: 1 }
.njk-lp-google-badge-count { font-size: 12.5px; color: var(--njk-text-muted); font-weight: 400; line-height: 1 }

/* ═══ HERO ══════════════════════════════════════════════════════ */
.njk-lp-hero {
  position: relative;
  padding: 78px 24px 88px;
  background-color: var(--njk-dark);
  background-size: cover;
  background-position: center;
  overflow: hidden
}

.njk-lp-hero-inner {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 60px;
  align-items: start;
  position: relative;
  z-index: 2
}

.njk-lp-hero-label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: var(--njk-primary);
  color: #fff !important;
  font-weight: 700;
  font-size: 14.5px;
  padding: 9px 20px;
  border-radius: 30px;
  margin-bottom: 22px;
  letter-spacing: -0.005em;
}

.njk-lp-hero-label i { font-size: 13px }

.njk-lp-hero h1 {
  font-size: 58px;
  line-height: 1.08;
  margin-bottom: 20px;
  color: #fff;
  font-weight: 700;
  letter-spacing: -0.03em
}

.njk-lp-hero h1 span {
  font-style: italic;
  font-weight: 700;
  color: var(--njk-primary);
}

.njk-lp-hero-subtitle {
  font-size: 19.5px;
  color: rgba(255,255,255,.82);
  margin-bottom: 30px !important;
  line-height: 1.55;
  max-width: 560px
}

.njk-lp-hero-bullets {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 11px;
  margin-bottom: 28px;
  max-width: 580px
}

.njk-lp-hero-bullets li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  padding: 13px 16px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  transition: all var(--njk-dur-base) var(--njk-ease);
  line-height: 1.35
}

.njk-lp-hero-bullets li:hover {
  background: rgba(255,255,255,.12);
  border-color: rgba(var(--njk-primary-rgb),.6);
  transform: translateY(-2px);
}

.njk-lp-hero-bullets li i {
  color: #fff;
  font-size: 13px;
  background: var(--njk-primary);
  width: 32px;
  height: 32px;
  min-width: 32px;
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.njk-lp-hero-cta-row {
  display: flex;
  gap: 12px;
  margin-top: 22px;
  max-width: 580px;
  flex-wrap: wrap;
  align-items: center;
}

/* ═══ FORM CARD ═════════════════════════════════════════════════ */
.njk-lp-form-card {
  background: #fff;
  border-radius: 18px;
  padding: 32px 28px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, .28);
  border-top: 5px solid var(--njk-primary);
  position: relative
}

.njk-lp-form-title {
  font-size: 25px !important;
  margin-bottom: 8px;
  color: var(--njk-black);
  letter-spacing: -0.02em;
  text-align: center;
}

.njk-lp-form-title span { color: var(--njk-primary); font-style: italic; font-weight: 700 }

.njk-lp-form-subtitle {
  font-size: 14.5px;
  color: var(--njk-text-muted);
  margin-bottom: 18px !important;
  line-height: 1.55;
  text-align: center;
}

.njk-lp-form-trust {
  display: flex;
  gap: 14px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--njk-gray-border);
  font-size: 12px;
  color: var(--njk-text-muted);
  justify-content: center;
  flex-wrap: wrap
}

.njk-lp-form-trust span { display: inline-flex; align-items: center; gap: 5px }
.njk-lp-form-trust i { color: var(--njk-success) }

/* ── WPForms ── */
.njk-lp-formhost .wpforms-hidden,
.njk-lp-formhost .wpforms-field-hp,
.njk-lp-formhost [class*="wpforms-field-hp"],
.njk-lp-formhost input[name*="[hp]"],
.njk-lp-formhost input[name*="honeypot"] {
  display: none !important;
  position: absolute !important;
  left: -99999px !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.njk-lp-formhost .wpforms-container,
.njk-lp-formhost .wpforms-container-full,
.njk-lp-formhost .wpforms-form {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important
}

.njk-lp-formhost .wpforms-field { padding: 0 0 13px 0 !important; margin: 0 !important }

.njk-lp-formhost .wpforms-field-label {
  font-family: 'Titillium Web', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: var(--njk-dark) !important;
  margin-bottom: 6px !important
}

.njk-lp-formhost .wpforms-field input[type="text"],
.njk-lp-formhost .wpforms-field input[type="email"],
.njk-lp-formhost .wpforms-field input[type="tel"],
.njk-lp-formhost .wpforms-field input[type="number"],
.njk-lp-formhost .wpforms-field input[type="url"],
.njk-lp-formhost .wpforms-field select,
.njk-lp-formhost .wpforms-field textarea {
  width: 100% !important;
  max-width: 100% !important;
  border: 1.5px solid rgba(var(--njk-primary-rgb), 0.26) !important;
  border-radius: 8px !important;
  padding: 13px 15px !important;
  font-family: 'Titillium Web', sans-serif !important;
  font-size: 15px !important;
  background: #ffffff !important;
  color: var(--njk-dark) !important;
  transition: border-color 200ms, box-shadow 200ms !important;
  box-sizing: border-box !important
}

.njk-lp-formhost .wpforms-field input:focus,
.njk-lp-formhost .wpforms-field select:focus,
.njk-lp-formhost .wpforms-field textarea:focus {
  border-color: var(--njk-primary) !important;
  box-shadow: 0 0 0 3px rgba(var(--njk-primary-rgb), .15) !important;
  outline: none !important
}

.njk-lp-formhost .wpforms-submit-container { padding: 0 !important; margin-top: 8px !important; text-align: center }

.njk-lp-formhost .wpforms-submit,
.njk-lp-formhost button[type="submit"] {
  background: var(--njk-primary) !important;
  color: #fff !important;
  width: 100% !important;
  padding: 16px !important;
  font-family: 'Titillium Web', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  text-transform: none !important;
  border-radius: 10px !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 250ms var(--njk-ease) !important;
  box-shadow: var(--njk-shadow-brand) !important
}

.njk-lp-formhost .wpforms-submit:hover,
.njk-lp-formhost button[type="submit"]:hover {
  background: var(--njk-primary-hover) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(var(--njk-primary-rgb), .35) !important
}

.wpforms-confirmation-container,
.wpforms-confirmation-scroll,
.wpforms-confirmation-container-full,
.wpforms-confirmation-container p,
.wpforms-confirmation-scroll p,
.wpforms-confirmation-container-full p { color: #000000 !important }

/* ═══ TRUST BAR ═════════════════════════════════════════════════ */


/* ═══ SEÇÕES — fundos e headers ═════════════════════════════════ */
.njk-lp-services { padding: 96px 24px; background: var(--njk-light) }
.njk-lp-mid-cta { padding: 84px 24px; background: var(--njk-tint) }
.njk-lp-process { padding: 96px 24px; background: #fff; position: relative; overflow: hidden }
.njk-lp-testimonials { padding: 96px 24px; background: var(--njk-light) }
.njk-lp-faq { padding: 96px 24px; background: #fff }


.njk-lp-services-header,
.njk-lp-process-header,
.njk-lp-testimonials-header,
.njk-lp-faq-header { text-align: center; margin-bottom: 50px }

.njk-lp-swipe-hint {
  display: none;
  text-align: center;
  color: var(--njk-text-muted);
  font-size: 14px;
  margin-bottom: 14px;
  font-style: italic
}

/* ═══ TESTIMONIALS ══════════════════════════════════════════════ */
.njk-lp-slider-wrapper { position: relative; max-width: 1200px; margin: 0 auto }

.njk-lp-slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  background: transparent !important;
  border: none !important;
  color: var(--njk-primary) !important;
  cursor: pointer;
  z-index: 10;
  font-size: 26px;
  box-shadow: none !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.njk-lp-slider-arrow:hover,
.njk-lp-slider-arrow:focus,
.njk-lp-slider-arrow:active {
  background: transparent !important;
  border: none !important;
  color: var(--njk-primary-hover) !important;
  box-shadow: none !important;
  outline: none !important;
  transform: translateY(-50%) !important;
}

.njk-lp-slider-arrow.left { left: -52px }
.njk-lp-slider-arrow.right { right: -52px }
.njk-lp-testimonials-wrapper { padding: 0 60px }

.njk-lp-slider {
  display: flex;
  overflow-x: auto;
  gap: 22px;
  padding-bottom: 20px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none
}

.njk-lp-slider::-webkit-scrollbar { display: none }

.njk-lp-testimonial-card {
  flex: 0 0 calc(33.333% - 15px);
  min-width: 300px;
  background: #fff;
  padding: 30px 26px;
  border-radius: 16px;
  box-shadow: var(--njk-shadow-sm);
  border: 1px solid var(--njk-gray-border);
  scroll-snap-align: start;
  transition: all var(--njk-dur-base) var(--njk-ease);
  display: flex;
  flex-direction: column
}

.njk-lp-testimonial-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--njk-shadow-lg)
}

.njk-lp-testimonial-stars {
  color: var(--njk-star);
  font-size: 15px;
  margin-bottom: 14px;
  letter-spacing: 2px
}

.njk-lp-testimonial-card p {
  font-size: 14.5px;
  color: var(--njk-dark);
  line-height: 1.65;
  flex-grow: 1;
  margin-bottom: 20px;
  font-weight: 400;
  letter-spacing: -0.005em
}

.njk-lp-testimonial-author {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid var(--njk-gray-border)
}

.njk-lp-testimonial-avatar {
  width: 42px;
  height: 42px;
  background: var(--njk-primary);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 15px;
  flex-shrink: 0;
  letter-spacing: -0.01em
}

.njk-lp-testimonial-info { display: flex; flex-direction: column }

.njk-lp-testimonial-name {
  font-weight: 700;
  color: var(--njk-black);
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: -0.01em
}

.njk-lp-testimonial-source { font-size: 11px; color: var(--njk-text-muted); margin-top: 2px }


/* ═══ FAQ ═══════════════════════════════════════════════════════ */
.njk-lp-faq-list {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px 16px;
  align-items: start
}

.njk-lp-faq-item {
  background: #fff;
  border: 1px solid var(--njk-gray-border);
  border-radius: 14px;
  overflow: hidden;
  transition: all var(--njk-dur-base) ease
}

.njk-lp-faq-item[open] {
  border-color: var(--njk-primary);
  box-shadow: var(--njk-shadow-md)
}

.njk-lp-faq-question {
  width: 100%;
  padding: 21px 24px;
  background: transparent;
  border: none;
  text-align: left;
  font-family: 'Titillium Web', sans-serif;
  font-weight: 600;
  font-size: 16.5px;
  color: var(--njk-black);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  transition: color var(--njk-dur-fast) ease;
  letter-spacing: -0.015em;
  line-height: 1.4;
  list-style: none;
}

.njk-lp-faq-question::-webkit-details-marker,
.njk-lp-faq-question::marker { display: none; content: '' }

.njk-lp-faq-question:hover { color: var(--njk-primary) !important }
.njk-lp-faq-item[open] .njk-lp-faq-question { color: var(--njk-primary) !important }

.njk-lp-faq-icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  background: var(--njk-tint);
  color: var(--njk-primary);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  transition: transform var(--njk-dur-base) var(--njk-ease)
}

.njk-lp-faq-item[open] .njk-lp-faq-icon {
  transform: rotate(180deg);
  background: var(--njk-primary);
  color: #fff
}

.njk-lp-faq-answer { overflow: hidden; animation: njkFaqSlide 0.35s ease }

@keyframes njkFaqSlide{
from { opacity: 0; transform: translateY(-6px) }
to { opacity: 1; transform: translateY(0) }}

.njk-lp-faq-answer-inner {
  padding: 0 24px 22px 24px;
  font-size: 15.5px;
  color: var(--njk-text-muted);
  line-height: 1.7
}

/* ═══ FINAL CTA ═════════════════════════════════════════════════ */
.njk-lp-final-cta {
  padding: 112px 24px;
  background-color: var(--njk-dark);
  background-image: linear-gradient(135deg, rgba(143, 18, 22, 0.95) 0%, rgba(22, 24, 29, 0.97) 100%);
  background-size: cover;
  background-position: center;
  color: #fff !important;
  text-align: center;
  position: relative;
  overflow: hidden;
  border-top: 4px solid var(--njk-primary);
}

.njk-lp-final-cta-inner {
  max-width: 840px;
  margin: 0 auto;
  position: relative;
  z-index: 2
}

.njk-lp-final-cta .njk-lp-prehead { color: rgba(255, 255, 255, .9); margin-bottom: 20px }

.njk-lp-final-cta .njk-lp-prehead::before,
.njk-lp-final-cta .njk-lp-prehead::after { background: rgba(255, 255, 255, .7) }

.njk-lp-final-cta h2 {
  color: #fff;
  font-size: 52px;
  margin-bottom: 20px;
  line-height: 1.05;
  letter-spacing: -0.025em;
  font-weight: 700
}

.njk-lp-final-cta h2 em { font-style: italic; font-weight: 700; color: #fff }

.njk-lp-final-cta p {
  color: rgba(255, 255, 255, .90);
  font-size: 19px;
  margin-bottom: 34px !important;
  line-height: 1.55;
  max-width: 660px;
  margin-left: auto;
  margin-right: auto
}

.njk-lp-final-cta-actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap
}

/* ═══ FOOTER ════════════════════════════════════════════════════ */
.njk-lp-footer {
  background: var(--njk-footer-bg);
  color: rgba(255, 255, 255, .72);
  padding: 64px 24px 26px;
  border-top: 4px solid var(--njk-primary)
}

.njk-lp-footer-inner {
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 56px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255, 255, 255, .08)
}

.njk-lp-footer-brand { max-width: 440px }
.njk-lp-footer-logo img { max-width: 118px; margin-bottom: 18px; background: #fff; border-radius: 8px; padding: 8px }
.njk-lp-footer-brand p { font-size: 14px; line-height: 1.6; margin-bottom: 18px !important }

.njk-lp-footer h4 {
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.015em;
  margin-bottom: 18px
}

.njk-lp-footer ul li { margin-bottom: 12px; font-size: 14.5px }

.njk-lp-footer ul li a {
  color: rgba(255, 255, 255, .7);
  transition: color var(--njk-dur-fast) ease;
  display: inline-flex;
  align-items: center;
  gap: 8px
}

.njk-lp-footer ul li a:hover { color: var(--njk-primary) }
.njk-lp-footer ul li i { color: var(--njk-primary); font-size: 12px; width: 14px }

.njk-lp-footer-phone a {
  font-size: 20px !important;
  font-weight: 700;
  color: #fff !important;
  letter-spacing: -0.02em;
}

.njk-lp-footer-phone a:hover { color: var(--njk-primary) !important }

.njk-lp-footer-badges {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 22px
}

.njk-lp-footer-badges img {
  height: 56px;
  width: auto;
  background: #fff;
  border-radius: 6px;
  padding: 4px;
}

.njk-lp-footer-meta {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.njk-lp-footer-meta span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 13.5px;
  color: rgba(255,255,255,.62);
}

.njk-lp-footer-meta i { color: var(--njk-primary); font-size: 13px; width: 14px }

.njk-lp-footer-social { display: flex; gap: 10px; margin-top: 0 }

.njk-lp-footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.72) !important;
  font-size: 15px;
  transition: background .18s ease, color .18s ease;
}

.njk-lp-footer-social a:hover {
  background: var(--njk-primary);
  color: #fff !important;
}

.njk-lp-footer-bottom {
  max-width: 1180px;
  margin: 22px auto 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 13px;
  color: rgba(255, 255, 255, .55)
}

.njk-lp-footer-bottom a { color: rgba(255, 255, 255, .6); margin-left: 16px }
.njk-lp-footer-bottom a:hover { color: var(--njk-primary) }

/* ═══ FAB ═══════════════════════════════════════════════════════ */
.njk-lp-fab {
  position: fixed;
  bottom: 22px;
  right: 22px;
  z-index: 998;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--njk-primary);
  color: #fff !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  box-shadow: 0 10px 28px rgba(var(--njk-primary-rgb), .45), 0 4px 12px rgba(var(--njk-primary-rgb), .3);
  transition: transform var(--njk-dur-base) var(--njk-ease), background var(--njk-dur-base) ease;
  animation: njkFabPulse 2.4s ease-in-out infinite;
  text-decoration: none !important
}

.njk-lp-fab:hover,
.njk-lp-fab:focus {
  transform: scale(1.08);
  background: var(--njk-primary-hover);
  color: #fff !important
}

@keyframes njkFabPulse{
0%,
100% { box-shadow: 0 10px 28px rgba(var(--njk-primary-rgb), .45), 0 0 0 0 rgba(var(--njk-primary-rgb), .5) }
50% { box-shadow: 0 10px 28px rgba(var(--njk-primary-rgb), .45), 0 0 0 14px rgba(var(--njk-primary-rgb), 0) }}

em { font-weight: 700; font-style: italic }

/* Hide Seraphinite Accelerator promo banner */
a[href*="s-sols.com"],
a[href*="/products/wordpress/accelerator"],
a[href*="seraphinite"],
[seraph-accel-crit] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* ═══ SPLIT (imagem + copy) — Surface Prep ══════════════════════ */
.njk-lp-split { padding: 96px 24px; background: #fff }

.njk-lp-split-inner {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 56px;
  align-items: center;
  max-width: 1180px;
  margin: 0 auto;
}

.njk-lp-split-media { position: relative }

.njk-lp-split-media img {
  border-radius: 18px;
  width: 100%;
  box-shadow: var(--njk-shadow-lg);
}

.njk-lp-split-media::after {
  content: '';
  position: absolute;
  left: -14px;
  bottom: -14px;
  width: 120px;
  height: 120px;
  border-left: 5px solid var(--njk-primary);
  border-bottom: 5px solid var(--njk-primary);
  border-radius: 0 0 0 18px;
  pointer-events: none;
}

.njk-lp-split-copy .njk-lp-split-title {
  font-size: 40px;
  line-height: 1.08;
  letter-spacing: -0.025em;
  margin-bottom: 18px;
}

.njk-lp-split-copy .njk-lp-split-title span {
  color: var(--njk-primary);
  font-style: italic;
  font-weight: 700;
}

.njk-lp-split-copy > p {
  font-size: 17px;
  color: var(--njk-text-muted);
  line-height: 1.65;
  margin-bottom: 16px;
}

.njk-lp-split-list { display: flex; flex-direction: column; gap: 12px; margin-top: 24px }

.njk-lp-split-list li {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  font-size: 15.5px;
  color: var(--njk-body);
  line-height: 1.55;
}

.njk-lp-split-list li i {
  color: var(--njk-primary);
  font-size: 15px;
  margin-top: 3px;
  flex-shrink: 0;
}

.njk-lp-split-list li strong { color: var(--njk-dark); font-weight: 700 }

/* ═══ SEÇÃO ESCURA (objeção) ════════════════════════════════════ */
.njk-lp-dark { padding: 96px 24px; background: var(--njk-dark) }

.njk-lp-dark-inner {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 60px;
  align-items: start;
  max-width: 1180px;
  margin: 0 auto;
}

.njk-lp-dark .njk-lp-prehead { color: var(--njk-primary) }
.njk-lp-dark .njk-lp-prehead::after { background: var(--njk-primary) }

/* 0-2-0 de propósito: precisa vencer .njk-lp-wrapper h2 (0-1-1),
   que força color:var(--njk-black) e sumiria no fundo grafite */
.njk-lp-dark .njk-lp-dark-title {
  font-size: 42px;
  line-height: 1.08;
  color: #fff;
  letter-spacing: -0.025em;
  margin-bottom: 20px;
}

.njk-lp-dark .njk-lp-dark-title span {
  color: var(--njk-primary);
  font-style: italic;
  font-weight: 700;
}

.njk-lp-dark-copy p {
  color: rgba(255,255,255,.75);
  font-size: 17px;
  line-height: 1.65;
  margin-bottom: 16px;
}

.njk-lp-dark-cta { margin-top: 28px }

.njk-lp-dark-cta span {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 15px;
  font-size: 14.5px;
  color: rgba(255,255,255,.6);
}

.njk-lp-dark-cta span i { color: var(--njk-primary); font-size: 13px }

.njk-lp-dark-cta span a {
  color: #fff;
  font-weight: 600;
  border-bottom: 1px solid rgba(var(--njk-primary-rgb),.7);
}

.njk-lp-dark-cta span a:hover { color: var(--njk-primary) }

.njk-lp-dark-list { display: flex; flex-direction: column; gap: 13px }

.njk-lp-dark-list li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  padding: 19px 22px;
  transition: all var(--njk-dur-base) var(--njk-ease);
}

.njk-lp-dark-list li:hover {
  background: rgba(255,255,255,.075);
  border-color: rgba(var(--njk-primary-rgb), .5);
  transform: translateX(4px);
}

.njk-lp-dark-list li > i {
  color: #fff;
  font-size: 16px;
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 10px;
  background: var(--njk-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.njk-lp-dark-list li div {
  color: rgba(255,255,255,.72);
  font-size: 15px;
  line-height: 1.6;
}

.njk-lp-dark-list li strong {
  display: block;
  color: #fff;
  font-size: 16.5px;
  font-weight: 700;
  letter-spacing: -0.015em;
  margin-bottom: 4px;
}

/* ═══ CARDS DE SERVIÇO ═════════════════════════════════════════ */
.njk-lp-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  max-width: 1200px;
  margin: 0 auto
}

.njk-lp-service-card {
  background: #fff;
  padding: 32px 26px;
  border-radius: 16px;
  border: 1px solid var(--njk-gray-border);
  box-shadow: var(--njk-shadow-sm);
  transition: all var(--njk-dur-base) var(--njk-ease);
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden
}

.njk-lp-service-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--njk-primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--njk-dur-base) var(--njk-ease)
}

.njk-lp-service-card:hover::before { transform: scaleX(1) }

.njk-lp-service-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--njk-shadow-lg);
  border-color: rgba(var(--njk-primary-rgb), 0.25)
}

.njk-lp-service-icon {
  width: 56px;
  height: 56px;
  background: var(--njk-tint);
  color: var(--njk-primary);
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 23px;
  margin-bottom: 20px;
  transition: all var(--njk-dur-base) var(--njk-ease)
}

.njk-lp-service-card:hover .njk-lp-service-icon {
  background: var(--njk-primary);
  color: #fff;
  transform: scale(1.06)
}

.njk-lp-service-card h3 {
  font-size: 19.5px;
  margin-bottom: 10px;
  letter-spacing: -0.015em;
  color: var(--njk-black);
  line-height: 1.25
}

.njk-lp-service-card p {
  font-size: 14.5px;
  color: var(--njk-text-muted);
  margin: 0;
  line-height: 1.6
}

/* ── Why Choose ── */
.njk-lp-why {
  padding: 110px 24px;
  background: var(--njk-light)
}

.njk-lp-why-header { text-align: center; margin-bottom: 56px }

.njk-lp-why-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 22px;
  max-width: 1200px;
  margin: 0 auto
}

.njk-lp-why-card {
  background: #fff;
  padding: 32px 26px;
  border-radius: 16px;
  border: 1px solid var(--njk-gray-border);
  box-shadow: var(--njk-shadow-sm);
  transition: all var(--njk-dur-base) var(--njk-ease);
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden
}

.njk-lp-why-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--njk-primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--njk-dur-base) var(--njk-ease)
}

.njk-lp-why-card:hover::before { transform: scaleX(1) }

.njk-lp-why-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--njk-shadow-lg);
  border-color: rgba(var(--njk-primary-rgb), 0.25)
}

.njk-lp-why-icon {
  width: 54px;
  height: 54px;
  background: var(--njk-light-tint);
  color: var(--njk-primary);
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 23px;
  margin-bottom: 20px;
  transition: all var(--njk-dur-base) var(--njk-ease)
}

.njk-lp-why-card:hover .njk-lp-why-icon {
  background: var(--njk-primary);
  color: #fff;
  transform: scale(1.08)
}

.njk-lp-why-card h3 {
  font-size: 19px;
  margin-bottom: 10px;
  letter-spacing: -0.015em;
  color: var(--njk-black);
  line-height: 1.25
}

.njk-lp-why-card p {
  font-size: 14.5px;
  color: var(--njk-text-muted);
  margin: 0;
  line-height: 1.6
}

/* ═══ MID CTA ═══════════════════════════════════════════════════ */
.njk-lp-mid-cta-inner { text-align: center; max-width: 780px; margin: 0 auto }

.njk-lp-mid-cta-actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 8px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.njk-lp-mid-cta-trust {
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
  font-size: 14px;
  color: var(--njk-text-muted);
  font-weight: 500;
}

.njk-lp-mid-cta-trust span { display: inline-flex; align-items: center; gap: 6px }
.njk-lp-mid-cta-trust i { color: var(--njk-success); font-size: 14px }

/* ═══ PROCESS ═══════════════════════════════════════════════════ */
.njk-lp-process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  max-width: 1180px;
  margin: 0 auto;
  position: relative;
  z-index: 2
}

.njk-lp-process-grid.is-3 { grid-template-columns: repeat(3, 1fr); max-width: 940px }

.njk-lp-process-card {
  background: #fff;
  padding: 34px 26px 28px;
  border-radius: 16px;
  border: 1px solid var(--njk-gray-border);
  box-shadow: var(--njk-shadow-sm);
  position: relative;
  overflow: hidden;
  transition: all var(--njk-dur-base) var(--njk-ease)
}

.njk-lp-process-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--njk-shadow-lg);
  border-color: rgba(var(--njk-primary-rgb), .25);
}

/* watermark tipo estêncil de piso */
.njk-lp-process-watermark {
  position: absolute;
  top: -28px;
  right: -6px;
  font-size: 132px;
  font-weight: 700;
  color: transparent;
  -webkit-text-stroke: 2px rgba(22, 24, 29, .07);
  line-height: 1;
  pointer-events: none;
  letter-spacing: -0.04em
}

.njk-lp-process-icon {
  color: var(--njk-primary);
  font-size: 25px;
  margin-bottom: 14px;
  position: relative;
  z-index: 1
}

.njk-lp-process-card h3 {
  font-size: 19px;
  margin-bottom: 10px;
  letter-spacing: -0.015em;
  color: var(--njk-black);
  position: relative;
  z-index: 1
}

.njk-lp-process-card p {
  font-size: 14.5px;
  color: var(--njk-text-muted);
  margin: 0;
  line-height: 1.6;
  position: relative;
  z-index: 1
}

/* ═══ AREAS — grade de cidades ══════════════════════════════════ */
.njk-lp-areas { padding: 110px 24px; background: var(--njk-light) }

.njk-lp-areas-header { text-align: center; margin-bottom: 48px }


.njk-lp-areas-cta { text-align: center; margin-top: 34px }

.njk-lp-areas-cta p { font-size: 15.5px; color: var(--njk-text-muted); margin-bottom: 16px }

/* ═══ FAQ — bloco "ainda com duvidas" ═══════════════════════════ */


/* ═══ HERO — linha "ou ligue agora" no card do formulario ═══════ */


/* ═══ CROSSSELL ═══ */

.njk-lp-crosssell { padding: 76px 24px; background: var(--njk-light) }

.njk-lp-crosssell-inner {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 44px;
  background: #fff;
  border: 1px solid var(--njk-gray-border);
  border-left: 5px solid var(--njk-primary);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--njk-shadow-md);
}

.njk-lp-crosssell-copy { padding: 38px 10px 38px 38px }

.njk-lp-crosssell-copy .njk-lp-prehead { margin-bottom: 12px }

.njk-lp-crosssell-copy h2 {
  font-size: 31px;
  line-height: 1.12;
  letter-spacing: -0.025em;
  margin-bottom: 12px;
}

.njk-lp-crosssell-copy h2 span { color: var(--njk-primary); font-style: italic; font-weight: 700 }

.njk-lp-crosssell-copy p {
  font-size: 16px;
  color: var(--njk-text-muted);
  line-height: 1.6;
  margin-bottom: 22px;
}

.njk-lp-crosssell-media { height: 100%; min-height: 260px }

.njk-lp-crosssell-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ═══ AJUSTES DO JUST DUMP IT ═══════════════════════════════════ */

/* Sem botao de ligacao no header (decisao do cliente na v2):
   header = logo + menu + badge. A acao fica no herio e nas seccoes. */

/* Regra 6 da casa + catalogo: o FAB e SO mobile.
   O core.css deixa display:flex fixo, entao ele vazava pro desktop. */
.njk-lp-fab { display: none }

/* Regra 5 da casa: seccoes vizinhas nunca com o mesmo fundo.
   process vem depois de mid-cta/why (claros), entao fica branco. */
.njk-lp-process { background: #fff }

/* Marcadores estruturais do skeleton que o core nao estiliza */
.njk-lp-hero-right { position: relative; z-index: 2 }
.njk-lp-footer-contact { min-width: 260px }

/* O logo do Just Dump It e circular. O core limita so a largura
   (max-width:118px), entao um logo quadrado virava um header de 143px --
   alto demais numa LP, e as ancoras ficavam cobertas. Limita pela altura. */
.njk-lp-header-logo img { max-height: 76px; width: auto; max-width: 100% }

/* ═══ SERVICE AREAS — grid por county ═══════════════════════════
   Substitui a fila unica de 29 chips da v1, que ficava alta demais e
   virava swipe no mobile. Agrupar por county e mais compacto e diz
   mais: o visitante encontra a cidade dele pelo county. */
.njk-lp-counties {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  max-width: 1080px;
  margin: 0 auto;
  align-items: start;
}

.njk-lp-county {
  background: #fff;
  border: 1px solid var(--njk-gray-border);
  border-top: 3px solid var(--njk-primary);
  border-radius: var(--njk-radius-lg);
  padding: 22px 20px;
  box-shadow: var(--njk-shadow-sm);
}

.njk-lp-county h3 {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 17px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--njk-gray-border);
  letter-spacing: -0.02em;
}

.njk-lp-county h3 i { color: var(--njk-primary); font-size: 15px }

.njk-lp-county-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.njk-lp-county-list li {
  font-size: 14.5px;
  color: var(--njk-text-muted);
  line-height: 1.4;
  padding-left: 13px;
  position: relative;
}

.njk-lp-county-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--njk-primary);
}

/* ═══ REVIEWS — altura padronizada + botao More ═════════════════
   As reviews reais do Google variam de 110 a 1600 caracteres. Sem
   clamp os cards ficam de alturas absurdamente diferentes. O texto
   completo vai no HTML (regra 2 da casa); o corte e so visual. */
/* 11 linhas em todo card: mesmo teto e mesmo piso. O corte e sempre no
   mesmo ponto, e o botao More (que o JS mostra so onde houve corte) fica
   correto em qualquer largura. */
.njk-lp-testimonial-card > p {
  min-height: calc(11 * 1.7em);
  display: -webkit-box;
  -webkit-line-clamp: 11;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.njk-lp-testimonial-card.is-open > p { min-height: 0 }

.njk-lp-testimonial-card.is-open > p {
  -webkit-line-clamp: unset;
  overflow: visible;
}

/* Link, nao botao. O `all: unset` mata o estilo que o tema do WordPress
   aplica em <button> -- sem ele o More vira um bloco laranja gigante. */
.njk-lp-testimonial-more {
  all: unset;
  box-sizing: border-box;
  align-self: flex-start;
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  margin: -2px 0 14px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  font-family: inherit !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--njk-text-muted) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgba(var(--njk-primary-rgb), .45);
  width: auto !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.njk-lp-testimonial-more::after {
  content: '\f078';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  font-size: 9px;
  color: var(--njk-primary);
  transition: transform var(--njk-dur-fast) ease;
}

.njk-lp-testimonial-card.is-open .njk-lp-testimonial-more::after { transform: rotate(180deg) }

.njk-lp-testimonial-more.is-hidden { display: none !important }

.njk-lp-testimonial-more:hover {
  color: var(--njk-primary) !important;
  text-decoration-color: var(--njk-primary);
}

/* o card cresce quando abre, entao o slider alinha pelo topo */
.njk-lp-slider { align-items: flex-start }

/* ═══ CTA inline no fim de uma seccao ═══════════════════════════
   Quais seccoes levam botao esta definido por LP em content.py --
   o ritmo alterna para nao ter dois CTAs colados. */
.njk-lp-section-cta { text-align: center; margin-top: 38px }

/* ═══ Botao outline — usado so no cross-sell ════════════════════
   E navegacao para a LP irma, nao um CTA de conversao. O peso
   visual menor mantem isso claro. */
.njk-lp-btn-outline {
  background: transparent !important;
  color: var(--njk-primary) !important;
  border: 2px solid var(--njk-primary);
  box-shadow: none !important;
}

.njk-lp-btn-outline:hover {
  background: var(--njk-primary) !important;
  color: #fff !important;
}


/* ═══ CHIPS — 4 por linha ═══════════════════════════════════════
   O template usa 3 colunas, o que deixa 8 cards em 3+3+2. Com 4 a
   grade fecha simetrica em duas linhas. */


/* ═══ LP2 — CARDS DE TAMANHO ════════════════════════════════════
   Substituem a tabela comparativa, que ficava ilegivel no mobile e
   exigia scroll horizontal para ver a quarta coluna. */


/* filtro: so aparece no mobile, onde e 1 card por vez */


/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE — SEMPRE POR ULTIMO
   Media queries de TODAS as seccoes vivem aqui, porque a cascata
   exige que venham depois das regras base. Ao montar uma LP que
   nao usa uma seccao, apagar as regras dela daqui tambem, senao
   o verify.py acusa CSS orfao.
   ═══════════════════════════════════════════════════════════════ */

/* ── LP1 responsivo ── */
@media (max-width: 1024px){
.njk-lp-split-inner { grid-template-columns: 1fr; gap: 38px }
.njk-lp-split-copy .njk-lp-split-title { font-size: 33px }}

@media (max-width: 768px){
.njk-lp-hero { background-position: center }
.njk-lp-split { padding: 56px 16px }
.njk-lp-split-copy .njk-lp-split-title { font-size: 27px }
.njk-lp-split-copy > p { font-size: 15.5px }
.njk-lp-split-list li { font-size: 14.5px }
.njk-lp-split-media::after { display: none }}


/* ═══════════════════════════════════════════════════════════════
   RESPONSIVO
   ═══════════════════════════════════════════════════════════════ */

@media (min-width: 769px){
.njk-lp-hero-label { font-size: 16px }}

@media (max-width: 1200px){


.njk-lp-header-nav { gap: 18px }
.njk-lp-header-nav a { font-size: 14px }}

@media (max-width: 1024px){
.njk-lp-hero-inner { grid-template-columns: 1fr; gap: 44px }
.njk-lp-hero h1 { font-size: 44px }
.njk-lp-hero-bullets { max-width: 100% }
.njk-lp-services-grid { grid-template-columns: repeat(2, 1fr) }
.njk-lp-process-grid { grid-template-columns: repeat(2, 1fr) }
.njk-lp-process-grid.is-3 { grid-template-columns: repeat(3, 1fr) }
.njk-lp-dark-inner { grid-template-columns: 1fr; gap: 40px }
.njk-lp-dark .njk-lp-dark-title { font-size: 36px }
.njk-lp-footer-inner { flex-wrap: wrap }
.njk-lp-testimonial-card { flex: 0 0 calc(50% - 11px) }
.njk-lp-final-cta h2 { font-size: 42px }}

@media (max-width: 768px){
.njk-lp-header-nav { display: none }

.njk-lp-header { padding: 10px 16px }
.njk-lp-header-logo img { max-width: 96px }

/* Header mobile: badge do Google no lugar do botao de ligacao */
  .njk-lp-header-cta .njk-lp-google-badge { display: flex; padding: 6px 12px; min-width: 0; gap: 2px }
.njk-lp-google-badge-logo { width: 19px; height: 19px }
.njk-lp-google-badge-score { font-size: 16px }
.njk-lp-google-badge-stars { font-size: 14px; letter-spacing: 1px }
.njk-lp-google-badge-count { font-size: 11px }

/* Trust bar mobile: 4 cards em 2x2, sem o item de review (ja esta no header) */
  


/* Areas / chips: swipe horizontal de 3 linhas */
  


/* Rodape: social ao lado do selo BBB */
  .njk-lp-footer-social { margin-top: 0 }
.njk-lp-footer-social a { width: 36px; height: 36px; font-size: 14px }

.njk-hide-mobile { display: none !important }
.njk-show-mobile { display: inline !important }

.njk-lp-hero { padding: 48px 16px 56px }
.njk-lp-hero-inner { grid-template-columns: 1fr; gap: 32px }

.njk-lp-hero-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

.njk-lp-hero h1 { font-size: 34px }
.njk-lp-hero-subtitle { font-size: 15.5px; margin-bottom: 24px !important }

.njk-lp-hero-bullets {
    grid-template-columns: 1fr;
    gap: 9px;
    margin: 0 0 22px 0;
    width: 100%;
  }

.njk-lp-hero-bullets li {
    padding: 12px 15px;
    font-size: 14.5px;
    gap: 12px;
    line-height: 1.35;
  }

.njk-lp-hero-bullets li i {
    width: 28px;
    height: 28px;
    min-width: 28px;
    font-size: 12px;
    border-radius: 7px
  }

.njk-lp-hero-cta-row { width: 100%; margin-top: 18px }
.njk-lp-hero-cta-row .njk-lp-btn { width: 100% }

.njk-lp-form-card { padding: 26px 20px }
.njk-lp-form-title { font-size: 22px !important }

.njk-lp-section-title { font-size: 29px !important }
.njk-lp-section-subtitle { font-size: 15px; margin: 0 auto 28px auto !important }
.njk-lp-prehead { font-size: 13.5px; margin-bottom: 15px }


/* Trust bar — 2 colunas, sem divisórias */
  

.njk-lp-services,
.njk-lp-mid-cta,
.njk-lp-dark,
.njk-lp-process,
.njk-lp-testimonials,
.njk-lp-faq { padding: 56px 16px }

/* Sliders horizontais no mobile */
  .njk-lp-services-grid,
.njk-lp-process-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 14px !important;
    grid-template-columns: none !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 4px 16px 16px;
    max-width: 100%;
    margin: 0 -16px;
  }

.njk-lp-services-grid::-webkit-scrollbar,
.njk-lp-process-grid::-webkit-scrollbar { display: none }

.njk-lp-service-card,
.njk-lp-process-card {
    flex: 0 0 85% !important;
    max-width: 85% !important;
    scroll-snap-align: start;
    margin: 0 !important
  }

.njk-lp-swipe-hint { display: block }

.njk-lp-dark .njk-lp-dark-title { font-size: 28px }
.njk-lp-dark-copy p { font-size: 15.5px }
.njk-lp-dark-list li { padding: 15px 17px; gap: 13px }
.njk-lp-dark-list li > i { width: 34px; height: 34px; min-width: 34px; font-size: 14px }
.njk-lp-dark-list li strong { font-size: 15.5px }
.njk-lp-dark-list li div { font-size: 14px }
.njk-lp-dark-cta .njk-lp-btn { width: 100% }


.njk-lp-testimonials-wrapper { padding: 0 }
.njk-lp-slider-arrow { display: none !important }
.njk-lp-testimonial-card { flex: 0 0 85%; min-width: 85% }
.njk-lp-testimonial-card p { font-size: 14px }

.njk-lp-faq-list { grid-template-columns: 1fr }
.njk-lp-faq-question { font-size: 15.5px; padding: 17px 19px }
.njk-lp-faq-answer-inner { padding: 0 19px 19px 19px; font-size: 14.5px }

.njk-lp-final-cta { padding: 66px 16px }
.njk-lp-final-cta h2 { font-size: 30px }
.njk-lp-final-cta p { font-size: 15px }
.njk-lp-final-cta-actions { flex-direction: column; align-items: stretch }
.njk-lp-final-cta-actions .njk-lp-btn { width: 100% }

/* espaco para o FAB nao cobrir o link de Privacy Policy */
  .njk-lp-footer { padding: 48px 16px 100px }
.njk-lp-footer-inner { flex-direction: column; gap: 32px }
.njk-lp-footer-brand { max-width: 100% }
.njk-lp-footer-badges { justify-content: flex-start }
.njk-lp-footer-badges img { height: 48px }}

@media (max-width: 600px){
.njk-lp-footer-bottom { flex-direction: column; justify-content: center; text-align: center }
.njk-lp-footer-bottom a { margin: 0 8px }}


/* Regras de seccoes de LP2/LP3 -- envelopadas em @media:
   no asset original elas estao fora de qualquer media query. */
@media (max-width: 768px){

/* --- versus/properties (LP3) --- */
  

.njk-lp-split { padding: 56px 16px }


/* --- crosssell/coverage (LP2) --- */
  .njk-lp-crosssell-inner { grid-template-columns: 1fr }
.njk-lp-crosssell-copy { padding: 34px 30px }
.njk-lp-crosssell-media { min-height: 200px; order: -1 }
.njk-lp-crosssell { padding: 56px 16px }
.njk-lp-crosssell-copy { padding: 28px 22px }
.njk-lp-crosssell-copy h2 { font-size: 25px }
.njk-lp-crosssell-copy p { font-size: 15px }
.njk-lp-crosssell-copy .njk-lp-btn { width: 100% }}

@media (max-width: 768px){
/* areas — vira swipe no mobile */
  


.njk-lp-areas { padding: 66px 16px }


.njk-lp-areas-cta .njk-lp-btn { width: 100% }}

@media (max-width: 768px){


.njk-lp-fab { display: flex }
.njk-lp-header-logo img { max-height: 56px }
/* areas: os 3 counties empilham, as cidades ficam em 2 colunas */
  .njk-lp-counties { grid-template-columns: 1fr; gap: 16px; max-width: 100% }
.njk-lp-county { padding: 18px 16px }
.njk-lp-county h3 { font-size: 16px; margin-bottom: 13px; padding-bottom: 10px }
.njk-lp-county-list { gap: 6px 10px }
.njk-lp-county-list li { font-size: 14px }

/* Bug herdado do responsive.css do template: .njk-lp-why-grid nasce
     repeat(5, 1fr) e nenhuma media query o desfaz -- no mobile os cards
     ficavam com 57px de largura. Vira swipe, igual services e process. */
  .njk-lp-why-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 14px !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 4px 16px 16px;
    max-width: 100%;
    margin: 0 -16px;
  }
.njk-lp-why-grid::-webkit-scrollbar { display: none }
.njk-lp-why-card {
    flex: 0 0 85% !important;
    max-width: 85% !important;
    scroll-snap-align: start;
    margin: 0 !important;
  }

/* Os chips viram 2 colunas de 4 no swipe (o template usa 3 linhas) */
  

/* LP2: um card de cada vez, escolhido pelo filtro de cima */
  


}

/* FUNDOS DESTA LP ------------------------------------------------ */

.njk-lp-hero {
  background-image: linear-gradient(135deg, rgba(22,24,29,.90) 0%, rgba(22,24,29,.70) 55%, rgba(184,74,15,.58) 100%),
    url('https://www.just-dumpit.com/wp-content/uploads/2026/08/Hot-Tub-Removal-in-Old-Lyme.webp');
}

.njk-lp-mid-cta {
  background-color: var(--njk-dark);
  background-image: linear-gradient(135deg, rgba(22,24,29,.93) 0%, rgba(184,74,15,.88) 100%),
    url('https://www.just-dumpit.com/wp-content/uploads/2025/11/Just-Dump-It-Truck-specialty-removal-1.webp');
  background-size: cover;
  background-position: center;
}

.njk-lp-mid-cta .njk-lp-section-title,
.njk-lp-mid-cta .njk-lp-section-title span,
.njk-lp-mid-cta .njk-lp-prehead { color: #fff }

.njk-lp-mid-cta .njk-lp-prehead::before,
.njk-lp-mid-cta .njk-lp-prehead::after { background: rgba(255,255,255,.7) }

.njk-lp-mid-cta .njk-lp-section-subtitle { color: rgba(255,255,255,.88) }
.njk-lp-mid-cta-trust { color: rgba(255,255,255,.85) }
.njk-lp-mid-cta-trust i { color: #6EE7A0 }

/* Ritmo de fundo (regra 5 da casa): split=W > why=L > services=W > process=L > testimonials=L > areas=W > faq=L > crosssell=W   L=claro W=branco */
.njk-lp-services { background: #fff }
.njk-lp-process { background: var(--njk-light) }
.njk-lp-areas { background: #fff }
.njk-lp-faq { background: var(--njk-light) }
.njk-lp-crosssell { background: #fff }/* End custom CSS */