/**
 * HÅG Bürostühle (/hag-buerostuehle/), OpenProject #2027.
 *
 * Nur Komponenten, die Elementor nicht selbst gestaltet: Brotkrumen, Marke im Einstieg, Band, Sprungnavigation,
 * Quellenverweise, Orientierung, Vergleichstabelle, Modellkarten, Ergonomiefakten, Schritte, FAQ, Kontaktkarte,
 * Weiterlesen und Quellen. Farben und Schrift aus dem Elementor-Kit wie auf /vela-trippelstuhl/:
 * Akzent #697787, Creme #F5F3F1, Salbei #D5D9DE, DM Sans. Alle Regeln hängen an .ps-hag, nichts wirkt außerhalb.
 */

.ps-hag {
	--ps-akzent: var(--e-global-color-accent, #697787);
	--ps-creme: var(--e-global-color-secondary, #F5F3F1);
	--ps-salbei: #D5D9DE;
	--ps-linie: #C9CED4;
	--ps-panel: #ECEAE6;
	/* Kleine Schrift auf hellem Grund: Akzent schafft auf Creme nur 4,1 : 1, Schiefer 5,3 bis 7,5 : 1 */
	--ps-schiefer: #4A5663;
}

/* Sprungziele liegen nicht unter dem fixierten Header (Header-Höhe wie in footer-sitemap.css) */
.ps-hag [id] {
	scroll-margin-top: 110px;
}

.ps-hag .elementor-widget-text-editor p:last-child,
.ps-hag .elementor-widget-text-editor ul:last-child,
.ps-hag .elementor-widget-text-editor ol:last-child {
	margin-bottom: 0;
}

.ps-hag .ps-eyebrow p,
.ps-hag .ps-klein p:last-child {
	margin: 0;
}

.ps-hag a:focus-visible,
.ps-hag summary:focus-visible,
.ps-hag .ps-tabelle:focus-visible {
	outline: 2px solid var(--ps-akzent);
	outline-offset: 3px;
}

/* ---------- Textlinks ---------- */

.ps-hag .ps-textlink a,
.ps-hag .ps-adresse a,
.ps-hag .ps-brotkrumen a {
	color: #000;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .3em;
}

.ps-hag .ps-textlink a[target="_blank"]::after {
	content: " \2197" / "";
}

.ps-hag .ps-textlink.ps-intern a::after {
	content: " \2192" / "";
}

.ps-hag .ps-textlink a:hover,
.ps-hag .ps-adresse a:hover,
.ps-hag .ps-brotkrumen a:hover {
	color: var(--ps-schiefer);
}

/* Quellenverweise [n] */
.ps-hag .ps-ref {
	margin-left: 2px;
	font-size: 11px;
	font-weight: 500;
	line-height: 0;
	white-space: nowrap;
}

.ps-hag .ps-ref a {
	color: var(--ps-schiefer);
	text-decoration: none;
}

.ps-hag .ps-ref a:hover,
.ps-hag .ps-ref a:focus-visible {
	color: #000;
	text-decoration: underline;
}

/* ---------- Einstieg ---------- */

.ps-hag .ps-brotkrumen {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	color: var(--ps-schiefer);
	font-size: 14px;
	line-height: 1.4;
}

.ps-hag .ps-brotkrumen a {
	font-weight: 400;
}

.ps-hag .ps-lead p {
	color: #000;
}

.ps-hag .ps-hero-rechts {
	position: relative;
}

.ps-hag .ps-marke {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	margin: 0;
	color: var(--ps-akzent);
	font-family: "DM Sans", sans-serif;
	font-size: 56px;
	font-weight: 500;
	letter-spacing: .02em;
	line-height: 1;
}

.ps-hag .ps-hero-bild figure {
	margin: 0;
}

/* Produktfoto auf Weiß: Multiply lässt den weißen Grund in der Fläche verschwinden */
.ps-hag .ps-hero-bild img,
.ps-hag .ps-modell-bild img {
	mix-blend-mode: multiply;
}

/* Höhe begrenzen ohne Verzerrung: Box darf schmaler/höher sein, das Bild bleibt im Seitenverhältnis */
.ps-hag .ps-hero-bild img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 560px;
	margin: 0 auto;
	object-fit: contain;
}

.ps-hag .ps-hero-bild figcaption {
	margin-top: 10px;
	color: var(--ps-schiefer);
	font-size: 14px;
	text-align: center;
}

@media (max-width: 767px) {
	.ps-hag .ps-marke {
		font-size: 40px;
	}

	.ps-hag .ps-hero-bild img {
		max-height: 380px;
	}
}

/* ---------- Band und Sprungnavigation ---------- */

.ps-hag .ps-band {
	display: flex;
	justify-content: space-between;
	gap: 12px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: #000;
	font-family: "DM Sans", sans-serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.3;
}

@media (max-width: 767px) {
	.ps-hag .ps-band {
		display: grid;
		grid-template-columns: 1fr 1fr;
		font-size: 18px;
	}
}

.ps-hag .ps-sprungnav {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 32px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--ps-linie);
	font-size: 15px;
	line-height: 1.4;
}

.ps-hag .ps-sprungnav a {
	color: #000;
	text-decoration: none;
}

.ps-hag .ps-sprungnav a:hover,
.ps-hag .ps-sprungnav a:focus-visible {
	color: var(--ps-schiefer);
	text-decoration: underline;
	text-underline-offset: .3em;
}

/* ---------- Kopfzeilen und Hinweise ---------- */

.ps-hag .ps-kopf-text p {
	color: var(--ps-schiefer);
}

.ps-hag .ps-hinweis {
	margin: 0;
	padding: 18px 22px;
	border-left: 3px solid var(--ps-akzent);
	background: var(--ps-creme);
	color: #000;
	font-size: 16px;
	line-height: 1.55;
}

.ps-hag--capisco .ps-hinweis {
	background: var(--ps-salbei);
}

.ps-hag .ps-schmal {
	max-width: 860px;
}

/* Kurzantwort zu den Capisco-Unterschieden unter der Überschrift */
.ps-hag .ps-kurzantwort p {
	color: #000;
	font-size: 18px;
	line-height: 1.6;
}

/* ---------- Orientierung zur Modellwahl ---------- */

.ps-hag .ps-orientierung {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ps-hag .ps-orientierung a {
	display: flex;
	flex-direction: column;
	gap: 4px;
	height: 100%;
	padding: 16px 44px 16px 18px;
	position: relative;
	border-radius: 8px;
	background: var(--ps-creme);
	color: #000;
	text-decoration: none;
	transition: background-color .2s;
}

.ps-hag .ps-orientierung a::after {
	content: "\2193" / "";
	position: absolute;
	top: 16px;
	right: 18px;
	color: var(--ps-schiefer);
}

.ps-hag .ps-orientierung a:hover,
.ps-hag .ps-orientierung a:focus-visible {
	background: var(--ps-salbei);
}

.ps-hag .ps-o-wunsch {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
}

.ps-hag .ps-o-modell {
	color: var(--ps-schiefer);
	font-size: 15px;
	line-height: 1.45;
}

@media (max-width: 1024px) {
	.ps-hag .ps-orientierung {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.ps-hag .ps-orientierung {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ---------- Vergleichstabelle ---------- */

.ps-hag .ps-tabelle {
	overflow-x: auto;
	border: 1px solid var(--ps-linie);
	border-radius: 8px;
	-webkit-overflow-scrolling: touch;
}

.ps-hag .ps-tabelle table {
	width: 100%;
	min-width: 760px;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	font-size: 15px;
	line-height: 1.5;
}

.ps-hag .ps-tabelle caption {
	padding: 16px 20px;
	background: var(--ps-creme);
	color: #000;
	font-size: 16px;
	font-weight: 700;
	text-align: left;
}

.ps-hag .ps-tabelle th,
.ps-hag .ps-tabelle td {
	padding: 16px 20px;
	border: 0;
	border-top: 1px solid var(--ps-linie);
	background: transparent;
	color: #000;
	text-align: left;
	vertical-align: top;
}

.ps-hag .ps-tabelle thead th {
	background: var(--ps-salbei);
	font-size: 14px;
	font-weight: 700;
}

.ps-hag .ps-tabelle tbody th {
	font-weight: 700;
	white-space: nowrap;
}

.ps-hag .ps-tabelle tbody tr:nth-child(even) th,
.ps-hag .ps-tabelle tbody tr:nth-child(even) td {
	background: #FAFAF9;
}

.ps-hag .ps-tabelle-hinweis {
	margin: 12px 0 0;
	color: var(--ps-schiefer);
	font-size: 14px;
	line-height: 1.5;
}

/* ---------- Modellkarten ---------- */

.ps-hag .ps-modellkarte {
	overflow: hidden;
}

.ps-hag .ps-modell-bild {
	padding: 28px 0;
	background: var(--ps-panel);
}

.ps-hag .ps-modell-bild img {
	display: block;
	width: auto;
	max-width: 100%;
	height: 240px;
	margin: 0 auto;
	object-fit: contain;
}

/* Tablet: zwei Spalten, die dritte Karte läuft quer über beide (Bild links, Text rechts) statt allein zu stehen */
@media (min-width: 768px) and (max-width: 1024px) {
	.ps-hag .e-con.ps-modellkarte:nth-child(3) {
		--flex-direction: row;
		grid-column: span 2;
		flex-direction: row;
	}

	.ps-hag .ps-modellkarte:nth-child(3) > .ps-modell-bild {
		display: flex;
		flex: 0 0 42%;
		align-items: center;
		justify-content: center;
	}
}

/* ---------- Ergonomiefakten ---------- */

.ps-hag .ps-fakten {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 56px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: ps-fakt;
}

.ps-hag .ps-fakten li {
	position: relative;
	padding: 26px 0 30px 52px;
	border-top: 1px solid var(--ps-linie);
	counter-increment: ps-fakt;
}

.ps-hag .ps-fakten li::before {
	content: counter(ps-fakt, decimal-leading-zero);
	position: absolute;
	top: 30px;
	left: 0;
	color: var(--ps-schiefer);
	font-size: 15px;
	font-weight: 700;
}

.ps-hag .ps-fakten h3 {
	margin: 0 0 10px;
	font-size: 20px;
	line-height: 1.3;
}

.ps-hag .ps-fakten p {
	margin: 0 0 10px;
	font-size: 16px;
	line-height: 1.6;
}

.ps-hag .ps-fakten .ps-praxis,
.ps-hag .ps-fakten .ps-merksatz {
	color: var(--ps-schiefer);
	font-size: 15px;
}

.ps-hag .ps-fakten .ps-merksatz {
	margin-bottom: 0;
	color: #000;
}

@media (max-width: 1024px) {
	.ps-hag .ps-fakten {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ---------- Schritte (wie Nummernliste auf /vela-trippelstuhl/) ---------- */

.ps-hag .ps-nutzen {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: ps-nutzen;
}

.ps-hag .ps-nutzen li {
	position: relative;
	padding: 20px 0 20px 52px;
	border-top: 1px solid var(--ps-linie);
	counter-increment: ps-nutzen;
}

.ps-hag .ps-nutzen li:last-child {
	border-bottom: 1px solid var(--ps-linie);
}

.ps-hag .ps-nutzen li::before {
	content: counter(ps-nutzen, decimal-leading-zero);
	position: absolute;
	top: 23px;
	left: 0;
	color: var(--ps-schiefer);
	font-size: 15px;
	font-weight: 700;
}

.ps-hag .ps-nutzen strong {
	display: block;
	margin-bottom: 6px;
	font-family: "DM Sans", sans-serif;
	font-size: 19px;
	font-weight: 500;
	line-height: 1.3;
	text-transform: uppercase;
}

.ps-hag .ps-nutzen span {
	display: block;
	font-size: 16px;
	line-height: 1.55;
}

/* ---------- FAQ: drei native Nested Accordions wie auf /vela-trippelstuhl/ ---------- */

.ps-hag .ps-faq-themen {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 8px;
}

.ps-hag .ps-faq-themen a {
	padding: 11px 16px;
	border: 1px solid var(--ps-linie);
	border-radius: 999px;
	color: #000;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}

.ps-hag .ps-faq-themen a:hover,
.ps-hag .ps-faq-themen a:focus-visible {
	border-color: var(--ps-akzent);
	background: var(--ps-creme);
}

.ps-hag .ps-faq-titel {
	margin-top: 24px;
}

.ps-hag .ps-faq-titel .elementor-heading-title {
	color: var(--ps-schiefer);
	font-family: "DM Sans", sans-serif;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 1.5px;
	line-height: 1.4;
	text-transform: uppercase;
}

.ps-hag .ps-faq-akkordeon .e-n-accordion-item {
	border-bottom: 1px solid var(--ps-linie);
}

.ps-hag .ps-faq-akkordeon .e-n-accordion-item:first-child {
	border-top: 1px solid var(--ps-linie);
}

.ps-hag .ps-faq-akkordeon .e-n-accordion-item-title {
	padding: 20px 4px 20px 0;
	border: 0;
	background: transparent;
}

.ps-hag .ps-faq-akkordeon .e-n-accordion-item-title-text {
	color: #000;
	font-family: "DM Sans", sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	text-wrap: balance;
}

.ps-hag .ps-faq-akkordeon .e-n-accordion-item-title:hover .e-n-accordion-item-title-text,
.ps-hag .ps-faq-akkordeon .e-n-accordion-item[open] .e-n-accordion-item-title-text {
	color: var(--ps-schiefer);
}

.ps-hag .ps-faq-akkordeon .e-n-accordion-item-title-icon i,
.ps-hag .ps-faq-akkordeon .e-n-accordion-item-title-icon svg {
	color: var(--ps-akzent);
	fill: var(--ps-akzent);
}

.ps-hag .ps-faq-akkordeon .e-n-accordion-item > .e-con {
	padding: 0 0 22px;
	border: 0;
}

.ps-hag .ps-antwort p {
	margin: 0 0 10px;
	font-size: 17px;
	line-height: 1.6;
}

.ps-hag .ps-antwort .ps-permalink {
	margin: 0;
	font-size: 13px;
}

.ps-hag .ps-permalink a {
	color: var(--ps-schiefer);
}

@media (max-width: 767px) {
	.ps-hag .ps-faq-akkordeon .e-n-accordion-item-title-text {
		font-size: 17px;
	}
}

/* Quellenliste als <details> (HTML-Widget) */
.ps-hag .ps-quellen summary {
	display: flex;
	gap: 16px;
	justify-content: space-between;
	align-items: flex-start;
	padding: 18px 4px 18px 0;
	color: #000;
	font-family: "DM Sans", sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	list-style: none;
	cursor: pointer;
}

.ps-hag .ps-quellen summary::-webkit-details-marker {
	display: none;
}

.ps-hag .ps-quellen summary::after {
	content: "+" / "";
	flex: 0 0 auto;
	color: var(--ps-akzent);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.1;
}

.ps-hag .ps-quellen[open] summary::after {
	content: "\2212" / "";
}

/* ---------- Beratung und Kontaktkarte ---------- */

.ps-hag .ps-h2-zusatz {
	display: block;
	color: var(--ps-schiefer);
}

.ps-hag .ps-kontaktkarte {
	overflow: hidden;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.ps-hag .ps-kontaktkarte {
		max-width: 460px;
	}
}

.ps-hag .ps-portrait img {
	display: block;
	border-radius: 0;
}

.ps-hag .ps-zitat {
	margin: 4px 0 0;
	font-size: 18px;
	font-style: italic;
	line-height: 1.5;
}

.ps-hag .ps-adresse {
	margin: 0;
	line-height: 1.7;
}

.ps-hag .ps-adresse a {
	font-weight: 400;
}

/* ---------- Weiterlesen ---------- */

.ps-hag .ps-weiter {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 28px 56px;
	padding-bottom: 32px;
	border-bottom: 1px solid var(--ps-linie);
}

.ps-hag .ps-weiter-titel {
	margin: 0 0 12px;
	color: var(--ps-schiefer);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.ps-hag .ps-weiter ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ps-hag .ps-weiter a {
	color: #000;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .3em;
}

.ps-hag .ps-weiter a::after {
	content: " \2192" / "";
}

.ps-hag .ps-weiter a:hover,
.ps-hag .ps-weiter a:focus-visible {
	color: var(--ps-schiefer);
}

@media (max-width: 1024px) {
	.ps-hag .ps-weiter {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ---------- Quellen ---------- */

.ps-hag .ps-quellen {
	border-top: 1px solid var(--ps-linie);
	border-bottom: 1px solid var(--ps-linie);
}

.ps-hag .ps-quellen summary {
	font-size: 16px;
}

.ps-hag .ps-quellen ol {
	margin: 0 0 16px;
	padding-left: 28px;
	font-size: 15px;
	line-height: 1.55;
}

.ps-hag .ps-quellen li {
	margin-bottom: 6px;
	padding-left: 4px;
}

.ps-hag .ps-quellen li:target {
	background: var(--ps-creme);
}

.ps-hag .ps-quellen a {
	color: #000;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .25em;
	overflow-wrap: anywhere;
}

.ps-hag .ps-quellen p {
	margin: 0 0 18px;
	color: var(--ps-schiefer);
	font-size: 14px;
}

@media (prefers-reduced-motion: reduce) {
	.ps-hag .ps-orientierung a {
		transition: none;
	}
}

/* ==========================================================================
   Korrekturen nach der unabhängigen Prüfung (12.11.2026)
   ========================================================================== */

/* Das Kit setzt .elementor-kit-9 a { font-size: 18px }. Links in Komponenten erben die Größe ihres Elternteils. */
.ps-hag .ps-ref a,
.ps-hag .ps-brotkrumen a,
.ps-hag .ps-adresse a,
.ps-hag .ps-sprungnav a,
.ps-hag .ps-quellen a,
.ps-hag .ps-orientierung a,
.ps-hag .ps-faq-themen a,
.ps-hag .ps-permalink a {
	font-size: inherit;
}

.ps-hag .ps-faq-themen a {
	font-size: 14px;
}

/* Keine Einzelwörter in Überschriften und Kacheln */
.ps-hag .elementor-heading-title,
.ps-hag h3,
.ps-hag summary,
.ps-hag .ps-o-wunsch,
.ps-hag .ps-nutzen strong,
.ps-hag .elementor-button-text {
	text-wrap: balance;
}

.ps-hag .elementor-widget-text-editor p,
.ps-hag .ps-antwort p,
.ps-hag .ps-fakten p {
	text-wrap: pretty;
}

/* Orientierung: zweispaltig steht die neunte Kachel über die ganze Breite statt allein */
@media (min-width: 601px) and (max-width: 1024px) {
	.ps-hag .ps-orientierung li:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
}

/* Tabelle: ab Tablet passt sie in die Breite, mobil bleiben Titel und Modellspalte beim Wischen stehen */
@media (min-width: 768px) {
	.ps-hag .ps-tabelle table {
		min-width: 0;
	}
}

@media (max-width: 767px) {
	.ps-hag .ps-tabelle caption {
		position: sticky;
		left: 0;
		max-width: calc(100vw - 22px);
	}

	.ps-hag .ps-tabelle tbody th {
		position: sticky;
		left: 0;
		z-index: 1;
		background: #fff;
		box-shadow: 1px 0 0 var(--ps-linie);
	}

	.ps-hag .ps-tabelle tbody tr:nth-child(even) th {
		background: #FAFAF9;
	}

	.ps-hag .ps-tabelle thead th:first-child {
		position: sticky;
		left: 0;
		z-index: 1;
	}
}

.ps-hag .ps-nur-schmal {
	display: none;
}

@media (max-width: 767px) {
	.ps-hag .ps-nur-schmal {
		display: inline;
	}
}

/* Touch-Ziele mindestens 44 px hoch */
.ps-hag .ps-sprungnav {
	gap: 0 28px;
	padding-bottom: 10px;
}

.ps-hag .ps-sprungnav a {
	display: inline-block;
	padding: 12px 0;
}

.ps-hag .ps-faq-themen a {
	padding: 11px 16px;
}

/* Hinweisboxen wie die Box "Wichtig zu wissen" auf /vela-trippelstuhl/ */
.ps-hag .ps-hinweis,
.ps-hag--capisco .ps-hinweis {
	border: 1px solid var(--ps-linie);
	border-left: 3px solid var(--ps-akzent);
	border-radius: 8px;
	background: #fff;
}

/* Sprungziel kurz erkennbar machen */
.ps-hag tr:target > * {
	background: var(--ps-salbei) !important;
}

.ps-hag .ps-modellkarte:has(:target) {
	outline: 2px solid var(--ps-akzent);
	outline-offset: 4px;
}

/* Mobil: HÅG-Schriftzug mittig über dem Stuhl */
@media (max-width: 767px) {
	.ps-hag .ps-marke {
		left: 50%;
		transform: translateX(-50%);
	}
}
