/**
 * Karlinsky footer. Scoped under .kf; the Elementor form inside keeps working.
 */
.kf {
	--kf-bg: #2A1C13;
	--kf-on: #FBF7F0;
	--kf-on-soft: rgba(251, 247, 240, .78);
	--kf-on-weak: rgba(251, 247, 240, .55);
	--kf-gold: #C9A84C;
	--kf-line: rgba(251, 247, 240, .15);
	--kf-sans: "RAG", "Heebo", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	--kf-serif: "DIDA", "Frank Ruhl Libre", "Noto Serif Hebrew", Georgia, serif;

	background: var(--kf-bg);
	color: var(--kf-on);
	font-family: var(--kf-sans);
	font-size: 15px;
	line-height: 1.6;
	direction: rtl;
	-webkit-font-smoothing: antialiased;
}
.kf *, .kf *::before, .kf *::after { box-sizing: border-box; }
.kf h3, .kf p, .kf ul { margin: 0; }
.kf ul { padding: 0; list-style: none; }
.kf img { max-width: 100%; height: auto; display: block; }
.kf a { color: var(--kf-on-soft); text-decoration: none; transition: color .18s ease; font-size: 15px; font-family: var(--kf-sans); font-weight: 400; line-height: 1.5; }
.kf a:hover { color: var(--kf-on); }
.kf :focus-visible { outline: 2px solid var(--kf-gold); outline-offset: 3px; }

.kf .kf-wrap { max-width: 1320px; margin-inline: auto; padding: 56px clamp(16px, 3vw, 32px) 24px; display: flex; flex-direction: column; gap: 40px; }
.kf .kf-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.4fr; gap: 40px; }
.kf .kf-col { display: flex; flex-direction: column; gap: 10px; }
.kf .kf-h { font-family: var(--kf-sans); font-size: 18px; font-weight: 600; color: var(--kf-gold); margin-bottom: 8px; line-height: 1.3; }
.kf .kf-p { font-size: 15px; color: var(--kf-on-soft); }

.kf .kf-logo { display: inline-block; align-self: flex-start; margin-bottom: 4px; }
.kf .kf-logo img { height: 48px; width: auto; opacity: .95; }
.kf .kf-company { font-family: var(--kf-sans); font-size: 18px; font-weight: 600; color: var(--kf-gold); margin-bottom: 2px; }
.kf .kf-contact { display: flex; flex-direction: column; gap: 8px; }
.kf .kf-contact a { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; }
.kf .kf-ic { width: 16px; height: 16px; flex: 0 0 auto; color: var(--kf-gold); }
.kf .kf-links { display: flex; flex-direction: column; gap: 8px; }
.kf .kf-links a { display: inline-block; min-height: 24px; }

/* The Elementor newsletter form, restyled to the footer */
.kf .kf-form { margin-top: 4px; }
.kf .kf-form .elementor-widget-form { width: 100%; }
.kf .kf-form .elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; }
.kf .kf-form .elementor-field-group { padding: 0 !important; margin: 0 !important; width: auto !important; flex: 1 1 180px; order: 1; }
.kf .kf-form .elementor-field-type-submit { flex: 0 0 auto; order: 2; }
.kf .kf-form .elementor-field-type-acceptance, .kf .kf-form .elementor-field-type-recaptcha, .kf .kf-form .elementor-field-type-honeypot { flex: 1 1 100%; order: 3; }
.kf .kf-form .elementor-button-icon { display: none !important; }
.kf .kf-form input[type="email"], .kf .kf-form input[type="text"] { width: 100%; min-height: 46px; padding: 0 14px; border: 1px solid rgba(251, 247, 240, .3) !important; border-radius: 999px !important; background: transparent !important; color: var(--kf-on) !important; font-family: inherit; font-size: 15px; }
.kf .kf-form input::placeholder { color: var(--kf-on-weak); }
.kf .kf-form input:focus { border-color: var(--kf-gold) !important; outline: none; }
.kf .kf-form .elementor-button, .kf .kf-form button[type="submit"] { display: inline-flex !important; align-items: center; justify-content: center; min-height: 46px; height: 46px; padding: 0 24px !important; border-radius: 999px !important; background: var(--kf-gold) !important; color: var(--kf-bg) !important; border: 0 !important; font-family: var(--kf-sans) !important; font-weight: 600 !important; font-size: 15px !important; line-height: 1 !important; width: auto !important; min-width: 110px; cursor: pointer; }
.kf .kf-form .elementor-button:hover { background: #d9b85a !important; }
.kf .kf-form .elementor-field-type-acceptance { font-size: 12px; color: var(--kf-on-weak); }
.kf .kf-form .elementor-field-type-acceptance label { color: var(--kf-on-weak); font-size: 12px; }
.kf .kf-form .elementor-field-type-acceptance a, .kf .kf-form .elementor-field-type-acceptance span { color: var(--kf-gold) !important; font-size: 12px !important; font-family: inherit !important; }
.kf .kf-form .elementor-field-type-acceptance input { accent-color: var(--kf-gold); }
.kf .kf-form .elementor-field-label { display: none; }
/* The template hides the widget on phones and the button text everywhere; both come back here. */
.kf .kf-form .elementor-widget-form, .kf .kf-form .elementor-hidden-phone, .kf .kf-form .elementor-hidden-mobile, .kf .kf-form .elementor-hidden-tablet { display: block !important; }
/* The old footer's mobile accordion collapses widgets with the class "content". */
.kf .kf-form .elementor-element.content { max-height: none !important; height: auto !important; overflow: visible !important; }
.kf .kf-form .elementor-button-text, .kf .kf-form .elementor-button .elementor-screen-only { position: static !important; width: auto !important; height: auto !important; margin: 0 !important; clip: auto !important; clip-path: none !important; overflow: visible !important; display: inline !important; }
/* Elementor's icon-only button: keep its label for screen readers, draw the visible label with CSS. */
.kf .kf-form .elementor-button-content-wrapper { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }
.kf .kf-form .elementor-button { position: relative; }
.kf .kf-form .elementor-button::after { content: "שליחה"; font-family: var(--kf-sans); font-weight: 600; font-size: 15px; color: var(--kf-bg); }
.kf .kf-form .elementor-button-icon svg { width: 16px; height: 16px; fill: currentColor; }
.kf .kf-form .elementor-message { color: var(--kf-on); font-size: 14px; margin-top: 8px; }
.kf .kf-form .elementor-message-success { color: var(--kf-gold); }

.kf .kf-bottom { border-top: 1px solid var(--kf-line); padding-top: 20px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 13px; color: var(--kf-on-weak); }
.kf .kf-credit { font-size: 11px; letter-spacing: .08em; color: var(--kf-on-weak); }

@media (max-width: 1000px) {
	.kf .kf-grid { grid-template-columns: 1fr 1fr; gap: 32px 24px; }
	.kf .kf-col--brand, .kf .kf-col--news { grid-column: span 2; }
}
@media (max-width: 600px) {
	.kf .kf-wrap { padding-top: 40px; gap: 28px; }
	.kf .kf-grid { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
	.kf .kf-logo img { height: 42px; }
	.kf .kf-bottom { flex-direction: column; align-items: flex-start; gap: 6px; }
}
