/* استيراد خطوط 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: #805b62;
  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: #805b62; /* اللون الجديد */
  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;
}

body.rtl .tp-caption.cafe-text-cinematic {
  font-family: 'Hacen-Maghreb-Bd', 'Raleway-Light' !important;
  direction: rtl;
  text-align: left;
  font-weight: bold !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 {
    text-align: right;
  }

  body.rtl .tp-caption.cafe-text-cinematic {
    text-align: left;
  }
}

@media (max-width: 767px) {
  body.rtl .tp-caption.roma-text-cinematic,
  body.rtl .tp-caption.cafe-text-cinematic {
    text-align: center;
    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;
    max-width: 85vw !important;
    line-height: 1.3 !important;
  }

  body.rtl .tp-caption.slider-3-poetic-text-ethereal {
    font-size: 39px !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;
    max-width: 80vw !important;
    line-height: 1.4 !important;
  }

  body.rtl .tp-caption.slider-3-poetic-text-ethereal {
    font-size: 34px !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;
  }
}

/* vsdvdfskhfhsekfklefnklcnenfckesndfkcnsefnnekdsv*/
/* Hide only first slide elements until slider is ready */
#rev_slider_2:not(.slider-ready) .tp-caption {
  opacity: 0;
  visibility: hidden;
}

/* Show elements when slider is ready */
#rev_slider_2.slider-ready .tp-caption {
  opacity: 1;
  visibility: visible;
}

/* Mobile Font Size Enhancement */
@media (max-width: 768px) {
  .item-info h5 {
    font-size: 18px !important;
  }

  .item-info h5 a {
    font-size: 18px !important;
    font-weight: 600 !important;
  }
}

@media (max-width: 480px) {
  .item-info h5 {
    font-size: 20px !important;
  }

  .item-info h5 a {
    font-size: 20px !important;
    font-weight: 700 !important;
  }
}

/* Cinematic Slider Enhancements */

/* Slider 1: Roma Cafe Split Typography */
.roma-text-cinematic,
.cafe-text-cinematic {
  position: relative;
  z-index: 10;
  letter-spacing: 0.15em !important;
}

.roma-text-cinematic::before,
.cafe-text-cinematic::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120%;
  height: 120%;
  background: radial-gradient(ellipse, rgba(128, 91, 98, 0.1) 0%, transparent 70%);
  z-index: -1;
  border-radius: 50%;
  opacity: 0;
  animation: subtlePulse 4s ease-in-out infinite;
}

.cafe-text-cinematic::before {
  background: radial-gradient(ellipse, rgba(255, 255, 255, 0.08) 0%, transparent 70%);
}

@keyframes subtlePulse {
  0%,
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1);
  }

  50% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.1);
  }
}

.coffee-image-cinematic {
  transition: transform 0.3s ease, filter 0.3s ease;
}

.coffee-image-cinematic:hover {
  transform: scale(1.02) rotate(1deg);
  filter: drop-shadow(0 15px 35px rgba(0, 0, 0, 0.5)) drop-shadow(0 0 80px rgba(128, 91, 98, 0.3)) !important;
}

/* Slider 2: Emotional Storytelling */
.slider-2-emotional-text,
.slider-2-emotional-text-secondary {
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  font-variant-ligatures: common-ligatures;
  position: relative;
}

.slider-2-emotional-text::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(128, 91, 98, 0.6) 50%, transparent 100%);
  opacity: 0;
  animation: fadeInLine 0.8s ease-out 2.5s forwards;
}

@keyframes fadeInLine {
  to {
    opacity: 1;
  }
}

/* Slider 3: Poetic Quote */
.slider-3-poetic-text,
.slider-3-poetic-text-ethereal {
  text-rendering: optimizeLegibility;
  font-variant-ligatures: discretionary-ligatures;
  position: relative;
}

@keyframes floatingParticles {
  0% {
    background-position: 0% 0%, 100% 100%, 50% 80%, 80% 20%;
  }

  25% {
    background-position: 10% 10%, 90% 90%, 60% 90%, 70% 10%;
  }

  50% {
    background-position: 20% 5%, 80% 95%, 40% 70%, 90% 30%;
  }

  75% {
    background-position: 15% 15%, 85% 85%, 65% 85%, 75% 15%;
  }

  100% {
    background-position: 0% 0%, 100% 100%, 50% 80%, 80% 20%;
  }
}

/* Responsive Design */
@media (max-width: 1200px) {
  .roma-text-cinematic,
  .cafe-text-cinematic {
    letter-spacing: 0.12em !important;
  }
}

@media (max-width: 768px) {
  .slider-2-emotional-text,
  .slider-2-emotional-text-secondary {
    padding: 0 20px;
    text-align: center !important;
  }

  .slider-3-poetic-text,
  .slider-3-poetic-text-ethereal {
    padding: 0 15px;
  }
}

@media (max-width: 480px) {
  .roma-text-cinematic,
  .cafe-text-cinematic {
    letter-spacing: 0.08em !important;
  }

  .slider-2-emotional-text::after {
    width: 25px;
  }
}

/* RTL/LTR Direction Support */
.rtl .roma-text-cinematic {
  font-family: 'Hacen-Maghreb', 'Raleway-Black' !important;
}

.rtl .cafe-text-cinematic {
  font-family: 'Hacen-Maghreb-LT', 'Raleway-Light' !important;
}

.rtl .slider-2-emotional-text,
.rtl .slider-2-emotional-text-secondary {
  font-family: 'Hacen-Maghreb', 'DunbarLow-Regular' !important;
  text-align: center;
}

.rtl .slider-3-poetic-text,
.rtl .slider-3-poetic-text-ethereal {
  font-family: 'Hacen-Maghreb', 'GreatVibes-Regular' !important;
}

/* Enhanced Visual Effects */
.tp-caption.shimmer-overlay {
  pointer-events: none !important;
  z-index: 20;
}

.tp-caption.slider-2-decorative-element,
.tp-caption.slider-3-floating-particles,
.tp-caption.slider-3-depth-overlay {
  pointer-events: none !important;
}

/* Accessibility and Performance */
@media (prefers-reduced-motion: reduce) {
  .coffee-image-cinematic,
  .roma-text-cinematic::before,
  .cafe-text-cinematic::before {
    animation: none !important;
    transition: none !important;
  }

  .slider-3-floating-particles {
    animation: none !important;
  }
}

/* High DPI Display Optimization */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .roma-text-cinematic,
  .cafe-text-cinematic,
  .slider-2-emotional-text,
  .slider-2-emotional-text-secondary,
  .slider-3-poetic-text,
  .slider-3-poetic-text-ethereal {
    text-shadow: none !important;
    filter: contrast(1.1) brightness(1.02);
  }
}

/* Elegant Café Navigation Styling */
.cafe-slider-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1000;
  background: linear-gradient(
    135deg,
    rgba(128, 91, 98, 0.95) 0%,
    rgba(166, 124, 82, 0.9) 50%,
    rgba(128, 91, 98, 0.95) 100%
  );
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 50px;
  padding: 18px 24px;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  backdrop-filter: blur(15px);
  box-shadow: 0 8px 25px rgba(128, 91, 98, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 0 30px rgba(166, 124, 82, 0.2);
}

.cafe-nav-prev {
  left: 30px;
}

.cafe-nav-next {
  right: 30px;
}

.cafe-nav-inner {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.9);
  font-family: 'DunbarLow-Regular', sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1px;
}

.cafe-nav-text {
  transition: all 0.3s ease;
}

.cafe-slider-nav:hover {
  background: linear-gradient(
    135deg,
    rgba(128, 91, 98, 1) 0%,
    rgba(196, 149, 109, 0.95) 50%,
    rgba(128, 91, 98, 1) 100%
  );
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 12px 35px rgba(128, 91, 98, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3),
    0 0 40px rgba(166, 124, 82, 0.3);
}

.cafe-slider-nav:hover .cafe-nav-inner {
  color: #ffffff;
}

.cafe-slider-nav:active {
  transform: translateY(-50%) scale(0.95);
}

/* Elegant Café Dots */
.cafe-slider-dots {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 20px;
  z-index: 1000;
}

.cafe-slider-dot {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(128, 91, 98, 0.8) 0%, rgba(166, 124, 82, 0.7) 100%);
  border: 3px solid rgba(255, 255, 255, 0.2);
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  position: relative;
  backdrop-filter: blur(10px);
  box-shadow: 0 6px 20px rgba(128, 91, 98, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.cafe-dot-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: rgba(255, 255, 255, 0.8);
  transition: all 0.3s ease;
}

.cafe-slider-dot:hover {
  background: linear-gradient(135deg, rgba(128, 91, 98, 0.95) 0%, rgba(196, 149, 109, 0.9) 100%);
  transform: scale(1.15);
  box-shadow: 0 10px 30px rgba(128, 91, 98, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3),
    0 0 25px rgba(166, 124, 82, 0.4);
}

.cafe-slider-dot:hover .cafe-dot-inner {
  color: #ffffff;
  transform: translate(-50%, -50%) scale(1.1);
}

.cafe-slider-dot.active {
  background: linear-gradient(
    135deg,
    rgba(128, 91, 98, 1) 0%,
    rgba(196, 149, 109, 0.95) 50%,
    rgba(128, 91, 98, 1) 100%
  );
  border-color: rgba(255, 255, 255, 0.4);
  transform: scale(1.2);
  box-shadow: 0 12px 35px rgba(128, 91, 98, 0.5), inset 0 2px 0 rgba(255, 255, 255, 0.3),
    0 0 35px rgba(166, 124, 82, 0.5);
}

.cafe-slider-dot.active .cafe-dot-inner {
  color: #ffffff;
  transform: translate(-50%, -50%) scale(1.2);
}

/* Tooltip Effects */
.cafe-slider-dot::before {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 120%;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.9) 0%, rgba(128, 91, 98, 0.9) 100%);
  color: #ffffff;
  padding: 8px 12px;
  border-radius: 20px;
  font-family: 'DunbarLow-Regular', sans-serif;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.cafe-slider-dot::after {
  content: '';
  position: absolute;
  bottom: 110%;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid rgba(0, 0, 0, 0.9);
  opacity: 0;
  transition: all 0.3s ease;
}

.cafe-slider-dot:hover::before,
.cafe-slider-dot:hover::after {
  opacity: 1;
  transform: translateX(-50%) translateY(-5px);
}

/* Mobile Responsive Navigation */
@media (max-width: 768px) {
  .cafe-slider-nav {
    padding: 14px 18px;
  }

  .cafe-nav-prev {
    left: 20px;
  }

  .cafe-nav-next {
    right: 20px;
  }

  .cafe-nav-text {
    display: none;
  }

  .cafe-slider-dots {
    bottom: 25px;
    gap: 15px;
  }

  .cafe-slider-dot {
    width: 50px;
    height: 50px;
  }

  .cafe-slider-dot::before {
    display: none;
  }
}

@media (max-width: 480px) {
  .cafe-slider-nav {
    padding: 12px 15px;
  }

  .cafe-nav-prev {
    left: 15px;
  }

  .cafe-nav-next {
    right: 15px;
  }

  .cafe-slider-dots {
    bottom: 20px;
    gap: 12px;
  }

  .cafe-slider-dot {
    width: 45px;
    height: 45px;
  }
}

.roma-text-cinematic {
  margin-top: -180px !important;
}

.cafe-text-cinematic {
  margin-top: 180px !important;
}

@media (max-width: 767px) {
  .coffee-image-cinematic {
    width: 500px !important;
    height: auto !important;
    transform: scale(1.2);
    transform-origin: center center;
  }
}

.slider-2-emotional-text {
  margin-top: -90px !important;
}

.slider-2-emotional-text-secondary {
  margin-top: 90px !important;
}

/* FIX LIGHTGALLERY IN RTL */

/* Exclude LightGallery icons from the global Arabic font override */
.rtl .lg-icon,
.rtl .lg-actions .lg-next,
.rtl .lg-actions .lg-prev,
.rtl .lg-toolbar .lg-icon,
.rtl [class*='lg-icon'] {
  font-family: 'lg' !important;
}

/* Force LightGallery structure to be LTR even in RTL pages 
   to fix black images and layout issues */
.rtl .lg-outer {
  direction: ltr;
  text-align: left;
}

/* Fix specific toolbar icons if needed */
.rtl .lg-actions .lg-next:before {
  content: '\e095';
}
.rtl .lg-actions .lg-prev:after {
  content: '\e094';
}
.rtl .lg-toolbar .lg-close:after {
  content: '\e070';
}
.rtl .lg-toolbar .lg-download:after {
  content: '\e0f2';
}
.rtl .lg-autoplay-button:after {
  content: '\e01d';
}
.rtl .lg-zoom-in:after {
  content: '\e311';
}
.rtl .lg-zoom-out:after {
  content: '\e312';
}
.rtl .lg-actual-size:after {
  content: '\e033';
}
.rtl .lg-fullscreen:after {
  content: '\e20c';
}
