/*
 Theme Name:   PictoSense
 Theme URI:    https://pictosense.de
 Description:  Child Theme für den PictoSense-Shop. Layouts, Farben, Schriften und Abstände liegen in Divi (Theme Builder, Design-Variablen, Voreinstellungen). Hier steht nur, was Divi nicht kann.
 Author:       VF Digital
 Author URI:   https://vf-digital.com
 Template:     Divi
 Version:      1.5.0
 Requires PHP: 7.4
 Text Domain:  pictosense
*/

/* Farben kommen aus den Divi-Design-Variablen (var(--gcid-ps-…)).
   Ändert sich dort eine Farbe, ändert sie sich auch hier. */

/* Sichtbarer Fokusrahmen für die Tastaturbedienung (Markenleitfaden 1.3: 2 px Waldgrün) */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--gcid-ps-waldgruen, #2F5E4E);
	outline-offset: 2px;
}

/* ==========================================================================
   Header
   ========================================================================== */

.ps-hauptleiste {
	position: relative;
	z-index: 30;
}

.ps-header-icon {
	display: flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 5px;
}

.ps-hauptmenue .et-menu a,
.ps-hauptmenue .et-menu a:hover {
	opacity: 1 !important;
}

/* Farben der Gefühlskacheln */
.ps-ruhe          { --ps-kachel: var(--gcid-ps-ruhe, #CFDDDB); }
.ps-wachstum      { --ps-kachel: var(--gcid-ps-wachstum, #DCDBC6); }
.ps-mut           { --ps-kachel: var(--gcid-ps-mut, #EBD6C7); }
.ps-verbundenheit { --ps-kachel: var(--gcid-ps-verbundenheit, #EBD5D4); }
.ps-ruhe          { --ps-leit: var(--gcid-ps-ruhe-leit, #5E716D); }
.ps-wachstum      { --ps-leit: var(--gcid-ps-wachstum-leit, #56653F); }
.ps-mut           { --ps-leit: var(--gcid-ps-mut-leit, #8B4F3D); }
.ps-verbundenheit { --ps-leit: var(--gcid-ps-verbundenheit-leit, #72575B); }

@media (min-width: 981px) {

	/* Das Mega-Menü richtet sich nach der ganzen Header-Leiste */
	.ps-hauptleiste .et_pb_row,
	.ps-hauptleiste .et_pb_column,
	.ps-hauptmenue,
	.ps-hauptmenue .et_pb_menu_inner_container {
		position: static !important;
	}

	.ps-hauptmenue {
		flex: 1 1 auto;
	}

	.ps-hauptmenue .et_pb_menu__wrap {
		flex: 1 1 auto;
		justify-content: space-between;
	}

	/* Hauptpunkte */
	.ps-hauptmenue .et-menu > li {
		padding-left: 13px;
		padding-right: 13px;
	}

	.ps-hauptmenue .et-menu > li > a {
		display: flex;
		align-items: center;
		min-height: 44px;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.ps-hauptmenue .et-menu > li > a:hover,
	.ps-hauptmenue .et-menu > li.et-hover > a,
	.ps-hauptmenue .et-menu > li:focus-within > a,
	.ps-hauptmenue .et-menu > li.current-menu-item > a,
	.ps-hauptmenue .et-menu > li.current-menu-ancestor > a {
		color: var(--gcid-ps-waldgruen) !important;
	}

	.ps-hauptmenue .et-menu > li.current-menu-item > a,
	.ps-hauptmenue .et-menu > li.current-menu-ancestor > a {
		box-shadow: inset 0 -2px 0 var(--gcid-ps-waldgruen);
	}

	/* Untermenüs auch mit der Tastatur öffnen */
	.ps-hauptmenue .et-menu li:focus-within > .sub-menu {
		visibility: visible !important;
		opacity: 1 !important;
	}

	/* Einfache Untermenüs (Nach Motiv, Nach Raum, Bildsinn) */
	.ps-hauptmenue .et-menu > li:not(.mega-menu) > .sub-menu {
		width: 240px;
		padding: 8px 0 !important;
		border-top: 0 !important;
		border-radius: 10px;
		background: var(--gcid-ps-weiss) !important;
		box-shadow: 0 10px 24px rgba(40, 40, 30, 0.14);
	}

	.ps-hauptmenue .et-menu > li:not(.mega-menu) > .sub-menu li {
		width: 100%;
		padding: 0 !important;
	}

	.ps-hauptmenue .et-menu > li:not(.mega-menu) > .sub-menu a {
		display: flex;
		align-items: center;
		box-sizing: border-box;
		width: 100% !important;
		min-height: 44px;
		padding: 0 20px !important;
		font-weight: 500 !important;
		color: var(--gcid-ps-tinte) !important;
	}

	.ps-hauptmenue .et-menu > li:not(.mega-menu) > .sub-menu a:hover,
	.ps-hauptmenue .et-menu > li:not(.mega-menu) > .sub-menu a:focus-visible {
		background: var(--gcid-ps-papier);
		color: var(--gcid-ps-waldgruen) !important;
	}

	/* Mega-Menü „Nach Gefühl“ */
	.ps-hauptmenue li.mega-menu > .sub-menu {
		left: 0 !important;
		right: 0 !important;
		top: 100% !important;
		box-sizing: border-box;
		width: 100% !important;
		display: grid !important;
		grid-template-columns: 250px repeat(4, minmax(0, 1fr)) 240px;
		column-gap: 16px;
		align-items: stretch;
		padding: 36px max(40px, calc((100% - 1320px) / 2 + 40px)) 40px !important;
		border-top: 1px solid var(--gcid-ps-linie) !important;
		border-radius: 0;
		background: var(--gcid-ps-weiss) !important;
		box-shadow: 0 18px 30px rgba(20, 20, 18, 0.12);
	}

	.ps-hauptmenue li.mega-menu > .sub-menu > li {
		float: none !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.ps-hauptmenue li.mega-menu .sub-menu a {
		width: auto !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		text-decoration: none;
	}

	.ps-hauptmenue li.mega-menu .sub-menu .menu-item-has-children > a::after,
	.ps-hauptmenue li.mega-menu .sub-menu > li:not(.ps-mm-link) > a:first-child::after {
		display: none !important;
	}

	.ps-hauptmenue li.mega-menu .sub-menu .sub-menu {
		position: static !important;
		visibility: visible !important;
		opacity: 1 !important;
		display: block !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.ps-hauptmenue li.mega-menu .sub-menu .sub-menu li {
		padding: 0 !important;
		width: auto !important;
	}
}

/* Bausteine des Mega-Menüs (Desktop) */
@media (min-width: 981px) {

	.ps-mm-dachzeile {
		font-size: 12px;
		font-weight: 600;
		line-height: 1.4;
		letter-spacing: 0.22em;
		text-transform: uppercase;
		color: var(--gcid-ps-erdbraun);
	}

	.ps-mm-text {
		font-size: 13px;
		font-weight: 500;
		line-height: 1.5;
		color: var(--gcid-ps-text);
	}

	/* Einleitung */
	.ps-hauptmenue li.ps-mm-intro {
		display: flex !important;
		flex-direction: column;
		margin-right: 24px !important;
	}

	.ps-hauptmenue li.ps-mm-intro > a {
		display: flex !important;
		flex-direction: column;
		gap: 12px;
		color: var(--gcid-ps-tinte) !important;
	}

	.ps-mm-intro .ps-mm-titel {
		font-size: 22px;
		font-weight: 600;
		line-height: 1.3;
		color: var(--gcid-ps-tinte);
	}

	.ps-mm-intro .ps-mm-text {
		font-size: 14px;
		line-height: 1.6;
	}

	.ps-hauptmenue li.ps-mm-intro > .sub-menu {
		margin-top: auto !important;
	}

	/* Links „Alle Bilder ansehen“ und „Zum Set“ */
	.ps-hauptmenue .ps-mm-link > a {
		display: inline-flex !important;
		align-items: center;
		gap: 8px;
		min-height: 44px;
		font-size: 14px;
		font-weight: 600 !important;
		color: var(--gcid-ps-waldgruen) !important;
	}

	.ps-hauptmenue .ps-mm-link > a::after {
		content: "→";
		display: inline-block !important;
		position: static !important;
		font-family: inherit !important;
		transition: transform 0.2s ease;
	}

	.ps-hauptmenue .ps-mm-link > a:hover::after,
	.ps-hauptmenue .ps-mm-link > a:focus-visible::after {
		transform: translateX(3px);
	}

	/* Gefühlskacheln */
	.ps-hauptmenue li.ps-mm-kachel > a {
		display: flex !important;
		flex-direction: column;
		gap: 10px;
		color: var(--gcid-ps-tinte) !important;
	}

	.ps-mm-kachel .ps-mm-bild {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 210px;
		border-radius: 10px;
		background: var(--ps-kachel, var(--gcid-ps-stein));
		overflow: hidden;
	}

	.ps-mm-kachel .ps-mm-bild img {
		width: auto;
		height: auto;
		max-width: 80%;
		max-height: 178px;
		transition: transform 0.25s ease;
	}

	.ps-mm-kachel > a:hover .ps-mm-bild img,
	.ps-mm-kachel > a:focus-visible .ps-mm-bild img {
		transform: translateY(-4px);
	}

	.ps-mm-kachel .ps-mm-titel {
		font-size: 17px;
		font-weight: 700;
		line-height: 1.35;
	}

	/* Empfehlung */
	.ps-hauptmenue li.ps-mm-empfehlung {
		display: flex !important;
		flex-direction: column;
		box-sizing: border-box;
		margin-left: 24px !important;
		padding: 18px !important;
		border-radius: 10px;
		background: var(--gcid-ps-papier);
	}

	.ps-hauptmenue li.ps-mm-empfehlung > a {
		display: flex !important;
		flex-direction: column;
		gap: 12px;
		color: var(--gcid-ps-tinte) !important;
	}

	.ps-mm-empfehlung .ps-mm-dachzeile {
		font-size: 11px;
		letter-spacing: 0.16em;
	}

	.ps-mm-empfehlung .ps-mm-bild {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 120px;
		border-radius: 8px;
		background: var(--ps-kachel, var(--gcid-ps-stein));
	}

	.ps-mm-empfehlung .ps-mm-bild img {
		width: auto;
		height: auto;
		max-width: 92%;
		max-height: 104px;
	}

	.ps-mm-empfehlung .ps-mm-titel {
		font-size: 16px;
		font-weight: 700;
		line-height: 1.35;
	}

	.ps-hauptmenue li.ps-mm-empfehlung > .sub-menu {
		margin-top: auto !important;
	}
}

/* Abstände und Farben im Mega-Menü gegen die Divi-Grundregeln durchsetzen */
@media (min-width: 981px) {

	.ps-hauptmenue li.mega-menu > .sub-menu > li.ps-mm-intro {
		margin-right: 24px !important;
	}

	.ps-hauptmenue li.mega-menu > .sub-menu > li.ps-mm-empfehlung {
		margin-left: 24px !important;
		padding: 18px !important;
	}

	.ps-hauptmenue li.mega-menu > .sub-menu > li.ps-mm-intro > .sub-menu,
	.ps-hauptmenue li.mega-menu > .sub-menu > li.ps-mm-empfehlung > .sub-menu {
		margin-top: auto !important;
	}

	.ps-hauptmenue li.mega-menu .sub-menu li.ps-mm-link > a {
		color: var(--gcid-ps-waldgruen) !important;
		font-weight: 600 !important;
	}
}

/* Höhere Spezifität, weil Divi die Menüfarben mit !important im Seiten-CSS setzt */
@media (min-width: 981px) {

	.ps-hauptmenue.et_pb_menu .et-menu li.mega-menu > .sub-menu > li.ps-mm-intro,
	.ps-hauptmenue.et_pb_menu .et-menu li.mega-menu > .sub-menu > li.ps-mm-empfehlung {
		display: flex !important;
		flex-direction: column;
	}

	.ps-hauptmenue.et_pb_menu .et-menu li.mega-menu .sub-menu li.ps-mm-link > a {
		color: var(--gcid-ps-waldgruen) !important;
	}

	.ps-hauptmenue.et_pb_menu .et-menu li.mega-menu .sub-menu li.ps-mm-link > a:hover {
		color: var(--gcid-ps-tinte) !important;
	}
}

/* Nur im Handy-Menü sichtbare Menüpunkte (Mein Konto, Wunschliste) */
@media (min-width: 981px) {
	.ps-hauptmenue .et-menu > li.ps-nur-mobil {
		display: none !important;
	}
}

/* ==========================================================================
   Header auf Tablet und Handy
   ========================================================================== */

@media (max-width: 980px) {

	.ps-header-icon {
		display: none !important;
	}

	.ps-hauptleiste .et_pb_row {
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}

	.ps-hauptmenue {
		width: 100%;
	}

	/* Menü-Knopf links, Logo in der Mitte, Suche und Warenkorb rechts */
	.ps-hauptmenue .et_pb_menu_inner_container {
		display: flex !important;
		flex-direction: row !important;
		align-items: center;
		min-height: 44px;
	}

	.ps-hauptmenue .et_pb_menu__wrap {
		display: contents !important;
	}

	.ps-hauptmenue .et_mobile_nav_menu {
		order: 1;
		margin: 0 !important;
	}

	.ps-hauptmenue .et_pb_menu__logo-wrap {
		order: 2;
		flex: 1 1 auto;
		display: flex;
		justify-content: center;
		margin: 0 !important;
	}

	.ps-hauptmenue .et_pb_menu__logo img {
		width: 128px !important;
		max-width: 128px !important;
	}

	.ps-hauptmenue .et_pb_menu__search-button {
		order: 3;
	}

	.ps-hauptmenue .et_pb_menu__cart-button {
		order: 4;
	}

	.ps-hauptmenue .et_pb_menu__icon,
	.ps-hauptmenue .mobile_nav {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		margin: 0 !important;
	}

	/* Aufgeklapptes Menü */
	.ps-hauptmenue .et_mobile_menu {
		left: calc(-1 * var(--gvid-ps-seitenrand, 16px)) !important;
		width: calc(100% + 2 * var(--gvid-ps-seitenrand, 16px)) !important;
		box-sizing: border-box;
		padding: 0 16px 16px !important;
		border-top: 1px solid var(--gcid-ps-linie) !important;
		background: var(--gcid-ps-weiss) !important;
		box-shadow: 0 18px 30px rgba(20, 20, 18, 0.12);
	}

	.ps-hauptmenue .et_mobile_menu li {
		position: relative;
		border-bottom: 1px solid var(--gcid-ps-linie);
	}

	.ps-hauptmenue .et_mobile_menu li li {
		border-bottom: 0;
	}

	.ps-hauptmenue .et_mobile_menu li a {
		display: flex !important;
		align-items: center;
		min-height: 52px;
		padding: 0 52px 0 0 !important;
		border-bottom: 0 !important;
		font-size: 16px !important;
		font-weight: 700 !important;
		color: var(--gcid-ps-tinte) !important;
		background: transparent !important;
	}

	.ps-hauptmenue .et_mobile_menu li li a {
		min-height: 48px;
		font-size: 15px !important;
		font-weight: 600 !important;
	}

	.ps-hauptmenue .et_mobile_menu .sub-menu {
		padding: 0 0 8px !important;
	}

	.ps-hauptmenue .et_mobile_menu .mobile-toggle {
		position: absolute;
		top: 4px;
		right: 0;
		width: 44px;
		height: 44px;
	}

	.ps-hauptmenue .et_mobile_menu li.ps-mm-intro,
	.ps-hauptmenue .et_mobile_menu li.ps-mm-empfehlung {
		display: none !important;
	}

	/* Gefühle mit kleinem Bild */
	.ps-hauptmenue .et_mobile_menu li.ps-mm-kachel > a {
		display: grid !important;
		grid-template-columns: 52px 1fr;
		grid-template-rows: auto auto;
		column-gap: 14px;
		align-content: center;
		min-height: 66px;
	}

	.ps-hauptmenue .et_mobile_menu .ps-mm-kachel .ps-mm-bild {
		grid-row: 1 / span 2;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 52px;
		height: 56px;
		border-radius: 8px;
		background: var(--ps-kachel, var(--gcid-ps-stein));
	}

	.ps-hauptmenue .et_mobile_menu .ps-mm-kachel .ps-mm-bild img {
		width: auto;
		height: auto;
		max-width: 40px;
		max-height: 48px;
	}

	.ps-hauptmenue .et_mobile_menu .ps-mm-kachel .ps-mm-titel {
		align-self: end;
		font-size: 15px;
		font-weight: 700;
	}

	.ps-hauptmenue .et_mobile_menu .ps-mm-kachel .ps-mm-text {
		align-self: start;
		font-size: 12px;
		font-weight: 500;
		color: var(--gcid-ps-text);
	}

	/* Mein Konto und Wunschliste */
	.ps-hauptmenue .et_mobile_menu li.ps-mobil-service a {
		min-height: 44px;
		font-size: 14px !important;
		font-weight: 600 !important;
	}
}

/* Infoleiste: auf dem Handy nur der erste Hinweis */
@media (max-width: 767px) {
	.ps-infoleiste .et_pb_text {
		text-align: center;
	}

	.ps-infoleiste .et_pb_text ~ .et_pb_text {
		display: none !important;
	}
}

/* Handy-Menü: keine grauen Hinterlegungen bei aufklappbaren Punkten */
@media (max-width: 980px) {
	.ps-hauptmenue .et_mobile_menu li,
	.ps-hauptmenue .et_mobile_menu li > a,
	.ps-hauptmenue .et_mobile_menu .mobile-toggle {
		background-color: transparent !important;
	}

	.ps-hauptmenue .et_mobile_menu li::before {
		background: none !important;
	}
}

/* ==========================================================================
   Footer
   ========================================================================== */

.ps-footer a {
	text-decoration: none;
	transition: color 0.2s ease;
}

.ps-footer .ps-footer-links a:hover,
.ps-footer .ps-footer-links a:focus-visible,
.ps-footer .ps-footer-klein a:hover,
.ps-footer .ps-footer-klein a:focus-visible {
	color: var(--gcid-ps-footer-ueberschrift) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ps-footer .ps-footer-klein p,
.ps-footer .ps-footer-klein a {
	font-size: 13px !important;
}

.ps-footer .ps-footer-recht p {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px 20px;
}

.ps-footer .ps-footer-icon:hover .et-pb-icon,
.ps-footer .ps-footer-icon:focus-visible .et-pb-icon {
	color: var(--gcid-ps-weiss) !important;
}

@media (max-width: 980px) {
	.ps-footer .ps-footer-recht p {
		justify-content: flex-start;
	}
}

/* Desktop: Logo links, Menü in der Mitte, alle Symbole zusammen rechts
   (Suche, Wunschliste, Mein Konto, Warenkorb) */
@media (min-width: 981px) {
	.ps-hauptmenue,
	.ps-hauptmenue .et_pb_menu_inner_container,
	.ps-hauptmenue .et_pb_menu__wrap {
		display: contents !important;
	}

	.ps-hauptmenue .et_pb_menu__logo-wrap {
		order: 0;
	}

	.ps-hauptmenue .et_pb_menu__menu {
		order: 1;
		flex: 1 1 auto;
		display: flex !important;
		justify-content: center;
		padding: 0 16px;
	}

	.ps-hauptmenue .et_pb_menu__search-button {
		order: 2;
	}

	.ps-hauptleiste .ps-icon-wunschliste {
		order: 3;
	}

	.ps-hauptleiste .ps-icon-konto {
		order: 4;
	}

	.ps-hauptmenue .et_pb_menu__cart-button {
		order: 5;
	}

	.ps-hauptmenue .et_pb_menu__icon {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		margin: 0 !important;
	}
}

/* Suche im Header: Eingabefeld über der Menüleiste */
.ps-hauptmenue .et_pb_menu__wrap--hidden > * {
	visibility: hidden;
}

.ps-hauptleiste:has(.et_pb_menu__search-container--visible) .ps-header-icon {
	visibility: hidden;
}

.ps-hauptmenue .et_pb_menu__search-container {
	top: 0 !important;
	bottom: 0 !important;
	width: auto !important;
	height: auto !important;
	box-sizing: border-box;
	left: var(--gvid-ps-seitenrand, 16px) !important;
	right: var(--gvid-ps-seitenrand, 16px) !important;
}

.ps-hauptmenue .et_pb_menu__search {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 100%;
	background: var(--gcid-ps-weiss);
}

.ps-hauptmenue .et_pb_menu__search-form {
	flex: 1 1 auto;
}

.ps-hauptmenue .et_pb_menu__search-input {
	box-sizing: border-box;
	width: 100%;
	height: 48px;
	padding: 0 20px !important;
	border: 0 !important;
	border-radius: 24px;
	background: var(--gcid-ps-papier) !important;
	font-size: 15px !important;
	color: var(--gcid-ps-tinte) !important;
}

.ps-hauptmenue .et_pb_menu__close-search-button {
	width: 44px;
	height: 44px;
	display: flex !important;
	align-items: center;
	justify-content: center;
}

@media (min-width: 981px) {
	.ps-hauptmenue .et_pb_menu__search-container {
		left: max(var(--gvid-ps-seitenrand, 40px), calc((100% - 1320px) / 2 + var(--gvid-ps-seitenrand, 40px))) !important;
		right: max(var(--gvid-ps-seitenrand, 40px), calc((100% - 1320px) / 2 + var(--gvid-ps-seitenrand, 40px))) !important;
		padding-left: 190px;
	}
}

@media (max-width: 980px) {
	/* Auf dem Handy nimmt die Suche die ganze Leiste ein, das Logo tritt zurück. */
	.ps-hauptmenue .et_pb_menu__search-container {
		padding-left: 0 !important;
	}

	.ps-hauptleiste:has(.et_pb_menu__search-container--visible) .et_pb_menu__logo-wrap {
		visibility: hidden;
	}
}

/* ==========================================================================
   Produktseite (Theme-Builder-Vorlage „Produkt PictoSense“, Kurzcodes in inc/produkt.php)
   ========================================================================== */

/* Brotkrumen */
.ps-brotkrumen .woocommerce-breadcrumb {
	margin: 0;
	font-size: 13px;
	font-weight: 500;
	color: var(--gcid-ps-text);
}

.ps-brotkrumen .woocommerce-breadcrumb a {
	color: var(--gcid-ps-text);
	text-decoration: none;
}

.ps-brotkrumen .woocommerce-breadcrumb a:hover {
	color: var(--gcid-ps-tinte);
	text-decoration: underline;
}

/* Galerie auf der Bühne */
.ps-galerie .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.ps-galerie .woocommerce-product-gallery__wrapper,
.ps-galerie .flex-viewport {
	border-radius: var(--gvid-ps-radius-karte, 10px);
	overflow: hidden;
	background: var(--gcid-ps-buehne, #E0D9D1);
}

.ps-galerie .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
	background: var(--gcid-ps-buehne, #E0D9D1);
}

.ps-galerie .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 14px 0 0 !important;
	padding: 0 !important;
}

.ps-galerie .flex-control-thumbs li {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	list-style: none;
}

.ps-galerie .flex-control-thumbs img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid #DDD8CF;
	box-sizing: border-box;
	background: var(--gcid-ps-buehne, #E0D9D1);
	opacity: 1 !important;
	cursor: pointer;
}

.ps-galerie .flex-control-thumbs img.flex-active {
	border: 2px solid var(--gcid-ps-tinte);
}

.ps-galerie .woocommerce-product-gallery__trigger {
	top: 14px !important;
	right: 14px !important;
	background: var(--gcid-ps-weiss) !important;
}

/* Vergrößerung ebenfalls auf der Bühne, Bedienelemente dunkel */
.pswp__bg {
	background: var(--gcid-ps-buehne, #E0D9D1) !important;
}

.pswp__top-bar,
.pswp__caption {
	background: transparent !important;
}

.pswp__counter,
.pswp__caption__center {
	color: var(--gcid-ps-tinte) !important;
}

.pswp__button,
.pswp__button--arrow--left::before,
.pswp__button--arrow--right::before {
	filter: invert(1);
}

/* Untertitel und Preis */
.ps-untertitel {
	font-size: var(--gvid-ps-fliesstext, 16px);
	line-height: 1.5;
	color: var(--gcid-ps-text);
}

.ps-preis .wc-gzd-additional-info-placeholder {
	display: none !important;
}

.ps-preis .price {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 28px !important;
	font-weight: 600 !important;
	line-height: 1.2;
	color: var(--gcid-ps-tinte) !important;
}

.ps-preis .price del {
	font-size: 0.7em;
	color: var(--gcid-ps-text-hell);
}

.ps-preis .legal-price-info,
.ps-preis .wc-gzd-additional-info {
	margin: 4px 0 0 !important;
	padding: 0 !important;
	font-size: 13px;
	color: var(--gcid-ps-text);
}

.ps-preis .legal-price-info .wc-gzd-additional-info {
	display: inline;
	margin: 0 0.35em 0 0;
}

.ps-preis a {
	color: var(--gcid-ps-waldgruen);
	text-decoration: underline;
}

/* Lieferzeit von Germanized direkt unter dem Preis */
.ps-lieferzeit {
	margin-top: -14px !important;
}

.ps-lieferzeit p,
.ps-lieferzeit .delivery-time-info {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 13px;
	line-height: 1.5;
	color: var(--gcid-ps-text);
}

/* Kernsatz in der Farbe des Gefühls */
.ps-kernsatz {
	padding: 16px 18px;
	border-radius: var(--gvid-ps-radius-karte, 10px);
	background: var(--ps-kachel, var(--gcid-ps-papier));
}

.ps-kernsatz p {
	margin: 0;
	padding: 0;
	font-size: 15px;
	line-height: 1.6;
	color: var(--gcid-ps-tinte);
}

.ps-kernsatz a {
	color: var(--gcid-ps-tinte);
	font-weight: 600;
	text-decoration: underline;
}

/* Auswahl als Felder (js/produkt.js) */
.ps-auswahl-aktiv table.variations.ps-versteckt,
.ps-auswahl-aktiv .woocommerce-variation-price,
.ps-auswahl-aktiv .woocommerce-variation-description {
	display: none !important;
}

.ps-auswahl {
	display: flex;
	flex-direction: column;
	gap: 22px;
	margin-bottom: 22px;
}

.ps-feld {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.ps-feld[hidden] {
	display: none;
}

.ps-feld-titel {
	margin: 0 0 10px;
	padding: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--gcid-ps-tinte);
}

.ps-feld-wert {
	font-weight: 500;
	color: var(--gcid-ps-text);
}

.ps-feld-wert:not(:empty)::before {
	content: ": ";
	color: var(--gcid-ps-tinte);
	font-weight: 600;
}

.ps-feld-optionen {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ps-option {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
	min-height: 48px;
	margin: 0;
	padding: 10px 16px;
	border: 1px solid var(--gcid-ps-rahmen-feld, #CFC8BC);
	border-radius: var(--gvid-ps-radius-button, 5px);
	background: var(--gcid-ps-weiss);
	color: var(--gcid-ps-tinte);
	font-family: inherit;
	text-align: left;
	cursor: pointer;
	transition: border-color 0.15s, background-color 0.15s;
}

.ps-option:hover {
	border-color: var(--gcid-ps-tinte);
}

.ps-option[aria-pressed="true"] {
	padding: 9px 15px;
	border: 2px solid var(--gcid-ps-tinte);
	background: var(--gcid-ps-papier);
}

.ps-option-groesse {
	font-size: 14px;
	font-weight: 600;
}

.ps-option-titel {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

.ps-option-hinweis {
	font-size: 12px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--gcid-ps-text);
}

.ps-farbfeld {
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px #B9B1A3;
	cursor: pointer;
}

.ps-farbfeld-natur   { background: var(--gcid-ps-rahmen-natur, #C9A57C); }
.ps-farbfeld-schwarz { background: var(--gcid-ps-rahmen-schwarz, #2A2826); }
.ps-farbfeld-weiss   { background: var(--gcid-ps-rahmen-weiss, #F7F6F2); }

.ps-farbfeld[aria-pressed="true"] {
	box-shadow: 0 0 0 2px var(--gcid-ps-weiss), 0 0 0 4px var(--gcid-ps-tinte);
}

.ps-groessenhilfe {
	display: inline-block;
	margin-top: 10px;
	font-size: 13px;
	font-weight: 600;
	color: var(--gcid-ps-waldgruen);
	text-decoration: underline;
}

.ps-groessenhilfe[hidden] {
	display: none;
}

.ps-wahl {
	margin: 0;
	padding: 0;
	font-size: 13px;
	font-weight: 500;
	color: var(--gcid-ps-text);
}

.ps-wahl-titel {
	font-weight: 600;
	color: var(--gcid-ps-tinte);
}

/* Menge, Warenkorb, Merken */
.ps-kaufen form.cart {
	margin: 0 !important;
}

.ps-kaufen .woocommerce-variation-add-to-cart,
.ps-kaufen form.cart:not(.variations_form) {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
}

.ps-kaufen .quantity {
	margin: 0 !important;
}

.ps-kaufen .quantity input.qty {
	width: 88px;
	height: 54px;
	padding: 0 8px;
	border: 1px solid var(--gcid-ps-rahmen-feld, #CFC8BC) !important;
	border-radius: var(--gvid-ps-radius-button, 5px);
	background: var(--gcid-ps-weiss) !important;
	font-size: 16px;
	font-weight: 600;
	color: var(--gcid-ps-tinte) !important;
	text-align: center;
}

.ps-kaufen .single_add_to_cart_button {
	flex: 1 1 200px;
	min-height: 54px;
	margin: 0 !important;
}

.ps-kaufen .single_add_to_cart_button.disabled {
	opacity: 0.55;
}

.ps-merken,
.ps-merken > div {
	display: flex;
	align-self: stretch;
}

.ps-merken .yith-wcwl-add-to-wishlist {
	margin: 0 !important;
}

.ps-merken a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 54px;
	height: 54px;
	padding: 0 14px;
	box-sizing: border-box;
	border: 1px solid var(--gcid-ps-rahmen-feld, #CFC8BC);
	border-radius: var(--gvid-ps-radius-button, 5px);
	background: var(--gcid-ps-weiss);
	color: var(--gcid-ps-tinte) !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
}

.ps-merken a:hover {
	border-color: var(--gcid-ps-tinte);
}

/* Nur das Herz zeigen, der Text bleibt für Screenreader lesbar */
.ps-merken a {
	width: 54px;
	height: auto !important;
	min-height: 54px;
	padding: 0;
}

.ps-merken a svg,
.ps-merken a img {
	display: none !important;
}

.ps-merken a::before {
	content: "";
	width: 22px;
	height: 22px;
	background: var(--gcid-ps-tinte);
	-webkit-mask: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-9.2-8.6C1.2 8.3 3 4.5 6.6 4.5c2.1 0 3.6 1.2 5.4 3.2 1.8-2 3.3-3.2 5.4-3.2 3.6 0 5.4 3.8 3.8 6.9C19 15.6 12 20 12 20z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-9.2-8.6C1.2 8.3 3 4.5 6.6 4.5c2.1 0 3.6 1.2 5.4 3.2 1.8-2 3.3-3.2 5.4-3.2 3.6 0 5.4 3.8 3.8 6.9C19 15.6 12 20 12 20z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ps-merken a[class*="--added"]::before,
.ps-merken a.yith-wcwl-add-to-wishlist-button--added::before {
	background: var(--gcid-ps-mut-leit, #8B4F3D);
}

.ps-merken a span {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Vorteile mit Linien-Symbolen */
.ps-vorteile ul,
ul.ps-vorteile {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0 !important;
	padding: 20px 0 0 !important;
	border-top: 1px solid var(--gcid-ps-linie);
	list-style: none !important;
}

.ps-vorteile li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0 !important;
	font-size: 14px;
	line-height: 1.5;
	color: var(--gcid-ps-text);
	list-style: none;
}

.ps-vorteile li::before {
	content: "";
	flex: 0 0 20px;
	height: 20px;
	background: var(--gcid-ps-waldgruen);
	-webkit-mask: var(--ps-symbol) center / contain no-repeat;
	mask: var(--ps-symbol) center / contain no-repeat;
}

.ps-vorteile li:nth-child(1) { --ps-symbol: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V3h12v6'/%3E%3Crect x='3' y='9' width='18' height='8' rx='2'/%3E%3Cpath d='M6 14h12v7H6z'/%3E%3C/svg%3E"); }
.ps-vorteile li:nth-child(2) { --ps-symbol: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6h12v10H2zM14 10h4l4 4v2h-8z'/%3E%3Ccircle cx='6' cy='18' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/svg%3E"); }
.ps-vorteile li:nth-child(3) { --ps-symbol: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M15.5 8.5a4 4 0 1 0 0 7M7.5 11h6M7.5 13.5h6'/%3E%3C/svg%3E"); }
.ps-vorteile li:nth-child(4) { --ps-symbol: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3C/svg%3E"); }

.ps-vorteile a {
	font-weight: 600;
	color: var(--gcid-ps-waldgruen);
	text-decoration: underline;
}

/* Zweiter Knopf (wie Voreinstellung „Button Sekundär“) */
.ps-knopf-sekundaer {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--gvid-ps-button-hoehe, 48px);
	margin: 0;
	padding: 12px 24px;
	border: 1px solid var(--gcid-ps-tinte);
	border-radius: var(--gvid-ps-radius-button, 5px);
	background: transparent;
	color: var(--gcid-ps-tinte);
	font-family: inherit;
	font-size: var(--gvid-ps-button, 14px);
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.15s;
}

.ps-knopf-sekundaer:hover {
	background: var(--gcid-ps-papier);
}

.ps-knopf-sekundaer:disabled {
	opacity: 0.6;
	cursor: wait;
}

/* Set-Kasten */
.ps-set {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 14px 16px;
	padding: 16px;
	border-radius: var(--gvid-ps-radius-karte, 10px);
	background: var(--gcid-ps-papier);
	scroll-margin-top: 120px;
}

.ps-set-bilder {
	display: flex;
	gap: 6px;
}

.ps-set-bilder img {
	display: block;
	width: 34px;
	height: 44px;
	object-fit: cover;
	border-radius: 2px;
	background: var(--gcid-ps-buehne);
	box-shadow: 0 2px 6px rgba(20, 0, 36, 0.08);
}

.ps-set-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 13px;
	line-height: 1.45;
	color: var(--gcid-ps-text);
}

.ps-set-text strong {
	font-size: 14px;
	font-weight: 600;
	color: var(--gcid-ps-tinte);
}

.ps-set-knopf {
	grid-column: 1 / -1;
	width: 100%;
}

.ps-set-meldung {
	grid-column: 1 / -1;
	margin: 0;
	padding: 0;
	font-size: 13px;
	color: var(--gcid-ps-tinte);
}

.ps-set-meldung:empty {
	display: none;
}

/* Bildsinn */
.ps-bildsinn-titel {
	margin: 0;
	padding: 0;
	font-size: var(--gvid-ps-h2, 32px);
	font-weight: 600;
	line-height: 1.2;
	color: var(--gcid-ps-tinte);
}

.ps-bildsinn-text p {
	margin: 0 0 1em;
	padding: 0;
	font-size: var(--gvid-ps-fliesstext, 16px);
	line-height: 1.7;
	color: var(--gcid-ps-text);
}

.ps-bildsinn-text p:last-child {
	margin-bottom: 0;
}

.ps-wo-es-wirkt {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 22px;
	border-radius: var(--gvid-ps-radius-karte, 10px);
	background: var(--gcid-ps-weiss);
}

.ps-wo-es-wirkt p {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--gcid-ps-text);
}

.ps-wo-es-wirkt strong {
	font-weight: 600;
	color: var(--gcid-ps-tinte);
}

.ps-symbol-ort {
	flex: 0 0 22px;
	height: 22px;
	margin-top: 1px;
	background: var(--gcid-ps-erdbraun);
	-webkit-mask: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ps-raumbild img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--gvid-ps-radius-karte, 10px);
}

/* Details */
.ps-details .et_pb_toggle {
	margin: 0 !important;
	padding: 20px 0 !important;
	border: 0 !important;
	border-top: 1px solid var(--gcid-ps-linie) !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.ps-details .et_pb_toggle:last-child {
	border-bottom: 1px solid var(--gcid-ps-linie) !important;
}

.ps-details .et_pb_toggle_title {
	font-size: 16px !important;
	font-weight: 600 !important;
	color: var(--gcid-ps-tinte) !important;
}

.ps-details .et_pb_toggle_content {
	padding-top: 14px !important;
	font-size: 15px;
	line-height: 1.7;
	color: var(--gcid-ps-text);
}

.ps-details-liste ul,
.ps-produktsicherheit ul {
	margin: 0 0 1em !important;
	padding-left: 18px !important;
	list-style: disc !important;
}

.ps-details-liste li {
	padding: 0 0 4px !important;
}

.ps-details-liste strong {
	font-weight: 600;
	color: var(--gcid-ps-tinte);
}

.ps-produktsicherheit,
.ps-produktsicherheit p {
	font-size: 14px;
	line-height: 1.6;
}

/* Karten: Serie und weitere Gefühle */
.ps-karten {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
	gap: var(--gvid-ps-raster, 24px);
}

.ps-karte-produkt {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ps-karte-bild {
	display: block;
	aspect-ratio: 1 / 1;
	border-radius: var(--gvid-ps-radius-karte, 10px);
	overflow: hidden;
	background: var(--gcid-ps-buehne);
}

.ps-karte-set .ps-karte-bild {
	background: var(--ps-kachel, var(--gcid-ps-buehne));
}

.ps-karte-bild img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
}

.ps-karte-bild:hover img {
	transform: scale(1.02);
}

.ps-karte-fuss {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-top: 14px;
}

.ps-karte-text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ps-karte-set-reihe {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6%;
	height: 100%;
	padding: 0 8%;
	box-sizing: border-box;
}

.ps-karte-bild .ps-karte-set-reihe img {
	width: 28%;
	height: auto;
	object-fit: contain;
	box-shadow: 0 6px 14px rgba(40, 40, 30, 0.14);
}

.ps-merken-klein a {
	width: 44px;
	min-width: 44px;
	min-height: 44px;
	height: 44px !important;
	border: 0;
	background: transparent;
}

.ps-merken-klein a::before {
	width: 20px;
	height: 20px;
}

.ps-karte-signatur {
	display: block;
	font-size: var(--gvid-ps-signatur, 11px);
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--gcid-ps-erdbraun);
}

.ps-karte-titel {
	margin: 4px 0 2px !important;
	padding: 0 !important;
	font-size: var(--gvid-ps-kartentitel, 17px) !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

.ps-karte-titel a {
	color: var(--gcid-ps-tinte) !important;
	text-decoration: none;
}

.ps-karte-titel a:hover {
	text-decoration: underline;
}

.ps-karte-preis {
	font-size: 14px;
	font-weight: 600;
	color: var(--gcid-ps-tinte);
}

.ps-karte-gefuehl {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 20px;
	border-radius: var(--gvid-ps-radius-karte, 10px);
	background: var(--ps-kachel, var(--gcid-ps-stein));
	color: var(--gcid-ps-tinte) !important;
	text-decoration: none !important;
	transition: transform 0.2s;
}

.ps-karte-gefuehl:hover {
	transform: translateY(-2px);
}

.ps-karte-gefuehl-bild img {
	display: block;
	width: 86px;
	height: 120px;
	object-fit: cover;
	box-shadow: 0 5px 18px rgba(20, 0, 36, 0.12);
}

.ps-karte-gefuehl-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ps-karte-gefuehl-text strong {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.2;
}

.ps-karte-gefuehl-text span {
	font-size: 14px;
	color: var(--gcid-ps-text);
}

/* Bewertungen */
.ps-bewertungen #reviews {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 32px;
	padding: clamp(20px, 3vw, 32px) !important;
	border: 1px solid var(--gcid-ps-linie) !important;
	border-radius: var(--gvid-ps-radius-karte, 10px);
}

.ps-bewertungen #reviews #comments {
	flex: 1 1 360px;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

.ps-bewertungen #reviews .commentlist:not(:has(li)),
.ps-bewertungen #reviews .woocommerce-pagination:empty,
.ps-bewertungen #reviews > .clear {
	display: none;
}

.ps-bewertungen #review_form_wrapper {
	flex: 1 1 100%;
	float: none !important;
	width: 100% !important;
}

.ps-bewertung-leer strong {
	display: block;
	margin-bottom: 4px;
	font-size: 17px;
	font-weight: 600;
	color: var(--gcid-ps-tinte);
}

.ps-bewertung-leer p {
	margin: 0;
	padding: 0;
	font-size: 15px;
	line-height: 1.6;
	color: var(--gcid-ps-text);
}

.ps-bewertungen .woocommerce-Reviews-title {
	display: none;
}

.ps-bewertungen .woocommerce-noreviews {
	margin: 0 0 16px;
	font-size: 15px;
	color: var(--gcid-ps-text);
}

.ps-bewertungen #review_form_wrapper[hidden] {
	display: none;
}

/* Feste Leiste unten auf dem Handy */
.ps-kaufleiste {
	display: none;
}

@media (max-width: 980px) {
	.ps-kaufleiste.ist-sichtbar {
		display: flex;
	}

	html.ps-kaufleiste-sichtbar body {
		padding-bottom: 76px;
	}

	html.ps-kaufleiste-sichtbar .et_pb_scroll_top {
		bottom: 88px !important;
	}

	.ps-kaufleiste {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 99;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
		border-top: 1px solid var(--gcid-ps-linie);
		background: var(--gcid-ps-weiss);
		box-shadow: 0 -4px 18px rgba(20, 0, 36, 0.06);
	}

	.ps-kaufleiste-preis {
		font-size: 18px;
		font-weight: 600;
		color: var(--gcid-ps-tinte);
		white-space: nowrap;
	}

	.ps-kaufleiste-preis del {
		display: none;
	}

	.ps-kaufleiste-knopf {
		flex: 1 1 auto;
		max-width: 260px;
		min-height: 48px;
		padding: 0 20px;
		border: 0;
		border-radius: var(--gvid-ps-radius-button, 5px);
		background: var(--gcid-ps-waldgruen);
		color: var(--gcid-ps-weiss);
		font-family: inherit;
		font-size: 14px;
		font-weight: 600;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		cursor: pointer;
	}
}

/* ==========================================================================
   Kategorieseiten (Theme-Builder-Vorlage „Kategorie PictoSense“, Kurzcodes in inc/kategorie.php)
   ========================================================================== */

/* Kopf in der Farbe des Gefühls, sonst Papier */
body.ps-kat-gefuehl .et_pb_section.ps-kat-hero {
	background-color: var(--ps-kachel) !important;
}

.ps-kat-untertitel,
.ps-kat-untertitel p {
	font-size: 20px !important;
	line-height: 1.4 !important;
	font-weight: 600 !important;
	color: var(--gcid-ps-tinte) !important;
}

.ps-kat-text p {
	margin: 0 0 1em;
	padding: 0;
	font-size: var(--gvid-ps-fliesstext, 16px);
	line-height: 1.7;
	color: var(--gcid-ps-text);
}

.ps-kat-text p:last-child {
	margin-bottom: 0;
}

.ps-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 6px;
}

.ps-chip {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 20px;
	box-sizing: border-box;
	border-radius: var(--gvid-ps-radius-chip, 22px);
	background: var(--gcid-ps-weiss);
	color: var(--gcid-ps-tinte) !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
	transition: background-color 0.15s;
}

.ps-chip:hover {
	background: var(--gcid-ps-papier);
}

.ps-chip.ist-aktiv {
	background: var(--gcid-ps-tinte);
	color: var(--gcid-ps-weiss) !important;
}

.ps-kat:not(.ps-kat-gefuehl) .ps-chip {
	border: 1px solid var(--gcid-ps-rahmen-feld, #CFC8BC);
}

.ps-kat-bild img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: var(--gvid-ps-radius-karte, 10px);
}

/* Leiste über den Produkten */
.ps-kat-leiste {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin-bottom: 32px;
	padding: 20px 0;
	border-bottom: 1px solid var(--gcid-ps-linie);
	font-size: 14px;
	font-weight: 500;
	color: var(--gcid-ps-text);
}

.ps-kat-sortierung {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.ps-kat-sortierung label {
	font-weight: 600;
	color: var(--gcid-ps-tinte);
}

.ps-kat-sortierung select {
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid var(--gcid-ps-rahmen-feld, #CFC8BC);
	border-radius: var(--gvid-ps-radius-button, 5px);
	background: var(--gcid-ps-weiss);
	color: var(--gcid-ps-tinte);
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
}

.ps-karten-kategorie {
	grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr));
	gap: 32px 24px;
}

.ps-kat-leer {
	margin: 0;
	font-size: 15px;
	color: var(--gcid-ps-text);
}

/* Für jeden Raum das passende Bild */
.ps-kat-ohne-raeume .ps-kat-raeume {
	display: none !important;
}

.ps-raum-karten {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
	gap: 28px 24px;
}

.ps-raum-karte {
	display: flex;
	flex-direction: column;
	gap: 10px;
	color: var(--gcid-ps-tinte) !important;
	text-decoration: none !important;
}

.ps-raum-karte img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--gvid-ps-radius-karte, 10px);
}

.ps-raum-karte-signatur {
	font-size: var(--gvid-ps-signatur, 11px);
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--gcid-ps-erdbraun);
}

.ps-raum-karte-text {
	font-size: 16px;
	line-height: 1.5;
	font-weight: 600;
}

.ps-raum-karte:hover .ps-raum-karte-text {
	text-decoration: underline;
}

/* Größenhilfe */
.ps-kat-ohne-groessen .ps-kat-groessen,
.ps-kat-ohne-groessenbild .ps-kat-groessen .et_pb_column:first-child {
	display: none !important;
}

.ps-kat-ohne-groessenbild .ps-kat-groessen .et_pb_column:last-child {
	width: 100% !important;
	max-width: var(--gvid-ps-textbreite, 640px);
	flex: 1 1 100% !important;
}

.ps-kat-groessenbild img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 6 / 5;
	object-fit: cover;
	border-radius: var(--gvid-ps-radius-karte, 10px);
}

.ps-groessenliste ul {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ps-groessenliste li {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 0 0 14px !important;
	border-bottom: 1px solid var(--gcid-ps-linie);
	font-size: 15px;
	line-height: 1.6;
	color: var(--gcid-ps-text);
}

.ps-groessenliste li:last-child {
	padding-bottom: 0 !important;
	border-bottom: 0;
}

.ps-groessenliste li strong {
	font-size: 16px;
	font-weight: 600;
	color: var(--gcid-ps-tinte);
}

/* SEO-Text unten */
.ps-kat-ohne-seo .ps-kat-seo-modul {
	display: none !important;
}

.ps-kat-seo {
	max-width: var(--gvid-ps-textbreite, 640px);
	margin-top: clamp(40px, 5vw, 64px);
	padding-top: 32px;
	border-top: 1px solid var(--gcid-ps-linie);
}

.ps-kat-seo h2 {
	margin: 0 0 12px;
	padding: 0;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--gcid-ps-tinte);
}

.ps-kat-seo p {
	margin: 0 0 1em;
	padding: 0;
	font-size: 15px;
	line-height: 1.7;
	color: var(--gcid-ps-text);
}

.ps-kat-titel {
	margin: 0;
	padding: 0;
	font-size: var(--gvid-ps-h1-gross, 52px);
	font-weight: 600;
	line-height: 1.05;
	color: var(--gcid-ps-tinte);
}

/* Handy: zwei Karten nebeneinander */
@media (max-width: 600px) {
	.ps-karten-kategorie {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 12px;
	}

	.ps-karten-kategorie .ps-karte-titel {
		font-size: 15px !important;
	}

	.ps-karten-kategorie .ps-karte-signatur {
		letter-spacing: 0.1em;
	}

	.ps-karten-kategorie .ps-merken-klein a {
		width: 36px;
		min-width: 36px;
		min-height: 44px;
	}
}


/* ==========================================================================
   Serien & Sets (Seiten /serien-sets/ und /serien-sets/<gefuehl>/, Kurzcodes in inc/serie.php)
   Die Abschnitte bekommen in Divi die Klasse ps-serie und das Gefühl, z. B. „ps-serie ps-mut“.
   ========================================================================== */

/* Untertitel der Serie in der Leitfarbe (Entwurf „Serie Mut“) */
.ps-serie-motto,
.ps-serie-motto p {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ps-leit, var(--gcid-ps-erdbraun));
}

/* „Die Geschichte der Serie“ als Karte */
.ps-serie-geschichte p {
	margin: 0 0 8px;
	padding: 0;
	font-size: 15px;
	line-height: 1.6;
}

.ps-serie-geschichte p:last-child {
	margin-bottom: 0;
}

.ps-serie-geschichte strong {
	color: var(--gcid-ps-tinte);
}

.ps-serie-geschichte .ps-serie-notiz {
	margin-top: 12px;
	font-size: 13px;
	color: var(--gcid-ps-text-hell);
}

/* Abschnitt mit den drei Motiven auf der Intentionsfläche */
/* doppelte Klasse, weil die Voreinstellung „Abschnitt Weiß“ ihre Farbe mit !important und drei Klassen setzt */
.et_pb_section.ps-serie-flaeche.ps-serie-flaeche.ps-serie {
	background-color: var(--ps-kachel) !important;
}

.ps-serie-motive {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 4vw, 56px);
}

.ps-serie-motiv {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.ps-serie-motiv-bild {
	display: block;
	width: 100%;
	max-width: 340px;
	margin-bottom: 18px;
}

.ps-serie-motiv-bild img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--gvid-ps-radius-karte, 10px);
	box-shadow: 0 12px 28px rgba(40, 30, 20, 0.12);
	transition: transform 0.3s;
}

.ps-serie-motiv-bild:hover img {
	transform: translateY(-3px);
}

.ps-serie-motiv-titel {
	margin: 4px 0 6px !important;
	padding: 0 !important;
	font-size: var(--gvid-ps-h3, 24px) !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
}

.ps-serie-motiv-titel a {
	color: var(--gcid-ps-tinte) !important;
	text-decoration: none;
}

.ps-serie-motiv-kernsatz {
	margin: 0 0 6px !important;
	padding: 0 !important;
	max-width: 320px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--gcid-ps-tinte);
}

.ps-serie-motiv-preis {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 14px;
	color: var(--gcid-ps-text);
}

/* Bilderwand-Bild neben der Set-Auswahl */
.ps-serie-bilderwand img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--gvid-ps-radius-karte, 10px);
	background: var(--gcid-ps-buehne);
}

/* Set-Auswahl */
.ps-serien-set {
	display: flex;
	flex-direction: column;
	gap: 16px;
	scroll-margin-top: 120px;
}

.ps-serien-set .ps-auswahl {
	margin-bottom: 0;
}

.ps-serien-set-preis {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding-top: 16px;
	border-top: 1px solid var(--gcid-ps-linie);
}

.ps-serien-set-summe {
	font-size: 26px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--gcid-ps-tinte);
}

.ps-serien-set-label {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--gcid-ps-text);
}

.ps-serien-set-einzeln,
.ps-serien-set-hinweis {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 13px;
	line-height: 1.5;
	color: var(--gcid-ps-text-hell);
}

.ps-serien-set-hinweis a {
	color: inherit;
	text-decoration: underline;
}

/* Erster Knopf (wie Voreinstellung „Button Primär“) */
.ps-knopf-primaer {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: var(--gvid-ps-button-hoehe, 48px);
	margin: 0;
	padding: 14px 24px;
	border: 0;
	border-radius: var(--gvid-ps-radius-button, 5px);
	background: var(--gcid-ps-waldgruen);
	color: var(--gcid-ps-weiss);
	font-family: inherit;
	font-size: var(--gvid-ps-button, 14px);
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.15s;
}

.ps-knopf-primaer:hover {
	background: var(--gcid-ps-tinte);
}

.ps-knopf-primaer:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* Übersicht: Karten der Serien */
.ps-serien-karten {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 40px);
}

.ps-serien-karte {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	align-items: center;
	overflow: hidden;
	border-radius: var(--gvid-ps-radius-karte, 10px);
	background: var(--gcid-ps-weiss);
	box-shadow: 0 5px 18px rgba(20, 0, 36, 0.05);
}

.ps-serien-karte-bild {
	display: block;
	height: 100%;
	background: var(--ps-kachel, var(--gcid-ps-buehne));
}

.ps-serien-karte-bild img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ps-serien-karte-text {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 24px;
}

.ps-serien-karte-titel {
	margin: 0 !important;
	padding: 0 !important;
	font-size: var(--gvid-ps-h3, 24px) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
}

.ps-serien-karte-titel a {
	color: var(--gcid-ps-tinte) !important;
	text-decoration: none;
}

.ps-serien-karte-untertitel {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 15px;
	font-weight: 600;
	color: var(--ps-leit, var(--gcid-ps-erdbraun));
}

.ps-serien-karte-motive,
.ps-serien-karte-preis {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 14px;
	line-height: 1.5;
	color: var(--gcid-ps-text);
}

.ps-serien-karte-preis {
	font-weight: 600;
	color: var(--gcid-ps-tinte);
}

.ps-serien-karte-preis span {
	font-weight: 500;
	color: var(--gcid-ps-text);
}

/* Textlink mit Pfeil (Markenleitfaden: Waldgrün, 600) */
.ps-textlink {
	align-self: flex-start;
	margin-top: 6px;
	font-size: 14px;
	font-weight: 600;
	color: var(--gcid-ps-waldgruen) !important;
	text-decoration: none;
}

.ps-textlink::after {
	content: " →";
}

.ps-textlink:hover {
	text-decoration: underline;
}

/* Kompakt: drei Karten nebeneinander, Bild oben */
.ps-serien-karten-kompakt {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ps-serien-karten-kompakt .ps-serien-karte {
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
}

.ps-serien-karten-kompakt .ps-serien-karte-bild {
	height: auto;
	aspect-ratio: 4 / 3;
}

.ps-serien-karten-kompakt .ps-serien-karte-text {
	padding: 20px;
}

@media (max-width: 980px) {
	.ps-serien-karten,
	.ps-serien-karten-kompakt {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.ps-serie-motive {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
	}

	.ps-serie-motiv-bild {
		max-width: 280px;
	}

	.ps-serien-karte {
		grid-template-columns: minmax(0, 1fr);
	}

	.ps-serien-karte-bild {
		aspect-ratio: 1 / 1;
	}
}

/* ==========================================================================
   Warenkorb und Kasse (Seiten /warenkorb/ und /kasse/, Kurzcodes in inc/kasse.php)
   Die Abschnitte haben in Divi die Klasse ps-kasse-inhalt, die body-Klasse ps-kasse-schritt-<n> kommt aus inc/kasse.php. Divi bringt für seine WooCommerce-Module
   eigene Feldstile mit (graue Felder ohne Rahmen), deshalb stehen hier einige !important.
   ========================================================================== */

/* Kopf: Überschrift links, Schritte rechts */
.ps-kasse-kopfzeile .et_pb_code_inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 32px;
}

.ps-kasse-titel {
	margin: 0;
	padding: 0;
	font-size: var(--gvid-ps-h1, clamp(32px, 3.4vw, 44px));
	font-weight: 600;
	line-height: 1.1;
	color: var(--gcid-ps-tinte);
}

.ps-kasse-schritte {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--gcid-ps-text-hell);
}

.ps-kasse-schritte li {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 0 !important;
	list-style: none;
}

.ps-kasse-schritte li + li::before {
	content: "";
	width: 28px;
	height: 1px;
	background: #CFC8BC;
}

.ps-kasse-schritte a {
	display: flex;
	align-items: center;
	gap: 10px;
	color: inherit;
	text-decoration: none;
}

.ps-kasse-schritte a:hover .ps-schritt-name {
	text-decoration: underline;
}

.ps-schritt-nr {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	margin-right: 10px;
	border: 1px solid #CFC8BC;
	border-radius: 50%;
	background: var(--gcid-ps-weiss);
	font-size: 12px;
	letter-spacing: 0;
}

.ps-kasse-schritte a .ps-schritt-nr {
	margin-right: 0;
}

.ps-kasse-schritte .ps-aktuell {
	color: var(--gcid-ps-tinte);
}

.ps-kasse-schritte .ps-aktuell .ps-schritt-nr {
	border-color: var(--gcid-ps-waldgruen);
	background: var(--gcid-ps-waldgruen);
	color: var(--gcid-ps-weiss);
}

.ps-kasse-schritte .ps-erledigt {
	color: var(--gcid-ps-waldgruen);
}

.ps-kasse-schritte .ps-erledigt .ps-schritt-nr {
	position: relative;
	border-color: var(--gcid-ps-waldgruen);
	color: transparent;
}

.ps-kasse-schritte .ps-erledigt .ps-schritt-nr::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 12px;
	height: 12px;
	background: var(--gcid-ps-waldgruen);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12l5 5L20 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12l5 5L20 6'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Karte rechts (Summe bzw. Bestellung): Abstand und Schatten aus der Voreinstellung „Karte“ */
.ps-kasse-karte {
	border: 1px solid var(--gcid-ps-linie);
}

.ps-kasse-karte .ps-vorteile {
	margin-top: 24px;
}

/* Hinweise (Fehler, Gutschein, Anmelden) */
.ps-kasse-inhalt .woocommerce-message,
.ps-kasse-inhalt .woocommerce-info,
.ps-kasse-inhalt .woocommerce-error {
	margin: 0 0 16px !important;
	padding: 14px 18px 14px 48px !important;
	border: 0 !important;
	border-radius: 8px;
	background: var(--gcid-ps-papier) !important;
	font-size: 14px !important;
	line-height: 1.6;
	color: var(--gcid-ps-tinte) !important;
	box-shadow: none !important;
}

.ps-kasse-inhalt .woocommerce-error {
	background: #F6E3DF !important;
}

.ps-kasse-inhalt .woocommerce-message::before,
.ps-kasse-inhalt .woocommerce-info::before,
.ps-kasse-inhalt .woocommerce-error::before {
	top: 14px !important;
	left: 18px !important;
	color: var(--gcid-ps-waldgruen) !important;
}

.ps-kasse-inhalt .woocommerce-error::before {
	color: #8B4F3D !important;
}

.ps-kasse-inhalt .woocommerce-message a,
.ps-kasse-inhalt .woocommerce-info a {
	font-weight: 600;
	color: var(--gcid-ps-waldgruen);
	text-decoration: underline;
}

.ps-kasse-inhalt .woocommerce-message .button,
.ps-kasse-inhalt .woocommerce-info .button {
	float: none !important;
	margin-left: 8px;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	font-size: 14px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--gcid-ps-waldgruen) !important;
}

.ps-kasse-inhalt .woocommerce-message .button::after,
.ps-kasse-inhalt .woocommerce-info .button::after {
	display: none !important;
}

/* Felder */
.ps-kasse-inhalt .input-text,
.ps-kasse-inhalt input[type="text"],
.ps-kasse-inhalt input[type="email"],
.ps-kasse-inhalt input[type="tel"],
.ps-kasse-inhalt input[type="number"],
.ps-kasse-inhalt select,
.ps-kasse-inhalt textarea,
.ps-kasse-inhalt .select2-container .select2-selection--single {
	box-sizing: border-box;
	min-height: 48px;
	padding: 11px 14px !important;
	border: 1px solid #CFC8BC !important;
	border-radius: var(--gvid-ps-radius-button, 5px) !important;
	background: var(--gcid-ps-weiss) !important;
	font-family: inherit;
	font-size: 15px !important;
	line-height: 1.5 !important;
	color: var(--gcid-ps-tinte) !important;
	box-shadow: none !important;
}

.ps-kasse-inhalt textarea {
	min-height: 120px;
}

.ps-kasse-inhalt .input-text:focus,
.ps-kasse-inhalt input:focus,
.ps-kasse-inhalt select:focus,
.ps-kasse-inhalt textarea:focus,
.ps-kasse-inhalt .select2-container--focus .select2-selection--single,
.ps-kasse-inhalt .select2-container--open .select2-selection--single {
	border-color: var(--gcid-ps-tinte) !important;
}

.ps-kasse-inhalt .input-text::placeholder,
.ps-kasse-inhalt textarea::placeholder {
	color: var(--gcid-ps-text-hell) !important;
	opacity: 0.7 !important;
}

.ps-kasse-inhalt .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0 !important;
	line-height: 24px !important;
	color: var(--gcid-ps-tinte) !important;
}

.ps-kasse-inhalt .select2-container .select2-selection--single .select2-selection__arrow {
	top: 11px !important;
	right: 10px !important;
}

.ps-kasse-inhalt input[type="checkbox"],
.ps-kasse-inhalt input[type="radio"] {
	accent-color: var(--gcid-ps-waldgruen);
}

.ps-kasse-inhalt .form-row {
	margin: 0 0 16px !important;
	padding: 0 !important;
}

.ps-kasse-inhalt .form-row label,
.ps-kasse-inhalt .woocommerce-billing-fields label,
.ps-kasse-inhalt .woocommerce-shipping-fields label {
	display: block;
	margin: 0 0 6px;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.5;
	color: var(--gcid-ps-tinte) !important;
}

.ps-kasse-inhalt .form-row label.checkbox,
.ps-kasse-inhalt .form-row label.woocommerce-form__label-for-checkbox,
.ps-kasse-inhalt .wc-gzd-checkbox-placeholder label {
	display: block !important;
	position: relative;
	padding-left: 28px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.6;
	color: var(--gcid-ps-text) !important;
}

.ps-kasse-inhalt .form-row label.checkbox input,
.ps-kasse-inhalt .form-row label.woocommerce-form__label-for-checkbox input,
.ps-kasse-inhalt .wc-gzd-checkbox-placeholder label input {
	position: absolute;
	top: 3px;
	left: 0;
	width: 18px;
	height: 18px;
	margin: 0 !important;
}

.ps-kasse-inhalt .required {
	color: var(--gcid-ps-erdbraun) !important;
	text-decoration: none;
	border: 0;
}

.ps-kasse-inhalt .optional {
	font-weight: 500;
	color: var(--gcid-ps-text-hell);
}

/* Knöpfe */
.ps-kasse-inhalt .button,
.ps-kasse-inhalt button.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: var(--gvid-ps-button-hoehe, 48px);
	margin: 0;
	padding: 12px 22px !important;
	border: 1px solid var(--gcid-ps-waldgruen) !important;
	border-radius: var(--gvid-ps-radius-button, 5px) !important;
	background: var(--gcid-ps-weiss) !important;
	font-family: inherit;
	font-size: var(--gvid-ps-button, 14px) !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	line-height: 1.4 !important;
	text-transform: uppercase !important;
	color: var(--gcid-ps-waldgruen) !important;
	cursor: pointer;
}

.ps-kasse-inhalt .button::after {
	display: none !important;
}

.ps-kasse-inhalt .button:hover {
	background: var(--gcid-ps-papier) !important;
}

.ps-kasse-inhalt .button:disabled,
.ps-kasse-inhalt .button[disabled] {
	opacity: 0.45 !important;
	cursor: not-allowed;
}

.ps-kasse-inhalt .wc-proceed-to-checkout .checkout-button,
.ps-kasse-inhalt #place_order {
	width: 100%;
	min-height: 52px;
	border-color: var(--gcid-ps-waldgruen) !important;
	background: var(--gcid-ps-waldgruen) !important;
	color: var(--gcid-ps-weiss) !important;
}

.ps-kasse-inhalt .wc-proceed-to-checkout .checkout-button:hover,
.ps-kasse-inhalt #place_order:hover {
	border-color: var(--gcid-ps-tinte) !important;
	background: var(--gcid-ps-tinte) !important;
}

/* Warenkorb: Produkte als Zeilen mit Bild auf der Bühne */
.ps-kasse-inhalt .ps-warenkorb-produkte table.shop_table {
	width: 100%;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: collapse;
}

.ps-kasse-inhalt .ps-warenkorb-produkte table.shop_table thead {
	display: none;
}

.ps-kasse-inhalt .ps-warenkorb-produkte table.shop_table tbody {
	display: block;
}

.ps-kasse-inhalt .ps-warenkorb-produkte tr.cart_item {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr) auto;
	grid-template-areas:
		"bild name entfernen"
		"bild preis preis"
		"bild menge summe";
	align-items: start;
	gap: 6px 24px;
	padding: 24px 0;
	border-bottom: 1px solid var(--gcid-ps-linie);
}

.ps-kasse-inhalt .ps-warenkorb-produkte tr.cart_item:first-child {
	padding-top: 0;
}

.ps-kasse-inhalt .ps-warenkorb-produkte tr.cart_item td {
	display: block;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	text-align: left !important;
}

.ps-kasse-inhalt .ps-warenkorb-produkte tr.cart_item td::before {
	display: none !important;
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.product-thumbnail {
	grid-area: bild;
	display: block !important;
	width: auto !important;
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.product-thumbnail img {
	display: block;
	width: 120px !important;
	max-width: none !important;
	height: 120px;
	object-fit: cover;
	border-radius: 8px;
	background: var(--gcid-ps-buehne, #E0D9D1);
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.product-name {
	grid-area: name;
	font-size: 14px;
	line-height: 1.6;
	color: var(--gcid-ps-text);
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.product-name > a {
	display: block;
	margin-bottom: 4px;
	font-size: var(--gvid-ps-kartentitel, 17px);
	font-weight: 600;
	line-height: 1.35;
	color: var(--gcid-ps-tinte);
	text-decoration: none;
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.product-name > a:hover {
	text-decoration: underline;
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.product-name dl.variation {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0 8px;
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.product-name dl.variation dt,
.ps-kasse-inhalt .ps-warenkorb-produkte td.product-name dl.variation dd {
	float: none;
	margin: 0;
	padding: 0;
	font-weight: 500;
	color: var(--gcid-ps-text);
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.product-name dl.variation dd p {
	margin: 0;
	padding: 0;
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.product-name .delivery-time-info {
	margin: 0 0 6px;
	padding: 0;
	font-size: 13px;
	color: var(--gcid-ps-text-hell);
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.product-price {
	grid-area: preis;
	font-size: 13px;
	color: var(--gcid-ps-text-hell);
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.product-price::after {
	content: " je Stück";
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.product-price .awdr_cart_strikeout_line {
	display: inline;
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.product-quantity {
	grid-area: menge;
	align-self: end;
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.product-quantity .quantity .qty {
	width: 76px;
	min-height: 44px;
	padding: 8px 10px !important;
	text-align: center;
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.product-subtotal {
	grid-area: summe;
	align-self: end;
	justify-self: end;
	padding-bottom: 10px !important;
	font-size: 16px;
	font-weight: 600;
	color: var(--gcid-ps-tinte);
	text-align: right !important;
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.product-remove {
	grid-area: entfernen;
	justify-self: end;
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.product-remove a.remove {
	display: grid !important;
	place-items: center;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	background: none !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	color: var(--gcid-ps-text-hell) !important;
	text-decoration: none;
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.product-remove a.remove:hover {
	background: var(--gcid-ps-stein, #ECEBE8) !important;
	color: var(--gcid-ps-tinte) !important;
}

.ps-kasse-inhalt .ps-warenkorb-produkte del {
	opacity: 0.7;
}

.ps-kasse-inhalt .ps-warenkorb-produkte ins {
	text-decoration: none;
}

/* Gutschein und „Warenkorb aktualisieren“ */
.ps-kasse-inhalt .ps-warenkorb-produkte table.shop_table tr:not(.cart_item) {
	display: block;
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.actions {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 24px 0 0 !important;
	border: 0 !important;
	background: none !important;
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.actions .coupon {
	display: flex;
	flex: 1 1 320px;
	gap: 8px;
	max-width: 460px;
	padding: 0 !important;
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.actions .coupon .input-text {
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
}

.ps-kasse-inhalt .ps-warenkorb-produkte td.actions > .button {
	margin-left: auto;
}

/* Leerer Warenkorb: ohne Summenkarte, mit Einstieg über die Gefühle */
.ps-kasse-inhalt:has(.cart-empty) .ps-kasse-karte {
	display: none !important;
}

.ps-kasse-inhalt .ps-warenkorb-leer-text {
	margin: 0 0 20px;
	font-size: 15px;
	line-height: 1.7;
	color: var(--gcid-ps-text);
}

.ps-kasse-inhalt .ps-warenkorb-leer-text a {
	font-weight: 600;
	color: var(--gcid-ps-waldgruen);
	text-decoration: underline;
}

.ps-kasse-inhalt .return-to-shop {
	margin: 0;
}

/* Set-Hinweis unter den Produkten */
.ps-warenkorb-sets {
	display: grid;
	gap: 12px;
	margin-top: 24px;
}

.ps-warenkorb-set {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 18px 20px;
	border-radius: var(--gvid-ps-radius-karte, 10px);
	background: var(--ps-kachel, var(--gcid-ps-papier));
}

.ps-warenkorb-set-bilder {
	display: flex;
	flex: 0 0 auto;
	gap: 8px;
}

.ps-warenkorb-set-bild img {
	display: block;
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 6px;
	background: var(--gcid-ps-buehne, #E0D9D1);
}

.ps-warenkorb-set-inhalt {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.ps-warenkorb-set-dachzeile {
	margin: 0;
	padding: 0;
	font-size: var(--gvid-ps-dachzeile, 12px);
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ps-leit, var(--gcid-ps-erdbraun));
}

.ps-warenkorb-set-text {
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--gcid-ps-tinte);
}

.ps-warenkorb-set-text a {
	font-weight: 600;
	color: var(--gcid-ps-tinte);
	text-decoration: underline;
}

.ps-warenkorb-set .ps-textlink {
	margin-top: 2px;
}

.ps-warenkorb-set.ps-komplett .ps-warenkorb-set-text {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 600;
}

.ps-warenkorb-set.ps-komplett .ps-warenkorb-set-text::before {
	content: "";
	flex: 0 0 20px;
	height: 20px;
	background: var(--ps-leit, var(--gcid-ps-waldgruen));
	-webkit-mask: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12.5l2.5 2.5L16 9.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12.5l2.5 2.5L16 9.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Summe und Bestellübersicht: Zeilen als Flexbox, damit lange Versandtexte unter „Sendung“ umbrechen */
.ps-kasse-inhalt .cart_totals,
.ps-kasse-inhalt .cart_totals.calculated_shipping {
	float: none !important;
	width: 100% !important;
}

.ps-kasse-inhalt .cart_totals h2,
.ps-kasse-inhalt #order_review_heading,
.ps-kasse-inhalt .ps-kasse-bestellung h3,
.ps-kasse-inhalt .woocommerce-billing-fields h3,
.ps-kasse-inhalt .woocommerce-shipping-fields h3,
.ps-kasse-inhalt .woocommerce-additional-fields h3 {
	margin: 0 0 18px !important;
	padding: 0 !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: var(--gcid-ps-tinte) !important;
}

.ps-kasse-inhalt .cart_totals table.shop_table,
.ps-kasse-inhalt .cart_totals table.shop_table tbody,
.ps-kasse-inhalt table.woocommerce-checkout-review-order-table,
.ps-kasse-inhalt table.woocommerce-checkout-review-order-table thead,
.ps-kasse-inhalt table.woocommerce-checkout-review-order-table tbody,
.ps-kasse-inhalt table.woocommerce-checkout-review-order-table tfoot {
	display: block;
	width: 100%;
	margin: 0;
	border: 0 !important;
	background: none !important;
}

.ps-kasse-inhalt .cart_totals table.shop_table,
.ps-kasse-inhalt table.woocommerce-checkout-review-order-table {
	margin: 0 0 20px !important;
	font-size: 14px;
}

.ps-kasse-inhalt .cart_totals table tr,
.ps-kasse-inhalt table.woocommerce-checkout-review-order-table tr {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0 16px;
	border-top: 1px solid var(--gcid-ps-linie);
	background: none !important;
}

.ps-kasse-inhalt .cart_totals table tr:first-child,
.ps-kasse-inhalt table.woocommerce-checkout-review-order-table thead tr {
	border-top: 0;
}

.ps-kasse-inhalt .cart_totals table th,
.ps-kasse-inhalt .cart_totals table td,
.ps-kasse-inhalt table.woocommerce-checkout-review-order-table th,
.ps-kasse-inhalt table.woocommerce-checkout-review-order-table td {
	display: block;
	padding: 12px 0 !important;
	border: 0 !important;
	background: none !important;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
	text-align: left;
	color: var(--gcid-ps-text);
}

.ps-kasse-inhalt .cart_totals table th,
.ps-kasse-inhalt table.woocommerce-checkout-review-order-table tfoot th {
	font-weight: 600;
	color: var(--gcid-ps-tinte);
}

.ps-kasse-inhalt .cart_totals table td,
.ps-kasse-inhalt table.woocommerce-checkout-review-order-table td:last-child,
.ps-kasse-inhalt table.woocommerce-checkout-review-order-table th:last-child {
	text-align: right !important;
	color: var(--gcid-ps-tinte);
}

.ps-kasse-inhalt .cart_totals table td::before {
	display: none !important;
}

/* WooCommerce blendet auf dem Handy die Bezeichnungen aus, hier bleiben sie stehen */
.ps-kasse-inhalt .cart_totals table.shop_table_responsive tbody th {
	display: block !important;
}

.ps-kasse-inhalt table.woocommerce-checkout-review-order-table thead th {
	padding-top: 0 !important;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gcid-ps-text-hell) !important;
}

/* Sendung: Bezeichnung oben, Versandart mit Liefertermin darunter über die ganze Breite */
.ps-kasse-inhalt .shop_table tr.woocommerce-shipping-totals th,
.ps-kasse-inhalt .shop_table tr.woocommerce-shipping-totals td {
	flex: 0 0 100%;
	text-align: left !important;
}

.ps-kasse-inhalt .shop_table tr.woocommerce-shipping-totals th {
	padding-bottom: 2px !important;
}

.ps-kasse-inhalt .shop_table tr.woocommerce-shipping-totals td {
	padding-top: 0 !important;
	color: var(--gcid-ps-text) !important;
}

.ps-kasse-inhalt #shipping_method {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ps-kasse-inhalt #shipping_method li,
.ps-kasse-inhalt #shipping_method label {
	margin: 0 !important;
	padding: 0 !important;
	font-weight: 500 !important;
	text-align: left !important;
	text-indent: 0 !important;
}

.ps-kasse-inhalt .woocommerce-shipping-destination,
.ps-kasse-inhalt .shipping-calculator-button {
	font-size: 13px;
}

.ps-kasse-inhalt .shipping-calculator-button {
	font-weight: 600;
	color: var(--gcid-ps-waldgruen);
}

.ps-kasse-inhalt .woocommerce-shipping-calculator {
	margin: 4px 0 0;
}

/* Produkte in der Bestellübersicht */
.ps-kasse-inhalt table.woocommerce-checkout-review-order-table td.product-name {
	flex: 1 1 0;
	min-width: 0;
	font-weight: 600;
	color: var(--gcid-ps-tinte);
}

.ps-kasse-inhalt table.woocommerce-checkout-review-order-table td.product-name dl.variation,
.ps-kasse-inhalt table.woocommerce-checkout-review-order-table td.product-name .wc-gzd-cart-info {
	margin: 4px 0 0;
	font-size: 13px;
	font-weight: 500;
	color: var(--gcid-ps-text);
}

.ps-kasse-inhalt table.woocommerce-checkout-review-order-table dl.variation dt,
.ps-kasse-inhalt table.woocommerce-checkout-review-order-table dl.variation dd,
.ps-kasse-inhalt table.woocommerce-checkout-review-order-table dl.variation p {
	display: inline;
	float: none;
	margin: 0;
	padding: 0;
	font-weight: 500;
}

.ps-kasse-inhalt table.woocommerce-checkout-review-order-table dl.variation dd::after {
	content: "\A";
	white-space: pre;
}

/* Gesamtsumme und § 19-Hinweis */
.ps-kasse-inhalt .order-total th,
.ps-kasse-inhalt .order-total td {
	padding-top: 16px !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	color: var(--gcid-ps-tinte) !important;
}

.ps-kasse-inhalt .order-total strong {
	font-weight: 600;
}

.ps-kasse-inhalt tr.order-total-small-business-notice {
	justify-content: flex-end;
	border-top: 0;
}

.ps-kasse-inhalt tr.order-total-small-business-notice td {
	flex: 0 0 100%;
	padding-top: 0 !important;
}

.ps-kasse-inhalt .wc-gzd-additional-info,
.ps-kasse-inhalt .small-business-info {
	margin: 0 !important;
	font-size: 13px !important;
	color: var(--gcid-ps-text-hell) !important;
}

.ps-kasse-inhalt .wc-proceed-to-checkout {
	padding: 0 !important;
}

/* Kasse: Adressen */
.ps-kasse-inhalt .woocommerce-billing-fields__field-wrapper,
.ps-kasse-inhalt .woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 16px;
}

.ps-kasse-inhalt .woocommerce-billing-fields__field-wrapper .form-row,
.ps-kasse-inhalt .woocommerce-shipping-fields__field-wrapper .form-row {
	float: none !important;
	width: auto !important;
	grid-column: 1 / -1;
}

.ps-kasse-inhalt .woocommerce-billing-fields__field-wrapper .form-row-first,
.ps-kasse-inhalt .woocommerce-shipping-fields__field-wrapper .form-row-first {
	grid-column: 1;
}

.ps-kasse-inhalt .woocommerce-billing-fields__field-wrapper .form-row-last,
.ps-kasse-inhalt .woocommerce-shipping-fields__field-wrapper .form-row-last {
	grid-column: 2;
}

.ps-kasse-inhalt .ps-kasse-lieferung,
.ps-kasse-inhalt .ps-kasse-zusatz {
	margin-top: 32px !important;
	padding-top: 28px;
	border-top: 1px solid var(--gcid-ps-linie);
}

.ps-kasse-inhalt #ship-to-different-address label {
	display: flex !important;
	align-items: center;
	gap: 10px;
	padding-left: 0 !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	color: var(--gcid-ps-tinte) !important;
}

.ps-kasse-inhalt #ship-to-different-address label input {
	position: static;
}

/* Kasse: Zahlung */
.ps-kasse-inhalt .ps-kasse-zahlung {
	padding: 0 !important;
	background: none !important;
}

.ps-kasse-inhalt #payment {
	padding: 0 !important;
	border-radius: 0 !important;
	background: none !important;
}

.ps-kasse-inhalt #payment ul.payment_methods {
	margin: 0 0 20px !important;
	padding: 0 !important;
	border: 0 !important;
	list-style: none !important;
}

.ps-kasse-inhalt #payment ul.payment_methods li {
	margin: 0 !important;
	padding: 14px 0 !important;
	border-top: 1px solid var(--gcid-ps-linie);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--gcid-ps-tinte);
}

.ps-kasse-inhalt #payment ul.payment_methods li label {
	display: inline;
	font-size: 15px !important;
	font-weight: 600 !important;
}

.ps-kasse-inhalt .woocommerce-SavedPaymentMethods-saveNew label {
	font-size: 14px !important;
	font-weight: 500 !important;
}

.ps-kasse-inhalt #payment ul.payment_methods li img {
	max-height: 24px;
	vertical-align: middle;
}

.ps-kasse-inhalt #payment div.payment_box {
	margin: 12px 0 0 !important;
	padding: 14px 16px !important;
	border-radius: 8px !important;
	background: var(--gcid-ps-papier) !important;
	font-size: 14px !important;
	font-weight: 500;
	color: var(--gcid-ps-text) !important;
}

.ps-kasse-inhalt #payment div.payment_box::before {
	display: none !important;
}

.ps-kasse-inhalt #payment .place-order {
	margin: 0 !important;
	padding: 0 !important;
}

.ps-kasse-inhalt .woocommerce-terms-and-conditions-wrapper,
.ps-kasse-inhalt .wc-gzd-checkbox-placeholder,
.ps-kasse-inhalt .legal,
.ps-kasse-inhalt .woocommerce-privacy-policy-text {
	font-size: 13px !important;
	line-height: 1.6 !important;
	color: var(--gcid-ps-text) !important;
}

.ps-kasse-inhalt .woocommerce-privacy-policy-text a,
.ps-kasse-inhalt .wc-gzd-checkbox-placeholder a,
.ps-kasse-inhalt .legal a {
	color: var(--gcid-ps-waldgruen);
	text-decoration: underline;
}

/* Reihenfolge im Zahlungsbereich: erst die Zahlungsarten, dann die Kästchen (AGB, Hinweis zu
   Widerruf und Datenschutz), direkt darunter der Bestellknopf. Germanized gibt die Kästchen vor
   den Zahlungsarten aus, deshalb ordnet Flexbox hier um (#payment mit display: contents). */
.ps-kasse-zahlung #order_review {
	display: flex;
	flex-direction: column;
	position: relative;
}

.ps-kasse-zahlung #order_review > * {
	order: 2;
}

.ps-kasse-zahlung #order_review > #payment {
	display: contents;
}

.ps-kasse-zahlung #payment > ul.payment_methods {
	order: 1;
}

.ps-kasse-zahlung #payment > .place-order {
	order: 3;
}

.ps-kasse-zahlung .wc-gzd-checkbox-placeholder-legal {
	margin-top: 4px;
}

/* Hinweis ohne Kästchen (Widerruf und Datenschutz) */
.ps-kasse-inhalt .wc-gzd-checkbox-placeholder label:not(.checkbox) {
	padding-left: 0 !important;
	font-size: 13px !important;
	color: var(--gcid-ps-text-hell) !important;
}

/* Guthaben (Advanced Coupons) und Newsletter: schlicht als aufklappbare Zeile */
.ps-kasse-inhalt .acfw-accordion {
	margin: 0 0 16px !important;
	border: 1px solid var(--gcid-ps-linie) !important;
	border-radius: 8px !important;
	background: none !important;
}

.ps-kasse-inhalt .acfw-accordion h3 {
	margin: 0 !important;
	padding: 12px 16px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--gcid-ps-tinte) !important;
}

/* Bestätigung: nur die rechte Spalte, mittig */
.ps-kasse-schritt-3 .ps-kasse-inhalt .et_pb_row:last-child > .et_pb_column:first-child {
	display: none !important;
}

.ps-kasse-schritt-3 .ps-kasse-inhalt .et_pb_row:last-child > .et_pb_column:last-child {
	width: 100% !important;
	max-width: 760px;
	margin: 0 auto !important;
}

.ps-kasse-inhalt .woocommerce-order .woocommerce-thankyou-order-received {
	margin: 0 0 20px;
	font-size: 17px;
	font-weight: 600;
	color: var(--gcid-ps-tinte);
}

.ps-kasse-inhalt .woocommerce-order ul.order_details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 12px;
	margin: 0 0 28px !important;
	padding: 0 !important;
	list-style: none !important;
}

.ps-kasse-inhalt .woocommerce-order ul.order_details::before,
.ps-kasse-inhalt .woocommerce-order ul.order_details::after {
	display: none !important;
}

.ps-kasse-inhalt .woocommerce-order ul.order_details li {
	float: none !important;
	margin: 0 !important;
	padding: 12px 14px !important;
	border: 0 !important;
	border-radius: 8px;
	background: var(--gcid-ps-papier);
	font-size: 12px !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gcid-ps-text-hell);
}

.ps-kasse-inhalt .woocommerce-order ul.order_details li strong {
	display: block;
	margin-top: 4px;
	font-size: 15px !important;
	letter-spacing: 0;
	text-transform: none;
	color: var(--gcid-ps-tinte);
}

.ps-kasse-inhalt .woocommerce-order h2 {
	margin: 28px 0 14px !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	color: var(--gcid-ps-tinte) !important;
}

.ps-kasse-inhalt .woocommerce-order table.shop_table {
	width: 100%;
	border: 0 !important;
	border-collapse: collapse;
}

.ps-kasse-inhalt .woocommerce-order table.shop_table,
.ps-kasse-inhalt .woocommerce-order table.shop_table * {
	background: none !important;
}

.ps-kasse-inhalt .woocommerce-order table.shop_table tfoot th,
.ps-kasse-inhalt .woocommerce-order table.shop_table thead th {
	font-weight: 600 !important;
	color: var(--gcid-ps-tinte) !important;
}

.ps-kasse-inhalt .woocommerce-order table.shop_table th,
.ps-kasse-inhalt .woocommerce-order table.shop_table td {
	padding: 12px 0 !important;
	border: 0 !important;
	border-top: 1px solid var(--gcid-ps-linie) !important;
	font-size: 14px;
	text-align: left;
	color: var(--gcid-ps-text);
}

.ps-kasse-inhalt .woocommerce-order address {
	padding: 16px 18px !important;
	border: 1px solid var(--gcid-ps-linie) !important;
	border-radius: 8px;
	font-style: normal;
	font-size: 14px;
	line-height: 1.7;
}

/* Tablet und Handy */
@media (max-width: 980px) {
	.ps-kasse-kopfzeile .et_pb_code_inner {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 600px) {
	.ps-kasse-schritte {
		gap: 6px 12px;
		font-size: 11px;
		letter-spacing: 0.06em;
	}

	.ps-kasse-schritte li {
		gap: 8px;
	}

	.ps-kasse-schritte li + li::before {
		display: none;
	}

	.ps-schritt-nr {
		width: 24px;
		height: 24px;
		margin-right: 0;
		font-size: 11px;
	}

	/* Name und Auswahl nutzen die ganze Breite, das × sitzt oben rechts */
	.ps-kasse-inhalt .ps-warenkorb-produkte tr.cart_item {
		position: relative;
		grid-template-columns: 76px minmax(0, 1fr) auto;
		grid-template-areas:
			"bild name name"
			"bild preis preis"
			"bild menge summe";
		gap: 4px 14px;
	}

	.ps-kasse-inhalt .ps-warenkorb-produkte td.product-thumbnail img {
		width: 76px !important;
		height: 76px;
	}

	.ps-kasse-inhalt .ps-warenkorb-produkte td.product-name {
		padding-right: 34px !important;
	}

	.ps-kasse-inhalt .ps-warenkorb-produkte td.product-name > a {
		font-size: 15px;
	}

	.ps-kasse-inhalt .ps-warenkorb-produkte td.product-remove {
		position: absolute;
		top: 16px;
		right: -6px;
	}

	.ps-kasse-inhalt .ps-warenkorb-produkte tr.cart_item:first-child td.product-remove {
		top: -8px;
	}

	.ps-kasse-inhalt .ps-warenkorb-produkte td.actions .coupon {
		flex: 1 1 100%;
		flex-wrap: wrap;
		max-width: none;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}

	.ps-kasse-inhalt .ps-warenkorb-produkte td.actions .coupon .input-text,
	.ps-kasse-inhalt .ps-warenkorb-produkte td.actions .coupon .button,
	.ps-kasse-inhalt .ps-warenkorb-produkte td.actions > .button {
		flex: 1 1 100%;
		width: 100% !important;
		float: none !important;
	}

	.ps-warenkorb-set {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}

	.ps-kasse-inhalt .woocommerce-billing-fields__field-wrapper,
	.ps-kasse-inhalt .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: minmax(0, 1fr);
	}

	.ps-kasse-inhalt .woocommerce-billing-fields__field-wrapper .form-row-first,
	.ps-kasse-inhalt .woocommerce-billing-fields__field-wrapper .form-row-last,
	.ps-kasse-inhalt .woocommerce-shipping-fields__field-wrapper .form-row-first,
	.ps-kasse-inhalt .woocommerce-shipping-fields__field-wrapper .form-row-last {
		grid-column: 1;
	}
}

/* ==========================================================================
   Startseite (Divi-Seite „Startseite“, Kurzcodes in inc/start.php)
   ========================================================================== */

/* Abschnitte in Stein (die Weiß-Voreinstellung setzt ihre Farbe mit !important) */
.et_pb_section.ps-start-stein.ps-start-stein.ps-start-stein {
	background-color: var(--gcid-ps-stein, #ECEBE8) !important;
}

.ps-start-titel h1,
h1.ps-start-titel,
.ps-start-titel .et_pb_heading_container h1 {
	font-size: var(--gvid-ps-h1-gross, clamp(36px, 4.6vw, 58px)) !important;
	line-height: 1.08 !important;
}

/* Link rechts neben einer Überschrift */
.ps-start-kopf-link {
	align-items: flex-end;
	text-align: right;
}

.ps-start-link p {
	margin: 0;
	padding: 0;
}

.ps-start-link .ps-textlink {
	font-size: 15px;
}

/* Kopf */
.ps-start-knoepfe .et_pb_button_module_wrapper,
.ps-start-knoepfe .et_pb_module {
	margin: 0 !important;
}

.ps-start-haken ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ps-start-haken li {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0 !important;
	list-style: none;
}

.ps-start-haken li::before {
	content: "";
	flex: 0 0 14px;
	height: 14px;
	background: var(--gcid-ps-waldgruen);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12l5 5L20 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12l5 5L20 6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ps-start-hero-bild {
	position: relative;
	padding: 0 0 36px 0;
}

/* Kreis in Stein hinter dem Bild, wie im Entwurf */
.ps-start-hero-bild::before {
	content: "";
	position: absolute;
	top: -8%;
	right: -10%;
	width: 72%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: var(--gcid-ps-stein, #ECEBE8);
}

.ps-start-hero-foto {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--gvid-ps-radius-karte, 10px);
	box-shadow: 0 12px 32px rgba(20, 0, 36, 0.08);
}

.ps-start-hero-foto img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.ps-start-hero-schild {
	position: absolute;
	left: -24px;
	bottom: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 18px;
	border-radius: 8px;
	background: var(--gcid-ps-weiss);
	box-shadow: 0 5px 18px rgba(20, 0, 36, 0.08);
	text-decoration: none !important;
}

.ps-start-hero-schild .ps-karte-signatur {
	color: var(--ps-leit, var(--gcid-ps-erdbraun));
}

.ps-start-hero-schild strong {
	font-size: 14px;
	font-weight: 600;
	color: var(--gcid-ps-tinte);
}

/* Gefühle */
.ps-start-gefuehle {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--gvid-ps-raster, 24px);
}

.ps-start-gefuehl {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--gvid-ps-radius-karte, 10px);
	background: var(--gcid-ps-weiss);
	box-shadow: 0 5px 18px rgba(20, 0, 36, 0.05);
	color: var(--gcid-ps-tinte) !important;
	text-decoration: none !important;
	transition: transform 0.2s, box-shadow 0.2s;
}

.ps-start-gefuehl:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 26px rgba(20, 0, 36, 0.08);
}

.ps-start-gefuehl-bild {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	background: var(--ps-kachel, var(--gcid-ps-stein, #ECEBE8));
}

.ps-start-gefuehl-bild img {
	display: block;
	width: auto;
	max-width: 100%;
	height: 86%;
	object-fit: contain;
}

.ps-start-gefuehl-text {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 20px 22px 24px;
}

.ps-start-gefuehl-kopf {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.ps-start-gefuehl-kopf strong {
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
}

.ps-start-gefuehl-kopf small {
	font-size: 12px;
	font-weight: 600;
	color: var(--gcid-ps-text-hell);
}

.ps-start-gefuehl-unter {
	font-size: 14px;
	color: var(--gcid-ps-text);
}

.ps-start-gefuehl .ps-textlink {
	margin-top: 8px;
}

.ps-start-gefuehl:hover .ps-textlink {
	text-decoration: underline;
}

/* Bildsinn: Detailbild mit der Signaturzeile */
.ps-start-detail {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: var(--gvid-ps-radius-karte, 10px);
	box-shadow: 0 5px 18px rgba(20, 0, 36, 0.05);
}

.ps-start-schritte ol {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin: 8px 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
	counter-reset: ps-schritt;
}

.ps-start-schritte li {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-height: 38px;
	margin: 0;
	padding: 0 0 0 54px !important;
	font-size: 14px;
	line-height: 1.6;
	color: var(--gcid-ps-text);
	list-style: none;
	counter-increment: ps-schritt;
}

.ps-start-schritte li::before {
	content: counter(ps-schritt);
	position: absolute;
	top: 0;
	left: 0;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid var(--gcid-ps-waldgruen);
	border-radius: 50%;
	font-size: 13px;
	font-weight: 600;
	color: var(--gcid-ps-waldgruen);
}

.ps-start-schritte strong {
	font-size: 16px;
	font-weight: 600;
	color: var(--gcid-ps-tinte);
}

/* Räume */
.ps-start-raeume {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--gvid-ps-raster, 24px);
}

.ps-start-raum {
	display: flex;
	flex-direction: column;
	gap: 4px;
	color: var(--gcid-ps-tinte) !important;
	text-decoration: none !important;
}

.ps-start-raum-bild {
	display: block;
	overflow: hidden;
	margin-bottom: 10px;
	border-radius: var(--gvid-ps-radius-karte, 10px);
	background: var(--gcid-ps-buehne, #E0D9D1);
}

.ps-start-raum-bild img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 0.3s;
}

.ps-start-raum:hover img {
	transform: scale(1.03);
}

.ps-start-raum strong {
	font-size: var(--gvid-ps-kartentitel, 17px);
	font-weight: 600;
}

.ps-start-raum span:not(.ps-start-raum-bild) {
	font-size: 14px;
	line-height: 1.5;
	color: var(--gcid-ps-text);
}

.ps-start-raum:hover strong {
	text-decoration: underline;
}

/* Ausführungen */
.ps-start-ausfuehrungen {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--gvid-ps-raster, 24px);
}

.ps-start-ausfuehrung {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--gvid-ps-radius-karte, 10px);
	background: var(--gcid-ps-weiss);
	box-shadow: 0 5px 18px rgba(20, 0, 36, 0.05);
}

.ps-start-ausfuehrung-bild img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: var(--gcid-ps-buehne, #E0D9D1);
}

.ps-start-ausfuehrung-text {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 6px;
	padding: 18px 22px 22px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--gcid-ps-text);
}

.ps-start-ausfuehrung-text strong {
	font-size: var(--gvid-ps-kartentitel, 17px);
	font-weight: 600;
	color: var(--gcid-ps-tinte);
}

.ps-start-ausfuehrung-preis {
	margin-top: auto;
	padding-top: 4px;
	font-weight: 600;
	color: var(--gcid-ps-tinte);
}

/* Nachhaltigkeit: vier Punkte mit Symbol */
.ps-start-werte ul {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px var(--gvid-ps-raster, 24px);
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ps-start-werte li {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 0 !important;
	font-size: 14px;
	line-height: 1.6;
	color: var(--gcid-ps-text);
	list-style: none;
}

.ps-start-werte li::before {
	content: "";
	width: 52px;
	height: 52px;
	margin-bottom: 10px;
	border-radius: 8px;
	background: var(--gcid-ps-stein, #ECEBE8);
}

.ps-start-werte li {
	position: relative;
}

.ps-start-werte li::after {
	content: "";
	position: absolute;
	top: 15px;
	left: 15px;
	width: 22px;
	height: 22px;
	background: var(--gcid-ps-waldgruen);
	-webkit-mask: var(--ps-symbol) center / contain no-repeat;
	mask: var(--ps-symbol) center / contain no-repeat;
}

.ps-start-werte strong {
	font-size: 16px;
	font-weight: 600;
	color: var(--gcid-ps-tinte);
}

.ps-start-werte li:nth-child(1) { --ps-symbol: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V3h12v6'/%3E%3Crect x='3' y='9' width='18' height='8' rx='2'/%3E%3Cpath d='M6 14h12v7H6z'/%3E%3C/svg%3E"); }
.ps-start-werte li:nth-child(2) { --ps-symbol: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
.ps-start-werte li:nth-child(3) { --ps-symbol: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M15.5 8.5a4 4 0 1 0 0 7M7.5 11h6M7.5 13.5h6'/%3E%3C/svg%3E"); }
.ps-start-werte li:nth-child(4) { --ps-symbol: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19c0-8 5-13 14-14 0 9-5 14-13 14z'/%3E%3Cpath d='M5 19l7-7'/%3E%3C/svg%3E"); }

/* Zeig uns deine Wand: mittig */
.ps-start-mitte {
	align-items: center;
	text-align: center;
}

.ps-start-mitte .et_pb_text_inner,
.ps-start-mitte .et_pb_module {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Instagram-Knopf (Textmodul mit Link der Klasse ps-knopf-sekundaer ps-knopf-instagram) */
.ps-start-mitte p {
	margin: 0;
	padding: 0;
}

a.ps-knopf-instagram {
	gap: 10px;
	color: var(--gcid-ps-tinte) !important;
	text-decoration: none !important;
}

/* Set-Karte auf der Startseite: Bild mit den drei Motiven, quer, ganz zeigen */
.ps-start-serie .ps-karte-set .ps-karte-bild img {
	object-fit: contain;
}

a.ps-knopf-instagram::before {
	content: "";
	flex: 0 0 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='0.8' fill='%23000'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: 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.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='0.8' fill='%23000'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Magazin: erscheint erst, wenn genug Beiträge mit Bild da sind */
.ps-start-magazin:not(:has(.ps-start-artikel-liste)) {
	display: none !important;
}

.ps-start-artikel-liste {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.ps-start-artikel {
	display: flex;
	flex-direction: column;
	gap: 6px;
	color: var(--gcid-ps-tinte) !important;
	text-decoration: none !important;
}

.ps-start-artikel-bild {
	display: block;
	overflow: hidden;
	margin-bottom: 12px;
	border-radius: var(--gvid-ps-radius-karte, 10px);
	background: var(--gcid-ps-stein, #ECEBE8);
}

.ps-start-artikel-bild img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.ps-start-artikel strong {
	font-size: 19px;
	font-weight: 600;
	line-height: 1.35;
}

.ps-start-artikel:hover strong {
	text-decoration: underline;
}

/* Preise: Hinweis zu Umsatzsteuer und Versand */
.ps-preishinweis {
	margin: 0;
	padding: 0;
	font-size: 13px;
	color: var(--gcid-ps-text-hell);
}

.ps-preishinweis a {
	color: inherit;
	text-decoration: underline;
}

.ps-start-serie + .ps-preishinweis,
.et_pb_code_inner > .ps-preishinweis {
	margin-top: 4px;
}

/* Tablet */
@media (max-width: 980px) {
	.ps-start-kopf-link {
		align-items: flex-start;
		text-align: left;
	}

	.ps-start-gefuehle,
	.ps-start-ausfuehrungen,
	.ps-start-werte ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ps-start-raeume {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ps-start-hero-bild::before {
		right: -4%;
	}

	.ps-start-hero-schild {
		left: 12px;
	}
}

/* Handy */
@media (max-width: 600px) {
	.ps-start-gefuehle {
		gap: 12px;
	}

	.ps-start-gefuehl-text {
		padding: 14px 14px 16px;
	}

	.ps-start-gefuehl-kopf {
		flex-direction: column;
		gap: 2px;
	}

	.ps-start-gefuehl-kopf strong {
		font-size: 17px;
	}

	.ps-start-gefuehl-unter {
		font-size: 13px;
	}

	.ps-start-raeume {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px 12px;
	}

	.ps-start-raum:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.ps-start-raum:last-child:nth-child(odd) .ps-start-raum-bild img {
		aspect-ratio: 2 / 1;
	}

	.ps-start-raum strong {
		font-size: 15px;
	}

	.ps-start-raum span:not(.ps-start-raum-bild) {
		font-size: 13px;
	}

	.ps-start-ausfuehrungen {
		gap: 12px;
	}

	.ps-start-ausfuehrung-text {
		padding: 14px 14px 16px;
		font-size: 13px;
	}

	.ps-start-werte ul {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.ps-start-artikel-liste {
		grid-template-columns: minmax(0, 1fr);
	}

	.ps-start-hero-schild {
		left: 12px;
		right: 12px;
	}
}
