/* Verkehrslexikon Tools */
.vlt { background: #fff; border: 1px solid #d9c3b0; border-radius: 8px; padding: 1em 1.2em; margin: 1em 0 1.5em 0; font-family: Verdana, sans-serif; font-size: 15px; line-height: 1.5em; }
.vlt h2 { margin-top: 0; }
.vlt label { display: inline-block; min-width: 14em; vertical-align: top; }
.vlt .row { margin: 0.35em 0; }
.vlt input[type=text], .vlt input[type=number], .vlt input[type=date], .vlt input[type=time], .vlt select { font-family: Verdana, sans-serif; font-size: 15px; padding: 0.25em 0.4em; border: 1px solid #b7a08c; border-radius: 4px; background: #fffaf5; max-width: 100%; }
.vlt input[type=text], .vlt input[type=number] { width: 9em; text-align: right; }
.vlt input.w4 { width: 4.5em; }
.vlt input.w6 { width: 6.5em; }
.vlt input.wl { width: 20em; text-align: left; }
.vlt select { max-width: 24em; }
.vlt input[type=checkbox], .vlt input[type=radio] { transform: scale(1.2); margin-right: 0.4em; }
.vlt button { font-family: Verdana, sans-serif; font-size: 15px; background: brown; color: #fff; border: 0; border-radius: 1em; padding: 0.4em 1.2em; cursor: pointer; }
.vlt button:hover { background: orange; color: #000; }
.vlt table.res { border-collapse: collapse; width: 100%; margin: 0.6em 0; }
.vlt table.res td, .vlt table.res th { border: 1px solid #d9c3b0; padding: 0.3em 0.5em; font-size: 15px; line-height: 1.4em; vertical-align: top; }
.vlt table.res th { background: #f3e3d3; text-align: left; }
.vlt table.res td.r, .vlt table.res th.r { text-align: right; white-space: nowrap; }
.vlt table.res tr.sum td { font-weight: bold; background: #fbf1e7; }
.vlt table.res tr.tot td { font-weight: bold; background: #f3e3d3; color: darkblue; font-size: 16px; }
.vlt .big { font-size: 1.5em; font-weight: bold; color: darkblue; }
.vlt .warn { color: #a40000; font-weight: bold; }
.vlt .ok { color: #1a6e1a; font-weight: bold; }
.vlt .hint { font-size: 13px; color: #555; line-height: 1.4em; }
.vlt .cols { display: flex; flex-wrap: wrap; gap: 1.5em; }
.vlt .cols > div { flex: 1 1 18em; min-width: 16em; }
.vl-cta { background: #fbf1e7; border-left: 5px solid brown; padding: 0.8em 1em; margin: 1em 0; font-size: 15px; line-height: 1.5em; }
.vl-cta a { color: brown; }
.vlt .scroll { overflow-x: auto; }
.vlt .tabs button { background: #e8d5c4; color: #000; margin-right: 0.3em; }
.vlt .tabs button.on { background: brown; color: #fff; }
.vlt .grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(11em, 1fr)); gap: 0.4em 1em; }
.vl-toolbox { display: grid; grid-template-columns: repeat(auto-fill, minmax(17em, 1fr)); gap: 0.8em; margin: 1em 0; }
.vl-toolbox a { display: block; background: #fff; border: 1px solid #d9c3b0; border-radius: 8px; padding: 0.7em 0.9em; line-height: 1.4em; font-size: 15px; }
.vl-toolbox a span { display: block; color: #333; font-weight: normal; font-size: 13px; margin-top: 0.2em; }
.vl-toolbox a:hover { background: #fbf1e7; }
#vl-error { color: #a40000; font-weight: bold; }
.vlt .badge { display: inline-block; padding: 0 0.5em; border-radius: 0.6em; background: #f3e3d3; font-size: 13px; margin-left: 0.3em; }
.vlt .fv { background: #ffd6d6; }
.vlt .row.ind { padding-left: 14.5em; }
@media (max-width: 600px) { .vlt .row.ind { padding-left: 0; } .vlt label { min-width: 100%; } .vlt { padding: 0.7em; } }
