 ============================================================
   INSIGHTS BLOG — drop-in stylesheet for the dilx theme
   Enqueued only on /insights/* routes via functions.php.
   Mirrors the Vercel preview at
   https://autofacets-wordpress.vercel.app/insights/
   ============================================================ */

.insights-dilx-body *{ box-sizing:border-box; }
.insights-dilx-body{
  font-family:'Open Sans', Arial, sans-serif;
  color:#1a2a3a;
  line-height:1.55;
}
.insights-dilx-body a{ text-decoration:none; }

/* ============================================================
   STICKY HEADER GROUP (main header + blue sub-nav)
   Wrapper .insights-sticky-header is injected at DOM-ready by
   header-insights.php so the dilx header + our sub-nav stick
   together as one block on scroll.
   ============================================================ */
.insights-sticky-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #fff;
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
}
/* Children inside the sticky wrapper must be in normal flow */
.insights-sticky-header #header,
.insights-sticky-header .insights-subnav { position: relative !important; }

.insights-context #page,
.insights-context #wrapper { padding-top: 0 !important; }

/* CRITICAL: dilx sets #header to position:fixed and the dilx JS hides it
   on initial load (slides in on scroll). On insights pages we want the header
   ALWAYS visible above the blue sub-nav. Force it back into normal flow. */
.insights-context #header,
.insights-context.header-fixed #header,
.insights-context #header.header-fixed {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: auto !important;
  transform: none !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body.insights-context { padding-top: 0 !important; margin-top: 0 !important; }

/* Hide outdated COVID announcement on all blog pages */
.insights-context #header .covid19-note { display: none !important; }

/* ============================================================
   BLUE INSIGHTS SUB-NAV
   ============================================================ */
.insights-subnav{
  background:#1d7bbf;
  color:#fff;
  font-family:'Open Sans', Arial, sans-serif;
  border-bottom:3px solid #155f96;
  position:relative;
  z-index:5;
  clear:both;
}
.insights-subnav-inner{ max-width:1320px; margin:0 auto; padding:0 24px; }
.insights-menu{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap;
}
.insights-menu > li{ position:relative; }
.insights-menu > li > a{
  display:block; padding:14px 20px;
  color:#fff !important; text-decoration:none !important;
  text-transform:uppercase; font-size:13px; font-weight:600; letter-spacing:.5px;
  transition:background-color .15s ease;
}
.insights-menu > li > a:hover,
.insights-menu > li:hover > a{ background:#155f96; }
.insights-menu .caret{ font-size:10px; margin-left:4px; opacity:.85; }
.insights-submenu{
  display:none; position:absolute; top:100%; left:0; min-width:240px;
  background:#fff; border:1px solid #ddd;
  box-shadow:0 8px 20px rgba(0,0,0,.12);
  list-style:none; margin:0; padding:8px 0; z-index:60;
}
.insights-menu li.has-sub:hover > .insights-submenu,
.insights-menu li.has-sub.open > .insights-submenu{ display:block; }
.insights-submenu li a{
  display:block; padding:9px 18px; color:#222 !important;
  text-decoration:none !important; font-size:13px; text-transform:none;
}
.insights-submenu li a:hover{ background:#f1f6fa; color:#1d7bbf !important; }
@media (max-width: 768px){
  .insights-menu{ flex-direction:column; }
  .insights-submenu{
    position:static; box-shadow:none; border:0;
    border-top:1px solid #155f96; background:#176aaa;
  }
  .insights-submenu li a{ color:#fff !important; padding-left:36px; }
}

/* ============================================================
   PROTECT MAIN CHROME FROM ANY CSS BLEED
   ============================================================ */
.insights-context #header,
.insights-context #header .nav-cnt,
.insights-context #header .container-fluid{ background:#fff !important; }
.insights-context #header .classynav > ul > li > a{ color:#222 !important; }
.insights-context #header .quick-links a{ color:#222 !important; }


/* ============================================================
   FOOTER — white form section + blue offices block
   ============================================================ */
.insights-context section.dilx-contactform-container,
.insights-context section.dilx-contactform-container > footer,
.insights-context .getin-touch,
.insights-context .getin-touch-form,
.insights-context .address-form{ background:#fff !important; }
.insights-context section.dilx-contactform-container{ padding:60px 0 30px !important; }

.insights-context .dilx-contactform-container > footer > .getin-touch > .container-fluid,
.insights-context .footer-link-section > .container-fluid,
.insights-context .footer-link-section > .footer-links > .container-fluid,
.insights-context .footer-copyRight-section > .copyright-bar > .container-fluid{
  max-width:1320px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
}

.insights-context footer .main-title,
.insights-context footer h3.main-title,
.insights-context .getin-touch .main-title,
.insights-context .section_title h3.main-title,
.insights-context .dilx-contactform-container .main-title{
  color:#1d7bbf !important; font-size:34px !important;
  font-weight:700 !important; line-height:1.25 !important;
  opacity:1 !important; visibility:visible !important;
  text-transform:uppercase !important;
  margin:0 0 28px !important; padding:0 !important;
  letter-spacing:0 !important; text-shadow:none !important;
  background:transparent !important; text-align:center !important;
}

.insights-context .getin-touch label{ color:#444 !important; opacity:1 !important; font-weight:500 !important; }
.insights-context .getin-touch input.form-control,
.insights-context .getin-touch select.form-control,
.insights-context .getin-touch textarea.form-control{
  background:#fff !important; color:#222 !important;
  border:1px solid #e2e8ee !important; border-radius:4px !important;
}

.insights-context .getin-touch input.wpcf7-submit{
  background:#fff !important; color:#1a1a1a !important;
  border:2px solid #1a1a1a !important; border-radius:30px !important;
  padding:12px 32px !important; font-weight:700 !important;
}
.insights-context .getin-touch input.wpcf7-submit:hover{
  background:#1d7bbf !important; color:#fff !important; border-color:#1d7bbf !important;
}

.insights-context .address-box{
  background:#1d7bbf !important; color:#fff !important;
  padding:50px 30px !important; border-radius:6px !important; margin-top:30px !important;
}
.insights-context .address-box,
.insights-context .address-box h3,
.insights-context .address-box p,
.insights-context .address-box a,
.insights-context .address-box span,
.insights-context .address-box li{ color:#fff !important; opacity:1 !important; }
.insights-context .address-box .office-titale-lable,
.insights-context .address-box .global-titale-lable{
  color:#fff !important; font-size:22px !important; font-weight:700 !important;
  margin-bottom:18px !important;
}

.insights-context .footer-link-section{ background:#0a2540 !important; padding:50px 0 !important; }
.insights-context .footer-link-section h3,
.insights-context .footer-link-section a,
.insights-context .footer-link-section li,
.insights-context .footer-link-section p{
  color:#fff !important; opacity:1 !important;
  font-family:'Open Sans', Arial, sans-serif !important;
}
.insights-context .footer-link-section a:hover{ color:#ffd24c !important; }

.insights-context .footer-copyRight-section{ background:#062032 !important; padding:20px 0 !important; }
.insights-context .footer-copyRight-section,
.insights-context .copyright-txt,
.insights-context .copyright-txt p,
.insights-context .copyright-txt a{
  color:#fff !important; opacity:1 !important;
  font-family:'Open Sans', Arial, sans-serif !important;
}
.insights-context .copyright-txt a:hover{ color:#ffd24c !important; }

/* ============================================================
   SINGLE POST — article card (920px white card)
   ============================================================ */
.insights-article-wrap{ background:#f7f9fb; padding:50px 0 70px; }
.insights-article{
  max-width:920px; margin:0 auto; background:#fff;
  padding:46px 56px; border-radius:6px;
  box-shadow:0 4px 24px rgba(0,0,0,.06);
  font-family:'Open Sans', Arial, sans-serif;
  color:#333; line-height:1.65;
}
.insights-article .breadcrumb-bar{ font-size:13px; color:#888; margin-bottom:20px; }
.insights-article .breadcrumb-bar a{ color:#1d7bbf; text-decoration:none; }
.insights-article .breadcrumb-bar a:hover{ text-decoration:underline; }
.insights-article h1.post-title{
  font-size:34px; line-height:1.25; color:#0a2540;
  margin:0 0 14px; font-weight:700;
}
.insights-article .post-meta{
  color:#777; font-size:13px; margin-bottom:30px;
  border-bottom:1px solid #eee; padding-bottom:18px;
}
.insights-article .post-meta a{ color:#1d7bbf; text-decoration:none; }
/* Banner — same width as body text (matches Vercel preview). */
.insights-article .featured-image{ margin:0 0 28px; }
.insights-article .featured-image img{
  max-width:100%; width:100%; height:auto; display:block;
}
.insights-article .featured-image img.insights-img-fallback{
  object-fit:contain; padding:60px; background:#0a2540;
  filter:brightness(0) invert(1) opacity(.85);
  height:240px;
}
.insights-article .post-body h2,
.insights-article .post-body h3{
  color:#0a2540; font-weight:700; margin:34px 0 14px;
}
.insights-article .post-body h2{ font-size:24px; }
.insights-article .post-body h3{ font-size:20px; }
.insights-article .post-body p{ margin:0 0 18px; font-size:16px; }
.insights-article .post-body ul,
.insights-article .post-body ol{ margin:0 0 22px 22px; padding:0; }
.insights-article .post-body li{ margin-bottom:10px; font-size:16px; }
.insights-article .post-body a{ color:#1d7bbf; }
.insights-article .post-body img{ max-width:100%; height:auto; }
/* ============================================================
   CASE-STUDY benefit list — person icon next to each benefit
   ============================================================ */
.insights-article .post-body ul.cs-benefits{
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
}
.insights-article .post-body ul.cs-benefits li{
  position: relative;
  padding: 18px 0 18px 56px;
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  color: #0a2540;
  line-height: 1.4;
  border-bottom: 1px solid #eef0f3;
}
.insights-article .post-body ul.cs-benefits li:last-child{ border-bottom: 0; }
.insights-article .post-body ul.cs-benefits li::before{
  content: "";
  position: absolute;
  left: 0; top: 50%;
  width: 38px; height: 38px;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230a2540'><path d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/></svg>");
}

/* Case-study Highlights — leave as plain bullet list (no change) */

.insights-article .insights-disclaimer{
  margin-top:36px;
  padding:14px 0;
  font-size:14px; color:#444; line-height:1.55;
}
.insights-article .insights-disclaimer strong{ color:#d92626; font-weight:700; margin-right:4px; }

.insights-article .post-tags{
  margin-top:18px;
  display:flex; align-items:flex-start; flex-wrap:wrap;
  gap:8px 0;
  font-size:14px; color:#666;
}
.insights-article .post-tags-icon{
  font-size:18px; color:#444; margin-right:6px;
}
.insights-article .post-tags-label{
  font-weight:600; color:#444; margin-right:14px;
}
.insights-article .post-tags-list{
  flex:1; min-width:0; line-height:1.6;
}
.insights-article .post-tags-list a{
  color:#1d7bbf !important; text-decoration:none;
  margin-right:4px;
}
.insights-article .post-tags-list a:hover{ text-decoration:underline; }
.insights-article .back-to-insights{
  display:inline-block; margin-top:24px; color:#1d7bbf;
  text-decoration:none; font-weight:600;
}
.insights-article .back-to-insights:before{ content:"\2190  "; }
@media (max-width: 768px){
  .insights-article{ padding:24px; }
  .insights-article .featured-image{ margin:0 0 20px; }
  .insights-article h1.post-title{ font-size:24px; }
}

/* ============================================================
   LANDING & CATEGORY — shared dilx-styled body
   ============================================================ */
.insights-landing-wrap,
.insights-category-wrap{ background:#fff; padding:0 0 30px; }

/* ----- Hero ----- */
.ai-hero{
  background-size:cover; background-position:center;
  color:#fff; padding:80px 24px 90px;
  min-height:440px; display:flex; align-items:center;
}
.ai-hero-inner{ max-width:1100px; margin:0 auto; width:100%; }
.ai-hero-meta{
  display:flex; align-items:center; gap:14px;
  margin-bottom:18px; font-size:13px;
}
.ai-cat-tag{
  display:inline-block; background:#ff7a1a; color:#fff;
  padding:5px 14px; border-radius:3px;
  text-transform:uppercase; font-weight:700;
  letter-spacing:.5px; font-size:11px;
}
.ai-hero-date{ opacity:.85; }
.ai-hero-title{
  font-size:46px; line-height:1.18; font-weight:700;
  margin:0 0 16px; color:#fff; max-width:880px;
}
.ai-hero-excerpt{
  font-size:17px; line-height:1.55; opacity:.92;
  max-width:760px; margin:0 0 28px;
}
.ai-btn{
  display:inline-block; padding:14px 28px; border-radius:30px;
  font-weight:700; font-size:14px; letter-spacing:.4px;
  transition:transform .15s ease, background-color .15s ease;
}
.ai-btn-primary{ background:#ff7a1a; color:#fff !important; border:0; }
.ai-btn-primary:hover{ background:#e66a0d; transform:translateY(-2px); color:#fff !important; }

/* ----- Sections ----- */
.ai-section{ padding:70px 24px; background:#fff; }
.ai-section-tinted{ background:#f3f6fa; }
.ai-section-inner{ max-width:1320px; margin:0 auto; }
.ai-section-head{
  display:flex; align-items:end; justify-content:space-between;
  margin-bottom:34px; flex-wrap:wrap; gap:12px;
}
.ai-section-title{ font-size:30px; font-weight:700; color:#0a2540; margin:0; }
.ai-section-sub{ margin:4px 0 0; color:#6a7a8a; font-size:15px; }
.ai-section-more{ color:#1d7bbf !important; font-weight:600; font-size:14px; }
.ai-section-more:hover{ color:#0a2540 !important; }

/* ----- Post card grid ----- */
.ai-grid-3{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:28px;
}
.ai-card{
  display:flex; flex-direction:column; background:#fff;
  border:1px solid #e5ebf0; border-radius:8px; overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  color:#1a2a3a !important;
}
.ai-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 28px rgba(10,37,64,.12);
  border-color:#cdd9e3;
  color:#1a2a3a !important;
}
.ai-card-media{
  position:relative; width:100%; padding-top:58%;
  background-color:#0a2540; overflow:hidden;
}
.ai-card-media img{
  position:absolute; top:0; left:0; width:100%; height:100%;
  object-fit:cover; object-position:center; display:block;
}
.ai-card-media img.ai-card-media-fallback{
  object-fit:contain; padding:24% 18%;
  background:#0a2540;
  filter:brightness(0) invert(1) opacity(.85);
}
.ai-card-body{
  padding:22px 22px 24px;
  display:flex; flex-direction:column; flex:1;
}
.ai-card-cat{
  display:inline-block;
  font-size:11px; font-weight:700; letter-spacing:.5px;
  color:#1d7bbf; text-transform:uppercase; margin-bottom:10px;
}
.ai-card-title{
  font-size:18px; line-height:1.35; font-weight:700;
  color:#0a2540; margin:0 0 14px;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.ai-card-meta{
  margin-top:auto;
  display:flex; align-items:center; justify-content:space-between;
  font-size:13px; color:#7a8997;
}
.ai-card-arrow{ color:#1d7bbf; font-weight:700; transition:transform .15s ease; }
.ai-card:hover .ai-card-arrow{ transform:translateX(4px); }

/* ----- Category cards ----- */
.ai-cat-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;
}
.ai-cat-card{
  background:#fff; border:1px solid #e5ebf0; border-radius:8px;
  padding:22px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  color:#0a2540 !important;
}
.ai-cat-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(10,37,64,.10);
  border-color:#1d7bbf;
  color:#0a2540 !important;
}
.ai-cat-card-name{ font-weight:700; font-size:16px; flex:1; }
.ai-cat-card-count{ font-size:12px; color:#7a8997; font-weight:600; }
.ai-cat-card-arrow{ color:#1d7bbf; font-weight:700; font-size:18px; }

/* ----- Newsletter band ----- */
.ai-newsletter{
  background:linear-gradient(135deg, #0a2540 0%, #1d7bbf 100%);
  color:#fff; padding:60px 24px;
}
.ai-newsletter-inner{
  max-width:1100px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:40px; flex-wrap:wrap;
}
.ai-newsletter-title{ font-size:28px; font-weight:700; margin:0 0 6px; color:#fff; }
.ai-newsletter-sub{ margin:0; opacity:.88; font-size:15px; max-width:520px; }
.ai-newsletter-form{ display:flex; gap:10px; flex:1; max-width:480px; min-width:300px; }
.ai-newsletter-form input{
  flex:1; padding:13px 18px; border:0; border-radius:30px; font-size:14px;
}
.ai-newsletter-form button,
.ai-newsletter-form input[type="submit"]{
  background:#ff7a1a; color:#fff; border:0;
  padding:13px 26px; border-radius:30px;
  font-weight:700; cursor:pointer; font-size:14px;
}
.ai-newsletter-form button:hover,
.ai-newsletter-form input[type="submit"]{ background:#e66a0d; }
.newsletter-row{
    display:flex;
       align-items: flex-start;
    gap:12px;
    position:relative;
    flex-wrap:nowrap;
}

.newsletter-row .wpcf7-form-control-wrap{
    flex:1;
}

.newsletter-row .wpcf7-submit{
    flex-shrink:0;
}

/* Remove spinner from layout */
.newsletter-row .wpcf7-spinner{
    position:absolute;
    right:-35px;
    top:50%;
    transform:translateY(-50%);
    margin:0;
}

/* Remove response from layout */
.newsletter-row .wpcf7-response-output{
    position:absolute;
    left:0;
    top:60%;
    margin-top:8px;
    width:100%;
}

/* ----- Category page hero ----- */
.ai-cat-hero{ background:#0a2540; color:#fff; padding:60px 24px 50px; }
.ai-cat-hero-inner{ max-width:1100px; margin:0 auto; }
.ai-cat-breadcrumb{ font-size:13px; opacity:.7; margin-bottom:12px; }
.ai-cat-breadcrumb a{ color:#fff !important; }
.ai-cat-breadcrumb a:hover{ opacity:1; }
.ai-cat-hero-title{ font-size:38px; font-weight:700; margin:0; color:#fff; }
.ai-cat-hero-sub{ margin:8px 0 0; opacity:.85; font-size:16px; }

/* ----- Empty state ----- */
.ai-empty{
  padding:60px 24px; text-align:center;
  color:#7a8997; font-size:15px;
}
.ai-empty a{ color:#1d7bbf; font-weight:600; }

/* ----- Pagination ----- */
.ai-pagination{ margin-top:40px; text-align:center; }
.ai-pagination .nav-links{ display:inline-flex; gap:6px; flex-wrap:wrap; align-items:center; }
.ai-pagination .page-numbers{
  display:inline-block; padding:8px 14px;
  border:1px solid #e5ebf0; border-radius:4px;
  color:#1a2a3a; text-decoration:none; font-size:13px;
  background:#fff;
}
.ai-pagination .page-numbers.current{ background:#1d7bbf; color:#fff; border-color:#1d7bbf; }
.ai-pagination .page-numbers:hover{ background:#f3f6fa; border-color:#1d7bbf; color:#1d7bbf; }
.ai-pagination .page-numbers.current:hover{ background:#1d7bbf; color:#fff; }

/* ----- Responsive ----- */
@media (max-width:960px){
  .ai-grid-3, .ai-cat-grid{ grid-template-columns:repeat(2, 1fr); }
  .ai-hero-title{ font-size:34px; }
  .ai-section-title{ font-size:24px; }
}
@media (max-width:600px){
  .ai-grid-3, .ai-cat-grid{ grid-template-columns:1fr; }
  .ai-hero{ padding:60px 20px 70px; min-height:380px; }
  .ai-hero-title{ font-size:28px; }
  .ai-newsletter-inner{ flex-direction:column; align-items:flex-start; }
}


.insights-video-wrap{
    margin:30px 0;
}

.insights-video-wrap iframe{
    width:100%;
    aspect-ratio:16/9;
    height:auto;
    border:0;
    border-radius:8px;
}

.insights-video-duration{
    margin-top:10px;
    font-size:14px;
    color:#666;
}




/* ============================================================
   DOWNLOAD PDF CTA + MODAL
   Renders on single posts that have an ACF `pdf_file` value
   (typically Whitepapers and select Case Studies).
   ============================================================ */
   .pdf-cta-wrap{ margin:32px 0 0; }
   .dilx-pdf-btn{
     display:inline-flex; align-items:center; gap:10px;
     background:#0a5cbf; color:#fff; border:0; border-radius:8px;
     padding:14px 30px; font:600 15px/1 'Open Sans', Arial, sans-serif;
     letter-spacing:.4px; cursor:pointer;
     box-shadow:0 4px 14px rgba(10,92,191,.25);
     transition:background .2s ease, transform .15s ease, box-shadow .2s ease;
   }
   .dilx-pdf-btn:hover, .dilx-pdf-btn:focus{
     background:#084a99; transform:translateY(-1px);
     box-shadow:0 6px 20px rgba(10,92,191,.32); outline:none;
   }
   .dilx-pdf-btn::before{
     content:""; display:inline-block; width:18px; height:18px;
     background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='7 10 12 15 17 10'/><line x1='12' y1='15' x2='12' y2='3'/></svg>") no-repeat center/contain;
   }
   
   /* ---------- Modal shell ---------- */
   #cf7-lead-form.modal{
     position:fixed; inset:0; z-index:9999;
     background:rgba(10,22,40,.65);
     backdrop-filter:blur(4px);
     -webkit-backdrop-filter:blur(4px);
     display:none; align-items:flex-start; justify-content:center;
     padding:40px 20px; overflow-y:auto;
     animation:dilx-modal-fade .2s ease;
   }
   @keyframes dilx-modal-fade { from { opacity:0 } to { opacity:1 } }
   #cf7-lead-form.modal.in,
   #cf7-lead-form.modal.show,
   #cf7-lead-form.modal[aria-hidden="false"]{ display:flex; }
   body.modal-open{ overflow:hidden; }
   
   #cf7-lead-form .modal-dialog{
     width:100%; max-width:520px; margin:auto;
     background:#fff; border-radius:14px; overflow:hidden;
     box-shadow:0 24px 70px rgba(0,0,0,.4);
     animation:dilx-modal-rise .25s ease;
   }
   @keyframes dilx-modal-rise { from { opacity:0; transform:translateY(12px) } to { opacity:1; transform:none } }
   #cf7-lead-form .modal-content{ background:#fff; }
   
   /* ---------- Header ---------- */
   #cf7-lead-form .modal-header{
     background:linear-gradient(135deg,#0a5cbf 0%,#1a73e8 100%);
     color:#fff; padding:22px 28px; position:relative;
     display:flex; align-items:center; min-height:64px;
   }
   #cf7-lead-form .modal-header h3{
     margin:0; color:#fff; font:600 19px/1.3 'Open Sans', Arial, sans-serif;
     letter-spacing:.3px; flex:1;
   }
   #cf7-lead-form .modal-header .close{
     position:absolute; top:50%; right:18px; transform:translateY(-50%);
     width:32px; height:32px; padding:0; margin:0;
     background:rgba(255,255,255,.15); border:0; border-radius:50%;
     color:#fff; font:300 20px/30px 'Open Sans', Arial, sans-serif;
     text-align:center; text-shadow:none; opacity:1;
     cursor:pointer; transition:background .15s ease, transform .15s ease;
     float:none; display:flex; align-items:center; justify-content:center;
   }
   #cf7-lead-form .modal-header .close span{ display:block; line-height:1; }
   #cf7-lead-form .modal-header .close:hover{ background:rgba(255,255,255,.28); transform:translateY(-50%) rotate(90deg); }
   #cf7-lead-form .modal-header .close:focus{ outline:2px solid #fff; outline-offset:2px; }
   #cf7-lead-form .modal-header .fa-close{ display:none; } /* legacy <i class="fa fa-close"> if used */
   
   /* ---------- Body ---------- */
   #cf7-lead-form .modal-body{ padding:28px 28px 30px; text-align:left; }
   #cf7-lead-form .modal-body .wpcf7{ text-align:left; }
   #cf7-lead-form .modal-body h6{
     margin:0 0 22px; padding:0;
     font:400 14px/1.5 'Open Sans', Arial, sans-serif;
     color:#5b6877; text-align:center;
   }
   
   /* Two-column grid for the form fields */
   #cf7-lead-form .modal-body .form-row{
     display:grid; grid-template-columns:1fr 1fr; gap:14px 14px;
     margin:0 0 18px;
   }
   #cf7-lead-form .modal-body .form-group{ margin:0; padding:0; width:auto; float:none; max-width:none; flex:none; }
   #cf7-lead-form .modal-body .form-group.col-md-12{ grid-column:1 / -1; }
   @media (max-width:520px){
     #cf7-lead-form .modal-body .form-row{ grid-template-columns:1fr; }
   }
   
   /* Inputs */
   #cf7-lead-form .modal-body input[type="text"],
   #cf7-lead-form .modal-body input[type="email"],
   #cf7-lead-form .modal-body input[type="tel"],
   #cf7-lead-form .modal-body .form-control,
   #cf7-lead-form .modal-body textarea{
     width:100%; height:46px; padding:0 14px;
     border:1px solid #d8dee6; border-radius:8px;
     font:400 14px/1.4 'Open Sans', Arial, sans-serif;
     background:#fff; color:#1a2a3a;
     transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
     box-shadow:none;
   }
   #cf7-lead-form .modal-body textarea{ height:auto; padding:12px 14px; min-height:90px; resize:vertical; }
   #cf7-lead-form .modal-body input::placeholder,
   #cf7-lead-form .modal-body textarea::placeholder{ color:#9aa3b1; opacity:1; }
   #cf7-lead-form .modal-body input[type="text"]:hover,
   #cf7-lead-form .modal-body input[type="email"]:hover,
   #cf7-lead-form .modal-body input[type="tel"]:hover,
   #cf7-lead-form .modal-body .form-control:hover{ border-color:#a9b4c2; }
   #cf7-lead-form .modal-body input[type="text"]:focus,
   #cf7-lead-form .modal-body input[type="email"]:focus,
   #cf7-lead-form .modal-body input[type="tel"]:focus,
   #cf7-lead-form .modal-body .form-control:focus,
   #cf7-lead-form .modal-body textarea:focus{
     outline:none; border-color:#0a5cbf; background:#fff;
     box-shadow:0 0 0 4px rgba(10,92,191,.12);
   }
   
   /* Hide the inline "The field is required." text — only show after submit attempt */
   #cf7-lead-form .modal-body .wpcf7-not-valid-tip{ display:none; }
   #cf7-lead-form .modal-body .wpcf7-form.invalid .wpcf7-not-valid-tip,
   #cf7-lead-form .modal-body .wpcf7-form.submitting .wpcf7-not-valid-tip{
     display:block; margin-top:6px; font-size:12px; color:#dc3545;
   }
   #cf7-lead-form .modal-body input.wpcf7-not-valid{
     border-color:#dc3545; background:#fff7f8;
   }
   #cf7-lead-form .modal-body span.wpcf7-form-control-wrap{ display:block; }
   
   /* Acceptance / Privacy Policy row */
   #cf7-lead-form .modal-body .acceptance-information{
     display:flex; align-items:flex-start; gap:10px;
     margin:6px 0 22px; padding:14px 16px;
     background:#f5f8fc; border-radius:8px;
     font:400 12.5px/1.55 'Open Sans', Arial, sans-serif !important;
     color:#5b6877;
   }
   #cf7-lead-form .modal-body .acceptance-information .wpcf7-form-control-wrap{ display:block; }
   #cf7-lead-form .modal-body .acceptance-information .wpcf7-list-item{
     margin:0; display:block;
   }
   #cf7-lead-form .modal-body .acceptance-information label{
     display:flex; align-items:flex-start; gap:10px;
     margin:0; cursor:pointer; font-weight:400; color:#5b6877;
   }
   #cf7-lead-form .modal-body .acceptance-information input[type="checkbox"]{
     flex:0 0 18px; width:18px; height:18px; margin:1px 0 0;
     accent-color:#0a5cbf; cursor:pointer;
   }
   #cf7-lead-form .modal-body .acceptance-information .wpcf7-list-item-label{
     flex:1; color:#5b6877;
   }
   #cf7-lead-form .modal-body .acceptance-information a{
     color:#0a5cbf; text-decoration:none; font-weight:600;
     border-bottom:1px solid transparent; transition:border-color .15s ease;
   }
   #cf7-lead-form .modal-body .acceptance-information a:hover{ border-bottom-color:#0a5cbf; }
   
   /* Submit button */
   #cf7-lead-form .modal-body input[type="submit"],
   #cf7-lead-form .modal-body .wpcf7-submit{
     display:block; width:100%; height:48px;
     background:linear-gradient(135deg,#0a5cbf 0%,#1a73e8 100%);
     color:#fff; border:0; border-radius:8px;
     padding:0 24px;
     font:600 15px/1 'Open Sans', Arial, sans-serif;
     letter-spacing:.4px; cursor:pointer;
     box-shadow:0 6px 16px rgba(10,92,191,.28);
     transition:transform .15s ease, box-shadow .2s ease, filter .15s ease;
   }
   #cf7-lead-form .modal-body input[type="submit"]:hover,
   #cf7-lead-form .modal-body .wpcf7-submit:hover{
     filter:brightness(1.05);
     transform:translateY(-1px);
     box-shadow:0 8px 22px rgba(10,92,191,.36);
   }
   #cf7-lead-form .modal-body input[type="submit"]:active,
   #cf7-lead-form .modal-body .wpcf7-submit:active{ transform:translateY(0); }
   #cf7-lead-form .modal-body input[type="submit"]:disabled{ opacity:.6; cursor:not-allowed; transform:none; }
   
   /* CF7 spinner / response output */
   #cf7-lead-form .modal-body .wpcf7-spinner{ margin:12px auto 0; display:block; }
   #cf7-lead-form .modal-body .wpcf7-response-output{
     margin:14px 0 0; padding:10px 14px;
     border-radius:6px; font-size:13px; line-height:1.45;
     border:1px solid transparent;
   }
   #cf7-lead-form .modal-body .wpcf7-form.failed .wpcf7-response-output,
   #cf7-lead-form .modal-body .wpcf7-form.invalid .wpcf7-response-output{
     background:#fff5f5; border-color:#f4c2c7; color:#a52a2a;
   }
   #cf7-lead-form .modal-body .wpcf7-form.sent .wpcf7-response-output{
     background:#eef9f1; border-color:#b6dec3; color:#1e7b3d;
   }
   #contact-lead-container .btn.btn-primary{
    background: white;
    border: 0;
   }   