@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Raleway&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rubik&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans&display=swap');

@tailwind base;
@tailwind components;
@tailwind utilities;
@layer base {
  html {
    @apply text-dark-600;
    -webkit-tap-highlight-color: transparent;
  }
  html.dark {
    @apply bg-dark-100 text-light-900;
  }
  html,
  body {
    @apply h-full antialiased font-body;
  }
  #__next {
    @apply h-full text-13px;
  }
  p {
    @apply mb-5;
  }
  p:last-of-type {
    @apply mb-0;
  }
  p > strong {
    @apply font-semibold;
  }
  p > a {
    @apply transition;
  }
  .order-list-enable ol {
    @apply list-decimal space-y-1.5 ltr:pl-4 rtl:pr-4 ltr:lg:pl-8 rtl:lg:pr-8;
  }
  button {
    @apply focus:outline-none;
  }
  /* custom scrollbar */
  ::-webkit-scrollbar {
    @apply h-1.5 w-1.5;
  }
  ::-webkit-scrollbar-thumb {
    @apply bg-dark-900;
  }
  ::-webkit-scrollbar-track {
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.4);
  }
  :root {
/*
    40px base 16px
    */
    --h1 : 2.5rem;

    /*
    32px base 16px
    */
    --h2 : 2rem;

    /*
    24px base 16px
    */
    --h3 : 1.5rem;

    /*
    20px base 16px
    */
    --h4 : 1.25rem;

    /*
    18px base 16px
    */
    --h5 : 1.125rem;

    /*
    16px base 16px
    */
    --h6 : 1rem;
  }
}

/* custom utilities */
@layer utilities {
  .h-inherit {
    height: inherit;
  }
  .active-text-dark {
    text-shadow: 0 0 #181818;
  }
  .active-text-light {
    text-shadow: 0 0 #e6e6e6;
  }
  .transition-fill-colors {
    transition-property: background-color, fill;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
}

/**
 * Need these custom style
 * for header & category filter bar
 * special sticky control in mobile
 */
@media (max-width: 639px) {
  .app-header.sticky,
  .app-category-filter-bar.sticky,
  .mobile-sticky-after-header {
    transition: transform 0.3s ease-in-out;
  }
  .scroll-down .app-header.sticky,
  .scroll-down .app-category-filter-bar.sticky {
    transform: translate3d(0, -100%, 0);
  }
  /*  */
  .scroll-up .mobile-sticky-after-header {
    transform: translate3d(0, -100%, 0);
  }
}

/* cart tick animated icon styles */
.circle {
  opacity: 0;
  stroke-dasharray: 130;
  stroke-dashoffset: 130;
  transition: all 0.7s;
}
.tick {
  stroke-dasharray: 50;
  stroke-dashoffset: 50;
  transition: stroke-dashoffset 0.7s 0.3s ease-out;
}
.is-carting .path {
  opacity: 1;
  stroke-dashoffset: 0;
}

/* react phone input 2 */
html .react-tel-input .form-control {
  @apply h-11 w-full rounded border border-light-500 bg-transparent text-13px text-dark ring-[0.5px] ring-light-500 focus:border-brand focus:ring-[0.5px] focus:ring-brand md:h-12 xl:h-[50px];
}
html.dark .react-tel-input .form-control {
  @apply border-dark-600 text-light ring-dark-600 focus:border-brand focus:ring-brand;
}
html .react-tel-input .flag-dropdown {
  @apply top-[1px] left-[1px] rounded-tl-[3px] rounded-bl-[3px] border-0 bg-light-300;
  height: calc(100% - 2px);
}
html .react-tel-input .flag-dropdown.open,
html .react-tel-input .flag-dropdown.open .selected-flag {
  @apply rounded-tl-[3px] rounded-bl-[3px] bg-light-300;
}
html .react-tel-input .selected-flag:hover,
html .react-tel-input .selected-flag:focus {
  @apply bg-light-300;
}
html .react-tel-input .country-list {
  @apply text-13px;
}
html.dark .react-tel-input .flag-dropdown,
html.dark .react-tel-input .flag-dropdown.open,
html.dark .react-tel-input .flag-dropdown.open .selected-flag,
html.dark .react-tel-input .selected-flag:hover,
html.dark .react-tel-input .selected-flag:focus,
html.dark .react-tel-input .country-list {
  @apply bg-dark-300;
}
html.dark .react-tel-input .country-list .country.highlight,
html.dark .react-tel-input .country-list .country:hover {
  @apply bg-dark-200;
}

/* React Share button custom styles */
.product-share .react-share__ShareButton > svg > circle {
  @apply transition-all stroke-1 fill-transparent stroke-light-800 dark:stroke-dark-600;
}
.product-share .react-share__ShareButton > svg > path {
  @apply transition-all scale-90 translate-x-1 translate-y-1 fill-dark-800 dark:fill-light;
}
.product-share .react-share__ShareButton:hover > svg > circle {
  @apply fill-light-200 dark:fill-dark-600;
}
.product-share .react-share__ShareButton:hover > svg > path {
  @apply fill-dark-300 dark:fill-light-300;
}

/* product gallery active status */
#productGalleryThumbs .swiper-wrapper .swiper-slide.swiper-slide-thumb-active,
#reviewGalleryThumbs .swiper-wrapper .swiper-slide.swiper-slide-thumb-active {
  @apply border-brand;
}
#productGallery + div > .swiper-button-disabled,
#reviewGallery + div > .swiper-button-disabled {
  @apply shadow-none;
}
#productGallery + div > .swiper-button-disabled:hover,
#reviewGallery + div > .swiper-button-disabled:hover {
  @apply bg-light text-dark/90;
}

/* StripeElement */
.StripeElement {
  @apply box-border h-[46px] rounded border border-light-500 bg-light py-4 pl-4 pr-2.5 text-13px text-dark ring-[0.5px] ring-light-500 hover:border-brand hover:ring-[0.5px] hover:ring-brand md:h-12;
}
.payment-modal .StripeElement.StripeElement--focus {
  @apply border-brand ring-brand;
}
/* Checkbox component */
.checkbox-component + span {
  @apply h-5 w-5 cursor-pointer rounded border border-light-500 ring-[0.5px] ring-light-500 dark:border-dark-600 dark:ring-dark-600;
}
.checkbox-component:checked + span {
  @apply border-brand bg-brand ring-brand;
}
.checkbox-component:checked + span::before {
  @apply absolute inset-auto mt-[5px] ml-0.5 flex h-2 w-3 border-2 border-t-0 border-r-0 border-light content-[''];
  transform: rotate(-45deg) translate(2px, -1px);
}

/* RC Rate Star */
.rc-rate .rc-rate-star {
  @apply text-dark-700;
}
.rc-rate .rc-rate-star-half .rc-rate-star-first,
.rc-rate .rc-rate-star-full .rc-rate-star-second,
.rc-rate .rc-rate-star-half:hover .rc-rate-star-first,
.rc-rate .rc-rate-star-full:hover .rc-rate-star-second {
  @apply text-brand;
}

/* Shop Single follow button */
.shopBanner .followButton {
  @apply h-9 min-h-[34px] text-xs sm:h-9 sm:min-h-[34px] md:px-4;
}

/* rc table on report page */
/* RC Table */
.rc-table {
  @apply border border-separate border-gray-200 rounded-md text-13px dark:border-dark-500 dark:shadow-none;
  border-spacing: 0;
}
.rc-table .rc-table-placeholder {
  @apply text-sm;
}
.rc-table .rc-table-content,
.rc-table .rc-table-body,
.rc-table .rc-table-header {
  @apply border-0;
}
.rc-table .rc-table-content::-webkit-scrollbar {
  @apply h-[3px];
}
.rc-table .rc-table-content::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 0px rgba(0, 0, 0, 0.3);
  border-radius: 0px;
}

.rc-table .rc-table-content::-webkit-scrollbar-thumb {
  @apply rounded-md bg-light-800 dark:bg-dark-700;
}
.rc-table tr th {
  @apply border-0 border-b border-gray-200 dark:border-dark-600;
}
.rc-table thead.rc-table-thead th {
  @apply border-b !border-gray-200 text-13px dark:!border-dark-600 dark:text-light/60;
}
.rc-table thead.rc-table-thead th:first-child {
  @apply pl-5 rounded-tl-md;
}
.rc-table thead.rc-table-thead th:last-child {
  @apply rounded-tr-md;
}
.rc-table tr.rc-table-row td:first-child {
  @apply pl-5;
}
.rc-table tr.rc-table-row td:last-child {
  @apply pr-5;
}
.rc-table tbody tr td {
  @apply border-0 border-b border-gray-200 !bg-transparent dark:border-dark-600;
}
.rc-table .rc-table-tbody tr.rc-table-row:last-child td:first-child {
  @apply rounded-bl-md;
}
.rc-table .rc-table-tbody tr.rc-table-row:last-child td:last-child {
  @apply rounded-br-md;
}
.rc-table .rc-table-tbody tr.rc-table-row:last-child td,
.rc-table .rc-table-placeholder td {
  @apply border-0;
}
.rc-table .rc-table-cell.rc-table-cell-row-hover {
  @apply !bg-brand/10;
}
.rc-table thead .rc-table-cell-scrollbar::after {
  background-color: transparent !important;
}
.rc-table thead.rc-table-thead th {
  @apply px-4 py-3 font-medium bg-gray-100 border-transparent font-body text-13px dark:bg-dark-400;
}

.rc-table tr.rc-table-row td {
  @apply px-4 py-3 font-normal font-body text-13px dark:text-white;
}

.rc-table tr.rc-table-row:not(.rc-table-expanded-row) {
  cursor: pointer;
}

.rc-table tr.rc-table-expanded-row > td {
  @apply p-0 whitespace-normal border border-gray-50;
}

.rc-table tr.rc-table-expanded-row tr.rc-table-row {
  cursor: default;
}

.rc-table .rc-table-expanded-row-fixed::after {
  border-width: 0;
}
.rc-table.card-view-table .rc-table-content {
  @apply pb-32;
}
.rc-table.card-view-table .rc-table-tbody tr.rc-table-row:last-child td {
  @apply border-b;
}
.rc-table.card-view-table
  .rc-table-tbody
  .rc-table-placeholder
  .rc-table-expanded-row-fixed {
  width: calc(100% - 5px) !important;
}

[dir='rtl'] .react-tel-input .selected-flag {
  padding: 0 8px 0 0;
}
[dir='rtl'] .react-tel-input .country-list .flag {
  margin-right: 0;
  margin-left: 7px;
}
[dir='rtl'] .react-tel-input .selected-flag .arrow {
  left: auto;
  right: 20px;
}
[dir='rtl'] .react-tel-input .country-list {
  left: 0;
}

.razorpay-checkout-frame {
  color-scheme: light;
}
.razorpay-backdrop {
  @apply hidden;
}

.notify-button:hover .notify-button-icon svg {
  animation: 4s ease-in-out 0.05s infinite normal none running ring;
  transform-origin: 50% 4px;
}

@keyframes ring {
  0% {
    transform: rotate(0);
  }
  1% {
    transform: rotate(30deg);
  }
  3% {
    transform: rotate(-28deg);
  }
  5% {
    transform: rotate(34deg);
  }
  7% {
    transform: rotate(-32deg);
  }
  9% {
    transform: rotate(30deg);
  }
  11% {
    transform: rotate(-28deg);
  }
  13% {
    transform: rotate(26deg);
  }
  15% {
    transform: rotate(-24deg);
  }
  17% {
    transform: rotate(22deg);
  }
  19% {
    transform: rotate(-20deg);
  }
  21% {
    transform: rotate(18deg);
  }
  23% {
    transform: rotate(-16deg);
  }
  25% {
    transform: rotate(14deg);
  }
  27% {
    transform: rotate(-12deg);
  }
  29% {
    transform: rotate(10deg);
  }
  31% {
    transform: rotate(-8deg);
  }
  33% {
    transform: rotate(6deg);
  }
  35% {
    transform: rotate(-4deg);
  }
  37% {
    transform: rotate(2deg);
  }
  39% {
    transform: rotate(-1deg);
  }
  41% {
    transform: rotate(1deg);
  }
  43% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(0);
  }
}
.info-button:hover .info-button-icon svg {
  animation: 2s ease-in-out 0s infinite normal none running shake;
}

@keyframes shake {
  0%,
  20%,
  80%,
  100% {
    transform: translateX(0px);
  }
  40% {
    transform: translateX(-5px);
  }
  60% {
    transform: translateX(6px);
  }
}

.lang-switch-icon {
  animation: 0.7s ease-in-out 0s infinite alternate none running blink;
}

@keyframes blink {
  0% {
    transform: translateY(5px) scale(0.8);
  }
  100% {
    transform: translateY(0px) scale(1);
  }
}

@import './rich-text-editor.css';