/* Farhina Core — contact hub (loaded on the contact page only). Moved from Angie snippet 488. */
body.page-id-40 article.post-40 {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	overflow: visible !important;
}
body.page-id-40 article.post-40 > div.border-b:first-child {
	display: none !important;
}
body.page-id-40 article.post-40 .entry-content {
	padding: 0 !important;
}

.farhina-contact-hub .dir-ltr {
	direction: ltr;
	unicode-bidi: isolate;
}

@keyframes farhina-pulse-ring {
	0% { transform: scale(0.95); opacity: 0.8; }
	50% { transform: scale(1.4); opacity: 0; }
	100% { transform: scale(0.95); opacity: 0; }
}
.farhina-pulse-dot {
	position: relative;
}
.farhina-pulse-dot::before {
	content: '';
	position: absolute;
	inset: -3px;
	border-radius: 9999px;
	background-color: #22c55e;
	animation: farhina-pulse-ring 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
	z-index: 0;
}

.farhina-contact-card {
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.farhina-contact-card:hover {
	transform: translateY(-4px);
	border-color: rgba(35, 167, 158, 0.45) !important;
	box-shadow: 0 12px 30px -10px rgba(35, 167, 158, 0.15) !important;
}

.farhina-input-field {
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
.farhina-input-field:focus {
	border-color: rgb(var(--color-primary-600)) !important;
	background-color: #ffffff !important;
	box-shadow: 0 0 0 4px rgba(35, 167, 158, 0.12) !important;
	outline: none !important;
}

.farhina-faq-header {
	cursor: pointer;
}
.farhina-faq-header:focus-visible {
	outline: 2px solid rgb(var(--color-primary-600));
	outline-offset: 4px;
	border-radius: 8px;
}
.farhina-faq-answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
	opacity: 0;
}
.farhina-faq-item.active .farhina-faq-answer {
	opacity: 1;
}
.farhina-faq-item.active .farhina-faq-icon {
	transform: rotate(180deg);
	color: rgb(var(--color-primary-600));
}
.farhina-faq-item.active {
	border-color: rgba(35, 167, 158, 0.35);
	background-color: #ffffff;
}

@media (prefers-reduced-motion: reduce) {
	.farhina-pulse-dot::before,
	.farhina-contact-card,
	.farhina-faq-answer {
		animation: none;
		transition: none;
	}
}

/*
 * Utility fallbacks: the hub markup uses Tailwind classes that Bazarak's purged build does not ship.
 * Scoped to .farhina-contact-hub so a theme update can never make the hub render unstyled again.
 */
.farhina-contact-hub .text-xs { font-size: .75rem; line-height: 1.25rem; }
.farhina-contact-hub .font-semibold { font-weight: 600; }
.farhina-contact-hub .font-normal { font-weight: 400; }
.farhina-contact-hub .tracking-tight { letter-spacing: -.015em; }
.farhina-contact-hub .tracking-wider { letter-spacing: .05em; }
.farhina-contact-hub .leading-snug { line-height: 1.45; }
.farhina-contact-hub .leading-relaxed { line-height: 1.8; }
.farhina-contact-hub .mt-0\.5 { margin-top: .125rem; }
.farhina-contact-hub .gap-2\.5 { gap: .625rem; }
.farhina-contact-hub .px-3\.5 { padding-inline: .875rem; }
.farhina-contact-hub .size-2\.5 { width: .625rem; height: .625rem; }
.farhina-contact-hub .size-64 { width: 16rem; height: 16rem; }
.farhina-contact-hub .-left-16 { left: -4rem; }
.farhina-contact-hub .-bottom-16 { bottom: -4rem; }
.farhina-contact-hub .opacity-25 { opacity: .25; }
.farhina-contact-hub .opacity-75 { opacity: .75; }
.farhina-contact-hub .shadow-md { box-shadow: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .06); }
.farhina-contact-hub .shadow-lg { box-shadow: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .06); }
.farhina-contact-hub .shadow-primary-600\/25 { box-shadow: 0 10px 15px -3px rgb(var(--color-primary-600) / .25); }

/* Brand (primary) tints — theme tokens are "r g b" triplets. */
.farhina-contact-hub .bg-primary-100\/40 { background-color: rgb(var(--color-primary-100) / .4); }
.farhina-contact-hub .bg-primary-100\/70 { background-color: rgb(var(--color-primary-100) / .7); }
.farhina-contact-hub .bg-primary-200\/20 { background-color: rgb(var(--color-primary-200) / .2); }
.farhina-contact-hub .border-primary-200\/80 { border-color: rgb(var(--color-primary-200) / .8); }
.farhina-contact-hub .text-primary-700 { color: rgb(var(--color-primary-700)); }
.farhina-contact-hub .bg-gradient-to-br.from-white { background-image: linear-gradient(to bottom right, #fff, #fff, rgb(var(--color-primary-50) / .4)); }
.farhina-contact-hub .bg-gradient-to-br.from-primary-50,
.farhina-contact-hub .bg-gradient-to-l.from-primary-50,
.farhina-contact-hub .bg-gradient-to-r.from-primary-50 { background-image: linear-gradient(to bottom right, rgb(var(--color-primary-50)), #fff, rgb(var(--color-primary-50) / .5)); }

/* Channel colours */
.farhina-contact-hub .border-emerald-200 { border-color: #a7f3d0; }
.farhina-contact-hub .bg-emerald-50\/90 { background-color: rgb(236 253 245 / .9); }
.farhina-contact-hub .text-emerald-800 { color: #065f46; }
.farhina-contact-hub .text-emerald-700 { color: #047857; }
.farhina-contact-hub .text-sky-700 { color: #0369a1; }
.farhina-contact-hub .text-indigo-700 { color: #4338ca; }
.farhina-contact-hub .text-orange-700 { color: #c2410c; }
.farhina-contact-hub .text-rose-500 { color: #f43f5e; }
.farhina-contact-hub .hover\:text-white:hover { color: #fff; }
.farhina-contact-hub .hover\:bg-emerald-600:hover { background-color: #059669; }
.farhina-contact-hub .hover\:bg-sky-500:hover { background-color: #0ea5e9; }
.farhina-contact-hub .hover\:bg-indigo-600:hover { background-color: #4f46e5; }
.farhina-contact-hub .hover\:bg-orange-500:hover { background-color: #f97316; }

/* Form select (theme class names used without the theme's form JS) */
.farhina-contact-hub select.bazarak-select,
.farhina-contact-hub select.bazarak-native-select { appearance: auto; }

@media (min-width: 640px) {
	.farhina-contact-hub .sm\:text-sm { font-size: .875rem; line-height: 1.5rem; }
	.farhina-contact-hub .sm\:text-base { font-size: 1rem; line-height: 1.75rem; }
	.farhina-contact-hub .sm\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
	.farhina-contact-hub .sm\:text-3xl { font-size: 1.875rem; line-height: 2.5rem; }
	.farhina-contact-hub .sm\:gap-5 { gap: 1.25rem; }
}
@media (min-width: 1024px) {
	.farhina-contact-hub .lg\:text-4xl { font-size: 2.25rem; line-height: 2.75rem; }
	.farhina-contact-hub .lg\:p-10 { padding: 2.5rem; }
}

@media (min-width: 1024px) {
	.farhina-contact-hub .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.farhina-contact-hub .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
