@import "tailwindcss";

/* Custom breakpoint for extra small devices */
@custom-variant xs (@media (min-width: 400px));

@font-face {
  font-family: 'PlusJakartaSansVF';
  src: url('../fonts/Plus_Jakarta_Sans/PlusJakartaSans-VariableFont_wght.ttf') format('truetype-variations'),
  url('../fonts/Plus_Jakarta_Sans/PlusJakartaSans-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 1000;
  font-display: fallback;
}

@font-face {
  font-family: 'ClashDisplay';
  src: url('../fonts/clashdisplay/ClashDisplay-Variable.woff2') format('woff2'),
  url('../fonts/clashdisplay/ClashDisplay-Variable.woff') format('woff'),
  url('../fonts/clashdisplay/ClashDisplay-Variable.ttf') format('truetype'),
  url('../fonts/clashdisplay/ClashDisplay-Variable.eot') format('embedded-opentype');
  font-weight: 100 1000;
  font-display: fallback;
}

@font-face {
  font-family: 'ModernWarfare';
  src: url('../fonts/ModernWarfare/ModernWarfare-8MM6z.ttf') format('truetype'),
}

@font-face {
  font-family: 'yekanbakh';
  src: url('../fonts/yekanbakh/YekanBakhFaNum-VF.woff') format('woff2'),
  url('../fonts/yekanbakh/YekanBakhFaNum-VF.woff2') format('woff'),
}

@font-face {
  font-family: 'Dana';
  src: url('../fonts/Dana/DanaVF.ttf') format('truetype'),
}

@font-face {
  font-family: 'Rokh';
  src: url('../fonts/Rokh/RokhVFGX.ttf') format('truetype'),
}

::-webkit-scrollbar {
  width: 3px;
  height: 3px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

.coupon-pro {
  -webkit-mask-image: radial-gradient(circle at right 15px bottom 107px, transparent 15px, red 15.5px), linear-gradient(90deg, transparent 25%, red 0, red 75%, transparent 0);
  -webkit-mask-size: 100%, 18px 2px;
  -webkit-mask-repeat: repeat, repeat-x;
  -webkit-mask-position: 15px, 50% calc(100% - 106px);
  -webkit-mask-composite: source-out;
  mask-composite: subtract;
}

.plusJakartaSans {
  font-family: 'PlusJakartaSansVF';
}

.clashDisplay {
  font-family: 'ClashDisplay';
}

.yekanbakh {
  font-family: 'yekanbakh';
}

.Dana {
  font-family: 'Dana';
}

.Rokh {
  font-family: 'Rokh';
}

p,
span,
a,
li,
button,
input,
div {
  font-family: 'Dana' !important;
  -moz-font-feature-settings: "ss02";
  -webkit-font-feature-settings: "ss02";
  font-feature-settings: "ss02";
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Rokh' !important;
}

/* Swiper Pagination Styles */
.swiper-pagination-cards {
  position: relative !important;
  width: auto !important;
  bottom: auto !important;
}

.swiper-pagination-cards .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: #E7EAF0;
  opacity: 1;
  border-radius: 50%;
  transition: all 0.3s ease;
}

.swiper-pagination-cards .swiper-pagination-bullet-active {
  width: 24px;
  background: #F5535B;
  border-radius: 10px;
}

@media (min-width: 640px) {
  .swiper-pagination-cards .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
  }

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

@media (min-width: 768px) {
  .swiper-pagination-cards .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
  }

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

/* Custom Checkbox with white checkmark */
input[type="checkbox"].accent-\[\#46E8E0\] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border: 2px solid #E7EAF0;
  border-radius: 4px;
  background-color: white;
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease;
}

input[type="checkbox"].accent-\[\#46E8E0\]:checked {
  background-color: #46E8E0;
  border-color: #46E8E0;
}

input[type="checkbox"].accent-\[\#46E8E0\]:checked::after {
  content: '';
  position: absolute;
  top: 1px;
  left: 4px;
  width: 5px;
  height: 9px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Hero Slider Animations */
.slide-image {
  @apply opacity-0 scale-110 transition-all duration-800 ease-out;
}

.slide-content {
  @apply opacity-0 translate-x-12 transition-all duration-600 ease-out;
}

.slide-title {
  @apply opacity-0 translate-y-8 transition-all duration-600 ease-out delay-200;
}

.slide-desc {
  @apply opacity-0 translate-y-8 transition-all duration-600 ease-out delay-400;
}

.slide-btn {
  @apply opacity-0 translate-y-8 transition-all duration-600 ease-out delay-600;
}

/* Active Slide */
.swiper-slide-active .slide-image {
  @apply opacity-100 scale-100;
}

.swiper-slide-active .slide-content {
  @apply opacity-100 translate-x-0;
}

.swiper-slide-active .slide-title,
.swiper-slide-active .slide-desc,
.swiper-slide-active .slide-btn {
  @apply opacity-100 translate-y-0;
}

/* Hero Pagination */
.hero-pagination {
  @apply absolute bottom-3 sm:bottom-6 inset-x-0 mx-auto !w-fit z-10 bg-[#00000029]/40 md:bg-[#00000029] backdrop-blur-[36px] rounded-[16px] sm:rounded-[24px] px-1 md:px-4 py-0.5 sm:py-1;
}

.hero-pagination .swiper-pagination-bullet {
  @apply w-[5px] h-[5px] sm:w-[8px] sm:h-[8px] bg-[#FFFFFFB2] rounded-full transition-all duration-300 ease-in-out mx-1 sm:mx-1.5;
}

.hero-pagination .swiper-pagination-bullet-active {
  @apply w-[14px] sm:w-[24px] h-[5px] sm:h-[8px] bg-[#FFFFFF] rounded-[8px];
}

/* Vertical Slider */
.vertical-swiper {
  @apply overflow-hidden;
}

.vertical-slide {
  @apply transition-all duration-500 ease-out;
  transform: scale(1);
}

.vertical-slide.swiper-slide-active {
  transform: scale(1);
}

.vertical-slide .slide-inner {
  @apply bg-white transform transition-all duration-500 border-[4px] border-[#FFFFFF];
}

.vertical-slide.swiper-slide-active .slide-inner {
  scale: 1.2;
  @apply border-[4px] border-[#FF0000]/30;
}

/* ============================================
   Smooth Corners (Squircle) Utility Classes
   Usage: Add these classes to elements for iOS-style rounded corners
   Note: Only works in Chromium browsers (Chrome, Edge, Opera)
   ============================================ */

/* Base smooth corners class - apply this to enable squircle effect */
.squircle {
  --smooth-corners: 4;
  mask-image: paint(smooth-corners);
  -webkit-mask-image: paint(smooth-corners);
}

/* Curvature variants */
.squircle-3 {
  --smooth-corners: 3;
}

/* More rounded */
.squircle-4 {
  --smooth-corners: 4;
}

/* Default squircle */
.squircle-5 {
  --smooth-corners: 5;
}

/* iOS app icon style */
.squircle-6 {
  --smooth-corners: 6;
}

/* Subtle rounding */

/* Size-specific squircle classes (for cards, images, etc.) */
.squircle-sm {
  --smooth-corners: 5;
  mask-image: paint(smooth-corners);
  -webkit-mask-image: paint(smooth-corners);
}

.squircle-md {
  --smooth-corners: 4;
  mask-image: paint(smooth-corners);
  -webkit-mask-image: paint(smooth-corners);
}

.squircle-lg {
  --smooth-corners: 3.5;
  mask-image: paint(smooth-corners);
  -webkit-mask-image: paint(smooth-corners);
}

.squircle-xl {
  --smooth-corners: 3;
  mask-image: paint(smooth-corners);
  -webkit-mask-image: paint(smooth-corners);
}

/* Card-specific squircle - ideal for product cards, blog cards */
.squircle-card {
  --smooth-corners: 4;
  mask-image: paint(smooth-corners);
  -webkit-mask-image: paint(smooth-corners);
}

/* Button squircle - for buttons and small interactive elements */
.squircle-btn {
  --smooth-corners: 5;
  mask-image: paint(smooth-corners);
  -webkit-mask-image: paint(smooth-corners);
}

/* Image squircle - for profile images, thumbnails */
.squircle-img {
  --smooth-corners: 4.5;
  mask-image: paint(smooth-corners);
  -webkit-mask-image: paint(smooth-corners);
}

.nazar .swiper-slide {
  transform: scale(0.8) !important;
  transition: 0.5s;
  filter: blur(2px);
}

.nazar .swiper-slide-active {
  transform: scale(1.0) !important;
  filter: blur(0px);
}

.swiper-nazar-pagination {
  position: relative !important;
  bottom: auto !important;
  width: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  transform: none !important;
}

.swiper-nazar-pagination .swiper-pagination-bullet {
  width: 8px !important;
  height: 8px !important;
  margin: 0 !important;
  background-color: #E7EAF0 !important;
  opacity: 1 !important;
  border-radius: 50% !important;
  transition: all 0.3s ease !important;
  flex-shrink: 0 !important;
}

.swiper-nazar-pagination .swiper-pagination-bullet-active {
  width: 28px !important;
  height: 8px !important;
  border-radius: 8px !important;
  background-color: #FA5C64 !important;
}

@media (min-width: 768px) {
  .swiper-nazar-pagination .swiper-pagination-bullet {
    width: 10px !important;
    height: 10px !important;
  }

  .swiper-nazar-pagination .swiper-pagination-bullet-active {
    width: 32px !important;
    height: 10px !important;
  }
}

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: #f8f8f8;
  border-radius: 10px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.05);
}

::-webkit-scrollbar-thumb {
  background: #F5535B;
  border-radius: 10px;
  border: 2px solid #f8f8f8;
  background-clip: padding-box;
  transition: all 0.3s ease;
}

::-webkit-scrollbar-thumb:hover {
  background: #e04a52;
  border-width: 1px;
}

::-webkit-scrollbar-thumb:active {
  background: #c94148;
}

::-webkit-scrollbar-corner {
  background: #f8f8f8;
}

/* Sale cards vertical pagination */
.sale-cards-pagination {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sale-cards-swiper,
.sale-cards-swiper .swiper-wrapper {
  overflow: visible !important;
}

.sale-cards-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: #E7EAF0;
  opacity: 1;
  border-radius: 50%;
  transition: all 0.3s ease;
  margin: 0 !important;
}

.sale-cards-pagination .swiper-pagination-bullet-active {
  background: #FA5C64;
  height: 20px;
  border-radius: 4px;
}