/* schliessanlage-hausverwaltung — page layout only (tokens from theme.css; no colours, no new sizes). Owner: page builder b9. */

/* 01 Hero: contact card for property managers in the aside. */
.sh-hero .hero__aside { align-self: center; }
.sh-contact { gap: var(--sp-3); }
.sh-contact .phone-block__kicker { display: flex; align-items: center; gap: 10px; color: var(--c-accent-text); }
.sh-contact__line { color: var(--c-text); }
.sh-contact .phone-block__facts li { align-items: flex-start; }
.sh-contact .phone-block__facts .i { flex: none; margin-top: 2px; }
.sh-contact .phone-block__alt { display: flex; align-items: flex-start; gap: 10px; }
.sh-contact .phone-block__alt .i { flex: none; margin-top: 3px; color: var(--c-accent-text); }
.sh-contact .phone-block__alt a { overflow-wrap: anywhere; }

/* 03 Three ground rules on the yellow band: three columns. */
.sh-rules { display: grid; gap: var(--sp-7) var(--gap); margin: var(--sp-8) 0 0; }
@media (min-width: 56.25em) { .sh-rules { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: clamp(28px, 4vw, 56px); } }
.sh-rules__item { display: grid; align-content: start; gap: var(--sp-3); }
.sh-rules__item > * { margin: 0; }
.sh-rules__item h3 { font-size: var(--fs-lg); }

/* 04 Anlagentypen: a ladder of three full-width rows. */
.sh-tiers { display: grid; gap: var(--sp-4); margin: 0; }
.sh-tier .chip { width: fit-content; max-width: 100%; }
.sh-tier .card__title { font-size: var(--fs-xl); }
.sh-tier__head { display: grid; gap: var(--sp-3); justify-items: start; }
@media (min-width: 62em) {
	.sh-tier { display: grid; grid-template-columns: 5.5rem minmax(0, 25rem) minmax(0, 1fr); column-gap: clamp(20px, 3vw, 44px); align-items: start; }
	.sh-tier__text { padding-top: 6px; }
}

/* 05 Schlüsselbuch: ledger table beside the yearly-check note. */
.sh-ledger { display: grid; gap: var(--gap); align-items: start; }
@media (min-width: 62em) { .sh-ledger { grid-template-columns: minmax(0, 1fr) minmax(260px, 20rem); } }
.sh-ledger .cmp { min-width: 0; }
.sh-ledger .cmp--stack td::before { display: none; }
.sh-ledger__note { grid-template-columns: minmax(0, 1fr); }
.sh-ledger .cmp tbody th { width: 34%; white-space: nowrap; }
@media (max-width: 43.74em) { .sh-ledger .cmp tbody th { width: auto; white-space: normal; } }

/* 06 Schließplan: three trigger cards under the split. */
.sh-plan__triggers { margin-top: var(--sp-9); }

/* 07 Verlust: two-column timeline (1–3 left, 4–6 right) on desktop. */
.sh-loss { max-width: none; margin-top: var(--sp-8); }
.sh-loss .step__n { flex: none; }
.sh-loss .step__body { flex: 1 1 0%; min-width: 0; }
.sh-loss .step__title { font-size: var(--fs-lg); }
@media (min-width: 62em) {
	.sh-loss { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(3, auto); grid-auto-flow: column; column-gap: clamp(40px, 5vw, 80px); }
	.sh-loss .step:nth-child(3)::after { display: none; }
	.sh-loss .step:nth-child(3), .sh-loss .step:nth-child(6) { padding-bottom: 0; }
}

/* 09 Sicherungskarte: panel left (sticky on desktop), four cards right. */
.sh-wallet { display: grid; gap: var(--gap); align-items: start; }
.sh-wallet__panel { min-height: 0; justify-content: flex-start; }
.sh-wallet__panel h2 { font-size: var(--fs-2xl); }
@media (min-width: 62em) {
	.sh-wallet { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 3.4vw, 48px); }
	.sh-wallet__panel { position: sticky; top: calc(var(--admin-bar) + var(--header-h-s) + 96px); min-height: 360px; justify-content: flex-end; }
}

/* 10 Routes: h3 titles inside the boxed icon list. */
.sh-routes h3 { font-size: var(--fs-md); }
.sh-routes h3 + p { margin-top: var(--sp-1); }

/* 11 FAQ head above the two columns. */
#faq .faq--2col { margin-top: var(--sp-6); }
