.hbd-tw-page {
  --tw-ink: #203046;
  --tw-muted: #5c6b7a;
  --tw-blue: #17689b;
  --tw-line: #dce5eb;
  color: var(--tw-ink);
  background: #fff;
  padding-bottom: 5rem;
}

.hbd-tw-container {
  width: min(1120px, calc(100% - 40px));
  margin-inline: auto;
}

.hbd-tw-hero {
  background: linear-gradient(135deg, #edf6fa 0%, #f7fafb 62%, #e9f2f7 100%);
  border-bottom: 1px solid var(--tw-line);
  padding: clamp(3rem, 7vw, 6rem) 0 clamp(2.5rem, 5vw, 4.5rem);
}

.hbd-tw-back,
.hbd-tw-page a {
  color: var(--tw-blue);
}

.hbd-tw-back {
  display: inline-block;
  margin-bottom: 2.5rem;
  font-weight: 600;
}

.hbd-tw-eyebrow {
  color: var(--tw-blue);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0 0 .7rem;
}

.hbd-tw-hero h1,
.hbd-tw-archive h1 {
  color: var(--tw-ink);
  font-size: clamp(2.25rem, 5vw, 4.3rem);
  line-height: 1.07;
  letter-spacing: -.035em;
  max-width: 900px;
  margin: 0;
}

.hbd-tw-deck,
.hbd-tw-archive__header > p:last-child {
  max-width: 760px;
  font-size: clamp(1.08rem, 2vw, 1.35rem);
  line-height: 1.55;
  margin: 1.2rem 0 0;
}

.hbd-tw-reviewed {
  color: var(--tw-muted);
  font-size: .88rem;
  margin: 1.3rem 0 0;
}

.hbd-tw-content {
  max-width: 900px;
  padding-top: clamp(2rem, 5vw, 4rem);
  font-size: 1.05rem;
  line-height: 1.72;
}

.hbd-tw-content > * + * { margin-top: 1.5rem; }
.hbd-tw-content h2 { margin-top: 3.5rem; font-size: clamp(1.55rem, 3vw, 2.25rem); line-height: 1.2; }
.hbd-tw-content h3 { margin-top: 2.5rem; font-size: clamp(1.22rem, 2vw, 1.55rem); line-height: 1.3; }
.hbd-tw-content p, .hbd-tw-content li { max-width: 74ch; }
.hbd-tw-content li + li { margin-top: .5rem; }
.hbd-tw-content :where(h2, h3, h4) { scroll-margin-top: 110px; }

.hbd-tw-content .wp-block-group.is-style-hbd-summary,
.hbd-tw-content .wp-block-group.is-style-hbd-checklist {
  background: #f0f7fa;
  border-left: 4px solid var(--tw-blue);
  border-radius: 0 14px 14px 0;
  padding: 1.5rem clamp(1.2rem, 3vw, 2rem);
}

.hbd-tw-content .wp-block-group.is-style-hbd-summary > :first-child,
.hbd-tw-content .wp-block-group.is-style-hbd-checklist > :first-child { margin-top: 0; }
.hbd-tw-content .wp-block-group.is-style-hbd-summary > :last-child,
.hbd-tw-content .wp-block-group.is-style-hbd-checklist > :last-child { margin-bottom: 0; }

.hbd-tw-content .wp-block-table table { border-collapse: collapse; width: 100%; }
.hbd-tw-content .wp-block-table th,
.hbd-tw-content .wp-block-table td { padding: .85rem; border: 1px solid var(--tw-line); text-align: left; vertical-align: top; }
.hbd-tw-content .wp-block-details { border: 1px solid var(--tw-line); border-radius: 10px; padding: 1rem 1.25rem; }
.hbd-tw-content .wp-block-details + .wp-block-details { margin-top: .7rem; }
.hbd-tw-content .wp-block-details summary { cursor: pointer; font-weight: 700; }

.hbd-tw-lead { font-size: 1.16em; line-height: 1.65; }
.hbd-tw-lead p { margin: 0; }
.hbd-tw-toc, .hbd-tw-note, .hbd-tw-checklist, .hbd-tw-next { border-radius: 16px; padding: 1.4rem clamp(1.25rem, 3vw, 2rem); }
.hbd-tw-toc { background: #f0f7fa; border: 1px solid #dcebf3; }
.hbd-tw-toc strong { display: block; margin-bottom: .8rem; }
.hbd-tw-toc ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem 1.5rem; margin: 0; padding-left: 1.25rem; }
.hbd-tw-toc li + li, .hbd-tw-checklist li + li { margin-top: 0; }
.hbd-tw-steps { list-style: none; counter-reset: hbd-tw-step; padding: 0; display: grid; gap: 1rem; }
.hbd-tw-steps li { counter-increment: hbd-tw-step; position: relative; max-width: none; padding: 1.2rem 1.4rem 1.2rem 4.1rem; border: 1px solid var(--tw-line); border-radius: 13px; }
.hbd-tw-steps li::before { content: counter(hbd-tw-step); position: absolute; left: 1.25rem; top: 1.2rem; display: grid; place-items: center; width: 2rem; height: 2rem; color: #fff; background: var(--tw-blue); border-radius: 50%; font-weight: 700; }
.hbd-tw-note { background: #f0f7fa; border-left: 4px solid var(--tw-blue); }
.hbd-tw-scenarios, .hbd-tw-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.hbd-tw-cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.hbd-tw-scenarios > div, .hbd-tw-cards > div { padding: 1.25rem; border: 1px solid var(--tw-line); border-radius: 13px; }
.hbd-tw-scenarios h3, .hbd-tw-cards h3 { margin: 0 0 .6rem; font-size: 1.15rem; }
.hbd-tw-scenarios p, .hbd-tw-cards p { margin: 0; font-size: .96rem; line-height: 1.55; }
.hbd-tw-table-wrap { overflow-x: auto; }
.hbd-tw-table { width: 100%; border-collapse: collapse; }
.hbd-tw-table th, .hbd-tw-table td { border: 1px solid var(--tw-line); padding: .85rem 1rem; text-align: left; vertical-align: top; }
.hbd-tw-table thead { background: #f0f7fa; }
.hbd-tw-table tbody th { width: 28%; }
.hbd-tw-checklist { background: #f0f7fa; }
.hbd-tw-checklist ul { margin: 0; padding-left: 1.25rem; }
.hbd-tw-checklist li { padding: .3rem 0; }
.hbd-tw-checklist--interactive h3 { margin: 0 0 .3rem; font-size: 1.3rem; }
.hbd-tw-checklist__status { margin: 0 0 1rem; color: var(--tw-muted); font-size: .94rem; }
.hbd-tw-checklist--interactive ul { list-style: none; padding: 0; }
.hbd-tw-checklist--interactive li { max-width: none; border-top: 1px solid var(--tw-line); padding: .7rem 0; }
.hbd-tw-checklist--interactive label { display: flex; align-items: start; gap: .8rem; cursor: pointer; }
.hbd-tw-checklist--interactive input { flex: 0 0 auto; width: 1.15rem; height: 1.15rem; margin-top: .28rem; accent-color: var(--tw-blue); }
.hbd-tw-checklist--interactive input:checked + span { color: var(--tw-muted); text-decoration: line-through; }
.hbd-tw-checklist__reset { border: 1px solid var(--tw-blue); border-radius: 8px; background: #fff; color: var(--tw-blue); padding: .55rem .8rem; cursor: pointer; }
.hbd-tw-checklist__reset:hover, .hbd-tw-checklist__reset:focus-visible { background: #e2f1f8; }

.hbd-tw-interactive { background: #f0f7fa; border: 1px solid var(--tw-line); border-radius: 16px; padding: clamp(1.25rem, 3vw, 2rem); margin: 2rem 0; overflow-wrap: anywhere; }
.hbd-tw-interactive h3, .hbd-tw-interactive h2 { margin-top: 0; }
.hbd-tw-interactive button, .hbd-tw-remember { font: inherit; color: var(--tw-blue); background: #fff; border: 1px solid var(--tw-line); border-radius: 8px; padding: .55rem .8rem; cursor: pointer; white-space: normal; }
.hbd-tw-interactive button:focus-visible, .hbd-tw-remember:focus-visible { outline: 3px solid var(--tw-blue); outline-offset: 3px; }
.hbd-tw-remember { margin-top: .5rem; font-size: .88rem; }
.hbd-tw-remember[aria-pressed="true"] { background: #dceef6; border-color: var(--tw-blue); }
.hbd-tw-interactive button:disabled { opacity: .55; cursor: default; }
.hbd-tw-interactive fieldset { min-width: 0; margin: 1.5rem 0; padding: 1rem; border: 1px solid var(--tw-line); border-radius: 10px; }
.hbd-tw-interactive legend { font-weight: 600; padding: 0 .35rem; }
.hbd-tw-interactive [data-answer] .hbd-tw-remember { display: block; }
.hbd-tw-answers, .hbd-tw-actions { display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; margin: .8rem 0; }
.hbd-tw-answers label { display: flex; align-items: center; gap: .4rem; cursor: pointer; }
.hbd-tw-answers input { width: 1.1rem; height: 1.1rem; accent-color: var(--tw-blue); }
.hbd-tw-interactive [hidden] { display: none !important; }
.hbd-tw-comparison-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1rem; }
.hbd-tw-comparison-grid article { background: white; border: 1px solid var(--tw-line); border-radius: 10px; padding: 1rem; }
.hbd-tw-comparison-grid h4 { margin-top: 0; }
.hbd-tw-conversation li { display: flex; gap: 1rem; justify-content: space-between; align-items: start; padding: .75rem 0; border-bottom: 1px solid var(--tw-line); }
.hbd-tw-conversation li button { flex: 0 0 auto; font-size: .85rem; }
.hbd-tw-conversation li span { min-width: 0; }
.hbd-tw-print-sheet { display: none; }
@media print {
 body.hbd-tw-printing > *:not(.hbd-tw-print-sheet) { display: none !important; }
 body.hbd-tw-printing > .hbd-tw-print-sheet { display: block !important; font: 12pt/1.5 sans-serif; color: black; background: white; }
 .hbd-tw-print-sheet li { margin: 1rem 0; break-inside: avoid; }
 .hbd-tw-print-sheet p { overflow-wrap: anywhere; }
}
.hbd-tw-faq { border: 1px solid var(--tw-line); border-radius: 10px; padding: 1rem 1.25rem; }
.hbd-tw-faq + .hbd-tw-faq { margin-top: .7rem; }
.hbd-tw-faq summary { cursor: pointer; font-weight: 700; }
.hbd-tw-faq p { margin-bottom: 0; }
.hbd-tw-next { background: #203046; color: #fff; }
.hbd-tw-next h2 { color: #fff; margin: 0 0 .6rem; }
.hbd-tw-next p { margin: 0; }
.hbd-tw-page .hbd-tw-next a { color: #fff; text-decoration: underline; text-underline-offset: .2em; }
.hbd-tw-sources { margin-top: 4rem; border-top: 1px solid var(--tw-line); color: var(--tw-muted); font-size: .9rem; }
.hbd-tw-sources h2 { color: var(--tw-ink); font-size: 1.25rem; }
.hbd-tw-sources li + li { margin-top: .25rem; }


.hbd-tw-archive__header { padding: clamp(2rem, 4vw, 3.5rem) 0 2rem; }
.hbd-tw-archive__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: 1.25rem; }
.hbd-tw-archive__card { border: 1px solid var(--tw-line); border-radius: 14px; overflow: hidden; }
.hbd-tw-archive__card a { display: block; color: var(--tw-ink); text-decoration: none; }
.hbd-tw-archive__card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.hbd-tw-archive__card-title { display: block; padding: 1.1rem 1.1rem .3rem; font-size: 1.25rem; font-weight: 700; }
.hbd-tw-archive__card-deck { display: block; color: var(--tw-muted); padding: 0 1.1rem 1.25rem; line-height: 1.5; }
.hbd-tw-archive .navigation.pagination { margin-top: 2rem; }

@media (max-width: 640px) {
  .hbd-tw-container { width: min(100% - 28px, 1120px); }
  .hbd-tw-content { font-size: 1rem; }
  .hbd-tw-content .wp-block-table { overflow-x: auto; }
  .hbd-tw-toc ul, .hbd-tw-scenarios, .hbd-tw-cards { grid-template-columns: 1fr; }
  .hbd-tw-steps li { padding-left: 3.7rem; }
}

/* Overview destinations: visible together, no carousel or house images. */
.hbd-tw-content .hbd-tw-related { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #e1e5e8; }
.hbd-tw-content .hbd-tw-related > h2 { margin: 0 0 1rem; }
.hbd-tw-content .hbd-tw-related > .hbd-tw-related-note { margin: 0 0 1.25rem; font-size: .95em; }
.hbd-tw-content .hbd-tw-related ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hbd-tw-content .hbd-tw-related li { margin: 0; padding: 0; min-width: 0; display: flex; }
.hbd-tw-content .hbd-tw-related-card { display: flex; flex-direction: column; width: 100%; box-sizing: border-box; border: 1px solid #e1e5e8; border-radius: 12px; padding: 1.15rem; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.hbd-tw-content .hbd-tw-related-card h3 { color: #17688f; font-size: 1.05em; line-height: 1.4; margin: 0 0 .6rem; }
.hbd-tw-content .hbd-tw-related-card p { font-size: .95em; line-height: 1.55; margin: 0 0 1rem; }
.hbd-tw-content .hbd-tw-related-action { display: block; margin-top: auto; font-size: .95em; font-weight: 600; color: #17688f; }
.hbd-tw-content .hbd-tw-related-card:hover { border-color: #17688f; background: #f7fafb; }
.hbd-tw-content .hbd-tw-related-card:hover .hbd-tw-related-action { text-decoration: underline; }
.hbd-tw-content .hbd-tw-related-card:focus-visible { outline: 3px solid #17688f; outline-offset: 3px; }
@media (max-width: 900px) { .hbd-tw-content .hbd-tw-related ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .hbd-tw-content .hbd-tw-related ul { grid-template-columns: 1fr; } }

.hbd-tw-selection-row { border-top: 1px solid var(--tw-line); padding: 1rem 0; }
.hbd-tw-selection-row h4 { margin: 0 0 .4rem; }
.hbd-tw-selection-row p { margin: 0 0 .7rem; }
.hbd-tw-selection-row label { display: flex; flex-direction: column; gap: .3rem; max-width: 100%; }
.hbd-tw-selection-row select { font: inherit; padding: .55rem; color: inherit; background: #fff; border: 1px solid var(--tw-line); border-radius: 8px; max-width: 100%; }
.hbd-tw-selection-row select:focus-visible { outline: 3px solid var(--tw-blue); outline-offset: 3px; }
.hbd-tw-selection-row .hbd-tw-actions { align-items: end; }

.hbd-tw-own-note { margin: 1.2rem 0; }
.hbd-tw-own-note > label { display: block; font-weight: 600; margin-bottom: .4rem; }
.hbd-tw-own-note textarea { display: block; width: 100%; max-width: 100%; box-sizing: border-box; resize: vertical; min-height: 6rem; padding: .75rem; font: inherit; color: inherit; border: 1px solid var(--tw-line); border-radius: 8px; background: #fff; }
.hbd-tw-own-note textarea:focus-visible { outline: 3px solid var(--tw-blue); outline-offset: 3px; }
.hbd-tw-own-note [data-conversation-note-status]:empty { display: none; }
.hbd-tw-own-note-row > span { min-width: 0; white-space: pre-wrap; }
.hbd-tw-own-note-row strong { display: block; font-size: .85em; color: var(--tw-blue); }
.hbd-tw-own-note-row .hbd-tw-actions { flex-shrink: 0; margin: 0; }
@media (max-width: 640px) { .hbd-tw-conversation .hbd-tw-own-note-row { flex-wrap: wrap; } }

/* Tables remain within the article; only their viewport scrolls. */
.hbd-tw-content, .hbd-tw-content .wp-block-table, .hbd-tw-content .hbd-tw-table-wrap { min-width: 0; max-width: 100%; }
.hbd-tw-content .hbd-tw-table-container { overflow-x: visible; }
.hbd-tw-content .hbd-tw-table-scroll { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; }
.hbd-tw-table-scroll:focus-visible { outline: 3px solid var(--tw-blue); outline-offset: 3px; }
.hbd-tw-content .hbd-tw-responsive-table { width: 100%; border-collapse: collapse; table-layout: auto; }
.hbd-tw-content .hbd-tw-responsive-table th, .hbd-tw-content .hbd-tw-responsive-table td { padding: .85rem; border: 1px solid var(--tw-line); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.hbd-tw-content .hbd-tw-table-hint { margin: .6rem 0; font-size: .88rem; color: var(--tw-muted); }
.hbd-tw-table-hint[hidden] { display: none !important; }
@media (max-width: 700px) {
 .hbd-tw-content .hbd-tw-responsive-table { min-width: var(--hbd-tw-table-min-width); }
 .hbd-tw-content .hbd-tw-responsive-table th,
 .hbd-tw-content .hbd-tw-responsive-table td { min-width: 11rem; width: auto; box-sizing: border-box; overflow-wrap: break-word; word-break: normal; white-space: normal; }
}
@media print {
 .hbd-tw-content .hbd-tw-table-scroll { overflow: visible; }
 .hbd-tw-content .hbd-tw-responsive-table { min-width: 0; width: 100%; }
 .hbd-tw-content .hbd-tw-responsive-table th, .hbd-tw-content .hbd-tw-responsive-table td { min-width: 0; }
 .hbd-tw-table-hint { display: none; }
}

/* Fixed topic areas and grouped public entry. */
.hbd-tw-area-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin:0 0 2rem; }
.hbd-tw-area-card { display:flex; flex-direction:column; gap:.35rem; padding:1rem; border:1px solid var(--tw-line); border-radius:14px; color:var(--tw-ink); text-decoration:none; }
.hbd-tw-area-card strong { display:flex; align-items:center; gap:.65rem; min-width:0; font-size:1.2rem; line-height:1.35; color:var(--tw-blue,var(--tw-ink)); }
.hbd-tw-area-card span { line-height:1.5; }
.hbd-tw-area-card .hbd-tw-area-title { min-width:0; line-height:inherit; }
.hbd-tw-area-card .hbd-tw-area-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 36px; width:36px; height:36px; border-radius:10px; background:#f0f7fa; color:var(--tw-blue); line-height:1; }
.hbd-tw-area-card .hbd-tw-area-icon svg { display:block; width:24px; height:24px; }
.hbd-tw-area-card small { color:var(--tw-muted); margin-top:auto; }
.hbd-tw-area-card:hover,.hbd-tw-area-card[aria-current="page"] { background:var(--tw-soft,#f0f7fa); }
.hbd-tw-archive__section { margin:3rem 0; scroll-margin-top:6rem; }
.hbd-tw-page .hbd-tw-archive__filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; align-items:end; gap:1rem; margin:2rem 0; padding:1.2rem; background:#f0f7fa; border-radius:14px; }
.hbd-tw-page .hbd-tw-archive__filters label { display:flex; flex-direction:column; gap:.5rem; min-width:0; margin:0; padding:0; font-size:1rem; font-weight:600; line-height:1.4; }
.hbd-tw-page .hbd-tw-archive__filters input,.hbd-tw-page .hbd-tw-archive__filters select { display:block; width:100%; min-width:0; max-width:100%; height:3rem; min-height:3rem; margin:0; padding:.65rem .8rem; box-sizing:border-box; border:1px solid var(--tw-line); border-radius:8px; font:inherit; font-weight:400; background:white; color:var(--tw-ink); }
.hbd-tw-page .hbd-tw-archive__filters input[type="search"] { appearance:none; -webkit-appearance:none; }
.hbd-tw-archive__filter-actions { display:flex; align-items:center; gap:1rem; min-width:0; }
.hbd-tw-page .hbd-tw-archive__filters button { display:inline-flex; align-items:center; justify-content:center; height:3rem; margin:0; padding:0 1rem; box-sizing:border-box; border:0; border-radius:8px; background:#176a98; color:white; font:inherit; font-size:1rem; line-height:1.4; white-space:nowrap; cursor:pointer; }
.hbd-tw-page .hbd-tw-archive__filter-actions a { display:inline-flex; align-items:center; min-height:3rem; margin:0; font-size:1rem; line-height:1.4; white-space:nowrap; }
@media (max-width:1000px) {
 .hbd-tw-page .hbd-tw-archive__filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hbd-tw-archive__filter-actions { grid-column:1 / -1; }
}
@media (max-width:640px) {
 .hbd-tw-page .hbd-tw-archive__filters { grid-template-columns:minmax(0,1fr); gap:1rem; padding:1rem; }
 .hbd-tw-archive__filter-actions { flex-wrap:wrap; }
}
.hbd-tw-area-card:focus-visible,.hbd-tw-archive__filters :focus-visible { outline:3px solid #176a98; outline-offset:3px; }
.hbd-tw-archive__pagination ul { display:flex; flex-wrap:wrap; gap:1rem; list-style:none; padding:0; }

.hbd-tw-area-card,.hbd-tw-archive__card { min-width:0; overflow-wrap:break-word; }

.hbd-tw-archive__filters input,.hbd-tw-archive__filters select { box-sizing:border-box; }

/* Only the planning archive: leave house search on all other pages untouched. */
body.post-type-archive-hbd_themenwelt .advanced-search-nav { display:none !important; }
@media (max-width:640px) {
 .hbd-tw-area-grid { grid-template-columns:minmax(0,1fr); }
}

/* Personal planning tools reuse the article inputs; no additional form. */
.hbd-tw-roadmap { padding-left: 1.7em; counter-reset: hbd-tw-step; }
.hbd-tw-roadmap > li { counter-increment: hbd-tw-step; }
.hbd-tw-roadmap > li::marker { content: counter(hbd-tw-step) ". "; }
.hbd-tw-roadmap > li { padding: 16px; margin: 12px 0; background: #fff; border: 1px solid #d9e3ea; border-radius: 12px; }
.hbd-tw-roadmap h4, .hbd-tw-result-group h3 { margin: 0 0 10px; }
.hbd-tw-step-condition { font-size: .9em; color: #4b6073; margin: 0 0 8px; }
.hbd-tw-result-group { padding: 18px 0; border-top: 1px solid #d9e3ea; min-width: 0; }
.hbd-tw-result-group li { margin: 8px 0; overflow-wrap: anywhere; }
[data-hbd-tw-scenarios] h5 { font-size: 1em; margin: 16px 0 8px; }
[data-hbd-tw-scenarios] li { margin: 10px 0; }
[data-hbd-tw-scenarios] li > span { display: block; }
[data-hbd-tw-scenarios] .hbd-tw-remember { margin-top: 8px; }
@media print {
 .hbd-tw-print-sheet h3 { break-after: avoid; }
 .hbd-tw-print-sheet .hbd-tw-result-group { border: 0; padding: 8px 0; }
}
