/*
 * Imardix Blocks: the only stylesheet (front end and editor).
 * Colours, fonts and sizes come from theme.json presets; this file adds the
 * classes the blocks carry (imx-*). RTL only.
 */

/* ------------------------------------------------------------ foundations */
:root {
	--imx-primary: var(--wp--preset--color--primary);
	--imx-primary-dark: var(--wp--preset--color--primary-dark);
	--imx-navy: var(--wp--preset--color--navy);
	--imx-green: var(--wp--preset--color--green);
	--imx-slate: var(--wp--preset--color--slate);
	--imx-surface: var(--wp--preset--color--surface);
	--imx-line: var(--wp--preset--color--line);
	--imx-heading-font: var(--wp--preset--font-family--heading);
	--imx-shadow-card: var(--wp--preset--shadow--card);
	--imx-shadow-elevated: var(--wp--preset--shadow--elevated);
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--imx-primary);
	outline-offset: 2px;
}

.imx-center {
	text-align: center;
}

.wp-site-blocks > * + * {
	margin-block-start: 0;
}

/* Template sections (page head, body, CTA band) sit flush; spacing comes from their own padding. */
/* ":root" outranks core's ":root :where(.is-layout-flow) > *" gap rule, which is printed after this file. */
:root .imx-main > * {
	margin-block-start: 0;
}

/* The homepage is stacked bands: no flow gaps between them. */
.imx-main--front > .wp-block-post-content > * {
	margin-block-start: 0 !important;
}

/* ----------------------------------------------------------------- header */
.imx-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #fff;
	box-shadow: 0 1px 0 var(--imx-line);
	transition: box-shadow 0.2s ease;
}
.imx-site-header.is-scrolled {
	box-shadow: var(--imx-shadow-card);
}
.admin-bar .imx-site-header {
	top: 32px;
}
@media (max-width: 782px) {
	.admin-bar .imx-site-header {
		top: 46px;
	}
}

.imx-header {
	box-sizing: border-box;
	width: 100%;
	max-width: 1200px;
	min-height: 76px;
	margin: 0 auto;
	padding: 10px clamp(16px, 3vw, 32px);
	gap: 24px;
}
.imx-header .wp-block-site-logo {
	flex: none;
	margin: 0;
}
.imx-header .wp-block-site-logo img {
	max-width: 100%;
	height: auto;
}

.imx-nav {
	flex: 1 1 auto;
	margin: 0;
	font-family: var(--imx-heading-font);
	font-size: 15px;
	font-weight: 500;
}
/* Header menu: 19px for the top-level items and the dropdowns (the footer columns keep their own 16px). */
.imx-nav--primary {
	font-size: 19px;
}
.imx-nav .wp-block-navigation__container {
	gap: 4px 6px;
}
.imx-nav .wp-block-navigation-item__content {
	padding: 8px 10px;
	border-radius: 6px;
	color: var(--imx-navy);
	text-decoration: none;
}
.imx-nav .wp-block-navigation-item__content:hover,
.imx-nav .current-menu-item > .wp-block-navigation-item__content {
	color: var(--imx-primary);
}
.imx-nav .current-menu-item > .wp-block-navigation-item__content {
	box-shadow: inset 0 -2px 0 var(--imx-primary);
	border-radius: 0;
}
.imx-nav .wp-block-navigation__submenu-container {
	min-width: 220px;
	padding: 8px;
	border: 0;
	border-radius: 12px;
	box-shadow: var(--imx-shadow-elevated);
}

/*
 * The core Navigation block shows its inline list from 600px (below that it is the overlay). With eight top-level
 * items the row only fits from 1280px, so from 600px to 1279px the hamburger is forced on and the inline list hidden
 * again. Below 600px core already shows the hamburger. Header layout and the "תפריט" label for this whole range are
 * further down (max-width: 1279px).
 */
@media (min-width: 600px) and (max-width: 1279px) {
	.imx-nav.wp-block-navigation .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
	.imx-nav.wp-block-navigation .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}
.imx-nav .is-menu-open .wp-block-navigation__submenu-container {
	min-width: 0;
	padding: 0 16px 0 0;
	box-shadow: none;
}
.imx-nav .wp-block-navigation__responsive-container-open {
	color: var(--imx-navy);
}
.imx-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 24px;
	font-size: 19px;
	color: var(--imx-navy);
	background: #fff;
}

.imx-header__cta {
	flex: none;
	gap: 10px;
	margin: 0;
}
.imx-header__cta .wp-block-button__link {
	min-height: 44px;
	padding: 10px 20px;
	font-size: 15px;
}
.imx-btn-icon-only .wp-block-button__link {
	width: 44px;
	height: 44px;
	padding: 0;
	gap: 0; /* the hidden label is still a flex item; the 10px gap would push the glyph off-centre */
	font-size: 0;
	line-height: 0;
}
@media (max-width: 599px) {
	/* Phones, right to left: logo (takes the remaining width), menu button, "בדיקת משכנתא", phone. Doubled class: beats the global flex gap on pages where it prints later. */
	.imx-header.imx-header {
		gap: 6px;
		padding-inline: 10px;
	}
	.imx-header .wp-block-site-logo {
		order: 1;
		flex: 0 1 110px;
		min-width: 0;
	}
	.imx-header .wp-block-site-logo img {
		width: 100%;
		max-width: 110px;
	}
	/* .imx-header prefix: the global flex gap (:root :where(.is-layout-flex), 20px) wins on pages where it prints after this file. */
	.imx-header .imx-header__cta {
		gap: 6px;
	}
}
/*
 * Collapsed header (below 1280px, every width where the hamburger is shown): logo | menu button | buttons. The menu
 * button sits centred in the free space between the logo and the buttons through its auto margins, and shows the word
 * "תפריט" to the left of the icon. It keeps core's aria-label ("פתיחת תפריט", contains the word): no double announcement.
 */
@media (max-width: 1279px) {
	.imx-header .imx-nav {
		order: 2;
		flex: none;
		margin-inline: auto;
	}
	.imx-header .imx-header__cta {
		order: 3;
	}
	.imx-header .imx-nav .wp-block-navigation__responsive-container-open {
		align-items: center;
		gap: 5px;
		min-width: 44px;
		min-height: 44px;
		padding: 0 2px;
		font-size: 15px;
		font-weight: 600;
		line-height: 1;
	}
	.imx-header .imx-nav .wp-block-navigation__responsive-container-open::after {
		content: 'תפריט';
	}
}
/* Very narrow phones: the logo gets its own row above the controls. */
@media (max-width: 359px) {
	.imx-header {
		flex-wrap: wrap !important; /* the layout class sets nowrap */
		min-height: 0;
	}
	.imx-header .wp-block-site-logo {
		flex: 0 0 100%;
	}
	.imx-header .imx-nav {
		order: 2;
	}
}

/* ---------------------------------------------------------------- buttons */
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	box-sizing: border-box;
	min-height: 48px;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease, filter 0.15s ease;
}
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 2px solid var(--imx-primary);
	background: transparent;
	color: var(--imx-primary);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:focus-visible {
	background: var(--imx-primary);
	color: #fff;
}
.wp-block-button.is-style-imx-whatsapp > .wp-block-button__link {
	background: var(--imx-green);
	/* Palette "ink" instead of navy: navy on #22B573 measures 4.43:1 (< 4.5), ink 5.2:1. */
	color: var(--wp--preset--color--ink);
}
.wp-block-button.is-style-imx-whatsapp > .wp-block-button__link:hover,
.wp-block-button.is-style-imx-whatsapp > .wp-block-button__link:focus-visible {
	background: var(--imx-green);
	color: var(--wp--preset--color--ink);
	filter: brightness(0.93);
}

/* Glyphs drawn from currentColor masks so they follow the button text colour. */
.is-style-imx-whatsapp > .wp-block-button__link::before,
.imx-btn-phone > .wp-block-button__link::before,
.imx-btn-email > .wp-block-button__link::before,
.is-style-imx-email > .wp-block-button__link::before,
.imx-btn-chevron > .wp-block-button__link::after,
.imx-card__link a::after,
.imx-link-more a::after {
	content: '';
	flex: none;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: var(--imx-glyph) center / contain no-repeat;
	mask: var(--imx-glyph) center / contain no-repeat;
}
.is-style-imx-whatsapp > .wp-block-button__link::before {
	--imx-glyph: url('../icons/message-circle.svg');
}
.imx-btn-phone > .wp-block-button__link::before {
	--imx-glyph: url('../icons/phone.svg');
}
.imx-btn-email > .wp-block-button__link::before,
.is-style-imx-email > .wp-block-button__link::before {
	--imx-glyph: url('../icons/mail.svg');
}

/*
 * Contact button helpers (core/button), all pill shaped with a currentColor glyph:
 *   imx-btn-phone             blue (the default button colour) + phone glyph, put it in the block's Additional CSS class
 *   is-style-imx-whatsapp     green + message glyph, chosen in the block's Styles panel
 *   imx-btn-email  /  Styles panel "אימייל" (is-style-imx-email)
 *                             navy + envelope glyph: sits next to the blue phone and green WhatsApp buttons without a third bright colour
 */
.wp-block-button.imx-btn-email > .wp-block-button__link,
.wp-block-button.is-style-imx-email > .wp-block-button__link {
	background: var(--imx-navy);
	color: #fff;
}
.wp-block-button.imx-btn-email > .wp-block-button__link:hover,
.wp-block-button.imx-btn-email > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-imx-email > .wp-block-button__link:hover,
.wp-block-button.is-style-imx-email > .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--ink);
	color: #fff;
}
.imx-btn-chevron > .wp-block-button__link::after,
.imx-card__link a::after,
.imx-link-more a::after {
	--imx-glyph: url('../icons/chevron-left.svg');
	width: 18px;
	height: 18px;
}
.imx-card__link a,
.imx-link-more a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	text-decoration: none;
}

/* ------------------------------------------------------------------ bands */
.imx-band {
	box-sizing: border-box;
	padding: var(--wp--preset--spacing--70) clamp(16px, 4vw, 32px);
}
.imx-band--white {
	background: #fff;
}
.imx-band--surface {
	background: var(--imx-surface);
}
.imx-band--navy {
	background: var(--imx-navy);
	color: #fff;
}
.imx-band--navy :where(h1, h2, h3, p) {
	color: #fff;
}

.imx-kicker {
	margin: 0 0 8px;
	font-family: var(--imx-heading-font);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--imx-primary);
}
.imx-band--surface .imx-kicker {
	color: var(--imx-primary-dark);
}

.imx-section-head {
	margin-bottom: 48px;
	gap: 32px 64px;
}
.imx-section-head h2 {
	margin: 0;
}
.imx-section-head__text p {
	margin: 0;
	font-size: var(--wp--preset--font-size--large);
	color: var(--imx-slate);
}

/* Columns stack at 960px (core stops at 781px). */
@media (max-width: 960px) {
	.imx-band .wp-block-columns,
	.imx-hero .wp-block-columns {
		flex-wrap: wrap !important;
	}
	.imx-band .wp-block-columns > .wp-block-column,
	.imx-hero .wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
	}
}

/* ------------------------------------------------------------------- hero */
.imx-hero {
	box-sizing: border-box;
	min-height: clamp(560px, 50vw, 720px);
	padding: clamp(40px, 6vw, 88px) clamp(16px, 4vw, 32px);
}
.imx-hero .wp-block-cover__image-background {
	object-position: right center;
}
/* Directional white scrim (decisions 2026-09-25): ~96% behind the text, easing to ~70% at the calculator. */
.imx-hero.wp-block-cover > .wp-block-cover__background.has-background-dim.has-background-dim-0 {
	opacity: 1;
	background: linear-gradient(to left, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.96) 55%, rgba(255, 255, 255, 0.7) 100%);
}
.imx-hero .wp-block-cover__inner-container {
	color: var(--wp--preset--color--ink);
}
.imx-hero__cols {
	gap: 32px 56px;
}
.imx-hero h1 {
	margin: 0 0 16px;
	max-width: 20ch;
	font-size: clamp(32px, 4vw, 50px);
	color: var(--imx-navy);
}
.imx-lead {
	margin: 0 0 28px;
	max-width: 52ch;
	font-size: var(--wp--preset--font-size--large);
	color: var(--imx-slate);
}
.imx-hero__actions {
	gap: 12px;
	margin: 0 0 28px;
}
.imx-hero__actions .wp-block-button__link {
	padding-inline: 32px;
}
.imx-hero__calc {
	display: flex;
	justify-content: flex-end;
}
.imx-hero__calc .imx-calc-card {
	width: 100%;
	max-width: 440px;
}
@media (max-width: 960px) {
	.imx-hero.wp-block-cover > .wp-block-cover__background.has-background-dim.has-background-dim-0 {
		background: rgba(255, 255, 255, 0.94);
	}
	.imx-hero__calc {
		justify-content: center;
	}
}
@media (max-width: 599px) {
	.imx-hero__actions .wp-block-button,
	.imx-hero__actions .wp-block-button__link {
		width: 100%;
	}
}

/* ------------------------------------------------------------------ chips */
.imx-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.imx-chips > * {
	margin-block-start: 0 !important;
}
.imx-chip {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 8px 16px;
	border: 1px solid var(--imx-line);
	border-radius: 999px;
	background: #fff;
	font-family: var(--imx-heading-font);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--imx-navy);
}
.imx-band--white .imx-chip {
	background: var(--imx-surface);
}
.imx-chip--dark {
	padding: 0;
	border-color: rgba(255, 255, 255, 0.45);
	background: transparent;
}
.imx-chip--dark a {
	display: block;
	padding: 8px 18px;
	border-radius: 999px;
	color: #fff;
	text-decoration: none;
}
.imx-chip--dark a:hover,
.imx-chip--dark a:focus-visible {
	background: #fff;
	color: var(--imx-navy);
}

/* ------------------------------------------------------------------ cards */
.imx-card-grid,
.imx-pain__grid,
.imx-steps,
.imx-ba-grid {
	gap: 24px;
}
.imx-card-grid > *,
.imx-pain__grid > *,
.imx-steps > *,
.imx-ba-grid > * {
	margin-block-start: 0 !important;
}
.imx-card {
	box-sizing: border-box;
	padding: 32px;
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--imx-shadow-card);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.imx-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--imx-shadow-elevated);
}
.imx-card > * + * {
	margin-block-start: 0;
}
.imx-card h3 {
	margin: 16px 0 8px;
}
.imx-card p {
	margin: 0 0 12px;
	color: var(--imx-slate);
}
.imx-card__link {
	margin: 16px 0 0 !important;
}
.imx-card__link a {
	color: var(--imx-primary);
}
.imx-icon-badge {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: rgba(20, 118, 173, 0.1);
}
.imx-icon-badge .wp-block-image {
	margin: 0;
}
.imx-icon-badge img {
	display: block;
	width: 28px;
	height: 28px;
}
/* An icon that was put inside a Gallery block in the editor (the "משכנתא הפוכה" card) gets the same size as the others. */
.imx-icon-badge .wp-block-gallery {
	display: block;
	margin: 0;
}
.imx-icon-badge .wp-block-gallery.has-nested-images figure.wp-block-image,
.imx-icon-badge .wp-block-gallery.has-nested-images figure.wp-block-image img {
	width: 28px;
	height: 28px;
	margin: 0;
	flex: none;
}
.imx-pain__item .imx-icon img {
	display: block;
	width: clamp(40px, 3.6vw, 46px);
	height: clamp(40px, 3.6vw, 46px);
}
.imx-icon {
	margin: 0;
}

/* ------------------------------------------------------------ pain strip */
.imx-pain {
	padding-block: clamp(32px, 4vw, 56px);
}
.imx-pain__item {
	padding-inline: 24px;
}
.imx-pain__item + .imx-pain__item {
	border-inline-start: 1px solid var(--imx-line);
}
.imx-pain__label {
	margin: 14px 0 4px;
	font-family: var(--imx-heading-font);
	font-size: 17px;
	font-weight: 600;
	color: var(--imx-primary);
}
.imx-pain__text {
	margin: 0;
	font-family: var(--imx-heading-font);
	font-size: clamp(18px, 1.45vw, 21px);
	font-weight: 600;
	line-height: 1.4;
	color: var(--imx-navy);
}
@media (max-width: 760px) {
	.imx-band .imx-pain__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 0;
	}
	.imx-pain__item {
		padding-inline: 16px;
	}
	.imx-pain__item:nth-child(odd) {
		border-inline-start: 0;
	}
}

/* ------------------------------------------------------ calculators band */
.imx-calc-band h2 {
	margin: 0 0 12px;
}
.imx-calc-band p:not(.imx-kicker):not(.imx-chip) {
	margin: 0;
}
.imx-calc-band .imx-kicker {
	color: #fff;
}
.imx-calc-band .imx-chips {
	margin-bottom: 24px;
}
@media (min-width: 961px) {
	.imx-calc-band__cols {
		gap: 64px;
	}
}

/* --------------------------------------------------------------- why now */
.imx-summary {
	margin-top: 48px;
	text-align: center;
}
.imx-summary__line {
	margin: 0 0 20px;
	font-family: var(--imx-heading-font);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	color: var(--imx-navy);
}
.imx-summary .wp-block-buttons {
	justify-content: center;
}

/* ------------------------------------------------------------ case story */
.imx-case__cols {
	gap: 32px 64px;
}
.imx-placeholder-tag {
	display: inline-block;
	margin: 0 0 20px;
	padding: 4px 14px;
	border: 1.5px dashed var(--imx-slate);
	border-radius: 999px;
	font-size: 14px;
	color: var(--imx-slate);
}
.imx-case h2 {
	margin: 0 0 16px;
}
.imx-ba {
	padding: 24px;
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--imx-shadow-card);
}
.imx-ba p {
	margin: 0;
	color: var(--imx-slate);
}
.imx-ba .imx-ba__label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	font-family: var(--imx-heading-font);
	font-size: 14px;
	font-weight: 700;
	color: var(--imx-slate);
}
.imx-ba--after .imx-ba__label {
	color: var(--imx-navy);
}
.imx-ba--after .imx-ba__label {
	position: relative;
}
.imx-ba--after .imx-ba__label::before {
	content: '';
	flex: none;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--imx-green);
}
.imx-ba--after .imx-ba__label::after {
	content: '';
	position: absolute;
	inset-inline-start: 4px;
	top: 50%;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	background: var(--imx-navy);
	-webkit-mask: url('../icons/check.svg') center / contain no-repeat;
	mask: url('../icons/check.svg') center / contain no-repeat;
}

/* ----------------------------------------------------------------- trust */
.imx-media-card {
	gap: 20px;
	margin-bottom: 64px;
	padding: 20px 28px;
	border-radius: 16px;
	background: var(--imx-surface);
}
.imx-media-card__logo {
	display: grid;
	place-items: center;
	flex: none;
	min-width: 120px;
	height: 64px;
	margin: 0;
	padding: 0 20px;
	border-radius: 12px;
	background: #fff;
	box-shadow: var(--imx-shadow-card);
	font-family: var(--imx-heading-font);
	font-size: 20px;
	font-weight: 700;
	color: var(--imx-navy);
}
.imx-media-card__body > * {
	margin: 0;
}
.imx-media-card__text {
	font-weight: 600;
	color: var(--imx-navy);
}
.imx-trust__title {
	margin: 0 0 32px;
	text-align: center;
}
.imx-trust__title ~ .imx-trust__title {
	margin-top: 72px;
}
.imx-link-more {
	margin: 32px 0 0;
	text-align: center;
}

/* --------------------------------------------------------------- process */
.imx-steps {
	position: relative;
}
.imx-steps::before {
	content: '';
	position: absolute;
	inset-inline: 0;
	top: 54px;
	height: 2px;
	background: var(--imx-line);
}
.imx-step {
	position: relative;
	z-index: 1;
	padding: 28px;
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--imx-shadow-card);
}
.imx-step > * + * {
	margin-block-start: 0;
}
.imx-step__num {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin: 0 0 16px;
	border-radius: 50%;
	background: var(--imx-primary);
	font-family: var(--imx-heading-font);
	font-size: 20px;
	font-weight: 700;
	color: #fff;
}
.imx-step h3 {
	margin: 0 0 8px;
}
.imx-step p:not(.imx-step__num) {
	margin: 0;
	color: var(--imx-slate);
}
@media (max-width: 760px) {
	.imx-steps::before {
		inset-inline: auto;
		inset-inline-start: 50px;
		top: 0;
		bottom: 0;
		width: 2px;
		height: auto;
	}
}

/* --------------------------------------------------------------- founder */
.imx-about__cols {
	gap: 32px 64px;
}
.imx-portrait {
	margin: 0;
}
.imx-portrait img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 16px;
	box-shadow: var(--imx-shadow-elevated);
}
.imx-about__text > * + * {
	margin-block-start: 16px;
}
.imx-about__text h2 {
	margin: 0;
}
.imx-about__text .imx-chips {
	margin-block: 24px;
}

/* ------------------------------------------------------------------ lead */
.imx-lead-card {
	box-sizing: border-box;
	padding: clamp(28px, 4vw, 56px);
	border-radius: 24px;
	background: #fff;
	box-shadow: var(--imx-shadow-card);
}
.imx-lead__cols {
	gap: 32px 48px;
}
.imx-lead-card h2 {
	margin: 0 0 12px;
}
.imx-lead-card p:not(.imx-kicker) {
	margin: 0;
	color: var(--imx-slate);
}
.imx-lead__side {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}
.imx-lead__art {
	margin: 0;
}
.imx-lead__art img {
	display: block;
	width: 112px;
	height: 112px;
}
/* --------------------------------------------------------------- contact */
.imx-contact__cols {
	gap: 40px 64px;
}
.imx-contact h2 {
	margin: 0 0 16px;
}
.imx-contact__actions {
	gap: 12px;
	margin: 28px 0 20px;
}
.imx-contact__email {
	margin: 0;
}
.imx-form-card:hover {
	transform: none;
	box-shadow: var(--imx-shadow-card);
}
.imx-form-card h3 {
	margin: 0 0 20px;
}

/* Contact Form 7 (markup and inline styles are plugin-owned data). */
.imx-form-card .wpcf7-form {
	text-align: right;
}
/* The stored form carries its own white "צור קשר" heading, written for a dark background; the card has its own heading. */
.imx-form-card .wpcf7-form h2 {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
.imx-form-card .wpcf7-form p {
	margin: 0 0 16px;
}
.imx-form-card .wpcf7-form br {
	display: none;
}
.imx-form-card .wpcf7-form label,
.imx-form-card .wpcf7-form > p {
	color: var(--imx-navy);
}
.imx-form-card .wpcf7-form input[type='text'],
.imx-form-card .wpcf7-form input[type='email'],
.imx-form-card .wpcf7-form input[type='tel'],
.imx-form-card .wpcf7-form select,
.imx-form-card .wpcf7-form textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	margin-top: 6px;
	padding: 10px 14px;
	border: 1px solid #5B6B76;
	border-radius: 8px;
	background: #fff;
	font: inherit;
	font-size: 16px;
	color: var(--wp--preset--color--ink);
}
.imx-form-card .wpcf7-form textarea {
	min-height: 110px;
	resize: vertical;
}
/* CF7's locale puts dir="ltr" on the generated fields; undo it so Hebrew text aligns right. */
.imx-form-card .wpcf7-form .wpcf7-text,
.imx-form-card .wpcf7-form .wpcf7-textarea,
.imx-form-card .wpcf7-form .wpcf7-email,
.imx-form-card .wpcf7-form select {
	direction: rtl;
	text-align: right;
}
.imx-form-card .wpcf7-form input:focus-visible,
.imx-form-card .wpcf7-form select:focus-visible,
.imx-form-card .wpcf7-form textarea:focus-visible {
	border-color: var(--imx-primary);
	outline: 2px solid var(--imx-primary);
	outline-offset: 1px;
}
.imx-form-card .wpcf7-form .submit_btn,
.imx-form-card .wpcf7-form input[type='submit'] {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	padding: 14px 28px;
	border: 0;
	border-radius: 999px;
	background: var(--imx-primary);
	font-family: var(--imx-heading-font);
	font-size: 16px;
	font-weight: 600;
	color: #fff;
	cursor: pointer;
}
.imx-form-card .wpcf7-form input[type='submit']:hover {
	background: var(--imx-primary-dark);
}
/* The stored closing "office details" paragraph has inline white links and small type. */
.imx-form-card .wpcf7-form > p:last-of-type {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--imx-line);
	font-size: 15px !important;
	line-height: 1.9;
	color: var(--imx-slate);
	direction: rtl;
}
.imx-form-card .wpcf7-form > p:last-of-type br {
	display: block;
}
.imx-form-card .wpcf7-form > p:last-of-type a {
	color: var(--imx-primary) !important;
	font-weight: 600;
}
.imx-form-card .wpcf7-not-valid {
	border-color: #c0392b !important;
}
.imx-form-card .wpcf7-not-valid-tip {
	display: block;
	margin-top: 4px;
	font-size: 14px;
	color: #c0392b;
}
.imx-form-card .wpcf7-response-output {
	margin: 16px 0 0;
	padding: 12px 16px;
	border: 1px solid var(--imx-line);
	border-radius: 8px;
}
.imx-form-card .wpcf7-form.sent .wpcf7-response-output {
	border-color: var(--imx-green);
	color: var(--imx-navy);
}
.imx-form-card .wpcf7-form.invalid .wpcf7-response-output {
	border-color: #c0392b;
	color: #c0392b;
}

/* ---------------------------------------------------------------- footer */
.imx-footer {
	box-sizing: border-box;
	padding: 72px clamp(16px, 4vw, 32px) 40px;
	background: var(--imx-navy);
	color: #fff;
}
.imx-footer a {
	color: #fff;
	text-decoration: none;
}
.imx-footer a:hover,
.imx-footer a:focus-visible {
	text-decoration: underline;
}
.imx-footer__cols {
	gap: 40px 48px;
	margin-bottom: 40px;
}
/*
 * Below 900px the four desktop columns no longer fit (from 890px up nothing wraps; below it the e-mail address and the
 * longest menu label do), so one breakpoint swaps the columns for a two-column grid:
 *   600-899px  brand | contact on the first row, "ניווט" | "שירותים" on the second
 *   up to 599px  brand full width, "ניווט" | "שירותים", contact full width
 * Column order in the markup is brand, ניווט, שירותים, contact. From 900px the desktop layout is untouched.
 */
@media (max-width: 899px) {
	.imx-footer {
		padding-top: 48px;
	}
	.imx-footer .imx-footer__cols.wp-block-columns {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px 24px;
	}
	.imx-footer .imx-footer__cols.wp-block-columns > .wp-block-column {
		min-width: 0;
		margin: 0;
	}
	.imx-footer .imx-footer__cols.wp-block-columns > .wp-block-column:nth-child(1) {
		grid-area: 1 / 1;
	}
	.imx-footer .imx-footer__cols.wp-block-columns > .wp-block-column:nth-child(2) {
		grid-area: 2 / 1;
	}
	.imx-footer .imx-footer__cols.wp-block-columns > .wp-block-column:nth-child(3) {
		grid-area: 2 / 2;
	}
	.imx-footer .imx-footer__cols.wp-block-columns > .wp-block-column:nth-child(4) {
		grid-area: 1 / 2;
	}
	.imx-footer .wp-block-navigation .wp-block-navigation-item__content,
	.imx-footer__contact a {
		display: inline-flex;
		align-items: center;
		min-width: 44px;
		min-height: 44px;
		overflow-wrap: anywhere;
	}
	.imx-footer__contact {
		margin-bottom: 0;
	}
}
@media (max-width: 599px) {
	.imx-footer .imx-footer__cols.wp-block-columns {
		gap: 28px 16px;
	}
	.imx-footer .imx-footer__cols.wp-block-columns > .wp-block-column:nth-child(1) {
		grid-area: 1 / 1 / 2 / 3;
	}
	.imx-footer .imx-footer__cols.wp-block-columns > .wp-block-column:nth-child(4) {
		grid-area: 3 / 1 / 4 / 3;
	}
}
.imx-footer__logo {
	margin: 0;
}
.imx-footer__logo img {
	width: auto;
	height: 72px;
	/*
	 * White treatment of the logo. The footer image block uses the original transparent logo file (2014/01/logo4.png, the
	 * same artwork): the site logo option now points at a file with an opaque white background, which no filter can turn
	 * into a white-on-navy logo.
	 */
	filter: brightness(0) invert(1);
}
.imx-footer__company {
	margin: 16px 0;
	font-family: var(--imx-heading-font);
	font-weight: 600;
	color: #fff;
}
.imx-footer__title {
	margin: 0 0 16px;
	font-size: 18px;
	color: #fff;
}
.imx-footer .wp-block-navigation {
	font-size: 16px;
}
.imx-footer .wp-block-navigation .wp-block-navigation-item__content {
	padding: 4px 0;
	color: #fff;
}
.imx-footer__contact {
	margin: 0 0 8px;
}
.imx-footer__social {
	gap: 12px;
}
.imx-footer__social .wp-social-link {
	width: 44px;
	height: 44px;
	border: 1px solid #fff;
	border-radius: 50%;
	background: transparent;
}
.imx-footer__social .wp-social-link a {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	padding: 0;
	color: #fff;
}
.imx-footer__social .wp-social-link svg {
	width: 20px;
	height: 20px;
}
.imx-footer .imx-footer__rule.wp-block-separator {
	width: 100%;
	max-width: none;
	margin: 0 0 24px;
	border: 0;
	border-top: 1px solid #fff;
	opacity: 0.35;
}
.imx-footer__credit,
.imx-copyright {
	margin: 0 0 8px;
	font-size: 14px;
	text-align: center;
	color: #fff;
}
.imx-footer__credit {
	opacity: 0.85;
}
.imx-fab-whatsapp {
	position: fixed;
	z-index: 90;
	inset-inline-start: 24px;
	inset-block-end: 24px;
	margin: 0;
}
.imx-fab-whatsapp .wp-social-link {
	width: 75px;
	height: 75px;
	border-radius: 50%;
	background: var(--imx-green);
	box-shadow: var(--imx-shadow-elevated);
}
.imx-fab-whatsapp .wp-social-link a {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	padding: 0;
	color: var(--imx-navy);
}
.imx-fab-whatsapp .wp-social-link svg {
	width: 38px;
	height: 38px;
}
@media (max-width: 599px) {
	.imx-fab-whatsapp {
		inset-inline-start: 16px;
		inset-block-end: 16px;
	}
	.imx-fab-whatsapp .wp-social-link {
		width: 64px;
		height: 64px;
	}
}

/* ------------------------------------------------------------ inner pages */
.imx-page-head {
	box-sizing: border-box;
	padding: clamp(20px, 2.6vw, 32px) clamp(16px, 4vw, 32px) clamp(28px, 3.4vw, 44px);
	background: var(--imx-surface);
	border-bottom: 1px solid var(--imx-line);
}
.imx-page-head > * {
	margin-block: 0;
}
:root .imx-page-head > * + * {
	margin-block-start: 14px;
}
.imx-page-title {
	margin: 0;
	font-family: var(--imx-heading-font);
	font-size: clamp(30px, 3.8vw, 44px);
	font-weight: 700;
	line-height: 1.2;
	color: var(--imx-navy);
}
.imx-page-head .imx-page-intro,
.imx-page-head .wp-block-term-description {
	max-width: 70ch;
	font-size: var(--wp--preset--font-size--large);
	color: var(--imx-slate);
}
.imx-page-head .wp-block-term-description p {
	margin: 0;
}

/* Yoast breadcrumb block */
.yoast-breadcrumbs {
	font-size: 14px;
	line-height: 1.5;
	color: var(--imx-slate);
}
.yoast-breadcrumbs a {
	color: var(--imx-primary-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.yoast-breadcrumbs a:hover,
.yoast-breadcrumbs a:focus-visible {
	text-decoration-thickness: 2px;
}
.yoast-breadcrumbs .breadcrumb_last {
	font-weight: 600;
	color: var(--imx-navy);
}

.imx-post-head__cat {
	margin: 0;
}
.imx-post-head__cat a,
.imx-post-card__cat a {
	color: var(--imx-primary-dark);
	text-decoration: none;
}
.imx-post-head__cat a:hover,
.imx-post-card__cat a:hover {
	text-decoration: underline;
}

.imx-post-meta {
	gap: 4px 0;
	font-size: 15px;
	color: var(--imx-slate);
}
.imx-post-meta > * {
	margin: 0;
}
.imx-post-meta > * + *::before {
	content: '\00b7';
	margin-inline: 10px;
}

.imx-page-body {
	box-sizing: border-box;
	padding: clamp(32px, 5vw, 64px) clamp(16px, 4vw, 32px) clamp(48px, 6vw, 88px);
}
.imx-page-banner {
	margin-block: 0 40px;
}
/* A banner above a calculator pushes the tool out of view (body class from the imardix-site plugin). */
.imx-has-calculator .imx-page-banner {
	display: none;
}
.imx-page-banner img,
.imx-article-hero img {
	display: block;
	width: 100%;
	border-radius: 16px;
}

/* Long-form text: classic page and post content, and anything typed in the editor. */
.imx-prose {
	line-height: 1.85;
}
.imx-prose > * + * {
	margin-block-start: 1.1em;
}
.imx-prose h2 {
	margin-block: 1.8em 0.5em;
	font-size: clamp(24px, 2.6vw, 32px);
}
.imx-prose h3 {
	margin-block: 1.5em 0.4em;
	font-size: clamp(20px, 2vw, 24px);
}
.imx-prose h4 {
	margin-block: 1.4em 0.4em;
	font-size: 18px;
}
.imx-prose > :first-child {
	margin-block-start: 0;
}
.imx-prose p {
	margin-block: 0 1em;
}
.imx-prose ul,
.imx-prose ol {
	margin-block: 0 1em;
	padding-inline-start: 1.5em;
}
.imx-prose li + li {
	margin-top: 0.35em;
}
.imx-prose a {
	text-underline-offset: 3px;
}
.imx-prose img {
	max-width: 100%;
	height: auto;
	border-radius: 12px;
}
.imx-prose table {
	width: 100%;
	border-collapse: collapse;
}
.imx-prose th,
.imx-prose td {
	padding: 10px 12px;
	border: 1px solid var(--imx-line);
	text-align: start;
}
.imx-prose th {
	background: var(--imx-surface);
	color: var(--imx-navy);
}
.imx-prose blockquote {
	margin-inline: 0;
	padding: 4px 20px;
	border-inline-start: 4px solid var(--imx-primary);
	color: var(--imx-slate);
}
.imx-prose .wp-caption {
	max-width: 100%;
}
.imx-prose .wp-caption-text,
.imx-prose figcaption {
	font-size: 14px;
	color: var(--imx-slate);
}
.imx-prose iframe {
	max-width: 100%;
}

/* Contact page (page 1121) and testimonials page (page 1119): native blocks plus plugin shortcodes. */
.imx-contact__cols {
	gap: 40px 56px;
}
.imx-contact__cols > .wp-block-column > * + * {
	margin-block-start: 24px;
}
.imx-contact__img {
	margin: 0;
}
.imx-contact__img img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 16px;
}
.imx-contact__details:hover,
.imx-contact__hours:hover {
	transform: none;
	box-shadow: var(--imx-shadow-card);
}
.imx-contact__details-title {
	margin: 0 0 12px;
	font-size: 22px;
}
.imx-contact__details p,
.imx-contact__hours p {
	margin: 0 0 8px;
}
.imx-privacy-note {
	margin: 16px 0 0;
	font-size: 14px;
	color: var(--imx-slate);
}
.imx-testimonials-wrap {
	margin-top: 24px;
}

/* Closing call-to-action card inside long-form page content (page 1096 and similar). */
.imx-prose > .imx-note {
	margin-block: 40px 0;
}
.imx-note:hover {
	transform: none;
	box-shadow: var(--imx-shadow-card);
}
.imx-note p {
	margin: 0 0 12px;
	color: var(--wp--preset--color--ink);
}
.imx-note p:last-child {
	margin-bottom: 0;
}
.imx-prose > .wp-block-image {
	margin-block: 24px;
}
.imx-prose > .wp-block-image img {
	display: block;
	margin-inline: auto;
}

/* Single post */
.imx-article-cols {
	gap: 32px 56px;
}
.imx-article-main {
	min-width: 0;
}
.imx-article-hero {
	margin: 0 0 32px;
}
@media (max-width: 960px) {
	.imx-article-cols {
		flex-wrap: wrap !important;
	}
	.imx-article-cols > .wp-block-column {
		flex-basis: 100% !important;
	}
}
.imx-post-tags {
	margin-top: 32px;
	font-size: 15px;
	color: var(--imx-slate);
}
.imx-post-tags a {
	display: inline-block;
	margin: 0 0 6px;
	padding: 2px 12px;
	border: 1px solid var(--imx-line);
	border-radius: 999px;
	color: var(--imx-navy);
	text-decoration: none;
}
.imx-post-tags a:hover {
	border-color: var(--imx-primary);
	color: var(--imx-primary);
}
.imx-post-nav {
	gap: 16px 32px;
	margin-top: 40px;
	padding-top: 24px;
	border-top: 1px solid var(--imx-line);
}
.imx-post-nav > * {
	margin: 0;
	max-width: 48%;
	font-size: 15px;
	color: var(--imx-slate);
}
.imx-post-nav a {
	font-weight: 600;
	text-decoration: none;
}
.imx-comments {
	margin-top: 56px;
}
.imx-comment {
	padding: 16px 0;
	border-top: 1px solid var(--imx-line);
}

/* Post cards: archive, search, blog index */
.imx-post-grid {
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.imx-post-grid > li {
	margin: 0;
}
.imx-post-grid.is-layout-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 1024px) {
	.imx-post-grid.is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 640px) {
	.imx-post-grid.is-layout-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}
.imx-post-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0;
	overflow: hidden;
}
.imx-post-card__img {
	margin: 0;
}
.imx-post-card__img img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.imx-post-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 24px;
}
.imx-post-card__body > * {
	margin-block: 0;
}
:root .imx-post-card > *,
:root .imx-post-card__body > * {
	margin-block-start: 0;
}
.imx-post-card__cat {
	margin-bottom: 8px;
}
.imx-post-card__title {
	margin-bottom: 10px;
	font-size: 20px;
	line-height: 1.3;
}
.imx-post-card__title a {
	color: var(--imx-navy);
	text-decoration: none;
}
.imx-post-card__title a:hover,
.imx-post-card__title a:focus-visible {
	color: var(--imx-primary);
}
.imx-post-card__excerpt {
	margin-bottom: 16px;
	font-size: 16px;
	color: var(--imx-slate);
}
.imx-post-card .imx-post-meta {
	margin-top: auto;
	font-size: 14px;
}
.imx-post-loop .imx-empty {
	margin-bottom: 20px;
	font-size: var(--wp--preset--font-size--large);
	color: var(--imx-slate);
}

.imx-pagination {
	gap: 8px;
	margin-top: 48px;
}
.imx-pagination a,
.imx-pagination .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	min-height: 44px;
	box-sizing: border-box;
	padding: 0 14px;
	border: 1px solid var(--imx-line);
	border-radius: 999px;
	font-family: var(--imx-heading-font);
	font-weight: 600;
	color: var(--imx-navy);
	text-decoration: none;
}
.imx-pagination .page-numbers.current {
	border-color: var(--imx-primary);
	background: var(--imx-primary);
	color: #fff;
}
.imx-pagination a:hover,
.imx-pagination a:focus-visible {
	border-color: var(--imx-primary);
	color: var(--imx-primary);
}
.imx-pagination .page-numbers.dots {
	border-color: transparent;
}

/* Search form */
.imx-search .wp-block-search__inside-wrapper {
	max-width: 520px;
	gap: 8px;
	padding: 4px;
	border: 1px solid var(--imx-slate);
	border-radius: 999px;
	background: #fff;
}
.imx-search .wp-block-search__inside-wrapper:focus-within {
	border-color: var(--imx-primary);
	outline: 2px solid var(--imx-primary);
	outline-offset: 1px;
}
.imx-search .wp-block-search__input {
	min-height: 44px;
	padding: 8px 18px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	font: inherit;
	color: var(--wp--preset--color--ink);
}
.imx-search .wp-block-search__input:focus-visible {
	outline: 0;
}
.imx-search .wp-block-search__button {
	min-height: 44px;
	margin: 0;
	padding: 8px 26px;
	border: 0;
	border-radius: 999px;
	background: var(--imx-primary);
	font-family: var(--imx-heading-font);
	font-weight: 600;
	color: #fff;
	cursor: pointer;
}
.imx-search .wp-block-search__button:hover,
.imx-search .wp-block-search__button:focus-visible {
	background: var(--imx-primary-dark);
}

/* 404 */
.imx-404 {
	padding-block: clamp(56px, 8vw, 112px);
	text-align: center;
}
.imx-404 .imx-lead {
	margin-inline: auto;
}
.imx-404 .imx-search .wp-block-search__inside-wrapper {
	margin-inline: auto;
}
.imx-404__actions {
	justify-content: center;
	margin-top: 28px;
}

/* Closing CTA band (parts/cta-band.html) */
.imx-cta-band {
	padding-block: clamp(36px, 4.5vw, 64px);
}
.imx-cta-band__title {
	margin: 0 0 8px;
	font-size: clamp(24px, 3vw, 34px);
}
.imx-cta-band__text {
	margin: 0;
}
.imx-cta-band__actions {
	gap: 12px;
}
.imx-btn-light > .wp-block-button__link {
	background: #fff;
	color: var(--imx-navy);
}
.imx-btn-light > .wp-block-button__link:hover,
.imx-btn-light > .wp-block-button__link:focus-visible {
	background: var(--imx-surface);
	color: var(--imx-navy);
}
@media (max-width: 599px) {
	.imx-cta-band__actions .wp-block-button,
	.imx-cta-band__actions .wp-block-button__link {
		width: 100%;
	}
}

/* Header call to action ("בדיקת משכנתא"): the strongest button in the bar, linked to the contact page by the imardix-site plugin. */
.imx-btn-cta > .wp-block-button__link {
	padding-inline: 26px;
	font-size: 16px;
	font-weight: 700;
	white-space: nowrap;
	box-shadow: 0 4px 14px rgba(20, 118, 173, 0.35);
}
.imx-btn-cta > .wp-block-button__link:hover,
.imx-btn-cta > .wp-block-button__link:focus-visible {
	box-shadow: 0 6px 18px rgba(15, 90, 135, 0.45);
}
@media (max-width: 599px) {
	.imx-header__cta .imx-btn-cta > .wp-block-button__link {
		padding-inline: 11px;
		font-size: 15px;
	}
}

/* Article pages: compact title area, then the article (2/3) and the sidebar template part (1/3). */
.imx-page-head--compact {
	padding-block: clamp(14px, 2vw, 22px) clamp(18px, 2.4vw, 28px);
	background: #fff;
}
.imx-page-head--compact .imx-page-title {
	font-size: clamp(26px, 3.2vw, 38px);
}
.imx-sidebar > * + * {
	margin-block-start: 24px;
}
.imx-article-aside > .imx-sidebar {
	position: sticky;
	top: 104px;
}
.admin-bar .imx-article-aside > .imx-sidebar {
	top: 136px;
}
.imx-sidebar .imx-card:hover {
	transform: none;
	box-shadow: var(--imx-shadow-card);
}
.imx-sidebar__form,
.imx-sidebar__details {
	padding: 24px;
}
.imx-sidebar__title {
	margin: 0 0 16px;
	font-size: 22px;
}
.imx-sidebar__details p {
	margin: 0;
	line-height: 1.9;
	color: var(--wp--preset--color--ink);
}
@media (max-width: 960px) {
	.imx-article-aside > .imx-sidebar,
	.admin-bar .imx-article-aside > .imx-sidebar {
		position: static;
	}
}

/*
 * Forminator forms (plugin files untouched): the site's inputs and pill button, right to left. One look for the
 * sidebar form, the calculator side card and the contact forms (.imx-form-card).
 * Forminator prints per-form styles with an id selector (#forminator-module-N), which no class selector can
 * outrank, so these declarations carry !important.
 */
.imx-sidebar .forminator-ui.forminator-custom-form,
.imx-form-card .forminator-ui.forminator-custom-form {
	direction: rtl !important;
	text-align: right !important;
	font-family: inherit !important;
}
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-row,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-row {
	margin-bottom: 16px !important;
}
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-row:last-child,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-row:last-child {
	margin-bottom: 0 !important;
}
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-label,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-label {
	display: block !important;
	margin: 0 0 6px !important;
	font-family: var(--imx-heading-font) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	color: var(--imx-navy) !important;
	text-align: right !important;
}
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-input,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-input,
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-textarea,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-textarea {
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 48px !important;
	padding: 10px 14px !important;
	border: 1px solid var(--imx-slate) !important;
	border-radius: 8px !important;
	background: #fff !important;
	font: inherit !important;
	font-size: 16px !important;
	color: var(--wp--preset--color--ink) !important;
	direction: rtl !important;
	text-align: right !important;
}
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-textarea,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-textarea {
	min-height: 110px !important;
	resize: vertical !important;
}
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-input:focus,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-input:focus,
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-textarea:focus,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-textarea:focus {
	border-color: var(--imx-primary) !important;
	outline: 2px solid var(--imx-primary) !important;
	outline-offset: 1px !important;
}
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-button-submit,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-button-submit {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 52px !important;
	padding: 14px 28px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--imx-primary) !important;
	font-family: var(--imx-heading-font) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	color: #fff !important;
	cursor: pointer !important;
}
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-button-submit:hover,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-button-submit:hover,
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-button-submit:focus-visible,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-button-submit:focus-visible {
	background: var(--imx-primary-dark) !important;
}
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .select2-selection--single,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .select2-selection--single {
	box-sizing: border-box !important;
	min-height: 48px !important;
	border: 1px solid var(--imx-slate) !important;
	border-radius: 8px !important;
	background: #fff !important;
}
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .select2-selection--single .select2-selection__rendered,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .select2-selection--single .select2-selection__rendered {
	padding: 10px 14px !important;
	font-size: 16px !important;
	line-height: 26px !important;
	color: var(--wp--preset--color--ink) !important;
}
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-checkbox-box,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-checkbox-box {
	border: 1px solid var(--imx-slate) !important;
	border-radius: 4px !important;
}
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-error-message,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-error-message {
	margin-top: 4px !important;
	font-size: 14px !important;
	/* Darker than the validation red: Forminator tints the message background pink (4.5:1 needs #a93226). */
	color: #a93226 !important;
}
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-has_error .forminator-input,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-has_error .forminator-input,
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-has_error .forminator-textarea,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-has_error .forminator-textarea {
	border-color: #c0392b !important;
}
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-response-message,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-response-message {
	margin: 0 0 16px !important;
	padding: 12px 16px !important;
	border: 1px solid var(--imx-line) !important;
	border-radius: 8px !important;
	font-size: 15px !important;
}
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-response-message.forminator-error,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-response-message.forminator-error {
	border-color: #c0392b !important;
	color: #c0392b !important;
}
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-response-message.forminator-success,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-response-message.forminator-success {
	border-color: var(--imx-green) !important;
	color: var(--imx-navy) !important;
}
.imx-sidebar .forminator-ui.forminator-custom-form[data-design] .forminator-checkbox__label,
.imx-form-card .forminator-ui.forminator-custom-form[data-design] .forminator-checkbox__label {
	font-size: 14px !important;
	line-height: 1.5 !important;
	color: var(--wp--preset--color--ink) !important;
}

/* ----------------------------------------------------------------- motion */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
	.imx-card:hover {
		transform: none;
	}
}
