/* =========================================================
   EDUCANDIS — ACRYLIC DETAILS 1.6
   Only buttons and puzzle accents are restyled. Layout,
   typography, copy, images and page backgrounds stay intact.
   ========================================================= */

:root {
	--ed-acrylic-red: #e34234;
	--ed-acrylic-edge: rgba(255, 255, 255, .52);
	--ed-acrylic-shadow: 0 9px 19px rgba(91, 23, 18, .18), 0 2px 5px rgba(91, 23, 18, .14);
	--ed-acrylic-shadow-hover: 0 12px 24px rgba(91, 23, 18, .22), 0 3px 7px rgba(91, 23, 18, .15);
}

/* Primary CTA surfaces ----------------------------------- */
.button {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border-color: var(--ed-acrylic-edge);
	background-color: var(--ed-acrylic-red);
	background-image:
		linear-gradient(135deg, rgba(255, 255, 255, .27) 0%, rgba(255, 255, 255, .08) 30%, rgba(255, 255, 255, 0) 52%),
		linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(91, 23, 18, .11));
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .58),
		inset 0 -1px 0 rgba(91, 23, 18, .20),
		var(--ed-acrylic-shadow);
	text-shadow: 0 1px 1px rgba(91, 23, 18, .16);
	transform: translateZ(0);
	transition: transform .22s var(--ed-ease), box-shadow .22s var(--ed-ease), border-color .22s ease, background-color .22s ease;
}

.button::before {
	position: absolute;
	inset: 1px;
	z-index: -1;
	pointer-events: none;
	border: 1px solid rgba(255, 255, 255, .17);
	border-radius: inherit;
	content: "";
}

.button::after {
	position: absolute;
	top: -72%;
	left: -18%;
	z-index: -1;
	width: 58%;
	height: 225%;
	pointer-events: none;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .11), transparent);
	content: "";
	transform: rotate(21deg);
}

.button--primary,
.button--primary:hover,
.button--primary:focus-visible {
	border-color: var(--ed-acrylic-edge);
	background-color: var(--ed-acrylic-red);
	color: var(--ed-white);
	opacity: 1;
}

.button--ghost {
	border-color: rgba(227, 66, 52, .27);
	background-color: rgba(255, 255, 255, .84);
	background-image:
		linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .42) 52%, rgba(255, 245, 243, .76)),
		linear-gradient(180deg, rgba(227, 66, 52, .02), rgba(227, 66, 52, .08));
	color: var(--ed-red);
	box-shadow:
		inset 0 1px 0 #ffffff,
		inset 0 -1px 0 rgba(227, 66, 52, .10),
		0 7px 16px rgba(91, 23, 18, .09);
	text-shadow: none;
	backdrop-filter: blur(8px);
}

.button--white,
.button--white:hover,
.button--white:focus-visible {
	border-color: rgba(255, 255, 255, .84);
	background-color: rgba(255, 255, 255, .95);
	background-image: linear-gradient(135deg, #ffffff 0%, rgba(255, 255, 255, .82) 48%, rgba(255, 245, 243, .92) 100%);
	color: var(--ed-red);
	box-shadow:
		inset 0 1px 0 #ffffff,
		inset 0 -1px 0 rgba(227, 66, 52, .10),
		0 10px 21px rgba(91, 23, 18, .17),
		0 2px 5px rgba(91, 23, 18, .10);
	text-shadow: none;
	opacity: 1;
}

.button:hover,
.button:focus-visible {
	border-color: rgba(255, 255, 255, .68);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .68),
		inset 0 -1px 0 rgba(91, 23, 18, .20),
		var(--ed-acrylic-shadow-hover);
	transform: translateY(-1px);
}

.button--ghost:hover,
.button--ghost:focus-visible {
	border-color: rgba(227, 66, 52, .44);
	background-color: rgba(255, 255, 255, .94);
	color: var(--ed-red);
}

.button--white:hover,
.button--white:focus-visible {
	border-color: #ffffff;
	background-color: #ffffff;
	color: var(--ed-red);
	box-shadow:
		inset 0 1px 0 #ffffff,
		inset 0 -1px 0 rgba(227, 66, 52, .10),
		0 13px 25px rgba(91, 23, 18, .20),
		0 3px 7px rgba(91, 23, 18, .10);
}

.button:active {
	transform: translateY(1px);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .44),
		inset 0 2px 5px rgba(91, 23, 18, .17),
		0 4px 10px rgba(91, 23, 18, .14);
}

.button:focus-visible {
	outline: 3px solid rgba(227, 66, 52, .23);
	outline-offset: 3px;
}

/* Compact controls keep their existing dimensions and shapes. */
.filter-bar button {
	border-color: rgba(227, 66, 52, .20);
	background: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(255, 245, 243, .78));
	color: var(--ed-muted);
	box-shadow:
		inset 0 1px 0 #ffffff,
		inset 0 -1px 0 rgba(227, 66, 52, .09),
		0 4px 10px rgba(91, 23, 18, .06);
}

.filter-bar button:hover,
.filter-bar button.is-active {
	border-color: var(--ed-acrylic-edge);
	background-color: var(--ed-acrylic-red);
	background-image:
		linear-gradient(135deg, rgba(255, 255, 255, .25), rgba(255, 255, 255, 0) 54%),
		linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(91, 23, 18, .10));
	color: var(--ed-white);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .56),
		inset 0 -1px 0 rgba(91, 23, 18, .18),
		0 6px 13px rgba(91, 23, 18, .13);
}

.menu-toggle {
	border: 1px solid rgba(227, 66, 52, .21);
	background: linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(255, 245, 243, .80));
	box-shadow:
		inset 0 1px 0 #ffffff,
		inset 0 -1px 0 rgba(227, 66, 52, .09),
		0 4px 10px rgba(91, 23, 18, .07);
}

.accordion-item button i {
	border: 1px solid rgba(255, 255, 255, .52);
	background-color: var(--ed-acrylic-red);
	background-image: linear-gradient(135deg, rgba(255, 255, 255, .25), rgba(255, 255, 255, 0) 58%);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .54),
		0 4px 10px rgba(91, 23, 18, .12);
}

.accordion-item button i::before,
.accordion-item button i::after {
	background: var(--ed-white);
}

/* Standalone red puzzle accents -------------------------- */
.home-hero__piece,
.about-intro__piece,
.hero-note__piece,
.puzzle-glyph {
	background-color: transparent !important;
	background-image: url("../images/puzzle-acrylic.svg") !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: 114% 114% !important;
	-webkit-mask: none !important;
	mask: none !important;
	filter: none !important;
}

.footer-contact-card::before {
	background-color: transparent !important;
	background-image: url("../images/puzzle-acrylic.svg") !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: 114% 114% !important;
	-webkit-mask: none !important;
	mask: none !important;
	filter: none !important;
}

/* Large, low-opacity puzzle ornaments use the same material.
   The repeating background field and photo masks are intentionally untouched. */
.puzzle-outline,
.mobile-menu__pattern,
.process-pattern,
.site-footer::before,
.page-hero__pattern,
.offer-section::before {
	background-image: url("../images/puzzle-acrylic.svg") !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: contain !important;
	filter: none !important;
}

.home-process::after,
.story-section::after,
.signature-section::before,
.cta-panel__pattern {
	background-image: url("../images/puzzle-acrylic-light.svg") !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: contain !important;
	filter: none !important;
}

.home-process::after {
	opacity: .055;
}

.story-section::after,
.signature-section::before,
.cta-panel__pattern {
	opacity: .075;
}

.puzzle-outline--404 {
	background-image: url("../images/puzzle-acrylic.svg") !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: contain !important;
	opacity: .14;
}

@media (prefers-reduced-motion: reduce) {
	.button,
	.button:hover,
	.button:focus-visible,
	.button:active {
		transform: none;
	}
}
/* Poprawka danych kontaktowych w puzzlu */
.footer-contact-card {
	padding: 68px 34px 62px 90px;
}

.footer-contact-card__eyebrow {
	align-self: flex-start;
	margin-left: -35px;
}

.footer-contact-card a,
.footer-contact-card p {
	align-items: flex-start;
	gap: 10px;
	line-height: 1.35;
}

.footer-contact-card a {
	white-space: nowrap;
}

.footer-contact-card .icon {
	flex: 0 0 17px;
	margin-top: 2px;
}

@media (max-width: 720px) {
	.footer-contact-card {
		padding: 62px 30px 58px 82px;
	}

	.footer-contact-card__eyebrow {
		margin-left: -33px;
	}
}
