/* Taschendaten Core Bundle v1.6.0 */

@charset "UTF-8";/*!
 * Bootstrap  v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}b,strong{font-weight:bolder}.small,small{font-size:.875em}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,pre{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media (min-width:1200px){.display-1{font-size:5rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.img-fluid{max-width:100%;height:auto}.figure{display:inline-block}.container,.container-fluid{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}@media (min-width:1400px){.container{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.col-6{flex:0 0 auto;width:50%}.col-12{flex:0 0 auto;width:100%}.g-4{--bs-gutter-x:1.5rem}.g-4{--bs-gutter-y:1.5rem}.g-5{--bs-gutter-x:3rem}.g-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm-6{flex:0 0 auto;width:50%}}@media (min-width:768px){.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-6{flex:0 0 auto;width:50%}.g-md-5{--bs-gutter-x:3rem}.g-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.g-lg-5{--bs-gutter-x:3rem}.g-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl-8{flex:0 0 auto;width:66.66666667%}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-end{--bs-position:end}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-end{--bs-position:end}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-end{--bs-position:end}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-end{--bs-position:end}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-end{--bs-position:end}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-end{--bs-position:end}}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}:root{--bs-btn-close-filter: }.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color:var(--bs-body-color);--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translate(0,-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}:root{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }.spinner-grow{display:inline-block;flex-shrink:0;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}@keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.visually-hidden{width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption){position:absolute!important}.visually-hidden *{overflow:hidden!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.overflow-hidden{overflow:hidden!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.top-0{top:0!important}.start-50{left:50%!important}.end-0{right:0!important}.translate-middle{transform:translate(-50%,-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-2{border-width:2px!important}.border-opacity-10{--bs-border-opacity:0.1}.w-100{width:100%!important}.h-100{height:100%!important}.flex-column{flex-direction:column!important}.flex-shrink-0{flex-shrink:0!important}.flex-wrap{flex-wrap:wrap!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-auto{margin-left:auto!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pb-3{padding-bottom:1rem!important}.pb-5{padding-bottom:3rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-uppercase{text-transform:uppercase!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-opacity-50{--bs-bg-opacity:0.5}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.z-1{z-index:1!important}.z-2{z-index:2!important}@media (min-width:576px){.d-sm-flex{display:flex!important}}@media (min-width:768px){.d-md-inline-block{display:inline-block!important}.p-md-5{padding:3rem!important}.text-md-start{text-align:left!important}}@media (min-width:992px){.d-lg-block{display:block!important}.d-lg-none{display:none!important}.justify-content-lg-end{justify-content:flex-end!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.mt-lg-0{margin-top:0!important}.mb-lg-0{margin-bottom:0!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.text-lg-end{text-align:right!important}}@media (min-width:1200px){.d-xl-flex{display:flex!important}.d-xl-none{display:none!important}}@media (min-width:1200px){.fs-4{font-size:1.5rem!important}}
/* Taschendaten - Global Theme CSS (MOBILE-PERFECTED 2025)
-------------------------------------------------------------- */

/* ==========================================================================
   0) Globale Fixes / Layout Guardrails - MOBILE VIEWPORT PROTECTION
   ========================================================================== */
html {
    overflow-x: clip; /* FIX: "clip" statt "hidden" – verhindert horizontales Scrollen OHNE
                         einen neuen Scroll-Container zu erzeugen. "hidden" bricht position:sticky! */
    max-width: 100vw;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}

body {
    overflow-x: clip; /* FIX: "clip" statt "hidden" – gleicher Grund wie html oben.
                         overflow-x:hidden auf body erzeugt einen BFC und bricht position:sticky
                         für alle Nachkommen-Elemente (Sidebar, TOC etc.). */
    width: 100%;
    max-width: 100vw;
    margin: 0;
    padding: 0;
}

/* KRITISCH: Alle Elemente auf box-sizing border-box */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Smooth tap experience */
a, button, [role="button"], input, select, textarea, summary, label {
    -webkit-tap-highlight-color: rgba(37, 99, 235, 0.06);
}

/* ==========================================================================
   1) SCHRIFTARTEN LADEN - NUR ROBOTO
   ========================================================================== */

/* Roboto Regular */
@font-face { 
    font-family: 'Roboto'; 
    font-style: normal; 
    font-weight: 400; 
    font-display: swap; 
    src: url('../fonts/roboto-v49-latin-regular.woff2') format('woff2'); 
}

/* Roboto Bold */
@font-face { 
    font-family: 'Roboto'; 
    font-style: normal; 
    font-weight: 700; 
    font-display: swap; 
    src: url('../fonts/roboto-v49-latin-700.woff2') format('woff2'); 
}


/* ==========================================================================
   2) VARIABLEN & MAPPING
   ========================================================================== */

:root {
  /* Layout */
  --td-container-max: 1200px;

  /* SCHRIFTARTEN: Roboto mit System-Fallback */
  --td-font-body: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --td-font-heading: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --td-font-serif: Georgia, "Times New Roman", Times, serif;

  /* BOOTSTRAP OVERRIDES */
  --bs-primary: #2563eb;
  --bs-body-font-family: var(--td-font-body);
  --bs-body-color: #0f172a;

  /* NAVBAR CONFIG – Variablen werden autoritativ in navbar.css definiert.
   * FIX F-09: Duplikate hier entfernt – zwei :root-Deklarationen derselben Variable
   * sind eine Wartungsfalle. navbar.css wird nach theme.css geladen und war ohnehin
   * die effektive Quelle. Alle Navbar-Var-Änderungen nur noch in navbar.css vornehmen. */

  /* Links (global, nicht Navbar-spezifisch) */

  /* Page / Legal */
  --td-page-bg-top: #ffffff;
  --td-page-bg-bottom: #f8fafc;
  --td-page-card-bg: rgba(255,255,255,0.92);
  --td-page-card-border: rgba(226,232,240,0.9);
  --td-page-card-shadow: 0 18px 50px rgba(15, 23, 42, 0.06);
  --td-page-radius: 22px;
}

/* ==========================================================================
   3) Base & Typography
   ========================================================================== */

body {
  font-family: var(--td-font-body);
  line-height: 1.6;
  color: #0f172a;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--td-font-heading);
  font-weight: 700;
  line-height: 1.2;
  margin-top: 0;
  text-wrap: balance;
}

/* ==========================================================================
   4) Container System - MOBILE SAFE
   ========================================================================== */

.td-container {
  max-width: var(--td-container-max);
  margin-inline: auto;
  padding-inline: 1rem;
  width: 100%;
}

@media (max-width: 575.98px) {
  .td-container {
    padding-inline: 0.875rem;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .td-container {
    padding-inline: 1.5rem;
  }
}

/* ==========================================================================
   5) Links & Buttons
   ========================================================================== */

a { 
  color: inherit; 
  text-decoration: none; 
  transition: color 0.2s ease; 
}

a:hover { 
  color: var(--bs-primary); 
}

/* Buttons */
.btn {
  border-radius: 999px;
  padding-inline: 1.25rem;
  padding-block: 0.6rem;
  font-family: var(--td-font-body);
  font-weight: 500;
  touch-action: manipulation;
}

.td-section { 
  padding: 4rem 0; 
}

@media (max-width: 575.98px) {
  .td-section { padding: 2.5rem 0; }
}

@media (min-width: 576px) and (max-width: 991.98px) {
  .td-section { padding: 3.5rem 0; }
}

.td-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ==========================================================================
   6) Accessibility
   ========================================================================== */

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px; 
  margin: -1px; 
  overflow: hidden; 
  padding: 0; 
  position: absolute; 
  width: 1px; 
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* ── SKIP-LINK: WCAG 2.4.1 ──────────────────────────────────────────
   FIX: .skip-link war per .screen-reader-text dauerhaft unsichtbar,
   auch beim Fokus durch Tastatur. Dieser Block macht ihn sichtbar
   sobald er Fokus erhält – essentiell für Tastatur-Nutzer.
   ──────────────────────────────────────────────────────────────────── */
.skip-link {
  position: absolute;
  top: -100px; /* off-screen default */
  left: 0;
  z-index: 99999;
  padding: 0.75rem 1.5rem;
  background: #fff;
  color: #0f172a !important;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none !important;
  border: 2px solid #2563eb;
  border-radius: 0 0 8px 0;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
  white-space: nowrap;
  /* nicht per clip/clip-path verstecken wie screen-reader-text */
  clip: unset;
  clip-path: none;
  overflow: visible;
  width: auto;
  height: auto;
  margin: 0;
  transition: top 0.15s ease;
}

.skip-link:focus,
.skip-link:focus-visible {
  top: 0; /* FIX: sichtbar wenn fokussiert */
  outline: 3px solid #2563eb;
  outline-offset: 2px;
}

/* ── GLOBALER FOCUS-RING: WCAG 2.4.7 ───────────────────────────────
   FIX: Bootstrap 5 setzt outline:0 auf :focus.
   :focus-visible stellt nur bei Tastatur-Navigation den Ring dar
   (bei Maus-Klick bleibt kein Ring sichtbar – UX-konform).
   ──────────────────────────────────────────────────────────────────── */
:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 3px;
  border-radius: 3px;
}

/* Bootstrap-Buttons und Form-Controls: eigenen Focus-Ring überschreiben */
.btn:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
.nav-link:focus-visible,
a:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.15);
}

:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

/* ==========================================================================
   7) Page Layout & Content
   ========================================================================== */

.site-content {
  min-height: 60vh;
  width: 100%;
  max-width: 100vw;
  overflow-x: clip; /* FIX: "clip" statt "hidden" – kein neuer Scroll-Container,
                       position:sticky in Kindelementen (Sidebar, TOC) bleibt erhalten. */
}

/* WordPress Alignment */
.alignleft {
  float: left;
  margin-right: 1.5rem;
  margin-bottom: 1rem;
}

.alignright {
  float: right;
  margin-left: 1.5rem;
  margin-bottom: 1rem;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Mobile: Kein Float, Full-Width */
@media (max-width: 575.98px) {
  .alignleft, .alignright {
    float: none;
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
  }
}

/* ==========================================================================
   8) Responsive Images
   ========================================================================== */

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ==========================================================================
   9) MOBILE VIEWPORT PROTECTION
   ========================================================================== */

@media (max-width: 991.98px) {
  /* Bootstrap Container auf Mobile schuetzen */
  .container,
  .container-fluid,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-xxl {
    max-width: 100% !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Rows schuetzen */
  .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
  }

  /* Columns */
  [class*="col-"] {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }

  /* td-container kein doppeltes Padding */
  .container-fluid.td-container,
  .container.td-container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

@media (max-width: 575.98px) {
  .container,
  .container-fluid {
    padding-left: 0.875rem;
    padding-right: 0.875rem;
  }
}

/* ==========================================================================
   10) WordPress Core Styles
   ========================================================================== */

.wp-block-image img {
  max-width: 100%;
  height: auto;
}

.wp-caption {
  max-width: 100%;
}

.wp-caption-text {
  font-size: 0.875rem;
  color: #64748b;
  margin-top: 0.5rem;
}

/* ==========================================================================
   11) Print Styles
   ========================================================================== */

@media print {
  .td-navbar,
  .site-footer,
  .td-top-bar {
    display: none;
  }
  
  body {
    font-size: 12pt;
  }
}
/* ==========================================================================
   12) 404 Error Page
   ========================================================================== */

.td-404-container {
  min-height: 75vh;
}

.td-404-title {
  font-size: clamp(8rem, 20vw, 15rem);
  font-weight: 900;
  line-height: 1;
  color: var(--bs-gray-200, #e9ecef);
  margin-bottom: -0.2em;
  user-select: none;
}

.td-404-lead {
  max-width: 400px;
  font-size: 1.1rem;
  line-height: 1.6;
}

.td-ls-1 {
  letter-spacing: 1px;
}
/* ==========================================================================
   13) Animate.css ERSATZ – Minimale Keyframes (fadeIn, fadeInUp)
   
   FIX: animate.min.css (~71 KB) wurde auf mehreren Seiten geladen.
   Nur 2 Keyframes werden tatsächlich genutzt:
     – animate__fadeIn   → in single.php für article-Element
     – animate__fadeInUp → in theme.js für Showroom Load-More
   Diese werden hier direkt definiert; animate.min.css wird nicht mehr eingebunden.
   
   Kompatibilität: Bestehende Klassen (animate__animated, animate__fadeIn,
   animate__fadeInUp) bleiben unverändert – kein Template-Umbau nötig.
   ========================================================================== */

/* Basis-Klasse (war in animate.css der "Aktivator") */
.animate__animated {
  animation-duration: 0.6s;
  animation-fill-mode: both;
}

/* Reduzierte Bewegung: Animationen sofort abschließen */
@media (prefers-reduced-motion: reduce) {
  .animate__animated {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@keyframes td-fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.animate__fadeIn {
  animation-name: td-fadeIn;
}

@keyframes td-fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInUp {
  animation-name: td-fadeInUp;
}

/* ==========================================================================
   14) Lazy Sections – IntersectionObserver (v1.6.0)
   Elemente mit [data-td-lazy] starten unsichtbar und werden beim Scrollen
   sichtbar. Transition statt Animation = kein Reflow bei Seitenstart.
   ========================================================================== */
[data-td-lazy] {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .6s ease, transform .6s ease;
}
[data-td-lazy].td-lazy--visible {
  opacity: 1;
  transform: translateY(0);
}
/* Kaskade: Kinder zeitversetzt */
[data-td-lazy-child] {
  opacity: 0;
  transform: translateY(15px);
  transition: opacity .4s ease, transform .4s ease;
}
[data-td-lazy-child].td-lazy-child--visible {
  opacity: 1;
  transform: translateY(0);
}
/* prefers-reduced-motion: keine Transition */
@media (prefers-reduced-motion: reduce) {
  [data-td-lazy],
  [data-td-lazy-child] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
/**
 * Taschendaten Starter – NAVBAR CSS (FINALE MOBILE-SAFE VERSION)
 * 
 * GARANTIERT KEIN MOBILE VIEWPORT PROBLEM:
 * - Keine Bootstrap Container-Konflikte
 * - Kein doppeltes Padding
 * - Perfekte 100vw Mobile-Anpassung
 * - Logo ragt nur auf Desktop nach unten
 */

:root {
  --td-nav-h-desktop: 60px;
  --td-nav-h-mobile: 50px;
  --td-top-bar-h: 45px;
  --td-nav-sticky-top: var(--td-top-bar-h);
  --td-nav-logo-width: 180px;
  --td-nav-logo-width-m: 140px;
  --td-nav-logo-offset: 20px;
  --td-top-bar-bg: #f8fafc;
  --td-top-bar-color: #475569;
  --td-nav-bg: rgba(255, 255, 255, 0.78);
  --td-nav-bg-scrolled: rgba(255, 255, 255, 0.95);
  --td-nav-bg-mobile: #ffffff;
  --td-nav-collapse-bg: rgba(255, 255, 255, 0.98);
  --td-nav-shadow-scrolled: 0 10px 30px rgba(0, 0, 0, 0.08);
  --td-nav-blur: 0px;
  --td-nav-link-color: #0f172a;
  --td-nav-link-hover: #2563eb;
  --td-nav-link-active: #2563eb;
  --td-nav-link-size: 1rem;
  --td-nav-link-font-weight: 600;
}

/* ==========================================================================
   KRITISCH: GLOBALER VIEWPORT SCHUTZ
   FIX: overflow-x: clip statt hidden – hidden würde position:sticky auf iOS brechen.
   theme.css setzt bereits clip auf html/body; diese Regeln sind ergänzend für
   Navbar-spezifische Elemente auf Desktop. Auf Mobile kein Sticky → clip genügt.
   ========================================================================== */
.site-header,
.td-top-bar,
.td-navbar {
  width: 100%;
  max-width: 100vw;
  overflow-x: clip; /* FIX: war "hidden" – bricht position:sticky! */
  box-sizing: border-box;
}

.site-header *,
.td-top-bar *,
.td-navbar * {
  box-sizing: border-box;
}

/* ==========================================================================
   TOPBAR
   ========================================================================== */
.td-top-bar {
  height: var(--td-top-bar-h);
  background: var(--td-top-bar-bg);
  color: var(--td-top-bar-color);
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  font-size: 0.82rem;
  position: relative;
  z-index: 1060;
}

/* Topbar: Container OHNE Bootstrap-Konflikt */
.td-top-bar .td-container,
.td-top-bar > div {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  max-width: 1200px;
  margin: 0 auto;
}

@media (max-width: 991.98px) {
  :root {
    --td-top-bar-h: 0px;
    --td-nav-sticky-top: 0px;
  }
  .td-top-bar { 
    display: none !important;
  }
}

/* ==========================================================================
   NAVBAR SPACER
   ========================================================================== */
.site-header {
  position: relative;
  z-index: 1050;
}

.td-navbar-spacer {
  height: 0;
  display: none;
}

body.td-nav-sticky-on .td-navbar-spacer {
  display: block;
  /* FIX N-02: Spacer muss Desktop-Navbar + Topbar kompensieren.
   * Ohne Topbar-Offset sprang der Seiteninhalt beim Sticky-Schalten hoch.
   * --td-top-bar-h wird initial via PHP auf 45px gesetzt und per JS (syncTopbarHeightVar)
   * exakt auf die tatsächliche Topbar-Höhe korrigiert. */
  height: calc(var(--td-nav-h-desktop) + var(--td-top-bar-h));
}

@media (max-width: 991.98px) {
  body.td-nav-sticky-on .td-navbar-spacer {
    /* Mobile: Topbar ist ausgeblendet (--td-top-bar-h = 0px), daher kein calc() nötig. */
    height: var(--td-nav-h-mobile);
  }
}

/* ==========================================================================
   NAVBAR BASIS
   ========================================================================== */
.td-navbar {
  min-height: var(--td-nav-h-desktop);
  background-color: var(--td-nav-bg) !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
  transition:
    transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),
    background-color 0.3s ease,
    box-shadow 0.3s ease,
    top 0.25s ease;
  /* FIX P-05: will-change:auto entfernt – entspricht Browser-Default, hat keinen Effekt,
     erzeugt aber unnötig einen Stacking Context auf Low-End-Geräten. */
  position: relative;
}

body.td-nav-sticky-on .td-navbar {
  position: fixed;
  top: var(--td-nav-sticky-top);
  left: 0;
  right: 0;
  z-index: 1055;
  will-change: transform;
}

body.td-nav-sticky-on .td-navbar.td-navbar--hidden {
  transform: translateY(-110%);
}

.td-navbar.td-navbar--scrolled {
  background-color: var(--td-nav-bg-scrolled) !important;
  box-shadow: var(--td-nav-shadow-scrolled);
  backdrop-filter: blur(var(--td-nav-blur));
  -webkit-backdrop-filter: blur(var(--td-nav-blur));
}

/* ==========================================================================
   NAVBAR CONTAINER - KRITISCH: EIGENE LOGIK
   ========================================================================== */
.td-navbar__inner {
  width: 100%;
  max-width: 1200px;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  min-height: inherit;
}

/* ==========================================================================
   LOGO & BRAND
   ========================================================================== */
.td-navbar__brand {
  z-index: 1100;
  padding: 0;
  margin: 0;
  flex-shrink: 0;
}

.td-navbar__logo,
.custom-logo-link img {
  display: block;
  height: auto !important;
  max-height: none !important;
  transition: transform 0.3s ease;
}

/* DESKTOP ONLY: Logo Protrusion + Overflow */
@media (min-width: 992px) {
  .site-header,
  .td-navbar,
  .td-navbar__inner {
    overflow: visible !important;
  }

  .td-navbar__logo,
  .custom-logo-link img {
    width: var(--td-nav-logo-width) !important;
  }

  .td-navbar__brand {
    position: absolute;
    top: 50%;
    transform: translateY(-50%) translateY(var(--td-nav-logo-offset));
    left: 12px;
  }

  .td-navbar__inner {
    position: relative;
    padding-left: calc(var(--td-nav-logo-width) + 30px) !important;
  }
}

/* MOBILE: Logo normal, kein Overflow */
@media (max-width: 991.98px) {
  .td-navbar__logo,
  .custom-logo-link img {
    width: var(--td-nav-logo-width-m) !important;
    max-width: 140px;
  }

  .td-navbar__brand {
    position: static !important;
    transform: none !important;
  }
}

/* ==========================================================================
   TOGGLER (WCAG 2.5.5: min 44x44px Touch Target)
   ========================================================================== */
.td-navbar__toggler {
  border: none;
  background: transparent;
  padding: 0.5rem;
  margin: 0;
  cursor: pointer;
  flex-shrink: 0;
  min-width: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  transition: background-color 0.2s ease;
  touch-action: manipulation;
}

.td-navbar__toggler:hover,
.td-navbar__toggler:focus-visible {
  background: rgba(0, 0, 0, 0.04);
}

.td-navbar__toggler:active {
  background: rgba(0, 0, 0, 0.08);
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(15, 23, 42, 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

/* ==========================================================================
   MENU LINKS
   ========================================================================== */
.td-navbar__menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.td-navbar__menu .nav-link {
  color: var(--td-nav-link-color) !important;
  font-weight: var(--td-nav-link-font-weight);
  font-size: var(--td-nav-link-size);
  padding: 10px 15px !important;
  transition: color 0.2s ease;
  text-decoration: none;
  display: block;
}

.td-navbar__menu .nav-link:hover,
.td-navbar__menu .current-menu-item > .nav-link {
  color: var(--td-nav-link-hover) !important;
}

/* ==========================================================================
   MOBILE LAYOUT - PERFECTED 2025
   ========================================================================== */
@media (max-width: 991.98px) {
  .td-navbar {
    min-height: var(--td-nav-h-mobile);
    background-color: var(--td-nav-bg-mobile) !important;
    padding: 0;
  }

  .td-navbar__inner {
    min-height: var(--td-nav-h-mobile);
    padding-left: max(12px, env(safe-area-inset-left, 12px)) !important;
    padding-right: max(12px, env(safe-area-inset-right, 12px)) !important;
  }

  /* COLLAPSE - Smooth Animation + Safe-Area */
  .td-navbar__collapse {
    position: relative;
    width: 100%;
    padding: 20px max(12px, env(safe-area-inset-left, 12px));
    margin-top: 10px;
    background: var(--td-nav-collapse-bg);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    box-sizing: border-box;
    /* Smooth Collapse Animation */
    transition: opacity 0.2s ease;
  }

  /* MENU Zentrierung */
  .td-navbar__menu {
    flex-direction: column;
    width: 100%;
    padding: 0;
    margin: 0;
  }

  .td-navbar__menu .nav-item {
    width: 100%;
    text-align: center;
    margin: 0;
  }

  .td-navbar__menu .nav-link {
    text-align: center;
    padding: 12px 20px !important;
    width: 100%;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    transition: background-color 0.15s ease;
  }

  .td-navbar__menu .nav-link:active {
    background: rgba(0, 0, 0, 0.04);
  }

  /* Mobile Social Section */
  .td-navbar__collapse .border-top {
    border-top: 1px solid rgba(0,0,0,0.1) !important;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
  }

  /* Mobile Social Icons: Touch Targets */
  .td-navbar__collapse .border-top a {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Progress Bar ausblenden */
  .td-scroll-progress {
    display: none !important;
  }

  /* Bootstrap Container in Navbar */
  .td-navbar .container,
  .td-navbar .container-fluid {
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Bootstrap Navbar-Collapse Override */
  .td-navbar .navbar-collapse {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* ==========================================================================
   PROGRESS BAR (Desktop only)
   ========================================================================== */
.td-scroll-progress {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: rgba(0,0,0,0.05);
  /* FIX N-03: z-index fehlte – Progress Bar wurde von Nachbar-Elementen überdeckt.
   * Wert unterhalb des Navbar z-index (1055), aber über normalem Content. */
  z-index: 1;
}

.td-progress-bar {
  height: 100%;
  background: var(--td-nav-link-hover);
  width: 0%;
  transition: width 0.1s ease;
}
/**
 * Modern Footer Styles (Mobile-Optimiert)
 * Datei: assets/css/footer.css
 *
 * Features:
 * - Mobile-First Approach
 * - Separate Mobile/Desktop Alignment
 * - Keine Spalten nebeneinander auf Mobile
 * - Smooth Transitions
 * - CSS Variable Support
 */

/* ========================================
   BASE FOOTER
   ======================================== */

.site-footer {
    background-color: var(--td-footer-bg, #1e293b);
    color: var(--td-footer-text, #94a3b8);
    font-size: 0.95rem;
    padding-top: 5rem;
    /* FIX: safe-area-inset-bottom für iPhones mit Dynamic Island / Home-Indikator.
       Verhindert dass Footer-Content hinter der System-UI abgeschnitten wird. */
    padding-bottom: max(2rem, calc(2rem + env(safe-area-inset-bottom, 0px)));
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* ========================================
   RESPONSIVE ALIGNMENT
   ======================================== */

/* Mobile First: Alle Spalten volle Breite und zentriert (default) */
@media (max-width: 991px) {
    .site-footer .row > [class*="col-"] {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
        text-align: var(--td-footer-mobile-align, center);
        margin-bottom: var(--td-footer-mobile-spacing, 3rem);
    }
    
    .site-footer .row > [class*="col-"]:last-child {
        margin-bottom: 0;
    }

    /* Navigation Menü Mobile Zentrierung */
    .site-footer .td-footer-menu {
        display: inline-block;
        text-align: var(--td-footer-mobile-align, center);
    }
    
    /* Social Icons Mobile */
    .td-social-icons-wrapper {
        justify-content: var(--td-footer-mobile-align, center) !important;
    }
}

/* Desktop: Verwendung der Desktop-Ausrichtung */
@media (min-width: 992px) {
    .site-footer .td-footer-nav-wrapper,
    .site-footer .td-footer-legal-wrapper,
    .site-footer .td-footer-contact-wrapper {
        text-align: var(--td-footer-desktop-align, left);
    }

    /* Navigation Menü Desktop Ausrichtung */
    .site-footer .td-footer-nav-wrapper .td-footer-menu,
    .site-footer .td-footer-legal-wrapper .td-footer-menu,
    .site-footer .td-footer-contact-wrapper .td-footer-menu {
        text-align: var(--td-footer-desktop-align, left);
    }
}

/* ========================================
   LINKS
   ======================================== */

.site-footer a {
    color: var(--td-footer-text, #94a3b8);
    text-decoration: none;
    transition: color 0.3s ease, transform 0.2s ease;
}

.site-footer a:hover,
.site-footer a:focus {
    color: var(--td-footer-link, #e2e8f0);
    outline: none;
}

.site-footer a:focus-visible {
    outline: 2px solid var(--td-footer-link, #e2e8f0);
    outline-offset: 2px;
    border-radius: 2px;
}

/* ========================================
   BRANDING TOP AREA (Zentral)
   ======================================== */

.td-footer__branding-top {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    transition: opacity 0.3s ease;
}

.td-footer__logo-img {
    display: block;
    width: var(--td-footer-logo-w, 150px);
    height: auto;
    margin-bottom: 1.5rem;
    transition: width 0.3s ease, opacity 0.3s ease;
}

.td-footer__logo-img.d-none {
    opacity: 0;
    pointer-events: none;
}

.td-footer__brand-title {
    color: var(--td-footer-title, #ffffff);
    font-weight: 700;
    font-size: 2rem;
    margin-bottom: 1rem;
    transition: color 0.3s ease, opacity 0.3s ease;
}

.td-footer__brand-title.d-none {
    opacity: 0;
    height: 0;
    margin: 0;
    overflow: hidden;
}

.td-footer__brand-description {
    max-width: 600px;
    line-height: 1.6;
    font-size: 1.05rem;
    transition: opacity 0.3s ease;
}

.td-footer__brand-description.d-none {
    opacity: 0;
    height: 0;
    margin: 0;
    overflow: hidden;
}

/* ========================================
   SOCIAL MEDIA ICONS
   ======================================== */

.td-social-icons-wrapper {
    min-height: 40px;
    transition: min-height 0.3s ease, justify-content 0.3s ease;
}

.td-social-icon-large {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.td-social-icon-large.d-none {
    opacity: 0;
    transform: scale(0.8);
    pointer-events: none;
}

.td-social-icon-large i {
    font-size: var(--td-footer-social-size, 24px);
    transition: font-size 0.3s ease, transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275), color 0.2s ease;
}

.td-social-icon-large:hover i,
.td-social-icon-large:focus i {
    transform: scale(1.2);
    color: var(--td-footer-link, #e2e8f0);
}

.td-social-icon-large:active i {
    transform: scale(1.1);
}

/* ========================================
   DIVIDER
   ======================================== */

.td-footer__divider {
    border-color: rgba(255, 255, 255, 0.1);
    margin: 4rem 0;
    opacity: 1;
    transition: border-color 0.3s ease, opacity 0.3s ease;
}

@media (max-width: 767px) {
    .td-footer__divider {
        margin: 3rem 0;
    }
}

/* ========================================
   COLUMN TITLES
   ======================================== */

.td-footer__title {
    color: var(--td-footer-title, #ffffff);
    font-weight: 600;
    font-size: 1.1rem;
    margin-bottom: 1.25rem;
    transition: color 0.3s ease;
}

/* ========================================
   FOOTER MENU
   ======================================== */

.td-footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.td-footer-menu li {
    margin-bottom: 0.75rem;
    transition: transform 0.2s ease;
}

/* Desktop: Hover-Effekt nur bei linksbündig */
@media (min-width: 992px) {
    .td-footer-menu li:hover {
        transform: translateX(4px);
    }
}

/* Mobile: Kein Transform bei zentriert */
@media (max-width: 991px) {
    .td-footer-menu li {
        list-style: none;
    }
    
    .td-footer-menu li:hover {
        transform: none;
    }
}

.td-footer-menu a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

/* ========================================
   CONTACT SECTION
   ======================================== */

.td-footer-contact-wrapper .td-footer-menu i {
    flex-shrink: 0;
    width: 1.25rem;
    text-align: center;
}

.td-footer-email-link,
.td-footer-phone-text {
    transition: color 0.3s ease;
}

.td-footer-phone-item {
    transition: opacity 0.3s ease, max-height 0.3s ease;
}

.td-footer-phone-item.d-none {
    opacity: 0;
    max-height: 0;
    margin: 0;
    overflow: hidden;
}

/* ── WhatsApp-Button im Footer-Kontaktbereich ────────────────────────── */
.td-footer-whatsapp-item {
    list-style: none;
}

.td-footer-whatsapp-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 1rem;
    background: #25D366;
    color: #fff !important;
    font-size: 0.85rem;
    font-weight: 600;
    border-radius: 50px;
    text-decoration: none !important;
    transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
    white-space: nowrap;
}

.td-footer-whatsapp-btn i {
    font-size: 1rem;
}

.td-footer-whatsapp-btn:hover,
.td-footer-whatsapp-btn:focus-visible {
    background: #1ebe5d;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(37, 211, 102, 0.35);
    color: #fff !important;
}

/* ========================================
   BOTTOM BAR
   ======================================== */

.td-footer__bottom {
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    transition: border-color 0.3s ease;
}

/* Mobile: Alignment wie Footer */
@media (max-width: 991px) {
    .td-footer__bottom {
        text-align: var(--td-footer-mobile-align, center);
        align-items: var(--td-footer-mobile-align, center);
    }
}

/* Desktop: Horizontal Layout */
@media (min-width: 992px) {
    .td-footer__bottom {
        flex-direction: row;
        justify-content: space-between;
        text-align: var(--td-footer-desktop-align, left);
    }
}

.td-footer__copyright-text,
.td-footer__credits {
    transition: opacity 0.3s ease;
}

/* ========================================
   MOBILE SPACING
   ======================================== */

@media (max-width: 767px) {
    .site-footer {
        padding-top: 3rem;
        font-size: 0.9rem;
    }

    .td-footer__brand-title {
        font-size: 1.5rem;
    }

    .td-footer__brand-description {
        font-size: 0.95rem;
    }

    .td-footer__bottom {
        margin-top: 2rem;
        padding-top: 1rem;
    }
    
    /* Reduzierte Abstände auf sehr kleinen Screens */
    .site-footer .row > [class*="col-"] {
        margin-bottom: calc(var(--td-footer-mobile-spacing, 3rem) * 0.8);
    }
}

/* ========================================
   ACCESSIBILITY
   ======================================== */

/* Skip to footer link (for screen readers) */
.skip-to-footer {
    position: absolute;
    top: -40px;
    left: 0;
    background: var(--td-footer-bg, #1e293b);
    color: var(--td-footer-title, #ffffff);
    padding: 8px 16px;
    text-decoration: none;
    z-index: 100;
}

.skip-to-footer:focus {
    top: 0;
}

/* Focus visible for keyboard navigation */
.site-footer *:focus-visible {
    outline: 2px solid var(--td-footer-link, #e2e8f0);
    outline-offset: 2px;
}

/* ========================================
   CUSTOMIZER PREVIEW SPECIFIC
   ======================================== */

.customize-preview .site-footer {
    transition: all 0.3s ease;
}

.customize-preview .td-footer__logo-img,
.customize-preview .td-footer__brand-title,
.customize-preview .td-footer__brand-description,
.customize-preview .td-social-icon-large {
    transition-duration: 0.2s;
}

/* Live Alignment Transitions */
.customize-preview .site-footer .row > [class*="col-"],
.customize-preview .site-footer .td-footer-menu,
.customize-preview .td-social-icons-wrapper,
.customize-preview .td-footer__bottom {
    transition: text-align 0.3s ease, justify-content 0.3s ease, align-items 0.3s ease;
}

/* ========================================
   PRINT STYLES
   ======================================== */

@media print {
    .site-footer {
        background: white !important;
        color: black !important;
        padding: 1rem 0;
        page-break-inside: avoid;
    }

    .site-footer a {
        color: black !important;
        text-decoration: underline;
    }

    .td-social-icons-wrapper,
    .td-footer__logo-img {
        display: none !important;
    }

    .td-footer__divider {
        border-color: black !important;
    }
    
    /* Print immer linksbündig */
    .site-footer * {
        text-align: left !important;
    }
}

/* ========================================
   RTL SUPPORT (Optional)
   ======================================== */

[dir="rtl"] .site-footer .td-footer-menu li:hover {
    transform: translateX(-4px);
}

[dir="rtl"] .td-footer-contact-wrapper .td-footer-menu i {
    margin-left: 0.5rem;
    margin-right: 0;
}
/* ================================================================
   Taschendaten - Responsive Enhancement Layer (2025 Standards)
   
   Dieses Stylesheet perfektioniert das Mobile- und Tablet-Erlebnis.
   Es wird NACH allen Modul-CSS-Dateien geladen und enthaelt
   gezielte Overrides + fehlende responsive Regeln.
   
   Breakpoints (Bootstrap 5 konsistent):
   - xs:  < 576px   (kleine Smartphones)
   - sm:  576-767px  (grosse Smartphones / Landscape)
   - md:  768-991px  (Tablets Portrait + kleine Tablets Landscape)
   - lg:  992-1199px (Tablets Landscape / kleine Desktops)
   - xl:  >=1200px    (Desktop)
   
   Standards:
   - WCAG 2.5.5 Touch-Targets (44x44px minimum)
   - Dynamic Viewport Units (dvh, svh)
   - Safe Area Insets (Notch/Dynamic Island)
   - prefers-reduced-motion
   - Fluid Typography (clamp)
   ================================================================ */

/* ==========================================================================
   0) GLOBALE MOBILE/TABLET FOUNDATION
   ========================================================================== */

/* FIX: -webkit-text-size-adjust bereits in theme.css gesetzt – hier entfernt um
   Doppel-Deklaration zu vermeiden. responsive.css wird nach theme.css geladen. */

/* Smoother tap experience */
a, button, [role="button"], input, select, textarea, summary {
    -webkit-tap-highlight-color: rgba(37, 99, 235, 0.08);
}

/* Better scroll behavior */
/* FIX F-17: scroll-padding-top nutzt CSS-Vars die von theme.js (syncTopbarHeightVar)
   gesetzt werden – aber JS läuft erst nach DOMContentLoaded. Bei Anchor-Klicks VOR
   dem ersten JS-Init könnte --td-top-bar-h noch den CSS-Default haben.
   Lösung: Explizite, sichere Pixel-Fallback-Werte (kein CSS-Var-Fallback-Ausfall). */
html {
    scroll-padding-top: 125px; /* Desktop-Fallback: 60px Navbar + 45px Topbar + 20px Luft */
    scroll-behavior: smooth;
}

@media (max-width: 991.98px) {
    html {
        scroll-padding-top: 66px; /* Mobile-Fallback: 50px Navbar + 16px Luft */
    }
}

/* Touch-friendly form inputs: 16px+ prevents iOS auto-zoom */
@media (max-width: 991.98px) {
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="search"],
    input[type="url"],
    input[type="tel"],
    input[type="number"],
    input[type="date"],
    select,
    textarea {
        font-size: max(1rem, 16px);
    }
}

/* Touch-Action nur auf Touch-Geraeten */
@media (hover: none) and (pointer: coarse) {
    .td-hero, .td-cta-section, .td-services, .td-hero-carousel,
    .td-home-blog-hero, .site-footer, .td-ionos-hero {
        touch-action: pan-y pinch-zoom;
    }
}

/* ==========================================================================
   1) PREFERS-REDUCED-MOTION (Global)
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .td-cta-blob,
    .td-cta-float--left, .td-cta-float--right,
    .td-hero__scroll-wheel,
    .td-cta-title--gradient,
    .td-home-blog-hero__blob,
    .typed-cursor {
        animation: none !important;
    }

    .td-post-card {
        animation: none !important;
        opacity: 1 !important;
    }

    /* FIX: Lese-Fortschrittsbalken und Scroll-Progress-Bar ausblenden.
       Bewegende Progress-Bars können für Nutzer mit Vestibular-Disorders problematisch sein.
       aria-hidden="true" allein reicht nicht – das visuelle Element muss weg. */
    .td-reading-progress,
    .td-scroll-progress {
        display: none !important;
    }
}

/* ==========================================================================
   2) SAFE AREA INSETS (Notch-Geraete / Dynamic Island)
   ========================================================================== */

/* Bottom Bar Schutz fuer interaktive Elemente */
.site-footer {
    padding-bottom: calc(2rem + env(safe-area-inset-bottom, 0px));
}

/* Navbar horizontal safe areas */
@media (max-width: 991.98px) {
    .td-navbar__inner {
        padding-left: max(12px, env(safe-area-inset-left, 12px));
        padding-right: max(12px, env(safe-area-inset-right, 12px));
    }

    .td-navbar__collapse {
        padding-left: max(12px, env(safe-area-inset-left, 12px));
        padding-right: max(12px, env(safe-area-inset-right, 12px));
    }
}

/* Full-width Sections horizontal safe areas */
@media (max-width: 991.98px) {
    .td-hero__container,
    .td-cta-section .container,
    .td-services .container,
    .td-hero-carousel .container {
        padding-left: max(1rem, env(safe-area-inset-left, 1rem));
        padding-right: max(1rem, env(safe-area-inset-right, 1rem));
    }
}


/* ==========================================================================
   3) TOUCH-TARGETS (WCAG 2.5.5 - min 44x44px)
   ========================================================================== */
@media (max-width: 991.98px) {
    /* Alle klickbaren Elemente mindestens 44px */
    .td-navbar__menu .nav-link {
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .td-footer-menu a {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }

    .td-share__btn {
        min-height: 44px;
        min-width: 44px;
    }

    .td-pagination .page-numbers {
        min-width: 44px;
        min-height: 44px;
    }

    .td-toc__link {
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    /* Navbar Toggler */
    .td-navbar__toggler {
        min-width: 44px;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Social Icons */
    .td-social-icon-large {
        min-width: 44px;
        min-height: 44px;
    }
}


/* ==========================================================================
   4) SMARTPHONE (< 576px) - Kleine Screens
   ========================================================================== */
@media (max-width: 575.98px) {

    /* --- Container --- */
    .td-container {
        padding-inline: 0.875rem;
    }

    /* --- Typografie fluid --- */
    h1, .display-4, .td-hero__title { font-size: clamp(1.75rem, 7vw, 2.5rem); }
    h2, .td-h2 { font-size: clamp(1.4rem, 5vw, 2rem); }
    h3 { font-size: clamp(1.15rem, 4vw, 1.5rem); }

    /* --- Sections kompakter --- */
    .td-section { padding: 2.5rem 0; }
    .td-services { padding: 3rem 0; }
    .td-blog-home { padding: 3rem 0; }
    .td-home-blog-hero { padding: clamp(2.5rem, 6vw, 5rem) 0; }

    /* --- Blog Cards --- */
    .td-post-card__body {
        padding: 1.25rem;
    }
    .td-post-card__title {
        font-size: 1.15rem;
    }
    .td-post-card__excerpt {
        font-size: 0.9rem;
        margin-bottom: 1.25rem;
    }
    .td-post-grid {
        gap: 1.25rem;
    }

    /* --- Single Post --- */
    .td-single__header {
        padding: 1.25rem 1rem 0.5rem;
    }
    .td-single__content {
        padding: 0.25rem 1rem 1.25rem;
    }
    .td-single__content.content {
        font-size: 1rem;
        line-height: 1.75;
    }
    .td-single__tags { padding: 0 1rem 1rem; }
    .td-single__footer { padding: 0 1rem 1.5rem; }
    .td-cta { padding: 0 1rem; }

    /* --- CTA Section --- */
    .td-cta-section { padding: 3.5rem 0; }
    .td-cta-title { font-size: clamp(1.75rem, 6vw, 2.5rem); }
    .td-cta-lead { font-size: 1.05rem; }
    .td-cta__actions {
        flex-direction: column;
        width: 100%;
    }
    .td-cta__actions .btn {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    /* --- CTA Float Cards ausblenden (kein Platz) --- */
    .td-cta-float { display: none !important; }

    /* --- Hero: Actions --- */
    .td-hero__actions {
        flex-direction: column;
        width: 100%;
    }

    /* --- Services Cards --- */
    .td-service-card {
        padding: 1.75rem;
    }
    .td-service-card__title {
        font-size: 1.15rem;
        min-height: auto;
    }
    .td-services__head {
        margin-bottom: 2.5rem;
    }
    .td-services .td-h2 {
        font-size: clamp(1.5rem, 5vw, 2rem);
    }

    /* --- Werbung --- */
    .td-ionos-card { padding: 1.25rem; }
    .td-ionos-title { font-size: 1.25rem; }

    /* --- Hero Carousel --- */
    .td-hero-carousel {
        --td-hc-section-pad-y: 3rem;
        --td-hc-section-pad-bottom: 5rem;
    }
    .td-hero-carousel__title { font-size: 1.75rem; }
    .td-hero-carousel .swiper-slide { width: 260px; }
    .td-hero-carousel .td-hc-card__img-col { height: 180px; }
    .td-hero-carousel .td-hc-card__body-col { padding: 1.15rem; }
    .td-hero-carousel .td-hc-card__title { font-size: 1.05rem; }
    .td-hero-carousel .td-hc-card__text { font-size: 0.88rem; }

    /* --- Blog Hero --- */
    .td-home-blog-hero__title {
        font-size: clamp(1.6rem, 6vw, 2.5rem);
    }
    .td-home-blog-hero__wrap {
        padding: 1.25rem;
    }

    /* --- Sidebar Widgets --- */
    .td-sidebar .td-widget,
    .td-sidebar .widget {
        padding: 1.25rem;
        border-radius: 16px;
    }

    /* --- Share Bar kompakter --- */
    .td-share {
        padding: 0.75rem;
    }
    .td-share__btn {
        padding: 0.5rem 0.7rem;
        font-size: 0.82rem;
    }

    /* --- Footer --- */
    .site-footer {
        padding-top: 2.5rem;
    }
    .td-footer__brand-title {
        font-size: 1.35rem;
    }
    .td-footer__divider {
        margin: 2rem 0;
    }

    /* --- Legal Pages (page.php) --- */
    .td-page--legal .card-body {
        padding: 1.25rem;
    }

    /* --- Contact Cards --- */
    .td-contact-card {
        padding: 1rem;
    }

    /* --- Leistungen Page --- */
    .td-page-leistungen .td-cta-box,
    .td-page-excel .td-cta-box {
        padding: 1.5rem;
        border-radius: 16px;
    }
}


/* ==========================================================================
   5) TABLET PORTRAIT (576px - 767px) - Grosse Phones / Kleine Tablets
   ========================================================================== */
@media (min-width: 576px) and (max-width: 767.98px) {

    /* --- Blog Grid: 2 Spalten --- */
    .td-post-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
    .td-post-card__body { padding: 1.5rem; }
    .td-post-card__title { font-size: 1.15rem; }

    /* --- CTA Buttons nebeneinander --- */
    .td-cta__actions {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .td-cta__actions .btn {
        flex: 1 1 auto;
        min-width: 200px;
        text-align: center;
        justify-content: center;
    }

    /* --- Hero Buttons nebeneinander --- */
    .td-hero__actions {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .td-hero .btn-lg {
        width: auto;
        flex: 1 1 auto;
        min-width: 200px;
    }

    /* --- Services: 2 Spalten Grid --- */
    .td-services__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* --- Hero Carousel breiter --- */
    .td-hero-carousel .swiper-slide { width: 320px; }

    /* --- Werbung: besser nutzen --- */
    .td-ionos-card { padding: 2rem; }

    /* --- Blog Hero Cards 2 Spalten --- */
    .td-home-blog-hero__cards {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* ==========================================================================
   6) TABLET (768px - 991px) - Tablets Portrait + kleine Landscape
   ========================================================================== */
@media (min-width: 768px) and (max-width: 991.98px) {

    /* --- Container etwas grosszuegiger --- */
    .td-container {
        padding-inline: 1.5rem;
    }

    /* --- Typografie --- */
    h1, .display-4 { font-size: clamp(2rem, 4.5vw, 3rem); }
    h2, .td-h2 { font-size: clamp(1.5rem, 3.5vw, 2.25rem); }

    /* --- Sections --- */
    .td-section { padding: 3.5rem 0; }

    /* --- Blog Grid --- */
    .td-post-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.75rem;
    }
    .td-post-card__body { padding: 1.5rem; }
    .td-post-card__title { font-size: 1.25rem; }

    /* --- Single Post: Bessere Nutzung der Breite --- */
    .td-single__header {
        padding: 2rem 1.75rem 0.5rem;
    }
    .td-single__content {
        padding: 0.25rem 1.75rem 2rem;
    }
    .td-single__tags { padding: 0 1.75rem 1rem; }
    .td-single__footer { padding: 0 1.75rem 1.75rem; }
    .td-cta { padding: 0 1.75rem; }

    /* --- TOC auf Tablet horizontal unter dem Content --- */
    .td-sidebar {
        margin-top: 2rem;
    }
    .td-sidebar__inner {
        position: static;
    }

    /* --- Hero Section --- */
    .td-hero {
        min-height: 80vh;
        min-height: 80dvh;
    }
    .td-hero__lead {
        font-size: 1.1rem;
        max-width: 55ch;
    }
    .td-hero .btn-lg {
        width: auto;
        min-width: 220px;
    }
    .td-hero__actions {
        flex-direction: row;
        flex-wrap: wrap;
    }

    /* --- Trust Grid: 3 Spalten auf Tablet --- */
    .td-hero__trust-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0.75rem;
    }
    .td-trust-item {
        flex-direction: column;
        text-align: center;
        gap: 0.75rem;
        padding: 1rem 0.75rem;
    }

    /* --- Services: 2 Spalten, aufgeraeumter --- */
    .td-services { padding: 4.5rem 0; }
    .td-services__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
    .td-service-card {
        padding: 2rem;
    }
    .td-services__head {
        margin-bottom: 3rem;
    }

    /* --- CTA Section --- */
    .td-cta-section { padding: 5rem 0; }
    .td-cta-title { font-size: clamp(2rem, 4vw, 3rem); }
    .td-cta-lead { font-size: 1.15rem; }
    .td-cta__actions {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .td-cta__actions .btn {
        flex: 0 1 auto;
        min-width: 220px;
        text-align: center;
        justify-content: center;
    }

    /* --- CTA Float Cards: Ausblenden auf Tablet (zu wenig Platz) --- */
    .td-cta-float { display: none !important; }

    /* --- Hero Carousel --- */
    .td-hero-carousel .swiper-slide { width: 440px; }
    .td-hero-carousel .td-hc-card__img-col { height: 260px; }
    .td-hero-carousel .td-hc-card__body-col { padding: 1.75rem; }
    .td-hero-carousel__title { font-size: 2rem; }

    /* --- Blog Hero --- */
    .td-home-blog-hero__wrap {
        padding: clamp(1.5rem, 3vw, 2.5rem);
    }
    .is-layout-split .td-home-blog-hero__grid {
        grid-template-columns: 1fr;
    }
    .td-home-blog-hero__cards {
        grid-template-columns: repeat(2, 1fr);
    }

    /* --- Footer: 2 Spalten statt 1 --- */
    .site-footer .row > [class*="col-"] {
        width: 50%;
        max-width: 50%;
        flex: 0 0 50%;
        text-align: left;
        margin-bottom: 2rem;
    }
    .site-footer .td-footer-menu {
        text-align: left;
    }
    .td-social-icons-wrapper {
        justify-content: flex-start !important;
    }

    /* --- Werbung --- */
    .td-ionos-hero { padding: 3rem 0; }
    .td-ionos-card { padding: 2.5rem; }
    .td-ionos-features {
        flex-direction: row;
        flex-wrap: wrap;
    }

    /* --- Contact: 2-Spalten Grid fuer Cards --- */
    .td-contact-hero .row > [class*="col-md-4"] {
        flex: 0 0 50%;
        max-width: 50%;
    }

    /* --- Leistungen / Excel Pages --- */
    .td-page-leistungen .row > [class*="col-lg"],
    .td-page-excel .row > [class*="col-lg"] {
        flex: 0 0 100%;
        max-width: 100%;
    }
}


/* ==========================================================================
   7) LANDSCAPE MODE (Kurze Hoehe, breiter Screen)
   ========================================================================== */
@media (max-width: 991.98px) and (orientation: landscape) {
    /* Hero darf kuerzer sein im Landscape */
    .td-hero {
        min-height: auto;
        padding-top: calc(var(--td-nav-h-mobile, 50px) + 2rem);
        padding-bottom: 2rem;
    }

    /* Scroll-Indicator verstecken (kein Platz) */
    .td-hero__scroll-indicator { display: none; }

    /* Footer Logos nebeneinander */
    .td-hero__logo-wrapper {
        flex-direction: row;
    }
}

@media (min-width: 576px) and (max-width: 991.98px) and (orientation: landscape) {
    /* Hero Trust Grid horizontal */
    .td-hero__trust-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0.75rem;
    }

    /* Proof Items horizontal */
    .td-hero__proof {
        display: flex;
        flex-wrap: wrap;
    }
    .td-hero__proof-sep {
        display: block;
    }
}


/* ==========================================================================
   8) WILL-CHANGE OPTIMIERUNG (nur bei Interaktion)
   ========================================================================== */

/* Permanent will-change entfernen und nur bei Hover/Active setzen */
.td-navbar {
    will-change: auto;
}
body.td-nav-sticky-on .td-navbar {
    will-change: transform;
}
/* Automatisch wieder entfernen nach Scroll-Stop (via JS) */

.td-service-card {
    will-change: auto;
}
@media (hover: hover) {
    .td-service-card:hover {
        will-change: transform, box-shadow;
    }
}


/* ==========================================================================
   9) STICKY NAV BODY-PADDING FIX
   ========================================================================== */

/* Scrolled-State: Sanfter Uebergang statt harter Sprung */
body.td-nav-sticky-on {
    transition: padding-top 0s;
}


/* ==========================================================================
   10) PRINT: Mobile-Overrides entfernen
   ========================================================================== */
@media print {
    .td-cta-section,
    .td-hero-carousel,
    .td-ionos-hero {
        padding: 2rem 0;
    }
}


/* ==========================================================================
   11) HOVER-ONLY Effekte (kein Ghost-Hover auf Touch)
   ========================================================================== */
@media (hover: none) {
    /* Keine translateY-Effekte auf Touch-Geraeten */
    .td-post-card:hover .td-post-card__inner {
        transform: none;
    }
    .td-contact-card:hover {
        transform: none;
    }
    .shadow-hover:hover {
        transform: none;
    }
    .td-feature-card:hover {
        transform: none;
    }
    .td-cta-btn-glow:hover {
        transform: none;
    }
    .td-btn-outline-glass:hover {
        transform: none;
    }

    /* Aber Farbwechsel bleibt (visuelles Feedback) */
    .td-post-card:hover .td-post-card__inner {
        box-shadow: var(--td-card-shadow-hover, 0 20px 40px rgba(148, 163, 184, 0.2));
    }
}


/* ==========================================================================
   12) FOKUS-STILE (Accessibility auf Touch)
   ========================================================================== */
@media (max-width: 991.98px) {
    *:focus-visible {
        outline: 2px solid var(--bs-primary, #2563eb);
        outline-offset: 2px;
        border-radius: 4px;
    }

    .btn:focus-visible {
        outline-offset: 3px;
        box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.25);
    }
}


/* ==========================================================================
   13) TABLES RESPONSIVE (Mobile Scroll)
   ========================================================================== */
@media (max-width: 767.98px) {
    .td-single__content.content table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
    }

    .td-single__content.content table th,
    .td-single__content.content table td {
        min-width: 120px;
    }
}


/* ==========================================================================
   14) IMAGES: ROUNDED CORNERS MOBILE
   ========================================================================== */
@media (max-width: 575.98px) {
    .td-single__thumb img {
        border-radius: 14px;
    }
    .td-single__content.content img {
        border-radius: 12px;
    }
    .td-post-card__inner {
        border-radius: var(--td-card-radius, 18px);
    }
}


/* ==========================================================================
   15) DYNAMIC VIEWPORT HEIGHT FIX
   ========================================================================== */

/* Fuer mobile Browser mit einblendbarer Adressleiste */
@supports (min-height: 100dvh) {
    @media (max-width: 991.98px) {
        .td-hero {
            min-height: calc(100svh - var(--td-nav-h-mobile, 50px));
        }
    }
}


/* ==========================================================================
   16) SIDEBAR -> MOBILE: Accordion-artiges Zusammenklappen
   ========================================================================== */
@media (max-width: 991.98px) {
    .td-sidebar {
        padding-left: 0;
        margin-top: 2.5rem;
    }
    .td-sidebar__inner {
        position: static;
        gap: 1.5rem;
    }

    /* TOC auf Mobile kompakter */
    .td-toc {
        padding: 1rem;
    }
    .td-toc__link {
        padding: 0.5rem 0.6rem;
        font-size: 0.9rem;
    }
}


/* ==========================================================================
   17) PAGINATION MOBILE
   ========================================================================== */
@media (max-width: 575.98px) {
    .td-pagination .nav-links {
        padding: 0.5rem;
        gap: 0.35rem;
    }
    .td-pagination .page-numbers {
        min-width: 40px;
        height: 40px;
        padding: 0 0.5rem;
        font-size: 0.85rem;
    }

    /* Prev/Next Text kuerzen */
    .td-pagination .prev, 
    .td-pagination .next {
        font-size: 0;
    }
    .td-pagination .prev::before { content: "\2190"; font-size: 1rem; }
    .td-pagination .next::after { content: "->"; font-size: 1rem; }
}


/* ==========================================================================
   18) WERBUNG SECTION: Tablet-Layout
   ========================================================================== */
@media (min-width: 768px) and (max-width: 991.98px) {
    .td-ionos-card .row {
        align-items: center;
    }
    .btn-ionos {
        width: auto;
        min-width: 220px;
    }
}


/* ==========================================================================
   19) BLOG TOOLBAR: Mobile Anpassung
   ========================================================================== */
@media (max-width: 575.98px) {
    .td-blog-toolbar {
        padding: 0.6rem 0.75rem;
        border-radius: 12px;
        font-size: 0.85rem;
    }
}


/* ==========================================================================
   20) STICKY TOC FUeR TABLET (optional)
   ========================================================================== */
@media (min-width: 768px) and (max-width: 991.98px) {
    .td-toc {
        position: relative;
    }
    /* Horizontal TOC als Inline-Scroll-Container */
    .td-toc__list {
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem;
    }
    .td-toc__item.level-3 {
        padding-left: 0;
    }
    .td-toc__link {
        white-space: nowrap;
        font-size: 0.85rem;
    }
}

/* ==========================================================================
   21) LEGAL PAGES – STICKY SIDEBAR + TABLE OVERFLOW FIX
   
   Sticky-Regel: position:sticky bricht, wenn ein ANCESTOR overflow != visible hat.
   Lösung: Kein overflow auf .td-page__hero (Ancestor).
   Stattdessen overflow auf .td-page__content-card – das ist ein GESCHWISTER
   der Sidebar, kein Ancestor → bricht kein Sticky.
   
   Sticky braucht außerdem align-self: start, sonst streckt das Grid das
   Element auf Contenthöhe und es gibt keinen Scroll-Spielraum.
   ========================================================================== */

/* Grid-Kinder: min-width:0 gegen Tabellen-Blowout */
.td-page__grid,
.td-page__grid > * {
    min-width: 0;
}

/* KEIN overflow auf .td-page__hero – würde Sticky der Sidebar brechen */

/* Content-Card (Geschwister der Sidebar): Tabellen-Überlauf abklemmen */
.td-page__content-card {
    min-width: 0;
    overflow-x: auto;
}

/* === STICKY SIDEBAR – Grid-Item (Wrapper) + Sticky-Innenteil === */
@media (min-width: 1024px) {
    /* Der Wrapper ist das Grid-Item und nimmt die volle Zeilen-Höhe ein.
       Damit hat das sticky Kind (td-page__aside) den Höhen-Spielraum zum Scrollen. */
    .td-page__aside-wrapper {
        align-self: stretch; /* Grid-Item: volle Zeilenhöhe → Sticky-Kind hat Spielraum */
    }

    /* Das innere Div ist das eigentliche sticky Element */
    .td-page__aside {
        align-self: auto;   /* kein align-self hier nötig – Sticky auf dem Kind */
        position: sticky !important;
        top: calc(var(--td-nav-h-desktop, 75px) + 1.5rem);
        max-height: calc(100dvh - var(--td-nav-h-desktop, 75px) - 3rem);
        max-height: calc(100vh  - var(--td-nav-h-desktop, 75px) - 3rem);
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: var(--bs-primary, #2563eb) transparent;
    }
}

/* Tabellen scrollbar – per CSS, kein PHP nötig */
.td-content table,
.devowl-wp-react-cookie-banner-cookie-policy {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
    scrollbar-width: thin;
    scrollbar-color: var(--bs-primary, #2563eb) #f1f5f9;
}

.td-content table::-webkit-scrollbar,
.devowl-wp-react-cookie-banner-cookie-policy::-webkit-scrollbar { height: 6px; }
.td-content table::-webkit-scrollbar-track,
.devowl-wp-react-cookie-banner-cookie-policy::-webkit-scrollbar-track {
    background: #f1f5f9; border-radius: 3px;
}
.td-content table::-webkit-scrollbar-thumb,
.devowl-wp-react-cookie-banner-cookie-policy::-webkit-scrollbar-thumb {
    background: var(--bs-primary, #2563eb); border-radius: 3px;
}

.td-content table th,
.td-content table td {
    white-space: nowrap;
    vertical-align: top;
    padding: 0.5rem 0.75rem;
    font-size: 0.85rem;
    border: 1px solid #e2e8f0;
}
.td-content table thead th {
    background: #f8fafc;
    font-weight: 700;
    color: #0f172a;
}
/* Letzte Spalte (Zweck) darf umbrechen */
.td-content table td:last-child {
    white-space: normal;
    min-width: 200px;
    max-width: 400px;
}
