
:root :where(.wp-block-image.is-style-rounded img, .wp-block-image .is-style-rounded img, .wp-block-gallery.is-style-rounded img) {
	border-radius: 16px;
}

:root :where(.wp-block-image.is-style-pyoristetty-s img, .wp-block-gallery.is-style-pyoristetty-s img) {
	border-radius: 8px;
}

:root :where(.wp-block-image.is-style-pyoristetty-m img, .wp-block-gallery.is-style-pyoristetty-m img) {
	border-radius: 16px;
}

:root :where(.wp-block-image.is-style-pyoristetty-l img, .wp-block-gallery.is-style-pyoristetty-l img) {
	border-radius: 28px;
}

@media (min-width: 992px) {
	.container {
		max-width: 1040px;
	}
}

@media (min-width: 1200px) {
	.container {
		max-width: 1240px;
	}
}

@media (min-width: 1400px) {
	.container {
		max-width: 1460px;
	}
}

/*
 * Card-style accordion skin for Gutenberg details and Bootstrap accordion.
 * Usage: add class "palvelinx-card-accordion" to a parent Group block.
 */
.palvelinx-card-accordion {
	--pxa-card: rgba(255, 255, 255, 0.06);
	--pxa-card-2: rgba(255, 255, 255, 0.08);
	--pxa-ink: #f7f8fc;
	--pxa-muted: #cdd2df;
	--pxa-border: rgba(255, 255, 255, 0.2);
	--pxa-glow: rgba(229, 31, 229, 0.26);
	--pxa-focus: rgba(229, 31, 229, 0.5);
}

.palvelinx-card-accordion .wp-block-details,
.wp-block-details.palvelinx-card-accordion,
.palvelinx-card-accordion details,
.palvelinx-card-accordion .accordion-item,
.palvelinx-card-accordion .wp-block-accordion-item {
	border: 1px solid var(--pxa-border);
	background: var(--pxa-card);
	border-radius: 14px;
	margin-bottom: 0.9rem;
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.26);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	overflow: hidden;
	transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.palvelinx-card-accordion .wp-block-details[open],
.wp-block-details.palvelinx-card-accordion[open],
.palvelinx-card-accordion details[open],
.palvelinx-card-accordion .accordion-item .accordion-button:not(.collapsed),
.palvelinx-card-accordion .accordion-item .accordion-collapse.show,
.palvelinx-card-accordion .wp-block-accordion-item.is-open {
	background: var(--pxa-card-2);
	border-color: var(--pxa-focus);
	box-shadow: 0 18px 36px rgba(0, 0, 0, 0.34), 0 0 0 1px var(--pxa-glow) inset;
}

.palvelinx-card-accordion .wp-block-details > summary,
.wp-block-details.palvelinx-card-accordion > summary,
.palvelinx-card-accordion details > summary,
.palvelinx-card-accordion .accordion-button,
.palvelinx-card-accordion .wp-block-accordion-heading {
	list-style: none;
	cursor: pointer;
	background: transparent;
	color: var(--pxa-ink);
	font-family: "Poppins", "Segoe UI", sans-serif;
	font-weight: 700;
	font-size: 1rem;
	padding: 0.95rem 1rem;
	border: 0;
	box-shadow: none;
}

.palvelinx-card-accordion .wp-block-details > summary::-webkit-details-marker,
.wp-block-details.palvelinx-card-accordion > summary::-webkit-details-marker,
.palvelinx-card-accordion details > summary::-webkit-details-marker {
	display: none;
}

.palvelinx-card-accordion .wp-block-details > summary::after,
.wp-block-details.palvelinx-card-accordion > summary::after,
.palvelinx-card-accordion details > summary::after {
	content: "+";
	float: right;
	color: var(--pxa-muted);
	font-size: 1.1rem;
	line-height: 1;
	transition: transform 180ms ease;
}

.palvelinx-card-accordion .wp-block-details[open] > summary::after,
.wp-block-details.palvelinx-card-accordion[open] > summary::after,
.palvelinx-card-accordion details[open] > summary::after {
	content: "−";
	color: var(--pxa-ink);
	transform: translateY(-1px);
}

.palvelinx-card-accordion .accordion-button:not(.collapsed) {
	background: rgba(255, 255, 255, 0.04);
	color: var(--pxa-ink);
	box-shadow: none;
}

.palvelinx-card-accordion .accordion-button::after {
	filter: brightness(1.5);
	opacity: 0.9;
}

.palvelinx-card-accordion .wp-block-details > :not(summary),
.wp-block-details.palvelinx-card-accordion > :not(summary),
.palvelinx-card-accordion details > :not(summary),
.palvelinx-card-accordion .accordion-body,
.palvelinx-card-accordion .wp-block-accordion-panel {
	padding: 0 1rem 1rem;
	color: var(--pxa-muted);
}

.palvelinx-card-accordion .accordion-body > :last-child,
.palvelinx-card-accordion .wp-block-accordion-panel > :last-child,
.palvelinx-card-accordion .wp-block-details > :last-child,
.wp-block-details.palvelinx-card-accordion > :last-child,
.palvelinx-card-accordion details > :last-child {
	margin-bottom: 0;
}

.palvelinx-card-accordion .wp-block-details > summary:focus-visible,
.wp-block-details.palvelinx-card-accordion > summary:focus-visible,
.palvelinx-card-accordion details > summary:focus-visible,
.palvelinx-card-accordion .accordion-button:focus-visible,
.palvelinx-card-accordion .wp-block-accordion-heading:focus-visible {
	outline: 2px solid var(--pxa-focus);
	outline-offset: -2px;
}

@media (max-width: 767px) {
	.palvelinx-card-accordion .wp-block-details > summary,
	.wp-block-details.palvelinx-card-accordion > summary,
	.palvelinx-card-accordion details > summary,
	.palvelinx-card-accordion .accordion-button,
	.palvelinx-card-accordion .wp-block-accordion-heading {
		padding: 0.85rem 0.9rem;
		font-size: 0.96rem;
	}

	.palvelinx-card-accordion .wp-block-details > :not(summary),
	.wp-block-details.palvelinx-card-accordion > :not(summary),
	.palvelinx-card-accordion details > :not(summary),
	.palvelinx-card-accordion .accordion-body,
	.palvelinx-card-accordion .wp-block-accordion-panel {
		padding: 0 0.9rem 0.9rem;
	}
}

/* Global fallback for WP core "Haitari" (Details) block. */
.entry-content .wp-block-details,
.wp-site-blocks .wp-block-details,
.is-layout-flow .wp-block-details {
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.06);
	border-radius: 14px;
	margin-bottom: 0.9rem;
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.26);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	overflow: hidden;
}

.entry-content .wp-block-details > summary,
.wp-site-blocks .wp-block-details > summary,
.is-layout-flow .wp-block-details > summary {
	list-style: none;
	cursor: pointer;
	background: transparent;
	color: #f7f8fc;
	font-family: "Poppins", "Segoe UI", sans-serif;
	font-weight: 700;
	font-size: 1rem;
	padding: 0.95rem 1rem;
	border: 0;
}

.entry-content .wp-block-details > summary::-webkit-details-marker,
.wp-site-blocks .wp-block-details > summary::-webkit-details-marker,
.is-layout-flow .wp-block-details > summary::-webkit-details-marker {
	display: none;
}

.entry-content .wp-block-details > summary::after,
.wp-site-blocks .wp-block-details > summary::after,
.is-layout-flow .wp-block-details > summary::after {
	content: "+";
	float: right;
	color: #cdd2df;
	font-size: 1.1rem;
	line-height: 1;
}

.entry-content .wp-block-details[open] > summary::after,
.wp-site-blocks .wp-block-details[open] > summary::after,
.is-layout-flow .wp-block-details[open] > summary::after {
	content: "−";
	color: #f7f8fc;
}

.entry-content .wp-block-details > :not(summary),
.wp-site-blocks .wp-block-details > :not(summary),
.is-layout-flow .wp-block-details > :not(summary) {
	padding: 0 1rem 1rem;
	color: #cdd2df;
}

/* Global fallback for Gutenberg Accordion block classes (if present). */
.entry-content .wp-block-accordion .wp-block-accordion-item,
.wp-site-blocks .wp-block-accordion .wp-block-accordion-item {
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.06);
	border-radius: 14px;
	margin-bottom: 0.9rem;
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.26);
	overflow: hidden;
}

.entry-content .wp-block-accordion .wp-block-accordion-heading,
.wp-site-blocks .wp-block-accordion .wp-block-accordion-heading {
	color: #f7f8fc;
	font-family: "Poppins", "Segoe UI", sans-serif;
	font-weight: 700;
	padding: 0.95rem 1rem;
	margin: 0;
	cursor: pointer;
}

.entry-content .wp-block-accordion .wp-block-accordion-panel,
.wp-site-blocks .wp-block-accordion .wp-block-accordion-panel {
	padding: 0 1rem 1rem;
	color: #cdd2df;
}

.wp-block-buttons.hero-button .wp-block-button__link,
.wp-block-button.hero-button .wp-block-button__link,
.hero-button .wp-block-button__link,
.hero-button.wp-block-button__link {
	font-size: 14px;
	padding: 14px 24px;
	border-radius: 8px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-weight: 600;
	line-height: 1.2;
	min-width: 104px;
	color: #e6e6e6 !important;
	text-decoration: none;
	border: 1px solid rgba(229, 31, 229, 0.2) !important;
	background: linear-gradient(135deg, rgba(149, 21, 149, 0.4) 0%, rgba(149, 21, 149, 0.2) 100%);
	box-shadow: none;
	transition: all 200ms ease;
}

.wp-block-buttons.hero-button .wp-block-button__link:hover,
.wp-block-buttons.hero-button .wp-block-button__link:focus,
.wp-block-button.hero-button .wp-block-button__link:hover,
.wp-block-button.hero-button .wp-block-button__link:focus,
.hero-button .wp-block-button__link:hover,
.hero-button .wp-block-button__link:focus,
.hero-button.wp-block-button__link:hover,
.hero-button.wp-block-button__link:focus {
	color: #fff !important;
	background: linear-gradient(135deg, rgba(229, 31, 229, 0.4) 0%, rgba(229, 31, 229, 0.2) 100%);
	border-color: rgba(229, 31, 229, 0.6) !important;
	box-shadow: 0 0 15px rgba(229, 31, 229, 0.4);
	transform: translateY(-2px);
}

.wp-block-buttons.hero-button-white .wp-block-button__link,
.wp-block-button.hero-button-white .wp-block-button__link,
.hero-button-white .wp-block-button__link,
.hero-button-white.wp-block-button__link {
	font-size: 14px;
	padding: 14px 24px;
	border-radius: 8px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-weight: 600;
	line-height: 1.2;
	min-width: 104px;
	color: #e6e6e6 !important;
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.3) !important;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.08) 100%);
	box-shadow: none;
	transition: all 200ms ease;
}

.wp-block-buttons.hero-button-white .wp-block-button__link:hover,
.wp-block-buttons.hero-button-white .wp-block-button__link:focus,
.wp-block-button.hero-button-white .wp-block-button__link:hover,
.wp-block-button.hero-button-white .wp-block-button__link:focus,
.hero-button-white .wp-block-button__link:hover,
.hero-button-white .wp-block-button__link:focus,
.hero-button-white.wp-block-button__link:hover,
.hero-button-white.wp-block-button__link:focus {
	color: #fff !important;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.32) 0%, rgba(255, 255, 255, 0.14) 100%);
	border-color: rgba(255, 255, 255, 0.75) !important;
	box-shadow: 0 0 15px rgba(255, 255, 255, 0.2);
	transform: translateY(-2px);
}
