/* =========================
   FONTS
   ========================= */
@font-face{
  font-family:'Noora-bold';
  src:url('http://raya-bit.com/assets/fonts/Noora-FD-Bold.woff2') format('woff2');
  font-weight:700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Noora-Medium';
  src:url('http://raya-bit.com//assets/fonts/Noora-Medium.woff2') format('woff2');
  font-weight:700; font-style:normal; font-display:swap;
}

:root{
  --rose-gold:#60A5FA;            /* primary blue-400 */
  --rose-gold-dark:#2563EB;       /* blue-600 */
  --rose-gold-light:#EAF4FF;      /* light blue */
  --rose-gold-accent:#3B82F6;     /* blue-500 */
  --rose-gold-accent-dark:#1D4ED8;/* blue-700 */

  --alert-red:#ff4444;

  --gray-dark:#1F2937;
  --gray-light:#F3F4F6;

  --text-white:#ffffff;
  --black:#000000;

  --shadow:rgba(96,165,250,.2);
  --shadow-hover:rgba(37,99,235,.35);

  --blue-700:#1E40AF;
  --beige:#93C5FD; /* used for section titles */
}

/* =========================
   GLOBAL ELEMENTS
   ========================= */
*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;
  direction:rtl;background:#ffffff;color:#333;line-height:1.6;
  padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);
}

/* text colors */
.product-details h1,.product-details p,.product-info p,
.reviews h2,.reviews p,.review p,
label,input,textarea,select,button,a{
  font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;
  color:var(--rose-gold);
}
a{transition:color .3s ease;}
a:hover{color:var(--rose-gold-light);}

/* Form fields */
input,textarea,select{
  border:1px solid var(--rose-gold);background:#fff;
  padding:clamp(.5rem,1vw,.75rem);border-radius:.375rem;
  transition:border-color .3s ease,box-shadow .3s ease;
}
input:focus,textarea:focus,select:focus{
  outline:none;border-color:var(--rose-gold-dark);
  box-shadow:0 0 0 3px rgba(96,165,250,.2);
}

/* Buttons */
button,form button{
  background:var(--rose-gold);color:var(--text-white);
  padding:clamp(.5rem,1vw,.75rem) clamp(1rem,2vw,1.5rem);
  border:none;border-radius:.375rem;cursor:pointer;
  transition:background-color .3s ease,transform .2s ease;
}
button:hover,form button:hover{background:var(--rose-gold-dark);transform:scale(1.05);}
button:active,form button:active{transform:scale(1);}

/* =========================
   LAYOUT
   ========================= */
.container{max-width:1400px;margin:0 auto;padding:0 1rem;}

/* Header / Nav */
header{
  position:sticky !important;top:0;z-index:100 !important;
  background:linear-gradient(180deg,#fff 80%,rgba(255,255,255,.9));
  box-shadow:0 4px 12px rgba(0,0,0,.1);
  border-bottom:3px solid var(--rose-gold);
  transition:padding .3s ease;
}
header.py-2{padding-top:.5rem;padding-bottom:.5rem;}
header.py-3{padding-top:.75rem;padding-bottom:.75rem;}

nav{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:.75rem 0;}
.logo{
  font-family:'Vazir','Noora-bold','IRANSans',Tahoma,sans-serif;
  font-size:1.5rem;font-weight:700;color:var(--rose-gold-dark);
  text-shadow:0 1px 2px rgba(0,0,0,.1);
}
.nav-menu{display:flex;list-style:none;align-items:center;}
.nav-menu li{margin-left:1.5rem;}
.nav-menu li a{
  font-family:'Vazir','Noora-bold','IRANSans',Tahoma,sans-serif;
  text-decoration:none;color:var(--rose-gold-dark);font-weight:600;font-size:.9rem;
  display:flex;align-items:center;padding:.5rem .75rem;border-radius:8px;transition:all .3s ease;
}
.nav-menu li a:hover{color:var(--rose-gold);background:var(--rose-gold-light);box-shadow:0 2px 4px rgba(0,0,0,.1);}
.nav-menu li a i{margin-left:.5rem;font-size:1.1rem;transition:transform .3s ease;}
.nav-menu li a:hover i{transform:scale(1.1);}

/* Search bar */
.search-bar{width:100%;max-width:400px;flex-grow:1;display:flex;justify-content:center;}
.search-bar .relative{position:relative;width:100%;max-width:400px;}
.search-bar input{
  font-family:'Vazir','Noora-bold','IRANSans',Tahoma,sans-serif;
  border:2px solid #e5e7eb;border-radius:9999px;
  padding:.5rem 1rem .5rem 2.5rem;width:100%;font-size:.95rem;
  color:var(--rose-gold-dark);background:#fff;transition:border-color .3s ease,box-shadow .3s ease;
}
.search-bar input:focus{border-color:var(--rose-gold);box-shadow:0 0 5px rgba(59,130,246,.3);outline:none;}
.search-bar input::placeholder{color:var(--rose-gold);font-weight:500;opacity:.7;}
.search-bar button{
  position:absolute;left:.5rem;top:50%;transform:translateY(-50%);
  background:var(--rose-gold);border:none;border-radius:50%;
  width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background .3s ease;
}
.search-bar button:hover{background:var(--rose-gold-dark);}
.search-bar button i{font-size:.85rem;color:var(--text-white);}
.search-bar button:active{transform:translateY(-50%) scale(.95);}

/* Sidebar (single clean block) */
.sidebar{
  position:fixed;top:0;right:-100%;height:100%;width:20rem;
  background:linear-gradient(180deg,#ffffff 0%,#EEF6FF 100%);
  box-shadow:-4px 0 12px rgba(0,0,0,.2);
  transition:right .3s ease;z-index:60;display:none;overflow-y:auto;-webkit-overflow-scrolling:touch;
}
.sidebar:not(.hidden){right:0;display:block !important;}
.sidebar .border-b{border-bottom:2px solid var(--rose-gold);}
.sidebar ul li a{transition:all .2s ease;}
.sidebar ul li a:hover{transform:translateX(-5px);}
.hamburger{display:none;z-index:70;touch-action:manipulation;}
.hamburger i{font-size:1.5rem;color:var(--rose-gold-dark);transition:transform .3s ease;}
.hamburger:hover i{transform:scale(1.25);color:var(--rose-gold);}
.hamburger:active i{transform:scale(1.1);}

/* Android WebView fixes */
.android-webview .sidebar{position:absolute;z-index:100;}
.android-webview body{position:relative;}

/* Responsive header/search/sidebar */
@media (max-width:768px){
  .search-bar{max-width:100%;width:100%;padding:0 1rem;}
  .search-bar input{padding-left:2.5rem;font-size:.9rem;}
  .search-bar button{width:1.5rem;height:1.5rem;}
  .search-bar button i{font-size:.75rem;}
  .sidebar{width:80%;max-width:300px;}
}
@media (max-width:1024px){
  .nav-menu{display:none;}
  .hamburger{display:block;}
}

/* Search button pulse */
@keyframes pulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.2);opacity:.8;}}
.search-bar button:hover i{animation:pulse .5s ease;}

/* Ensure header is visible in all cases */
body>header{display:block !important;}

/* =========================
   CTA BUTTONS
   ========================= */
.fancy-btn{
  font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;
  background:linear-gradient(135deg,var(--rose-gold),var(--rose-gold-dark));
  color:var(--text-white);padding:.75rem 1.5rem;border-radius:50px;font-size:1rem;font-weight:600;
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
  transition:all .4s cubic-bezier(.4,0,.2,1);
  box-shadow:0 8px 20px var(--shadow),0 4px 8px rgba(0,0,0,.1);
  border:2px solid transparent;transform:perspective(1200px) translateZ(0);
  position:relative;overflow:hidden;
}
.fancy-btn::before{
  content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);
  transition:left .4s ease;
}
.fancy-btn:hover::before{left:100%;}
.fancy-btn:hover,.fancy-btn:focus{
  background:var(--black);color:var(--text-white);
  box-shadow:0 12px 24px var(--shadow-hover),0 6px 16px rgba(0,0,0,.2);
  transform:perspective(1200px) translateZ(10px) scale(1.05);outline:none;
}
.fancy-btn:active{transform:perspective(1200px) translateZ(10px) scale(.95);}
.fancy-btn i{margin-right:.5rem;font-size:1.2rem;transition:transform .4s cubic-bezier(.4,0,.2,1);}
.fancy-btn:hover i,.fancy-btn:focus i{transform:scale(1.1);}

.support-btn{
  font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;
  background:linear-gradient(to right,var(--rose-gold),var(--rose-gold-dark));
  color:var(--text-white);padding:.75rem 1.5rem;border-radius:50px;font-size:.9rem;font-weight:600;
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
  transition:all .3s cubic-bezier(.4,0,.2,1);
  box-shadow:0 8px 15px var(--shadow),0 4px 6px rgba(0,0,0,.05);
  border:2px solid var(--rose-gold-dark);
  transform:perspective(1200px) translateZ(0);
  animation:bounce 1.5s infinite cubic-bezier(.4,0,.2,1),pulse 3s infinite ease-in-out;
  position:relative;overflow:hidden;
}
.support-btn::before{
  content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);
  transition:left .4s ease;
}
.support-btn:hover::before{left:100%;}
.support-btn:hover,.support-btn:focus{
  background:var(--black);color:var(--text-white);
  box-shadow:0 12px 24px var(--shadow-hover),0 6px 16px rgba(0,0,0,.2);
  transform:perspective(1200px) translateZ(10px) scale(1.05);
  border:2px solid var(--black);animation:none;outline:none;
}
.support-btn:active{transform:perspective(1200px) translateZ(10px) scale(.95);}
.support-btn i{margin-right:.5rem;font-size:1.2rem;transition:transform .3s cubic-bezier(.4,0,.2,1);}
.support-btn:hover i,.support-btn:focus i{transform:scale(1.1);}

@keyframes bounce{0%,100%{transform:perspective(1200px) translateZ(0) translateY(0);}50%{transform:perspective(1200px) translateZ(10px) translateY(-5px);}}
@keyframes pulse{0%,100%{transform:perspective(1200px) translateZ(0) scale(1);}50%{transform:perspective(1200px) translateZ(0) scale(1.05);}}

/* =========================
   BADGES & BANNERS
   ========================= */
#cart-count{
  width:1.5rem;height:1.5rem;font-size:.75rem;line-height:1.5rem;text-align:center;
  background:var(--alert-red);color:var(--text-white);border-radius:50%;
  position:absolute;top:-.5rem;right:-.5rem;transform:scale(.8);transition:transform .3s ease;
}
#cart-count.animate__heartBeat{transform:scale(1);}

.top-banner{
  position:relative;overflow:hidden;width:100%;
  background:linear-gradient(135deg,var(--rose-gold-light),var(--rose-gold));
}

/* لایه آبی که فقط روی هاور ظاهر می‌شود */
.top-banner::after{
  content:"";
  position:absolute; inset:0;
  background:rgba(37,99,235,.25); /* آبی (var(--rose-gold-dark)) با شفافیت */
  opacity:0;                      /* پیش‌فرض پنهان */
  transition:opacity .35s ease;
  pointer-events:none;            /* روی کلیک‌ها اثر نذاره */
}

.top-banner:hover::after{
  opacity:1;                      /* فقط وقتی موس روشه، هاله آبی بیاد */
}

.top-banner img{
  width:100%;height:auto;object-fit:cover;
  max-height:clamp(250px,40vw,600px);
  display:block;opacity:.9;transition:opacity .3s ease;
}
.top-banner:hover img{opacity:1;} /* می‌تونی نگه‌داری یا حذفش کنی */
.top-banner .text-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;}
.top-banner h2{
  font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;
  font-size:clamp(1.5rem,5vw,2.5rem);font-weight:700;
}
.top-banner a{
  font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;
  font-size:clamp(.875rem,2vw,1rem);padding:.5rem 1.5rem;
}


/* =========================
   HERO SLIDER
   ========================= */
.hero{position:relative;height:clamp(50vh,80vh,80vh);overflow:hidden;}
.slider{position:relative;height:100%;}
.slide{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;}
.slide.active{display:block;}
.slide .relative{height:100%;display:flex;align-items:center;justify-content:center;}
.slide h1{
  font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;
  font-size:clamp(1.75rem,5vw,3rem);font-weight:700;
}
.slide p{
  font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;
  font-size:clamp(.875rem,2vw,1.25rem);
}
.slider-prev,.slider-next{
  background:rgba(0,0,0,.5);padding:.75rem;border-radius:50%;cursor:pointer;
  transition:background .3s ease,transform .3s ease;z-index:20;
}
.slider-prev:hover,.slider-next:hover{background:var(--rose-gold);}
.slider-prev:active,.slider-next:active{transform:scale(.95);}

/* =========================
   MODAL
   ========================= */
.modal{
  position:fixed;inset:0;background:rgba(0,0,0,.5);
  display:flex;align-items:center;justify-content:center;z-index:100;
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.modal.hidden{opacity:0;pointer-events:none;}
.modal.active{opacity:1;pointer-events:auto;}
.modal-content{
  background:var(--gray-light);border-radius:.5rem;padding:1.5rem;
  max-height:80vh;overflow-y:auto;width:90%;max-width:500px;position:relative;
  box-shadow:0 4px 12px rgba(0,0,0,.1);
}
.modal-content h2{
  font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;
  font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:var(--rose-gold-dark);
}
.modal-content form{display:flex;flex-direction:column;gap:1rem;}
.modal-content label{font-size:.875rem;color:#333;}
.modal-content input,.modal-content textarea{
  font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;
  padding:.5rem;border:1px solid var(--rose-gold-light);border-radius:.25rem;width:100%;font-size:.875rem;
}
.modal-content button{
  background:var(--rose-gold);color:var(--text-white);padding:.75rem;border:none;border-radius:9999px;cursor:pointer;transition:background .3s ease;
}
.modal-content button:hover{background:var(--rose-gold-dark);}
.modal-content button:active{background:var(--rose-gold-dark);transform:scale(.95);}
.modal-content #close-modal{background:none;color:var(--rose-gold-dark);text-decoration:underline;padding:0;margin-top:.5rem;}
.modal-content #modal-message{margin-top:.5rem;text-align:center;font-size:.875rem;}

/* Loader */
.loader{transition:opacity .3s ease;}
.spinner{border:2px solid transparent;border-top-color:var(--rose-gold);animation:spin 1s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* =========================
   FEATURED / PRODUCTS
   ========================= */
.featured-products{padding:clamp(2rem,4vw,4rem) 0;}
.featured-products h2{
  font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;
  font-size:clamp(1.5rem,3vw,2.5rem);margin-bottom:clamp(1rem,2vw,2rem);
}
.filter-bar{gap:clamp(.5rem,1vw,1rem);margin-bottom:clamp(1rem,2vw,2rem);}
.filter-bar button{font-size:.9rem;padding:.5rem 1.5rem;transition:all .3s ease;}

.masonry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:1rem;}
.masonry-item{break-inside:avoid;}
.product-card{
  background:#fff;border-radius:.5rem;overflow:hidden;
  box-shadow:0 4px 12px rgba(0,0,0,.1);
  transition:transform .3s ease,box-shadow .3s ease;width:100%;
}
.product-card:hover,.product-card:active{transform:translateY(-5px);box-shadow:0 8px 24px rgba(0,0,0,.15);}
.product-card img{width:100%;height:clamp(100px,20vw,200px);object-fit:cover;aspect-ratio:1/1;border-radius:50%;}
.product-card img.rounded,
.product-card img.rounded-full{ border-radius:0 !important; }
.product-card h3{font-size:clamp(.875rem,2vw,1rem);font-weight:600;}
.product-card p{margin:.5rem 0;font-size:clamp(.75rem,1.5vw,.875rem);}
.product-card .text-rose-gold{color:var(--rose-gold);font-weight:700;}
.product-card .line-through{color:#6B7280;}
.product-card a{
  font-size:clamp(.75rem,1.5vw,.875rem);padding:.5rem 1.25rem;border-radius:9999px;transition:all .3s ease;
}
.product-card a.bg-rose-gold:hover{background:var(--rose-gold-dark);}
.product-card a.bg-blue-600:hover{background:var(--blue-700);}
.product-card .bg-red-500{background:var(--alert-red);}
.product-card a:active{transform:scale(.95);}

.featured-products h2,.plus-categories h2{
  font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;color:var(--beige);
}

/* =========================
   SWIPERS
   ========================= */
.product-swiper{position:relative;overflow:hidden;padding:0 clamp(1rem,2vw,2rem);}
.product-swiper .swiper-wrapper{display:flex;align-items:center;}
.product-swiper .swiper-slide{width:clamp(120px,25vw,200px);display:flex;justify-content:center;}
.product-swiper .swiper-button-prev,.product-swiper .swiper-button-next{
  position:absolute;top:50%;transform:translateY(-50%);
  width:clamp(2rem,5vw,2.5rem);height:clamp(2rem,5vw,2.5rem);
  background:var(--rose-gold);color:var(--text-white);border-radius:50%;
  display:flex;align-items:center;justify-content:center;transition:background .3s ease,transform .3s ease;z-index:10;
}
.product-swiper .swiper-button-prev:hover,.product-swiper .swiper-button-next:hover{background:var(--rose-gold-dark);transform:translateY(-50%) scale(1.1);}
.product-swiper .swiper-button-prev:active,.product-swiper .swiper-button-next:active{transform:translateY(-50%) scale(.95);}
.product-swiper .swiper-button-prev{right:.5rem;}
.product-swiper .swiper-button-next{left:.5rem;}
.product-swiper .swiper-button-prev::after,.product-swiper .swiper-button-next::after{font-size:16px;font-weight:bold;}
.product-swiper .swiper-pagination{position:relative;bottom:0;margin-top:1rem;text-align:center;}
.product-swiper .swiper-pagination-bullet{background:var(--rose-gold);opacity:.5;width:10px;height:10px;margin:0 4px;transition:opacity .3s ease;}
.product-swiper .swiper-pagination-bullet-active{opacity:1;background:var(--rose-gold-dark);}

/* Plus category swiper */
.plus-category-swiper{position:relative;overflow:hidden;padding:0 clamp(1rem,2vw,2rem);}
.plus-category-swiper .swiper-wrapper{display:flex;align-items:center;}
.plus-category-swiper .swiper-slide{width:auto;display:flex;justify-content:center;}
.plus-category-swiper .swiper-button-prev,.plus-category-swiper .swiper-button-next{
  position:absolute;top:50%;transform:translateY(-50%);
  width:clamp(2rem,5vw,2.5rem);height:clamp(2rem,5vw,2.5rem);
  background:var(--rose-gold);color:var(--text-white);border-radius:50%;
  display:flex;align-items:center;justify-content:center;transition:background .3s ease,transform .3s ease;z-index:10;
}
.plus-category-swiper .swiper-button-prev:hover,.plus-category-swiper .swiper-button-next:hover{background:var(--rose-gold-dark);transform:translateY(-50%) scale(1.1);}
.plus-category-swiper .swiper-button-prev:active,.plus-category-swiper .swiper-button-next:active{transform:translateY(-50%) scale(.95);}
.plus-category-swiper .swiper-button-prev{right:.5rem;}
.plus-category-swiper .swiper-button-next{left:.5rem;}
.plus-category-swiper .swiper-button-prev::after,.plus-category-swiper .swiper-button-next::after{font-size:16px;font-weight:bold;}
.plus-category-swiper .swiper-pagination{position:relative;bottom:0;margin-top:1rem;text-align:center;}
.plus-category-swiper .swiper-pagination-bullet{background:var(--rose-gold);opacity:.5;width:10px;height:10px;margin:0 4px;transition:opacity .3s ease;}
.plus-category-swiper .swiper-pagination-bullet-active{opacity:1;background:var(--rose-gold-dark);}

/* =========================
   CATEGORY NAV/SEARCH
   ========================= */
.plus-nav-categori-container{
  display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem;
  padding:1rem;background:#f9fafb;border-radius:.5rem;box-shadow:0 2px 4px rgba(0,0,0,.1);
}
.plus-nav-categori{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;justify-content:center;padding:1rem 0;
}
.plus-nav-categori .category-link{
  display:flex;justify-content:center;align-items:center;padding:.75rem;font-size:1rem;font-weight:500;
  color:#374151;text-decoration:none;border-radius:.375rem;background:#fff;border:1px solid #e5e7eb;
  height:clamp(50px,10vw,60px);transition:all .2s ease;text-align:center;
  font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;
}
.plus-nav-categori .category-link:hover,
.plus-nav-categori .category-link.active{
  background:var(--rose-gold-accent);color:var(--text-white);border-color:var(--rose-gold-accent);
}
.plus-nav-categori .category-link:active{transform:scale(.95);}

.search-container{display:flex;justify-content:center;gap:.5rem;padding:.5rem;}
.search-input{
  width:100%;max-width:300px;padding:.75rem;font-size:1rem;border:1px solid #d1d5db;border-radius:.375rem;outline:none;transition:border-color .2s ease;
  font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;
}
.search-input:focus{border-color:var(--rose-gold-accent);box-shadow:0 0 0 3px rgba(59,130,246,.1);}
.search-button{
  padding:.7rem 1rem;font-size:1rem;font-weight:500;color:var(--text-white);background:var(--rose-gold-accent);
  border:none;border-radius:.375rem;cursor:pointer;transition:background-color .2s ease,transform .2s ease;
  font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;
}
.search-button:hover{background:var(--rose-gold-accent-dark);}
.search-button:active{transform:scale(.95);}

/* Categories grid/card */
.categories{padding:clamp(1rem,4vw,4rem) 0;}
.categories h2{
  font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;
  font-size:clamp(1.5rem,3vw,2.5rem);margin-bottom:clamp(1rem,2vw,2rem);
}
#category-wrapper{position:relative;overflow:hidden;width:100%;}
#category-container{overflow-x:hidden;transition:transform .5s ease-in-out;-webkit-overflow-scrolling:touch;will-change:transform;}
#category-container::-webkit-scrollbar{display:none;}
.category-card{
  flex:0 0 auto;width:clamp(4rem,12vw,8rem);height:clamp(4rem,12vw,8rem);
  position:relative;overflow:hidden;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.1);transition:transform .3s ease;
}
.category-card img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease-out;}
.category-card:hover img{transform:scale(1.05);}
.category-card .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;}

.category-nav{
  cursor:pointer;z-index:10;display:block;
  width:clamp(2rem,5vw,2.5rem);height:clamp(2rem,5vw,2.5rem);
  background:var(--rose-gold);color:var(--text-white);border-radius:50%;
  display:flex;align-items:center;justify-content:center;transition:all .3s ease;
}
.category-nav.prev{right:clamp(.5rem,1vw,1rem);}
.category-nav.next{left:clamp(.5rem,1vw,1rem);}
.category-nav:hover{background:var(--rose-gold-dark);transform:scale(1.1);}
.category-nav:active{transform:scale(.95);}

/* =========================
   SOCIAL PROOF
   ========================= */
.social-proof{background:var(--rose-gold-light);padding:clamp(2rem,4vw,4rem) 0;}
.social-post{position:relative;overflow:hidden;border-radius:.5rem;transition:transform .3s ease;}
.social-post:hover,.social-post:active{transform:scale(1.05);}
.social-post img{width:100%;height:clamp(8rem,15vw,12rem);object-fit:cover;}
.social-post .absolute{background:rgba(0,0,0,.2);}
.social-post span{
  font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;
  font-size:clamp(.75rem,1.5vw,.875rem);font-weight:600;
}

/* =========================
   FOOTER
   ========================= */
footer{background:var(--rose-gold);color:var(--text-white);padding:clamp(2rem,4vw,3rem) 0;}
footer h3{
  font-family:'Noora-Medium','IRANSans',Tahoma,sans-serif,system-ui;
  font-size:clamp(1.1rem,2vw,1.25rem);font-weight:700;margin-bottom:1rem;color:var(--text-white);
}
footer p,footer ul li a{
  font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;
  font-size:clamp(.8rem,1.5vw,.875rem);color:var(--text-white);
}
footer ul li{margin-bottom:.5rem;}
footer a{color:var(--text-white);transition:color .3s ease;}
footer a:hover{color:var(--rose-gold-light);}
footer img{max-width:clamp(4rem,6vw,6rem);}
footer .social-icons{display:flex;gap:clamp(.75rem,1.5vw,1rem);align-items:center;margin-top:.5rem;}
footer .social-icons a{font-size:clamp(1rem,2vw,1.25rem);color:var(--text-white);transition:color .3s ease,transform .3s ease;}
footer .social-icons a:hover{color:var(--rose-gold-light);transform:scale(1.2);}
footer .social-icons a:active{transform:scale(1.1);}

/* =========================
   EFFECTS / MISC
   ========================= */
.confetti{position:fixed;width:1rem;height:1rem;opacity:.8;}
@keyframes kenBurns{0%{transform:scale(1);}100%{transform:scale(1.1);}}
@keyframes fall{0%{transform:translateY(-100vh);}100%{transform:translateY(100vh);}}

.success-message,.error-message{
  z-index:40;font-family:'Noora-bold','IRANSans',Tahoma,sans-serif,system-ui;
  font-size:clamp(.8rem,1.5vw,.9rem);padding:1rem;border-radius:.5rem;
}

.sticky-cta{
  position:fixed;bottom:clamp(.5rem,1vw,1.5rem);right:clamp(.5rem,1vw,1.5rem);
  z-index:50;display:flex;flex-direction:column;gap:1rem;
}
.fa-whatsapp:before{margin-left:.3rem;}

/* Sparkle */
.sparkle{position:relative;overflow:hidden;}
.sparkle::before{
  content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;
  background:linear-gradient(90deg,transparent,var(--rose-gold),transparent);
  animation:sparkle 1.5s ease-in-out infinite;pointer-events:none;
}
@keyframes sparkle{0%{left:-100%;}50%{left:100%;}100%{left:100%;}}

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width:768px){
  .sticky-cta{bottom:clamp(.5rem,1vw,1rem);right:clamp(.5rem,1vw,1rem);}
  .support-btn,.fancy-btn{
    padding:clamp(.7rem,1vw,.9rem) clamp(1rem,1.5vw,1.2rem);
    font-size:.9rem;box-shadow:0 3px 10px var(--shadow),0 2px 8px var(--shadow);
    transform:perspective(800px) translateZ(0);
  }
  .support-btn:hover,.support-btn:focus,.fancy-btn:hover,.fancy-btn:focus{
    box-shadow:0 8px 16px var(--shadow-hover),0 4px 12px rgba(0,0,0,.5);
    transform:perspective(800px) translateZ(10px); /* fixed */
  }
  .hero{height:clamp(40vh,60vh,60vh);}
  .category-card{width:clamp(6rem,12vw,7rem);height:clamp(6rem,12vw,7rem);}
  .social-post img{height:clamp(8rem,15vw,10rem);}
  footer .grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .product-card{width:100%;}
  .product-card img{
  width:100%;
  height:clamp(160px,22vw,260px);
  object-fit:contain;      /* نمایش کامل عکس */
  aspect-ratio:auto;       /* احترام به نسبت اصلی */
  border-radius:0;         /* هیچ گردی */
  background:#fff;         /* Letterbox تمیز */
}
.product-card img.rounded,
.product-card img.rounded-full{ border-radius:0 !important; }
  .filter-btn{padding:clamp(.25rem,1vw,.5rem) clamp(.5rem,1.5vw,1rem);}
  .sticky-cta a{width:clamp(2rem,5vw,3rem);height:clamp(2rem,5vw,3rem);}
}
@media (max-width:640px){
  .logo{font-size:clamp(1.1rem,3vw,1.25rem);}
  .search-bar{max-width:100%;}
  .search-bar input{font-size:.85rem;}
  .search-bar button{width:1.5rem;height:1.5rem;}
  .hamburger i{font-size:1.25rem;}
  .sidebar{width:100%;max-width:250px;}
  .sidebar ul li a{font-size:.9rem;}
  .sidebar ul li a i{font-size:1.1rem;}
  .top-banner img{max-height:clamp(200px,30vw,400px);}
  .top-banner h2{font-size:clamp(1.2rem,4vw,1.5rem);}
  .top-banner a{font-size:clamp(.75rem,2vw,.875rem);padding:.5rem 1rem;}
  .slide h1{font-size:clamp(1.5rem,4vw,1.75rem);}
  .slide p{font-size:clamp(.75rem,2vw,.875rem);}
  .category-card{width:clamp(5rem,10vw,6rem);height:clamp(5rem,10vw,6rem);}
  .category-card span{font-size:clamp(.7rem,1.5vw,.75rem);}
 .product-card img{
  width:100%;
  height:clamp(160px,22vw,260px);
  object-fit:contain;      /* نمایش کامل عکس */
  aspect-ratio:auto;       /* احترام به نسبت اصلی */
  border-radius:0;         /* هیچ گردی */
  background:#fff;         /* Letterbox تمیز */
}
.product-card img.rounded,
.product-card img.rounded-full{ border-radius:0 !important; }
  .product-card h3{font-size:clamp(.75rem,2vw,.875rem);}
  .product-card p{font-size:clamp(.7rem,1.5vw,.75rem);}
  .product-card a{font-size:clamp(.7rem,1.5vw,.75rem);padding:.5rem 1rem;}
  .social-post img{height:clamp(6rem,15vw,8rem);}
  footer .grid-cols-2{grid-template-columns:1fr;}
  footer h3{font-size:clamp(1rem,2vw,1.1rem);}
  footer p,footer ul li a{font-size:clamp(.7rem,1.5vw,.8rem);}
  .plus-category-card{width:clamp(20px,5vw,40px);height:clamp(20px,5vw,40px);}
  #plus-category-container{gap:.5rem;padding:0 .5rem;}
  .category-nav{right:.5rem;left:.5rem;}
}
@media (max-width:480px){
  .top-banner h2{font-size:clamp(1.2rem,5vw,1.5rem);}
  .category-container,.product-container{gap:clamp(.25rem,1vw,.5rem);}
  .social-post{height:clamp(5rem,15vw,6rem);}
}
@media (prefers-reduced-motion:reduce){
  .fancy-btn,.support-btn,.category-card,.social-post{animation:none;transition:none;}
}

/* Android mobile input zoom fix + tap highlight */
html{-webkit-text-size-adjust:100%;}
@media (max-width:768px){
  input,select,textarea{font-size:16px;}
}
a,button{-webkit-tap-highlight-color:transparent;}

/* =========================
   CART (cart-factor — v2)
   ========================= */
.cart-factor{
  --cf-accent:#60A5FA;        /* light blue */
  --cf-accent-dark:#2563EB;   /* darker blue */
  --cf-soft:#EAF4FF;
  --cf-danger:#dc2626;
}
.cart-factor .table-responsive{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.cart-factor table{width:100%;min-width:640px;border-collapse:separate;border-spacing:0;}
.cart-factor th,.cart-factor td{white-space:nowrap;}
.cart-factor tbody tr{background:#fff;}
.cart-factor tbody tr:nth-child(even){background:#F3F8FF;}
.cart-factor thead th{position:sticky;top:0;z-index:1;background:#3B82F6;color:#fff;}
@media (max-width:640px){
  .cart-factor thead th{position:static !important;}
  .cart-factor table{display:table !important;}
  .cart-factor thead{display:table-header-group !important;}
  .cart-factor tbody{display:table-row-group !important;}
  .cart-factor tr{display:table-row !important;}
  .cart-factor th,.cart-factor td{display:table-cell !important;}
}
.cart-factor .qty-form{display:flex;align-items:center;gap:.5rem;}
.cart-factor input[type="number"]{width:4.5rem;text-align:center;}
.cart-factor .cart-total{
  margin-top:1rem;text-align:right;background:#fff;border:1px solid #f1f1f1;
  border-radius:.75rem;padding:1rem;box-shadow:0 4px 10px rgba(0,0,0,.03);
}
