/* Landing pages (page-landing.php, templates/landing/): product, download, pricing.
   Look = the rest of the site (old /blitz-report/ page): Avada typography and colours via its CSS variables, headings
   weight 400, text #4d4d4d, red Avada button only for the one primary action, blue links, red chevron lists, grey quote
   boxes, centred icon columns, "Find out more" style closing block. Nothing here sets its own font or brand colour. */
.enl {
  --enl-text: var(--awb-color5, #4d4d4d); --enl-dark: var(--awb-color8, #333); --enl-muted: var(--awb-color4, #747474);
  --enl-line: var(--awb-color3, #e0dede); --enl-soft: var(--awb-color2, #f6f6f6); --enl-red: var(--awb-color6, #f00402);
  --enl-link: var(--link_color, #0090ff); --enl-gap: 30px;
  color: var(--enl-text); font-size: var(--body_typography-font-size, 16px); line-height: 1.7; margin: 0 0 40px;
}
.enl *, .enl *::before, .enl *::after { box-sizing: border-box; }
.enl img { max-width: 100%; height: auto; display: block; }
.enl p { margin: 0 0 12px; }
.enl-draft { margin: 0 0 16px; padding: 8px 12px; border: 1px dashed #d4a300; border-radius: 5px; background: #fff8e1; font-size: 14px; }

/* Headings: Avada sizes, weight 400, same colour as the site */
.enl .enl-hero__title { margin: 0 0 6px; font-size: var(--h1_typography-font-size, 36px); line-height: 1.2; font-weight: 400; color: var(--enl-text); }
.enl .enl-h2 { margin: 0 0 18px; font-size: var(--h2_typography-font-size, 28px); line-height: 1.4; font-weight: 400; color: var(--enl-text); }
.enl .enl-card__title, .enl .enl-plan__name { margin: 0 0 10px; font-size: 18px; line-height: 1.4; font-weight: 400; color: var(--enl-text); }
.enl-eyebrow { margin: 0 0 6px; font-size: 14px; color: var(--enl-muted); }
.enl-hero__lead { margin: 0 0 6px; max-width: 62ch; font-size: 22px; line-height: 1.45; color: var(--enl-text); }
.enl-intro { max-width: 75ch; }
.enl-more { margin-top: 16px; }

/* Buttons: primary = Avada .fusion-button (its own styles); other actions are links */
.enl-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; margin: 22px 0 0; }
.enl-buttons a:not(.fusion-button) { font-size: 16px; }
.enl-buttons a:not(.fusion-button)::after { content: " ›"; }
.enl a.fusion-button { text-decoration: none; }
.enl a:focus-visible, .enl button:focus-visible, .enl summary:focus-visible, .enl input:focus-visible, .enl select:focus-visible { outline: 2px solid var(--enl-link); outline-offset: 2px; }

/* Lists like the site's Avada checklists */
.enl-list { margin: 10px 0 0; padding: 0; list-style: none; display: grid; gap: 9px; }
.enl-list li { display: flex; gap: 14px; align-items: baseline; margin: 0; font-weight: 700; font-size: 15px; line-height: 1.5; color: var(--enl-dark); }
.enl-list li .fa-chevron-right { flex: none; width: 10px; color: var(--enl-red); font-size: 12px; }
.enl-list a { font-weight: 700; }

/* Hero */
.enl-hero { display: grid; gap: var(--enl-gap); align-items: center; padding: 10px 0 30px; }
.enl-facts { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 18px 0 0; padding: 0; list-style: none; font-size: 15px; color: var(--enl-muted); }
.enl-facts li { margin: 0; }
.enl-facts li::before { content: "\2713\00a0"; color: var(--enl-red); }

/* Sections */
.enl-section { padding: 34px 0; scroll-margin-top: 100px; }
.enl-cards { display: grid; gap: var(--enl-gap); margin-top: 10px; }
.enl-card { text-align: center; }
.enl-card__icon { display: block; margin: 0 auto 14px; font-size: 34px; color: var(--enl-red); }
.enl-card p { margin: 0; text-align: center; }
.enl-card .enl-card__link { margin-top: 8px; }
.enl-steps { margin: 12px 0 0; padding: 0; list-style: none; counter-reset: enl-step; display: grid; gap: 14px; }
.enl-steps li { counter-increment: enl-step; position: relative; padding-left: 42px; margin: 0; }
.enl-steps li::before { content: counter(enl-step); position: absolute; left: 0; top: 1px; width: 28px; height: 28px; border-radius: 50%; background: var(--enl-text); color: #fff; font-size: 14px; display: flex; align-items: center; justify-content: center; }
.enl-steps strong { color: var(--enl-dark); }
.enl-split { display: grid; gap: var(--enl-gap); align-items: center; }

/* Video: thumbnail until clicked (en-landing.js swaps in a youtube-nocookie iframe) */
.enl-video { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; background: #000; }
.enl-video img { width: 100%; height: 100%; object-fit: cover; opacity: .85; }
.enl-video__play { position: absolute; left: 50%; top: 50%; width: 68px; height: 48px; margin: -24px 0 0 -34px; border-radius: 10px; background: var(--enl-red); }
.enl-video__play::after { content: ""; position: absolute; left: 27px; top: 14px; border-left: 18px solid #fff; border-top: 10px solid transparent; border-bottom: 10px solid transparent; }
.enl-video__label { position: absolute; left: 0; right: 0; bottom: 0; padding: 10px 14px; background: linear-gradient(transparent, rgba(0, 0, 0, .7)); color: #fff; font-size: 15px; }
.enl-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Badges, quotes (grey boxes, italic like the site's testimonials), reports */
.enl-badges { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 30px; padding: 16px 0; border-top: 1px solid var(--enl-line); border-bottom: 1px solid var(--enl-line); }
.enl-badges p { margin: 0; }
.enl-badges ul { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin: 0; padding: 0; list-style: none; }
.enl-badges li { margin: 0; }
.enl-badges img { height: 38px; width: auto; }
.enl-quotes { display: grid; gap: 22px; margin-top: 10px; }
.enl-quote { margin: 0; padding: 14px 16px; background: var(--enl-soft); display: flex; flex-direction: column; justify-content: space-between; gap: 12px; }
.enl-quote blockquote { margin: 0; padding: 0; border: 0; font-style: italic; font-weight: 700; font-size: 15px; line-height: 1.45; color: var(--enl-text); }
.enl-quote blockquote p { margin: 0; }
.enl-quote figcaption { font-size: 15px; color: var(--enl-text); }
.enl-quote figcaption strong { font-weight: 400; }
.enl-quote figcaption span::before { content: ", "; }
.enl-reports { margin: 10px 0 0; padding: 0; list-style: none; display: grid; gap: 0 30px; }
.enl-reports li { margin: 0; border-bottom: 1px solid var(--enl-line); }
.enl-reports a { display: block; padding: 7px 0; }

/* FAQ (details) in the site's toggle style */
.enl-faq details { border-bottom: 1px solid var(--enl-line); }
.enl-faq summary { cursor: pointer; padding: 12px 30px 12px 0; font-size: 16px; color: var(--enl-dark); list-style: none; position: relative; }
.enl-faq summary::-webkit-details-marker { display: none; }
.enl-faq summary::after { content: "+"; position: absolute; right: 6px; top: 7px; font-size: 22px; color: var(--enl-red); }
.enl-faq details[open] summary::after { content: "\2212"; }
.enl-faq details p { max-width: 80ch; padding-bottom: 6px; }

/* Form sections (Contact Form 7 inside keeps the site's form styles) */
.enl-form { display: grid; gap: var(--enl-gap); align-items: start; }
.enl-form__aside { padding: 18px 20px; background: var(--enl-soft); }
.enl-form .wpcf7 { max-width: 640px; }

/* Plans and estimator */
.enl-plans { display: grid; gap: var(--enl-gap); margin-top: 10px; }
.enl-plan { display: flex; flex-direction: column; padding: 22px; background: var(--enl-soft); border-top: 3px solid var(--enl-line); }
.enl-plan--featured { border-top-color: var(--enl-red); }
.enl-plan__price { margin: 0 0 8px; font-size: 30px; line-height: 1.2; color: var(--enl-text); }
.enl-plan__price span { display: block; font-size: 15px; color: var(--enl-muted); }
.enl-plan .enl-list { flex: 1; margin-bottom: 18px; }
.enl-estimator__box { display: grid; gap: var(--enl-gap); margin: 18px 0; padding: 22px; background: var(--enl-soft); }
.enl-estimator output { margin-left: 8px; font-size: 22px; font-variant-numeric: tabular-nums; }
.enl-estimator input[type=range] { width: 100%; margin: 12px 0 16px; accent-color: var(--enl-red); height: 28px; }
.enl-estimator__row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.enl-estimator select { min-height: 38px; padding: 4px 10px; border: 1px solid var(--enl-line); border-radius: 5px; background: #fff; font-size: 16px; color: var(--enl-text); }
.enl-toggle { display: inline-flex; border: 1px solid var(--enl-line); border-radius: 5px; overflow: hidden; }
.enl-toggle button { min-height: 38px; padding: 4px 14px; border: 0; background: #fff; font: inherit; font-size: 15px; color: var(--enl-text); cursor: pointer; }
.enl-toggle button[aria-pressed=true] { background: var(--enl-text); color: #fff; }
.enl-estimator__total { margin: 0 0 6px; font-size: 36px; line-height: 1.2; font-variant-numeric: tabular-nums; color: var(--enl-text); }
.enl-estimator__total small { font-size: 16px; color: var(--enl-muted); }
.enl-table-wrap { overflow-x: auto; }
.enl-table { width: 100%; min-width: 480px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.enl-table caption { caption-side: bottom; padding-top: 8px; text-align: left; font-size: 14px; color: var(--enl-muted); }
.enl-table th, .enl-table td { padding: 9px 12px; border-bottom: 1px solid var(--enl-line); text-align: right; font-weight: 400; }
.enl-table thead th { font-weight: 700; color: var(--enl-dark); }
.enl-table th:first-child { text-align: left; }
.enl-table tr.is-active td, .enl-table tr.is-active th { background: #fff4d6; }

/* Closing block like "Find out more": centred heading between rules */
.enl-cta { margin-top: 20px; padding: 10px 0 0; text-align: center; }
.enl .enl-rule { display: flex; align-items: center; gap: 20px; }
.enl .enl-rule::before, .enl .enl-rule::after { content: ""; flex: 1; border-top: 1px solid var(--enl-line); }
.enl-cta .enl-buttons { justify-content: center; }

@media (min-width: 800px) {
  .enl-hero--image { grid-template-columns: 1fr 1fr; }
  .enl-split { grid-template-columns: 1fr 1fr; }
  .enl-split--reverse .enl-split__media { order: -1; }
  .enl-cards--2, .enl-cards--3, .enl-cards--4 { grid-template-columns: repeat(2, 1fr); }
  .enl-quotes, .enl-reports { grid-template-columns: repeat(2, 1fr); }
  .enl-form { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
  .enl-estimator__box { grid-template-columns: 1.2fr 1fr; align-items: center; }
}
@media (min-width: 1050px) {
  .enl-cards--3 { grid-template-columns: repeat(3, 1fr); }
  .enl-cards--4 { grid-template-columns: repeat(4, 1fr); }
  .enl-quotes, .enl-reports, .enl-plans { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 799px) {
  .enl .enl-hero__title { font-size: 30px; }
  .enl-hero__lead { font-size: 19px; }
}
@media print { .enl-buttons, .enl-video, .enl-cta, .enl-form { display: none; } }
