/*
 * recapital Bewirtschaftung – Komponenten
 * Farben, Schriften und Grössen kommen aus theme.json (Brand Kit 10.10.2026).
 * Hier nur, was theme.json nicht abbilden kann: Kopfzeile, Logo-Wechsel, Raster-Details,
 * Icons, mobile Wischlisten, Schnellzugriff, Bewegung.
 */

/* ---------- Textgrössen mobil laut Brand Kit (bis 767px) ---------- */
@media (max-width: 767px) {
	:root {
		--wp--preset--font-size--text: 16px;
		--wp--preset--font-size--zwischentitel: 17px;
		--wp--preset--font-size--lead: 18px;
		--wp--preset--font-size--unterabschnitt: 19px;
	}
}

body { -webkit-font-smoothing: antialiased; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
:where(a, button) { touch-action: manipulation; }
:focus-visible { outline: 2px solid var(--wp--preset--color--primaer); outline-offset: 2px; }
.rb-num { font-variant-numeric: tabular-nums; white-space: nowrap; }
sup { font-size: .62em; vertical-align: .43em; line-height: 0; }
.rb-notfall, .rb-notfall a, a.rb-notfall { color: var(--wp--preset--color--notfall); font-weight: 600; }

/* Titel mit «recapital» oder Namen: als H3 in Hanken setzen (Brand Kit Seite 2) */
.rb-h3, .rb-member__name {
	font-family: var(--wp--preset--font-family--text) !important;
	font-size: var(--wp--preset--font-size--unterabschnitt) !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	line-height: 1.3 !important;
	color: var(--wp--preset--color--text) !important;
}

/* ---------- Kopfzeile ---------- */
.rb-topbar { border-bottom: 1px solid var(--wp--preset--color--linie); font-size: 14px; color: var(--wp--preset--color--text-sekundaer); }
.rb-topbar > .alignwide { min-height: 40px; align-items: center; gap: 8px 24px; }
.rb-topbar p { margin: 0; }
.rb-topbar a { color: inherit; text-decoration: none; }
.rb-topbar__notfall strong { color: var(--wp--preset--color--notfall); font-weight: 600; }
.rb-header__inner { padding-block: 20px; gap: 24px; }
.rb-header__right { gap: 32px; }
.rb-logo { display: block; line-height: 0; }
.rb-logo img { display: block; height: 52px; width: auto; }
.rb-logo .rb-logo__m { display: none; height: 33px; }
.rb-nav .wp-block-navigation-item__content { text-decoration: none; padding-block: 10px; background-image: linear-gradient(currentColor, currentColor); background-repeat: no-repeat; background-position: 0 100%; background-size: 0% 1px; transition: background-size 400ms var(--wp--custom--ease-in-out); }
.rb-nav .wp-block-navigation-item__content:hover,
.rb-nav .current-menu-item > .wp-block-navigation-item__content { background-size: 100% 1px; }
.rb-nav .wp-block-navigation__container { gap: 28px; }
.wp-block-button__link { transition: background-color 200ms ease, color 200ms ease, transform 160ms var(--wp--custom--ease-out); }
.wp-block-button__link:active { transform: scale(.97); }

@media (max-width: 1099px) {
	.rb-topbar__info { display: none; }
	.rb-nav .wp-block-navigation__container { gap: 20px; }
	.rb-header__right { gap: 20px; }
}
@media (max-width: 899px) {
	.rb-topbar > .alignwide { justify-content: center !important; }
	.rb-header__inner { padding-block: 12px; }
	.rb-logo .rb-logo__d { display: none; }
	.rb-logo .rb-logo__m { display: block; }
	.rb-header .rb-header__cta { display: none !important; }
}
/* Mobiles Menü (Navigation-Overlay von WordPress) */
.rb-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 24px var(--wp--custom--gutter); }
.rb-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; }
.rb-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--wp--preset--color--linie); }
.rb-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 22px; font-weight: 600; padding-block: 16px; background: none; }
.rb-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.rb-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: stretch !important; text-align: left; }
.rb-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { justify-content: flex-start; }
.rb-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { width: 100%; }

/* ---------- Abschnitte ---------- */
.rb-section { padding-top: var(--wp--preset--spacing--70); }
.rb-section--last { padding-bottom: var(--wp--preset--spacing--70); }
.rb-tenant { padding-bottom: clamp(40px, 7vw, 88px); padding-top: clamp(48px, 7vw, 80px); margin-top: 0 !important; }
.rb-pagehead { padding-top: var(--wp--preset--spacing--60); }
.rb-sec-head { gap: 12px 24px; margin-bottom: clamp(20px, 3vw, 36px); }
.rb-sec-head > * { margin: 0 !important; }
.rb-sec-head__lead { max-width: 420px; }
.rb-sec-head__text p { max-width: 620px; margin-top: 10px; }
.rb-sec-head-cols { margin-bottom: clamp(24px, 3vw, 40px); }
.rb-more a { color: var(--wp--preset--color--text); text-decoration: none; border-bottom: 1px solid var(--wp--preset--color--primaer); padding-bottom: 2px; }
.rb-tag { background: var(--wp--preset--color--akzent-hell); color: var(--wp--preset--color--text); font-family: var(--wp--preset--font-family--text); font-size: 13px; font-weight: 500; letter-spacing: 0; text-transform: none; padding: 3px 9px; margin-left: 10px; vertical-align: middle; }
.rb-note { padding-top: 18px; border-top: 1px solid var(--wp--preset--color--linie); }
.rb-placeholder { background: var(--wp--preset--color--off-white); border: 1px dashed var(--wp--preset--color--rand-eingabe); padding: 24px; color: var(--wp--preset--color--text-sekundaer); }

/* ---------- Einstieg ---------- */
.rb-hero { padding-top: 12px; }
.rb-hero__cols { gap: 0 !important; }
.rb-hero__text { padding: 0 clamp(24px, 4vw, 56px) 56px 0; }
.rb-hero__text .rb-fade { animation: rb-fade 900ms var(--wp--custom--ease-out) 150ms both; }
.rb-hero__img { margin: 0; overflow: hidden; height: clamp(300px, 44vw, 560px); }
.rb-hero__img img { width: 100%; height: 100%; object-fit: cover; }
.rb-curtain { animation: rb-curtain 1500ms var(--wp--custom--ease-in-out) 150ms both; }
.rb-curtain img { animation: rb-settle 2600ms var(--wp--custom--ease-out) 150ms both; }
@keyframes rb-curtain { from { clip-path: inset(100% 0 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes rb-settle { from { transform: scale(1.12); } to { transform: scale(1); } }
@keyframes rb-fade { from { opacity: .001; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (max-width: 899px) {
	.rb-hero__cols { flex-direction: column-reverse !important; }
	.rb-hero__text { padding: 24px 0 0; }
	.rb-hero__img { height: 300px; }
	.rb-hero__ctas { flex-direction: column; align-items: stretch; }
	.rb-hero__ctas .wp-block-button__link { width: 100%; min-height: 52px; display: flex; align-items: center; justify-content: center; }
}

/* ---------- Mieter-Einstiege mit Icons ---------- */
.rb-acts { gap: 0 !important; border-top: 1px solid var(--wp--preset--color--linie); }
.rb-act { padding: 28px 28px 8px; }
.rb-act:first-child { padding-left: 0; }
.rb-act + .rb-act { border-left: 1px solid var(--wp--preset--color--linie); }
.rb-act h3 { margin: 14px 0 6px; }
.rb-act h3 a { color: var(--wp--preset--color--text); text-decoration: none; }
.rb-act h3 a:hover { text-decoration: underline; text-decoration-color: var(--wp--preset--color--primaer); }
.rb-act p { margin-top: 0; line-height: 1.55; }
.rb-act::before { content: ""; display: block; width: 28px; height: 28px; background: var(--wp--preset--color--primaer); -webkit-mask: var(--rb-icon) center / contain no-repeat; mask: var(--rb-icon) center / contain no-repeat; }
.rb-icon--schaden { --rb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.6 2.6-2.4-.6-.6-2.4z'/%3E%3C/svg%3E"); }
.rb-icon--telefon { --rb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
.rb-icon--team { --rb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM23 21v-2a4 4 0 0 0-3-3.9M16 3.1a4 4 0 0 1 0 7.8'/%3E%3C/svg%3E"); }
.rb-icon--dokument { --rb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9zM14 3v6h6M8 13h8M8 17h5'/%3E%3C/svg%3E"); }
@media (max-width: 899px) {
	.rb-acts { flex-direction: column; }
	.rb-act, .rb-act:first-child { display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: 14px; padding: 18px 0; border-left: 0 !important; border-bottom: 1px solid var(--wp--preset--color--linie); }
	.rb-act::before { grid-row: 1 / span 2; }
	.rb-act h3 { margin: 0 0 4px; }
}

/* ---------- Karten, Leistungen, Team ---------- */
.rb-cards, .rb-tiles, .rb-people { gap: 28px !important; }
.rb-card figure, .rb-tile figure, .rb-person figure { margin: 0; overflow: hidden; }
.rb-card img, .rb-tile img { transition: transform 900ms var(--wp--custom--ease-out); }
@media (hover: hover) and (pointer: fine) {
	.rb-card:hover img, .rb-tile:hover img { transform: scale(1.04); }
}
.rb-card h3 { margin: 14px 0 4px; }
.rb-card__meta { display: flex; justify-content: space-between; gap: 12px; margin: 0; color: var(--wp--preset--color--text-sekundaer); }
.rb-card__meta .rb-num { color: var(--wp--preset--color--text); font-weight: 500; }
.rb-tile h3 { margin: 18px 0 12px; }
.rb-lines { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--wp--preset--color--linie); font-size: 15px; line-height: 1.5; color: var(--wp--preset--color--text-sekundaer); }
.rb-lines li { padding: 11px 0; border-bottom: 1px solid var(--wp--preset--color--linie); }
.rb-person p { margin: 0; }
.rb-person__name { font-weight: 600; margin-top: 12px !important; }
.rb-team-grid { gap: 56px 32px; }
.rb-member h2 { margin: 16px 0 2px; }
.rb-member p { margin: 0; }
.rb-facts { margin-top: 14px; }
.rb-facts li { display: grid; grid-template-columns: 100px minmax(0, 1fr); color: var(--wp--preset--color--text); overflow-wrap: anywhere; }
.rb-facts li span { color: var(--wp--preset--color--text-sekundaer); }
.rb-help { padding: 36px; display: flex; flex-direction: column; gap: 16px; }
.rb-help > * { margin: 0 !important; }
@media (max-width: 1099px) {
	.rb-tiles { flex-wrap: wrap !important; }
	.rb-tiles > .rb-tile { flex-basis: calc(50% - 14px) !important; flex-grow: 0 !important; }
}
@media (max-width: 899px) {
	.rb-tiles > .rb-tile { flex-basis: 100% !important; }
	.rb-swipe { overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--wp--custom--gutter); margin-inline: calc(-1 * var(--wp--custom--gutter)) !important; padding: 0 var(--wp--custom--gutter) 8px; overscroll-behavior-x: contain; scrollbar-width: none; flex-wrap: nowrap !important; }
	.rb-swipe::-webkit-scrollbar { display: none; }
	.rb-swipe > .wp-block-column { scroll-snap-align: start; flex: 0 0 auto !important; }
	.rb-cards > .wp-block-column { width: min(300px, 80vw); }
	.rb-people > .wp-block-column { width: 148px; }
	.rb-help { padding: 28px 20px; }
	.rb-tile figure { display: none; }
	.rb-tile h3 { margin-top: 0; }
	.rb-tiles { gap: 32px !important; }
	.rb-member { display: grid; grid-template-columns: 112px minmax(0, 1fr); column-gap: 16px; align-items: start; }
	.rb-member figure { grid-row: 1 / span 2; }
	.rb-member h2 { margin-top: 0; }
	.rb-member .rb-facts { grid-column: 1 / -1; }
}

/* ---------- Fusszeile und Schnellzugriff ---------- */
.rb-footer { border-top: 1px solid var(--wp--preset--color--linie); padding-top: 48px; padding-bottom: 24px; font-size: 14px; line-height: 1.7; color: var(--wp--preset--color--text-sekundaer); }
.rb-footer strong { color: var(--wp--preset--color--text); font-weight: 600; }
.rb-footer a { color: var(--wp--preset--color--text); text-decoration: none; }
.rb-footer a:hover { text-decoration: underline; }
.rb-footer a.rb-notfall { color: var(--wp--preset--color--notfall); }
.rb-sender { display: flex; align-items: center; gap: 7px; border-top: 1px solid var(--wp--preset--color--linie); padding-top: 16px; margin-top: 8px; font-size: 13px; }
.rb-sender img { width: 56px; height: auto; }
.rb-quick { display: none; }
@media (max-width: 899px) {
	.rb-footer__cols { flex-wrap: wrap !important; }
	.rb-footer__cols > .wp-block-column { flex-basis: calc(50% - 16px) !important; }
	.rb-footer__cols > .wp-block-column:first-child { flex-basis: 100% !important; }
	.rb-quick { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); background: rgba(255, 255, 255, .96); border-top: 1px solid var(--wp--preset--color--linie); }
	.rb-quick__btn { display: flex; align-items: center; justify-content: center; min-height: 48px; font-size: 15px; font-weight: 500; text-decoration: none; }
	.rb-quick__btn--p { background: var(--wp--preset--color--primaer); color: #fff; }
	.rb-quick__btn--n { border: 1px solid var(--wp--preset--color--notfall); color: var(--wp--preset--color--notfall); }
	body { padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)); }
}

/* ---------- Weniger Bewegung ---------- */
@media (prefers-reduced-motion: reduce) {
	.rb-curtain, .rb-curtain img, .rb-hero__text .rb-fade { animation: none; }
	.rb-card img, .rb-tile img, .wp-block-button__link, .rb-nav .wp-block-navigation-item__content { transition: none; }
	.rb-card:hover img, .rb-tile:hover img, .wp-block-button__link:active { transform: none; }
}

/* ---------- Editor: Animationen aus, damit Bilder sichtbar bleiben ---------- */
.editor-styles-wrapper .rb-curtain, .editor-styles-wrapper .rb-curtain img, .editor-styles-wrapper .rb-fade { animation: none; }
.editor-styles-wrapper .rb-quick { display: none; }
