.tool-work-heading {
  margin-top: 0 !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
  border: 0 !important;
  color: inherit !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.tool-form legend.tool-work-heading {
  display: block !important;
  float: left !important;
  width: 100% !important;
}

.tool-form legend.tool-work-heading + * {
  clear: both;
}

/* Gemeinsame Formulargrundlage für bestehende und neue Werkzeuge */
.tool-form {
  padding: 24px;
  border: 1px solid var(--tool-line, #d8dee9);
  border-radius: 14px;
  background: var(--tool-ground, #f3f1e9);
  color: var(--tool-ink, #172033);
}

.tool-form fieldset {
  min-width: 0;
  margin: 0;
  padding: 24px;
  border: 1px solid var(--tool-line, #d8dee9);
  border-radius: 14px;
  background: var(--tool-panel, #fff);
  box-shadow: 0 8px 25px rgb(23 32 51 / 6%);
}

.tool-form fieldset > div,
.tool-form fieldset > label {
  margin-bottom: 16px;
}

.tool-form fieldset > :last-child {
  margin-bottom: 0;
}

.tool-form label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(140px, 42%);
  align-items: center;
  gap: 16px;
  color: var(--tool-label, #415958);
  font-size: 13px;
  font-weight: 700;
}

.tool-form input,
.tool-form select {
  width: 100%;
  min-height: 44px;
  padding: 10px;
  border: 1px solid var(--tool-control-line, #b9c1ce);
  border-radius: 7px;
  background: #fff;
  color: var(--tool-ink, #172033);
  font: 15px/1.45 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.tool-form small {
  display: block;
  margin-top: 5px;
  color: var(--tool-muted, #667085);
  font-size: 12px;
}

.tool-form button[type="submit"] {
  min-height: 44px;
  padding: 12px 18px;
  border: 1px solid var(--tool-orange, #e7653d);
  border-radius: 7px;
  background: var(--tool-orange, #e7653d);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.tool-form button[type="button"] {
  min-height: 44px;
  padding: 12px 18px;
  border: 1px solid var(--tool-control-line, #b9c1ce);
  border-radius: 7px;
  background: var(--tool-panel, #fff);
  color: var(--tool-ink, #172033);
  font-weight: 800;
  cursor: pointer;
}

.tool-form button[type="button"]:hover {
  border-color: var(--tool-orange, #e7653d);
  color: var(--tool-orange-dark, #bf4326);
}

.tool-form button[type="submit"]:hover {
  background: var(--tool-orange-dark, #bf4326);
}

/* Zentraler Standard für eigenständige Werkzeug-Schaltflächen */
.tool-standard-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border: 1px solid var(--tool-control-line, #b9c1ce);
  border-radius: 7px;
  background: var(--tool-panel, #fff);
  color: var(--tool-ink, #172033);
  font: 800 13px/1.2 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  cursor: pointer;
}

.tool-standard-button:hover {
  border-color: var(--tool-orange, #e7653d);
  color: var(--tool-orange-dark, #bf4326);
}

.tool-standard-button:focus-visible {
  border-color: var(--tool-orange, #e7653d);
  outline: 3px solid rgb(231 101 61 / 24%);
  outline-offset: 1px;
}

.tool-form input:focus-visible,
.tool-form select:focus-visible,
.tool-form button:focus-visible {
  border-color: var(--tool-orange, #e7653d);
  outline: 3px solid rgb(231 101 61 / 24%);
  outline-offset: 1px;
}

.tool-form [role="status"] {
  min-height: 1.3em;
  margin: 8px 0 0;
  color: #a33b18;
  font-size: 12px;
}

.tool-form-result {
  padding: 24px;
  border: 1px solid var(--tool-line, #d8dee9);
  border-radius: 14px;
  background: var(--tool-panel, #fff);
  color: var(--tool-ink, #172033);
  box-shadow: 0 8px 25px rgb(23 32 51 / 6%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.5;
}

.tool-form-result strong {
  display: block;
  margin-bottom: 12px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
}

.tool-form-result p {
  margin: 0 0 12px;
}

.tool-form-result small {
  margin: 0;
  color: var(--tool-label, #415958);
  font-size: 14px;
  line-height: 1.5;
}

.tool-form-result--success {
  border-color: #b7cebc;
  background: #edf5ef;
}

.tool-form-result--warning {
  border-color: #e7c59c;
  background: #fff5e9;
}

/* Einheitliche Tabellenköpfe in allen Werkzeugen */
.direct-tool-content table th,
.tool-direct table th {
  background: #e7653d !important;
  color: #fff !important;
}

.tool-shell.tool-theme-pipe-hose,
:host([data-tool-theme="pipe-hose"]) {
  --tool-ink: #132a2b;
  --tool-muted: #607272;
  --tool-label: #415958;
  --tool-line: #d9ddd5;
  --tool-control-line: #ccd3cd;
  --tool-panel: #fffdf8;
  --tool-ground: #f3f0e8;
  --tool-orange: #e7653d;
  --tool-orange-dark: #b94222;
  --tool-teal: #174d4b;
}

.tool-shell.tool-theme-tripod,
:host([data-tool-theme="tripod"]) {
  --tool-ink: #17201d;
  --tool-muted: #65706b;
  --tool-label: #415958;
  --tool-line: #d7d1c5;
  --tool-control-line: #c5bfb3;
  --tool-panel: #fffdf8;
  --tool-ground: #f3f0e9;
  --tool-orange: #e7653d;
  --tool-orange-dark: #bf4326;
  --tool-teal: #174d4b;
}

.tool-shell.tool-theme-tripod.tool-variant-view .tool-intro {
  display: none;
}

.tool-shell.tool-theme-tripod.tool-variant-view .tool-direct {
  margin-top: 18px;
}

/* Druckfähige Werkzeugansichten verwenden das lokale RK-Logo als
   festes Wasserzeichen. Auf dem Bildschirm bleibt es unsichtbar. */
.print-page-watermark {
  display: none;
}

@media print {
  .print-page-watermark {
    display: block !important;
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 9999;
    width: 105mm;
    height: 105mm;
    opacity: .045;
    pointer-events: none;
    transform: translate(-50%, -50%);
    filter: grayscale(1);
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  body:has(.tool-shell.tool-theme-tripod.tool-variant-view) > .site-header,
  body:has(.tool-shell.tool-theme-tripod.tool-variant-view) > footer,
  .tool-shell.tool-theme-tripod.tool-variant-view > .tool-page-head,
  .tool-shell.tool-theme-tripod.tool-variant-view > .tool-guides,
  .tool-shell.tool-theme-tripod.tool-variant-view > .tool-faq,
  .tool-shell.tool-theme-tripod.tool-variant-view > .tool-support {
    display: none !important;
  }

  .tool-shell.tool-theme-tripod.tool-variant-view,
  .tool-shell.tool-theme-tripod.tool-variant-view .tool-direct {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  body:has(.tool-shell.tool-theme-geometry) > .site-header,
  body:has(.tool-shell.tool-theme-geometry) > footer,
  .tool-shell.tool-theme-geometry > .tool-page-head,
  .tool-shell.tool-theme-geometry > .tool-guides,
  .tool-shell.tool-theme-geometry > .tool-faq,
  .tool-shell.tool-theme-geometry > .tool-support {
    display: none !important;
  }

  .tool-shell.tool-theme-geometry,
  .tool-shell.tool-theme-geometry .tool-direct {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  body:has(.tool-shell.tool-theme-rays) > .site-header,
  body:has(.tool-shell.tool-theme-rays) > footer,
  .tool-shell.tool-theme-rays > .tool-page-head,
  .tool-shell.tool-theme-rays > .tool-guides,
  .tool-shell.tool-theme-rays > .tool-faq,
  .tool-shell.tool-theme-rays > .tool-support {
    display: none !important;
  }

  .tool-shell.tool-theme-rays,
  .tool-shell.tool-theme-rays .tool-direct {
    width: 100%;
    margin: 0;
    padding: 0;
  }
}

.tool-shell.tool-theme-frets {
  --tool-muted: #65706b;
  --tool-paper: #f3f1e9;
  --tool-orange: #e7653d;
  --tool-line: #d7d1c5;
  --tool-green: #183c32;
}

.tool-shell.tool-theme-frets > .tool-page-head > .breadcrumb {
  margin: 0;
  padding: 14px 2px;
  color: var(--muted);
  font-size: 12px;
}

.tool-shell.tool-theme-frets .tool-intro {
  display: flex;
  width: 100%;
  max-width: none;
  align-items: flex-end;
  justify-content: space-between;
  gap: 46px;
  padding: 46px 0 42px;
  border-bottom: 1px solid var(--line);
}

.tool-shell.tool-theme-frets .tool-intro .kicker {
  color: var(--orange);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2.4px;
  text-transform: uppercase;
}

.tool-shell.tool-theme-frets .tool-intro h1 {
  max-width: 1050px;
  margin: 10px 0 18px;
  font: 500 clamp(42px, 5.8vw, 88px)/.94 Georgia, "Times New Roman", serif;
  letter-spacing: -.05em;
  overflow-wrap: anywhere;
}

.tool-shell.tool-theme-frets .tool-intro h1 span,
.tool-shell.tool-theme-frets .tool-intro h1 strong {
  display: block;
  font: inherit;
  letter-spacing: inherit;
}

.tool-shell.tool-theme-frets .tool-intro h1 strong {
  color: #e7653d;
}

.tool-shell.tool-theme-frets .tool-intro-copy > p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 17px;
}

.tool-shell.tool-theme-frets .tool-guide-nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 23px;
  font-size: 12px;
}

.tool-shell.tool-theme-frets .tool-guide-nav a {
  padding: 9px 14px;
  border: 1px solid #bfc9c2;
  border-radius: 999px;
  background: rgba(255, 255, 255, .35);
  color: var(--ink);
  font-weight: 800;
  text-decoration: none;
  transition: .2s ease;
}

.tool-shell.tool-theme-bambu {
  --tool-ink: #172033;
  --tool-muted: #667085;
  --tool-label: #415958;
  --tool-line: #d8dee9;
  --tool-control-line: #b9c1ce;
  --tool-panel: #fff;
  --tool-ground: #f3f1e9;
  --tool-orange: #e7653d;
  --tool-orange-dark: #bf4326;
}

.tool-shell.tool-theme-bambu > .tool-page-head > .breadcrumb {
  margin: 0;
  padding: 14px 2px;
  color: var(--muted);
  font-size: 12px;
}

.tool-shell.tool-theme-bambu .tool-intro {
  display: flex;
  width: 100%;
  max-width: none;
  align-items: flex-end;
  justify-content: space-between;
  gap: 46px;
  padding: 46px 0 42px;
  border-bottom: 1px solid var(--line);
}

.tool-shell.tool-theme-bambu .tool-intro .kicker {
  color: var(--orange);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2.4px;
  text-transform: uppercase;
}

.tool-shell.tool-theme-bambu .tool-intro h1 {
  max-width: 1050px;
  margin: 10px 0 18px;
  font: 500 clamp(42px, 5.8vw, 88px)/.94 Georgia, "Times New Roman", serif;
  letter-spacing: -.05em;
  overflow-wrap: anywhere;
}

.tool-shell.tool-theme-bambu .tool-intro h1 span,
.tool-shell.tool-theme-bambu .tool-intro h1 strong {
  display: block;
  font: inherit;
  letter-spacing: inherit;
}

.tool-shell.tool-theme-bambu .tool-intro h1 strong {
  color: #e7653d;
}

.tool-shell.tool-theme-bambu .tool-intro-copy > p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 17px;
}

.tool-shell.tool-theme-bambu .tool-guide-nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 23px;
  font-size: 12px;
}

.tool-shell.tool-theme-bambu .tool-guide-nav a {
  padding: 9px 14px;
  border: 1px solid #bfc9c2;
  border-radius: 999px;
  background: rgba(255, 255, 255, .35);
  color: var(--ink);
  font-weight: 800;
  text-decoration: none;
  transition: .2s ease;
}

/* Freigegebene Referenzformatierung: Geometrie-Rechner */
.tool-shell.tool-theme-geometry > .tool-page-head > .breadcrumb {
  margin: 0;
  padding: 14px 2px;
  color: var(--muted);
  font-size: 12px;
}

.tool-shell.tool-theme-geometry .tool-intro {
  display: flex;
  width: 100%;
  max-width: none;
  align-items: flex-end;
  justify-content: space-between;
  gap: 46px;
  padding: 46px 0 42px;
  border-bottom: 1px solid var(--line);
}

.tool-shell.tool-theme-geometry .tool-intro .kicker {
  color: var(--orange);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2.4px;
  text-transform: uppercase;
}

.tool-shell.tool-theme-geometry .tool-intro h1 {
  max-width: 1050px;
  margin: 10px 0 18px;
  font: 500 clamp(42px, 5.8vw, 88px)/.94 Georgia, "Times New Roman", serif;
  letter-spacing: -.05em;
  overflow-wrap: anywhere;
}

.tool-shell.tool-theme-geometry .tool-intro h1 span,
.tool-shell.tool-theme-geometry .tool-intro h1 strong {
  display: block;
  font: inherit;
  letter-spacing: inherit;
}

.tool-shell.tool-theme-geometry .tool-intro h1 strong {
  color: #e7653d;
}

.tool-shell.tool-theme-geometry .tool-intro-copy > p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 17px;
}

.tool-shell.tool-theme-geometry .tool-guide-nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 23px;
  font-size: 12px;
}

.tool-shell.tool-theme-geometry .tool-guide-nav a {
  padding: 9px 14px;
  border: 1px solid #bfc9c2;
  border-radius: 999px;
  background: rgba(255, 255, 255, .35);
  color: var(--ink);
  font-weight: 800;
  text-decoration: none;
  transition: .2s ease;
}

@media (max-width: 850px) {
  .tool-shell.tool-theme-geometry .tool-intro {
    align-items: flex-start;
    flex-direction: column;
    gap: 24px;
    padding: 34px 0;
  }

  .tool-shell.tool-theme-geometry .tool-intro h1 {
    font-size: clamp(40px, 12vw, 64px);
  }

  .tool-shell.tool-theme-geometry .tool-guide-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  .tool-shell.tool-theme-geometry .tool-guide-nav a {
    text-align: center;
  }
}

/* Zentrale Referenzformatierung: Strahlen- und Netzgenerator */
:host([data-tool-theme="rays"]) {
  --ground: #f3f1e9;
}

.tool-shell.tool-theme-rays > .tool-page-head > .breadcrumb {
  margin: 0;
  padding: 14px 2px;
  color: var(--muted);
  font-size: 12px;
}

.tool-shell.tool-theme-rays .tool-intro {
  display: flex;
  width: 100%;
  max-width: none;
  align-items: flex-end;
  justify-content: space-between;
  gap: 46px;
  padding: 46px 0 42px;
  border-bottom: 1px solid var(--line);
}

.tool-shell.tool-theme-rays .tool-intro .kicker {
  color: var(--orange);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2.4px;
  text-transform: uppercase;
}

.tool-shell.tool-theme-rays .tool-intro h1 {
  max-width: 1050px;
  margin: 10px 0 18px;
  font: 500 clamp(42px, 5.8vw, 88px)/.94 Georgia, "Times New Roman", serif;
  letter-spacing: -.05em;
  overflow-wrap: anywhere;
}

.tool-shell.tool-theme-rays .tool-intro h1 span,
.tool-shell.tool-theme-rays .tool-intro h1 strong {
  display: block;
  font: inherit;
  letter-spacing: inherit;
}

.tool-shell.tool-theme-rays .tool-intro h1 strong {
  color: #e7653d;
}

.tool-shell.tool-theme-rays .tool-intro-copy > p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 17px;
}

.tool-shell.tool-theme-rays .tool-guide-nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 23px;
  font-size: 12px;
}

.tool-shell.tool-theme-rays .tool-guide-nav a {
  padding: 9px 14px;
  border: 1px solid #bfc9c2;
  border-radius: 999px;
  background: rgba(255, 255, 255, .35);
  color: var(--ink);
  font-weight: 800;
  text-decoration: none;
  transition: .2s ease;
}

@media (max-width: 820px) {
  .tool-shell.tool-theme-rays .tool-intro {
    align-items: flex-start;
    flex-direction: column;
    gap: 24px;
    padding: 34px 0;
  }

  .tool-shell.tool-theme-rays .tool-intro h1 {
    font-size: clamp(40px, 12vw, 64px);
  }

  .tool-shell.tool-theme-rays .tool-guide-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  .tool-shell.tool-theme-rays .tool-guide-nav a {
    text-align: center;
  }
}

/* Einheitliche Auswahlfelder in allen Werkzeugen */
.tool-form select,
.direct-tool-content select,
.tool-direct select {
  height: 44px;
  min-height: 44px;
  padding: 0 38px 0 12px;
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, currentcolor 50%),
    linear-gradient(135deg, currentcolor 50%, transparent 50%);
  background-position:
    calc(100% - 17px) 50%,
    calc(100% - 12px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  line-height: 42px;
}
