@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');
/* ============================================================
   Thermocore — Shared CSS Design System
   Extracted from all 52 site pages.
   - :root tokens: values identical across every page
   - rules: selectors present on every page (canonical bodies)
   - @media: responsive layer from the richest page
   Generated 2026-06-09.
   ============================================================ */

/* Fonts: Poppins (headings) + Inter (body) via Google Fonts.
   @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap'); */

:root {
  --navy: #0b1a4d;
  --navy-2: #15057d;
  --blue: #0032a1;
  --blue-2: #00256f;
  --cyan: #e6ecff;
  --orange: #f6a12d;
  --ice: #f5f6f9;
  --white: #ffffff;
  --text: #233746;
  --muted: #657989;
  --border: #d7e4eb;
  --radius-xl: 28px;
  --radius-lg: 20px;
  --radius-md: 14px;
  --shadow-soft: 0 22px 70px rgba(7, 27, 47, 0.12);
  --shadow-card: 0 12px 35px rgba(7, 27, 47, 0.08);
  --container: 1180px;
}
.tc, .tc * { box-sizing: border-box; }
html { scroll-behavior: smooth; }
.tc {
      margin: 0;
      font-family: Inter, Arial, Helvetica, sans-serif;
      color: var(--text);
      background: var(--white);
      line-height: 1.65;
    }
.tc a { color: inherit; text-decoration: none; }
.tc p { margin: 0; }
.tc ul { margin: 0; padding: 0; }
.tc li { margin: 0; }
.tc strong { color: var(--navy); }
.tc h1, .tc h2, .tc h3, .tc h4 {
      margin: 0;
      font-family: 'Poppins', 'Inter', Arial, sans-serif;
      color: var(--navy);
      line-height: 1.15;
      letter-spacing: -0.025em;
    }
.tc h1 {
      font-size: clamp(42px, 5.4vw, 72px);
      letter-spacing: -0.05em;
    }
.tc h2 {
      font-size: clamp(30px, 3.6vw, 46px);
    }
.tc h3 {
      font-size: 22px;
    }
.tc h4 {
      font-size: 17px;
    }
.tc .page { overflow-x: clip; }
.tc .container {
      width: min(calc(100% - 40px), var(--container));
      margin-inline: auto;
    }
.tc .section {
      padding: 92px 0;
    }
.tc .section-light {
      background: var(--ice);
    }
.tc .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 16px;
      color: var(--blue);
      font-weight: 850;
      font-size: 13px;
      line-height: 1;
      letter-spacing: .09em;
      text-transform: uppercase;
    }
.tc .eyebrow::before {
      content: "";
      width: 36px;
      height: 2px;
      background: currentColor;
      border-radius: 99px;
    }
.tc .section-head {
      max-width: 820px;
      margin-bottom: 44px;
    }
.tc .section-head.center {
      max-width: 850px;
      text-align: center;
      margin-inline: auto;
    }
.tc .section-head.center .eyebrow::before {
      display: none;
    }
.tc .section-head p {
      margin-top: 18px;
      color: var(--muted);
      font-size: 17px;
    }
.tc .btn-row {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-top: 30px;
    }
.tc .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 50px;
      padding: 0 24px;
      border-radius: 999px;
      border: 1px solid transparent;
      font-size: 15px;
      font-weight: 850;
      cursor: pointer;
      transition: .22s ease;
      white-space: nowrap;
    }
.tc .btn-primary {
      background: var(--orange);
      color: var(--navy);
      box-shadow: 0 12px 26px rgba(246,161,45,.22);
    }
.tc .btn-primary:hover {
      transform: translateY(-2px);
      background: #ffb24c;
      box-shadow: 0 16px 34px rgba(246,161,45,.3);
    }
.tc .btn-secondary {
      color: var(--white);
      border-color: rgba(255,255,255,.35);
      background: rgba(255,255,255,.06);
    }
.tc .btn-secondary:hover {
      background: rgba(255,255,255,.12);
      border-color: rgba(255,255,255,.55);
    }
.tc .hero .btn-secondary {
      color: var(--navy);
      border-color: var(--border);
      background: var(--white);
    }
.tc .hero .btn-secondary:hover {
      background: #f7f8fb;
      border-color: rgba(15,143,168,.45);
    }
.tc .pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 9px 13px;
      border: 1px solid var(--border);
      border-radius: 999px;
      background: var(--white);
      color: var(--muted);
      font-size: 13px;
      font-weight: 700;
    }
.tc .pill::before {
      content: "";
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--blue);
    }
.tc .anchor-nav-inner {
      width: min(calc(100% - 40px), var(--container));
      margin-inline: auto;
      display: flex;
      gap: 8px;
      align-items: center;
      overflow-x: auto;
      padding: 11px 0;
      scrollbar-width: thin;
    }
.tc .anchor-nav a {
      flex: none;
      padding: 8px 13px;
      border-radius: 999px;
      color: var(--muted);
      font-size: 13px;
      font-weight: 800;
      transition: .18s ease;
    }
.tc .anchor-nav a:hover {
      color: var(--blue-2);
      background: var(--cyan);
    }
.tc .anchor-nav a.active {
      color: var(--navy);
      background: var(--cyan);
      box-shadow: inset 0 0 0 1px rgba(15,143,168,.22);
    }
.tc section[id] {
      scroll-margin-top: 82px;
    }
.tc .hero::before {
      display: none;
    }
.tc .hero > .container {
      position: relative;
      z-index: 1;
    }
.tc .hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.06fr) minmax(360px, .74fr);
      gap: 54px;
      align-items: center;
    }
.tc .hero-grid > * {
      width: 100% !important;
      max-width: 100% !important;
    }
.tc .hero-img,
.tc .hero-img .elementor-widget-image,
.tc .hero-img .elementor-widget-container {
      width: 100% !important;
      max-width: 100% !important;
    }
.tc .hero h1 { color: var(--navy); }
.tc .hero .eyebrow { color: var(--blue); }
.tc .hero-copy {
      max-width: 720px;
      margin-top: 24px;
      font-size: 18px;
      color: var(--muted);
    }
.tc .grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 22px;
    }
.tc .grid-2 {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 22px;
    }
.tc .card {
      position: relative;
      background: var(--white);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      box-shadow: var(--shadow-card);
      overflow: hidden;
    }
.tc .card.pad {
      padding: 26px;
    }
.tc .card:hover {
      border-color: rgba(15,143,168,.38);
    }
.tc .check-list {
      display: grid;
      gap: 9px;
      margin-top: 18px;
      list-style: none;
    }
.tc .check-list li {
      position: relative;
      padding-left: 24px;
      color: var(--text);
      font-size: 14px;
    }
.tc .check-list li::before {
      content: "✓";
      position: absolute;
      left: 0;
      top: 0;
      color: var(--blue);
      font-weight: 900;
    }
.tc .tag-row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 18px;
    }
.tc .diagram-card {
      background:
        linear-gradient(135deg, rgba(15,143,168,.12), rgba(246,161,45,.08)),
        var(--white);
      border: 1px solid var(--border);
      border-radius: var(--radius-xl);
      padding: 30px;
      box-shadow: var(--shadow-soft);
    }
.tc .process {
      display: grid;
      gap: 13px;
      margin-top: 22px;
    }
.tc .process-step {
      display: grid;
      grid-template-columns: 42px 1fr;
      gap: 14px;
      align-items: center;
      padding: 15px;
      border-radius: 16px;
      background: var(--white);
      border: 1px solid var(--border);
    }
.tc .step-no {
      width: 42px;
      height: 42px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: var(--blue);
      color: var(--white);
      font-weight: 900;
    }
.tc .process-step strong {
      display: block;
      margin-bottom: 2px;
      color: var(--navy);
    }
.tc table {
      width: 100%;
      min-width: 760px;
      border-collapse: collapse;
    }
.tc th {
      text-align: left;
      background: var(--navy);
      color: var(--white);
      padding: 18px;
      font-size: 14px;
    }
.tc td {
      padding: 18px;
      border-bottom: 1px solid var(--border);
      vertical-align: top;
      font-size: 15px;
    }
.tc tr:last-child td { border-bottom: 0; }
.tc td:first-child {
      font-weight: 800;
      color: var(--navy);
    }
.tc .sticky-card {
      position: sticky;
      top: 74px;
      padding: 28px;
      border-radius: var(--radius-xl);
      background: var(--navy);
      color: rgba(255,255,255,.78);
      box-shadow: var(--shadow-soft);
    }
.tc .sticky-card h3 { color: var(--white); }
.tc .sticky-card p {
      margin-top: 12px;
      color: rgba(255,255,255,.72);
      font-size: 15px;
    }
.tc .sticky-card .check-list li {
      color: rgba(255,255,255,.84);
    }
.tc .conversion h2 { color: var(--white); text-shadow: 0 2px 12px rgba(7,27,47,.55); }
.tc .conversion p {
      max-width: 760px;
      margin-top: 16px;
      color: rgba(255,255,255,.92);
      font-size: 17px;
      text-shadow: 0 1px 8px rgba(7,27,47,.5);
    }
.tc .conversion .mini-list {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 20px;
    }
.tc .conversion .mini-list span {
      padding: 8px 11px;
      border-radius: 999px;
      background: rgba(255,255,255,.1);
      border: 1px solid rgba(255,255,255,.14);
      font-size: 13px;
      font-weight: 800;
    }
.tc .component-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
      margin-top: 28px;
    }
.tc .component-card {
      padding: 22px;
      background: var(--white);
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      box-shadow: var(--shadow-card);
    }
.tc .component-card p {
      margin-top: 10px;
      color: var(--muted);
      font-size: 14px;
    }
.tc details {
      background: var(--white);
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 0 22px;
      box-shadow: var(--shadow-card);
    }
.tc details[open] {
      border-color: rgba(15,143,168,.38);
    }
.tc summary {
      padding: 20px 0;
      cursor: pointer;
      color: var(--navy);
      font-weight: 900;
      list-style: none;
    }
.tc summary::-webkit-details-marker { display: none; }
.tc summary::after {
      content: "+";
      float: right;
      color: var(--blue);
      font-size: 22px;
      line-height: 1;
    }
.tc details[open] summary::after {
      content: "–";
    }
.tc details p {
      padding: 0 0 22px;
      color: var(--muted);
      font-size: 15px;
    }
.tc .related-list {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
      list-style: none;
    }
.tc .related-list a {
      display: block;
      padding: 16px;
      border-radius: 14px;
      background: var(--white);
      border: 1px solid var(--border);
      color: var(--navy);
      font-weight: 800;
      font-size: 14px;
      transition: .18s ease;
    }
.tc .related-list a:hover {
      color: var(--blue-2);
      border-color: rgba(15,143,168,.45);
      transform: translateY(-2px);
    }
.tc .final-cta {
      text-align: center;
      padding: 90px 0;
      color: rgba(255,255,255,.9);
      background:
        linear-gradient(180deg, rgba(5,20,38,.82) 0%, rgba(5,20,38,.5) 45%, rgba(5,20,38,.8) 100%),
        url("https://thermocoretech.com/wp-content/uploads/2026/06/footer_banner.jpg") center / cover no-repeat;
    }
.tc .final-cta h2 { color: var(--white); text-shadow: 0 2px 14px rgba(5,20,38,.6); }
.tc .final-cta p {
      max-width: 820px;
      margin: 18px auto 0;
      font-size: 17px;
      text-shadow: 0 1px 8px rgba(5,20,38,.55);
    }
.tc .hero-image-panel {
      position: relative;
      border-radius: var(--radius-xl);
      overflow: hidden;
      background: var(--white);
      border: 1px solid var(--border);
      box-shadow: var(--shadow-soft);
      padding: 18px;
      display: grid;
      gap: 14px;
    }
.tc .image-placeholder::before {
      content: "";
      position: absolute;
      inset: 16px;
      border: 1px solid rgba(15,143,168,.18);
      border-radius: calc(var(--radius-lg) - 8px);
      pointer-events: none;
    }
.tc .image-placeholder .ph-content {
      position: relative;
      z-index: 1;
      padding: 24px;
    }
.tc .image-placeholder strong {
      display: block;
      color: var(--navy);
      font-size: 16px;
      line-height: 1.35;
    }
.tc .image-placeholder span {
      display: block;
      margin-top: 8px;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
    }
.tc .image-placeholder.small-photo {
      min-height: 150px;
      margin-bottom: 20px;
      border-radius: 16px;
    }
.tc .image-placeholder.wide-photo {
      min-height: 320px;
      margin-top: 34px;
      margin-bottom: 34px;
    }
.tc .image-placeholder.diagram-photo {
      min-height: 250px;
      margin-bottom: 24px;
      background:
        linear-gradient(135deg, rgba(15,143,168,.12), rgba(246,161,45,.08)),
        var(--white);
    }


/* ---------- Responsive (breakpoints) ---------- */

@media (max-width: 1120px) {
.tc .hero-grid, .tc .two-col, .tc .selection-layout {
        grid-template-columns: 1fr;
      }
.tc .sticky-card { position: static; }
.tc .grid-4, .tc .component-grid, .tc .term-grid, .tc .related-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
.tc .hero-proof {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
}


@media (max-width: 760px) {
.tc .container, .tc .anchor-nav-inner {
        width: min(calc(100% - 28px), var(--container));
      }
.tc .section {
        padding: 64px 0;
      }
.tc .hero {
        min-height: auto;
        padding: 70px 0 58px;
      }
.tc .hero-proof, .tc .grid-4, .tc .grid-3, .tc .grid-2, .tc .component-grid, .tc .term-grid, .tc .related-list {
        grid-template-columns: 1fr;
      }
.tc .rfq-form .split {
        grid-template-columns: 1fr;
      }
.tc .conversion {
        grid-template-columns: 1fr;
        padding: 34px;
      }
.tc .btn-row {
        flex-direction: column;
      }
.tc .btn {
        width: 100%;
      }
}


@media (max-width: 980px) {
.tc .application-layout {
        grid-template-columns: 1fr;
      }
.tc .application-photo {
        min-height: 240px;
      }
}


@media (max-width: 760px) {
.tc .application-pill-grid {
        gap: 12px;
      }
.tc .application-pill {
        min-height: 44px;
        font-size: 15px;
        padding: 8px 16px;
      }
.tc .application-photo {
        min-height: 210px;
      }
}

/* ---------- XPRO footer (rendered outside .tc) ---------- */
.xpro-theme-builder-footer{background:#0b1a4d;}
.xpro-theme-builder-footer, .xpro-theme-builder-footer p, .xpro-theme-builder-footer li{color:rgba(255,255,255,.72);}
.xpro-theme-builder-footer a{color:rgba(255,255,255,.72);transition:.18s ease;}
.xpro-theme-builder-footer a:hover{color:#ffffff;}
.xpro-theme-builder-footer h1,.xpro-theme-builder-footer h2,.xpro-theme-builder-footer h3,.xpro-theme-builder-footer h4,
.xpro-theme-builder-footer .xpro-heading-title,.xpro-theme-builder-footer .xpro-site-title a{color:#ffffff;}
.xpro-theme-builder-footer .xpro-infolist-item-icon i,.xpro-theme-builder-footer .xpro-infolist-icon i{color:#f6a12d;}
.xpro-theme-builder-footer .xpro-infolist-wrapper .xpro-infolist-item{border:0;background:transparent;box-shadow:none;}

/* footer precise typography (real XPRO classes) */
.foot-col-title .xpro-heading-title{font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#fff;margin-bottom:4px;}
.foot-tagline .xpro-heading-title{font-size:15px;font-weight:400;line-height:1.65;color:rgba(255,255,255,.72);}
.foot-copy .xpro-heading-title{font-size:13px;font-weight:500;color:rgba(255,255,255,.62);}
.xpro-theme-builder-footer .xpro-infolist-title{font-size:14px;font-weight:500;line-height:1.55;color:rgba(255,255,255,.74);}
.xpro-theme-builder-footer .xpro-infolist-item:hover .xpro-infolist-title{color:#fff;}
.xpro-theme-builder-footer .xpro-infolist-desc{display:none;}
.xpro-theme-builder-footer .xpro-infolist-item{margin-bottom:2px;align-items:flex-start;}
.xpro-theme-builder-footer .xpro-infolist-media{margin-top:4px;}
.xpro-theme-builder-footer .xpro-infolist-title{display:block;}

/* ---------- homepage / page utilities ---------- */
.tc .card{display:flex;flex-direction:column;padding:0;overflow:hidden;}
.tc .card .elementor-widget-image{width:100%;line-height:0;}
.tc .card img{width:100%;height:210px;object-fit:cover;display:block;}
.tc .card-body{padding:24px;display:flex;flex-direction:column;gap:10px;}
.tc .card-body h3{color:var(--navy);}
.tc .link-arrow .elementor-button,.tc a.link-arrow{background:transparent;box-shadow:none;color:var(--blue-2);padding:6px 0;font-weight:800;min-height:auto;border:0;}
.tc .link-arrow .elementor-button:hover{color:var(--orange);transform:none;background:transparent;box-shadow:none;}
.tc .stat{display:flex;flex-direction:column;gap:4px;}
.tc .stat .elementor-heading-title{line-height:1;}
.tc .stat-num .elementor-heading-title{font-family:Poppins;font-weight:800;font-size:42px;color:var(--navy);}
.tc .stat-label .elementor-heading-title{font-size:14px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.tc .feature{padding:26px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:12px;}
.tc .feature-ico{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:var(--cyan);}
.tc .feature-ico i,.tc .feature-ico svg{color:var(--blue);fill:var(--blue);font-size:22px;width:24px;height:24px;}
.tc .ind-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:230px;display:block;box-shadow:var(--shadow-card);isolation:isolate;}
.tc .ind-card .elementor-widget-image,
.tc .ind-card .elementor-widget-image .elementor-widget-container{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;line-height:0;}
.tc .ind-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;display:block;}
.tc .ind-card .ind-overlay{position:absolute !important;left:0;right:0;bottom:0;z-index:1;width:100%;min-height:auto;padding:56px 20px 20px;background:linear-gradient(180deg,rgba(11,26,77,0) 0%,rgba(11,26,77,.82) 58%,rgba(11,26,77,.94) 100%);}
.tc .ind-card .ind-overlay .elementor-heading-title{color:#fff;font-size:18px;}
.tc .hero-wrap{align-items:center;}
.tc.page .hero-wrap{display:grid !important;grid-template-columns:minmax(0,1.05fr) minmax(300px,.82fr) !important;gap:50px !important;align-items:center !important;}
.tc.page .hero-wrap>*{width:100% !important;max-width:100% !important;}
.tc.page .hero-grid>*{width:100% !important;max-width:100% !important;}
.tc.page .hero-img,
.tc.page .hero-img .elementor-widget-image,
.tc.page .hero-img .elementor-widget-container{width:100% !important;max-width:100% !important;}
.tc .hero-img img{display:block;border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);width:100% !important;min-height:320px;height:auto;max-height:460px;object-fit:cover;}
.tc .on-navy h2 .elementor-heading-title,.tc .on-navy h2{color:#fff;}
.tc .lead .elementor-widget-container{font-size:18px;color:var(--muted);}
.tc .two-col{display:grid !important;grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr) !important;gap:42px !important;align-items:center !important;}
.tc .two-col>*{width:auto !important;max-width:100% !important;}
.tc .trust-card,.tc .quote-card,.tc .spec-card{min-height:100%;}
.tc .trust-card .elementor-widget-text-editor p,.tc .quote-card .elementor-widget-text-editor p,.tc .spec-card .elementor-widget-text-editor p{color:var(--muted);font-size:15px;}
.tc .spec-card{padding:34px;background:linear-gradient(135deg,rgba(230,236,255,.8),#fff);border-color:rgba(0,50,161,.18);}
.tc .spec-card .check-list{margin-top:8px;}
.tc .cert-note{padding:24px 28px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--ice);}
.tc .cert-note h3 .elementor-heading-title{font-size:20px;color:var(--navy);}
.tc .cert-note p{color:var(--muted);font-size:15px;}
.tc .case-card img{height:220px;}
.tc .case-meta .elementor-heading-title{font-family:Inter,Arial,sans-serif;font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--blue) !important;}
.tc .quote-text p{font-size:16px;line-height:1.72;color:var(--text) !important;}
.tc .process-list{max-width:900px;margin-inline:auto;}
.tc .process-list .process-step{background:#fff;}
.tc .process-step .step-no .elementor-heading-title{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff !important;font-family:Poppins,Inter,sans-serif;font-size:18px;font-weight:900;line-height:1;}
.tc .process-step h3 .elementor-heading-title{font-size:19px;color:var(--navy);}
.tc .process-step p{color:var(--muted);font-size:15px;}
.tc .faq-list{max-width:920px;margin-inline:auto;}
.tc .on-navy .elementor-heading-title{color:#fff !important;}
.tc .hero .lead .elementor-widget-container{max-width:680px;}

/* ---------- WPForms (inside .tc) ---------- */
.tc .wpforms-container{margin:0;}
.tc .wpforms-container .wpforms-field{padding:0 0 18px;}
.tc .wpforms-container .wpforms-field-label{font-weight:700;color:var(--navy);font-size:14px;margin-bottom:7px;}
.tc .wpforms-container input[type=text],.tc .wpforms-container input[type=email],
.tc .wpforms-container input[type=tel],.tc .wpforms-container textarea{
  width:100%;border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:15px;font-family:Inter,sans-serif;background:#fff;color:var(--text);}
.tc .wpforms-container input:focus,.tc .wpforms-container textarea:focus{outline:none;border-color:rgba(0,50,161,.5);box-shadow:0 0 0 3px rgba(0,50,161,.08);}
.tc .wpforms-container textarea{min-height:130px;resize:vertical;}
.tc .wpforms-container .wpforms-field-row{margin-bottom:0;}
.tc .wpforms-container button.wpforms-submit{background:var(--orange);color:var(--navy);border:0;border-radius:999px;padding:14px 30px;font-weight:800;font-size:15px;cursor:pointer;transition:.2s ease;}
.tc .wpforms-container button.wpforms-submit:hover{background:#ffb24c;transform:translateY(-1px);}
.tc .info-row .feature-ico{flex:none;}

/* ---------- header dropdown carets (match brickstest) ---------- */
/* Astra injects a duplicate arrow into the XPRO menu — hide it everywhere */
.xpro-theme-builder-header .ast-header-navigation-arrow,
.xpro-theme-builder-header .dropdown-menu-toggle{display:none !important;}
/* desktop: show only OUR single caret; hide XPRO's empty toggle span */
@media (min-width:1025px){
  .xpro-theme-builder-header .xpro-dropdown-menu-toggle{display:none !important;}
}
/* mobile/offcanvas: keep the native toggle for tap-to-expand, drop our decorative caret */
@media (max-width:1024px){
  .xpro-theme-builder-header .menu-item-has-children > a::after{display:none !important;}
}
.xpro-theme-builder-header .menu-item-has-children > a{display:inline-flex;align-items:center;}
.xpro-theme-builder-header .menu-item-has-children > a::after{
  content:"";display:inline-block;width:6px;height:6px;margin-left:8px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);position:relative;top:-2px;opacity:.55;transition:.18s ease;}
.xpro-theme-builder-header .menu-item-has-children:hover > a::after{opacity:.9;}
/* nested submenu parents (e.g. Parts) point right */
.xpro-theme-builder-header .sub-menu .menu-item-has-children > a::after{
  transform:rotate(-45deg);top:0;margin-left:auto;}
.xpro-theme-builder-header .sub-menu .menu-item-has-children > a{justify-content:space-between;}

/* ---------- application pills + centered content images (converter) ---------- */
.app-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.app-pills a{display:inline-flex;align-items:center;padding:9px 15px;border:1px solid var(--border);border-radius:999px;background:var(--white);color:var(--navy);font-weight:700;font-size:14px;transition:.18s ease}
.app-pills a:hover{border-color:var(--blue);color:var(--blue);background:var(--ice)}
.img-center img{border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}

/* ---------- in-page anchor-nav: pin to top:0 (header no longer sticky) ---------- */
.tcd .anchor-nav{top:0 !important;z-index:50 !important;}

/* ---------- Elementor (.tc) pages: full width, no side gaps ---------- */
/* Astra full-width meta already makes the parent full-width, so just zero the main
   container's default 10px padding/margins (that padding was the left/right gap). */
.tc.page{margin:0 !important;padding:0 !important;width:auto !important;max-width:none !important;overflow-x:clip;}

/* ---------- Elementor (.tc) pages: use CSS grid for hero/card rows (no flex gap-overflow wrap) ---------- */
.tc.page .hero-grid,.tc.page .grid-2,.tc.page .grid-3,.tc.page .grid-4{display:grid !important;}
.tc.page .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(300px,.82fr) !important;gap:50px !important;align-items:center !important;}
.tc.page .grid-2{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:22px !important;}
.tc.page .grid-3{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:22px !important;}
.tc.page .grid-4{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:18px !important;}
.tc.page .hero-grid>*,.tc.page .grid-2>*,.tc.page .grid-3>*,.tc.page .grid-4>*{width:100% !important;max-width:100% !important;}
@media(max-width:1024px){.tc.page .hero-grid,.tc.page .grid-3,.tc.page .grid-4{grid-template-columns:1fr 1fr !important;}}
@media(max-width:1024px){.tc .two-col{grid-template-columns:1fr !important;}}
@media(max-width:1024px){.tc.page .hero-wrap{grid-template-columns:1fr 1fr !important;}}
@media(max-width:680px){.tc.page .hero-grid,.tc.page .hero-wrap,.tc.page .grid-2,.tc.page .grid-3,.tc.page .grid-4{grid-template-columns:1fr !important;}.tc .cert-note{padding:22px}.tc .process-step{grid-template-columns:42px 1fr;padding:14px}.tc .case-card img{height:200px}}
@media(max-width:680px){
  .tc.page>.e-con{padding-top:56px !important;padding-bottom:56px !important;}
  .tc.page>.hero{padding-top:48px !important;padding-bottom:44px !important;}
  .tc h1{font-size:clamp(34px,10.8vw,44px) !important;letter-spacing:-.03em !important;line-height:1.14 !important;}
  .tc h2{font-size:clamp(26px,8vw,34px) !important;letter-spacing:-.02em !important;line-height:1.18 !important;}
  .tc .section-head{margin-bottom:28px !important;}
  .tc .section-head p{font-size:16px !important;line-height:1.62 !important;}
  .tc .hero-wrap{gap:28px !important;}
  .tc .hero .lead .elementor-widget-container{font-size:16px !important;line-height:1.7 !important;}
  .tc .hero-img img{min-height:220px !important;max-height:280px !important;}
  .tc .btn-row{gap:12px !important;margin-top:24px !important;}
  .tc .elementor-button{min-height:48px !important;padding:13px 22px !important;font-size:14px !important;}
  .tc .card img{height:185px !important;}
  .tc .case-card img{height:180px !important;}
  .tc .ind-card{min-height:180px !important;border-radius:16px !important;}
  .tc .ind-card .elementor-widget-image{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;}
  .tc .ind-card .ind-overlay{min-height:auto !important;padding:52px 18px 18px !important;display:block !important;}
  .tc .card-body{padding:20px !important;}
  .tc .feature,.tc .card.pad{padding:22px !important;}
  .tc .process-step{grid-template-columns:42px 1fr !important;padding:14px !important;}
}
/* force navy section/card headings (Elementor global defaults them light-blue); CTA band stays white */
.tc .section-head .elementor-heading-title,.tc .card .elementor-heading-title{color:var(--navy) !important;}
.tc .two-col .elementor-heading-title,
.tc .feature .elementor-heading-title,
.tc .process-step .elementor-heading-title,
.tc .trust-card .elementor-heading-title,
.tc .quote-card .elementor-heading-title{color:var(--navy) !important;}
.tc .case-meta .elementor-heading-title{color:var(--blue) !important;}
.tc .ind-overlay .elementor-heading-title,
.tc .final-cta .elementor-heading-title,
.tc .on-navy .elementor-heading-title{color:#fff !important;}

/* ---------- article / blog post template ---------- */
.tc.page .article-grid{display:grid !important;grid-template-columns:minmax(0,1fr) 300px !important;gap:48px !important;align-items:start !important;}
.tc.page .article-grid > *{width:auto !important;max-width:100% !important;}
@media(max-width:900px){.tc.page .article-grid{grid-template-columns:1fr !important;}}
.tc .article-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:20px;color:var(--muted);font-size:14px;font-weight:600;}
.tc .article-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--border);display:inline-block;}
.tc .article-featured img{width:100%;border-radius:var(--radius-lg);margin-top:6px;}
.tc .article-body{max-width:760px;}
.tc .article-body h2{font-size:28px;margin:40px 0 14px;scroll-margin-top:96px;}
.tc .article-body h3{font-size:20px;margin:26px 0 10px;}
.tc .article-body p{margin:0 0 16px;font-size:17px;line-height:1.78;color:var(--text);}
.tc .article-body ul{margin:0 0 18px;padding-left:22px;list-style:disc;}
.tc .article-body li{margin:0 0 9px;font-size:17px;line-height:1.7;}
.tc .article-body img{width:100%;height:auto;border-radius:14px;margin:26px 0;}
.tc .article-body blockquote{border-left:4px solid var(--orange);margin:26px 0;padding:4px 0 4px 22px;font-size:19px;line-height:1.6;color:var(--navy);font-weight:600;}
.tc .toc-card{position:sticky;top:24px;background:var(--ice);border:1px solid var(--border);border-radius:16px;padding:22px;}
.tc .toc-card .toc-title{font-size:12px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
.tc .toc-card a{display:block;padding:8px 0;font-size:14px;font-weight:600;color:var(--text);border-bottom:1px solid var(--border);}
.tc .toc-card a:last-child{border-bottom:0;}
.tc .toc-card a:hover{color:var(--blue);}

/* all Elementor headings navy by default; CTA band heading stays white */
.tc .elementor-widget-heading .elementor-heading-title{color:var(--navy) !important;}
.tc .final-cta .elementor-heading-title,.tc .on-navy .elementor-heading-title{color:#ffffff !important;}

/* article TOC = Elementor Table of Contents widget, themed to the design */
.tc .toc-col{position:sticky;top:24px;align-self:start;}
.tc .article-toc .elementor-toc{background:var(--ice);border:1px solid var(--border) !important;border-radius:16px !important;box-shadow:none !important;}
.tc .article-toc .elementor-toc__header{padding:16px 20px 6px;border:0 !important;}
.tc .article-toc .elementor-toc__header-title{font-size:12px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);}
.tc .article-toc .elementor-toc__body{padding:2px 20px 16px;max-height:none !important;}
.tc .article-toc .elementor-toc__list-item-text{color:var(--text) !important;font-size:14px;font-weight:600;}
.tc .article-toc .elementor-toc__list-item-text:hover,
.tc .article-toc .elementor-toc__list-item.elementor-item-active .elementor-toc__list-item-text{color:var(--blue) !important;font-weight:800;}
.tc .article-toc .elementor-toc__list-item{margin-bottom:2px;}

/* styled sidebar TOC (numbered, sticky, scrollspy active state) */
.tc .toc-box{background:var(--ice);border:1px solid var(--border);border-radius:16px;padding:20px 22px 22px;}
.tc .toc-box__title{font-size:12px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
.tc .toc-box__list{counter-reset:toc;list-style:none;margin:0;padding:0;}
.tc .toc-box__list li{counter-increment:toc;margin:0;}
.tc .toc-box__list a{display:flex;gap:11px;align-items:center;padding:9px 0;font-size:14px;font-weight:600;color:var(--text);line-height:1.4;border-top:1px solid var(--border);transition:.15s ease;}
.tc .toc-box__list li:first-child a{border-top:0;}
.tc .toc-box__list a::before{content:counter(toc);flex:none;width:23px;height:23px;border-radius:50%;background:var(--white);border:1px solid var(--border);display:grid;place-items:center;font-size:12px;font-weight:800;color:var(--muted);transition:.15s ease;}
.tc .toc-box__list a:hover{color:var(--blue);}
.tc .toc-box__list a:hover::before{border-color:var(--blue);color:var(--blue);}
.tc .toc-box__list a.is-active{color:var(--blue);}
.tc .toc-box__list a.is-active::before{background:var(--blue);border-color:var(--blue);color:#fff;}

/* homepage: Why-ThermoCore feature cards — 2x2 grid (gap was wrapping them to 1-per-row, stacked in the left half) */
.home .e-con:has(> .feature){display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:24px !important;align-items:stretch !important;}
.home .e-con:has(> .feature) > .feature{width:auto !important;max-width:none !important;flex:initial !important;}
@media(max-width:700px){.home .e-con:has(> .feature){grid-template-columns:1fr !important;}}

/* homepage: stat band — 4 stats across (was wrapping 3+1) */
.home .e-con:has(> .stat){display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:24px 22px !important;}
.home .e-con:has(> .stat) > .stat{width:auto !important;max-width:none !important;flex:initial !important;}
@media(max-width:760px){.home .e-con:has(> .stat){grid-template-columns:repeat(2,1fr) !important;}}

/* homepage CTA "Ready to specify your cooling project?" — match the /products/ CTA background */
body.home .elementor-10 .elementor-element-42a527b7.e-con.e-parent.e-flex.e-con-full{
  background-image:linear-gradient(180deg, rgba(5,20,38,.82) 0%, rgba(5,20,38,.5) 45%, rgba(5,20,38,.8) 100%), url("https://thermocoretech.com/wp-content/uploads/2026/06/footer_banner.jpg") !important;
  background-position:center !important;background-size:cover !important;background-repeat:no-repeat !important;
}

/* 3D Models page — interactive Sketchfab embeds */
.tc .model-card{padding:16px;}
.tc .sketchfab-frame{position:relative;width:100%;aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:var(--navy);}
.tc .sketchfab-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
.tc .model-card h3{margin-top:14px;}
.tc .model-by{color:var(--muted);font-size:13px;margin-top:2px;}
.tc .model-by a{color:var(--blue);font-weight:700;}
