@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap");

/* Fonts */
@font-face {
  font-family: "SF Pro Display";
  src: url("SFProDisplay-SemiboldItalic.ttf") format("truetype");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Display";
  src: url("SFProDisplay-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Display";
  src: url("SFProDisplay-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Display";
  src: url("SFProDisplay-ThinItalic.ttf") format("truetype");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Display";
  src: url("SFProDisplay-BlackItalic.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Display";
  src: url("SFProDisplay-UltralightItalic.ttf") format("truetype");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Display";
  src: url("SFProDisplay-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Display";
  src: url("SFProDisplay-HeavyItalic.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "SF Pro Display";
  src: url("SFProDisplay-LightItalic.ttf") format("truetype");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

/* Tailwind directives */
@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --font-body: "SF Pro Display", sans-serif;
  }
  .font-body {
    font-family: var(--font-body);
  }

  .white_img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(1%)
      hue-rotate(96deg) brightness(106%) contrast(101%);
  }

  .dark_img {
    filter: brightness(0) saturate(100%) invert(20%) sepia(7%) saturate(1122%)
      hue-rotate(161deg) brightness(91%) contrast(90%);
  }

  .olive_img {
    filter: brightness(0) saturate(100%) invert(72%) sepia(3%) saturate(1136%)
      hue-rotate(8deg) brightness(92%) contrast(86%);
  }

  .white_grad {
    background: linear-gradient(
      360deg,
      rgba(255, 255, 255, 0) 15%,
      #ffffff 95%
    );
  }

  .flex_auto {
    flex: 0 0 auto;
  }

  .scrollbar_none::-webkit-scrollbar {
    scrollbar-width: 0;
    display: none;
  }
}

@layer components {
  /* body */
  body {
    @apply font-body transition-colors text-[14px] font-normal leading-[26px];
  }

  .container {
    @apply mx-auto px-5;
  }

  /* texts */
  .r-20 {
    @apply md:text-[20px] text-[18px] md:leading-[30px] leading-[28px];
  }
  .r-18 {
    @apply md:text-[18px] text-[16px] md:leading-[28px] leading-[24px];
  }
  .r-16 {
    @apply md:text-[16px] text-[14px] md:leading-[1.2] leading-[1.2];
  }
  .r-14 {
    @apply md:text-[14px] text-[12px] md:leading-[1.2] leading-[1.2];
  }
  .r-12 {
    @apply text-[12px] md:leading-[1.2] leading-[1.2];
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    @apply font-body font-bold text-[#2F383E];
  }

  /* titles */
  .title_100 {
    @apply lg:text-[100px] text-[47px] font-semibold lg:leading-[97px] leading-[104%];
  }
  .title_40 {
    @apply lg:text-[40px] text-[32px] font-bold leading-[1.2];
  }
  .title_32 {
    @apply lg:text-[32px] text-[24px] font-bold leading-[1.2];
  }
  .title_22 {
    @apply text-[22px] font-bold leading-[1.2];
  }

  /* Button */
  .button {
    @apply transition-all whitespace-nowrap capitalize font-semibold hover:shadow-xl w-fit text-[18px] text-white hover:bg-[#F86F60] hover:text-[#ffffff] h-[52px] flex items-center justify-center px-[40px] bg-[#F86F60] rounded-full;
  }

  .button_pink {
    @apply bg-[#069CB0] text-white hover:bg-[#026977];
  }
}

/* header_sticky */
.header_sticky .menu_bottom {
  background: #2f383e;
  padding: 20px 0;
}

/* product_box */
.product_box {
  transition: 0.5s;
}

.product_box.active {
  opacity: 1;
  transform: translateX(0);
}

.category_toggle.active {
  opacity: 0.5;
}

.product_box .product_box_inner img {
  transition-delay: 0.35s;
  opacity: 0;
  transition: 1.5s;
  transform: translateX(60px);
}

.product_box.active .product_box_inner img {
  opacity: 1;
  transform: translateX(0);
}

.category_dot span {
  transition: 0.25s;
}

.category_dot.active span {
  width: 35px;
}

.category_dot.active {
  opacity: 1;
}

/* Swipper Slider */
.swiper-navigation-icon {
  display: none;
}

.swiper-pagination-bullet {
  width: 6px;
  height: 6px;
  background: #a9a494;
  border-radius: 10000px;
  opacity: 1;
  margin: 0 !important;
  padding: 0 !important;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 35px;
}

/* accordion_body */
.accordion_body {
  transition: 0.3s ease;
}

.accordion_body::-webkit-scrollbar {
  scrollbar-width: 0;
  display: none;
}

.accordion_v1 .accordion_item.active .accordion_body {
  height: 70px;
  padding-top: 10px;
}

.accordion_v2 .accordion_item .accordion_body {
  height: auto;
  max-height: 0;
  transition: max-height 0.5s ease;
}

.accordion_v2 .accordion_item.active .accordion_body {
  max-height: 60px;
}

.accordion_v2 .accordion_item.active .arrow_icon {
  transform: rotate(0);
}

.accordion_item.active .plus_minus img.hidden {
  display: block;
}

.accordion_item.active .plus_minus img:not(.hidden) {
  display: none;
}

/* ============== Video box ================== */
.video__wrapper {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
}

video {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  max-width: 100%;
  display: inline-block;
  vertical-align: top;
}

.video__play-button {
  margin: 0;
  padding: 0;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 1.1rem;
  -webkit-appearance: none;
  z-index: 2;
  transition: all 200ms ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center;
}

.video__play-button-icon {
  width: 82px;
  transition: all 200ms ease-in-out;
}

.paused_icon {
  width: 82px;
}

.video__play-button-icon--play polygon {
  transform-origin: 50% 50%;
  transition: all 200ms ease-in-out;
}

.video__play-button-icon--play:hover polygon {
  transform: scale(1.5);
}

.video__play-button[data-button-state="pause"] .video__play-button-icon--pause {
  display: none;
}

.video__play-button[data-button-state="play"] .video__play-button-icon--play {
  display: none;
}

.video__play-button[data-button-state="play"] .video__play-button-icon {
  opacity: 0;
}

.video__play-button[data-button-state="play"]:hover .video__play-button-icon {
  opacity: 1;
}

.video__play-button[data-button-state="play"] {
  background-color: rgba(0, 0, 0, 0);
}

.video__play-button[data-button-state="play"]:hover {
  background-color: rgba(0, 0, 0, 0.4);
}

.video__fullscreen-button {
  margin: 0;
  padding: 0;
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  border: 0;
  background: transparent;
  cursor: pointer;
  border-radius: 0;
  -webkit-appearance: none;
  z-index: 3;
  transition: all 200ms ease-in-out;
}

.video__fullscreen-icon {
  padding: 1rem;
  display: block;
  vertical-align: top;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  transition: all 200ms ease-in-out;
}

.video__wrapper[data-state="pause"] .video__fullscreen-icon,
.video__wrapper[data-state="play"]:hover .video__fullscreen-icon {
  opacity: 1;
  visibility: visible;
}

.video__fullscreen-icon polygon {
  fill: currentColor;
}

/* dropdown_list  */
.dropdown:hover .dropdown_list {
  opacity: 1;
  pointer-events: all;
}

.seller_info h3 {
  display: -webkit-box;
  -webkit-line-clamp: 2; /* Limit to 2 lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ========== marquee =========== */
.marquee {
  overflow: hidden;
  position: relative;
}

.marquee-inner {
  will-change: transform;
  transition: transform 0.1s linear;
}

/* search_field */
.search_field.active {
  opacity: 1;
  pointer-events: all;
}

@media (min-width: 1360px) {
  .container {
    max-width: 1280px;
  }
}

@media (min-width: 1160px) and (max-width: 1359.98px) {
  .container {
    max-width: 1080px;
  }

  /* texts */
  .r-20 {
    font-size: 18px !important;
  }
  .r-18 {
    font-size: 16px !important;
  }
  .r-16 {
    font-size: 14px !important;
  }
  .r-14 {
    font-size: 12px !important;
  }

  /* titles */
  .title_100 {
    font-size: 80px !important;
  }
  .title_40 {
    font-size: 34px !important;
  }
  .title_32 {
    font-size: 28px !important;
  }
  .title_22 {
    font-size: 18px !important;
  }

  .footer_top_two {
    gap: 45px;
  }

  .select_sizes .size {
    font-size: 8px;
    white-space: nowrap;
    padding: 0 5px;
    height: 18px;
  }

  .product_boxes {
    height: 480px;
  }

  .product_box .cta_btn {
    top: 100px;
    right: 55px;
  }
}

@media (min-width: 1024px) and (max-width: 1159.98px) {
  .container {
    max-width: 940px;
  }

  /* texts */
  .r-20 {
    font-size: 16px !important;
  }
  .r-18 {
    font-size: 14px !important;
  }
  .r-16 {
    font-size: 12px !important;
  }
  .r-14 {
    font-size: 10px !important;
  }

  /* titles */
  .title_100 {
    font-size: 70px !important;
  }
  .title_40 {
    font-size: 32px !important;
  }
  .title_32 {
    font-size: 26px !important;
  }
  .title_22 {
    font-size: 16px !important;
  }

  .email_box input {
    width: 270px;
  }

  .email_box button {
    width: 100px;
  }

  .footer_top_two {
    gap: 30px;
  }

  .footer_top_one {
    width: 280px;
  }

  .email_box input {
    width: 270px;
  }

  .email_box button {
    width: 100px;
  }

  .footer_top_two {
    gap: 30px;
  }

  .footer_top_one {
    width: 280px;
  }

  .menu_mid .logo img {
    width: 160px;
  }

  .menu a {
    font-size: 14px;
    white-space: nowrap;
  }

  .email_box input {
    width: 270px;
  }

  .email_box button {
    width: 100px;
  }

  .footer_top_two {
    gap: 30px;
  }

  .footer_top_one {
    width: 280px;
  }

  .menu_mid .logo img {
    width: 160px;
  }

  .menu a {
    font-size: 14px;
    white-space: nowrap;
  }

  .product_boxes {
    height: 350px;
  }

  .product_box_inner .title_32 {
    font-size: 16px !important;
  }

  .product_box_inner .cta_btn {
    font-size: 12px;
    height: 24px;
    padding: 0 14px;
    right: 30px;
    top: 85px;
  }

  .view_product_btn {
    font-size: 14px;
    height: 34px;
    padding: 0 20px;
  }

  .email_box input {
    width: 270px;
  }

  .email_box button {
    width: 100px;
  }

  .footer_top_two {
    gap: 30px;
  }

  .footer_top_one {
    width: 280px;
  }

  .menu_mid .logo img {
    width: 160px;
  }

  .menu a {
    font-size: 14px;
    white-space: nowrap;
  }

  .product_boxes {
    height: 350px;
  }

  .product_box_inner .title_32 {
    font-size: 16px !important;
  }

  .product_box_inner .cta_btn {
    font-size: 12px;
    height: 24px;
    padding: 0 14px;
    right: 30px;
    top: 85px;
  }

  .view_product_btn {
    font-size: 14px;
    height: 34px;
    padding: 0 20px;
  }

  .review_info .stars img {
    width: 10px;
  }

  .reivew_img img {
    height: 150px;
  }
}

@media (max-width: 1023.98px) {
  .dropdown_list {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.6s ease;
  }

  .dropdown.active .dropdown_list {
    max-height: 300px;
    opacity: 1;
    pointer-events: all;
    padding-top: 15px;
  }

  .dropdown > a img {
    transition: 0.35s ease;
  }

  .dropdown.active > a img {
    transform: rotate(180deg);
  }

  .menu_active .primary_menu {
    top: 0;
  }

  .discover_box .title_40 {
    font-size: 24px;
  }

  /* =========== product ========== */
  .product_row {
    display: grid;
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }

  .product_boxes {
    grid-row: 1;
    grid-column: 1 / -1;
  }

  .product_row_left {
    grid-row: 2;
    grid-column: 1;
  }

  .product_row_right {
    grid-row: 2;
    grid-column: 2;
  }
}

@media (max-width: 767.98px) {
  .discover_box .title_40 {
    font-size: 32px;
  }
}

@media (max-width: 574.98px) {
}
