/* ------------------------------------------------------------
 | Tabellen allgemein
 * ------------------------------------------------------------ */

.hb-page:not(.hb-page--cover) .hb-page-body table {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: collapse !important;
    table-layout: auto !important;
    margin: 4px 0 7px !important;
    font-size: 7.9px !important;
    line-height: 1.24 !important;
    font-weight: 300 !important;
}

.hb-page:not(.hb-page--cover) .hb-page-body table table {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.hb-page:not(.hb-page--cover) .hb-page-body table th,
.hb-page:not(.hb-page--cover) .hb-page-body table td {
    vertical-align: top !important;
    padding: 3px 4px !important;
    height: auto !important;
    min-height: 0 !important;
    text-align: left !important;
}

.hb-page:not(.hb-page--cover) .hb-page-body table p {
    margin-top: 0 !important;
    margin-bottom: 2px !important;
    text-align: inherit !important;
}

.hb-page:not(.hb-page--cover) .hb-page-body table p:last-child {
    margin-bottom: 0 !important;
}

.hb-page-body .hb-docuglobe-layout-table,
.hb-page-body .hb-figure-table {
    border: none !important;
}

.hb-page-body .hb-docuglobe-layout-table > tbody > tr > td,
.hb-page-body .hb-docuglobe-layout-table > tr > td,
.hb-page-body .hb-figure-table > tbody > tr > td,
.hb-page-body .hb-figure-table > tr > td {
    border: none !important;
    background: transparent !important;
}

 | Bild-/Diagramm-Tabellen


/* ------------------------------------------------------------
 | Warn-/Hinweistabellen Fallback
 * ------------------------------------------------------------ */

.hb-page-body table:has(.HHinweisfett),
.hb-page-body table:has(.HHinweisListeQuadrat),
.hb-page-body table:has([class*="Hinweis"]),
.hb-page-body table:has([class*="Warnung"]),
.hb-page-body table:has([class*="Gefahr"]),
.hb-page-body table:has([class*="Vorsicht"]) {
    width: 100% !important;
    margin: 5px 0 7px !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    border: none !important;
    background: transparent !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
}

.hb-page-body table:has(.HHinweisfett) td,
.hb-page-body table:has(.HHinweisListeQuadrat) td,
.hb-page-body table:has([class*="Hinweis"]) td,
.hb-page-body table:has([class*="Warnung"]) td,
.hb-page-body table:has([class*="Gefahr"]) td,
.hb-page-body table:has([class*="Vorsicht"]) td {
    border: none !important;
    vertical-align: top !important;
    text-align: left !important;
}

.hb-page-body table:has(.HHinweisfett) td:last-child,
.hb-page-body table:has(.HHinweisListeQuadrat) td:last-child,
.hb-page-body table:has([class*="Hinweis"]) td:last-child,
.hb-page-body table:has([class*="Warnung"]) td:last-child,
.hb-page-body table:has([class*="Gefahr"]) td:last-child,
.hb-page-body table:has([class*="Vorsicht"]) td:last-child {
    background: var(--hb-pdf-light-grey) !important;
}

/* ------------------------------------------------------------
 | Hinweis-/Warnboxen
 * ------------------------------------------------------------ */

.hb-page-body .hb-warning-table,
.hb-page-body .hb-note-table,
.hb-page-body .hb-warning-note-layout {
    width: 100% !important;
    max-width: 100% !important;
    margin: 5px 0 7px !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    table-layout: fixed !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
}

.hb-page-body .hb-warning-table col,
.hb-page-body .hb-note-table col,
.hb-page-body .hb-warning-note-layout col {
    width: auto !important;
}

/* Leere DocuGlobe-Marginalienspalte entfernen */
.hb-page-body .hb-warning-note-empty-marginalia col:first-child {
    width: 0 !important;
}

.hb-page-body .hb-warning-note-empty-marginalia .hb-warning-note-marginalia-empty {
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* Symbolspalte kompakt halten */
.hb-page-body .hb-warning-table .hb-warning-note-icon-cell,
.hb-page-body .hb-note-table .hb-warning-note-icon-cell,
.hb-page-body .hb-warning-note-layout .hb-warning-note-icon-cell {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    padding: 3px 5px 3px 0 !important;
    text-align: center !important;
    vertical-align: top !important;
    background: transparent !important;
}

/* Textspalte über die restliche Seitenbreite ziehen */
.hb-page-body .hb-warning-table .hb-warning-note-text-cell,
.hb-page-body .hb-note-table .hb-warning-note-text-cell,
.hb-page-body .hb-warning-note-layout .hb-warning-note-text-cell {
    width: auto !important;
    padding: 4px 6px !important;
    text-align: left !important;
    vertical-align: top !important;
    background: var(--hb-pdf-light-grey) !important;
}

/* Fallback für ältere Klassifizierung */
.hb-page-body .hb-warning-table td,
.hb-page-body .hb-warning-table th,
.hb-page-body .hb-note-table td,
.hb-page-body .hb-note-table th,
.hb-page-body .hb-warning-note-layout td,
.hb-page-body .hb-warning-note-layout th {
    border: none !important;
    vertical-align: top !important;
    text-align: left !important;
}

.hb-page-body .hb-warning-note-layout img {
    display: block !important;
    width: auto !important;
    max-width: 24px !important;
    height: auto !important;
    margin: 0 auto !important;
}

.hb-page-body .HHinweisfett {
    font-weight: 700 !important;
    font-size: 7.95px !important;
    line-height: 1.18 !important;
    margin: 0 0 1.5px !important;
    text-align: left !important;
}

.hb-page-body .HHinweisListeQuadrat {
    position: relative !important;
    display: block !important;
    margin: 2px 0 0 !important;
    padding-left: 10px !important;
    text-indent: 0 !important;
    line-height: 1.24 !important;
    font-size: 7.85px !important;
    text-align: left !important;
}

.hb-page-body .HHinweisListeQuadrat::before {
    content: "■";
    position: absolute;
    left: 0;
    top: 0.18em;
    font-size: 0.58em;
    line-height: 1;
    color: #111827;
}

/* ------------------------------------------------------------
 | Dynamische Tabellenbreiten + Benutzer-Resize
 * ------------------------------------------------------------ */

.hb-page:not(.hb-page--cover) .hb-page-body table,
.hb-page-body .hb-table-dynamic,
.hb-page-body .hb-table-techdata,
.hb-page-body .hb-table-nomenclature {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
}

.hb-page-body .hb-table-dynamic {
    --hb-table-header-height: 44px;
    --hb-table-header-font-size: 5.35px;
    --hb-table-body-font-size: 6.25px;
}

.hb-page-body .hb-table-techdata,
.hb-page-body .hb-table-nomenclature {
    margin: 4px 0 7px !important;
    font-size: var(--hb-table-body-font-size, 6.25px) !important;
    line-height: 1.14 !important;
    font-weight: 300 !important;
}

.hb-page-body .hb-table-dynamic th,
.hb-page-body .hb-table-dynamic td,
.hb-page-body .hb-table-techdata th,
.hb-page-body .hb-table-techdata td,
.hb-page-body .hb-table-nomenclature th,
.hb-page-body .hb-table-nomenclature td {
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    padding: 2px 2.5px !important;
    vertical-align: top !important;
    text-align: left !important;
    overflow: hidden !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
}

.hb-page-body .hb-table-dynamic th p,
.hb-page-body .hb-table-dynamic td p,
.hb-page-body .hb-table-techdata th p,
.hb-page-body .hb-table-techdata td p,
.hb-page-body .hb-table-nomenclature th p,
.hb-page-body .hb-table-nomenclature td p {
    text-align: inherit !important;
}

.hb-page-body .hb-table-fit-tight {
    font-size: 5.8px !important;
    line-height: 1.1 !important;
}

.hb-page-body .hb-table-fit-tight th,
.hb-page-body .hb-table-fit-tight td {
    padding-left: 1.5px !important;
    padding-right: 1.5px !important;
}

/* ------------------------------------------------------------
 | Gedrehte Tabellenköpfe
 * ------------------------------------------------------------ */

.hb-page-body .hb-table-rotate-head tr:first-child {
    height: var(--hb-table-header-height, 44px) !important;
    min-height: var(--hb-table-header-height, 44px) !important;
}

.hb-page-body .hb-table-rotate-head tr:first-child > th,
.hb-page-body .hb-table-rotate-head tr:first-child > td {
    position: relative !important;
    height: var(--hb-table-header-height, 44px) !important;
    min-height: var(--hb-table-header-height, 44px) !important;
    padding: 0 1px !important;
    background: #d9d9d9 !important;
    border-top: 1px solid #000 !important;
    border-bottom: 1px solid #000 !important;
    text-align: center !important;
    vertical-align: bottom !important;
    overflow: hidden !important;
    font-size: var(--hb-table-header-font-size, 5.35px) !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
}

.hb-page-body .hb-table-rotate-head tr:first-child .HTabelleKopfzeilelinks,
.hb-page-body .hb-table-rotate-head tr:first-child .HTabelleKopfzeilezentriert,
.hb-page-body .hb-table-rotate-head tr:first-child [class*="Kopfzeile"] {
    position: absolute !important;
    left: 50% !important;
    bottom: 3px !important;
    top: auto !important;
    right: auto !important;

    display: block !important;
    width: max-content !important;
    min-width: 0 !important;
    max-width: calc(var(--hb-table-header-height, 44px) - 4px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;

    transform: rotate(-90deg) !important;
    transform-origin: left bottom !important;

    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;

    font-size: var(--hb-table-header-font-size, 5.35px) !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.hb-page-body .hb-table-rotate-head tr:first-child .HTabelleKopfzeilelinks *,
.hb-page-body .hb-table-rotate-head tr:first-child .HTabelleKopfzeilezentriert *,
.hb-page-body .hb-table-rotate-head tr:first-child [class*="Kopfzeile"] * {
    position: static !important;
    display: inline !important;
    transform: none !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: nowrap !important;
    max-width: none !important;
    max-height: none !important;
    overflow: visible !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
}

/* ------------------------------------------------------------
 | Horizontale Tabellenköpfe
 * ------------------------------------------------------------ */

.hb-page-body .hb-table-head-horizontal tr:first-child > th,
.hb-page-body .hb-table-head-horizontal tr:first-child > td {
    background: #d9d9d9 !important;
    border-top: 1px solid #000 !important;
    border-bottom: 1px solid #000 !important;
    text-align: center !important;
    vertical-align: middle !important;
    font-weight: 700 !important;
}

.hb-page-body .hb-table-head-horizontal tr:first-child > th p,
.hb-page-body .hb-table-head-horizontal tr:first-child > td p {
    text-align: center !important;
}

.hb-page-body .HTabelleInhaltlinks,
.hb-page-body .HTabelleInhaltzentriert {
    writing-mode: horizontal-tb !important;
    transform: none !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: 300 !important;
    margin: 0 !important;
    text-align: left !important;
}

.hb-page-body .HTabelleKopfzeilelinks,
.hb-page-body .HTabelleKopfzeilezentriert {
    font-weight: 700 !important;
    margin: 0 !important;
}

.hb-page-body .HTabelleKopfzeilezentriert {
    text-align: center !important;
}

.hb-page-body .HTabelleKopfzeilelinks {
    text-align: left !important;
}

/* ------------------------------------------------------------
 | Formeln in Tabellen
 * ------------------------------------------------------------ */

.hb-page-body table .hb-formula,
.hb-page-body table .hb-formula-img,
.hb-page-body table img[src*="/Formeln/"],
.hb-page-body table img[src*="/formeln/"] {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    height: 1.05em !important;
    max-height: 1.05em !important;
    margin: 0 1px !important;
    vertical-align: -0.15em !important;
}

/* ------------------------------------------------------------
 | Benutzer-Resize-Modus
 * ------------------------------------------------------------ */

.hb-table-resizable {
    position: relative !important;
}

.hb-table-resizable th,
.hb-table-resizable td {
    position: relative;
}

.hb-col-resizer {
    position: absolute;
    top: 0;
    right: -2px;
    width: 5px;
    height: 100%;
    z-index: 20;
    cursor: col-resize;
    user-select: none;
    touch-action: none;
    background: transparent;
}

.hb-col-resizer::after {
    content: "";
    position: absolute;
    top: 3px;
    bottom: 3px;
    left: 2px;
    width: 1px;
    background: rgba(226, 0, 26, 0);
    transition: background 0.12s ease;
}

.hb-table-resizable:hover .hb-col-resizer::after,
.hb-col-resizer:hover::after,
.hb-col-resizer.is-dragging::after {
    background: rgba(226, 0, 26, 0.85);
}

.hb-table-resize-active,
.hb-table-resize-active * {
    cursor: col-resize !important;
    user-select: none !important;
}