/* Metallbau Werner – Erweiterung (Flyer-Inhalte 2026): Hero-Claim, Leistungskarten, Maschinenpark */


/* ---------- Startseite: Hero ---------- */
.title-block .mw-hero-claim {
  font-size: clamp(30px, min(3.4vw, 6vh), 54px);
  line-height: 1.12;
  margin-top: 10px;
  margin-bottom: 10px;
  padding: 10px 0;
  overflow-wrap: break-word;
  hyphens: manual;
  max-width: 100%;
}
.title-block .mw-hero-sub {
  text-align: center;
  font-size: clamp(19px, min(1.7vw, 3vh), 26px);
  margin-top: 0;
  margin-bottom: 12px;
  overflow-wrap: break-word;
}
.title-block .mw-hero-text {
  color: #f0f4f8;
  text-align: center;
  font-size: 17px;
  line-height: 1.55;
  max-width: 34rem;
  margin: 0 auto;
  overflow-wrap: break-word;
}
.title-block .logo-img { max-width: 100%; }

@media (min-width: 992px) {
  /* content-driven height: the longer claim never gets clipped by the fixed 90vh hero */
  .titelvideo-start-1.zweitfarbe { height: auto; min-height: 90vh; }
  .grid-title {
    height: auto;
    min-height: 90vh;
    grid-template-rows: minmax(45vh, auto) minmax(45vh, auto);
  }
  /* image cells follow the text column's height instead of their natural image size */
  .grid-title > .slider-45vh,
  .grid-title > .grid-2er { height: auto; align-self: stretch; contain: size; }
  .grid-title > .grid-2er { grid-template-rows: minmax(0, 1fr); }
  .grid-title > .grid-2er > .slider-45vh,
  .grid-title > .grid-2er > .image-100-header { height: 100%; min-height: 0; }
  .title-block.zweitfarbe { padding: 30px 60px; }
}
@media screen and (max-width: 991px) {
  .title-block .mw-hero-claim { font-size: 34px; }
  .title-block .mw-hero-sub { font-size: 22px; }
}
@media screen and (max-width: 767px) {
  .title-block .mw-hero-claim { font-size: 30px; }
  .title-block .mw-hero-sub { font-size: 20px; }
  .title-block .mw-hero-text { font-size: 16px; }
}
@media screen and (max-width: 479px) {
  .title-block .mw-hero-claim { font-size: 25px; }
  .title-block .mw-hero-sub { font-size: 18px; }
  .title-block .mw-hero-text { font-size: 15px; }
}

/* focal points of the flyer photos in the hero sliders */
.image-100-header.mw-pos-laser { object-position: 60% 55%; }
.image-100-header.mw-pos-schweissen { object-position: 40% 50%; }

/* teaser button on the homepage */
.terminbutton.aktuelle.mw-teaser { width: auto; min-width: 15rem; max-width: 100%; display: table; }

/* ---------- Leistungen: bestehende Tabs (5 x 16rem passen erst ab ~1380px in eine Zeile) ---------- */
@media (min-width: 992px) {
  .tabs-menu { flex-wrap: wrap; row-gap: 15px; }
}

/* ---------- Leistungen: Karten ---------- */
.mw-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  width: 80%;
  margin: 30px auto 0;
}
.mw-card {
  background-color: #fff;
  color: #000;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}
.mw-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background-color: #e8f0f8;
  color: var(--blue, #035dab);
  margin-bottom: 14px;
  flex: none;
}
.mw-card-icon svg { width: 28px; height: 28px; }
.mw-card .mw-card-title {
  color: var(--blue, #035dab);
  text-align: left;
  font-size: 20px;
  margin: 0 0 8px;
  overflow-wrap: break-word;
}
.mw-card .mw-card-text {
  margin: 0;
  font-size: 16px;
  color: #222;
  overflow-wrap: break-word;
}

/* Warum Metallbau Werner? */
.mw-warum-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 40px;
  align-items: center;
  width: 80%;
  margin: 0 auto;
}
.mw-warum-grid .heading-links.heading-1 { margin-top: 0; }
.mw-check-list { list-style: none; padding: 0; margin: 10px 0 20px; }
.mw-check-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 18px;
  line-height: 1.4;
  padding: 6px 0;
  color: #000;
}
.mw-check-list svg { flex: none; width: 24px; height: 24px; margin-top: 1px; color: #042956; }
.mw-claim.heading-links.heading-1 {
  color: #042956;
  margin: 10px 0 0;
  font-size: 32px;
}
.mw-seal {
  background-color: #fff;
  padding: 16px;
  justify-self: center;
  width: 100%;
  max-width: 440px;
}
.mw-seal img { display: block; width: 100%; height: auto; object-fit: contain; }

@media screen and (max-width: 991px) {
  .mw-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 15px; }
  .mw-warum-grid { width: 100%; gap: 30px; }
  .mw-claim.heading-links.heading-1 { font-size: 28px; text-align: left; }
  .mw-warum-grid .heading-links.heading-1 { text-align: left; }
}
@media screen and (max-width: 767px) {
  .mw-card-grid { grid-template-columns: minmax(0, 1fr); }
  .mw-warum-grid { grid-template-columns: minmax(0, 1fr); }
  .mw-check-list li { font-size: 16px; }
  .mw-claim.heading-links.heading-1 { font-size: 24px; }
}

/* ---------- Maschinenpark ---------- */
.mw-intro { width: 80%; margin: 0 auto; }
.mw-machine {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px;
  align-items: start;
  width: 90%;
  max-width: 1300px;
  margin: 0 auto;
}
.mw-machine--reverse .mw-machine-media { order: 2; }
.mw-machine-text { min-width: 0; }
.mw-machine-media { min-width: 0; display: flex; flex-direction: column; gap: 12px; position: relative; }
.mw-machine-text .heading-links.heading-1 { margin-top: 0; font-size: 32px; overflow-wrap: break-word; }
.mw-machine-text .mw-lead { font-size: 22px; margin: 0 0 10px; }
.mw-machine-text p { font-size: 16px; }
.section.highlights .mw-machine-text p { color: #fff; }
.section.zweitfarbe .mw-machine-text .heading-links { color: #042956; }

.mw-figure { margin: 0; overflow: hidden; background-color: #fff; }
.mw-figure img { display: block; width: 100%; height: 100%; }
.mw-figure--photo { aspect-ratio: 4 / 3; }
.mw-figure--photo img { object-fit: cover; object-position: 50% 50%; }
.mw-figure--wide { aspect-ratio: 16 / 10; }
.mw-figure--contain img { object-fit: contain; height: auto; }
.mw-figure--dark { background-color: #000; padding: 20px; border-radius: 4px; }
.mw-gallery-2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }

/* KPI tiles */
.mw-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  width: 90%;
  max-width: 1300px;
  margin: 40px auto 0;
}
.mw-kpi {
  background-color: #fff;
  color: #000;
  padding: 24px 20px;
  min-width: 0;
}
.mw-kpi .mw-card-icon { margin-bottom: 12px; }
.mw-kpi h3 { color: var(--blue, #035dab); font-size: 19px; margin: 0 0 6px; text-align: left; overflow-wrap: break-word; }
.mw-kpi p { margin: 0; font-size: 15px; line-height: 1.5; color: #222; }

/* data tables */
.mw-spec-table {
  width: 100%;
  border-collapse: collapse;
  background-color: #fff;
  color: #000;
  margin: 10px 0 0;
  font-family: Roboto, sans-serif;
  font-size: 16px;
}
.mw-spec-table caption {
  text-align: left;
  caption-side: top;
  font-family: Chivo, sans-serif;
  font-weight: 700;
  padding: 0 0 8px;
}
.section.highlights .mw-spec-table caption { color: #fff; }
.mw-spec-table th,
.mw-spec-table td {
  text-align: left;
  padding: 10px 14px;
  border-bottom: 1px solid #d5dbe3;
  vertical-align: top;
  overflow-wrap: anywhere;
}
.mw-spec-table thead th { background-color: var(--blue, #035dab); color: #fff; font-weight: 700; }
.mw-spec-table tbody th { font-weight: 400; width: 55%; }
.mw-spec-table tbody td { font-weight: 700; }
.mw-spec-table tbody tr:nth-child(even) { background-color: #f2f5f9; }

/* Miet-mich badge (CSS only) */
.mw-badge-wrap { position: relative; }
.mw-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  width: 118px;
  height: 118px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #e30613;
  color: #fff;
  font-family: Chivo, sans-serif;
  font-weight: 900;
  font-size: 20px;
  line-height: 1.05;
  text-transform: uppercase;
  transform: rotate(-12deg);
  clip-path: polygon(50% 0%, 59% 12%, 73% 5%, 76% 20%, 92% 19%, 87% 34%, 100% 42%, 89% 53%, 98% 66%, 83% 70%, 84% 86%, 69% 83%, 62% 97%, 50% 88%, 38% 97%, 31% 83%, 16% 86%, 17% 70%, 2% 66%, 11% 53%, 0% 42%, 13% 34%, 8% 19%, 24% 20%, 27% 5%, 41% 12%);
}
.mw-cta { margin-top: 24px; }
.terminbutton.mw-kran-button {
  display: inline-block;
  background-color: var(--blue, #035dab);
  color: #fff;
  border-radius: 0;
  font-family: Chivo, sans-serif;
  padding: 14px 28px;
}
.terminbutton.mw-kran-button:hover { background-color: #042956; }

@media screen and (max-width: 991px) {
  .mw-intro { width: 100%; }
  .mw-machine { grid-template-columns: minmax(0, 1fr); width: 100%; gap: 24px; }
  .mw-machine--reverse .mw-machine-media { order: 0; }
  .mw-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 15px; }
  .mw-machine-text .heading-links.heading-1 { font-size: 28px; text-align: left; }
}
@media screen and (max-width: 767px) {
  .mw-kpi-grid { grid-template-columns: minmax(0, 1fr); }
  .mw-machine-text .heading-links.heading-1 { font-size: 25px; }
  .mw-machine-text .mw-lead { font-size: 20px; }
  .mw-spec-table { font-size: 15px; }
  .mw-spec-table th, .mw-spec-table td { padding: 8px 10px; }
  .mw-badge { width: 92px; height: 92px; font-size: 16px; }
}
@media screen and (max-width: 479px) {
  .mw-gallery-2 { grid-template-columns: minmax(0, 1fr); }
}
