/* LDG ESG Carbon Footprint LCA - v5.0 Professional Foundation */
:root{
  --ldg500-primary:#0B4F8A;
  --ldg500-primary-dark:#083B67;
  --ldg500-secondary:#1686C4;
  --ldg500-sky:#DCEFFD;
  --ldg500-surface:#F6FAFD;
  --ldg500-surface-2:#EAF5FC;
  --ldg500-accent:#7BC043;
  --ldg500-warning:#F5A623;
  --ldg500-danger:#D64541;
  --ldg500-ink:#0A263D;
  --ldg500-muted:#536B7D;
  --ldg500-line:#D9E8F2;
  --ldg500-shadow:0 18px 44px rgba(8,59,103,.12);
  --ldg500-soft-shadow:0 10px 26px rgba(8,59,103,.08);
}
body.ldg500-professional-foundation,
body.ldg500-professional-foundation .ldg40-root,
body.ldg500-professional-foundation .ldg40-root *{
  font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
body.ldg500-professional-foundation{
  color:var(--ldg500-ink);
  background:#f8fbfe;
}
body.ldg500-professional-foundation .entry-content,
body.ldg500-professional-foundation .wp-site-blocks,
body.ldg500-professional-foundation main.site-main{
  overflow:visible;
}
body.ldg500-professional-foundation .ldg40-root{
  color:var(--ldg500-ink);
  background:linear-gradient(180deg,#f7fbfe 0%,#ffffff 54%,#f7fbfe 100%);
  font-size:15.5px;
  line-height:1.5;
  max-width:none;
}
body.ldg500-professional-foundation .ldg40-layout{
  gap:24px;
  align-items:flex-start;
}
body.ldg500-professional-foundation .ldg40-layout>main{
  min-width:0;
}
body.ldg500-professional-foundation .ldg40-hero{
  background:linear-gradient(135deg,var(--ldg500-primary-dark) 0%,var(--ldg500-primary) 55%,#1179B5 100%) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:24px !important;
  padding:30px 34px !important;
  box-shadow:var(--ldg500-shadow);
  position:relative;
  overflow:hidden;
}
body.ldg500-professional-foundation .ldg40-hero:before{
  content:"";
  position:absolute;
  right:-90px;
  top:-90px;
  width:260px;
  height:260px;
  border-radius:50%;
  background:rgba(123,192,67,.22);
}
body.ldg500-professional-foundation .ldg40-hero:after{
  content:"";
  position:absolute;
  right:70px;
  bottom:-110px;
  width:240px;
  height:240px;
  border-radius:50%;
  background:rgba(255,255,255,.10);
}
body.ldg500-professional-foundation .ldg40-hero>*{
  position:relative;
  z-index:1;
}
body.ldg500-professional-foundation .ldg40-hero p,
body.ldg500-professional-foundation .ldg40-hero span,
body.ldg500-professional-foundation .ldg40-hero small,
body.ldg500-professional-foundation .ldg40-hero em{
  color:#EAF7FF !important;
}
body.ldg500-professional-foundation .ldg40-hero h1,
body.ldg500-professional-foundation .ldg40-hero strong{
  color:#FFFFFF !important;
}
body.ldg500-professional-foundation .ldg40-hero h1{
  font-size:clamp(30px,3.2vw,48px) !important;
  line-height:1.06 !important;
  letter-spacing:-.035em;
}
body.ldg500-professional-foundation .ldg40-hero aside{
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  color:#fff !important;
  border-radius:18px !important;
  backdrop-filter:blur(8px);
}
body.ldg500-professional-foundation .ldg40-card,
body.ldg500-professional-foundation .ldg43-panel,
body.ldg500-professional-foundation .ldg44-panel,
body.ldg500-professional-foundation .ldg470-card,
body.ldg500-professional-foundation .ldg470-report-card,
body.ldg500-professional-foundation .ldg40-content>section,
body.ldg500-professional-foundation .ldg40-content>div:not(.ldg500-guided-panel):not(.ldg500-op-overlay){
  background:#fff !important;
  color:var(--ldg500-ink) !important;
  border:1px solid var(--ldg500-line) !important;
  border-radius:20px !important;
  box-shadow:var(--ldg500-soft-shadow);
}
body.ldg500-professional-foundation .ldg40-content h1,
body.ldg500-professional-foundation .ldg40-content h2,
body.ldg500-professional-foundation .ldg40-content h3,
body.ldg500-professional-foundation .ldg44-panel h2,
body.ldg500-professional-foundation .ldg470-report-card h3{
  color:var(--ldg500-primary-dark) !important;
  letter-spacing:-.018em;
}
body.ldg500-professional-foundation .ldg40-content h2,
body.ldg500-professional-foundation .ldg44-panel h2{
  font-size:clamp(22px,2vw,30px) !important;
  line-height:1.15;
}
body.ldg500-professional-foundation .ldg40-content h3,
body.ldg500-professional-foundation .ldg470-report-card h3{
  font-size:18px !important;
  line-height:1.2;
}
body.ldg500-professional-foundation .ldg40-section-head span,
body.ldg500-professional-foundation .ldg44-panel-head span,
body.ldg500-professional-foundation .ldg470-report-card span,
body.ldg500-professional-foundation .ldg40-content small{
  color:var(--ldg500-muted) !important;
}
body.ldg500-professional-foundation .ldg40-content p,
body.ldg500-professional-foundation .ldg40-content li,
body.ldg500-professional-foundation .ldg44-panel p{
  color:#203A4D !important;
}
body.ldg500-professional-foundation a,
body.ldg500-professional-foundation .ldg40-root a{
  color:var(--ldg500-primary);
}
body.ldg500-professional-foundation button,
body.ldg500-professional-foundation .button,
body.ldg500-professional-foundation .ldg44-button,
body.ldg500-professional-foundation .ldg40-button,
body.ldg500-professional-foundation input[type="submit"],
body.ldg500-professional-foundation a.ldg40-button,
body.ldg500-professional-foundation .ldg470-report-card a{
  background:var(--ldg500-primary) !important;
  border-color:var(--ldg500-primary) !important;
  color:#fff !important;
  border-radius:999px !important;
  font-weight:800 !important;
  letter-spacing:.01em;
  box-shadow:0 10px 22px rgba(11,79,138,.18);
}
body.ldg500-professional-foundation button:hover,
body.ldg500-professional-foundation .button:hover,
body.ldg500-professional-foundation .ldg44-button:hover,
body.ldg500-professional-foundation .ldg40-button:hover,
body.ldg500-professional-foundation input[type="submit"]:hover,
body.ldg500-professional-foundation a.ldg40-button:hover,
body.ldg500-professional-foundation .ldg470-report-card a:hover{
  background:var(--ldg500-primary-dark) !important;
  border-color:var(--ldg500-primary-dark) !important;
  color:#fff !important;
}
body.ldg500-professional-foundation .ldg40-sidebar,
body.ldg500-professional-foundation aside.ldg40-sidebar,
body.ldg500-professional-foundation .ldg43-sidebar{
  background:#fff !important;
  color:var(--ldg500-ink) !important;
  border:1px solid var(--ldg500-line) !important;
  border-radius:24px !important;
  box-shadow:var(--ldg500-soft-shadow);
}
body.ldg500-professional-foundation .ldg40-sidebar a,
body.ldg500-professional-foundation aside.ldg40-sidebar a,
body.ldg500-professional-foundation .ldg43-sidebar a{
  color:var(--ldg500-ink) !important;
  border-radius:14px !important;
  font-weight:700;
}
body.ldg500-professional-foundation .ldg40-sidebar a:hover,
body.ldg500-professional-foundation .ldg40-sidebar a.active,
body.ldg500-professional-foundation .ldg43-sidebar a:hover,
body.ldg500-professional-foundation .ldg43-sidebar a.active{
  background:var(--ldg500-sky) !important;
  color:var(--ldg500-primary-dark) !important;
}
body.ldg500-professional-foundation table,
body.ldg500-professional-foundation .ldg44-table{
  border-collapse:separate !important;
  border-spacing:0 !important;
  width:100% !important;
  color:var(--ldg500-ink) !important;
  font-size:14px !important;
  overflow:hidden;
  border:1px solid var(--ldg500-line) !important;
  border-radius:16px !important;
}
body.ldg500-professional-foundation table th,
body.ldg500-professional-foundation .ldg44-table th{
  background:var(--ldg500-primary-dark) !important;
  color:#fff !important;
  font-weight:800 !important;
  font-size:12px !important;
  text-transform:uppercase;
  letter-spacing:.04em;
  border-color:rgba(255,255,255,.18) !important;
}
body.ldg500-professional-foundation table td,
body.ldg500-professional-foundation .ldg44-table td{
  background:#fff !important;
  color:var(--ldg500-ink) !important;
  border-color:var(--ldg500-line) !important;
  font-size:14px !important;
  line-height:1.45;
}
body.ldg500-professional-foundation table tr:nth-child(even) td,
body.ldg500-professional-foundation .ldg44-table tr:nth-child(even) td{
  background:#FAFDFF !important;
}
body.ldg500-professional-foundation input,
body.ldg500-professional-foundation select,
body.ldg500-professional-foundation textarea{
  background:#fff !important;
  color:var(--ldg500-ink) !important;
  border:1px solid #BBD3E5 !important;
  border-radius:12px !important;
  min-height:42px;
}
body.ldg500-professional-foundation input:focus,
body.ldg500-professional-foundation select:focus,
body.ldg500-professional-foundation textarea:focus{
  outline:3px solid rgba(22,134,196,.18) !important;
  border-color:var(--ldg500-secondary) !important;
}
body.ldg500-professional-foundation .ldg44-badge,
body.ldg500-professional-foundation .ldg40-badge,
body.ldg500-professional-foundation .ldg470-badge{
  border-radius:999px !important;
  font-weight:800 !important;
  padding:.42rem .72rem !important;
}
.ldg500-guided-panel{
  background:#fff;
  color:var(--ldg500-ink);
  border:1px solid var(--ldg500-line);
  border-radius:22px;
  box-shadow:var(--ldg500-soft-shadow);
  margin:18px 0 20px;
  padding:20px;
  display:grid;
  grid-template-columns:minmax(220px,.82fr) minmax(280px,1.18fr);
  gap:18px;
}
.ldg500-guided-panel .ldg500-kicker{
  color:var(--ldg500-secondary);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
}
.ldg500-guided-panel h2{
  color:var(--ldg500-primary-dark) !important;
  margin:4px 0 8px !important;
  font-size:24px !important;
}
.ldg500-guided-panel p{
  color:#203A4D !important;
  margin:0 !important;
}
.ldg500-guided-panel ol{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:9px;
}
.ldg500-guided-panel li{
  display:grid;
  grid-template-columns:28px 1fr;
  align-items:start;
  gap:10px;
  background:var(--ldg500-surface);
  border:1px solid var(--ldg500-line);
  border-radius:16px;
  padding:10px 12px;
  color:var(--ldg500-ink) !important;
}
.ldg500-guided-panel li:before{
  content:attr(data-step);
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--ldg500-primary);
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.ldg500-guided-panel .ldg500-guide-actions{
  display:flex;
  gap:10px;
  margin-top:14px;
  flex-wrap:wrap;
}
.ldg500-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--ldg500-sky);
  color:var(--ldg500-primary-dark) !important;
  border:1px solid #BBDCF2;
  border-radius:999px;
  padding:8px 12px;
  font-size:13px;
  font-weight:800;
}
.ldg500-help-center{
  background:#fff;
  border:1px solid var(--ldg500-line);
  border-radius:22px;
  box-shadow:var(--ldg500-soft-shadow);
  padding:24px;
  color:var(--ldg500-ink);
}
.ldg500-help-center span{
  color:var(--ldg500-secondary);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
}
.ldg500-help-center h2{
  color:var(--ldg500-primary-dark);
  margin:.2rem 0 .7rem;
}
.ldg500-help-center li{
  margin:.35rem 0;
}
.ldg500-help-button{
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  margin-left:8px;
  border-radius:999px;
  background:var(--ldg500-sky);
  color:var(--ldg500-primary-dark) !important;
  border:1px solid #BBDCF2;
  font-size:13px;
  font-weight:900;
  cursor:help;
  vertical-align:middle;
}
.ldg500-tooltip{
  position:fixed;
  z-index:999999;
  max-width:310px;
  background:var(--ldg500-primary-dark);
  color:#fff;
  border-radius:14px;
  padding:10px 12px;
  font-size:13px;
  line-height:1.35;
  box-shadow:0 16px 40px rgba(8,59,103,.24);
  pointer-events:none;
}
.ldg500-op-overlay{
  position:fixed;
  z-index:999998;
  inset:0;
  background:rgba(8,31,52,.54);
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.ldg500-op-overlay.is-active{
  display:flex;
}
.ldg500-op-card{
  width:min(520px,100%);
  background:#fff;
  color:var(--ldg500-ink);
  border-radius:24px;
  border:1px solid var(--ldg500-line);
  box-shadow:0 28px 80px rgba(0,0,0,.25);
  padding:26px;
}
.ldg500-op-card h2{
  margin:0 0 8px;
  color:var(--ldg500-primary-dark);
  font-size:25px;
}
.ldg500-op-card p{
  margin:0 0 18px;
  color:#203A4D;
}
.ldg500-progress{
  height:12px;
  border-radius:999px;
  background:#E6EEF4;
  overflow:hidden;
  margin:14px 0 16px;
}
.ldg500-progress span{
  display:block;
  width:22%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--ldg500-secondary),var(--ldg500-accent));
  animation:ldg500-progress 2.4s ease-in-out infinite;
}
@keyframes ldg500-progress{
  0%{width:22%;transform:translateX(0)}
  50%{width:78%;transform:translateX(8%)}
  100%{width:22%;transform:translateX(260%)}
}
.ldg500-op-steps{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.ldg500-op-steps li{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--ldg500-ink);
  font-weight:700;
  font-size:14px;
}
.ldg500-op-steps li:before{
  content:"";
  width:9px;
  height:9px;
  border-radius:999px;
  background:var(--ldg500-secondary);
  box-shadow:0 0 0 5px rgba(22,134,196,.12);
}
.ldg500-op-card .ldg500-op-close{
  margin-top:18px;
  background:#fff !important;
  color:var(--ldg500-primary-dark) !important;
  border:1px solid var(--ldg500-line) !important;
  box-shadow:none !important;
}
.ldg500-toast{
  position:fixed;
  z-index:999997;
  right:18px;
  bottom:18px;
  max-width:360px;
  background:var(--ldg500-primary-dark);
  color:#fff;
  border-radius:18px;
  padding:14px 16px;
  box-shadow:0 18px 44px rgba(8,59,103,.25);
  display:none;
}
.ldg500-toast.is-active{
  display:block;
}
@media (max-width: 980px){
  .ldg500-guided-panel{grid-template-columns:1fr;}
  body.ldg500-professional-foundation .ldg40-hero{padding:24px !important;}
  body.ldg500-professional-foundation .ldg40-layout{display:block;}
}
body.ldg500-professional-foundation .ldg500-status-danger{
  background:#FFF1F1 !important;
  color:#8A1F1B !important;
  border-color:#F4B4B2 !important;
}
body.ldg500-professional-foundation .ldg500-status-success{
  background:#EFFBE8 !important;
  color:#2E6B16 !important;
  border-color:#BFE8A9 !important;
}
body.ldg500-professional-foundation .ldg500-status-warning{
  background:#FFF7E6 !important;
  color:#6A4500 !important;
  border-color:#F7D891 !important;
}
