.question {
  margin: 0 0 1rem;
  color: var(--text);
  font-size: clamp(1.18rem, 3vw, 1.7rem);
  font-weight: 800;
  line-height: 1.3;
}

.decision-visual > i {
  display: block;
  padding: 1.2rem;
  color: var(--muted);
  font-style: normal;
  text-align: center;
}

.decision-visual.image-pending {
  min-height: 12rem;
  display: grid;
  place-items: center;
  border: 1px dashed #43505a;
  background: linear-gradient(145deg, #12191e, #0b1014);
}

.item-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  border-radius: .8rem;
  background: #0a0e11;
}

.item-image[style*="display: none"] {
  aspect-ratio: auto;
}

.calc-note {
  margin-top: 1rem;
  padding: .9rem 1rem;
  border-left: 4px solid var(--yellow);
  border-radius: .5rem;
  background: rgba(255, 204, 0, .08);
  color: var(--muted);
}

.screen-critical_warning {
  border-color: #ef6b54;
  background: rgba(159, 47, 32, .16);
}

.screen-critical_action { border-color: #e88935; background: rgba(122, 62, 13, .16); }
.screen-emergency { border-color: #ff4c42; background: rgba(132, 20, 15, .22); }
.medical-notice { display:grid; gap:.55rem; margin:0 0 1.25rem; padding:1rem 1.1rem; border:1px solid #db574d; border-left:5px solid #ff5b50; border-radius:.8rem; background:#2a1110; color:#f4dddd; line-height:1.45; }
.medical-notice strong { color:#ff776e; letter-spacing:.04em; }
.medical-notice span { display:block; }

.category-home { width:min(1180px,calc(100% - 28px)); margin:auto; padding:24px 0 90px; display:grid; grid-template-columns:minmax(300px,46%) 1fr; gap:clamp(24px,5vw,64px); align-items:center; }
.cover-wrap { overflow:hidden; border:1px solid var(--line); border-radius:22px; background:#050708; box-shadow:0 24px 70px rgba(0,0,0,.45); }
.cover-wrap img { display:block; width:100%; max-height:calc(100vh - 112px); object-fit:contain; }
.category-copy h1 { margin:.7rem 0 1rem; font:clamp(2.8rem,6vw,5.5rem)/.95 Impact,"Arial Narrow Bold",sans-serif; }
.category-copy>p { color:var(--muted); font-size:1.08rem; line-height:1.55; }
.category-kicker { color:var(--yellow); font-weight:900; letter-spacing:.14em; }
.category-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:26px; }
.category { min-height:112px; display:grid; grid-template-columns:48px 1fr 24px; align-items:center; gap:12px; padding:16px; border:1px solid var(--line); border-radius:15px; background:#11191d; color:#fff; text-align:left; cursor:pointer; }
.category>b { font-size:2rem; }.category span { display:grid; gap:5px; }.category strong { font-size:1.15rem; }.category small { color:var(--muted); line-height:1.3; }.category i { color:var(--yellow); font-size:1.5rem; font-style:normal; }.category.water { border-color:#246d8c; }.category.heat { border-color:#a85127; }.category.budget { grid-column:1/-1; border-color:var(--yellow); background:linear-gradient(135deg,#211d0d,#11191d); }.category.budget>b { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--yellow); color:#111; font-size:1.45rem; }.category:disabled { cursor:not-allowed; opacity:.48; }
@media(max-width:800px){.category-home{grid-template-columns:1fr}.cover-wrap img{max-height:62vh}.category-copy h1{font-size:3rem}}
@media(max-width:520px){.category-grid{grid-template-columns:1fr}.category{min-height:92px}}

.flow-state button { margin-left:0; }
.flow-state button:first-of-type { margin-left:auto; }
.budget-hub { width:min(1040px,calc(100% - 28px)); margin:auto; padding:clamp(32px,7vw,76px) 0 90px; }
.budget-hub header { max-width:820px; margin-bottom:28px; }
.budget-hub h1 { margin:.7rem 0 1rem; font:clamp(3rem,8vw,6rem)/.92 Impact,"Arial Narrow Bold",sans-serif; }
.budget-hub header p,.budget-panel>p { color:var(--muted); font-size:1.08rem; line-height:1.55; }
.budget-panel { margin:16px 0; padding:clamp(18px,4vw,30px); border:1px solid var(--line); border-radius:20px; background:linear-gradient(145deg,#11191d,#0a0e11); }
.budget-panel h2 { margin:0 0 12px; font-size:clamp(1.25rem,3vw,1.8rem); }
.budget-levels { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:18px; }
.budget-levels button { display:grid; gap:5px; min-height:104px; padding:17px; border:1px solid #826b13; border-radius:14px; background:#1e1a0b; color:#fff; text-align:left; cursor:pointer; }
.budget-levels strong { color:var(--yellow); font-size:1.7rem; }.budget-levels span { color:var(--muted); }
.library-actions { display:flex; flex-wrap:wrap; gap:10px; }
@media(max-width:650px){.budget-levels{grid-template-columns:1fr}.category.budget{grid-column:auto}.flow-state{flex-wrap:wrap}.flow-state button:first-of-type{margin-left:0}}
.category.category-wide{grid-column:1/-1}
.topbar-home{display:flex;align-items:center;gap:10px}.start-home{padding:6px 10px;border:1px solid var(--line);border-radius:99px;background:#11191d;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.06em;cursor:pointer}.start-home:hover,.start-home:focus-visible{border-color:var(--yellow);color:var(--yellow)}
@media(max-width:520px){.topbar-home{gap:5px}.start-home{padding:6px 8px;font-size:.65rem}.topbar-home .logo{font-size:.8rem}}
@media(max-width:520px){.install-home span,.update-home span{display:none}}
@media(max-width:420px){.topbar-home .logo{font-size:.72rem}.start-home{padding:6px}}

.pending-screen {
  max-width: 760px;
  margin: 8vh auto 0;
  padding: clamp(1.4rem, 4vw, 2.5rem);
  border: 1px solid var(--line);
  border-radius: 1.25rem;
  background: var(--panel);
  text-align: center;
}

.field-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  margin: 1rem 0;
}

.field-list p { grid-column: 1 / -1; margin: 0 0 .25rem; color: var(--muted); }
.field-list span { padding: .7rem .8rem; border: 1px solid var(--line); border-radius: .65rem; background: #0b1014; }
.action:disabled { cursor: not-allowed; opacity: .58; }

.filter-db { display:grid; gap:.85rem; margin:1rem 0; }
.filter-db label { display:grid; gap:.4rem; color:var(--muted); font-weight:800; }
.filter-db select,.filter-db input { width:100%; min-height:50px; padding:.75rem .85rem; border:1px solid #42545e; border-radius:.7rem; background:#081014; color:#fff; }
.filter-result { margin-top:.35rem; padding:1rem; border:1px solid var(--line); border-radius:.85rem; background:#0b1014; }
.filter-result>p { margin:0; color:var(--muted); line-height:1.5; }
.filter-result h2 { margin:0 0 .8rem; color:var(--yellow); font-size:1.35rem; }
.filter-result dl { display:grid; gap:0; margin:0; }
.filter-result dl div { display:grid; grid-template-columns:minmax(120px,38%) 1fr; gap:.8rem; padding:.62rem 0; border-bottom:1px solid var(--line); }
.filter-result dt { color:#8edcff; font-weight:800; }
.filter-result dd { margin:0; line-height:1.4; }
.filter-result .filter-notes { margin:1rem 0 .7rem; color:#f4f2ea; }
.filter-result small { color:#8da0a9; line-height:1.4; }
.filter-unverified,.filter-verified { display:grid; gap:.25rem; margin:0 0 1rem; padding:.8rem .9rem; border-radius:.65rem; line-height:1.4; }
.filter-unverified { border:1px solid #e35443; background:#321614; color:#ffd9d4; }
.filter-unverified strong { color:#ff7668; }
.filter-verified { border:1px solid #286f52; background:#0d2b20; color:#caeedf; }
.filter-verified strong { color:#65d5a6; }
.filter-unverified span,.filter-verified span { display:block; }

@media (max-width: 700px) {
  .question { font-size: 1.16rem; }
  .decision-visual.image-pending { min-height: 9rem; }
  .field-list { grid-template-columns: 1fr; }
  .filter-result dl div { grid-template-columns:1fr; gap:.2rem; }
}

/* Mobile Stabilität: keine abgeschnittenen Überschriften oder Seitenspalten. */
html, body { max-width:100%; overflow-x:hidden; }
.decision-card > *, .decision-copy, .item span { min-width:0; }
.decision-copy h1, .pending-screen h1, .category-copy h1, .budget-hub h1,
.lead, .question, .info, .warning, .medical-notice, .action, .calc-result {
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}

.enlargeable { cursor:zoom-in; }
.enlargeable:focus-visible { outline:3px solid var(--yellow); outline-offset:-4px; }
.decision-visual:after { pointer-events:none; }
.item-image { overflow:hidden; }
.item-image img { display:block; width:100%; height:100%; object-fit:contain; }
.item {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
}
.item span { padding:.2rem .15rem .35rem; overflow-wrap:anywhere; }
.item strong { font-size:1rem; }
.decision-visual .zoom-hint { pointer-events:none; font-size:.72rem; }

.image-viewer {
  position:fixed;
  z-index:1000;
  inset:0;
  display:grid;
  place-items:center;
  padding:max(58px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(46px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  background:rgba(0,0,0,.94);
  backdrop-filter:blur(8px);
}
.image-viewer[hidden] { display:none; }
.image-viewer img { display:block; max-width:96vw; max-height:82dvh; object-fit:contain; border-radius:10px; box-shadow:0 0 0 1px #43505a,0 25px 80px #000; cursor:zoom-out; }
.image-viewer p { position:absolute; left:12px; right:12px; bottom:max(10px,env(safe-area-inset-bottom)); margin:0; color:#dce2e4; text-align:center; font-size:.82rem; }
.image-viewer-close { position:absolute; z-index:2; top:max(10px,env(safe-area-inset-top)); right:max(10px,env(safe-area-inset-right)); width:44px; height:44px; border:1px solid #647680; border-radius:50%; background:#11191d; color:#fff; font-size:2rem; line-height:1; cursor:pointer; }
body.viewer-open { overflow:hidden; }

@media (max-width:1100px) {
  .decision-card { grid-template-columns:minmax(0,1fr); }
  .decision-visual { min-height:clamp(240px,48vw,430px); max-height:58vh; }
  .decision-copy { padding:clamp(22px,5vw,42px); }
  .decision-copy h1 { font-size:clamp(2.15rem,8vw,4rem); line-height:1; }
  .decision-symbol { min-height:150px; }
  .decision-symbol span { font-size:5rem; }
}

@media (max-width:600px) {
  .decision-shell { width:calc(100% - 12px); padding-top:8px; }
  .decision-copy { padding:22px 18px 30px; }
  .decision-copy h1 { font-size:clamp(1.9rem,10.5vw,2.8rem); letter-spacing:.01em; }
  .action { gap:10px; padding:13px 14px; }
  .action span { flex:0 0 auto; }
  .flow-state { gap:7px; }
  .flow-state button, .flow-state button:first-of-type { margin-left:0; }
  .flow-state .section-menu { order:2; }
  .decision-symbol { min-height:105px; }
  .decision-symbol span { font-size:3.8rem; }
  .medical-notice { padding:.9rem; }
}

/* Endgültiges Kartenlayout: breite Bildvorschau oben, lesbarer Text darunter. */
.decision-card {
  grid-template-columns:minmax(0,1fr);
  align-items:start;
}
.decision-visual {
  width:100%;
  height:auto;
  min-height:0;
  max-height:48vh;
  aspect-ratio:16 / 7;
  margin:0;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:#050708;
}
.decision-visual img { object-fit:contain; }
.decision-visual .zoom-hint {
  left:50%;
  right:auto;
  bottom:12px;
  width:max-content;
  max-width:calc(100% - 24px);
  transform:translateX(-50%);
  padding:7px 12px;
  font-size:.68rem;
}
.decision-symbol {
  width:100%;
  min-height:120px;
  max-height:190px;
  aspect-ratio:auto;
  margin:0;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
}
.decision-copy {
  width:min(900px,100%);
  margin:0 auto;
  padding:clamp(24px,5vw,58px) clamp(18px,6vw,70px) clamp(34px,6vw,70px);
}
.decision-copy h1 { font-size:clamp(2rem,7vw,4.8rem); }

@media (max-width:520px) {
  .decision-visual { aspect-ratio:16 / 8.5; max-height:42vh; }
  .decision-copy { padding:22px 18px 34px; }
  .decision-copy h1 { font-size:clamp(1.9rem,10vw,2.8rem); }
}

.heat-calculator,.heat-result-summary{display:grid;gap:18px;margin:24px 0}.heat-calculator fieldset{display:grid;gap:14px;margin:0;padding:18px;border:1px solid var(--line);border-radius:18px}.heat-calculator legend{padding:0 8px;color:#ffc20a;font-weight:900;letter-spacing:.05em}.heat-calculator label{display:grid;gap:8px;color:#dce2e4;font-weight:800}.heat-calculator input{width:100%;padding:15px 16px;border:1px solid #48606b;border-radius:12px;background:#071116;color:#fff;font:inherit}.heat-calculator label span{color:#9fb0b8;font-size:.85rem}.heat-calculator .calculate{padding:16px;border:0;border-radius:14px;background:#ffc20a;color:#111;font:900 1rem/1.1 inherit;cursor:pointer}.calc-error{min-height:1.2em;color:#ff7770;font-weight:800}.heat-results{display:grid;gap:12px}.heat-results article{padding:18px;border:1px solid #31505e;border-radius:16px;background:#0b2029}.heat-results h3{margin:0 0 10px;color:#53c7f3;font-size:1.1rem}.heat-results p{margin:6px 0}.heat-results small{display:block;color:#c5d0d4;line-height:1.5}.calc-missing{padding:16px;border-left:5px solid #ffbf00;background:#2b2505}.heat-result-summary>.calc-note{margin:0;color:#9fb0b8;font-size:.9rem;line-height:1.5}

.filter-source-link{color:#8edcff;text-decoration:underline;text-underline-offset:3px}.filter-promo{display:grid;gap:.5rem;margin:0 0 1rem;padding:1rem;border:1px solid #d49f00;border-radius:.8rem;background:#241d08}.filter-promo>strong{color:var(--yellow)}.filter-promo span{color:#f4f2ea}.filter-promo button{justify-self:start;border:0;border-radius:.55rem;background:var(--yellow);color:#111;padding:.7rem .9rem;font-weight:900;cursor:pointer}
.recommendations{margin-top:2rem;padding:1.2rem;border:1px solid var(--line);border-radius:1.25rem;background:#0b1114}.recommendations header>span{color:var(--yellow);font-size:.72rem;font-weight:900;letter-spacing:.12em}.recommendations h2{margin:.35rem 0 .45rem;font-size:clamp(1.35rem,2.5vw,2rem)}.recommendations header>p{margin:0 0 1rem;color:var(--muted);line-height:1.5}.recommendation-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.recommendation-card{display:grid;grid-template-columns:minmax(130px,38%) 1fr;overflow:hidden;border:1px solid var(--line);border-radius:1rem;background:#11191d}.recommendation-card>img{width:100%;height:100%;min-height:230px;object-fit:cover;background:#fff}.recommendation-card>div{display:flex;flex-direction:column;align-items:flex-start;padding:1rem}.recommendation-tag{color:#8edcff;font-size:.68rem;font-weight:900;letter-spacing:.08em}.recommendation-card h3{margin:.35rem 0 .55rem;font-size:1.2rem}.recommendation-card p{margin:0 0 .8rem;color:var(--muted);line-height:1.45}.recommendation-link{width:100%;margin-top:auto;border:0;border-radius:.65rem;background:var(--yellow);color:#111;padding:.75rem .85rem;text-align:left;font-weight:900;cursor:pointer}.recommendation-link b{float:right}.promo-code{display:grid;gap:.2rem;width:100%;padding:.65rem;border:1px dashed #d49f00;border-radius:.55rem;background:#211b08}.promo-code small{color:#cfc7a7}.promo-code strong{color:var(--yellow);font-size:1.1rem}.promo-disclosure{display:block;margin-top:.8rem;color:#87979f;line-height:1.4}.update-home.update-ready{border-color:var(--yellow);color:var(--yellow);box-shadow:0 0 0 2px rgba(242,183,5,.15)}.update-home:disabled{opacity:.55;cursor:wait}
@media(max-width:720px){.recommendation-grid{grid-template-columns:1fr}.recommendation-card{grid-template-columns:115px 1fr}.recommendation-card>img{min-height:210px}}
@media(max-width:430px){.recommendation-card{grid-template-columns:1fr}.recommendation-card>img{height:190px;min-height:0;object-fit:contain}.recommendations{padding:.8rem}}
