/* Added interactivity styles: lead-capture modal + gallery lightbox.
   Base rules for these components were stripped from the saved source
   (SingleFile only keeps CSS for elements that exist in the DOM at save
   time, and these were closed/hidden when the pages were captured). */

/* ---------- Lead form modal (.lf-*) ---------- */
.lf-overlay{display:none}
.lf-overlay.is-open{display:flex}
.lf-overlay.is-open{animation:lf-fade .25s ease}
.lf-overlay.is-closing{animation:lf-fade-out .2s ease forwards}

.lf-modal{position:relative;width:100%;max-width:460px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:22px;padding:34px 28px 28px;box-shadow:0 30px 70px rgba(12,14,34,.35);animation:lf-pop .32s cubic-bezier(.22,.61,.36,1)}
.lf-overlay.is-closing .lf-modal{animation:lf-pop-out .2s ease forwards}
@media (max-width:480px){
  .lf-modal{max-width:100%;border-radius:20px 20px 0 0;max-height:92vh;max-height:92svh;animation:lf-sheet-up .32s cubic-bezier(.22,.61,.36,1)}
  .lf-overlay.is-closing .lf-modal{animation:lf-sheet-down .22s ease forwards}
}

.lf-close{position:absolute;top:16px;left:16px;width:36px;height:36px;border-radius:50%;border:none;background:#f2f3f8;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}
.lf-badge{display:block;width:max-content;margin:0 auto 14px;background:rgba(229,75,65,.1);color:var(--coral);font-weight:700;font-size:13px;padding:6px 16px;border-radius:999px}
.lf-title{margin:0 0 8px;text-align:center;font-size:22px;font-weight:800;color:var(--navy);line-height:1.35}
.lf-sub{margin:0 0 22px;text-align:center;font-size:14px;color:var(--muted);line-height:1.7}

.lf-form{display:flex;flex-direction:column;gap:16px}
.lf-field{display:flex;flex-direction:column;gap:7px}
.lf-label{font-size:13.5px;font-weight:700;color:var(--ink)}
.lf-req{color:var(--err)}
.lf-input{width:100%;box-sizing:border-box;font-family:inherit;font-size:14.5px;color:var(--ink);background:#fbfbfd;border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
select.lf-input{appearance:none;-webkit-appearance:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="%235f647c" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>');background-repeat:no-repeat;background-position:left 14px center;padding-left:34px}
select.lf-input:invalid{color:#aab0c4}
.lf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lf-input-group{position:relative;display:flex;align-items:center}
.lf-input-group .lf-input{padding-left:44px}
.lf-unit{position:absolute;left:14px;font-size:13px;color:var(--muted);font-weight:600;pointer-events:none}

.lf-optional-tag{position:relative;text-align:center;font-size:12.5px;color:var(--muted);margin:2px 0}

.lf-submit{width:100%;border:none;border-radius:14px;background:var(--coral);color:#fff;font-family:inherit;font-weight:700;font-size:16px;padding:15px;cursor:pointer;transition:background .2s ease,transform .12s ease,box-shadow .25s ease}
.lf-privacy{margin:14px 0 0;text-align:center;font-size:12px;line-height:1.8;color:var(--muted)}
.lf-privacy a{color:var(--coral);font-weight:700;text-decoration:none}

/* ---------- Gallery lightbox (.mkzg-lb-*) ---------- */
.mkzg-lb{display:none}
.mkzg-lb.is-open{display:flex}
.mkzg-lb.is-open{animation:lf-fade .25s ease}
.mkzg-lb.is-closing{animation:lf-fade-out .2s ease forwards}

.mkzg-lb-stage{position:relative;display:flex;align-items:center;justify-content:center;max-width:92vw;max-height:90vh}
.mkzg-lb-img{max-width:92vw;max-height:82vh;border-radius:14px;object-fit:contain;display:block;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.mkzg-lb-close{position:absolute;top:-52px;left:0;width:42px;height:42px;border-radius:50%;border:none;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}
.mkzg-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:none;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;z-index:2}
.mkzg-lb-prev{right:-16px}
.mkzg-lb-next{left:-16px}
.mkzg-lb-counter{position:absolute;bottom:-38px;left:0;right:0;text-align:center;color:#fff;font-size:13.5px;font-weight:600;opacity:.85}
@media (max-width:640px){
  .mkzg-lb-prev{right:6px}
  .mkzg-lb-next{left:6px}
  .mkzg-lb-nav{width:40px;height:40px}
  .mkzg-lb-close{top:auto;bottom:-52px;left:50%;transform:translateX(-50%)}
}

/* Digits + "/" have no strong bidi direction, so under dir=rtl they render
   mirrored ("13 / 1" instead of "1 / 13") unless forced ltr. */
.mkzg-counter,.mkzg-lb-counter{direction:ltr;unicode-bidi:isolate}

/* ---------- Project card offer badges (.mkz-offer-*) ---------- */
.mkz-offer-badge{position:absolute;top:14px;right:14px;z-index:4;background:var(--coral);color:#fff;font-size:11.5px;font-weight:800;padding:6px 12px;border-radius:999px;box-shadow:0 6px 16px rgba(229,75,65,.4);white-space:nowrap}
.mkz-offer{margin:14px 16px 0;background:rgba(229,75,65,.08);border:1px solid rgba(229,75,65,.22);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:2px}
.mkz-offer-tag{font-size:11px;font-weight:800;color:var(--coral)}
.mkz-offer-text{margin:0;font-size:13px;color:var(--navy);font-weight:600;line-height:1.55}
.mkz-stat-was{display:block;font-size:11px;font-weight:600;color:#9aa0b4;text-decoration:line-through;margin-top:2px}

/* ---------- Scroll-triggered quick-capture popup (.qp-*) ----------
   A centered, backdrop-blocking popup (same treatment on mobile and
   desktop) so it's attention-grabbing enough to move the needle on
   sign-ups. It can still reappear a few times per visit (with a cooldown)
   if dismissed. */
.qp-overlay{--navy:#21275b;--coral:#E54B41;display:none;position:fixed;inset:0;z-index:9997;align-items:center;justify-content:center;background:rgba(12,14,34,.72);backdrop-filter:blur(6px);padding:20px;box-sizing:border-box}
.qp-overlay.is-visible{display:flex;animation:lf-fade .25s ease}
.qp-overlay.is-hiding{animation:lf-fade-out .2s ease forwards}
.qp-popup{position:relative;width:100%;max-width:360px;background:#fff;border-radius:18px;box-shadow:0 30px 70px rgba(12,14,34,.35);padding:22px 20px 18px;box-sizing:border-box;direction:rtl;font-family:"Cairo",Tahoma,"Segoe UI",sans-serif;animation:lf-pop .32s cubic-bezier(.22,.61,.36,1)}
.qp-overlay.is-hiding .qp-popup{animation:lf-pop-out .2s ease forwards}
.qp-close{position:absolute;top:12px;left:12px;width:30px;height:30px;border-radius:50%;border:none;background:#f2f3f8;color:#2a2e45;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}
.qp-close:hover{background:#e3e6ef}
.qp-title{margin:4px 30px 0 0;font-size:16.5px;font-weight:800;color:var(--navy);line-height:1.55;text-align:center}
.qp-offer{display:block;width:fit-content;margin:2px auto 10px;background:rgba(229,75,65,.1);color:var(--coral);font-weight:700;font-size:12.5px;padding:6px 14px;border-radius:999px;text-align:center}
.qp-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.qp-input{width:100%;box-sizing:border-box;font-family:inherit;font-size:14px;border:1.5px solid #e3e6ef;border-radius:10px;padding:12px 12px;color:#2a2e45;background:#fbfbfd}
.qp-input:focus{outline:none;border-color:var(--coral);background:#fff;box-shadow:0 0 0 3px rgba(229,75,65,.12)}
.qp-submit{margin-top:12px;width:100%;border:none;border-radius:10px;background:var(--coral);color:#fff;font-family:inherit;font-weight:700;font-size:15px;padding:13px;cursor:pointer;transition:background .2s ease}
.qp-submit:hover{background:#c93a31}
.qp-note{margin:11px 0 0;font-size:11px;color:#5f647c;line-height:1.6;text-align:center}
.qp-note a{color:var(--coral);font-weight:700;text-decoration:none}

/* ---------- Touch-friendly carousels ---------- */
.mkz-slides,.mkzg-stage{touch-action:pan-y}

/* ---------- Cookie / privacy notice (.ck-*) ---------- */
.ck-banner{--navy:#21275b;--coral:#E54B41;--coral-dk:#c93a31;font-family:"Cairo",Tahoma,"Segoe UI",sans-serif;direction:rtl;position:fixed;bottom:16px;right:16px;left:auto;z-index:9998;align-items:center;gap:12px;max-width:440px;width:calc(100% - 32px);background:#21275b;color:#fff;padding:12px 14px;border-radius:14px;box-shadow:0 12px 34px rgba(10,13,40,.4);border:1px solid rgba(255,255,255,.10);box-sizing:border-box}
.ck-link:hover{text-decoration:underline}
.ck-accept:hover{background:var(--coral-dk)}
.ck-accept:active{transform:scale(.96)}
.ck-close:hover{background:rgba(255,255,255,.22)}
@keyframes ck-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes ck-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(16px)}}
@media (max-width:520px){.ck-banner{right:12px;left:12px;width:auto;max-width:none;bottom:12px;gap:10px;padding:11px 12px}}
.ck-banner{display:none}
.ck-banner.is-visible{display:flex;animation:ck-in .35s cubic-bezier(.22,.61,.36,1)}
.ck-banner.is-hiding{animation:ck-out .25s ease forwards}
.ck-icon{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:17px}
.ck-text{flex:1 1 auto;margin:0;font-size:12.5px;line-height:1.7;color:rgba(255,255,255,.92)}
.ck-link{color:var(--coral);font-weight:700;text-decoration:none}
.ck-accept{flex:0 0 auto;border:none;border-radius:999px;background:var(--coral);color:#fff;font-family:inherit;font-weight:700;font-size:13px;padding:9px 18px;cursor:pointer;white-space:nowrap;transition:background .2s ease,transform .12s ease}
.ck-close{flex:0 0 auto;width:28px;height:28px;border-radius:50%;border:none;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}

.mkz-details-link{pointer-events:auto;display:inline-flex;align-items:center;gap:4px;margin-top:8px;width:fit-content;font-size:12.5px;font-weight:600;color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.55)}
.mkz-details-link:hover{color:var(--coral);text-decoration-color:var(--coral)}

/* ---------- Location & master plan (.mkzl-*) ---------- */
.mkzl-section{--navy:#21275b;--coral:#E54B41;--ink:#2a2e45;--muted:#6b7085;--line:#eceef4;--card:#fff;--bg:#f4f5f9;font-family:"Cairo",Tahoma,"Segoe UI",sans-serif;direction:rtl;text-align:right;max-width:1100px;margin:0 auto;padding:10px 4px 40px;box-sizing:border-box}
.mkzl-section *{box-sizing:border-box}
.mkzl-head{text-align:center;margin-bottom:26px}
.mkzl-eyebrow{display:inline-block;color:var(--coral);font-weight:700;font-size:14px;letter-spacing:.5px;background:rgba(229,75,65,.09);padding:6px 16px;border-radius:999px;margin-bottom:14px}
.mkzl-title{color:var(--navy);font-size:clamp(24px,3.6vw,34px);font-weight:800;margin:0 0 8px;line-height:1.2}
.mkzl-sub{color:var(--muted);font-size:clamp(14px,2vw,16px);margin:0}
.mkzl-body{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 4px 18px rgba(33,39,91,.06)}
@media (max-width:760px){.mkzl-body{grid-template-columns:1fr}}
.mkzl-map{border-radius:16px;overflow:hidden;line-height:0;background:var(--bg)}
.mkzl-map img{width:100%;height:auto;display:block}
.mkzl-desc{margin:0 0 18px;color:var(--ink);font-size:14.5px;line-height:1.8}
.mkzl-chips-lbl{display:block;font-size:13px;font-weight:700;color:var(--muted);margin-bottom:10px;letter-spacing:.3px}
.mkzl-chips{display:flex;flex-wrap:wrap;gap:9px}
.mkzl-chip{font-size:13px;font-weight:600;color:var(--navy);background:var(--bg);border:1.5px solid var(--line);padding:8px 15px;border-radius:999px;transition:all .2s ease}
.mkzl-chip:hover{border-color:var(--coral);color:var(--coral)}

/* ---------- Other projects teaser (.mkzo-*) ---------- */
.mkzo-section{--navy:#21275b;--coral:#E54B41;--muted:#6b7085;--line:#eceef4;font-family:"Cairo",Tahoma,"Segoe UI",sans-serif;direction:rtl;text-align:right;max-width:1100px;margin:0 auto;padding:10px 4px 46px;box-sizing:border-box}
.mkzo-section *{box-sizing:border-box}
.mkzo-head{text-align:center;margin-bottom:24px}
.mkzo-eyebrow{display:inline-block;color:var(--coral);font-weight:700;font-size:14px;letter-spacing:.5px;background:rgba(229,75,65,.09);padding:6px 16px;border-radius:999px;margin-bottom:14px}
.mkzo-title{color:var(--navy);font-size:clamp(22px,3.2vw,30px);font-weight:800;margin:0;line-height:1.2}
.mkzo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
@media (max-width:640px){
.mkzo-grid{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:4px 4px 14px;margin:0 -4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.mkzo-grid::-webkit-scrollbar{display:none}
.mkzo-card{flex:0 0 82%;scroll-snap-align:center}
}
.mkzo-card{position:relative;display:block;border-radius:20px;overflow:hidden;height:240px;text-decoration:none;box-shadow:0 4px 18px rgba(33,39,91,.08);transition:transform .25s ease}
.mkzo-card:hover{transform:translateY(-4px)}
.mkzo-card img{width:100%;height:100%;object-fit:cover;display:block}
.mkzo-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;background:linear-gradient(to top,rgba(33,39,91,.88) 0%,rgba(33,39,91,.35) 55%,rgba(33,39,91,0) 100%)}
.mkzo-loc{display:inline-block;width:fit-content;font-size:12px;font-weight:600;color:#fff;background:rgba(255,255,255,.16);padding:4px 12px;border-radius:999px;margin-bottom:8px}
.mkzo-name{margin:0 0 6px;font-size:22px;font-weight:800;color:#fff}
.mkzo-cta{font-size:13px;font-weight:700;color:#fff;display:inline-flex;align-items:center;gap:4px;transition:color .2s ease}
.mkzo-card:hover .mkzo-cta{color:var(--coral)}

/* ---------- Pricing / product table (.mkzt-*) ---------- */
.mkzt-section{--navy:#21275b;--coral:#E54B41;--ink:#2a2e45;--muted:#6b7085;--line:#eceef4;--card:#fff;--bg:#f4f5f9;font-family:"Cairo",Tahoma,"Segoe UI",sans-serif;direction:rtl;text-align:right;max-width:1100px;margin:0 auto;padding:10px 4px 40px;box-sizing:border-box}
.mkzt-section *{box-sizing:border-box}
.mkzt-head{text-align:center;margin-bottom:22px}
.mkzt-eyebrow{display:inline-block;color:var(--coral);font-weight:700;font-size:14px;letter-spacing:.5px;background:rgba(229,75,65,.09);padding:6px 16px;border-radius:999px;margin-bottom:14px}
.mkzt-title{color:var(--navy);font-size:clamp(22px,3.4vw,32px);font-weight:800;margin:0 0 8px;line-height:1.25}
.mkzt-sub{color:var(--muted);font-size:clamp(13.5px,2vw,15.5px);margin:0}
.mkzu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.mkzu-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:right;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.mkzu-card:hover{border-color:var(--coral);transform:translateY(-3px);box-shadow:0 10px 24px rgba(33,39,91,.08)}
.mkzu-name{font-weight:800;color:var(--navy);font-size:19px}
.mkzu-desc{margin:0;font-size:13px;color:var(--muted);line-height:1.7}
.mkzu-price-lbl{font-size:11.5px;color:var(--muted);font-weight:600}
.mkzu-price-num{display:block;font-size:19px;font-weight:800;color:var(--coral);margin-top:2px}
.mkzu-cta{margin-top:4px;border:1.5px solid var(--coral);background:transparent;color:var(--coral);font-family:inherit;font-weight:700;font-size:13px;padding:9px 18px;border-radius:999px;cursor:pointer;transition:all .2s ease}
.mkzu-cta:hover{background:var(--coral);color:#fff}
.mkzt-note{margin-top:22px;font-size:12.5px;color:var(--muted);text-align:center}
.mkzt-terms{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:26px}
.mkzt-term-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px}
.mkzt-term-tag{display:inline-block;font-size:12px;font-weight:700;color:var(--coral);background:rgba(229,75,65,.09);padding:4px 12px;border-radius:999px;margin-bottom:10px}
.mkzt-term-text{margin:0;font-size:13.5px;color:var(--ink);line-height:1.8}
.mkzt-term-num{font-weight:800;color:var(--navy)}
