/**
 * Rasa Mobile Footer Elementor widget
 * Styles: luxe / orbit / glass / editorial
 */

.rmf {
	--rmf-bg: #050817;
	--rmf-accent: #d8c38d;
	--rmf-accent-2: #637cff;
	--rmf-text: #ffffff;
	--rmf-muted: rgba(226, 232, 250, 0.62);
	--rmf-surface: rgba(255, 255, 255, 0.04);
	--rmf-line: rgba(255, 255, 255, 0.1);
	--rmf-radius: 1rem;
	--rmf-space: 0.8rem;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	width: 100%;
	background-color: var(--rmf-bg);
	color: var(--rmf-text);
	font-family: "Vazirmatn", inherit, system-ui, sans-serif;
	direction: rtl;
	text-align: right;
}

.rmf,
.rmf * {
	box-sizing: border-box;
}

.rmf a {
	color: inherit;
	text-decoration: none;
}

.elementor-widget-rasa-mobile-footer > .elementor-widget-container {
	padding: 0;
}

.rmf__ambient,
.rmf__glow,
.rmf__mesh {
	position: absolute;
	pointer-events: none;
}

.rmf__ambient {
	z-index: -1;
	inset: 0;
	overflow: hidden;
}

.rmf__glow {
	width: 16rem;
	height: 16rem;
	border-radius: 50%;
	filter: blur(85px);
	opacity: 0.12;
	background: var(--rmf-accent-2);
}

.rmf__glow.is-a {
	top: -8rem;
	right: -7rem;
}

.rmf__glow.is-b {
	bottom: 12%;
	left: -10rem;
	background: var(--rmf-accent);
}

.rmf__mesh {
	inset: 0;
	opacity: 0.16;
	background-image:
		linear-gradient(rgba(140, 160, 220, 0.08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(140, 160, 220, 0.08) 1px, transparent 1px);
	background-size: 40px 40px;
	-webkit-mask-image: linear-gradient(to bottom, #000, transparent 66%);
	mask-image: linear-gradient(to bottom, #000, transparent 66%);
}

.rmf__inner {
	position: relative;
	z-index: 2;
	width: calc(100% - 1rem);
	max-width: 700px;
	margin: 0 auto;
	padding: 0.8rem 0;
}

.rmf__hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) clamp(9.2rem, 26vw, 12rem);
	align-items: center;
	gap: 0.7rem;
	min-height: 12rem;
	overflow: hidden;
	padding: 1rem;
	border: 1px solid var(--rmf-line);
	border-radius: calc(var(--rmf-radius) + 0.25rem);
	background: var(--rmf-surface);
}

.rmf__hero::before {
	content: "";
	position: absolute;
	top: 0;
	right: 26%;
	left: 26%;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--rmf-accent), transparent);
}

.rmf__hero-copy {
	position: relative;
	z-index: 4;
	min-width: 0;
}

.rmf__status {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin-bottom: 0.55rem;
	color: var(--rmf-accent);
	font-size: 0.55rem;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.rmf__status i {
	width: 0.38rem;
	height: 0.38rem;
	border-radius: 50%;
	background: var(--rmf-accent);
	box-shadow: 0 0 9px color-mix(in srgb, var(--rmf-accent) 70%, transparent);
}

.rmf__title {
	margin: 0 0 0.42rem;
	color: var(--rmf-text);
	font-size: clamp(1.45rem, 6vw, 2rem);
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: -0.04em;
}

.rmf__title span {
	display: block;
	color: var(--rmf-accent);
}

.rmf__desc {
	max-width: 20rem;
	margin: 0;
	color: var(--rmf-muted);
	font-size: 0.74rem;
	line-height: 1.85;
}

.rmf__visual {
	position: relative;
	z-index: 3;
	justify-self: end;
	width: clamp(9.2rem, 26vw, 12rem);
	aspect-ratio: 1;
	border-radius: 50%;
	transform: translate(var(--rmf-tilt-x, 0), var(--rmf-tilt-y, 0));
	transition: transform 0.35s ease;
}

.rmf__ring,
.rmf__sweep {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.rmf__ring.is-outer {
	inset: 5%;
	border: 1px solid color-mix(in srgb, var(--rmf-accent) 26%, transparent);
}

.rmf__ring.is-outer::before {
	content: "";
	position: absolute;
	top: 9%;
	right: 14%;
	width: 0.42rem;
	height: 0.42rem;
	border-radius: 50%;
	background: var(--rmf-accent);
	box-shadow: 0 0 10px var(--rmf-accent);
}

.rmf__ring.is-inner {
	inset: 25%;
	border: 1px solid color-mix(in srgb, var(--rmf-accent-2) 24%, transparent);
	box-shadow: 0 0 24px color-mix(in srgb, var(--rmf-accent-2) 10%, transparent);
}

.rmf__sweep {
	inset: 5%;
	opacity: 0.15;
	background: conic-gradient(from 30deg, transparent 0 82%, var(--rmf-accent-2));
	-webkit-mask-image: radial-gradient(circle, transparent 0 20%, #000 21% 100%);
	mask-image: radial-gradient(circle, transparent 0 20%, #000 21% 100%);
}

.rmf__core {
	position: absolute;
	z-index: 5;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	width: 7rem;
	height: 3.55rem;
	padding: 0.45rem 0.55rem;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--rmf-accent) 28%, transparent);
	border-radius: 0.85rem;
	background: #fff;
	box-shadow:
		0 15px 34px rgba(0, 0, 0, 0.24),
		0 0 0 0.28rem color-mix(in srgb, var(--rmf-accent) 5%, transparent);
	transform: translate(-50%, -50%);
}

.rmf__core img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.rmf__core strong {
	color: #0a1a62;
	font-size: 0.8rem;
	font-weight: 900;
}

.rmf__node {
	position: absolute;
	z-index: 6;
	display: grid;
	grid-template-columns: 1.3rem auto;
	align-items: center;
	gap: 0.25rem;
	min-width: 3.65rem;
	padding: 0.32rem;
	border: 1px solid var(--rmf-line);
	border-radius: 0.65rem;
	background: color-mix(in srgb, var(--rmf-bg) 82%, transparent);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
	-webkit-backdrop-filter: blur(9px);
	backdrop-filter: blur(9px);
}

.rmf__node-icon {
	grid-row: 1 / 3;
	display: grid;
	place-items: center;
	width: 1.3rem;
	height: 1.3rem;
	border-radius: 0.42rem;
	background: color-mix(in srgb, var(--rmf-accent-2) 16%, transparent);
	color: var(--rmf-accent-2);
	font-size: 0.55rem;
	font-style: normal;
}

.rmf__node span {
	color: var(--rmf-text);
	font-size: 0.48rem;
	font-weight: 900;
}

.rmf__node small {
	color: var(--rmf-accent);
	font-size: 0.4rem;
	font-weight: 700;
}

.rmf__node.is-node-0 {
	top: 3%;
	right: 0;
}

.rmf__node.is-node-1 {
	right: -2%;
	bottom: 8%;
}

.rmf__node.is-node-2 {
	bottom: 6%;
	left: -2%;
}

.rmf__node.is-node-3 {
	top: 5%;
	left: 0;
}

.rmf__actions {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 0.45rem;
	margin-top: var(--rmf-space);
}

.rmf__actions.has-one {
	grid-template-columns: 1fr;
}

.rmf__btn {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.52rem;
	min-height: 3.5rem;
	overflow: hidden;
	padding: 0.52rem 0.6rem;
	border: 1px solid var(--rmf-line);
	border-radius: var(--rmf-radius);
}

.rmf__btn.is-call {
	border-color: transparent;
	background: var(--rmf-accent);
	color: #11131a;
}

.rmf__btn.is-wa {
	background: var(--rmf-surface);
	color: var(--rmf-text);
}

.rmf__btn-icon {
	flex: 0 0 1.85rem;
	display: grid;
	place-items: center;
	width: 1.85rem;
	height: 1.85rem;
	border-radius: 0.6rem;
	background: rgba(0, 0, 0, 0.09);
	font-size: 0.7rem;
	font-style: normal;
}

.rmf__btn.is-wa .rmf__btn-icon {
	color: #48dfa1;
	background: rgba(72, 223, 161, 0.1);
}

.rmf__btn > span {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.42;
}

.rmf__btn small {
	font-size: 0.54rem;
	font-weight: 700;
	opacity: 0.68;
}

.rmf__btn strong {
	color: inherit !important;
	font-size: 0.72rem;
	font-weight: 900;
	white-space: nowrap;
}

.rmf__btn > .fa-arrow-left {
	margin-inline-start: auto;
	font-size: 0.58rem;
}

.rmf__contact,
.rmf__routes,
.rmf__trust {
	margin-top: var(--rmf-space);
}

.rmf__section-head {
	display: flex;
	align-items: center;
	gap: 0.42rem;
	margin-bottom: 0.42rem;
}

.rmf__section-head i {
	width: 0.62rem;
	height: 2px;
	border-radius: 99px;
	background: var(--rmf-accent);
}

.rmf__section-head span {
	color: var(--rmf-text);
	font-size: 0.72rem;
	font-weight: 900;
}

.rmf__contact-grid {
	display: grid;
	grid-template-columns: 0.82fr 1.18fr;
	gap: 0.42rem;
}

.rmf__contact-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 4.25rem;
	padding: 0.58rem;
	border: 1px solid var(--rmf-line);
	border-radius: var(--rmf-radius);
	background: var(--rmf-surface);
}

.rmf__contact-card > i {
	display: grid;
	place-items: center;
	width: 1.4rem;
	height: 1.4rem;
	margin-bottom: auto;
	border-radius: 0.45rem;
	background: color-mix(in srgb, var(--rmf-accent) 10%, transparent);
	color: var(--rmf-accent);
	font-size: 0.56rem;
}

.rmf__contact-card span {
	margin-top: 0.45rem;
	color: var(--rmf-muted);
	font-size: 0.54rem;
	font-weight: 700;
}

.rmf__contact-card strong {
	margin-top: 0.1rem;
	color: var(--rmf-text) !important;
	font-size: 0.68rem;
	font-weight: 800;
	line-height: 1.55;
	word-break: break-word;
}

.rmf__route-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 0.8rem;
}

.rmf__route-grid a {
	display: grid;
	grid-template-columns: 1.5rem 1fr auto;
	align-items: center;
	gap: 0.35rem;
	min-height: 2.55rem;
	border-bottom: 1px solid var(--rmf-line);
	color: var(--rmf-text);
}

.rmf__route-grid b {
	display: grid;
	place-items: center;
	width: 1.45rem;
	height: 1.45rem;
	border-radius: 0.45rem;
	background: color-mix(in srgb, var(--rmf-accent-2) 12%, transparent);
	color: var(--rmf-accent-2);
	font-size: 0.48rem;
	font-weight: 900;
}

.rmf__route-grid span {
	font-size: 0.68rem;
	font-weight: 750;
	white-space: nowrap;
}

.rmf__route-grid i {
	color: var(--rmf-muted);
	font-size: 0.52rem;
}

.rmf__route-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-top: 0.5rem;
}

.rmf__route-actions a {
	padding: 0.4rem 0.62rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--rmf-accent-2) 12%, transparent);
	color: var(--rmf-muted);
	font-size: 0.6rem;
	font-weight: 800;
}

.rmf__trust {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem;
	min-height: 5.9rem;
	padding: 0.5rem 0.6rem;
	border: 1px solid color-mix(in srgb, var(--rmf-accent) 22%, transparent);
	border-radius: var(--rmf-radius);
	background: color-mix(in srgb, var(--rmf-accent) 4%, transparent);
}

.rmf__trust-copy {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	min-width: 0;
}

.rmf__trust-copy > i {
	flex: 0 0 1.8rem;
	display: grid;
	place-items: center;
	width: 1.8rem;
	height: 1.8rem;
	border-radius: 0.58rem;
	background: color-mix(in srgb, var(--rmf-accent) 10%, transparent);
	color: var(--rmf-accent);
	font-size: 0.7rem;
}

.rmf__trust-copy span {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
}

.rmf__trust-copy strong {
	color: var(--rmf-text) !important;
	font-size: 0.7rem;
	font-weight: 900;
	line-height: 1.45;
}

.rmf__trust-copy small {
	color: var(--rmf-muted);
	font-size: 0.52rem;
	line-height: 1.5;
}

.rmf__trust-badges {
	display: flex;
	flex: 0 0 auto;
	gap: 0.35rem;
	margin-inline-start: auto;
}

.rmf__trust-badge {
	flex: 0 0 5.5rem;
	display: grid;
	place-items: center;
	width: 5.5rem;
	height: 5.5rem;
	overflow: hidden;
	border-radius: 0.8rem;
	background: #fff;
}

.rmf__trust-badge a {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	line-height: 0;
}

.rmf__trust-badge img,
.rmf__trust-badge iframe {
	display: block;
	width: 5.15rem;
	height: 5.15rem;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border: 0;
	background: #fff;
}

.rmf__copy {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem;
	padding: 0.7rem max(0.75rem, calc((100% - 700px) / 2));
	border-top: 1px solid var(--rmf-line);
	background: rgba(0, 0, 0, 0.16);
}

.rmf__copy span {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: var(--rmf-text);
	font-size: 0.65rem;
	font-weight: 900;
	white-space: nowrap;
}

.rmf__copy span i {
	width: 0.35rem;
	height: 0.35rem;
	border-radius: 50%;
	background: var(--rmf-accent);
	box-shadow: 0 0 8px var(--rmf-accent);
}

.rmf__copy small {
	color: var(--rmf-muted);
	font-size: 0.58rem;
	line-height: 1.5;
}

/* Style 1: Quiet luxury */
.rmf--luxe {
	--rmf-bg: #02040c;
	--rmf-accent: #d8c38d;
	--rmf-accent-2: #8f9cc7;
	--rmf-text: #ffffff;
	--rmf-muted: rgba(226, 228, 238, 0.6);
	--rmf-surface: rgba(255, 255, 255, 0.026);
	--rmf-line: rgba(216, 195, 141, 0.13);
	border-radius: 1.7rem 1.7rem 0 0;
}

.rmf--luxe .rmf__mesh,
.rmf--luxe .rmf__glow.is-b,
.rmf--luxe .rmf__sweep,
.rmf--luxe .rmf__ring.is-inner,
.rmf--luxe .rmf__node {
	display: none;
}

.rmf--luxe .rmf__glow {
	opacity: 0.07;
}

.rmf--luxe .rmf__hero {
	background: rgba(255, 255, 255, 0.024);
}

.rmf--luxe .rmf__ring.is-outer {
	inset: 10%;
}

.rmf--luxe .rmf__core {
	width: 7.25rem;
}

.rmf--luxe .rmf__route-grid b {
	display: none;
}

.rmf--luxe .rmf__route-grid a {
	grid-template-columns: 1fr auto;
}

.rmf--luxe .rmf__route-actions {
	display: none;
}

/* Style 2: Futuristic orbit */
.rmf--orbit {
	--rmf-bg: #071334;
	--rmf-accent: #5be1ff;
	--rmf-accent-2: #5f72ff;
	--rmf-text: #ffffff;
	--rmf-muted: rgba(215, 226, 255, 0.66);
	--rmf-surface: rgba(103, 137, 255, 0.07);
	--rmf-line: rgba(126, 165, 255, 0.16);
	background-image:
		radial-gradient(circle at 85% 5%, rgba(63, 98, 230, 0.27), transparent 34%),
		linear-gradient(180deg, #071334, #040817);
	border-radius: 1.8rem 1.8rem 0 0;
}

.rmf--orbit .rmf__ring.is-outer {
	border-style: dashed;
}

.rmf--orbit .rmf__core {
	box-shadow:
		0 12px 32px rgba(0, 0, 0, 0.25),
		0 0 32px rgba(95, 114, 255, 0.24);
}

/* Style 3: Blue glass */
.rmf--glass {
	--rmf-bg: #1552d1;
	--rmf-accent: #ffffff;
	--rmf-accent-2: #8ff3ff;
	--rmf-text: #ffffff;
	--rmf-muted: rgba(255, 255, 255, 0.7);
	--rmf-surface: rgba(255, 255, 255, 0.11);
	--rmf-line: rgba(255, 255, 255, 0.18);
	background-image:
		radial-gradient(circle at 12% 18%, rgba(143, 243, 255, 0.25), transparent 28%),
		linear-gradient(145deg, #185bd9, #2637a8 62%, #17276e);
	border-radius: 1.6rem 1.6rem 0 0;
}

.rmf--glass .rmf__inner {
	padding-block: 0.9rem;
}

.rmf--glass .rmf__hero {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-height: 0;
	background: rgba(255, 255, 255, 0.1);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}

.rmf--glass .rmf__hero-copy {
	width: 100%;
}

.rmf--glass .rmf__visual {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.35rem;
	width: 100%;
	aspect-ratio: auto;
	margin-top: 0.35rem;
}

.rmf--glass .rmf__ring,
.rmf--glass .rmf__sweep {
	display: none;
}

.rmf--glass .rmf__core {
	position: relative;
	top: auto;
	left: auto;
	grid-column: 1 / -1;
	width: 7.4rem;
	height: 3.3rem;
	margin: 0 auto 0.15rem;
	transform: none;
}

.rmf--glass .rmf__node {
	position: relative;
	inset: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
	padding: 0.45rem 0.2rem;
	background: rgba(255, 255, 255, 0.1);
}

.rmf--glass .rmf__node-icon {
	grid-row: auto;
}

.rmf--glass .rmf__node small {
	display: none;
}

.rmf--glass .rmf__btn.is-call {
	color: #1747b4;
}

.rmf--glass .rmf__btn.is-wa {
	background: rgba(255, 255, 255, 0.12);
}

/* Style 4: Light editorial */
.rmf--editorial {
	--rmf-bg: #f3efe6;
	--rmf-accent: #1e4fd6;
	--rmf-accent-2: #b58a3a;
	--rmf-text: #10182d;
	--rmf-muted: rgba(16, 24, 45, 0.62);
	--rmf-surface: rgba(255, 255, 255, 0.66);
	--rmf-line: rgba(16, 24, 45, 0.12);
	background-image:
		linear-gradient(120deg, rgba(181, 138, 58, 0.06), transparent 34%),
		linear-gradient(180deg, #f7f3ea, #ece5d8);
}

.rmf--editorial .rmf__ambient {
	opacity: 0.4;
}

.rmf--editorial .rmf__mesh,
.rmf--editorial .rmf__glow {
	display: none;
}

.rmf--editorial .rmf__hero {
	border-width: 0 0 1px;
	border-radius: 0;
	background: transparent;
}

.rmf--editorial .rmf__hero::before {
	right: 0;
	left: auto;
	width: 3rem;
	height: 3px;
	background: var(--rmf-accent);
}

.rmf--editorial .rmf__title {
	font-weight: 850;
}

.rmf--editorial .rmf__visual {
	aspect-ratio: auto;
	height: 8rem;
	border-radius: 1rem;
	background: rgba(255, 255, 255, 0.45);
}

.rmf--editorial .rmf__ring,
.rmf--editorial .rmf__sweep,
.rmf--editorial .rmf__node {
	display: none;
}

.rmf--editorial .rmf__core {
	width: 7.5rem;
	border-color: rgba(30, 79, 214, 0.14);
	box-shadow: 0 12px 28px rgba(20, 32, 64, 0.12);
}

.rmf--editorial .rmf__btn.is-call {
	background: #1e4fd6;
	color: #fff;
}

.rmf--editorial .rmf__btn.is-wa {
	background: rgba(255, 255, 255, 0.62);
}

.rmf--editorial .rmf__contact-card,
.rmf--editorial .rmf__trust {
	box-shadow: 0 8px 22px rgba(20, 32, 64, 0.055);
}

.rmf--editorial .rmf__copy {
	background: rgba(16, 24, 45, 0.045);
}

/* Motion */
.rmf.is-motion-ready [data-rmf-reveal] {
	opacity: 0;
	transform: translateY(1rem);
	transition:
		opacity 0.65s ease,
		transform 0.75s cubic-bezier(0.2, 0.7, 0.2, 1);
	transition-delay: var(--rmf-delay, 0ms);
}

.rmf.is-motion-ready [data-rmf-reveal].is-visible {
	opacity: 1;
	transform: translateY(0);
}

.rmf.has-motion .rmf__ring.is-outer {
	animation: rmfSpin 35s linear infinite;
}

.rmf.has-motion .rmf__ring.is-inner,
.rmf.has-motion .rmf__sweep {
	animation: rmfSpinBack 18s linear infinite;
}

.rmf.has-motion .rmf__node {
	animation: rmfFloat 4s ease-in-out infinite;
}

.rmf.has-motion .rmf__node.is-node-1 {
	animation-delay: -1s;
}

.rmf.has-motion .rmf__node.is-node-2 {
	animation-delay: -2s;
}

.rmf.has-motion .rmf__node.is-node-3 {
	animation-delay: -3s;
}

@keyframes rmfSpin {
	to { transform: rotate(360deg); }
}

@keyframes rmfSpinBack {
	to { transform: rotate(-360deg); }
}

@keyframes rmfFloat {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-0.22rem); }
}

@media (min-width: 768px) {
	.rmf__inner {
		width: calc(100% - 2rem);
	}

	.rmf__contact-grid {
		grid-template-columns: 0.8fr 1.2fr;
	}

	.rmf__route-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.rmf--glass .rmf__hero {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 19rem;
	}

	.rmf--glass .rmf__visual {
		align-self: center;
	}
}

@media (max-width: 370px) {
	.rmf__hero {
		grid-template-columns: minmax(0, 1fr) 8.4rem;
		padding: 0.8rem;
	}

	.rmf__visual {
		width: 8.4rem;
	}

	.rmf__actions {
		grid-template-columns: 1fr 1fr;
	}

	.rmf__btn {
		padding-inline: 0.45rem;
	}

	.rmf__btn strong {
		font-size: 0.64rem;
	}

	.rmf__route-grid {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rmf *,
	.rmf *::before,
	.rmf *::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}
}
