/* t2.at – Stylesheet der statischen Unterseiten (generiert aus den Fenster-Vorlagen, siehe tools/build-static.js) */
:root { --ink: #111; --muted: #4a4a4a; --accent: #000080; --line: #d0d0d0; --bg: #fff; --soft: #f3f3f3; --hint: #ffffe1; }
* { box-sizing: border-box; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; line-height: 1.55; }
img { max-width: 100%; height: auto; }
a { color: var(--accent); }
h1 { font-size: 1.7rem; line-height: 1.25; margin: 0 0 .6em; }
h2 { font-size: 1.2rem; margin: 1.4em 0 .4em; border-bottom: 1px solid var(--line); padding-bottom: .15em; }
p { margin: 0 0 .8em; }
ul, ol { margin: 0 0 .9em; padding-left: 1.3em; }
li { margin: 0 0 .25em; }
table { border-collapse: collapse; width: 100%; margin: 0 0 1em; font-size: .95rem; }
th, td { border: 1px solid var(--line); padding: .4em .6em; text-align: left; vertical-align: top; }
th { background: var(--soft); }
td.n, th.n { text-align: right; white-space: nowrap; }
tr.sum td { font-weight: 700; background: var(--hint); }
.muted { color: var(--muted); }
.price { color: var(--accent); font-weight: 700; }
.hint { background: var(--hint); border: 1px solid #c8c88a; padding: .6em .8em; margin: 0 0 .9em; }
.btn { display: inline-block; padding: .5em 1em; border: 1px solid var(--accent); border-radius: 3px; color: var(--accent); text-decoration: none; font-weight: 600; margin: 0 .3em .4em 0; }
.btn.default { background: var(--accent); color: #fff; }
.btn:hover { filter: brightness(1.15); }
.btns { margin-top: 1em; }
.ico32 { width: 32px; height: 32px; flex: 0 0 32px; }
.ico16 { width: 16px; height: 16px; }

header.site { display: flex; flex-wrap: wrap; align-items: center; gap: .6em 1.6em; padding: .8em 1em; border-bottom: 3px solid #008080; max-width: 1100px; margin: 0 auto; }
header.site .brand { display: flex; align-items: center; gap: .7em; text-decoration: none; color: var(--ink); font-weight: 700; }
header.site .brand img { width: 72px; height: auto; }
nav.main { display: flex; flex-wrap: wrap; gap: .2em .9em; flex: 1 1 auto; }
nav.main a { text-decoration: none; color: var(--ink); padding: .2em 0; border-bottom: 2px solid transparent; }
nav.main a:hover, nav.main a[aria-current] { border-bottom-color: #008080; }
a.desktop { display: inline-flex; align-items: center; gap: .4em; font-size: .85rem; text-decoration: none; color: #000; background: #c0c0c0; padding: .35em .7em; border: 1px solid; border-color: #fff #000 #000 #fff; box-shadow: inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf; white-space: nowrap; }
a.desktop:hover { background: #d0d0d0; }

main.content { max-width: 1100px; margin: 0 auto; padding: 1em 1em 2em; display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 2em; }
nav.crumbs { grid-column: 1 / -1; font-size: .85rem; color: var(--muted); }
nav.crumbs a { color: var(--muted); }
article.page { min-width: 0; }
article.page .winbody, article.page .dlg, article.page .doc { display: block; }
article.page .doc { max-width: none; }
article.page .row { display: flex; gap: 1em; align-items: flex-start; margin-bottom: .6em; }
article.page .row > div { flex: 1 1 auto; min-width: 0; }
article.page .group { border: 1px solid var(--line); border-radius: 3px; padding: .8em 1em .4em; margin: .6em 0 1em; }
article.page .group .legend { display: block; font-weight: 700; margin-bottom: .4em; }
article.page .group label, article.page .group li { display: block; margin: 0 0 .3em; }
article.page .bevel-in { border: 1px solid var(--line); padding: .6em .8em; margin: 0 0 .8em; }
article.page .card { display: flex; gap: 1em; align-items: flex-start; padding: 1em 0; border-top: 1px solid var(--line); }
article.page .card > div { flex: 1 1 auto; min-width: 0; }
article.page .card h2 { margin: 0 0 .3em; border: 0; padding: 0; }
article.page .card img { width: 32px; height: 32px; flex: 0 0 32px; margin-top: .2em; }
article.page .pages img { display: block; width: 100%; border: 1px solid var(--line); margin: 0 0 .8em; }
article.page .proof img { display: block; width: 100%; border: 1px solid var(--line); }
article.page .proof figcaption { font-size: .9rem; color: var(--muted); margin-top: .4em; }
article.page .proof { margin: .6em 0 1.2em; }
article.page .prow { display: flex; gap: 1em; align-items: center; padding: .6em 0; border-bottom: 1px solid var(--line); }
article.page .plogo { flex: 0 0 130px; height: 44px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--line); background: #fff; padding: .3em .5em; }
article.page .plogo img { max-height: 30px; width: auto; }
article.page .wizpage { padding: .6em 0 .4em; border-top: 1px solid var(--line); }
article.page .wizpage h2 { border: 0; margin-top: .2em; }
article.page ol.checks li { margin: 0 0 .4em; }
article.page .contactgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2em; }
article.page .contactgrid h2 { margin-top: .8em; }
article.page .legal { display: none; }
aside.cta { align-self: start; position: sticky; top: 1em; background: var(--soft); border: 1px solid var(--line); border-radius: 4px; padding: 1em 1.1em; font-size: .95rem; }
aside.cta b { display: block; font-size: 1.05rem; margin-bottom: .4em; }
footer.site { border-top: 1px solid var(--line); background: var(--soft); padding: 1.5em 1em 2em; font-size: .9rem; color: var(--muted); }
footer.site .cols { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 1.5em; }
footer.site ul { list-style: none; padding: 0; margin: .3em 0 0; columns: 2; }
footer.site .fine { max-width: 1100px; margin: 1.2em auto 0; }
@media (max-width: 820px) {
  main.content { grid-template-columns: 1fr; gap: 1em; }
  aside.cta { position: static; }
  footer.site .cols { grid-template-columns: 1fr; }
  footer.site ul { columns: 1; }
  article.page .contactgrid { grid-template-columns: 1fr; }
  header.site { gap: .5em 1em; }
  a.desktop { order: 3; }
  nav.main { order: 4; flex-basis: 100%; }
}
@media print { header.site a.desktop, aside.cta, footer.site nav { display: none; } main.content { grid-template-columns: 1fr; } }

/* ---------- Detailseiten (aus Eigenschaften-Dialogen) ---------- */
article.page .tabsec { margin: 0 0 1.2em; }
article.page .tabsec > h2 { font-size: 1.3rem; margin-top: 1.2em; }
article.page .hero { display: flex; gap: 1em; align-items: flex-start; margin: 0 0 1em; }
article.page .hero img { width: 32px; height: 32px; flex: 0 0 32px; margin-top: .3em; }
article.page .hero h1 { margin-bottom: .3em; }
article.page .tier { display: flex; gap: .8em; flex-wrap: wrap; margin: 0 0 1em; }
article.page .tier > div { flex: 1 1 200px; border: 1px solid var(--line); padding: .7em .9em; background: var(--soft); }
article.page .tier b.big { display: block; font-size: 1.2rem; color: var(--accent); margin: .2em 0 .4em; }
article.page .kv { display: grid; grid-template-columns: auto 1fr; gap: .4em 1em; margin: 0 0 1em; }
article.page .note { background: var(--hint); border: 1px solid #c8c88a; padding: .6em .9em; margin: 0 0 1em; }
article.page .shots { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1em; }
article.page .shots figure { margin: 0; border: 1px solid var(--line); padding: .4em; background: #fff; }
article.page .shots img { display: block; width: 100%; height: auto; }
article.page .shots figcaption { font-size: .9rem; padding: .4em .2em 0; }
article.page .badge { display: inline-block; background: var(--accent); color: #fff; font-size: .8rem; padding: .1em .5em; margin-left: .4em; vertical-align: middle; border-radius: 3px; }
article.page .props .btns { margin-top: 1.2em; }
article.page td.c, article.page th.c { text-align: center; }
article.page .szene-steps { font-size: .95rem; }
article.page .tabpanel .muted { color: var(--muted); }
article.page .sync-form .field, article.page .sync-form select { font: inherit; padding: .3em .4em; border: 1px solid var(--line); }
@media (max-width: 820px) { article.page .kv { grid-template-columns: 1fr; } }
article.page .ctabox { display: flex; flex-wrap: wrap; gap: .6em 1em; align-items: center; margin: 0 0 1em; padding: .8em 1em; background: var(--soft); border: 1px solid var(--line); }
article.page .btn.big { font-size: 1.05rem; padding: .7em 1.2em; }
article.page .shots a.zoom { display: block; cursor: zoom-in; }
.alertbar { max-width: 1100px; margin: .8em auto 0; padding: .6em 1em; background: #fff3cd; border: 1px solid #e0c060; border-left: 6px solid #c80000; font-size: .95rem; }
.alertbar a { font-weight: 600; }

.mailcard .mailtext { white-space: pre-wrap; font: inherit; background: #fff; border: 1px solid #c0c0c0; padding: 10px 12px; margin: 8px 0; }
.mailcard details { margin: 6px 0 0; }
.mailcard summary { cursor: pointer; font-weight: 700; }

/* Team-Seite */
article.page .team-head { display: flex; gap: 12px; align-items: center; margin: 0 0 1em; }
article.page .team-head .ico32 { width: 32px; height: 32px; }
article.page .team-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1em; }
article.page .team-card { border: 1px solid var(--line); padding: 1em; display: flex; gap: 1em; align-items: flex-start; min-width: 0; }
article.page .team-avatar svg { display: block; width: 96px; height: 96px; background: #e8e8e8; border: 1px solid var(--line); }
article.page .team-name { display: block; font-size: 1.15em; }
article.page .team-role { display: block; font-weight: 700; margin: .15em 0 .6em; }
article.page .team-kv { display: grid; grid-template-columns: auto 1fr; gap: .2em .8em; font-size: .95em; }
article.page .team-foot { margin-top: 1em; }
@media (max-width: 640px) { article.page .team-cards { grid-template-columns: 1fr; } }
.ja { color: #006000; font-weight: 700; } .nein { color: #a00000; font-weight: 700; }
