/* Steamtherm 2.5 — modern light-layout polish */
:root{
  --st-brand-red:#ed3b31;
  --st-brand-red-dark:#c92d26;
  --st-brand-gold:#d49324;
  --st-brand-navy:#17212b;
  --st-brand-blue:#476275;
  --st-surface:#ffffff;
  --st-surface-soft:#f5f8fa;
  --st-border:#dfe7ed;
  --st-shadow:0 18px 50px rgba(22,39,54,.09);
  --st-radius:18px;
}

/* Global typography and spacing */
.st-main h1,.st-main h2,.st-main h3{letter-spacing:-.02em}
.st-main h2{font-size:clamp(32px,3.2vw,50px);line-height:.98}
.st-main h3{font-size:clamp(21px,2vw,28px);line-height:1.05}
.st-main p{line-height:1.75}
.st-section{padding-top:60px;padding-bottom:60px}
.st-section--panel{background:var(--st-surface-soft)}
.st-page-hero{padding:92px 0 72px}
.page-id-14 .st-page-hero{padding:92px 0 125px}
.st-page-hero h1{font-size:clamp(42px,5vw,68px);line-height:.95;max-width:18ch}
.st-page-hero p{max-width:700px;font-size:16px}

/* Unified button system */
.st-btn,
.steamtherm-site .main-navigation .main-nav .st-nav-quote>a{
  min-height:48px;padding:0 24px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;
  font:700 12px var(--st-mono);letter-spacing:.055em;text-transform:uppercase;text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
}
.st-btn:hover,.steamtherm-site .main-navigation .main-nav .st-nav-quote>a:hover{transform:translateY(-2px)}
.st-btn--primary,.steamtherm-site .main-navigation .main-nav .st-nav-quote>a{
  background:var(--st-brand-red);border:1px solid var(--st-brand-red);color:#fff!important;
  box-shadow:0 12px 28px rgba(237,59,49,.22)
}
.st-btn--primary:hover,.steamtherm-site .main-navigation .main-nav .st-nav-quote>a:hover{
  background:var(--st-brand-red-dark);border-color:var(--st-brand-red-dark);box-shadow:0 16px 34px rgba(201,45,38,.25)
}
.st-btn--ghost,.st-btn--outline,.st-btn--download{
  background:#fff;border:1px solid #cfd9e1;color:var(--st-brand-navy);box-shadow:none
}
.st-btn--ghost:hover,.st-btn--outline:hover,.st-btn--download:hover{
  background:#fff5f4;border-color:var(--st-brand-red);color:var(--st-brand-red)
}
.st-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

/* Product page: correct title, sticky media, no empty top/bottom gap */
.st-product-hero{padding:64px 0 92px}
.st-product-hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);gap:64px;align-items:start}
.st-product-copy{padding-top:4px}
.st-product-hero h1{color:var(--st-brand-navy)!important;font-size:clamp(46px,5vw,70px);line-height:.92;margin:.18em 0 0}
.st-product-tagline{color:var(--st-brand-red)!important;font-size:clamp(18px,1.7vw,24px);line-height:1.16;margin:20px 0 22px}
.st-product-description{font-size:16px;color:#637281;line-height:1.8}
.st-product-main-image{background:#fff;border:1px solid var(--st-border);border-radius:var(--st-radius);box-shadow:var(--st-shadow);padding:18px;overflow:hidden}
.st-product-main-image img,.st-product-main-image .st-placeholder{display:block;width:100%;height:100%;object-fit:contain;border-radius:12px}
.st-quick-specs{overflow:hidden;border-radius:14px;background:var(--st-border);border-color:var(--st-border);box-shadow:0 12px 30px rgba(22,39,54,.06)}
.st-quick-specs div{background:#f8fafc;padding:22px}
.st-quick-specs strong{color:var(--st-brand-navy);font-size:16px;line-height:1.45}
@media(min-width:1001px){
  .st-product-media-column{align-self:stretch;min-height:100%}
  .st-product-media-sticky{position:sticky;top:92px;max-height:calc(100vh - 112px);display:flex;flex-direction:column;justify-content:flex-start}
  .st-product-main-image{aspect-ratio:auto;height:min(64vh,620px);min-height:430px;max-height:calc(100vh - 150px)}
}

/* Industries page */
.st-industry-intro .st-two-col{gap:90px;align-items:center}

.st-industry-intro p:first-child{font-size:17px;color:#445462}
.st-industry-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.st-industry-detail{
  position:relative;min-height:360px;padding:34px;border:1px solid var(--st-border);border-radius:var(--st-radius);
  background:linear-gradient(155deg,#fff 0%,#fbfcfd 100%);box-shadow:0 12px 38px rgba(22,39,54,.06);
  overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease
}
.st-industry-detail:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--st-brand-gold),var(--st-brand-red));opacity:0;transition:opacity .25s ease}
.st-industry-detail:hover{transform:translateY(-5px);border-color:#cad6df;box-shadow:0 22px 52px rgba(22,39,54,.11)}
.st-industry-detail:hover:before{opacity:1}
.st-industry-detail-top{position:relative;z-index:1}
.st-industry-number{color:#8b98a4;font-size:11px;letter-spacing:.12em}
.st-industry-icon-wrap{width:58px;height:58px;border-radius:15px;background:#fff8ec;border:1px solid #f0dfbf;color:var(--st-brand-gold)}
.st-industry-detail h2{position:relative;z-index:1;color:var(--st-brand-navy)!important;font-size:clamp(28px,2.4vw,36px);margin:30px 0 12px}
.st-industry-detail p{position:relative;z-index:1;color:#687684;font-size:15px;line-height:1.7;margin-bottom:26px}
.st-industry-products{position:relative;z-index:1;border-top:1px solid var(--st-border);padding-top:18px;gap:4px}
.st-industry-products small{color:#8a97a3;margin-bottom:8px}
.st-industry-products a{padding:9px 0;color:#314b5e;font-weight:600;border-bottom:1px solid #edf1f4}
.st-industry-products a:last-child{border-bottom:0}
.st-industry-products a:hover{color:var(--st-brand-red);padding-left:4px}
.st-industry-cta-card{background:linear-gradient(135deg,#17212b,#243746);border:0;border-radius:20px;padding:56px;box-shadow:0 24px 60px rgba(22,39,54,.18)}
.st-industry-cta-card h2,.st-industry-cta-card p{color:#fff!important}.st-industry-cta-card p{opacity:.8;max-width:720px}.st-industry-cta-card .st-eyebrow{color:#efb34b}

/* About page */
.st-about-intro-grid{grid-template-columns:.9fr 1.1fr;gap:84px}
.st-about-lead{padding:34px;border-left:3px solid var(--st-brand-red);background:#fff;border-radius:0 16px 16px 0;box-shadow:0 16px 44px rgba(22,39,54,.06)}
.st-about-lead p:first-child{font-size:18px;color:#3d4e5c}
.st-about-stats{gap:16px;background:transparent;border:0;margin-top:50px}
.st-about-stats>div{border:1px solid var(--st-border);border-radius:16px;padding:28px;background:#fff;box-shadow:0 10px 30px rgba(22,39,54,.05)}
.st-about-stats strong{font-size:34px;color:var(--st-brand-red)}
.st-about-story{grid-template-columns:1.08fr .92fr;gap:70px}
.st-about-story-copy{padding-right:20px}
.st-about-story-copy h2{max-width:15ch}
.st-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:30px;padding:0;list-style:none}
.st-check-list li{position:relative;padding:15px 16px 15px 42px;background:#fff;border:1px solid var(--st-border);border-radius:12px;color:#4e5e6c;width:auto;height:auto;flex:none;margin-top:0}
.st-check-list li:before{content:"\2713";position:absolute;left:16px;top:14px;width:auto;height:auto;background:none;margin-top:0;flex:none;color:var(--st-brand-red);font-weight:800;font-size:14px;line-height:1}
.st-about-principles{gap:18px}
.st-about-principles article{position:relative;padding:36px;background:#fff;border:1px solid var(--st-border);border-radius:18px;box-shadow:0 14px 38px rgba(22,39,54,.06)}
.st-about-principles article:after{content:"";position:absolute;right:0;top:0;width:82px;height:82px;background:linear-gradient(135deg,transparent 50%,rgba(212,147,36,.12) 50%);border-radius:0 18px 0 0}
.st-about-principles h3{color:var(--st-brand-navy);margin:20px 0 10px}

.st-values-modern{gap:18px;background:transparent;border:0}
.st-values-modern article{min-height:215px;padding:30px;background:#fff;border:1px solid var(--st-border);border-radius:16px;box-shadow:0 10px 30px rgba(22,39,54,.05);transition:transform .2s ease,box-shadow .2s ease}
.st-values-modern article:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(22,39,54,.10)}
.st-values-modern h3{color:var(--st-brand-navy);font-size:24px;margin:18px 0 10px}
.st-why-layout{grid-template-columns:.85fr 1.15fr;gap:70px}
.st-chip-grid{display:flex;flex-wrap:wrap;gap:10px}
.st-chip-grid span{padding:12px 15px;background:#fff;border:1px solid var(--st-border);border-radius:999px;color:#526270;font-size:12px;box-shadow:0 6px 18px rgba(22,39,54,.04)}

/* CTA uses brand colour, with correct button contrast */
.st-cta{background:linear-gradient(135deg,var(--st-brand-red),#d72f28)}
.st-cta h2,.st-cta p{color:#fff!important}
.st-cta .st-btn{background:var(--st-brand-navy);border-color:var(--st-brand-navy);color:#fff!important;box-shadow:none}
.st-cta .st-btn:hover{background:#0d151d;border-color:#0d151d}

@media(max-width:1000px){
  .st-product-hero-grid{grid-template-columns:1fr;gap:42px}
  .st-product-main-image{aspect-ratio:4/3;min-height:0;height:auto;padding:12px}
  .st-industry-detail-grid{grid-template-columns:1fr}
  .st-about-intro-grid,.st-about-story,.st-why-layout{grid-template-columns:1fr;gap:38px}
  .st-about-lead{padding:26px}
}
@media(max-width:700px){
  .st-section{padding-top:64px;padding-bottom:64px}
  .st-page-hero{padding:70px 0 52px}
  .st-industry-detail{padding:26px;min-height:0}
  .st-industry-cta-card{padding:34px 26px}
  .st-about-stats,.st-values-modern,.st-check-list{grid-template-columns:1fr}
  .st-actions{flex-direction:column}.st-actions .st-btn{width:100%}
}
/* Feedback refinements: visible secondary actions and careers content rhythm */
.st-btn--secondary{background:#fff;border-color:var(--st-brand-navy,#17212b);color:var(--st-brand-navy,#17212b)!important;box-shadow:0 10px 24px rgba(23,33,43,.10)}
.st-btn--secondary:hover{background:var(--st-brand-navy,#17212b);border-color:var(--st-brand-navy,#17212b);color:#fff!important}
.st-hero .st-btn:not(.st-btn--primary){background:#fff;border-color:#fff;color:#17212b!important}
.st-hero .st-btn:not(.st-btn--primary):hover{background:#eef3f6;border-color:#eef3f6;color:#17212b!important}
.st-career-life-copy{max-width:820px;font-size:1.08rem;line-height:1.8}

/* Feedback fixes: filter visibility, dark-panel heading contrast and safe card wrapping. */
.st-filter-bar{display:block!important;visibility:visible!important;opacity:1!important;position:sticky!important;top:76px;z-index:80}
.st-filter-row{display:flex!important;align-items:center;gap:10px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}
.st-filter-row button{display:inline-flex!important;visibility:visible!important;opacity:1!important;white-space:normal;text-align:center}
.st-product-card.is-hidden{display:none!important}

/* Headings inside intentionally dark panels must stay light in the light theme. */
.st-service-detail-card h2,.st-service-detail-card h3,
.st-consultation-panel h3,.st-consultation-panel h2,
.st-career-panel h3,.st-career-panel h2,
.st-services-page .st-service-detail-card h2,
.st-services-page .st-service-detail-card h3{color:#fff!important;opacity:1!important}
.st-service-detail-card h3{color:#f0b14b!important}
.st-service-detail-card p,
.st-service-detail-card .st-service-list li{color:#c7cfd7!important}
.st-service-detail-card .st-service-list li:before{background:var(--st-flame)}
.st-service-detail-card .st-service-number{color:var(--st-gold)!important}

/* Consultation benefit cards: the panel column is narrow (.65fr), so keep
   "What You'll Get" as a single readable column instead of squeezing it
   into two columns, which was causing overlapping/cramped text. */
.st-consultation-panel,.st-consultation-panel *{min-width:0}
.st-consultation-panel .st-check-list{grid-template-columns:1fr}
.st-consultation-panel .st-check-list li{min-width:0;width:100%;max-width:100%;overflow-wrap:anywhere;word-break:normal;hyphens:auto;line-height:1.45;font-size:clamp(15px,1.1vw,18px);padding-right:18px}
.st-consultation-panel .st-check-list li:before{flex:0 0 auto}

.st-cta-actions{margin-top:0;justify-content:flex-end}
.st-btn--cta-secondary{background:transparent;border-color:rgba(255,255,255,.65);color:#fff!important}
.st-btn--cta-secondary:hover{background:#fff;border-color:#fff;color:var(--st-flame)!important}
@media(max-width:800px){.st-cta-actions{justify-content:flex-start;margin-top:30px!important}}

@media(max-width:1100px){
  .st-consultation-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .st-filter-row button{flex:1 1 calc(50% - 10px)}
}

/* Product filter empty-state and reliable hidden-card handling. */
.st-product-card[hidden],.st-product-card.is-hidden{display:none!important}
.st-filter-empty{margin:24px 0 0;padding:18px 20px;border:1px solid var(--st-line);background:var(--st-panel-2);color:var(--st-paper-dim)}

/* Product category filter: reliable sticky positioning.
 * overflow-x:hidden on a parent creates a scrolling ancestor and prevents
 * position:sticky from following the browser viewport. `clip` prevents the
 * horizontal overflow without breaking sticky positioning.
 */
.steamtherm-site{
  overflow-x:clip!important;
  overflow-y:visible!important;
}
.st-product-archive{
  position:relative;
  overflow:visible!important;
}
.st-product-archive .st-filter-bar{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:76px!important;
  z-index:90!important;
  width:100%;
  align-self:flex-start;
}

/* Keep the filter below the WordPress admin toolbar while logged in. */
body.admin-bar .st-product-archive .st-filter-bar{
  top:108px!important;
}
@media screen and (max-width:782px){
  body.admin-bar .st-product-archive .st-filter-bar{
    top:122px!important;
  }
}