@import url('../../fonts/fonts.css');

/* Global styles */
* {
  font-family: 'IranSans', -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Flickity custom styles */
.main-carousel {
  width: 100%;
  overflow: hidden;
}

.carousel-cell {
  width: 100%;
  height: auto;
}

.carousel-cell img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 768px) {
  .carousel-cell img {
    height: 250px;
  }
}

.flickity-button {
  background: #ffffff;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}

.flickity-button:hover {
  background: #f8f8f8;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.flickity-prev-next-button.previous {
  left: 20px;
}

.flickity-prev-next-button.next {
  right: 20px;
}

.flickity-button-icon {
  fill: #563775;
}

.flickity-page-dots {
  bottom: 20px;
}

.flickity-page-dots .dot {
  width: 8px;
  height: 8px;
  margin: 0 5px;
  background: #ffffff;
  opacity: 0.5;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
  background: #563775;
}

/* Cash Donation Cards Carousel */
.donation-carousel {
  padding: 20px 40px;
}

.donation-section-header {
  padding: 0 40px;
}

.donation-section-content {
  margin: 0 auto;
  width: 100%;
}

.donation-card {
  width: 280px;
  margin: 20px 0;
  margin-right: 20px;
  background: white;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.donation-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.donation-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.product-card {
  width: 220px;
  margin: 20px 0;
  margin-right: 20px;
  background: white;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.product-card img {
  justify-self: center;
  align-self: center;
  width: auto;
  height: 160px;
}

@media (max-width: 768px) {
  .donation-section-header {
    padding: 0 20px;
  }

  .donation-carousel {
    padding: 20px;
  }

  .donation-card {
    width: 260px;
  }

  h2 {
    font-size: calc(1.5rem - 2px);
  }

  h3 {
    font-size: calc(1.125rem - 2px);
  }

  p,
  a,
  button,
  input,
  label {
    font-size: calc(0.875rem - 2px) !important;
  }
}

/* Hide default Flickity prev/next buttons for donation carousel */
.donation-carousel .flickity-prev-next-button {
  top: 50%;
  transform: translateY(-50%);
}

.donation-carousel .flickity-button {
  background: white;
}

.donation-carousel .flickity-button:hover {
  background: #f8f8f8;
}

.donation-carousel .flickity-button-icon {
  fill: #563775;
}

[dir="rtl"] .fa-num, [dir="rtl"] input[type="number"], [dir="rtl"] .farsi-numeral {
  font-family: 'IranSans', inherit;
}

.select2-container--default .select2-selection--single {
  height: 2.7rem !important;
  line-height: 2.7rem !important;
  padding: 0 0.75rem !important;
  border: 1px solid #d1d5db !important;       /* border-gray-300 */
  border-radius: 0.5rem !important;            /* rounded-lg */
  box-sizing: border-box !important;
  width: 100% !important;                       /* w-full */
  background-color: white !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0 !important;
  line-height: 2.5rem !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* فلش سمت راست در حالت LTR */
.select2-container--default .select2-selection--single .select2-selection__arrow {
  right: 0.5rem;
  left: auto;
  height: 2.5rem !important;
  line-height: 2.5rem !important;
}

.select2-selection__clear {
  display: block !important;
  opacity: 0.8 !important;
  position: absolute !important;
  top: 30% !important;
  transform: translateY(-50%) !important;
  z-index: 1000 !important;
  width: 1.25rem !important;
  height: 1.25rem !important;
  font-size: 1rem !important;
  right: auto !important;
  left: 1rem !important; /* برای RTL */
}

.p-card {
    background-color: white;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
    transition: box-shadow 0.3s;
    display: flex;
    flex-direction: column;
}
.p-card:hover {
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
}

.grid-container {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 1.5rem;
    padding: 1rem;
}

@media (min-width: 640px) {
    .grid-container {
      grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 768px) {
    .grid-container {
      grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1024px) {
    .grid-container {
        grid-template-columns: repeat(4, 1fr);
    }
}

.flex-container {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

  .flex-item {
    flex: 1 1 100%;
    min-width: 250px;
  }

  @media (min-width: 640px) {
    .flex-item {
      flex: 1 1 calc(50% - 0.75rem);
    }
  }

  @media (min-width: 768px) {
    .flex-item {
      flex: 1 1 calc(33.333% - 1rem);
    }
  }

  @media (min-width: 1024px) {
    .flex-item {
      flex: 1 1 calc(25% - 1.125rem);
    }
  }

.library-card {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.library-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

input[type="checkbox"] {
    appearance: none;
    width: 16px;
    height: 16px;
    border: 2px solid #009e9a;
    border-radius: 3px;
    position: relative;
    cursor: pointer;
    transition: all 0.2s;
}

input[type="checkbox"]:checked {
    background-color: var(--primary-color, #009e9a);
    border-color: var(--primary-color, #009e9a);
}

input[type="checkbox"]:checked::after {
    content: "✓";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 12px;
    font-weight: bold;
}

input[type="checkbox"]:hover {
    border-color: var(--primary-color, #009e9a);
}
