/* ===== خط Hacen Tunisia ===== */
/* ضعي ملفات الخط داخل مجلد assets بنفس الأسماء التالية ليُحمّل الخط تلقائيًا */
@font-face{
  font-family:'Hacen Tunisia';
  src:url('HacenTunisia.woff2') format('woff2'),
      url('HacenTunisia.woff') format('woff'),
      url('HacenTunisia.ttf') format('truetype');
  font-weight:normal;
  font-style:normal;
  font-display:swap;
}

/* ===== فرض الأرقام الإنجليزية (0-9) فقط ===== */
/* يُجبر خانات الأرقام على استخدام خط لاتيني للنظام مع الإبقاء على Hacen Tunisia لباقي النص */
@font-face{
  font-family:'LFFLatinDigits';
  src:local('Segoe UI'),local('Arial'),local('Helvetica Neue'),local('Roboto'),local('sans-serif');
  unicode-range:U+0030-0039;
}

/* ===== هوية ليان الشريف ===== */
.lff-overlay{
  --teal:#549488;
  --gold:#f5b427;
  --coral:#de7377;
  --navy:#32515e;
  --bg:#1d2f36;
  --card:#284049;
  --border:#3a5560;
  --text:#eef3f2;
  --muted:#9fb0b5;
}

/* ===== زرار الفتح ===== */
.lff-open-btn{
  display:inline-block;
  background:var(--gold,#f5b427);
  color:#23323a;
  border:none;
  border-radius:14px;
  padding:15px 30px;
  font-size:17px;
  font-family:'LFFLatinDigits','Hacen Tunisia','Tajawal','Segoe UI',sans-serif;
  cursor:pointer;
  transition:transform .15s, box-shadow .15s;
  box-shadow:0 6px 18px rgba(245,180,39,.28);
}
.lff-open-btn:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(245,180,39,.38); }

/* ===== الغطاء والبوب-أب ===== */
.lff-overlay{
  position:fixed; inset:0; z-index:99999;
  display:none; align-items:flex-start; justify-content:center;
  background:rgba(13,22,26,.78);
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  padding:24px 14px;
  overflow-y:auto;
  direction:rtl;
}
.lff-overlay.lff-open{ display:flex; }

.lff-modal{
  position:relative;
  width:100%; max-width:640px;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:20px;
  margin:auto;
  box-shadow:0 24px 70px rgba(0,0,0,.45);
  font-family:'LFFLatinDigits','Hacen Tunisia','Tajawal','Segoe UI',sans-serif;
  color:var(--text);
  line-height:1.85;
  animation:lffIn .25s ease;
}
@keyframes lffIn{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);} }

.lff-close{
  position:absolute; top:14px; left:14px;
  width:38px; height:38px;
  display:flex; align-items:center; justify-content:center;
  background:var(--card); color:var(--text);
  border:1px solid var(--border); border-radius:50%;
  font-size:24px; line-height:1; cursor:pointer;
  transition:background .15s, color .15s;
}
.lff-close:hover{ background:var(--coral); color:#fff; }

.lff-modal-body{ padding:46px 28px 30px; }

/* ===== العنوان ===== */
.lff-head{ text-align:center; margin-bottom:28px; }
.lff-title{ font-size:24px; margin:0 0 8px; color:var(--text); }
.lff-sub{ font-size:14px; color:var(--muted); margin:0; }

/* ===== الحقول النصية ===== */
.lff-field{ margin-bottom:24px; }
.lff-q{
  display:block; font-size:15px; margin-bottom:12px; color:var(--text);
}
.lff-form input[type="text"],
.lff-form input[type="email"],
.lff-form input[type="tel"]{
  width:100%; padding:13px 15px; border-radius:11px;
  border:1px solid var(--border); background:var(--card);
  color:var(--text); font-family:inherit; font-size:14px;
  transition:border-color .15s;
}
.lff-form input::placeholder{ color:var(--muted); }
.lff-form input:focus{ outline:none; border-color:var(--teal); }

/* بيانات التواصل: الاسم + الجوال جنب بعض، الإيميل عرض كامل */
.lff-contact{
  display:grid; grid-template-columns:1fr 1fr; gap:14px;
  margin-bottom:24px;
}
.lff-contact .lff-field{ margin-bottom:0; }
.lff-contact .lff-wide{ grid-column:1 / -1; }

/* ===== الخيارات: عمودين ===== */
.lff-options{
  display:grid; grid-template-columns:1fr 1fr; gap:10px;
}
.lff-option{
  display:flex; align-items:flex-start; gap:10px;
  background:var(--card); border:1px solid var(--border);
  border-radius:11px; padding:13px 15px;
  cursor:pointer; font-size:14px; color:var(--text);
  transition:border-color .15s, background .15s;
}
.lff-option:hover{ border-color:var(--teal); }
.lff-option input{ margin-top:4px; accent-color:var(--teal); flex-shrink:0; }
.lff-option:has(input:checked){ border-color:var(--teal); background:rgba(84,148,136,.12); }
.lff-option span{ flex:1; }
.lff-option.lff-wide{ grid-column:1 / -1; }

/* حقل التوضيح الصحي */
.lff-detail{ margin-top:10px; display:none; }
.lff-detail.lff-show{ display:block; }

/* رسالة الخطأ */
.lff-error{
  color:var(--coral); font-size:13px; margin-top:8px; display:none;
}
.lff-error.lff-show{ display:block; }

/* ===== زرار الإرسال ===== */
.lff-submit{
  width:100%; padding:16px; border:none; border-radius:13px;
  background:var(--teal); color:#16242a; font-family:inherit;
  font-size:16px; cursor:pointer; transition:opacity .15s; margin-top:6px;
}
.lff-submit:hover{ opacity:.9; }
.lff-loading{
  text-align:center; color:var(--muted); font-size:14px;
  margin-top:14px; display:none;
}
.lff-loading.lff-show{ display:block; }

/* ===== شاشة النتيجة ===== */
.lff-result{ display:none; text-align:center; padding:18px 6px; }
.lff-result.lff-show{ display:block; }
.lff-result-icon{
  width:74px; height:74px; margin:0 auto 18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:38px;
}
.lff-result.is-accepted .lff-result-icon{ background:rgba(84,148,136,.16); color:var(--teal); }
.lff-result.is-rejected .lff-result-icon{ background:rgba(222,115,121,.16); color:var(--coral); }
.lff-result-title{ font-size:22px; margin:0 0 10px; color:var(--text); }
.lff-result-text{ font-size:15px; color:var(--muted); margin:0 0 22px; }
.lff-result-cta{
  display:inline-block; text-decoration:none;
  padding:14px 30px; border-radius:13px;
  background:var(--gold); color:#23323a; font-size:16px;
}
.lff-result-cta:hover{ opacity:.9; }
.lff-result-cta.is-empty{ display:none; }

/* ===== شاشة الحجز / تضمين Cal.com ===== */
.lff-booking{ display:none; }
.lff-booking.lff-show{ display:block; }
.lff-booking-title{ font-size:22px; text-align:center; margin:6px 0 8px; color:var(--text); }
.lff-booking-sub{ font-size:14px; text-align:center; color:var(--muted); margin:0 0 22px; }

.lff-calcom-embed{
  width:100%; min-height:480px; border-radius:14px; overflow:hidden;
  background:var(--card); border:1px solid var(--border);
}

/* زر واتساب البديل بعد تأكيد الحجز على Cal.com (لو الفتح التلقائي حُجب) */
.lff-book-wa-fallback{ display:block; text-align:center; margin-top:18px; }
.lff-book-wa-fallback.is-empty{ display:none; }
.lff-book-wa-text{ font-size:14px; color:var(--muted); margin:0 0 10px; }
.lff-book-wa-btn{
  display:inline-block; text-decoration:none;
  padding:13px 28px; border-radius:13px;
  background:var(--gold); color:#23323a; font-size:15px;
}
.lff-book-wa-btn:hover{ opacity:.9; }

/* ===== موبايل: عمود واحد ===== */
@media (max-width:560px){
  .lff-options{ grid-template-columns:1fr; }
  .lff-contact{ grid-template-columns:1fr; }
  .lff-modal-body{ padding:46px 18px 26px; }
  .lff-title{ font-size:21px; }
  .lff-calcom-embed{ min-height:560px; }
}
