/* ==========================================================================
   Seiten aus dem Betheme-Builder (SEO GEO Suite → Smart Relaunch, Schritt 7):
   Abschnitte, Spalten, Ausrichtung, Symbole, Kundenstimmen – wie im alten Layout.
   ========================================================================== */

/* Abschnitte über die volle Breite, Inhalt in der Breite des alten Themes
   (overflow-x: clip – sonst entsteht bei Bildlaufleisten mit Breite eine waagrechte Leiste) */
.rb-main.rb-main.rb-main { overflow-x: clip; }
.rb-main.rb-main.rb-main .rb-section {
	position: relative;
	box-sizing: border-box;
	/* --rb-vw: width without the scroll bar (assets/blog.js), else 100vw */
	width: var(--rb-vw, 100vw);
	max-width: var(--rb-vw, 100vw);
	margin-left: calc(50% - var(--rb-vw, 100vw) / 2);
	margin-right: calc(50% - var(--rb-vw, 100vw) / 2);
}
.rb-main.rb-main.rb-main .rb-section:not(.rb-section-full) > * {
	max-width: var(--rb-wrap);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--rb-col);
	padding-right: var(--rb-col);
}
.rb-main.rb-main.rb-main .rb-section:not(.rb-section-full) > * { box-sizing: border-box; }
/* Spalten wie im Builder: jede Spalte hat innen den Abstand der alten Spalten (--rb-col links und rechts) –
   Spaltengruppen selbst also ohne eigenen Rand. */
.rb-main.rb-main.rb-main .rb-section:not(.rb-section-full) > :is(.rb-items, .rb-wraps) { padding-left: 0; padding-right: 0; }
.rb-main.rb-main.rb-main .rb-items > .wp-block-column { padding-left: var(--rb-col); padding-right: var(--rb-col); }
/* Hintergrund eines Wraps (.rb-wrap-bg) bleibt so breit wie der Wrap, der Abstand gilt für seinen Inhalt. */
.rb-main.rb-main.rb-main .rb-wraps > .wp-block-column > :not(.wp-block-columns, .rb-wrap-bg),
.rb-main.rb-main.rb-main .rb-wraps > .wp-block-column > .rb-wrap-bg > :not(.wp-block-columns) { margin-left: var(--rb-col); margin-right: var(--rb-col); }
/* Bild ohne Abstand darunter, wenn der Abschnitt mit ihm endet */
.rb-main.rb-main.rb-main .rb-section > *:last-child { margin-bottom: 0; }

/* Spalten (Wraps und Elemente nebeneinander): ohne Lücke wie im Builder */
.rb-main.rb-main.rb-main .wp-block-columns.rb-wraps,
.rb-main.rb-main.rb-main .wp-block-columns.rb-items {
	gap: 0;
	margin: 0;
}
.rb-main.rb-main.rb-main .rb-wraps > .wp-block-column,
.rb-main.rb-main.rb-main .rb-items > .wp-block-column { box-sizing: border-box; min-width: 0; }
.rb-main.rb-main.rb-main .wp-block-column > *:last-child { margin-bottom: 0; }

/* Gleich hohe Wraps; der Inhalt sitzt oben, in der Mitte oder unten (Hintergrund über die ganze Höhe) */
.rb-main.rb-main.rb-main .rb-equal > .rb-wraps { align-items: stretch; }
.rb-main.rb-main.rb-main .rb-equal > .rb-wraps > .wp-block-column {
	align-self: stretch;
	display: flex;
	flex-direction: column;
}
.rb-main.rb-main.rb-main .rb-equal > .rb-wraps > .is-vertically-aligned-center { justify-content: center; }
.rb-main.rb-main.rb-main .rb-equal > .rb-wraps > .is-vertically-aligned-bottom { justify-content: flex-end; }

/* Ausrichtung der Elemente (Builder: „Align“, „Align mobile“) */
.rb-main.rb-main.rb-main .rb-align-left { text-align: left; }
.rb-main.rb-main.rb-main .rb-align-center { text-align: center; }
.rb-main.rb-main.rb-main .rb-align-right { text-align: right; }
.rb-main.rb-main.rb-main .rb-align-justify { text-align: justify; }
.rb-main.rb-main.rb-main .rb-align-center .wp-block-buttons { justify-content: center; }
.rb-main.rb-main.rb-main .rb-align-right .wp-block-buttons { justify-content: flex-end; }
.rb-main.rb-main.rb-main .rb-align-center .wp-block-social-links { justify-content: center; }
.rb-main.rb-main.rb-main .rb-align-right .wp-block-social-links { justify-content: flex-end; }
@media (max-width: 959px) {
	.rb-main.rb-main.rb-main .rb-align-tablet-left { text-align: left; }
	.rb-main.rb-main.rb-main .rb-align-tablet-center { text-align: center; }
	.rb-main.rb-main.rb-main .rb-align-tablet-right { text-align: right; }
	.rb-main.rb-main.rb-main .rb-align-tablet-center .wp-block-buttons { justify-content: center; }
}
@media (max-width: 767px) {
	.rb-main.rb-main.rb-main .rb-align-mobile-left { text-align: left; }
	.rb-main.rb-main.rb-main .rb-align-mobile-center { text-align: center; }
	.rb-main.rb-main.rb-main .rb-align-mobile-right { text-align: right; }
	.rb-main.rb-main.rb-main .rb-align-mobile-center .wp-block-buttons { justify-content: center; }
	.rb-main.rb-main.rb-main .rb-items > .wp-block-column:empty { display: none; }
}

/* Bilder in Textelementen stehen wie Text (zentriert, wenn das Element zentriert ist) */
.rb-main.rb-main.rb-main .rb-item .wp-block-image:not(.alignleft):not(.alignright):not(.aligncenter) { margin-bottom: 0; }
.rb-main.rb-main.rb-main .wp-block-image.aligncenter { text-align: center; }

/* Linie ([hr], Trenner mit Linie) */
.rb-main.rb-main.rb-main hr.rb-hr { height: 1px; border: 0; background: var(--rb-line, rgba(0, 0, 0, .1)); opacity: 1; }
.rb-main.rb-main.rb-main hr.rb-hr.has-background { background: currentColor; }

/* Icon-Box: Bild über Überschrift, zentriert */
.rb-main.rb-main.rb-main .rb-icon-box { text-align: center; }
.rb-main.rb-main.rb-main .rb-icon-box .wp-block-image { margin: 0 0 15px; }
.rb-main.rb-main.rb-main .rb-icon-box h1,
.rb-main.rb-main.rb-main .rb-icon-box h2,
.rb-main.rb-main.rb-main .rb-icon-box h3,
.rb-main.rb-main.rb-main .rb-icon-box h4,
.rb-main.rb-main.rb-main .rb-icon-box h5,
.rb-main.rb-main.rb-main .rb-icon-box h6 { margin-bottom: 10px; }

/* Symbole des alten Themes ([icon]) als Masken in der Textfarbe */
.rb-main.rb-main.rb-main .rb-icon,
.site-header .rb-icon,
.site-footer .rb-icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: .3em;
	vertical-align: -.125em;
	background: currentColor;
	-webkit-mask: var(--rb-i) center / contain no-repeat;
	mask: var(--rb-i) center / contain no-repeat;
	--rb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='4'/%3E%3C/svg%3E");
}
.rb-icon-plus-squared { --rb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 1h12a1 1 0 011 1v12a1 1 0 01-1 1H2a1 1 0 01-1-1V2a1 1 0 011-1zm5 3v3H4v2h3v3h2V9h3V7H9V4z'/%3E%3C/svg%3E") !important; }
.rb-icon-plus { --rb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7 2h2v5h5v2H9v5H7V9H2V7h5z'/%3E%3C/svg%3E") !important; }
.rb-icon-plus-circled { --rb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a7 7 0 110 14A7 7 0 018 1zM7 4v3H4v2h3v3h2V9h3V7H9V4z'/%3E%3C/svg%3E") !important; }
.rb-icon-right-circled { --rb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a7 7 0 110 14A7 7 0 018 1zM7 4.5 5.6 5.9 7.7 8l-2.1 2.1L7 11.5 10.5 8z'/%3E%3C/svg%3E") !important; }
.rb-icon-right-open-big { --rb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 1.5 3.6 2.9 8.7 8l-5.1 5.1L5 14.5 11.5 8z'/%3E%3C/svg%3E") !important; }
.rb-icon-ok,
.rb-icon-check { --rb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 10.6 2.7 7.3 1.3 8.7 6 13.4l8.7-8.7-1.4-1.4z'/%3E%3C/svg%3E") !important; }
.rb-icon-ok-circled { --rb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a7 7 0 110 14A7 7 0 018 1zm3.3 4.3L7 9.6 4.7 7.3 3.3 8.7 7 12.4l5.7-5.7z'/%3E%3C/svg%3E") !important; }
.rb-icon-heart { --rb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 14.5 1.9 8.6A3.8 3.8 0 018 3.4a3.8 3.8 0 016.1 5.2z'/%3E%3C/svg%3E") !important; }
.rb-icon-star { --rb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1l2.2 4.6 5 .6-3.7 3.4 1 5L8 12.2 3.5 14.6l1-5L.8 6.2l5-.6z'/%3E%3C/svg%3E") !important; }
.rb-icon-phone { --rb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.6 1 6 3.4 4.6 5.6a9 9 0 005.8 5.8L12.6 10 15 12.4 13 15C6.8 15 1 9.2 1 3z'/%3E%3C/svg%3E") !important; }
.rb-icon-mail { --rb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1 3h14v10H1zm1.5 1.5v.3L8 8.4l5.5-3.6v-.3z'/%3E%3C/svg%3E") !important; }
.rb-icon-comment,
.rb-icon-comment-line,
.rb-icon-chat { --rb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M2 2h12a1 1 0 011 1v8a1 1 0 01-1 1H7l-3.5 3v-3H2a1 1 0 01-1-1V3a1 1 0 011-1zm.5 1.5v7h2.5v1.4L6.6 10.5h6.9v-7z'/%3E%3C/svg%3E") !important; }
.rb-icon-location { --rb-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a5 5 0 015 5c0 3.5-5 9-5 9S3 9.5 3 6a5 5 0 015-5zm0 3a2 2 0 100 4 2 2 0 000-4z'/%3E%3C/svg%3E") !important; }

/* Kundenstimmen (Betheme-Slider als Liste) */
.rb-main.rb-main.rb-main .rb-testimonials {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 40px;
}
.rb-main.rb-main.rb-main .rb-testimonial { text-align: center; }
.rb-main.rb-main.rb-main .rb-testimonial-photo img { width: 85px; height: 85px; border-radius: 50%; object-fit: cover; }
.rb-main.rb-main.rb-main .rb-testimonial-quote { border: 0; margin: 0; padding: 0; font-style: normal; }
.rb-main.rb-main.rb-main .rb-testimonial-quote cite { display: block; margin-top: 10px; font-style: normal; font-weight: 700; color: var(--rb-heading); }
/* Gleiche Höhe für Foto, Titel, Text und Name in allen Spalten: die Teile jeder Stimme liegen in gemeinsamen Zeilen
   (feste Zeilen 1–4, damit eine Stimme ohne Foto oder Titel nicht verrutscht; Stimmen mit mehreren Textteilen
   bleiben ohne Subgrid, sonst lägen die Teile in Zeile 3 übereinander). */
@supports (grid-template-rows: subgrid) and selector(:has(a)) {
	.rb-main.rb-main.rb-main .rb-testimonials { row-gap: 0; }
	.rb-main.rb-main.rb-main .rb-testimonial { grid-row: span 4; margin: 0 0 40px; }
	.rb-main.rb-main.rb-main .rb-testimonial:not(:has(> .rb-testimonial-quote > :not(h1, h2, h3, h4, h5, h6, cite) ~ :not(h1, h2, h3, h4, h5, h6, cite))) { display: grid; grid-template-rows: subgrid; align-content: start; }
	.rb-main.rb-main.rb-main .rb-testimonial:not(:has(> .rb-testimonial-quote > :not(h1, h2, h3, h4, h5, h6, cite) ~ :not(h1, h2, h3, h4, h5, h6, cite))) > * { margin-top: 0; margin-bottom: 0; }
	.rb-main.rb-main.rb-main .rb-testimonial:not(:has(> .rb-testimonial-quote > :not(h1, h2, h3, h4, h5, h6, cite) ~ :not(h1, h2, h3, h4, h5, h6, cite))) > .rb-testimonial-photo { grid-row: 1; margin-bottom: 15px; }
	.rb-main.rb-main.rb-main .rb-testimonial:not(:has(> .rb-testimonial-quote > :not(h1, h2, h3, h4, h5, h6, cite) ~ :not(h1, h2, h3, h4, h5, h6, cite))) > .rb-testimonial-quote { display: contents; }
	.rb-main.rb-main.rb-main .rb-testimonial:not(:has(> .rb-testimonial-quote > :not(h1, h2, h3, h4, h5, h6, cite) ~ :not(h1, h2, h3, h4, h5, h6, cite))) > .rb-testimonial-quote > * { grid-row: 3; margin: 0; }
	.rb-main.rb-main.rb-main .rb-testimonial:not(:has(> .rb-testimonial-quote > :not(h1, h2, h3, h4, h5, h6, cite) ~ :not(h1, h2, h3, h4, h5, h6, cite))) > .rb-testimonial-quote > :is(h1, h2, h3, h4, h5, h6) { grid-row: 2; align-self: start; margin: 0 0 15px; }
	.rb-main.rb-main.rb-main .rb-testimonial:not(:has(> .rb-testimonial-quote > :not(h1, h2, h3, h4, h5, h6, cite) ~ :not(h1, h2, h3, h4, h5, h6, cite))) > .rb-testimonial-quote > cite { grid-row: 4; align-self: start; margin-top: 15px; }
}

/* Social-Symbole aus Textelementen ([icon] in Links) */
.rb-main.rb-main.rb-main .wp-block-social-links.rb-social { gap: 10px; margin: 0 0 15px; }

/* Knöpfe (Builder-Knöpfe, „In den Warenkorb“): Text in der Knopffarbe, nicht in der Linkfarbe des Inhalts.
   Umriss-Knöpfe und Knöpfe mit eigener Textfarbe behalten ihre Farbe. */
.rb-main.rb-main.rb-main .wp-block-button:not(.is-style-outline) > a.wp-block-button__link:not(.has-text-color),
.rb-main.rb-main.rb-main .woocommerce a.button:not(.has-text-color),
.rb-main.rb-main.rb-main a.button.add_to_cart_button {
	color: var(--wp--preset--color--white, #fff);
	text-decoration: none;
}
.rb-main.rb-main.rb-main .wp-block-button > a.wp-block-button__link:hover,
.rb-main.rb-main.rb-main .woocommerce a.button:hover { text-decoration: none; opacity: .9; }

/* Bilder: „Graustufen“ (Farbe beim Überfahren) und „Strecken“ (volle Spaltenbreite) wie in Betheme */
.rb-main.rb-main.rb-main .rb-greyscale img { filter: grayscale(1); transition: filter .3s; }
.rb-main.rb-main.rb-main .rb-greyscale img:hover { filter: none; }
.rb-main.rb-main.rb-main .rb-stretch img { width: 100%; height: auto; }
