/* Venturis site fixes, loaded after the theme's own CSS (see static-export-helper.php). */

/* D3: darker, larger body text. White text in colored sections sets its own color. */
:root {
  --the7-base-color: #3d4556;
  --the7-secondary-text-color: #3d4556;
  --the7-base-font-size: 17px;
  --the7-text-big-font-size: 17px;
  --the7-text-small-font-size: 15px;
  --the7-base-line-height: 28px;
}
body, #content p, #content li { font-size: 17px; line-height: 28px; }
.projtxt { font-size: 15px; line-height: 22px; }

/* D1: the theme's stretch-row script pads only the right side of full-width
   sections. Pad both sides equally so content lines up with the header grid. */
.vc_row[data-vc-full-width="true"]:not([data-vc-stretch-content]) {
  padding-left: max(10px, calc((100vw - 1120px) / 2)) !important;
  padding-right: max(10px, calc((100vw - 1120px) / 2)) !important;
}

/* D2: keep long-form text to a readable line length. Text blocks that span a
   full-width column are centered at about 75 characters per line. */
#content .vc_col-sm-12 > .vc_column-inner > .wpb_wrapper > .wpb_raw_code,
#content .vc_col-sm-12 > .vc_column-inner > .wpb_wrapper > .wpb_text_column,
.single .entry-content > p,
.single .entry-content > h2,
.single .entry-content > h3,
.single .entry-content > ul,
.single .entry-content > ol {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.page-id-146 .vc_column_container p { max-width: 75ch; }

/* D5: roomier side margins on phones. */
@media (max-width: 767px) {
  #main > .wf-wrap { padding-left: 22px; padding-right: 22px; }
  .vc_row[data-vc-full-width="true"]:not([data-vc-stretch-content]) {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

/* D4: posts grid paging can't run on a static site; a "See all posts" link replaces it. */
.vc_grid-btn-load_more, .vc_pageable-load-more-btn { display: none !important; }
.see-all-posts { text-align: center; margin-top: 30px; }

/* D6: space out the email-preference checkboxes. */
.wpcf7-checkbox .wpcf7-list-item { display: inline-flex; align-items: center; gap: 6px; margin: 0 14px 6px 0; }
.wpcf7-checkbox input[type="checkbox"] { margin: 0; }

/* D7: footer copyright meets AA contrast. */
#bottom-bar, #bottom-bar .wf-container-bottom, #bottom-bar p { color: #4a5568; }

/* AI page: offering cards. */
.ai-card { background: #fff; border-radius: 10px; padding: 26px 26px 22px; height: 100%;
  box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.1); }
.ai-card h3 { font-size: 20px; line-height: 26px; color: #14469e; margin-bottom: 4px; }
.ai-card .ai-builds { font-size: 14px; color: #5b6475; margin-bottom: 10px; }
.ai-card ul { margin: 0 0 0 18px; }
.ai-card li { margin-bottom: 6px; }
#ai-offers .vc_column_container { margin-bottom: 28px; }
#ai-offers, #ai-how { padding-top: 60px; padding-bottom: 40px; }
#ai-offers { background-color: #f6f9fc; }
.ai-steps { counter-reset: step; list-style: none; margin: 20px 0 0; padding: 0; }
.ai-steps li { counter-increment: step; position: relative; padding-left: 52px; margin-bottom: 22px; }
.ai-steps li::before { content: counter(step); position: absolute; left: 0; top: 0; width: 36px; height: 36px;
  border-radius: 50%; background: #47d567; color: #fff; font-weight: 700; text-align: center; line-height: 36px; }
.ai-steps strong { color: #14469e; }

/* Paging dots under the posts grid have nothing to page on a static site. */
.vc_grid-pagination { display: none !important; }
