/* Pet Shop Fereshteh - hand-coded footer (replaces Elementor template 6459) */

.psf-footer {
	--psf-brand: #4d0f5c;
	--psf-brand-soft: #6b2a7d;
	--psf-brand-deep: #350a40;
	--psf-on-brand: #ffffff;
	--psf-on-brand-dim: rgba(255, 255, 255, .78);
	--psf-rule: rgba(255, 255, 255, .16);
	position: relative;
	margin-top: 40px;
	background: var(--psf-brand);
	color: var(--psf-on-brand);
	font-size: 15px;
	line-height: 1.9;
}

/* wave cut at the top, same silhouette as the old Elementor shape divider */
.psf-footer__wave {
	position: absolute;
	inset-inline: 0;
	top: 0;
	height: 70px;
	line-height: 0;
	direction: ltr;
	pointer-events: none;
}

.psf-footer__wave svg {
	display: block;
	width: 100%;
	height: 100%;
}

.psf-footer__wave path {
	fill: #fff;
}

.psf-footer__body {
	padding: 110px 0 46px;
}

.psf-footer__grid {
	display: grid;
	/* the contact column carries the two trust badges, so it gets extra width */
	grid-template-columns: repeat(3, minmax(0, 1fr)) 1.35fr;
	gap: 36px 28px;
	align-items: start;
}

/* ---------- columns ---------- */

.psf-fcol__title {
	margin: 0 0 18px;
	color: var(--psf-on-brand);
	font-size: 22px;
	font-weight: 800;
	line-height: 1.4;
}

.psf-fcol__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.psf-fcol__list li {
	position: relative;
	padding-inline-start: 16px;
	margin-bottom: 10px;
}

.psf-fcol__list li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: .85em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .55);
	transition: background .15s;
}

.psf-fcol__list a {
	color: var(--psf-on-brand-dim);
	text-decoration: none;
	transition: color .15s;
}

.psf-fcol__list a:hover,
.psf-fcol__list a:focus-visible {
	color: var(--psf-on-brand);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.psf-fcol__list li:hover::before {
	background: #fff;
}

/* ---------- contact column ---------- */

.psf-faddr {
	margin: 0 0 10px;
	max-width: 30ch;
	color: var(--psf-on-brand-dim);
}

.psf-fphone {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 22px;
	color: var(--psf-on-brand-dim);
}

.psf-fphone a {
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: .3px;
}

.psf-fphone a:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.psf-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.psf-badge {
	display: block;
	padding: 8px;
	border-radius: 14px;
	background: #fff;
	line-height: 0;
}

.psf-badge img {
	display: block;
	width: auto;
	max-width: 100%;
	height: 118px;
}

/* ---------- bottom bar ---------- */

.psf-footer__bar {
	background: var(--psf-brand-deep);
	color: var(--psf-on-brand-dim);
	font-size: 14px;
}

.psf-footer__bar p {
	margin: 0;
	padding: 16px 0;
	text-align: center;
	line-height: 1.9;
}

/* ---------- responsive ---------- */

@media (max-width: 1024px) {
	.psf-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 30px 24px;
	}

	.psf-footer__body {
		padding: 90px 0 40px;
	}

	.psf-fcol__title {
		font-size: 19px;
	}
}

@media (max-width: 600px) {
	.psf-footer__wave {
		height: 44px;
	}

	.psf-footer__grid {
		grid-template-columns: 1fr;
		gap: 26px;
	}

	.psf-footer__body {
		padding: 62px 0 34px;
	}

	.psf-faddr {
		max-width: none;
	}

	.psf-badge img {
		height: 118px;
	}
}
