/* MANHUTAT universal image lightbox + contact modal */
.mh-clickable-image {
  cursor: zoom-in !important;
}
.mh-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  flex-direction: column;
  background: rgba(23, 19, 16, 0.985);
  color: #f6f1e8;
  padding: 16px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
}
.mh-lightbox.is-open,
.mh-contact-modal.is-open,
.mh-feedback-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.mh-lightbox.is-open { display: flex; }
.mh-lightbox__top,
.mh-lightbox__body,
.mh-lightbox__mobile-nav {
  width: 100%;
}
.mh-lightbox__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.mh-lightbox__meta {
  font-size: 10px;
  letter-spacing: .18em;
  opacity: .7;
}
.mh-lightbox__close,
.mh-lightbox__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border: 1px solid rgba(246,241,232,.3);
  color: #f6f1e8;
  background: transparent;
  cursor: pointer;
  transition: background .2s ease;
}
.mh-lightbox__close { width: 44px; height: 44px; font-size: 24px; }
.mh-lightbox__nav { width: 48px; height: 48px; font-size: 28px; }
.mh-lightbox__close:hover,
.mh-lightbox__nav:hover { background: rgba(246,241,232,.08); }
.mh-lightbox__body {
  min-height: 0;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 20px 0;
}
.mh-lightbox__figure {
  min-width: 0;
  height: 100%;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.mh-lightbox__image {
  display: block;
  max-width: min(92vw, 1400px);
  max-height: calc(100vh - 170px);
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 2px;
}
.mh-lightbox__caption {
  margin-top: 14px;
  text-align: center;
  max-width: min(90vw, 900px);
}
.mh-lightbox__title { font-family: "Noto Kufi Arabic", sans-serif; font-size: 14px; }
.mh-lightbox__sub { margin-top: 4px; font-size: 10px; letter-spacing: .14em; opacity: .6; }
.mh-lightbox__mobile-nav {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding-bottom: 4px;
}
.mh-lightbox__hint { font-size: 10px; letter-spacing: .12em; opacity: .6; }

.mh-contact-modal,
.mh-feedback-modal {
  position: fixed;
  inset: 0;
  z-index: 2147482000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(0,0,0,.66);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
  direction: rtl;
}
.mh-contact-modal__panel,
.mh-feedback-modal__panel {
  position: relative;
  width: min(100%, 900px);
  max-height: min(92vh, 900px);
  overflow-y: auto;
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  border: 1px solid hsl(var(--border));
  box-shadow: 0 28px 90px rgba(0,0,0,.45);
  border-radius: 4px;
  padding: 28px;
}
.mh-contact-modal__close,
.mh-feedback-modal__close {
  position: absolute;
  inset-inline-start: 16px;
  top: 16px;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid hsl(var(--border));
  background: transparent;
  color: hsl(var(--foreground));
  cursor: pointer;
  font-size: 22px;
}
.mh-contact-modal__header { padding-inline-end: 52px; margin-bottom: 22px; }
.mh-contact-modal__eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .24em; color: hsl(var(--muted-foreground)); }
.mh-contact-modal__title { margin-top: 10px; font-family: "Noto Kufi Arabic", sans-serif; font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 600; line-height: 1.8; }
.mh-contact-modal__description { margin-top: 8px; font-size: 13px; line-height: 2; color: hsl(var(--muted-foreground)); }
.mh-contact-form { display: grid; gap: 16px; }
.mh-contact-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mh-field { min-width: 0; }
.mh-field label { display: block; margin-bottom: 7px; font-family: "Noto Kufi Arabic", sans-serif; font-size: 11px; color: hsl(var(--muted-foreground)); }
.mh-field input,
.mh-field select,
.mh-field textarea {
  width: 100%;
  border: 1px solid hsl(var(--border));
  background: transparent;
  color: hsl(var(--foreground));
  border-radius: 0;
  padding: 12px 13px;
  outline: none;
  font-size: 13px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.mh-field textarea { min-height: 150px; resize: vertical; line-height: 1.9; }
.mh-field input:focus,
.mh-field select:focus,
.mh-field textarea:focus { border-color: hsl(var(--primary)); box-shadow: 0 0 0 2px hsl(var(--primary)/.12); }
.mh-field input[type=file] { padding: 9px; }
.mh-contact-form__note { font-size: 11px; line-height: 1.9; color: hsl(var(--muted-foreground)); }
.mh-contact-form__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 50px;
  border: 1px solid hsl(var(--primary));
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  font-family: "Noto Kufi Arabic", sans-serif;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  transition: opacity .2s ease, transform .15s ease;
}
.mh-contact-form__submit:hover { opacity: .92; }
.mh-contact-form__submit:active { transform: translateY(1px); }
.mh-contact-form__submit:disabled { opacity: .6; cursor: wait; }
.mh-feedback-modal__panel {
  width: min(100%, 560px);
  text-align: center;
  padding: 52px 28px 34px;
}
.mh-feedback-modal__icon {
  width: 76px;
  height: 76px;
  margin: 0 auto 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 44px;
  font-weight: 800;
}
.mh-feedback-modal.success .mh-feedback-modal__icon { color: #fff; background: #16a34a; }
.mh-feedback-modal.error .mh-feedback-modal__icon { color: #fff; background: #dc2626; }
.mh-feedback-modal__title { font-family: "Noto Kufi Arabic", sans-serif; font-size: clamp(1.35rem, 3vw, 2rem); font-weight: 800; line-height: 1.8; }
.mh-feedback-modal.success .mh-feedback-modal__title { color: #16a34a; }
.mh-feedback-modal.error .mh-feedback-modal__title { color: #dc2626; }
.mh-feedback-modal__message { margin-top: 10px; font-size: 14px; line-height: 2; color: hsl(var(--muted-foreground)); }
.mh-feedback-modal__button {
  margin: 24px auto 0;
  min-width: 150px;
  min-height: 48px;
  border: 0;
  background: #16a34a;
  color: #fff;
  font-family: "Noto Kufi Arabic", sans-serif;
  font-weight: 800;
  cursor: pointer;
}
.mh-feedback-modal.error .mh-feedback-modal__button { background: #dc2626; }
body.mh-modal-open { overflow: hidden !important; }

@media (max-width: 767px) {
  .mh-lightbox { padding: 10px; }
  .mh-lightbox__body { gap: 8px; padding: 12px 0; }
  .mh-lightbox__nav { display: none; }
  .mh-lightbox__mobile-nav { display: flex; }
  .mh-lightbox__image { max-width: 96vw; max-height: calc(100vh - 175px); }
  .mh-lightbox__caption { max-width: 92vw; }
  .mh-contact-modal { padding: 10px; }
  .mh-contact-modal__panel { max-height: 96vh; padding: 22px 16px 18px; }
  .mh-contact-form__grid { grid-template-columns: 1fr; gap: 12px; }
  .mh-field textarea { min-height: 125px; }
  .mh-feedback-modal { padding: 14px; }
  .mh-feedback-modal__panel { padding: 46px 18px 28px; }
}

/* Visible contact form at the bottom of the homepage */
.mh-inline-contact {
  direction: rtl;
}
.mh-inline-contact__grid {
  display: grid;
  gap: 32px;
  align-items: start;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
}
.mh-inline-contact__intro {
  padding-top: 4px;
}
.mh-inline-contact__panel {
  min-width: 0;
  border: 1px solid hsl(var(--border));
  background: hsl(var(--card));
  padding: 24px;
  box-shadow: 0 18px 55px rgba(0,0,0,.12);
}
.mh-inline-contact__panel .mh-contact-form__submit {
  max-width: 240px;
  margin-inline-start: 0;
}
@media (max-width: 900px) {
  .mh-inline-contact__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .mh-inline-contact__intro p:last-child {
    margin-top: 20px;
  }
}
@media (max-width: 767px) {
  .mh-inline-contact__wrap {
    padding-top: 64px;
    padding-bottom: 64px;
  }
  .mh-inline-contact__panel {
    padding: 16px;
  }
  .mh-inline-contact__panel .mh-contact-form__submit {
    max-width: none;
  }
}


/* Stable global additions: preserve the existing MANHUTAT visual language. */
.mh-enhancement-section{border-top:1px solid hsl(var(--border));background:hsl(var(--background));}
.mh-enhancement-inner{width:min(calc(100% - 40px),1320px);margin:0 auto;padding:96px 0;}
.mh-eyebrow{margin:0 0 14px;font-size:10px;font-weight:700;letter-spacing:.22em;color:hsl(var(--muted-foreground));}
.mh-enhancement-title{margin:0;font-family:"Noto Kufi Arabic",sans-serif;font-size:clamp(2rem,4.2vw,3.6rem);font-weight:600;line-height:1.75;letter-spacing:-.035em;}
.mh-enhancement-lead{max-width:680px;margin:20px 0 0;font-size:14px;line-height:2.1;color:hsl(var(--muted-foreground));}
.mh-about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:42px;align-items:start;}
.mh-about-card{border:1px solid hsl(var(--border));background:hsl(var(--card));padding:28px;line-height:2;color:hsl(var(--muted-foreground));}
.mh-about-card h3{margin:0 0 10px;color:hsl(var(--foreground));font-size:15px;font-weight:800;}
.mh-about-card p{margin:0;font-size:13px;}
.mh-capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:42px;border-top:1px solid hsl(var(--border));border-inline-start:1px solid hsl(var(--border));}
.mh-capability{padding:22px;border-inline-end:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));display:flex;flex-direction:column;gap:7px;min-height:112px;}
.mh-capability strong{font-size:14px;font-weight:800;color:hsl(var(--foreground));}
.mh-capability span{font-size:10px;letter-spacing:.12em;color:hsl(var(--muted-foreground));}
.mh-faq-list{margin-top:36px;border-top:1px solid hsl(var(--border));}
.mh-faq-item{border-bottom:1px solid hsl(var(--border));padding:0;}
.mh-faq-item summary{cursor:pointer;list-style:none;padding:20px 0;font-family:"Noto Kufi Arabic",sans-serif;font-size:13px;font-weight:800;}
.mh-faq-item summary::-webkit-details-marker{display:none;}
.mh-faq-item>div{padding:0 0 22px;color:hsl(var(--muted-foreground));font-size:13px;line-height:2;max-width:780px;}
.mh-contact-form .mh-field select{background:#fff !important;background-color:#fff !important;color:#000 !important;-webkit-text-fill-color:#000 !important;color-scheme:light;appearance:auto;}
.mh-contact-form .mh-field select option{background:#fff !important;color:#000 !important;}
.mh-field [data-region-manual]{background:#fff !important;color:#111 !important;}
.mh-field [data-region-manual]::placeholder{color:#666 !important;}
@media(max-width:900px){.mh-about-grid{grid-template-columns:1fr}.mh-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.mh-enhancement-inner{width:min(calc(100% - 28px),1320px);padding:68px 0}.mh-capability-grid{grid-template-columns:1fr}}

/* ===== Language switcher (AR / EN) ===== */
.mh-lang{display:inline-flex;align-items:center;gap:4px;direction:ltr;flex:0 0 auto;max-width:100%;}
.mh-lang button{font:inherit;font-size:11px;font-weight:700;line-height:1.2;padding:6px 8px;border:1px solid hsl(var(--border));border-radius:0;background:transparent;color:inherit;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;}
.mh-lang button[aria-pressed="true"]{border-color:hsl(var(--primary));color:hsl(var(--primary));}
.mh-lang--mobile{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:6px;width:100%;margin-top:14px;padding-top:16px;border-top:1px solid hsl(var(--border) / .7);}
.mh-lang--mobile button{padding:9px 12px;font-size:12px;min-height:38px;}

/* Keep the original template's mobile layout intact; only add overflow guards. */
@media(max-width:767px){
  html,body{max-width:100%;}
  #root{min-width:0;max-width:100%;overflow-x:clip;}
  header{max-width:100%;}
  header > div{min-width:0;max-width:100%;}
  header a[data-testid="link-home"]{min-width:0;}
  header a[data-testid="link-home"] > span:last-child{min-width:0;}
  .mh-contact-modal,
  .mh-feedback-modal{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));}
  .mh-contact-modal__panel,
  .mh-feedback-modal__panel{width:100%;max-width:100%;max-height:calc(100dvh - 20px);overflow-x:hidden;-webkit-overflow-scrolling:touch;}
  .mh-contact-form,.mh-contact-form__grid,.mh-field{min-width:0;max-width:100%;}
  .mh-field input,.mh-field select,.mh-field textarea{max-width:100%;box-sizing:border-box;font-size:16px;}
  .mh-lightbox{max-width:100vw;max-height:100dvh;}
  .mh-lightbox__image{max-width:94vw;max-height:calc(100dvh - 175px);}
  .mh-enhancement-inner{max-width:100%;}
}

/* English mobile: use the site's normal Latin font for readable wrapping. */
@media(max-width:767px){
  html[data-mh-lang="en"] .font-arabic{font-family:var(--default-font-family),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;}
}

html[data-mh-lang="en"] .mh-contact-modal,
html[data-mh-lang="en"] .mh-feedback-modal,
html[data-mh-lang="en"] .mh-inline-contact{direction:ltr;}
