/*
 * cards.css - الكروت المشتركة
 * كارت واحد لكل نوع محتوى، يُستخدم في الرئيسية والأرشيفات وأقسام المقترحات.
 */

/* ---------------- كارت الباقة والفندق والكروز ---------------- */

.bt-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 10px;
  border: 1px solid var(--bt-border);
  border-radius: var(--bt-radius-lg);
  background: var(--bt-bg);
  transition: transform var(--bt-transition), box-shadow var(--bt-transition), border-color var(--bt-transition);
}

.bt-card:hover {
  transform: translateY(-6px);
  border-color: var(--bt-primary);
  box-shadow: var(--bt-shadow);
}

/* ---- الصورة ---- */

.bt-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--bt-radius);
  background: var(--bt-bg-alt);
  isolation: isolate;
}

.bt-card__media-link {
  display: block;
  width: 100%;
  height: 100%;
}

.bt-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s ease;
}

.bt-card:hover .bt-card__media img { transform: scale(1.07); }

/* طبقة تعتيم صريحة تظهر عند الهوفر، بلون واحد بدون تدرج */
.bt-card__veil {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: rgba(8, 22, 28, .3);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--bt-transition);
}

.bt-card:hover .bt-card__veil { opacity: 1; }

/* شارة العرض والمدة في سطر واحد أعلى الصورة */
.bt-card__chips {
  position: absolute;
  z-index: 3;
  inset-block-start: 10px;
  inset-inline: 10px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--bt-sp-2);
  pointer-events: none;
}

.bt-card__badge {
  padding: .3rem .75rem;
  border-radius: var(--bt-radius-pill);
  background: var(--bt-secondary);
  color: #fff;
  font-size: var(--bt-fs-xs);
  font-weight: var(--bt-fw-semibold);
  box-shadow: 0 4px 12px rgba(8, 22, 28, .18);
}

.bt-card__duration {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-inline-start: auto;
  padding: .3rem .7rem;
  border-radius: var(--bt-radius-pill);
  background: rgba(8, 22, 28, .72);
  color: #fff;
  font-size: var(--bt-fs-xs);
  font-weight: var(--bt-fw-medium);
  white-space: nowrap;
}

/* السعر بطاقة بارزة أسفل الصورة، وهو أول ما تقع عليه العين */
.bt-card__price {
  position: absolute;
  z-index: 3;
  inset-block-end: 10px;
  inset-inline-start: 10px;
  margin: 0;
  padding: .4rem .85rem;
  border-radius: var(--bt-radius);
  background: var(--bt-bg);
  line-height: 1.25;
  box-shadow: 0 6px 16px rgba(8, 22, 28, .2);
}

.bt-card__price-label {
  display: block;
  color: var(--bt-text-muted);
  font-size: 11px;
}

.bt-card__price strong {
  font-size: 1.05rem;
  color: var(--bt-secondary);
}

/* دائرة السهم تظهر عند الهوفر فوق الصورة */
.bt-card__go {
  position: absolute;
  z-index: 3;
  inset-block-end: 10px;
  inset-inline-end: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--bt-primary);
  color: #fff;
  font-size: .95rem;
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity var(--bt-transition), transform var(--bt-transition);
}

.bt-card:hover .bt-card__go {
  opacity: 1;
  transform: translateY(0);
}

/* ---- المحتوى ---- */

.bt-card__body {
  flex: 1;
  padding: var(--bt-sp-4) var(--bt-sp-3) var(--bt-sp-3);
}

.bt-card__place {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: var(--bt-sp-2);
  font-size: var(--bt-fs-xs);
  color: var(--bt-text-muted);
}

.bt-card__place i { color: var(--bt-primary); }
.bt-card__place a { color: var(--bt-text-soft); }
.bt-card__place a:hover { color: var(--bt-primary); }

.bt-card__title {
  margin-bottom: var(--bt-sp-2);
  min-height: 3em;
  font-size: 1.075rem;
  line-height: 1.5;
}

.bt-card__title a { color: var(--bt-text); }
.bt-card__title a:hover { color: var(--bt-primary); }

/* صف المعلومات: النجوم والتقييم والمعلومة الإضافية */
.bt-card__facts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bt-sp-2) var(--bt-sp-3);
}

.bt-card__stars {
  margin: 0;
  color: var(--bt-star);
  font-size: var(--bt-fs-sm);
}

.bt-card__meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: var(--bt-fs-sm);
  color: var(--bt-text-soft);
}

.bt-card__meta i { color: var(--bt-primary); }
.bt-card__rating { margin: 0; }

/* ---- الذيل ---- */

.bt-card__foot {
  padding: 0 var(--bt-sp-3) var(--bt-sp-3);
}

.bt-card__btn { justify-content: center; }

/* زر الكارت يتحوّل للون الهوية مع الكارت كله */
.bt-card:hover .bt-card__btn {
  border-color: var(--bt-primary);
  background: var(--bt-primary);
  color: #fff;
}

@media (max-width: 575px) {
  .bt-card__title { min-height: 0; }
}

/* ---------------- كارت الوجهة ---------------- */

.bt-dest-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--bt-sp-5);
}

.bt-dest-card {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 380px;
  overflow: hidden;
  border-radius: var(--bt-radius-lg);
  background: var(--bt-bg-dark);
  color: #fff;
  isolation: isolate;
  transition: transform var(--bt-transition), box-shadow var(--bt-transition);
}

.bt-dest-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--bt-shadow);
}

.bt-dest-card__link {
  position: absolute;
  inset: 0;
  z-index: 3;
}

.bt-dest-card__media {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.bt-dest-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}

.bt-dest-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: rgba(8, 22, 28, .55);
}

.bt-dest-card:hover .bt-dest-card__media img { transform: scale(1.06); }

.bt-dest-card__body {
  position: relative;
  z-index: 3;
  width: 100%;
  padding: var(--bt-sp-5);
  pointer-events: none;
  /* ظل نصي صريح يضمن وضوح الكتابة فوق الصور الفاتحة بدون أي تدرج لوني */
  text-shadow: 0 1px 3px rgba(8, 22, 28, .65);
}

.bt-dest-card__count {
  display: inline-flex;
  align-items: center;
  margin-bottom: var(--bt-sp-3);
  padding: .28rem .8rem;
  border-radius: var(--bt-radius-pill);
  background: var(--bt-secondary);
  color: #fff;
  font-size: var(--bt-fs-xs);
  font-weight: var(--bt-fw-semibold);
  text-shadow: none;
}

.bt-dest-card__title {
  margin-bottom: var(--bt-sp-1);
  color: #fff;
  font-size: 1.4rem;
}

.bt-dest-card__tagline {
  margin-bottom: var(--bt-sp-3);
  color: rgba(255, 255, 255, .75);
  font-size: var(--bt-fs-sm);
}

.bt-dest-card__btn {
  display: inline-flex;
  align-items: center;
  gap: var(--bt-sp-2);
  padding: .5rem 1.05rem;
  border-radius: var(--bt-radius-pill);
  background: rgba(255, 255, 255, .16);
  font-size: var(--bt-fs-sm);
  font-weight: var(--bt-fw-semibold);
  color: #fff;
  text-shadow: none;
  transition: background var(--bt-transition), color var(--bt-transition);
}

.bt-dest-card:hover .bt-dest-card__btn {
  background: var(--bt-bg);
  color: var(--bt-primary);
}

.bt-dest-card__btn i { transition: transform var(--bt-transition); }
.bt-dest-card:hover .bt-dest-card__btn i { transform: translateX(-4px); }

.bt-dest-card--empty .bt-dest-card__count {
  background: var(--bt-danger);
}

@media (max-width: 991px) {
  .bt-dest-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 575px) {
  .bt-dest-grid { grid-template-columns: 1fr; }
  .bt-dest-card { min-height: 260px; }
}

/* ---------------- كارت الخدمة ---------------- */

.bt-service-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--bt-sp-3);
  padding: var(--bt-sp-5);
  overflow: hidden;
  border: 1px solid var(--bt-border);
  border-radius: var(--bt-radius-lg);
  background: var(--bt-bg);
  transition: transform var(--bt-transition), box-shadow var(--bt-transition),
    border-color var(--bt-transition), background var(--bt-transition);
}

/* الكارت كله يتحوّل للون الهوية عند المرور عليه */
.bt-service-card:hover {
  transform: translateY(-6px);
  border-color: var(--bt-primary);
  background: var(--bt-primary);
  box-shadow: var(--bt-shadow);
}

.bt-service-card__link { position: absolute; inset: 0; z-index: 2; }

/* صف علوي: الأيقونة من جهة والسعر من الجهة الأخرى */
.bt-service-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--bt-sp-3);
}

.bt-service-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  border-radius: 18px;
  background: var(--bt-primary-light);
  color: var(--bt-primary);
  font-size: 1.55rem;
  transition: background var(--bt-transition), color var(--bt-transition), transform var(--bt-transition);
}

.bt-service-card:hover .bt-service-card__icon {
  background: var(--bt-bg);
  color: var(--bt-primary);
  transform: rotate(-6deg);
}

.bt-service-card__price {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding: .4rem .8rem;
  border-radius: var(--bt-radius);
  background: var(--bt-bg-alt);
  line-height: 1.3;
  text-align: center;
  transition: background var(--bt-transition);
}

.bt-service-card__price small {
  color: var(--bt-text-muted);
  font-size: 11px;
  transition: color var(--bt-transition);
}

.bt-service-card__price strong {
  color: var(--bt-secondary);
  font-size: var(--bt-fs-sm);
}

.bt-service-card:hover .bt-service-card__price { background: rgba(255, 255, 255, .16); }
.bt-service-card:hover .bt-service-card__price small { color: rgba(255, 255, 255, .8); }
.bt-service-card:hover .bt-service-card__price strong { color: #fff; }

.bt-service-card__title {
  margin: 0;
  font-size: 1.125rem;
  transition: color var(--bt-transition);
}

.bt-service-card__text {
  margin: 0;
  color: var(--bt-text-soft);
  font-size: var(--bt-fs-sm);
  transition: color var(--bt-transition);
}

.bt-service-card:hover .bt-service-card__title { color: #fff; }
.bt-service-card:hover .bt-service-card__text { color: rgba(255, 255, 255, .85); }

/* سطر "اعرف المزيد": النص ثم سهم داخل دائرة */
.bt-service-card__more {
  display: flex;
  align-items: center;
  gap: var(--bt-sp-3);
  margin-top: auto;
  padding-top: var(--bt-sp-3);
  border-top: 1px solid var(--bt-border);
  color: var(--bt-primary);
  font-size: var(--bt-fs-sm);
  font-weight: var(--bt-fw-semibold);
  transition: color var(--bt-transition), border-color var(--bt-transition);
}

.bt-service-card__more-label { margin-inline-end: auto; }

.bt-service-card__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--bt-primary-light);
  color: var(--bt-primary);
  font-size: .85rem;
  transition: background var(--bt-transition), color var(--bt-transition), transform var(--bt-transition);
}

.bt-service-card:hover .bt-service-card__more {
  border-color: rgba(255, 255, 255, .25);
  color: #fff;
}

.bt-service-card:hover .bt-service-card__arrow {
  background: var(--bt-secondary);
  color: #fff;
  transform: translateX(-4px);
}

/* ---------------- كارت رأي العميل ---------------- */

.bt-testimonial {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--bt-sp-3);
  height: 100%;
  padding: var(--bt-sp-5);
  border: 1px solid var(--bt-border);
  border-radius: var(--bt-radius-lg);
  background: var(--bt-bg);
  transition: transform var(--bt-transition), box-shadow var(--bt-transition), border-color var(--bt-transition);
}

.bt-testimonial:hover {
  transform: translateY(-4px);
  border-color: var(--bt-primary);
  box-shadow: var(--bt-shadow);
}

/* ---- الترويسة: الصورة والاسم وعلامة الاقتباس ---- */

.bt-testimonial__head {
  display: flex;
  align-items: center;
  gap: var(--bt-sp-3);
}

.bt-testimonial__avatar {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  overflow: hidden;
  border: 2px solid var(--bt-primary-light);
  border-radius: 50%;
  background: var(--bt-primary-light);
  color: var(--bt-primary-dark);
  font-size: 1.15rem;
  font-weight: var(--bt-fw-bold);
  transition: border-color var(--bt-transition);
}

.bt-testimonial:hover .bt-testimonial__avatar { border-color: var(--bt-primary); }

.bt-testimonial__avatar img { width: 100%; height: 100%; object-fit: cover; }

.bt-testimonial__who {
  flex: 1;
  min-width: 0;
  display: block;
  line-height: 1.6;
}

.bt-testimonial__who strong { display: block; }

.bt-testimonial__who small {
  display: block;
  color: var(--bt-text-muted);
  font-size: var(--bt-fs-xs);
}

/* علامة الاقتباس داخل مربع بلون الهوية */
.bt-testimonial__mark {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: var(--bt-radius);
  background: var(--bt-primary-light);
  color: var(--bt-primary);
  font-size: .95rem;
  transition: background var(--bt-transition), color var(--bt-transition);
}

.bt-testimonial:hover .bt-testimonial__mark {
  background: var(--bt-primary);
  color: #fff;
}

/* ---- النجوم والنص ---- */

.bt-testimonial__rating { margin: 0; }

.bt-testimonial__text {
  flex: 1;
  margin: 0;
  padding-inline-start: var(--bt-sp-4);
  border-inline-start: 3px solid var(--bt-primary-light);
  color: var(--bt-text-soft);
  font-size: var(--bt-fs-sm);
  line-height: 1.9;
  transition: border-color var(--bt-transition);
}

.bt-testimonial:hover .bt-testimonial__text { border-color: var(--bt-secondary); }

/* ---- الذيل: الرحلة المرتبطة وتاريخها ---- */

.bt-testimonial__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--bt-sp-2) var(--bt-sp-3);
  padding-top: var(--bt-sp-3);
  border-top: 1px solid var(--bt-border);
  font-size: var(--bt-fs-xs);
}

.bt-testimonial__trip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding: .3rem .75rem;
  border-radius: var(--bt-radius-pill);
  background: var(--bt-bg-alt);
  color: var(--bt-text-soft);
  font-weight: var(--bt-fw-medium);
  transition: background var(--bt-transition), color var(--bt-transition);
}

.bt-testimonial__trip i { color: var(--bt-primary); }

.bt-testimonial__trip:hover {
  background: var(--bt-primary);
  color: #fff;
}

.bt-testimonial__trip:hover i { color: #fff; }

.bt-testimonial__trip span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bt-testimonial__date { color: var(--bt-text-muted); }

/* ---------- مقاسات الكروت على الموبايل ---------- */

@media (max-width: 575px) {
  .bt-card__title { font-size: 1rem; }
  .bt-card__price strong { font-size: .95rem; }
  .bt-card__place { font-size: 11px; }
  .bt-service-card__title { font-size: 1rem; }
  .bt-service-card__icon { width: 52px; height: 52px; font-size: 1.25rem; }
  .bt-dest-card__title { font-size: 1.15rem; }
  .bt-testimonial__avatar { width: 46px; height: 46px; font-size: 1rem; }
}
