/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* ==========================================================================
   המוקד לשירותים תפעוליים – design layer
   Colors and fonts are defined once in Elementor > Site Settings (global kit).
   This file only adds what the kit cannot express: card states, focus rings,
   small components and responsive refinements. Class prefix: mk-
   ========================================================================== */

:root {
	--mk-ink: #12343B;
	--mk-ink-2: #0B252A;
	--mk-teal: #1F6F6B;
	--mk-amber: #F0A92E;
	--mk-sand: #F6F3EC;
	--mk-mist: #E7EFEC;
	--mk-text: #1C2B2E;
	--mk-muted: #4E5E5C;
	--mk-line: #DCE2DD;
	--mk-radius: 18px;
	--mk-shadow: 0 1px 2px rgba(18, 52, 59, .06), 0 8px 24px rgba(18, 52, 59, .07);
	--mk-shadow-hover: 0 2px 4px rgba(18, 52, 59, .08), 0 16px 36px rgba(18, 52, 59, .12);
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}
body { overflow-x: clip; -webkit-font-smoothing: antialiased; }
[id] { scroll-margin-top: 96px; }

/* Hello theme: titles are rendered by the page content itself */
.page-header .entry-title { display: none; }

/* --- Focus: two-tone ring, visible on light and dark backgrounds ---------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
.elementor-button:focus-visible {
	outline: 3px solid var(--mk-ink);
	outline-offset: 3px;
	box-shadow: 0 0 0 3px var(--mk-amber);
	border-radius: 6px;
}
.mk-dark a:focus-visible,
.mk-dark button:focus-visible,
.mk-dark .elementor-button:focus-visible { outline-color: #fff; }

/* Skip link (Hello theme) */
.skip-link.screen-reader-text:focus {
	background: var(--mk-ink); color: #fff; padding: 12px 18px; border-radius: 10px;
	font-weight: 700; top: 8px; right: 8px; left: auto; z-index: 100000; text-decoration: none;
}

/* --- Text helpers ---------------------------------------------------------- */
.mk-eyebrow .elementor-heading-title {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: "Assistant", sans-serif; font-size: 15px; font-weight: 700;
	letter-spacing: .02em; color: var(--mk-teal);
}
.mk-eyebrow .elementor-heading-title::before {
	content: ""; width: 10px; height: 10px; border-radius: 50%;
	background: var(--mk-amber); box-shadow: 0 0 0 4px rgba(240, 169, 46, .22);
}
.mk-dark .mk-eyebrow .elementor-heading-title { color: #CFE3DF; }
.mk-lead { font-size: 1.15em; color: var(--mk-muted); }
.mk-dark .mk-lead, .mk-dark .elementor-widget-text-editor { color: #D5E6E2; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-text-editor a { text-decoration: underline; text-underline-offset: 3px; }

/* --- Buttons --------------------------------------------------------------- */
.elementor-button { transition: background-color .2s, color .2s, box-shadow .2s, transform .2s; }
.elementor-button:hover { transform: translateY(-1px); }
.mk-btn-ghost .elementor-button {
	background: transparent !important; color: var(--mk-ink) !important;
	box-shadow: inset 0 0 0 2px var(--mk-ink);
}
.mk-btn-ghost .elementor-button:hover { background: var(--mk-ink) !important; color: #fff !important; }
.mk-dark .mk-btn-ghost .elementor-button { color: #fff !important; box-shadow: inset 0 0 0 2px rgba(255,255,255,.7); }
.mk-dark .mk-btn-ghost .elementor-button:hover { background: #fff !important; color: var(--mk-ink) !important; }

/* --- Cards ----------------------------------------------------------------- */
.mk-card {
	background: #fff; border: 1px solid var(--mk-line); border-radius: var(--mk-radius);
	box-shadow: var(--mk-shadow); transition: box-shadow .25s, transform .25s, border-color .25s;
	position: relative;
}
.mk-card:hover, .mk-card:focus-within { box-shadow: var(--mk-shadow-hover); border-color: #C5D3CE; }
.mk-card:hover { transform: translateY(-3px); }
.mk-card .elementor-icon-box-icon .elementor-icon {
	width: 58px; height: 58px; display: inline-flex; align-items: center; justify-content: center;
	background: var(--mk-mist); border-radius: 16px; font-size: 26px; color: var(--mk-teal); fill: var(--mk-teal);
}
.mk-card .elementor-icon-box-icon .elementor-icon svg { width: 26px; height: 26px; }
.mk-card .elementor-icon-box-title { margin-bottom: 8px; }
.mk-card .elementor-icon-box-title a { color: inherit; text-decoration: none; }
/* whole card clickable through the title link */
.mk-card-link .elementor-icon-box-title a::after { content: ""; position: absolute; inset: 0; border-radius: var(--mk-radius); }
.mk-card-link .elementor-icon-box-title a:focus-visible { outline: none; box-shadow: none; }
.mk-card-link:focus-within { outline: 3px solid var(--mk-ink); outline-offset: 3px; }
.mk-more .elementor-heading-title { font-family: "Assistant", sans-serif; font-weight: 700; font-size: 16px; color: var(--mk-teal); }
.mk-more .elementor-heading-title::after { content: " ←"; }

/* --- Steps ----------------------------------------------------------------- */
.mk-step-num .elementor-heading-title {
	width: 46px; height: 46px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	background: var(--mk-ink); color: #fff; font-size: 20px; font-weight: 700; font-family: "Rubik", sans-serif;
}
.mk-step { position: relative; }

/* --- Check lists ----------------------------------------------------------- */
.mk-checklist .elementor-icon-list-item { align-items: flex-start !important; }
.mk-checklist .elementor-icon-list-icon { margin-top: .32em; }
.mk-checklist .elementor-icon-list-icon svg { fill: var(--mk-teal); }

/* --- Notice box ------------------------------------------------------------ */
.mk-note { border-right: 5px solid var(--mk-amber) !important; }

/* --- Contact details list (filled from "פרטי העסק") ----------------------- */
.mk-contact-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.mk-contact-list li { display: flex; flex-wrap: wrap; gap: 6px; }
.mk-contact-label { font-weight: 700; }
.mk-contact-label::after { content: ":"; }
.mk-contact-value a { color: inherit; }
.mk-dark .mk-contact-list a { color: #fff; }

/* --- Header ---------------------------------------------------------------- */
.mk-header { transition: box-shadow .25s; }
.mk-header.elementor-sticky--effects { box-shadow: 0 6px 24px rgba(18, 52, 59, .10); }
.mk-header .elementor-nav-menu--main .elementor-item { font-weight: 600; }
.mk-header .elementor-nav-menu--main .elementor-item.elementor-item-active::after,
.mk-header .elementor-nav-menu--main .elementor-item:hover::after { background-color: var(--mk-amber) !important; height: 3px !important; border-radius: 2px; }
.mk-header .elementor-nav-menu--dropdown { border-radius: 0 0 14px 14px; box-shadow: 0 16px 30px rgba(18, 52, 59, .14); overflow: hidden; }
.mk-header .elementor-nav-menu--main .sub-menu { border-radius: 12px; box-shadow: var(--mk-shadow-hover); padding: 6px 0; overflow: hidden; }
.mk-header .elementor-menu-toggle { border-radius: 10px; }
.mk-header .elementor-widget-theme-site-logo img { display: block; }

/* --- Footer ---------------------------------------------------------------- */
.mk-footer a { color: #fff; text-decoration: none; }
.mk-footer a:hover { color: var(--mk-amber); text-decoration: underline; }
.mk-footer .elementor-icon-list-text { color: #E3EEEB; }
.mk-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .14); }
.mk-footer-bottom .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:not(:last-child)::after { border-color: rgba(255,255,255,.3) !important; }

/* --- FAQ (nested accordion) ------------------------------------------------ */
.mk-faq .e-n-accordion-item {
	background: #fff; border: 1px solid var(--mk-line); border-radius: 14px; overflow: hidden;
}
.mk-faq .e-n-accordion-item + .e-n-accordion-item { margin-top: 12px; }
.mk-faq .e-n-accordion-item-title { padding: 20px 22px !important; border: 0 !important; }
.mk-faq .e-n-accordion-item[open] { border-color: #B9CBC5; box-shadow: var(--mk-shadow); }
.mk-faq .e-n-accordion-item-title-text { font-family: "Rubik", sans-serif; font-weight: 500; font-size: 18px; color: var(--mk-ink); }
.mk-faq .e-n-accordion-item-title-icon svg { fill: var(--mk-teal); }
.mk-faq .e-n-accordion-item > .e-con { padding: 0 22px 22px !important; border: 0 !important; }

/* --- Forms ----------------------------------------------------------------- */
.mk-form .elementor-field-group { margin-bottom: 18px; }
.mk-form .elementor-field-group > label { margin-bottom: 6px; font-weight: 700; }
.mk-form .elementor-field-textual,
.mk-form select { min-height: 50px; }
.mk-form .elementor-field-type-acceptance .elementor-field-option { display: flex; gap: 10px; align-items: flex-start; }
.mk-form .elementor-field-type-acceptance input { width: 20px; height: 20px; margin-top: 3px; flex: 0 0 auto; accent-color: var(--mk-ink); }
.mk-form .elementor-field-type-acceptance label { font-weight: 400 !important; }
.mk-form .elementor-message { font-weight: 700; padding: 14px 16px; border-radius: 10px; margin-top: 16px; }
.mk-form .elementor-message.elementor-message-success { background: #E3F1EC; color: #145C40; }
.mk-form .elementor-message.elementor-message-danger { background: #FBE9E7; color: #9B2C1F; }
.mk-form .elementor-message::before { display: none; }
.mk-form .elementor-field-group .elementor-message { padding: 6px 0 0; background: none; margin: 0; font-size: 15px; color: #9B2C1F; }
.mk-form .elementor-error .elementor-field { border-color: #B3261E !important; }
.mk-form .elementor-mark-required .elementor-field-label::after { color: #B3261E; }
.mk-form input[type="tel"], .mk-form input[type="email"] { direction: ltr; text-align: right; }
.mk-form input[type="tel"]::placeholder, .mk-form input[type="email"]::placeholder { direction: ltr; }

/* --- Breadcrumbs ----------------------------------------------------------- */
.mk-breadcrumbs, .mk-breadcrumbs a { font-size: 15px; color: var(--mk-muted); }
.mk-breadcrumbs a:hover { color: var(--mk-ink); }

/* --- Responsive ------------------------------------------------------------ */
@media (max-width: 767px) {
	[id] { scroll-margin-top: 80px; }
	.mk-card:hover { transform: none; }
	.mk-faq .e-n-accordion-item-title { padding: 16px 18px !important; }
	.mk-faq .e-n-accordion-item > .e-con { padding: 0 18px 18px !important; }
}

/* --- CTA card -------------------------------------------------------------- */
.mk-cta { position: relative; overflow: hidden; }
.mk-cta::after {
	content: ""; position: absolute; width: 280px; height: 280px; border-radius: 50%;
	border: 34px solid rgba(240, 169, 46, .12); left: -90px; bottom: -120px; pointer-events: none;
}
.mk-cta > * { position: relative; z-index: 1; }
@media (max-width: 767px) {
	.mk-cta::after { display: none; }
}
#content:focus { outline: none; box-shadow: none; }

/* --- Hero: the four services as visible links ------------------------------ */
.mk-hero-services .elementor-icon-list-items { gap: 10px; }
.mk-hero-services .elementor-icon-list-item {
	background: #fff; border: 1px solid var(--mk-line); border-radius: 999px;
	padding: 8px 16px !important; margin: 0 !important; font-weight: 700;
	transition: border-color .2s, box-shadow .2s;
}
.mk-hero-services .elementor-icon-list-item::after { display: none !important; }
.mk-hero-services .elementor-icon-list-item:hover { border-color: var(--mk-teal); box-shadow: var(--mk-shadow); }
.mk-hero-services .elementor-icon-list-item a { color: var(--mk-ink); }
.mk-hero-services .elementor-icon-list-icon svg { fill: var(--mk-teal); }

/* --- Card "button" (visual cue; the whole card is one link) -------------- */
.mk-more .elementor-heading-title {
	display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border-radius: 10px;
	background: var(--mk-mist); color: var(--mk-ink); font-size: 15px;
	transition: background-color .2s, color .2s;
}
.mk-more .elementor-heading-title::after { content: "←"; }
.mk-card-link:hover .mk-more .elementor-heading-title { background: var(--mk-ink); color: #fff; }

/* --- Numbered process list (service tracks) ------------------------------ */
.mk-steps-list { list-style: none; counter-reset: mkstep; margin: 0; padding: 0; display: grid; gap: 14px; }
.mk-steps-list li { counter-increment: mkstep; position: relative; padding-right: 44px; min-height: 30px; }
.mk-steps-list li::before {
	content: counter(mkstep); position: absolute; right: 0; top: 0;
	width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	background: var(--mk-ink); color: #fff; font-family: "Rubik", sans-serif; font-weight: 700; font-size: 15px;
}
.mk-small-note { font-size: 16px; color: var(--mk-muted); border-top: 1px solid var(--mk-line); padding-top: 12px; }

/* Balanced line breaks for headings (no orphaned last word) */
h1.elementor-heading-title, h2.elementor-heading-title, h3.elementor-heading-title { text-wrap: balance; }
.mk-hero-services .elementor-icon-list-items { margin: 0 !important; padding: 2px; }
/* CTA text: comfortable reading width for the paragraph */
.mk-cta-text .elementor-widget-text-editor { max-width: 62ch; }
