/* FARAB site: главная, авторы, новости, digital, кабинет, футер */

:root {
	--farab-blue: #687486;
	--farab-blue-2: #515d6e;
	--farab-navy: #26344a;
	--farab-gold: #c39a4a;
	--farab-bg: #f4f6f8;
	--wd-primary-color: #687486;
	--wd-alternative-color: #26344a;
}

/* One calm background throughout the public FARAB pages. */
html,
body,
.website-wrapper,
.main-page-wrapper,
.site-content,
.content-area,
.farab-page {
	background: #f4f6f8 !important;
}

.farab-section {
	background: transparent;
}

.farab-wrap {
	width: min(1180px, calc(100% - 32px));
	margin: 0 auto;
}

.farab-section {
	padding: 56px 0;
	background: #fff;
}

.farab-kicker {
	color: var(--farab-gold);
	font-family: Manrope, sans-serif;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: 0 0 8px;
}

.farab-section-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	margin-bottom: 24px;
}

.farab-section h2,
.farab-page h1 {
	font-family: Manrope, sans-serif;
	color: var(--farab-navy);
	margin: 0 0 12px;
}

.farab-lead {
	font-size: 20px;
	margin: 0 0 20px;
}

.farab-btn,
.farab-chip {
	font-family: Manrope, sans-serif;
	font-weight: 600;
	text-decoration: none !important;
	border: 0;
	cursor: pointer;
}

.farab-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 20px;
	border-radius: 999px;
}

.farab-btn-primary {
	background: var(--farab-blue-2);
	color: #fff !important;
}

.farab-btn-primary:hover {
	background: var(--farab-blue);
}

.farab-btn-gold {
	background: var(--farab-gold);
	color: var(--farab-navy) !important;
}

.farab-btn-outline-dark {
	background: transparent;
	color: var(--farab-navy) !important;
	box-shadow: inset 0 0 0 2px var(--farab-navy);
}

.farab-chip {
	display: inline-flex;
	padding: 10px 16px;
	border-radius: 999px;
	background: var(--farab-bg);
	color: var(--farab-navy) !important;
	box-shadow: inset 0 0 0 1px #d7e3f4;
}

.farab-chip.is-active,
.farab-chip:hover {
	background: var(--farab-blue);
	color: #fff !important;
}

.farab-chip-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.farab-static-actions {
	justify-content: flex-start;
	margin: 16px 0 0;
	padding: 0;
}

/* Книга как портал */
.farab-hero-single .wd-slide {
	position: relative;
}

.farab-hero-single .wd-slide::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 20% 80%, rgba(242, 178, 51, 0.18), transparent 28%),
		radial-gradient(circle at 80% 20%, rgba(11, 99, 206, 0.2), transparent 30%),
		linear-gradient(180deg, rgba(6, 27, 58, 0.15), rgba(6, 27, 58, 0.45));
	box-shadow: inset 0 0 0 1px rgba(242, 178, 51, 0.18);
}

.farab-pulse {
	background: var(--farab-navy);
	color: #fff;
}

.farab-pulse h2 {
	color: #fff;
}

.farab-pulse-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.farab-pulse-item strong {
	display: block;
	font-size: clamp(32px, 6vw, 56px);
	font-family: Manrope, sans-serif;
	color: var(--farab-gold);
}

.farab-author-grid,
.farab-news-grid,
.farab-digital-grid,
.farab-book-mini-grid {
	display: grid;
	gap: 20px;
}

.farab-author-grid {
	grid-template-columns: repeat(4, 1fr);
}

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

.farab-book-mini-grid {
	grid-template-columns: repeat(5, 1fr);
}

.farab-author-card,
.farab-news-card,
.farab-digital-card,
.farab-book-mini,
.farab-map-card,
.farab-ticket,
.farab-notice,
.farab-booking {
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 10px 30px rgba(6, 27, 58, 0.08);
	padding: 18px;
}

.farab-author-card {
	cursor: pointer;
}

.farab-author-card:focus-visible {
	outline: 3px solid rgba(11, 99, 206, .35);
	outline-offset: 3px;
}

.farab-author-photo {
	width: 100%;
	aspect-ratio: 1;
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	background:
		radial-gradient(circle at 30% 20%, rgba(242, 178, 51, 0.35), transparent 40%),
		linear-gradient(160deg, #687486, #26344a);
	margin-bottom: 12px;
}

.farab-author-photo span {
	font-family: Manrope, sans-serif;
	font-size: 48px;
	font-weight: 800;
	color: #fff;
}

.farab-author-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	border-radius: inherit;
}

/* The legacy Facebook widget is not a news feed and leaves a broken, narrow column. */
.farab-home .elementor-widget-facebook-page {
	display: none !important;
}

/* This was the old Facebook + duplicated WordPress-posts section.  The new
 * FARAB news block below the discovery grid is the single source of display. */
.farab-home .elementor-element-eecee82 {
	display: none !important;
}

/* Retire the old Elementor carousels and map: new FARAB homepage sections
 * provide one consistent catalogue, news, authors and contacts journey. */
.farab-home .elementor-element-264c1aa,
.farab-home .elementor-element-0bff05d,
.farab-home .elementor-element-2cf4377,
.farab-home .elementor-element-97973d5,
.farab-home .elementor-element-85b48ec,
.farab-home .elementor-element-cacc116,
.farab-home .elementor-element-131efd2,
.farab-home .elementor-element-20b923ca {
	display: none !important;
}

/* Their Elementor parents carry padding/min-height even after the widgets are
 * hidden. Hide the exact legacy containers as well, otherwise a white void is
 * left between the remaining catalogue and the new discovery area. */
.farab-home .elementor-element-9e48442,
.farab-home .elementor-element-d685ae6,
.farab-home .elementor-element-fffdc5e,
.farab-home .elementor-element-14f75f55 {
	display: none !important;
}

@supports selector(:has(*)) {
	.farab-home .elementor-element:has(> .elementor-element-264c1aa),
	.farab-home .elementor-element:has(> .elementor-element-2cf4377),
	.farab-home .elementor-element:has(> .elementor-element-85b48ec),
	.farab-home .elementor-element:has(> .elementor-element-131efd2) {
		display: none !important;
	}
}

/* A map was already removed from the new contacts area; do not keep the old
 * embedded Google map on the homepage as a duplicate. */
.farab-home iframe[src*="google.com/maps"],
.farab-home iframe[src*="google.ru/maps"] {
	display: none !important;
}

@supports selector(:has(*)) {
	.farab-home .elementor-element:has(iframe[src*="google.com/maps"]),
	.farab-home .elementor-element:has(iframe[src*="google.ru/maps"]) {
		display: none !important;
	}
}

/* Keep the new discovery blocks aligned instead of leaving an accidental masonry gap. */
.farab-home .farab-section .farab-wrap {
	width: min(1180px, calc(100% - 32px));
}

.farab-home .farab-pulse,
.farab-home .farab-home-digital {
	border-radius: 20px;
}

/* Four homepage ideas belong to one deliberate grid, not four detached sections. */
.farab-home-discovery {
	background: #f7faff;
}

.farab-discovery-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 20px;
	align-items: stretch;
	width: 100%;
}

.farab-discovery-card {
	display: block;
	min-width: 0;
	width: auto !important;
	padding: 32px;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(6, 27, 58, 0.08);
}

.farab-discovery-card h2 {
	font-size: clamp(24px, 3vw, 36px);
}

.farab-discovery-card.farab-pulse,
.farab-discovery-card.farab-home-digital {
	box-shadow: none;
}

.farab-discovery-card.farab-home-digital h2 {
	font-size: clamp(30px, 3.8vw, 48px);
}

.farab-discovery-card.farab-home-digital {
	grid-column: 1 / -1;
}

.farab-author-name a,
.farab-news-card h3 a {
	color: var(--farab-navy);
	text-decoration: none;
}

.farab-news-cover,
.farab-news-cover img,
.farab-news-cover-fallback {
	display: block;
	width: 100%;
	aspect-ratio: 16/10;
	object-fit: cover;
	border-radius: 14px;
	background: linear-gradient(135deg, #687486, #26344a);
}

/* The local editorial image is used until an editor sets a unique featured
 * image for an individual news item. */
.farab-news-cover-fallback {
	background-image:
		linear-gradient(135deg, rgba(6, 27, 58, 0.08), rgba(0, 58, 140, 0.14)),
		url('../assets/news/library-turkestan.png');
	background-position: center;
	background-size: cover;
}

.farab-news-card.is-featured {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 24px;
	padding: 0;
	overflow: hidden;
}

.farab-news-card.is-featured .farab-news-body {
	padding: 24px;
}

.farab-alphabet {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 16px 0;
}

.farab-alphabet button {
	min-width: 36px;
	height: 36px;
	border: 0;
	border-radius: 8px;
	background: var(--farab-bg);
	font-weight: 700;
	cursor: pointer;
}

.farab-alphabet button.is-active {
	background: var(--farab-blue);
	color: #fff;
}

.farab-authors-search input,
.farab-subscribe input {
	width: min(420px, 100%);
	height: 48px;
	border: 1px solid #d7e3f4;
	border-radius: 12px;
	padding: 0 14px;
}

.farab-page {
	background: var(--farab-bg);
	padding: 40px 0 64px;
}

.farab-digital-hero,
.farab-digital-banner,
.farab-home-digital {
	background:
		radial-gradient(circle at 10% 80%, rgba(242, 178, 51, 0.2), transparent 32%),
		linear-gradient(135deg, #26344a, #687486);
	color: #fff;
}

.farab-digital-hero h1,
.farab-home-digital h2,
.farab-digital-banner h2 {
	color: #fff;
	max-width: 16ch;
	font-size: clamp(32px, 5vw, 64px);
}

.farab-digital-hero p:not(.farab-kicker) {
	max-width: 670px;
	margin: 0 0 24px;
	font-size: 18px;
	line-height: 1.65;
}

.farab-digital-directory {
	padding-top: 56px;
}

.farab-section-heading {
	max-width: 720px;
	margin-bottom: 36px;
}

.farab-section-heading h2,
.farab-digital-category-heading h2 {
	margin: 0 0 8px;
	color: var(--farab-navy);
}

.farab-section-heading p:not(.farab-kicker),
.farab-digital-category-heading p {
	margin: 0;
	color: #526176;
	line-height: 1.65;
}

.farab-digital-category {
	padding: 30px 0;
	border-top: 1px solid #dce3eb;
}

.farab-digital-category-heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: 18px;
}

.farab-digital-category-heading h2 {
	font-size: clamp(24px, 3vw, 32px);
	white-space: nowrap;
}

.farab-digital-category-heading p {
	max-width: 620px;
}

.farab-digital-service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.farab-digital-service {
	display: flex;
	min-height: 220px;
	flex-direction: column;
	align-items: flex-start;
	padding: 22px;
	border: 1px solid #dbe3ed;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(38, 52, 74, .05);
	color: inherit;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

a.farab-digital-service:hover {
	transform: translateY(-3px);
	border-color: #9aa8ba;
	box-shadow: 0 14px 30px rgba(38, 52, 74, .12);
}

.farab-digital-service h3 {
	margin: 16px 0 9px;
	color: var(--farab-navy);
	font-size: 21px;
}

.farab-digital-service p {
	margin: 0;
	color: #526176;
	line-height: 1.55;
}

.farab-digital-status {
	display: inline-flex;
	padding: 5px 9px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.farab-digital-status.is-ready {
	background: #e7eef7;
	color: #344866;
}

.farab-digital-status.is-soon {
	background: #f7eed9;
	color: #8a6827;
}

.farab-digital-open {
	margin-top: auto;
	padding-top: 16px;
	font-weight: 800;
	color: #40516a;
}

.farab-digital-service-soon {
	background: #fafbfd;
	box-shadow: none;
}

.farab-contacts {
	background: #f4f6f8;
	padding: 40px 0;
}

.farab-contacts-grid {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 32px;
	align-items: center;
}

.farab-contact-list {
	list-style: none;
	padding: 0;
	margin: 16px 0;
}

.farab-map-card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 180px;
	background: linear-gradient(160deg, #687486, #26344a);
	color: #fff !important;
	text-decoration: none !important;
}

.farab-footer {
	background: #26344a;
	color: #fff;
	padding: 38px 0 0;
}

.farab-footer a {
	color: rgba(255, 255, 255, 0.86);
	text-decoration: none;
}

.farab-footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 24px;
	padding-bottom: 28px;
}

.farab-footer nav {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.farab-footer h3 {
	margin: 0 0 8px;
	color: var(--farab-gold);
}

.farab-social {
	display: flex;
	gap: 10px;
	margin-top: 18px;
}

.farab-social a {
	width: 32px;
	height: 32px;
	border: 1px solid rgba(255, 255, 255, 0.32);
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: #fff !important;
	transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.farab-social a:hover,
.farab-social a:focus-visible {
	border-color: var(--farab-gold);
	background: rgba(255, 255, 255, 0.08);
	transform: translateY(-2px);
}

.farab-social svg {
	width: 16px;
	height: 16px;
}

.farab-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	padding: 16px 0 24px;
	font-size: 14px;
}

.farab-footer-bottom .farab-wrap {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.farab-id-page,
.farab-id-page .main-page-wrapper,
.farab-id-page .site-content {
	background: var(--farab-bg) !important;
}

.farab-id-layout {
	display: grid !important;
	grid-template-columns: 240px minmax(0, 1fr) !important;
	gap: 24px;
	align-items: start;
	font-family: Manrope, sans-serif;
	width: min(1180px, calc(100% - 32px)) !important;
	max-width: 1180px !important;
	margin: 40px auto 64px !important;
}

/* Reset the legacy WooCommerce floats: FARAB ID owns its layout. */
.farab-id-page .woocommerce-MyAccount,
.farab-id-page .woocommerce {
	width: 100% !important;
	max-width: none !important;
}

.farab-id-layout > .woocommerce-MyAccount-navigation,
.farab-id-layout > .woocommerce-MyAccount-content {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	min-width: 0;
}

.farab-id-sidebar,
.farab-id-content,
.farab-ticket,
.farab-id-stats a {
	background: #fff;
	border-radius: 18px;
}

.farab-id-sidebar {
	padding: 16px;
}

.farab-id-brand {
	margin: 2px 8px 14px;
	color: var(--farab-blue);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.farab-id-sidebar ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.farab-id-sidebar a {
	display: block;
	padding: 10px 12px;
	border-radius: 10px;
	color: var(--farab-navy);
	text-decoration: none;
}

.woocommerce-MyAccount-navigation-link.is-active a,
.farab-id-sidebar a:hover {
	background: var(--farab-bg);
	color: var(--farab-blue-2);
}

.farab-id-content {
	padding: 28px;
	width: 100% !important;
	box-sizing: border-box;
}

.farab-id-welcome {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	margin-bottom: 28px;
}

.farab-id-welcome h1 {
	margin: 0;
}

.farab-id-welcome .farab-kicker {
	margin-bottom: 3px;
	font-size: 11px;
}

.farab-id-avatar {
	width: 64px;
	height: 64px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--farab-blue-2), var(--farab-navy));
	color: #fff;
	font-size: 26px;
	font-weight: 800;
}

.farab-ticket {
	background: linear-gradient(160deg, #687486, #26344a);
	color: #fff;
	padding: 24px;
}

.farab-ticket .farab-qr {
	width: 140px;
	height: 140px;
	background: #fff;
	padding: 8px;
	border-radius: 12px;
	margin: 16px 0;
}

.farab-id-grid,
.farab-id-progress,
.farab-id-stats {
	display: grid;
	gap: 16px;
}

.farab-id-grid {
	grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
}

.farab-id-stats {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.farab-id-stats a,
.farab-id-progress div {
	padding: 18px;
	background: #fff;
	border-radius: 16px;
	text-decoration: none;
	color: var(--farab-navy);
}

.farab-id-stats a {
	gap: 6px;
	border: 1px solid #e5edf8;
	transition: transform .2s ease, box-shadow .2s ease;
}

.farab-id-stats a:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 24px rgba(6, 27, 58, .12);
}

.farab-id-stats a b {
	color: var(--farab-blue-2);
	font-size: 30px;
	line-height: 1;
}

.farab-id-stats a span,
.farab-id-progress span {
	font-size: 14px;
	font-weight: 600;
}

.farab-id-progress div {
	border: 1px solid #e5edf8;
}

.farab-id-progress b {
	font-size: 24px;
	color: var(--farab-blue);
}

.farab-id-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 24px;
}

.farab-id-progress {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 20px;
}

.farab-id-dash > h1 {
	font-size: clamp(30px, 4vw, 46px);
	margin-bottom: 8px;
}

.farab-id-status {
	margin: 0 0 24px;
	color: #53647b;
}

.farab-id-stats a,
.farab-id-progress div {
	min-height: 100px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-weight: 700;
}

.farab-badge {
	display: inline-block;
	background: var(--farab-gold);
	color: var(--farab-navy);
	padding: 6px 12px;
	border-radius: 999px;
	font-weight: 700;
}

.farab-id-mobile-nav {
	display: none;
}

.farab-empty {
	color: #5b6b80;
}

.farab-author-hero {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 24px;
	align-items: center;
	margin: 24px 0 32px;
}

.farab-back-link {
	display: inline-flex;
	margin-bottom: 10px;
	color: var(--farab-blue-2);
	font-weight: 700;
	text-decoration: none;
}

.farab-author-single .farab-author-hero {
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 36px;
	padding: 32px;
	border: 1px solid #e1ebf8;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(14, 42, 90, .08);
}

.farab-author-single .farab-author-photo {
	margin: 0;
	border-radius: 20px;
}

.farab-author-single .farab-author-meta {
	margin: 0 0 14px;
	font-weight: 700;
	color: var(--farab-blue-2);
}

.farab-author-single .farab-author-bio {
	max-width: 72ch;
	font-size: 17px;
	line-height: 1.7;
	color: #40536e;
}

.farab-author-single .farab-author-detail {
	max-width: 76ch;
	margin: 14px 0 0;
	font-size: 16px;
	line-height: 1.7;
	color: #40536e;
}

.farab-author-source {
	margin: -14px 0 30px;
	padding: 12px 15px;
	border-left: 3px solid var(--farab-gold);
	border-radius: 0 10px 10px 0;
	background: #fff8e8;
	color: #59697f;
	font-size: 13px;
	line-height: 1.5;
}

.farab-author-source a {
	color: var(--farab-blue-2);
	font-weight: 700;
}

.farab-author-profile-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
}

.farab-author-profile-stats span {
	padding: 10px 14px;
	border-radius: 999px;
	background: #eef5ff;
	color: var(--farab-navy);
}

.farab-author-profile-stats b {
	color: var(--farab-blue-2);
}

.farab-author-works {
	margin: 0 0 36px;
	padding: 28px 32px;
	border-radius: 20px;
	background: linear-gradient(135deg, #26344a, #687486);
	color: #fff;
}

.farab-author-works h2 {
	color: #fff;
	margin-bottom: 14px;
}

.farab-author-works .farab-kicker {
	margin-bottom: 5px;
}

.farab-author-works ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.farab-author-works li {
	padding: 9px 13px;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 999px;
	background: rgba(255, 255, 255, .1);
}

.farab-book-mini img {
	width: 100%;
	height: auto;
	object-fit: contain;
	background: #f4f4f4;
	border-radius: 8px;
}

/* ZERDE AI: a quiet, always available local guide. */
.farab-zerde {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 9999;
}

.farab-zerde-launch {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 54px;
	padding: 8px 18px 8px 9px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--farab-navy), var(--farab-blue));
	box-shadow: 0 14px 30px rgba(14, 42, 90, .3);
	color: #fff;
	font-family: Manrope, sans-serif;
	font-weight: 800;
	cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease;
}

.farab-zerde-launch:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 36px rgba(14, 42, 90, .38);
}

.farab-zerde-launch-icon,
.farab-zerde-mark {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--farab-gold);
}

.farab-zerde-launch-icon img,
.farab-zerde-mark img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.farab-zerde-launch {
	text-decoration: none !important;
}

.farab-zerde-panel {
	position: absolute;
	right: 0;
	bottom: 68px;
	width: min(360px, calc(100vw - 32px));
	padding: 18px;
	border: 1px solid #dce9f8;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 22px 54px rgba(14, 42, 90, .2);
}

.farab-zerde-panel[hidden] {
	display: none !important;
}

.farab-zerde-head {
	display: grid;
	grid-template-columns: 36px 1fr auto;
	align-items: center;
	gap: 10px;
}

.farab-zerde-head strong,
.farab-zerde-head span {
	display: block;
}

.farab-zerde-head strong {
	color: var(--farab-navy);
}

.farab-zerde-head span,
.farab-zerde-note {
	font-size: 12px;
	color: #64748b;
}

.farab-zerde-close {
	width: 30px;
	height: 30px;
	border: 0;
	border-radius: 50%;
	background: #f0f5fb;
	color: var(--farab-navy);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}

.farab-zerde-message {
	margin: 16px 0 12px;
	padding: 13px;
	border-radius: 14px 14px 14px 3px;
	background: #eef5ff;
	color: var(--farab-navy);
	font-size: 14px;
	line-height: 1.5;
}

.farab-zerde-actions {
	display: grid;
	gap: 7px;
}

.farab-zerde-actions a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 11px 12px;
	border: 1px solid #e0eaf7;
	border-radius: 11px;
	color: var(--farab-navy);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.farab-zerde-actions a:hover {
	border-color: var(--farab-blue);
	background: #f7faff;
	color: var(--farab-blue-2);
}

.farab-zerde-actions span {
	color: var(--farab-blue);
	font-size: 18px;
}

.farab-zerde-note {
	margin: 14px 0 0;
	text-align: center;
}

/* Full ZERDE AI page. */
.farab-zerde-page {
	background: #f7faff;
}

.farab-zerde-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 270px;
	align-items: center;
	gap: 42px;
	min-height: 310px;
	padding: 42px 56px;
	border-radius: 26px;
	background: radial-gradient(circle at 88% 12%, rgba(195, 154, 74, .20), transparent 27%), linear-gradient(135deg, #26344a, #687486);
	color: #fff;
}

.farab-zerde-hero h1 {
	margin: 0 0 12px;
	color: #fff;
	font-size: clamp(42px, 6vw, 72px);
}

.farab-zerde-lead {
	max-width: 60ch;
	margin: 0;
	font-size: 18px;
	line-height: 1.6;
}

.farab-zerde-hero-avatar {
	width: 250px;
	height: 250px;
	justify-self: end;
	border: 5px solid rgba(255, 255, 255, .22);
	border-radius: 24px;
	object-fit: cover;
	object-position: center top;
	box-shadow: 0 20px 40px rgba(0, 0, 0, .24);
}

.farab-zerde-status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 20px;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .12);
	font-size: 13px;
}

.farab-zerde-status span {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #7ee081;
	box-shadow: 0 0 0 4px rgba(126, 224, 129, .16);
}

.farab-zerde-console {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
	gap: 24px;
	margin-top: 28px;
}

.farab-zerde-dialog,
.farab-zerde-capabilities {
	padding: 28px;
	border: 1px solid #e0eaf7;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(14, 42, 90, .07);
}

.farab-zerde-dialog-head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.farab-zerde-dialog-head b,
.farab-zerde-dialog-head small {
	display: block;
}

.farab-zerde-dialog-head b,
.farab-zerde-capabilities h2 {
	color: var(--farab-navy);
}

.farab-zerde-dialog-head small {
	margin-top: 2px;
	color: #64748b;
}

.farab-zerde-dialog-reply {
	margin: 20px 0 14px;
	padding: 16px;
	border-radius: 16px 16px 16px 4px;
	background: #eef5ff;
	color: var(--farab-navy);
	line-height: 1.5;
}

.farab-zerde-reply-link {
	display: table;
	margin-top: 10px;
	padding: 7px 11px;
	border-radius: 999px;
	background: var(--farab-blue-2);
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.farab-zerde-prompts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.farab-zerde-prompts button {
	padding: 9px 12px;
	border: 1px solid #dbe8f7;
	border-radius: 999px;
	background: #fff;
	color: var(--farab-blue-2);
	font-weight: 700;
	cursor: pointer;
}

.farab-zerde-prompts button:hover {
	border-color: var(--farab-blue);
	background: #f2f7ff;
}

.farab-zerde-search {
	display: flex;
	gap: 8px;
	margin-top: 20px;
}

.farab-zerde-search input {
	min-width: 0;
	flex: 1;
	height: 48px;
	padding: 0 14px;
	border: 1px solid #d6e4f5;
	border-radius: 12px;
}

.farab-zerde-search button {
	width: 48px;
	border: 0;
	border-radius: 12px;
	background: var(--farab-blue-2);
	color: #fff;
	font-size: 22px;
	cursor: pointer;
}

.farab-zerde-capabilities ul {
	display: grid;
	gap: 18px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.farab-zerde-capabilities li {
	padding-left: 16px;
	border-left: 3px solid var(--farab-gold);
}

.farab-zerde-capabilities b,
.farab-zerde-capabilities span {
	display: block;
}

.farab-zerde-capabilities b {
	color: var(--farab-navy);
}

.farab-zerde-capabilities span {
	margin-top: 4px;
	color: #64748b;
	font-size: 14px;
	line-height: 1.5;
}

@media (max-width: 767px) {
	.farab-zerde {
		right: 16px;
		bottom: 16px;
	}

	.farab-zerde-launch span:last-child {
		display: none;
	}

	.farab-zerde-launch {
		width: 54px;
		padding: 9px;
		justify-content: center;
	}

	.farab-zerde-hero,
	.farab-zerde-console {
		grid-template-columns: 1fr;
	}

	.farab-zerde-hero {
		padding: 30px 24px;
		gap: 24px;
	}

	.farab-zerde-hero-avatar {
		justify-self: start;
		width: 180px;
		height: 180px;
	}
}

@media (max-width: 1024px) {
	.farab-author-grid,
	.farab-news-grid,
	.farab-digital-grid,
	.farab-digital-service-grid,
	.farab-book-mini-grid,
	.farab-footer-grid,
	.farab-contacts-grid,
	.farab-id-grid,
	.farab-pulse-grid,
	.farab-news-card.is-featured,
	.farab-author-hero {
		grid-template-columns: 1fr 1fr;
	}

	.farab-digital-category-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 6px;
	}

	.farab-author-single .farab-author-hero {
		grid-template-columns: 180px minmax(0, 1fr);
	}

	.farab-id-progress {
		grid-template-columns: 1fr 1fr;
	}

	.farab-id-layout {
		grid-template-columns: 1fr;
	}

	.farab-id-welcome {
		grid-template-columns: 56px 1fr;
	}

	.farab-id-profile-link {
		grid-column: 1 / -1;
		justify-self: start;
	}

	.farab-id-mobile-nav {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		position: sticky;
		bottom: 0;
		background: #fff;
		padding: 10px;
		gap: 6px;
		box-shadow: 0 -6px 20px rgba(6, 27, 58, 0.08);
	}

	.farab-id-mobile-nav a {
		text-align: center;
		font-size: 12px;
		color: var(--farab-navy);
		text-decoration: none;
	}
}

@media (max-width: 768px) {
	.farab-discovery-grid {
		grid-template-columns: 1fr !important;
	}

	.farab-discovery-card {
		padding: 24px;
	}

	.farab-discovery-card.farab-home-digital {
		grid-column: auto;
	}

	.farab-author-grid,
	.farab-news-grid,
	.farab-digital-grid,
	.farab-digital-service-grid,
	.farab-book-mini-grid,
	.farab-footer-grid,
	.farab-contacts-grid,
	.farab-id-grid,
	.farab-pulse-grid,
	.farab-author-hero {
		grid-template-columns: 1fr;
	}

	.farab-author-single .farab-author-hero {
		grid-template-columns: 1fr;
		padding: 24px;
	}

	.farab-book-mini-grid {
		grid-template-columns: 1fr 1fr;
	}
}

/* -------------------------------------------------------------------------
 * Home legacy content: keep the useful catalogue/gallery blocks, but give
 * them the same FARAB surface, rhythm and controls as the custom sections.
 * This prevents the page from reading as several unrelated templates.
 * ------------------------------------------------------------------------- */
.farab-home .main-page-wrapper,
.farab-home .site-content {
	background: #fff;
}

.farab-home .elementor-top-section > .elementor-container {
	width: min(1180px, calc(100% - 32px));
	max-width: 1180px;
}

.farab-home .elementor-top-section:not(.farab-hero-single) {
	padding-block: 18px;
}

.farab-home .elementor-top-section:not(.farab-hero-single) .elementor-heading-title {
	color: var(--farab-navy);
	font-family: Manrope, sans-serif;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.farab-home .wd-products .product-wrapper,
.farab-home .products .product-wrapper {
	height: 100%;
	padding: 14px;
	border: 1px solid #e3ecf8;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(14, 42, 90, .07);
	transition: transform .2s ease, box-shadow .2s ease;
}

.farab-home .wd-products .product-wrapper:hover,
.farab-home .products .product-wrapper:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 32px rgba(14, 42, 90, .14);
}

.farab-home .wd-products .product-image-link,
.farab-home .products .product-image-link {
	display: block;
	padding: 10px;
	border-radius: 13px;
	background: #f3f7fd;
}

.farab-home .wd-products .product-image-link img,
.farab-home .products .product-image-link img {
	mix-blend-mode: multiply;
}

.farab-home .wd-products .wd-entities-title,
.farab-home .wd-products .wd-entities-title a,
.farab-home .products .wd-entities-title,
.farab-home .products .wd-entities-title a {
	color: var(--farab-navy) !important;
	font-weight: 800;
}

.farab-home .wd-products .wd-product-cats,
.farab-home .products .wd-product-cats {
	color: #64748b;
}

.farab-home .wd-products .button,
.farab-home .products .button,
.farab-home .wd-load-more,
.farab-home .elementor-button {
	border-radius: 999px;
	background: var(--farab-blue-2);
	color: #fff;
	font-weight: 700;
}

.farab-home .wd-products .button:hover,
.farab-home .products .button:hover,
.farab-home .wd-load-more:hover,
.farab-home .elementor-button:hover {
	background: var(--farab-blue);
	color: #fff;
}

.farab-home .wd-gallery-item,
.farab-home .gallery-item {
	overflow: hidden;
	border-radius: 18px;
	box-shadow: 0 10px 26px rgba(14, 42, 90, .11);
}

.farab-home .wd-gallery-item img,
.farab-home .gallery-item img {
	transition: transform .3s ease;
}

.farab-home .wd-gallery-item:hover img,
.farab-home .gallery-item:hover img {
	transform: scale(1.04);
}

/* «About the library» is a real content block, not an unframed strip on a
 * white canvas.  Elementor id is stable for the local homepage. */
.farab-home .elementor-element-54f8ef98 {
	width: min(1180px, calc(100% - 32px)) !important;
	max-width: 1180px !important;
	margin: 42px auto 26px !important;
	padding: 38px !important;
	border: 1px solid #e1ebf8;
	border-radius: 24px;
	background: linear-gradient(135deg, #f7faff, #fff) !important;
	box-shadow: 0 16px 38px rgba(14, 42, 90, .08);
}

.farab-home .elementor-element-54f8ef98 > .e-con-inner {
	display: grid;
	grid-template-columns: minmax(0, .86fr) minmax(420px, 1.14fr);
	gap: 40px;
	align-items: center;
	max-width: 100%;
	width: 100% !important;
}

/* Elementor marks both children as full-width flex containers. Reset that
 * local setting, otherwise a 50/50 grid still leaves tiny content at edges. */
.farab-home .elementor-element-54f8ef98 > .e-con-inner > .elementor-element-794f3c00,
.farab-home .elementor-element-54f8ef98 > .e-con-inner > .elementor-element-53dcedfc {
	--width: auto !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	flex: 1 1 0 !important;
	align-self: stretch;
}

.farab-home .elementor-element-54f8ef98 .elementor-element-8583885,
.farab-home .elementor-element-54f8ef98 .elementor-widget-container {
	max-width: 100%;
}

.farab-home .elementor-element-54f8ef98 .elementor-heading-title {
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1.08;
	margin-bottom: 16px;
}

.farab-home .elementor-element-54f8ef98 .elementor-widget-text-editor {
	font-size: 16px;
	line-height: 1.72;
	color: #40536e;
}

.farab-home .elementor-element-54f8ef98 .elementor-widget-text-editor p {
	margin: 0 0 14px;
}

.farab-home .elementor-element-54f8ef98 .wd-carousel,
.farab-home .elementor-element-54f8ef98 .wd-slider {
	overflow: hidden;
	border-radius: 18px;
	box-shadow: 0 12px 28px rgba(14, 42, 90, .12);
}

@media (max-width: 767px) {
	.farab-home .elementor-element-54f8ef98 {
		margin: 22px 16px;
		padding: 24px !important;
	}

	.farab-home .elementor-element-54f8ef98 > .e-con-inner {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

/* Hiding old widget contents must also hide their empty Elementor wrapper. */
@supports selector(:has(*)) {
	.farab-home .elementor-element:has(> .elementor-element-0bff05d),
	.farab-home .elementor-element:has(> .elementor-element-97973d5),
	.farab-home .elementor-element:has(> .elementor-element-cacc116),
	.farab-home .elementor-element:has(> .elementor-element-20b923ca) {
		display: none !important;
	}
}

#trp-floater-ls,
.trp-floater-ls,
.trp-language-switcher.trp-floating-switcher {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.farab-language-menu {
	position: relative;
	z-index: 40;
	margin: 0 0 0 10px;
	font: 700 12px/1 Manrope, sans-serif;
	color: #26344a;
	flex: 0 0 auto;
}

.farab-language-menu details {
	position: relative;
}

.farab-language-menu summary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 32px;
	padding: 0 10px;
	border: 1px solid #dce2e9;
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
	list-style: none;
	white-space: nowrap;
}

.farab-language-menu summary::-webkit-details-marker {
	display: none;
}

.farab-language-menu summary svg {
	width: 12px;
	height: 12px;
	transition: transform .18s ease;
}

.farab-language-menu details[open] summary svg {
	transform: rotate(180deg);
}

.farab-language-menu-list {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	min-width: 148px;
	padding: 6px;
	border: 1px solid #dce2e9;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 10px 26px rgba(38, 52, 74, .14);
	z-index: 120;
}

.farab-language-menu-list a {
	display: block;
	padding: 8px 10px;
	border-radius: 6px;
	color: #26344a;
	text-decoration: none;
	font-weight: 600;
}

.farab-language-menu-list a:hover {
	background: #f4f6f8;
}

.farab-language-menu-list a[aria-current="true"] {
	background: #eef2f6;
	color: #515d6e;
	box-shadow: inset 3px 0 0 #c4a35a;
}

@media (max-width: 1024px) {
	.whb-header .farab-language-menu {
		display: block !important;
		margin: 0 8px 0 0;
	}

	.farab-language-menu summary {
		min-height: 28px;
		padding: 0 8px;
		font-size: 11px;
	}
}

.farab-id2-qr-token {
	margin-top: 24px;
	padding: 20px 0;
}
.farab-id2-token {
	display: block;
	word-break: break-all;
	font-size: 12px;
	line-height: 1.4;
	padding: 12px;
	background: rgba(15, 40, 80, 0.04);
}
.farab-notice.is-read {
	opacity: 0.65;
}
.farab-press-video iframe {
	width: 100%;
	max-width: 640px;
	aspect-ratio: 16 / 9;
	border: 0;
}
