.elementor-54 .elementor-element.elementor-element-b3e457b{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS *//* ===========================
   SEM Industrieboden – Global
   =========================== */
:root{
  --sem-primary:#4B4E53;    /* Dunkelgrau */
  --sem-secondary:#F6B800;  /* Gelb */
  --sem-text:#000000;       /* Schwarz */
  --sem-accent:#F4F4F4;     /* Hellgrau */
  --sem-c1:#1F3C88;         /* Blau */
  --sem-c2:#C85A2E;         /* Terracotta */
  --sem-hover:#E0A600;      /* Gelb dunkler für Hover */
}

.sem-company.sem-wrap{
  padding: clamp(28px,5vw,72px) clamp(18px,4vw,40px);
  background:#ffffff;
  color:var(--sem-text);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, Noto Sans, "Apple Color Emoji", "Segoe UI Emoji";
}

/* ===========================
   Hero
   =========================== */
.sem-hero{
  position: relative;
  text-align: center;
  padding: clamp(80px,10vw,140px) 20px;
  background: linear-gradient(140deg, var(--sem-primary) 0%, #5a5e63 60%);
  color:#fff;
  z-index:1;
  border-radius:22px;
  overflow:hidden;
  margin-bottom: clamp(28px,4vw,48px);
}
.sem-hero::after{
  content:"";
  position:absolute;
  inset:auto -40% -60% -40%;
  height:140%;
  background: radial-gradient(closest-side, rgba(246,184,0,.25), transparent 60%);
  z-index:0;
  pointer-events:none;
}
.sem-hero-inner{
  position:relative;
  z-index:2; /* Text & Button über Overlay */
  max-width: 980px;
  margin: 0 auto;
}
.sem-hero h1{
  margin:0 0 16px 0;
  font-size: clamp(32px,3.6vw,52px);
  line-height:1.15;
  color:#ffffff;            /* Überschrift weiß */
}
.sem-hero p{
  margin:0 0 28px 0;
  font-size: clamp(16px,1.2vw,18px);
  color:#ffffff;            /* Untertitel weiß */
  opacity:.95;
}

/* ===========================
   Buttons
   =========================== */
.sem-btn,
.elementor-button,
button.elementor-button{
  display:inline-block;
  background:var(--sem-secondary);
  color:var(--sem-text);
  padding:14px 22px;
  border:none;
  border-radius:5px;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  box-shadow:2px 2px 10px rgba(246,184,0,.45); /* Outline */
  transition:background-color .18s ease, box-shadow .18s ease, transform .18s ease;
  cursor:pointer;
}
.sem-btn:hover,
.elementor-button:hover,
button.elementor-button:hover{
  background:var(--sem-hover);
  color:var(--sem-text);
  box-shadow:4px 4px 16px rgba(246,184,0,.50);
  transform:translateY(-1px);
}
.sem-btn:focus,
.sem-btn:focus-visible{
  outline:2px solid var(--sem-c1);
  outline-offset:2px;
}
.btn-lg{ padding:16px 26px; border-radius:8px; }
.btn-sm{ padding:10px 16px; border-radius:4px; }

/* ===========================
   Blöcke und Layout
   =========================== */
.sem-block{
  max-width:1200px;
  margin:0 auto clamp(28px,5vw,64px);
  padding:clamp(18px,2vw,24px);
  background:#fff;
}
.sem-block.sem-accent{
  background:var(--sem-accent);
  border-radius:18px;
}
.sem-block.sem-alt{
  background:linear-gradient(180deg,#ffffff 0%, #fafafa 100%);
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
}

/* Grids */
.sem-grid{
  display:grid;
  gap:clamp(16px,2.4vw,32px);
}
.sem-grid.two{ grid-template-columns:1fr 1fr; }
.sem-grid.three{ grid-template-columns:repeat(3,1fr); 
}
@media (max-width:980px){
  .sem-grid.two,
  .sem-grid.three{ grid-template-columns:1fr; }
}

/* Typografie Block */
.sem-block h2{
  margin:0 0 8px 0;
  color:#ffffff; /* Standard für dunkle Hintergründe überschreiben wir unten */
  font-size:clamp(22px,2.4vw,32px);
}
.sem-block h3{
  margin:10px 0 6px 0;
  color:var(--sem-primary);
  font-size:clamp(18px,1.8vw,22px);
}
.sem-block p{
  margin:0 0 10px 0;
  font-size:clamp(16px,1.2vw,18px);
  color:#333;
}
/* H2 in hellen Blöcken wieder dunkel */
.sem-block:not(.sem-accent) h2,
.sem-block.sem-alt h2{ color: var(--sem-primary); }

/* Listen mit Markenbullet */
.sem-list{
  list-style:none;
  margin:10px 0 0 0;
  padding:0;
}
.sem-list li{
  position:relative;
  padding-left:28px;
  margin:10px 0;
}
.sem-list li::before{
  content:"";
  position:absolute;
  left:0; top:8px;
  width:14px; height:14px;
  border-radius:50%;
  background:var(--sem-secondary);
  box-shadow:0 0 0 3px rgba(246,184,0,.18);
}

/* Karten */
.sem-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
  padding:14px;
  box-shadow:0 10px 24px rgba(75,78,83,.07);
  transition:transform .25s ease, box-shadow .25s ease;
}
.sem-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 30px rgba(75,78,83,.12);
}
.sem-card img{
  width:100%;
  height:auto;
  display:block;
  border-radius:12px;
  margin-bottom:8px;
}

/* Kennzahlen */
.sem-stat{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:16px;
  padding:18px;
  text-align:center;
  box-shadow:0 8px 18px rgba(0,0,0,.04);
}
.sem-stat .num{
  font-size:clamp(28px,3vw,40px);
  font-weight:800;
  color:var(--sem-primary);
}
.sem-stat .label{
  margin-top:6px;
  color:#444;
  font-size:clamp(14px,1.1vw,16px);
}

/* Badges */
.sem-badge{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:14px;
  padding:16px;
}
.sem-badge .title{
  font-weight:700;
  color:var(--sem-primary);
  margin-bottom:4px;
}

/* Hinweis und Abschluss CTA */
.sem-note{
  text-align:center;
  margin-top:14px;
  color:#444;
  font-size:14px;
}
.sem-cta{
  text-align:center;
  background:linear-gradient(180deg,#ffffff 0%, #f9f9f9 100%);
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
}
.sem-cta h2{ color:var(--sem-primary); }/* End custom CSS */