/* fkm-footer — استایل ویجت (بارگذاری فقط هنگام استفاده) */
.yf-container {
	--_bg: var(--yf-bg, #ececec);
	--_dark: var(--yf-sh-dark, #c8c8c8);
	--_light: var(--yf-sh-light, #ffffff);
	--_accent: var(--yf-accent, #2d7d6b);
	--_text: var(--yf-text, #444);
	--_text2: var(--yf-text-2, #555);
	background: var(--_bg);
	border-radius: var(--yf-radius, 30px);
	box-shadow:
		10px 10px 20px var(--_dark),
		-10px -10px 20px var(--_light);
	padding: 40px;
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 40px;
	direction: rtl;
}
.yf-column {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.yf-column-title {
	background: var(--_bg);
	border: none;
	border-radius: 20px;
	padding: 15px 40px;
	font-size: 20px;
	font-weight: 600;
	color: #333;
	box-shadow:
		inset 4px 4px 8px var(--_dark),
		inset -4px -4px 8px var(--_light);
	margin-bottom: 30px;
	width: 100%;
	text-align: center;
	cursor: default;
}
/* ── ستون درباره ── */
.yf-about-text {
	color: var(--_text);
	font-size: 16px;
	line-height: 2;
	text-align: justify;
	margin: 0 0 30px;
}
.yf-social-icons {
	display: flex;
	gap: 30px;
	margin-bottom: 40px;
	justify-content: center;
	flex-wrap: wrap;
}
.yf-social-icon {
	width: var(--yf-social-size, 60px);
	height: var(--yf-social-size, 60px);
	border-radius: 50%;
	background: var(--_bg);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: calc(var(--yf-social-size, 60px) * 0.43);
	color: var(--yf-social-color, #555);
	box-shadow:
		6px 6px 12px var(--_dark),
		-6px -6px 12px var(--_light);
	cursor: pointer;
	transition: all 0.3s ease;
	text-decoration: none;
}
.yf-social-icon:hover {
	box-shadow:
		inset 4px 4px 8px var(--_dark),
		inset -4px -4px 8px var(--_light);
	color: var(--_accent);
}
.yf-address-section { width: 100%; }
.yf-address-title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-size: 19px;
	font-weight: 600;
	color: #333;
	margin-bottom: 15px;
	margin-top: 25px;
}
.yf-address-title i,
.yf-address-title svg {
	color: var(--_accent);
	fill: var(--_accent);
	font-size: 22px;
	width: 22px;
}
.yf-address-text {
	color: var(--_text2);
	font-size: 15px;
	line-height: 1.8;
	text-align: center;
	margin: 0;
}
/* ── ستون ارتباط ── */
.yf-contact-header {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-size: 19px;
	font-weight: 600;
	color: #333;
	margin-bottom: 25px;
}
.yf-contact-header i,
.yf-contact-header svg {
	color: var(--_accent);
	fill: var(--_accent);
	font-size: 24px;
	width: 24px;
}
.yf-contact-item {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	margin-bottom: 20px;
	direction: rtl;
}
.yf-contact-label {
	font-size: 16px;
	color: var(--_text);
}
.yf-contact-number {
	font-weight: 600;
	color: #333;
	text-decoration: none;
	cursor: pointer;
}
a.yf-contact-number:hover { color: var(--_accent); }
.yf-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: linear-gradient(135deg, #d0d0d0, #f0f0f0);
	box-shadow:
		3px 3px 6px var(--_dark),
		-3px -3px 6px var(--_light);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	flex-shrink: 0;
}
.yf-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.yf-avatar i,
.yf-avatar svg {
	color: #666;
	fill: #666;
	font-size: 18px;
	width: 18px;
}
.yf-divider {
	width: 80%;
	height: 2px;
	background: linear-gradient(to right, transparent, var(--_dark), transparent);
	margin: 25px auto;
}
.yf-language-contact {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	margin-bottom: 20px;
}
.yf-flag {
	width: 36px;
	height: 24px;
	border-radius: 4px;
	box-shadow: 2px 2px 4px var(--_dark);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	flex-shrink: 0;
}
.yf-flag img { width: 100%; height: 100%; object-fit: cover; }
.yf-flag-uk {
	position: relative;
	background-color: #012169;
	background-image:
		linear-gradient(45deg, transparent 45%, #fff 45%, #fff 55%, transparent 55%),
		linear-gradient(-45deg, transparent 45%, #fff 45%, #fff 55%, transparent 55%),
		linear-gradient(to bottom, transparent 40%, #fff 40%, #fff 60%, transparent 60%),
		linear-gradient(to right, transparent 40%, #fff 40%, #fff 60%, transparent 60%);
}
.yf-flag-uk::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background-image:
		linear-gradient(45deg, transparent 47%, #cf142b 47%, #cf142b 53%, transparent 53%),
		linear-gradient(-45deg, transparent 47%, #cf142b 47%, #cf142b 53%, transparent 53%),
		linear-gradient(to bottom, transparent 45%, #cf142b 45%, #cf142b 55%, transparent 55%),
		linear-gradient(to right, transparent 43%, #cf142b 43%, #cf142b 57%, transparent 57%);
}
.yf-flag-tr {
	background-color: #e30a17;
	position: relative;
}
.yf-flag-tr::before {
	content: '\2605';
	position: absolute;
	color: white;
	font-size: 12px;
	left: 8px;
	top: 3px;
}
.yf-flag-tr::after {
	content: '';
	position: absolute;
	width: 10px;
	height: 10px;
	background: #e30a17;
	border-radius: 50%;
	left: 12px;
	top: 7px;
}
.yf-lang-text {
	font-size: 16px;
	color: var(--_text);
}
.yf-lang-text .yf-highlight {
	font-weight: 700;
	color: var(--_accent);
}
/* ── ستون لینک‌ها ── */
.yf-links-list {
	list-style: none;
	text-align: right;
	width: 100%;
	padding: 0 20px 0 0;
	margin: 0;
}
.yf-links-list li { margin-bottom: 18px; }
.yf-links-list a {
	color: var(--_text);
	text-decoration: none;
	font-size: 17px;
	font-weight: 500;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: all 0.3s ease;
}
.yf-links-list a::before {
	content: '-';
	color: var(--_accent);
	font-weight: bold;
	margin-left: 5px;
}
.yf-links-list a:hover {
	color: var(--_accent);
	padding-right: 8px;
}
.yf-logo-bottom {
	grid-column: 1 / -1;
	text-align: center;
	margin-top: 20px;
	padding-top: 20px;
}
.yf-logo-bottom img { height: 60px; }
.yf-logo-text {
	font-family: 'Brush Script MT', cursive;
	font-size: 48px;
	color: var(--_accent);
	font-style: italic;
}
/* ── ریسپانسیو ── */
@media (max-width: 1024px) {
	.yf-container {
		grid-template-columns: 1fr;
		gap: 50px;
	}
}
@media (max-width: 600px) {
	.yf-container {
		padding: 25px 20px;
		border-radius: 20px;
	}
	.yf-column-title {
		font-size: 17px;
		padding: 12px 20px;
	}
	.yf-social-icon {
		width: 50px;
		height: 50px;
		font-size: 22px;
	}
	.yf-social-icons { gap: 20px; }
}
