@tailwind base;
@tailwind components;
@tailwind utilities;

@layer utilities {
  .display-01 {
    @apply text-[4rem] leading-[4.5rem] font-semibold;
  }

  .display-02 {
    @apply text-[3.5rem] leading-[4rem] font-semibold;
  }

  .heading-01 {
    @apply text-[2rem] md:text-[2.3rem] lg:text-[2.5rem] leading-[3rem] font-semibold;
  }

  .heading-02 {
    @apply text-[2.25rem] leading-[2.75rem] font-semibold;
  }

  .heading-03 {
    @apply text-[1.6rem] sm:text-[1.8rem] md:text-[2rem] leading-[2.5rem] font-semibold;
  }

  .heading-04 {
    @apply text-[1.75rem] leading-[2.25rem] font-semibold;
  }

  .heading-05 {
    @apply text-[0.9rem] sm:text-[1.3rem] md:text-[1.5rem] leading-[2rem] font-semibold;
  }

  .heading-06 {
    @apply text-[1.25rem] leading-[1.75rem] font-semibold;
  }

  .heading-07 {
    @apply text-[1rem] leading-[1.5rem] font-semibold;
  }

  .heading-08 {
    @apply text-[0.8rem] md:text-[0.875rem] leading-[1.5rem] font-semibold;
  }

  .body-xl-400 {
    @apply text-2xl font-normal;
  }

  .body-xl-500 {
    @apply text-2xl font-medium;
  }

  .body-lg-400 {
    @apply text-xl font-normal;
  }

  .body-lg-500 {
    @apply text-xl font-medium;
  }

  .body-md-400 {
    @apply text-base font-normal;
  }

  .body-md-500 {
    @apply text-base font-medium;
  }

  .body-sm-400 {
    @apply text-sm font-normal;
  }

  .body-sm-500 {
    @apply text-sm font-medium;
  }

  .body-xs-400 {
    @apply text-xs font-normal;
  }

  .body-xs-500 {
    @apply text-xs font-medium;
  }

  .caption-01 {
    @apply text-[1.125rem] leading-[1.125rem] uppercase font-semibold;
  }

  .caption-02 {
    @apply text-[1rem] leading-[1rem] uppercase font-semibold;
  }

  .caption-03 {
    @apply text-[0.875rem] leading-[0.875rem] uppercase font-semibold;
  }

  .caption-04 {
    @apply text-[0.75rem] leading-[0.75rem] uppercase font-semibold;
  }

  .listing-card-gradient {
    background: linear-gradient(171deg, #FFF 66.74%, #E8F0FC 100%), #FFF;
  }
  body.dark .listing-card-gradient {
    background: var(--gray-600);
  }

  .active-tab {
    @apply text-gray-900 after:rounded-full after:absolute after:bottom-0 after:left-0 after:w-full after:h-[3px] after:bg-primary-500
  }



  /* Hide scrollbar for Chrome, Safari and Opera */
  .no-scrollbar::-webkit-scrollbar {
    display: none;
  }

  /* Hide scrollbar for IE, Edge and Firefox */
  .no-scrollbar {
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
  }

  /* select 2 dropdown styles */

  .app-select .select2.select2-container {
    @apply  !w-full;
  }

  .app-select .select2-container--default .select2-selection--single {
    @apply transition-all duration-200 ease-linear rounded-lg border border-gray-100 bg-white shadow-[0px_1px_2px_0px_rgba(16,24,40,0.05)] hover:shadow-[0px_0px_0px_4px_#E8F0FC] w-full min-h-[2.75rem] px-[0.88rem] hover:ring-1 hover:ring-primary-500
  }

  .app-select .select2-selection__rendered {
    @apply leading-[41px] text-gray-900 body-md-500
  }

  .app-select .select2-selection__rendered {

    @apply  !leading-[41px] !text-gray-900 !text-[1rem] !font-medium
  }

  .app-select .select2-selection__arrow {
    @apply  !h-full !right-2
  }

}

@layer components {
  .badge-primary {
    @apply bg-primary-50 rounded-[0.25rem] text-primary-500 py-[0.375rem] px-[0.625rem] inline-flex items-center justify-center caption-03
  }

  .badge-green {
    @apply bg-success-50 rounded-[0.25rem] text-success-500 py-[0.375rem] px-[0.625rem] inline-flex items-center justify-center caption-03
  }


  .btn-primary {
    @apply inline-flex justify-center items-center gap-1.5 py-2 px-4 rounded-md transition-all duration-300 bg-primary-500 dark:bg-primary-700 hover:bg-primary-600 dark:hover:bg-primary-800 text-white heading-08;
  }

  .btn-secondary {
    @apply inline-flex justify-center items-center gap-1.5 py-2 px-4 rounded-md transition-all duration-300 bg-white dark:bg-gray-900 hover:bg-primary-50 text-primary-500 dark:text-primary-300 heading-08;
  }

  .btn-white {
    @apply inline-flex justify-center items-center gap-1.5 py-2 px-4 rounded-md transition-all duration-300 shadow-[0px_1px_2px_0px_rgba(28,33,38,0.05)] border border-gray-100 dark:border-gray-600 bg-transparent hover:bg-gray-50 hover:dark:bg-gray-600 hover:dark:text-gray-300 text-gray-700 heading-08;
  }

  .btn-danger {
    @apply inline-flex justify-center items-center gap-1.5 py-2 px-4 rounded-md transition-all duration-300 bg-red-500 hover:bg-red-600 text-white heading-08;
  }

  .btn-info {
    @apply inline-flex justify-center items-center gap-1.5 py-2 px-4 rounded-md transition-all duration-300 bg-indigo-500 hover:bg-indigo-600 text-white heading-08;
  }

  .btn-social-login {
    @apply flex flex-grow px-4 py-2 justify-center items-center gap-1.5 rounded-md transition-all duration-300 bg-white dark:bg-gray-900 border border-gray-100 dark:border-gray-600 hover:bg-gray-50 text-gray-700 dark:text-gray-100 hover:text-gray-900 heading-08;
  }



  .feature-list {
    @apply body-md-400 text-gray-700 mb-3 flex gap-1.5 items-center min-w-[190px];
  }

  .btn-social {
    @apply inline-flex justify-center items-center p-2.5 text-gray-700 hover:text-primary-500 bg-gray-50 hover:bg-primary-50 border border-gray-50 hover:border-primary-500 rounded-md transition-all duration-300;
  }

  .post-header {
    @apply grid grid-cols-3 gap-4 border-b border-b-gray-100;
  }

  .post-footer {
    @apply sm:px-8 px-4 sm:py-6 py-3 bg-gray-50 flex flex-wrap gap-4 justify-between items-center;
  }

  .sidebar-menu-link {
    @apply px-6 py-3 heading-07 flex gap-3 items-center transition-all duration-300 border-l-4 border-l-transparent hover:border-s-primary-500 hover:dark:border-s-primary-300 text-gray-700 dark:text-gray-200 hover:text-primary-500 hover:dark:text-primary-300 hover:bg-primary-50 hover:dark:bg-gray-800;
  }

  .sidebar-menu-link.active {
    @apply border-s-primary-500 dark:border-s-primary-300 text-primary-500 dark:text-primary-300 bg-primary-50 dark:bg-gray-800;
  }

  .btn-tab {
    @apply sm:py-4 py-2 flex sm:gap-2 gap-1 justify-center items-center sm:heading-07 body-sm-500 text-gray-500 transition-all duration-300 hover:bg-primary-50 hover:text-primary-500 border-b-[3px] border-b-transparent;
  }

  .blog-category {
    @apply relative rounded-md overflow-hidden after:bg-black/50 after:absolute after:top-0 after:left-0 after:w-full after:h-full transition-all duration-300;
  }

  .currDropdown,
  .langDropdown {
    @apply absolute z-50 ltr:right-0 rtl:left-0 top-full min-w-[120px] transition-all duration-300;
  }

  .currDropdown.active,
  .langDropdown.active {
    @apply visible opacity-100 h-auto;
  }

  .tc-input {
    @apply border border-gray-100 dark:border-gray-600 shadow-[0px_1px_2px_0px_rgba(16,24,40,0.05)] py-2.5 px-3.5 transition-all duration-300 focus:ring-0 focus:dark:!bg-gray-600 focus:border-primary-500 hover:border-primary-500 w-full rounded-lg placeholder:text-gray-500 dark:placeholder:text-gray-300 dark:text-gray-100 body-md-400 hover:bg-gray-50 text-gray-900 dark:bg-transparent;
  }

  .tc-label {
    @apply body-sm-500 text-gray-700 dark:text-gray-100 mb-1.5 block;
  }

  .tc-checkbox,
  .tc-check-radio {
    @apply flex w-full;
  }

  .tc-checkbox input,
  .tc-check-radio input,
  .tc-radio input {
    @apply hidden;
  }

  .tc-checkbox label,
  .tc-radio label {
    @apply w-full flex-grow body-md-400 ltr:pl-7 rtl:pr-7 text-gray-700 relative cursor-pointer;
  }

  .tc-checkbox label::after {
    content: '';
    width: 20px;
    height: 20px;
    border-radius: 4px;
    border: 1px solid var(--gray-100);
    color: var(--gray-600);
    background: white;
    box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    transition: all 0.4s ease-in-out;
  }

  body[dir="rtl"] .tc-checkbox label::after,
  body[dir="rtl"] .tc-radio label::after {
    right: 0;
  }

  .tc-radio label::after {
    content: '';
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1px solid var(--gray-100);
    color: var(--gray-600);
    background: white;
    box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    transition: all 0.4s ease-in-out;
  }

  body.dark .tc-radio label::after {
    background: var(--gray-400);
    border: 1px solid var(--gray-200);
  }

  .tc-checkbox:has(input:checked) label {
    color: var(--primary-500);
  }

  .tc-checkbox:has(input:checked) label::after {
    background: var(--primary-500);
    content: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 3L4.5 8.5L2 6' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  }

  .tc-radio:has(input:checked) label::after {
    background: white;
    border: 6px solid var(--primary-500);
  }

  body.dark .tc-radio:has(input:checked) label::after {
    background: var(--gray-600);
    border: 6px solid var(--primary-500);
  }

  .tc-checkbox-wrap:has(input:checked) {
    background-color: var(--primary-50);
  }

  body.dark .tc-checkbox-wrap:has(input:checked) {
    background-color: var(--gray-600);
  }

  .tc-check-radio label {
    @apply body-md-400 text-gray-600 dark:text-gray-200 ltr:pl-6 rtl:pr-6 relative cursor-pointer;
  }

  .tc-check-radio:has(input:checked) label {
    @apply body-md-500 text-primary-500;
  }

  .tc-check-radio:has(input:checked) label::after {
    content: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.5 8.5L7.5 12.5L13.5 3.5' stroke='%231768E0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 16px;
    height: 16px;
    margin-top: 2px;
  }

  body[dir="rtl"] .tc-check-radio:has(input:checked) label::after {
    content: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.5 8.5L7.5 12.5L13.5 3.5' stroke='%231768E0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 16px;
    height: 16px;
    margin-top: 2px;
  }
}

[x-cloak] {
  display: none !important;
}

/* select2 dropdown option design */
.select2-results__option {
  @apply hover:bg-gray-50 !py-[0.625rem] !px-[1rem] cursor-pointer text-base font-normal text-gray-700 hover:text-gray-900 aria-selected:!bg-gray-50 bg-[95%_50%] bg-no-repeat aria-selected:bg-[url('/public/frontend/images/dropdown-check.png')]
}

.select2-search.select2-search--dropdown {
  @apply  !py-[0.625rem] !px-[0.9rem]
}

.select2-search__field {
  @apply  !p-[0.5rem_1rem] rounded-lg !border !border-gray-100 bg-white shadow-[0px,1px,2px,0px_rgba(16,24,40,0.05)] focus:!border-primary-200 transition-all duration-200 ease-linear
}

.select2-search.select2-search--dropdown {
  @apply border-t border-t-gray-100 rounded-lg
}

.select2-dropdown.select2-dropdown--below {
  @apply  !top-[10px] rounded-lg !rounded-t-lg bg-white shadow-[0px_4px_6px_-2px_rgba(16,24,40,0.03),0px_12px_16px_-4px_rgba(16,24,40,0.08)] !border !border-gray-100
}

.cta-area {
  background: linear-gradient(91deg, #E4FF41 0%, #DDFF7C 0.01%, #FCFF6F 99.17%);
}
body.dark .cta-area {
  background: linear-gradient(91deg, rgb(141, 165, 2) 0%, rgb(182, 229, 53) 0.01%, rgb(116, 120, 4) 99.17%);
}
.hero-category-slider_next.swiper-button-disabled,
.hero-category-slider_prev.swiper-button-disabled {
    background-color: var(--primary-100);
    color: var(--primary-500);
}
div[modal-backdrop] {
    background: rgba(0, 0, 0, 0.5) !important;
}



body::after{
    content: “”;
    display: block;
    clear: both;
    visibility: hidden;
    font-size: 0;
    height: 0;
}
