.chantra-faq {
	width: 100%;
	max-width: none;
	margin: 0 0 1.5rem;
	padding: 1.5rem 0 0.25rem;
	box-sizing: border-box;
	clear: both;
}

/* Hidden until JS places it before the gallery */
.chantra-faq:not(.is-placed) {
	display: none;
}

.et_pb_row_chantra_faq {
	clear: both !important;
	float: none !important;
	width: 80% !important;
	max-width: 1080px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.chantra-faq__inner {
	background: rgba(247, 240, 228, 0.96);
	border: 1px solid #c9a24a;
	border-radius: 10px;
	padding: 1.75rem 1.5rem 1.5rem;
	color: #3a2618;
}

.chantra-faq__title {
	margin: 0 0 0.65rem;
	padding: 0 0 10px;
	text-align: center;
	font-family: Trebuchet, "Trebuchet MS", Helvetica, Arial, Lucida, sans-serif;
	font-size: 21px;
	font-weight: 500;
	line-height: 1.22;
	color: #f1c231;
	background: transparent;
	text-shadow: none;
	border-radius: 0;
}

.chantra-faq__list {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.chantra-faq__item {
	background: #fff;
	border: 1px solid #e0cfa6;
	border-radius: 8px;
	overflow: hidden;
}

.chantra-faq__q {
	cursor: pointer;
	list-style: none;
	padding: 0.95rem 2.6rem 0.95rem 1.1rem;
	position: relative;
	font-family: "Open Sans", Arial, sans-serif;
	font-weight: 600;
	font-size: 1.02rem;
	color: #5e3f29;
	background: #f3e7cd;
	transition: background 0.15s ease;
}

.chantra-faq__q:hover {
	background: #eeddb8;
}

.chantra-faq__q::-webkit-details-marker {
	display: none;
}

/* Chevron indicator */
.chantra-faq__q::after {
	content: "";
	position: absolute;
	right: 1.15rem;
	top: 50%;
	width: 0.6rem;
	height: 0.6rem;
	border-right: 2px solid #7e5537;
	border-bottom: 2px solid #7e5537;
	transform: translateY(-70%) rotate(45deg);
	transition: transform 0.2s ease;
}

.chantra-faq__item[open] .chantra-faq__q::after {
	transform: translateY(-30%) rotate(-135deg);
}

.chantra-faq__a {
	padding: 0.35rem 1.1rem 1.05rem;
}

.chantra-faq__a p {
	margin: 0;
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 0.97rem;
	line-height: 1.6;
	color: #3a2618;
}

.chantra-faq__q:focus-visible {
	outline: 3px solid #c9a24a;
	outline-offset: -3px;
}

@media (max-width: 980px) {
	.chantra-faq {
		width: 92%;
		padding-top: 1.25rem;
	}
}

/* ============================================================
   Mobile responsive fixes (small screens, e.g. iPhone SE).
   Root cause of horizontal scroll: the services price tables and
   the opening-hours table forced a min-width wider than their
   narrow column. table-layout:fixed + wrapping makes them fit.
   ============================================================ */

/* Never let images or tables exceed the viewport. */
.entry-content img,
.et_pb_code table,
.preisblock table,
.chantra-hours__table {
	max-width: 100%;
}

/* Force fluid, wrapping columns instead of content-driven min-width. */
.preisblock table,
.chantra-hours__table {
	table-layout: fixed;
	width: 100%;
}

.preisblock th,
.preisblock td,
.preisblock h3,
.preisblock p,
.chantra-hours__table th,
.chantra-hours__table td {
	overflow-wrap: break-word;
	word-break: break-word;
	hyphens: auto;
}

/* Clickable address inside the location FAQ answer (opens maps). */
.chantra-faq__addr {
	color: #7e5537;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.chantra-faq__addr:hover {
	color: #5e3f29;
}

/* Break long German compound words in the FAQ. */
.chantra-faq__q,
.chantra-faq__a,
.chantra-faq__a p {
	overflow-wrap: break-word;
	hyphens: auto;
}

@media (max-width: 480px) {
	/* Give the injected cards more room on tiny screens. */
	.et_pb_row_chantra_hours,
	.et_pb_row_chantra_faq {
		width: 94% !important;
	}
	.chantra-hours,
	.chantra-faq {
		width: 100%;
	}

	/* Opening-hours title matches page H2s (yellow, above the box). */
	.chantra-hours__title {
		font-size: 21px;
		padding: 0 0 10px;
	}
	.chantra-hours__inner,
	.chantra-faq__inner {
		padding: 1.2rem 0.9rem 1rem;
	}

	/* Tighter cells so tables fit comfortably. */
	.chantra-hours__table th,
	.chantra-hours__table td {
		padding: 9px 8px;
		font-size: 0.9rem;
	}
	.preisblock th,
	.preisblock td {
		padding: 8px 7px !important;
		font-size: 0.9rem;
	}
	.preisblock h3 {
		font-size: 1.2em;
	}

	.chantra-faq__q {
		font-size: 0.95rem;
		padding-right: 2.2rem;
	}
}
