/* Custom aesthetic refinements for meem photography */
:root {
  --color-terracotta: #C57E67;
  --color-terracotta-dark: #B0654E;
}

body {
  font-family: 'Readex Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.font-brand {
  font-family: 'Cormorant Garamond', Georgia, serif;
}

/* Logical spacing for step subtitles in both RTL & LTR */
.step-sub {
  margin-inline-start: 2rem;
}

/* Language switcher segmented pill */
.lang-btn {
  color: #524A40;
  transition: all 0.15s ease;
}
.lang-btn.active {
  background-color: #FFFFFF;
  color: #B0654E;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

/* Stepper buttons */
.stepper-btn {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background-color: #EDE4D6;
  color: #2B2726;
  font-weight: 600;
  font-size: 15px;
  transition: all 0.15s ease;
  user-select: none;
}
.stepper-btn:hover {
  background-color: #DFD0BC;
}
.stepper-btn:active {
  transform: scale(0.92);
  background-color: #B0654E;
  color: #FFFFFF;
}

/* Category filter tabs */
.cat-tab {
  color: #524A40;
}
.cat-tab.active {
  background-color: #FFFFFF;
  color: #B0654E;
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

/* Custom styled checkbox toggles */
.custom-toggle {
  appearance: none;
  -webkit-appearance: none;
  width: 44px;
  height: 24px;
  border-radius: 9999px;
  background-color: #EDE4D6;
  position: relative;
  cursor: pointer;
  outline: none;
  transition: background-color 0.25s ease;
  flex-shrink: 0;
}
.custom-toggle::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #FFFFFF;
  box-shadow: 0 1px 2px rgba(0,0,0,0.15);
  transition: transform 0.25s ease;
}
.custom-toggle:checked {
  background-color: #B0654E;
}
.custom-toggle:checked::before {
  transform: translateX(20px);
}
.custom-toggle:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* Package card states & thumbnail */
.package-card {
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
}
.package-card:hover {
  border-color: #D99882;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px -4px rgba(82, 74, 64, 0.08);
}
.package-card.selected {
  border-color: #C57E67;
  background-color: #FDFBF7;
  box-shadow: 0 4px 16px -2px rgba(197, 126, 103, 0.18);
  position: relative;
}

.card-thumb-wrapper {
  background-color: #EDE4D6;
}

/* Modal animation */
@keyframes modalIn {
  from {
    opacity: 0;
    transform: scale(0.96) translateY(8px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
.animate-modal-in {
  animation: modalIn 0.22s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Subtle scrollbars */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: #F7F3EB;
}
::-webkit-scrollbar-thumb {
  background: #DFD0BC;
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: #B0654E;
}