/* WordPress / Heritage compatibility so index.html CSS can win. */

body.leonhard-site.theme-heritage,
body.leonhard-site.pxl-redux-page,
body.leonhard-site {
  font-family: "Source Sans 3", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif !important;
  background: #f7f8fa !important;
  color: #1a1a1a !important;
  text-align: start !important;
}

body.leonhard-zh {
  font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Source Sans 3", sans-serif !important;
}

body.leonhard-site .site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
  overflow: visible !important;
  background: #f7f8fa !important;
}

body.admin-bar.leonhard-site .site-header { top: 32px !important; }
@media (max-width: 782px) {
  body.admin-bar.leonhard-site .site-header { top: 46px !important; }
}

.pxl-page-title,
#pxl-header-default,
#pxl-header-main,
.pxl-header-elementor,
.pxl-footer,
#pxl-footer,
.pxl-main > .container:empty {
  display: none !important;
}

#pxl-wapper,
#pxl-main {
  overflow: visible !important;
  background: transparent !important;
  max-width: none !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.leonhard-site .logo {
  flex: 0 0 auto !important;
}

body.leonhard-site .logo img {
  height: 36px !important;
  width: auto !important;
  max-width: none !important;
  object-fit: contain !important;
}

body.leonhard-site .search-btn {
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  color: #222 !important;
  background: #fff !important;
  border: 1px solid #d9dce1 !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: none !important;
  text-indent: 0 !important;
  font-size: 0 !important;
}

body.leonhard-site .search-btn svg,
body.leonhard-site .pill svg,
body.leonhard-site .menu-btn svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  max-width: none !important;
  stroke: currentColor !important;
  fill: none !important;
  color: #222 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.leonhard-site .pill {
  color: #222 !important;
}

body.leonhard-site .btn,
body.leonhard-site a.btn {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 700 !important;
  border-radius: 2px !important;
}

body.leonhard-site .btn-primary,
body.leonhard-site a.btn-primary {
  background: #c41e3a !important;
  color: #fff !important;
  border: 0 !important;
}

body.leonhard-site .btn-ghost,
body.leonhard-site a.btn-ghost {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.7) !important;
}

body.leonhard-site h1,
body.leonhard-site h2,
body.leonhard-site h3,
body.leonhard-site p,
body.leonhard-site .lede,
body.leonhard-site .hero-copy,
body.leonhard-site .about-row,
body.leonhard-site .page-hero,
body.leonhard-site .section {
  text-align: start !important;
}

body.leonhard-site .slogan-brand,
body.leonhard-site .slogan-en,
body.leonhard-site .slogan-sub,
body.leonhard-site .quality-head,
body.leonhard-site .network-head,
body.leonhard-site .metric-card {
  text-align: center !important;
}

body.leonhard-home .hero-visual {
  clip-path: circle(50% at 50% 50%) !important;
  mix-blend-mode: multiply !important;
  border-radius: 50% !important;
}

body.leonhard-site .about-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) !important;
  gap: 40px !important;
  align-items: center !important;
}

@media (max-width: 900px) {
  body.leonhard-site .about-row {
    grid-template-columns: 1fr !important;
  }
}

body.leonhard-site .elementor,
body.leonhard-site .e-con,
body.leonhard-site .e-con-inner,
body.leonhard-site .elementor-widget,
body.leonhard-site .elementor-widget-container,
body.leonhard-site .elementor-element {
  max-width: none !important;
  width: 100% !important;
}

body.leonhard-site .e-con,
body.leonhard-site .e-con-inner,
body.leonhard-site .elementor-section,
body.leonhard-site .elementor-container {
  padding: 0 !important;
  margin: 0 !important;
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --gap: 0px;
}

body.leonhard-site .elementor-widget,
body.leonhard-site .elementor-widget-wrap,
body.leonhard-site .elementor-column-wrap,
body.leonhard-site .elementor-column {
  margin: 0 !important;
  padding: 0 !important;
}

body.leonhard-site .elementor-section.elementor-section-boxed > .elementor-container,
body.leonhard-site .elementor-container {
  max-width: none !important;
}

.slogan,
.bases,
.metrics,
.network,
.process,
.quality,
.qc,
.site-footer,
.page-hero,
.section {
  position: relative;
  z-index: 1;
}

body.leonhard-site .prose img {
  max-width: 100%;
  height: auto;
  display: block;
}

body.leonhard-site .page-hero {
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center !important;
}

body.leonhard-site .page-hero::after {
  z-index: 0 !important;
}

body.leonhard-site .page-hero .container {
  z-index: 1 !important;
}

body.leonhard-site .crumbs a {
  color: #c9cdd3 !important;
}

body.leonhard-site .crumbs a:hover {
  color: #fff !important;
}

body.leonhard-site .kicker {
  color: #c41e3a !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin: 0 0 6px !important;
}

body.leonhard-site .section h2,
body.leonhard-site .prose h2 {
  margin: 0 0 12px !important;
  font-size: clamp(22px, 2.4vw, 30px) !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  text-transform: none !important;
  letter-spacing: -0.02em !important;
  line-height: 1.25 !important;
}

body.leonhard-site a.more {
  color: #c41e3a !important;
  font-weight: 700 !important;
}

body.leonhard-site .section-anchors {
  padding-top: 64px !important;
  padding-bottom: 0 !important;
}

body.leonhard-site .section-article {
  padding: 0 !important;
}

body.leonhard-site .section-article .timeline {
  margin-top: 28px;
}

body.leonhard-site .section-article .cert-grid,
body.leonhard-site .section-article .plant-grid,
body.leonhard-site .section-article .regions,
body.leonhard-site .section-article .qc-flow {
  margin-top: 24px;
}

body.leonhard-site .elementor-widget-leonhard-values .section-article .grid-2,
body.leonhard-site .elementor-widget-leonhard-values .section-article .grid-3,
body.leonhard-site .elementor-widget-leonhard-values .section-article .grid-4 {
  margin-top: 20px !important;
}

body.leonhard-site .section-article article.prose {
  margin-top: 40px;
}

body.leonhard-site .elementor-widget-leonhard-anchors + .elementor-widget-leonhard-text .section-article article.prose {
  margin-top: 0;
}

body.leonhard-site .elementor-widget-leonhard-text:has(+ .elementor-widget-leonhard-cta) .section-article {
  padding-bottom: 64px !important;
}

body.admin-bar.leonhard-site [id] {
  scroll-margin-top: 128px;
}
