.page-setup-framework-page,
.psf-optional-blocks,
.psf-optional-block,
.psf-breadcrumbs {
	--psf-primary: #0a3d91;
	--psf-secondary: #0f172a;
	--psf-accent: #d4af37;
	--psf-white: #fff;
	--psf-surface: #f8fafc;
	--psf-border: #e2e8f0;
	--psf-muted: #64748b;
	--psf-radius: 14px;
	--psf-shadow: 0 12px 36px rgba(15, 23, 42, .09);
	--psf-shadow-hover: 0 20px 48px rgba(10, 61, 145, .14);
}

.page-setup-framework-page {
	display: block;
	width: 100%;
	min-width: 0;
	color: var(--psf-secondary);
	font-family: inherit;
}

body.page-setup-framework-enabled {
	overflow-x: hidden;
}

@supports (overflow: clip) {
	body.page-setup-framework-enabled {
		overflow-x: clip;
	}
}

/*
 * Normalize only content ancestors on framework-enabled full-width pages.
 * Header, footer, navigation, admin-bar, and widget containers are intentionally
 * excluded. The legacy psf-layout-full-width class remains on the body for
 * backward compatibility, but all layout overrides use the explicit public
 * classes below.
 */
body.page-setup-framework-enabled.page-setup-framework-full-width :where(
	#primary,
	#main,
	main.site-main,
	.site-main,
	.content-area,
	.site-content,
	.page-content,
	.entry-content,
	.entry-content-wrap,
	.content-container,
	.inside-article,
	.wp-block-post-content,
	.elementor-location-single,
	article.page
) {
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
	column-gap: 0 !important;
}

body.page-setup-framework-enabled.page-setup-framework-full-width .wp-site-blocks > main,
body.page-setup-framework-enabled.page-setup-framework-full-width .site-content > .ast-container,
body.page-setup-framework-enabled.page-setup-framework-full-width #page.grid-container,
body.page-setup-framework-enabled.page-setup-framework-full-width .site-content.grid-container,
body.page-setup-framework-enabled.page-setup-framework-full-width main.grid-container {
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

@supports selector(.container:has(.page-setup-framework-page)) {
	body.page-setup-framework-enabled.page-setup-framework-full-width .wp-site-blocks > .wp-block-group:has(.page-setup-framework-page),
	body.page-setup-framework-enabled.page-setup-framework-full-width .site-content .ast-row:has(.page-setup-framework-page),
	body.page-setup-framework-enabled.page-setup-framework-full-width main .container:has(.page-setup-framework-page),
	body.page-setup-framework-enabled.page-setup-framework-full-width .site-content .container:has(.page-setup-framework-page),
	body.page-setup-framework-enabled.page-setup-framework-full-width .is-layout-constrained:has(.page-setup-framework-page) {
		width: 100% !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}
}

body.page-setup-framework-enabled.page-setup-framework-full-width .page-setup-framework-page {
	width: 100%;
	max-width: none;
	margin: 0;
	padding-right: 0;
	padding-left: 0;
	overflow-x: hidden;
}

@supports (overflow: clip) {
	body.page-setup-framework-enabled.page-setup-framework-full-width .page-setup-framework-page {
		overflow-x: clip;
	}
}

/*
 * A measured fallback is added by frontend-layout.js only when a resistant
 * third-party ancestor still constrains the wrapper after the safe resets.
 */
body.page-setup-framework-enabled.page-setup-framework-full-width .page-setup-framework-page.psf-full-bleed-fallback {
	position: relative;
	width: var(--psf-viewport-width, 100vw);
	max-width: var(--psf-viewport-width, 100vw);
	margin-right: calc(50% - var(--psf-half-viewport-width, 50vw) - var(--psf-full-bleed-correction, 0px));
	margin-left: calc(50% - var(--psf-half-viewport-width, 50vw) + var(--psf-full-bleed-correction, 0px));
}

body.page-setup-framework-enabled.psf-hide-page-title :where(
	.entry-title,
	.page-title,
	.wp-block-post-title
):not(.page-setup-framework-page *) {
	display: none !important;
}

body.page-setup-framework-enabled.page-setup-framework-full-width.psf-hide-page-title .entry-header.psf-title-only-header {
	display: none !important;
}

@supports selector(.entry-header:has(> .entry-title)) {
	body.page-setup-framework-enabled.page-setup-framework-full-width.psf-hide-page-title .entry-header:not(.page-setup-framework-page *):has(> :is(.entry-title, .page-title, .wp-block-post-title)):not(:has(> :not(:is(.entry-title, .page-title, .wp-block-post-title)))) {
		display: none !important;
	}
}

body.page-setup-framework-enabled.page-setup-framework-full-width .page-setup-framework-page :where(img, video, iframe, svg) {
	max-width: 100%;
}

body.psf-layout-boxed .page-setup-framework-page {
	width: calc(100% - 40px);
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
}

.page-setup-framework-page *,
.page-setup-framework-page *::before,
.page-setup-framework-page *::after,
.psf-optional-block *,
.psf-optional-block *::before,
.psf-optional-block *::after {
	box-sizing: border-box;
}

.ncpe-breadcrumbs ol,
.psf-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .55rem;
	margin: 0 0 2rem;
	padding: 0;
	list-style: none;
	color: var(--psf-muted);
	font-size: .875rem;
	font-weight: 600;
	letter-spacing: .01em;
}

.ncpe-breadcrumbs li,
.psf-breadcrumbs li {
	margin: 0;
	padding: 0;
}

.ncpe-breadcrumbs a,
.psf-breadcrumbs a {
	color: var(--psf-primary);
	text-decoration: none;
	transition: color .2s ease;
}

.ncpe-breadcrumbs a:hover,
.psf-breadcrumbs a:hover {
	color: var(--psf-accent);
}

.ncpe-breadcrumbs .ncpe-separator,
.psf-breadcrumb-separator {
	color: var(--psf-accent);
	opacity: 1;
}

.psf-optional-blocks {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2rem;
	margin: 2.5rem 0 0;
}

.psf-optional-block {
	position: relative;
	min-width: 0;
	margin: 2rem 0;
	padding: 32px;
	overflow-wrap: anywhere;
	color: var(--psf-secondary);
	background: var(--psf-white);
	border: 1px solid rgba(148, 163, 184, .25);
	border-radius: var(--psf-radius);
	box-shadow: var(--psf-shadow);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.psf-optional-blocks .psf-optional-block {
	margin: 0;
}

.psf-optional-block:hover {
	border-color: rgba(10, 61, 145, .22);
	box-shadow: var(--psf-shadow-hover);
	transform: translateY(-2px);
}

.psf-optional-block > :first-child {
	margin-top: 0;
}

.psf-optional-block > :last-child {
	margin-bottom: 0;
}

.psf-optional-block h2 {
	margin: 0 0 12px;
	color: var(--psf-secondary);
	font-size: clamp(1.75rem, 2.6vw, 2.35rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.025em;
}

.psf-optional-block a {
	color: var(--psf-primary);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.psf-optional-block a:focus-visible,
.psf-faq-item summary:focus-visible {
	outline: 3px solid rgba(212, 175, 55, .55);
	outline-offset: 3px;
}

/* FAQ */
.psf-faq {
	display: grid;
	gap: 16px;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.psf-faq:hover {
	border-color: transparent;
	box-shadow: none;
	transform: none;
}

.psf-faq-item {
	position: relative;
	margin: 0;
	overflow: hidden;
	background: var(--psf-white);
	border: 1px solid var(--psf-border);
	border-radius: var(--psf-radius);
	box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
	transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.psf-faq-item:hover,
.psf-faq-item[open] {
	border-color: rgba(10, 61, 145, .28);
	box-shadow: 0 14px 34px rgba(10, 61, 145, .11);
	transform: translateY(-1px);
}

.psf-faq-item summary {
	position: relative;
	display: block;
	margin: 0;
	padding: 22px 72px 22px 24px;
	color: var(--psf-secondary);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.45;
	list-style: none;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.psf-faq-item summary::-webkit-details-marker {
	display: none;
}

.psf-faq-item summary::marker {
	content: "";
}

.psf-faq-item summary::after {
	position: absolute;
	top: 50%;
	right: 22px;
	display: grid;
	width: 34px;
	height: 34px;
	color: var(--psf-white);
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1;
	content: "+";
	background: var(--psf-primary);
	border-radius: 50%;
	transform: translateY(-50%);
	place-items: center;
	transition: background-color .2s ease, color .2s ease, transform .25s ease;
}

.psf-faq-item[open] summary {
	color: var(--psf-primary);
}

.psf-faq-item[open] summary::after {
	color: var(--psf-secondary);
	content: "−";
	background: var(--psf-accent);
	transform: translateY(-50%) rotate(180deg);
}

.psf-faq-item .psf-faq-answer {
	display: grid;
	grid-template-rows: 0fr;
	padding: 0 24px;
	color: #475569;
	font-size: 1rem;
	line-height: 1.75;
	opacity: 0;
	transition: grid-template-rows .35s ease, opacity .25s ease, padding-bottom .35s ease;
}

.psf-faq-item .psf-faq-answer-inner {
	min-height: 0;
	overflow: hidden;
}

.psf-faq-item[open] .psf-faq-answer {
	grid-template-rows: 1fr;
	padding-bottom: 22px;
	opacity: 1;
}

.psf-faq-answer-inner > :first-child {
	margin-top: 0;
}

.psf-faq-answer-inner > :last-child {
	margin-bottom: 0;
}

.psf-faq-list-item {
	padding: 24px;
}

.psf-faq-list-item .psf-faq-question {
	margin: 0 0 12px;
	color: var(--psf-secondary);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.45;
}

.psf-faq-list-item .psf-faq-answer {
	display: block;
	padding: 0;
	opacity: 1;
}

/* Shared contact and location rows */
.psf-contact-row,
.psf-location-row {
	position: relative;
	display: flex;
	min-height: 40px;
	margin: 0;
	padding: 7px 0 7px 52px;
	align-items: center;
	color: #334155;
	font-size: .975rem;
	line-height: 1.6;
}

.psf-contact-row::before,
.psf-location-row::before {
	position: absolute;
	top: 4px;
	left: 0;
	width: 36px;
	height: 36px;
	content: "";
	background-color: #eff6ff;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px 18px;
	border: 1px solid #dbeafe;
	border-radius: 10px;
}

.psf-row-phone::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A3D91' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.9.33 1.78.62 2.63a2 2 0 0 1-.45 2.11L8 9.73a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.85.29 1.73.5 2.63.62A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

.psf-row-email::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A3D91' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
}

.psf-row-address::before,
.psf-row-map::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A3D91' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}

.psf-row-whatsapp::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A3D91' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.4 8.4 0 0 1-9 8.5 9.7 9.7 0 0 1-4-.9L3 21l1.8-4.6A8.6 8.6 0 1 1 21 11.5Z'/%3E%3Cpath d='M8.5 8.3c.4 3 2.2 4.8 5.2 5.2'/%3E%3C/svg%3E");
}

.psf-row-hours::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A3D91' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

.psf-row-service::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A3D91' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M3 12h18M10 12v2h4v-2'/%3E%3C/svg%3E");
}

.psf-contact-row a,
.psf-location-row a {
	color: var(--psf-secondary);
	font-weight: 600;
	text-decoration: none;
	transition: color .2s ease;
}

.psf-contact-row a:hover,
.psf-location-row a:hover {
	color: var(--psf-primary);
}

/* Contact card */
.psf-contact {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 28px;
	overflow: hidden;
	border-top: 4px solid var(--psf-primary);
}

.psf-contact::after {
	position: absolute;
	top: -85px;
	right: -85px;
	width: 190px;
	height: 190px;
	pointer-events: none;
	content: "";
	background: radial-gradient(circle, rgba(212, 175, 55, .14), rgba(212, 175, 55, 0) 70%);
}

.psf-contact-heading,
.psf-contact-description,
.psf-contact-actions,
.psf-contact .psf-row-address {
	grid-column: 1 / -1;
}

.psf-contact-heading,
.psf-contact-description,
.psf-contact-row,
.psf-contact-actions {
	z-index: 1;
}

.psf-contact-description {
	max-width: 760px;
	margin: -2px 0 12px;
	color: var(--psf-muted);
	font-size: 1.025rem;
	line-height: 1.75;
}

.psf-contact address,
.psf-location address {
	font-style: normal;
}

.psf-contact-actions,
.psf-location-actions {
	margin: 12px 0 0;
}

.psf-contact-button,
.psf-location-map-button,
.psf-rating-reviews-button {
	display: inline-flex;
	min-height: 48px;
	padding: 12px 22px;
	color: var(--psf-white) !important;
	font-size: .925rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	background: var(--psf-primary);
	border: 1px solid var(--psf-primary);
	border-radius: 10px;
	box-shadow: 0 8px 20px rgba(10, 61, 145, .2);
	align-items: center;
	justify-content: center;
	transition: transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.psf-contact-button::after,
.psf-location-map-button::after,
.psf-rating-reviews-button::after {
	margin-left: 10px;
	font-size: 1.1em;
	content: "→";
	transition: transform .2s ease;
}

.psf-contact-button:hover,
.psf-location-map-button:hover,
.psf-rating-reviews-button:hover {
	color: var(--psf-secondary) !important;
	background: var(--psf-accent);
	border-color: var(--psf-accent);
	box-shadow: 0 12px 26px rgba(10, 61, 145, .24);
	transform: translateY(-2px);
}

.psf-contact-button:hover::after,
.psf-location-map-button:hover::after,
.psf-rating-reviews-button:hover::after {
	transform: translateX(3px);
}

/* Office location */
.psf-location {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 28px;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(239, 246, 255, .82), rgba(255, 255, 255, .96) 48%),
		var(--psf-white);
	border-top: 4px solid var(--psf-accent);
}

.psf-location::after {
	position: absolute;
	top: -100px;
	right: -70px;
	width: 250px;
	height: 250px;
	pointer-events: none;
	content: "";
	background: linear-gradient(135deg, rgba(10, 61, 145, .08), rgba(212, 175, 55, .08));
	border-radius: 50%;
}

.psf-location > * {
	z-index: 1;
}

.psf-location-heading,
.psf-location-description,
.psf-location-name,
.psf-location .psf-row-address,
.psf-location-actions,
.psf-location-map,
.psf-location .psf-map-embed {
	grid-column: 1 / -1;
}

.psf-location-heading {
	max-width: 760px;
	font-size: clamp(2rem, 3.5vw, 2.75rem) !important;
}

.psf-location-description {
	max-width: 760px;
	margin: -2px 0 4px;
	color: var(--psf-muted);
	font-size: 1.05rem;
	line-height: 1.75;
}

.psf-location-name {
	margin: 4px 0 0;
	color: var(--psf-primary);
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.psf-opening-hours strong,
.psf-service-area strong {
	color: var(--psf-secondary);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.psf-location-map iframe,
.psf-location .psf-map-embed {
	width: 100%;
	min-height: 360px;
	margin-top: 12px;
	border: 0;
	border-radius: var(--psf-radius);
	box-shadow: 0 10px 28px rgba(15, 23, 42, .12);
}

/* Rating card */
.psf-rating {
	display: grid;
	gap: 18px;
	overflow: hidden;
	color: var(--psf-white);
	background:
		radial-gradient(circle at 90% 10%, rgba(212, 175, 55, .18), transparent 34%),
		linear-gradient(135deg, var(--psf-secondary), #13264d);
	border-color: rgba(255, 255, 255, .08);
	border-top: 4px solid var(--psf-accent);
}

.psf-rating::after {
	position: absolute;
	right: -40px;
	bottom: -70px;
	width: 180px;
	height: 180px;
	pointer-events: none;
	content: "“";
	color: rgba(255, 255, 255, .04);
	font-family: Georgia, serif;
	font-size: 15rem;
	line-height: 1;
}

.psf-rating > * {
	z-index: 1;
}

.psf-rating-label {
	color: var(--psf-accent);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.psf-rating-visual {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 30px;
	align-items: center;
}

.psf-stars {
	position: relative;
	display: inline-block;
	flex: 0 0 auto;
	color: rgba(255, 255, 255, .18);
	font-size: clamp(1.8rem, 4.2vw, 2.6rem);
	letter-spacing: .12em;
	line-height: 1;
	white-space: nowrap;
}

.psf-stars > span + span {
	position: absolute;
	inset: 0 auto 0 0;
	overflow: hidden;
	color: var(--psf-accent);
	white-space: nowrap;
}

.psf-rating-score {
	display: grid;
	gap: 3px;
}

.psf-rating-value {
	color: var(--psf-white);
	font-size: clamp(2.5rem, 6vw, 4rem);
	font-weight: 750;
	line-height: .95;
	letter-spacing: -.045em;
}

.psf-rating-value small {
	color: rgba(255, 255, 255, .68);
	font-size: .44em;
	font-weight: 600;
	letter-spacing: 0;
}

.psf-rating-reviews {
	color: rgba(255, 255, 255, .7);
	font-size: .9rem;
	font-weight: 600;
}

.psf-rating-text {
	max-width: 760px;
	margin: 2px 0 0;
	padding: 2px 0 2px 18px;
	color: rgba(255, 255, 255, .82);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.1rem;
	font-style: italic;
	line-height: 1.7;
	border-left: 3px solid var(--psf-accent);
}

.psf-rating-actions {
	margin: 4px 0 0;
}

.psf-rating-reviews-button {
	color: var(--psf-secondary) !important;
	background: var(--psf-accent);
	border-color: var(--psf-accent);
	box-shadow: 0 8px 22px rgba(0, 0, 0, .24);
}

.psf-rating-reviews-button:hover {
	color: var(--psf-white) !important;
	background: var(--psf-primary);
	border-color: rgba(255, 255, 255, .28);
}

.psf-developer-panel {
	clear: both;
	max-width: 1200px;
	margin: 32px auto;
	padding: 0 20px;
	color: #cbd5e1;
	font: 13px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.psf-developer-panel details {
	padding: 16px 18px;
	background: #0f172a;
	border: 1px solid #334155;
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba(15, 23, 42, .2);
}

.psf-developer-panel summary {
	color: #d4af37;
	font-weight: 700;
	cursor: pointer;
}

.psf-developer-panel dl {
	display: grid;
	grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
	gap: 8px 18px;
	margin: 16px 0 0;
}

.psf-developer-panel dt {
	color: #94a3b8;
}

.psf-developer-panel dd {
	margin: 0;
	color: #f8fafc;
	overflow-wrap: anywhere;
}

@media (max-width: 760px) {
	.ncpe-breadcrumbs ol,
	.psf-breadcrumbs ol {
		gap: .4rem;
		margin-bottom: 1.5rem;
		font-size: .82rem;
	}

	.psf-optional-blocks {
		gap: 1.25rem;
		margin-top: 1.75rem;
	}

	.psf-optional-block {
		margin: 1.25rem 0;
		padding: 20px;
		border-radius: 14px;
	}

	.psf-contact,
	.psf-location {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.psf-contact-heading,
	.psf-contact-description,
	.psf-contact-actions,
	.psf-contact .psf-row-address,
	.psf-location-heading,
	.psf-location-description,
	.psf-location-name,
	.psf-location .psf-row-address,
	.psf-location-actions,
	.psf-location-map,
	.psf-location .psf-map-embed {
		grid-column: 1;
	}

	.psf-faq {
		padding: 0;
	}

	.psf-faq-item summary {
		padding: 19px 62px 19px 20px;
		font-size: 1rem;
	}

	.psf-faq-item summary::after {
		right: 18px;
		width: 32px;
		height: 32px;
	}

	.psf-faq-item .psf-faq-answer {
		padding-right: 20px;
		padding-left: 20px;
	}

	.psf-faq-list-item {
		padding: 20px;
	}

	.psf-faq-list-item .psf-faq-answer {
		padding: 0;
	}

	.psf-rating-visual {
		display: grid;
		gap: 18px;
	}

	.psf-stars {
		font-size: clamp(1.65rem, 9vw, 2.35rem);
	}

	.psf-location-map iframe,
	.psf-location .psf-map-embed {
		min-height: 280px;
	}

	body.psf-layout-boxed .page-setup-framework-page {
		width: calc(100% - 24px);
	}

	.psf-developer-panel dl {
		grid-template-columns: minmax(0, 1fr);
		gap: 2px;
	}

	.psf-developer-panel dd + dt {
		margin-top: 8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.psf-optional-block,
	.psf-faq-item,
	.psf-faq-item .psf-faq-answer,
	.psf-faq-item summary::after,
	.psf-contact-button,
	.psf-location-map-button,
	.psf-rating-reviews-button,
	.psf-contact-button::after,
	.psf-location-map-button::after,
	.psf-rating-reviews-button::after {
		transition: none;
	}
}
