/* استيراد خطوط Hacen-Maghreb */
@font-face {
  font-family: 'Hacen-Maghreb';
  src: url('../fonts/Hacen-Maghreb.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Hacen-Maghreb';
  src: url('../fonts/Hacen-Maghreb-Bd.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
}

/* تطبيق الخط على العناصر العربية */
.rtl,
html[dir='rtl'],
body[dir='rtl'] {
  font-family: 'Hacen-Maghreb', Arial, sans-serif !important;
}

/* تطبيق الخط على جميع النصوص في الصفحة مع استثناء الأيقونات */
.rtl *,
html[dir='rtl'] *,
body[dir='rtl']
  *:not([class*='fa']):not([class*='icon']):not(i):not(.la-*):not(.lnr-*):not(.material-icons) {
  font-family: 'Hacen-Maghreb', Arial, sans-serif !important;
}

/* تطبيق الخط على عناصر SVG للغة العربية */
.rtl svg text,
html[dir='rtl'] svg text,
body[dir='rtl'] svg text {
  font-family: 'Hacen-Maghreb-Bd', Arial, sans-serif !important;
  font-weight: bold !important;
}

/* تطبيق الخط الغامق على العناوين */
.rtl h1,
.rtl h2,
.rtl h3,
.rtl h4,
.rtl h5,
.rtl h6,
html[dir='rtl'] h1,
html[dir='rtl'] h2,
html[dir='rtl'] h3,
html[dir='rtl'] h4,
html[dir='rtl'] h5,
html[dir='rtl'] h6,
body[dir='rtl'] h1,
body[dir='rtl'] h2,
body[dir='rtl'] h3,
body[dir='rtl'] h4,
body[dir='rtl'] h5,
body[dir='rtl'] h6 {
  font-family: 'Hacen-Maghreb', Arial, sans-serif !important;
  font-weight: bold !important;
}

/* تطبيق الخط على الفقرات والنصوص */
.rtl p,
.rtl span,
.rtl div,
.rtl a,
.rtl li,
.rtl td,
.rtl th,
.rtl label,
.rtl input,
.rtl textarea,
.rtl button,
.rtl select,
html[dir='rtl'] p,
html[dir='rtl'] span,
html[dir='rtl'] div,
html[dir='rtl'] a,
html[dir='rtl'] li,
html[dir='rtl'] td,
html[dir='rtl'] th,
html[dir='rtl'] label,
html[dir='rtl'] input,
html[dir='rtl'] textarea,
html[dir='rtl'] button,
html[dir='rtl'] select,
body[dir='rtl'] p,
body[dir='rtl'] span,
body[dir='rtl'] div,
body[dir='rtl'] a,
body[dir='rtl'] li,
body[dir='rtl'] td,
body[dir='rtl'] th,
body[dir='rtl'] label,
body[dir='rtl'] input,
body[dir='rtl'] textarea,
body[dir='rtl'] button,
body[dir='rtl'] select {
  font-family: 'Hacen-Maghreb', Arial, sans-serif !important;
}

/* استثناء الأيقونات من تطبيق الخط العربي */
.rtl [class*='fa'],
.rtl [class*='icon'],
.rtl i,
.rtl .la-*,
.rtl .lnr-*,
.rtl .material-icons,
.rtl .zmdi,
html[dir='rtl'] [class*='fa'],
html[dir='rtl'] [class*='icon'],
html[dir='rtl'] i,
html[dir='rtl'] .la-*,
html[dir='rtl'] .lnr-*,
html[dir='rtl'] .material-icons,
html[dir='rtl'] .zmdi,
body[dir='rtl'] [class*='fa'],
body[dir='rtl'] [class*='icon'],
body[dir='rtl'] i,
body[dir='rtl'] .la-*,
body[dir='rtl'] .lnr-*,
body[dir='rtl'] .material-icons,
body[dir='rtl'] .zmdi {
  font-family: inherit !important;
}

/* تعريف خاص لأيقونات النجوم */
.star-rating .zmdi {
  font-family: 'Material-Design-Iconic-Font' !important;
  display: inline-block !important;
}

/* تطبيق الخط الغامق على العناصر ذات الكلاس الخاص بالعناوين */
.rtl .title,
.rtl .heading,
.rtl .headline,
.rtl .section-title,
html[dir='rtl'] .title,
html[dir='rtl'] .heading,
html[dir='rtl'] .headline,
html[dir='rtl'] .section-title,
body[dir='rtl'] .title,
body[dir='rtl'] .heading,
body[dir='rtl'] .headline,
body[dir='rtl'] .section-title {
  font-family: 'Hacen-Maghreb', Arial, sans-serif !important;
  font-weight: bold !important;
}

.rtl ul.w3l-right-book {
  padding-right: 20px;
}
.rtl .fa-check {
  margin-left: 10px;
  margin-right: 0 !important;
}

.active-lang {
  background: #f8f9fa !important;
  border: 1px solid #ddd !important;
}

/* تعديل اتجاه القائمة في العربية */
.rtl .navbar-nav {
  direction: rtl;
  text-align: right;
  padding-right: 0;
}
.rtl .nav-link {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}
.rtl {
  direction: rtl;
  text-align: right;
}
.rtl .navbar-nav {
  margin-right: auto !important; /* تعديل القوائم */
}

.rtl .menu-navigation ul {
  justify-content: center;
  gap: 30px; /* زيادة التباعد بين عناصر القائمة */
  display: flex; /* التأكد من عرض العناصر في سطر واحد */
  flex-wrap: nowrap; /* منع التفاف العناصر إلى سطر جديد */
}

.rtl .menu-navigation ul li {
  margin-right: 0; /* إلغاء الهوامش السابقة والاعتماد على gap */
  white-space: nowrap; /* منع كسر النص */
}

/* تحسين عرض القائمة على شاشات الكمبيوتر فقط */
@media (min-width: 992px) {
  .rtl .menu-navigation ul {
    gap: 40px; /* تباعد أكبر على شاشات الكمبيوتر الكبيرة */
    flex-wrap: nowrap; /* التأكد من عدم التفاف العناصر */
  }

  .rtl .menu-navigation ul li {
    flex: 0 0 auto; /* منع تمدد العناصر */
  }
}
/* أضف أي تنسيقات إضافية */
/* تنسيق الأيقونات */
.header-icons {
  display: flex;
  align-items: center;
  gap: 20px; /* المسافة بين الأيقونات */
}
.navbar-brand {
  margin-left: 20px !important;
  margin-right: 0 !important;
}
.header-icons a {
  position: relative;
  font-size: 24px;
  color: white !important;
  text-decoration: none;
  transition: color 0.3s ease-in-out;
}

.header-icons a:hover {
  color: #ddd !important;
}

/* تنسيق أيقونة السلة */
.cart-icon {
  position: relative;
}

.cart-badge {
  position: absolute;
  top: -5px;
  right: -10px;
  background-color: darkred;
  color: white;
  font-size: 12px;
  font-weight: bold;
  width: auto; /* السماح بتغيير العرض بناءً على العدد */
  min-width: 18px; /* الحد الأدنى للعرض */
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  padding: 2px 5px; /* تحسين التباعد */
}

/* تنسيق أيقونة تسجيل الدخول */
.login-icon i {
  font-size: 24px;
}
.service-card {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.service-card h4 {
  margin-top: 0;
  color: #ff4c4c;
}
.service-card .form-group {
  margin-bottom: 15px;
}
.service-card .form-group label {
  display: block;
  margin-bottom: 5px;
  font-weight: 500;
}
.service-card .price {
  font-weight: bold;
  color: #28a745;
}

.booking-summary {
  margin-top: 30px;
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background-color: #f9f9f9;
}
.booking-summary h4 {
  margin-top: 0;
  margin-bottom: 20px;
}
.total-cost {
  font-size: 18px;
  font-weight: bold;
  color: #28a745;
  text-align: right;
  margin-top: 20px;
}
.submit-btn {
  margin-top: 30px;
}
.logo-img {
  height: 55px; /* ضبط ارتفاع اللوجو */
  width: auto; /* ضبط العرض تلقائيًا */
  margin-right: 10px; /* تباعد بين اللوجو والنص */
}
.navbar-brand {
  display: flex;
  align-items: center;
  margin-left: -10px; /* تحريك العنوان لليسار */
}
.checkout-section {
  padding: 30px;
  border: 1px solid #ddd;
  border-radius: 8px;
  margin-bottom: 30px;
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.checkout-section h4 {
  margin-top: 0;
  margin-bottom: 20px;
  color: #ff4c4c;
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
}
.service-item {
  padding: 15px;
  border-bottom: 1px solid #eee;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
}
.service-item:last-child {
  border-bottom: none;
}

.service-info {
  flex-grow: 1;
}
.service-name {
  font-weight: bold;
  color: #333;
  margin-bottom: 5px;
}
.service-details {
  color: #666;
  font-size: 14px;
  margin-top: 5px;
}
.service-price {
  font-weight: bold;
  color: #28a745;
  margin-left: 15px;
  white-space: nowrap;
}
/* إذا أردت الإبقاء على نفس الكلاس واستعماله مباشرةً */
.payment-method-section {
  background-color: #fff;
  padding: 30px;
  border: 1px solid #ddd;
  border-radius: 8px;
  margin-bottom: 30px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* توحيد ستايل العنوان */
.payment-method-section h4 {
  margin-top: 0;
  margin-bottom: 20px;
  color: #ff4c4c;
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
}

.payment-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.payment-option {
  display: flex;
  align-items: center;
  padding: 12px;
  background-color: #fff;
  cursor: pointer;
  transition: all 0.2s ease;
}
.total-row {
  font-size: 18px;
  font-weight: bold;
  margin-top: 20px;
  padding-top: 15px;
  border-top: 2px solid #eee;
}
.form-group {
  margin-bottom: 20px;
}
.form-group label {
  font-weight: 500;
  display: block;
  margin-bottom: 5px;
  color: #333;
}
.btn-checkout {
  background-color: #d291bc;
  margin-top: 20px;
  padding: 12px 25px;
  font-size: 16px;
  font-weight: 500;
}
.special-instructions {
  margin-top: 20px;
}
.cart-item {
  display: flex;
  align-items: center;
  padding: 15px;
  border-bottom: 1px solid #eee;
  margin-bottom: 15px;
}
.cart-item-image {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 6px;
  margin-right: 15px;
}
.cart-item-details {
  flex-grow: 1;
}
.cart-item-name {
  font-weight: bold;
  color: #333;
  margin-bottom: 5px;
}
.cart-item-price {
  color: #28a745;
  font-weight: bold;
}
.cart-item-actions {
  margin-left: 15px;
}
.cart-summary {
  margin-top: 30px;
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background-color: #f9f9f9;
}
.cart-total {
  font-size: 18px;
  font-weight: bold;
  margin-top: 15px;
  padding-top: 15px;
  border-top: 2px solid #eee;
}
.cart-buttons {
  margin-top: 20px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.empty-cart-message {
  padding: 30px;
  text-align: center;
  background-color: #f9f9f9;
  border-radius: 8px;
  margin-top: 20px;
}
.empty-cart-message p {
  margin-bottom: 20px;
  color: #666;
}
.cont-top {
  display: flex;
  align-items: flex-start; /* أو center حسب الرغبة */
  gap: 10px; /* بدل margin-left, يعطي مسافة بين العناصر */
  margin-bottom: 1rem;
}

.cont-top i {
  font-size: 22px;
  margin-top: 2px; /* إذا احتجت تعديل بسيط لارتفاع الأيقونة */
}

.cont-left {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
}
.cont-left i {
  font-size: 22px;
}
.cont-right {
  margin-left: 10px;
}
html[dir='rtl'] .cont-right {
  margin-left: 0;
  margin-right: 300px;
}
body.rtl {
  direction: rtl;
  text-align: right;
}

body.rtl .service-price {
  float: left; /* عكس الاتجاه */
}

/* إذا كان لديك أعمدة Bootstrap */
body.rtl .col-md-5,
body.rtl .col-md-7 {
  float: right;
}

/* ضبط input و label */
body.rtl .form-group label {
  float: right;
}

body.rtl .form-group input,
body.rtl .form-group textarea {
  text-align: right;
}

/* طريقة الدفع */
body.rtl .payment-options .payment-option {
  float: right;
}
.payment-option {
  position: relative;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-right: 100px;
}
/* عندما تكون الصفحة باللغة العربية */
.rtl .banner-text {
  /* جعل المحاذاة إلى اليسار */
  text-align: left !important;

  /* إن كان هناك خاصية margin أو float تعكس اتجاه العنصر افتراضياً، فنلغيها أو نضبطها */
  margin-left: 0 !important;
  margin-right: auto !important;

  /* إذا احتجت مساحة إضافية من اليسار، يمكنك زيادة الـ padding */
  padding-left: 30px; /* جرّب قيمة مناسبة */

  /* في حال كان هناك عرض محدد للعنصر وأردت تقليله */
  /* max-width: 50%; أو أي قيمة تناسب تصميمك */
}

/* يمكنك أيضاً توجيه العناصر الداخلية إن لزم الأمر */
.rtl .banner-text h3,
.rtl .banner-text h4,
.rtl .banner-text p {
  text-align: right !important;
}

/* Additional RTL fixes */
.rtl .btn {
  float: right;
}

.rtl .text-left {
  text-align: right !important;
}

.rtl .text-right {
  text-align: left !important;
}

.rtl .float-left {
  float: right !important;
}

.rtl .float-right {
  float: left !important;
}

.rtl .ml-auto {
  margin-right: auto !important;
  margin-left: 0 !important;
}

.rtl .mr-auto {
  margin-left: auto !important;
  margin-right: 0 !important;
}

.rtl .dropdown-menu {
  left: auto;
  right: 0;
}

.rtl .navbar-toggler {
  margin-left: auto;
  margin-right: 0;
}

/* Icons adjustments */
.rtl .fas,
.rtl .far,
.rtl .fab {
  margin-left: 0.5rem;
  margin-right: 0;
}

/* Fix for social media icons in RTL mode */
.rtl .social-link .fas,
.rtl .social-link .far,
.rtl .social-link .fab {
  margin-left: 0;
  margin-right: 0;
}
@media (max-width: 991px) {
  /* Adjust dots position in RTL mode */
  .rtl .dot {
    transform: translateX(-16px);
  }

  /* Adjust dots position in menu items for RTL */
  .rtl .menu-item h5 .dots {
    transform: translateY(-10px);
  }
}

/* Form elements */
.rtl .form-control {
  text-align: right;
}

.rtl .input-group .input-group-prepend {
  order: 1;
}

.rtl .input-group .input-group-append {
  order: 0;
}

/* Cards and containers */
.rtl .card {
  text-align: right;
}

.rtl .alert {
  text-align: right;
}

/* Tables */
.rtl table {
  text-align: right;
}

.rtl th,
.rtl td {
  text-align: right;
}

/* Pagination */
.rtl .pagination {
  justify-content: flex-end;
}

/* Breadcrumbs */
.rtl .breadcrumb {
  flex-direction: row-reverse;
}

.rtl .breadcrumb-item + .breadcrumb-item::before {
  content: '\\';
  float: right;
  padding-left: 0.5rem;
  padding-right: 0;
}
.d-grid.contact-view {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center; /* لتوسيط جميع الأعمدة عموديًا */
  column-gap: 2rem; /* مسافة بين العمودين */
}
/* تضييق العمود وتوسيطه أفقياً */
.map-content-9 {
  max-width: 600px; /* أضبط العرض المناسب لك (مثلاً 600px أو 60% ...) */
  margin: 0 auto 60px; /* المسافة السفلية 60px (لتباعد الفوتر), وأيضاً توسيط */
  /* يمكنك إضافة margin-top مثلاً: margin: 30px auto 60px auto; */
}

/* إذا أردت مسافة إضافية أسفل زر "حفظ التغييرات" نفسه */
.btn-contact {
  margin-bottom: 20px; /* مسافة سفلية تفصل بين الزر والفوتر */
}
.custom-btn {
  background-color: #d291bc; /* اللون الجديد */
  color: white; /* لون النص */
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.custom-btn:hover {
  background-color: #c07da8; /* لون أغمق عند تمرير الماوس */
}

/* RTL Navbar Width Fix */
body.rtl .navbar-desktop.horizontal-header {
  left: auto;
  right: 50%;
  transform: translateX(50%);
}

body.rtl .navbar-desktop.horizontal-header.scrolled {
  width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  transform: none !important;
}

/* RTL Mobile Header Icons Fix */
@media (max-width: 991px) {
  body.rtl #main-nav ul li a i {
    margin-left: 10px;
    margin-right: 15px;
  }
}

/* RTL Enhanced Cinematic Slider Support - Correct Arabic Positioning */
body.rtl .tp-caption.roma-text-cinematic {
  font-family: 'Hacen-Maghreb', 'Raleway-Black' !important;
  direction: rtl;
  text-align: right;
  /* Move Roma to the right side in Arabic */
  data-x: 'right' !important;
  data-hoffset: '-80' !important;
}

body.rtl .tp-caption.cafe-text-cinematic {
  font-family: 'Hacen-Maghreb-Bd', 'Raleway-Light' !important;
  direction: rtl;
  text-align: left;
  font-weight: bold !important;
  /* Move Cafe to the left side in Arabic */
  data-x: 'left' !important;
  data-hoffset: '80' !important;
}

body.rtl .tp-caption.slider-2-emotional-text,
body.rtl .tp-caption.slider-2-emotional-text-secondary {
  font-family: 'Hacen-Maghreb', 'DunbarLow-Regular' !important;
  direction: rtl;
  text-align: center;
  line-height: 1.6 !important;
}

body.rtl .tp-caption.slider-3-poetic-text,
body.rtl .tp-caption.slider-3-poetic-text-ethereal {
  font-family: 'Hacen-Maghreb', 'GreatVibes-Regular' !important;
  direction: rtl;
  text-align: center;
  line-height: 1.4 !important;
}

/* RTL Responsive Adjustments */
@media (max-width: 991px) {
  body.rtl .tp-caption.roma-text-cinematic {
    /* Roma stays on right in Arabic */
    data-x: 'right' !important;
    data-hoffset: '-20' !important;
  }

  body.rtl .tp-caption.cafe-text-cinematic {
    /* Cafe moves to left in Arabic */
    data-x: 'left' !important;
    data-hoffset: '20' !important;
  }
}

@media (max-width: 767px) {
  body.rtl .tp-caption.roma-text-cinematic,
  body.rtl .tp-caption.cafe-text-cinematic {
    text-align: center;
    data-x: 'center' !important;
    data-hoffset: '0' !important;
    font-size: 50px !important;
    padding: 0 20px !important;
    max-width: 85vw !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    line-height: 1.2 !important;
  }

  body.rtl .tp-caption.slider-2-emotional-text,
  body.rtl .tp-caption.slider-2-emotional-text-secondary {
    padding: 0 30px !important;
    font-size: 30px !important;
    line-height: 1.6 !important;
    max-width: 85vw !important;
  }

  body.rtl .tp-caption.slider-3-poetic-text {
    font-size: 35px !important;
    padding: 0 35px !important;
    max-width: 85vw !important;
    line-height: 1.3 !important;
  }

  body.rtl .tp-caption.slider-3-poetic-text-ethereal {
    font-size: 39px !important;
    padding: 0 35px !important;
    max-width: 85vw !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 575px) {
  body.rtl .tp-caption.roma-text-cinematic,
  body.rtl .tp-caption.cafe-text-cinematic {
    font-size: 42px !important;
    padding: 0 25px !important;
    max-width: 80vw !important;
    line-height: 1.3 !important;
  }

  body.rtl .tp-caption.slider-2-emotional-text,
  body.rtl .tp-caption.slider-2-emotional-text-secondary {
    font-size: 26px !important;
    line-height: 1.7 !important;
    padding: 0 35px !important;
    max-width: 80vw !important;
  }

  body.rtl .tp-caption.slider-3-poetic-text {
    font-size: 30px !important;
    padding: 0 40px !important;
    max-width: 80vw !important;
    line-height: 1.4 !important;
  }

  body.rtl .tp-caption.slider-3-poetic-text-ethereal {
    font-size: 34px !important;
    padding: 0 40px !important;
    max-width: 80vw !important;
    line-height: 1.3 !important;
  }
}

/* RTL Navigation Button Support */
body.rtl .cafe-nav-prev {
  left: auto;
  right: 30px;
}

body.rtl .cafe-nav-next {
  right: auto;
  left: 30px;
}

body.rtl .cafe-nav-prev .cafe-nav-inner {
  flex-direction: row-reverse;
}

body.rtl .cafe-nav-next .cafe-nav-inner {
  flex-direction: row-reverse;
}

/* RTL Navigation Text */
body.rtl .cafe-nav-text {
  font-family: 'Hacen-Maghreb', 'DunbarLow-Regular' !important;
  direction: rtl;
}

/* RTL Tooltip Support */
body.rtl .cafe-slider-dot::before {
  font-family: 'Hacen-Maghreb', 'DunbarLow-Regular' !important;
  direction: rtl;
}

/* RTL Mobile Navigation */
@media (max-width: 768px) {
  body.rtl .cafe-nav-prev {
    left: auto;
    right: 20px;
  }

  body.rtl .cafe-nav-next {
    right: auto;
    left: 20px;
  }
}

@media (max-width: 480px) {
  body.rtl .cafe-nav-prev {
    left: auto;
    right: 15px;
  }

  body.rtl .cafe-nav-next {
    right: auto;
    left: 15px;
  }
}