/* پرشین موبایل — تنها بخش‌هایی از استایل که با کلاس‌های Tailwind قابل نوشتن نبودند */

html { scroll-behavior: smooth; }
body { font-family: 'Vazirmatn', Tahoma, sans-serif; }

/* ===== Keyframe animations (referenced via arbitrary Tailwind classes, e.g. animate-[gradientMove_8s_ease_infinite]) ===== */
@keyframes gradientMove { 0%{background-position:0% 50%;} 50%{background-position:100% 50%;} 100%{background-position:0% 50%;} }
@keyframes shimmer { 100%{ transform: translateX(100%); } }
@keyframes floatA { 0%,100%{transform:translate(0,0);} 50%{transform:translate(-40px,50px);} }
@keyframes floatB { 0%,100%{transform:translate(0,0);} 50%{transform:translate(40px,-40px);} }
@keyframes scrollBrands { from{transform:translateX(0);} to{transform:translateX(-50%);} }
@keyframes pulseDot { 0%{transform:scale(1);opacity:.7;} 100%{transform:scale(2.6);opacity:0;} }

.pm-animate-gradient { background-size: 200% 200%; animation: gradientMove 8s ease infinite; }
.pm-animate-float-a { animation: floatA 14s ease-in-out infinite; }
.pm-animate-float-b { animation: floatB 16s ease-in-out infinite; }
.pm-animate-marquee { animation: scrollBrands 26s linear infinite; }
.pm-pulse-dot::after {
  content: ''; position: absolute; inset: 0; border-radius: 9999px; background: #1BA97A;
  animation: pulseDot 1.6s ease-out infinite;
}

/* ===== "All categories" panel — item/panel active states toggled by main.js ===== */
.pm-acp-item.pm-acp-active { background: #fff; color: #EF4056; box-shadow: inset 3px 0 0 #EF4056; }
.pm-acp-panel { display: none; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pm-acp-panel.pm-acp-active { display: grid; }
#pmAllCatsPanel.pm-open { opacity: 1; visibility: visible; transform: translateY(0); }

/* ===== Mega-menu hover dropdown (Tailwind's group/group-hover handles show/hide;
   this just adds the same easing curve used across the rest of the site) ===== */
.pm-mega-dropdown { transition: opacity .3s cubic-bezier(.4,0,.2,1), transform .3s cubic-bezier(.4,0,.2,1); }

/* ===== Swatch active state (toggled by main.js) ===== */
.pm-swatch.pm-active { background-image: linear-gradient(135deg,#EF4056 0%,#FF6B7D 100%); color: #fff; border-color: transparent; box-shadow: 0 10px 24px rgba(239,64,86,.25); }
.pm-swatch.pm-color.pm-active { box-shadow: 0 0 0 3px rgba(239,64,86,.2); }

/* ===== WooCommerce-generated product loop markup (ul.products li.product) ===== */
ul.products { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 16px !important; list-style: none; margin: 0 !important; padding: 0 !important; }
ul.products li.product {
  background: #fff; border-radius: 14px; box-shadow: 0 2px 8px rgba(20,20,30,.05);
  overflow: hidden; transition: transform .3s cubic-bezier(.4,0,.2,1), box-shadow .3s cubic-bezier(.4,0,.2,1);
}
ul.products li.product:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(20,20,30,.12); }
ul.products li.product img { width: 100%; height: 170px; object-fit: cover; }
ul.products li.product .woocommerce-loop-product__title { font-size: 13px; font-weight: 700; padding: 10px 14px 4px; line-height: 1.6; display: block; }
ul.products li.product .price { padding: 0 14px; font-size: 15px; font-weight: 800; color: #EF4056; display: block; }
ul.products li.product .price del { color: #9AA1A9; font-weight: 500; font-size: 12px; }
ul.products li.product .button {
  margin: 10px 14px 14px; width: calc(100% - 28px); display: inline-flex; align-items: center; justify-content: center;
  background-image: linear-gradient(135deg,#EF4056 0%,#FF6B7D 100%); color: #fff !important; border: none; border-radius: 10px;
  padding: 10px; font-size: 12.5px; font-weight: 700;
}
ul.products li.product .star-rating { margin: 0 14px; font-size: 12px; color: #F9BC00; }
ul.products li.product .onsale {
  position: absolute; top: 12px; right: 12px; left: auto; background-image: linear-gradient(135deg,#EF4056 0%,#FF6B7D 100%);
  color: #fff; font-size: 11.5px; font-weight: 800; padding: 5px 10px; border-radius: 8px; min-width: 0; height: auto; line-height: 1; z-index: 2;
}

/* ===== WooCommerce product gallery (single product page) ===== */
.woocommerce-product-gallery__wrapper { background: #fff; border-radius: 18px; box-shadow: 0 2px 8px rgba(20,20,30,.05); overflow: hidden; }
.woocommerce-product-gallery__image { border-radius: 18px; overflow: hidden; }
.woocommerce-product-gallery__image img { height: 420px; object-fit: cover; width: 100%; cursor: zoom-in; }
.woocommerce-product-gallery .flex-control-thumbs { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; list-style: none; padding: 0; }
.woocommerce-product-gallery .flex-control-thumbs li { width: 76px; height: 76px; border-radius: 12px; overflow: hidden; border: 2px solid transparent; cursor: pointer; }
.woocommerce-product-gallery .flex-control-thumbs li img { width: 100%; height: 100%; object-fit: cover; }
.woocommerce-product-gallery .flex-control-thumbs li.flex-active, .woocommerce-product-gallery .flex-control-thumbs li:hover { border-color: #EF4056; }

/* ===== WooCommerce default tabs (description / specs / reviews) ===== */
.woocommerce-tabs ul.tabs { display: flex; border-bottom: 1px solid #E7E8EC; overflow-x: auto; list-style: none; margin: 0; padding: 0; }
.woocommerce-tabs ul.tabs li a { display: block; padding: 18px 26px; font-size: 13.5px; font-weight: 700; color: #6B7280; white-space: nowrap; border-bottom: 3px solid transparent; }
.woocommerce-tabs ul.tabs li.active a { color: #EF4056; border-color: #EF4056; }
.woocommerce-tabs .panel { padding: 28px; font-size: 13.5px; color: #6B7280; line-height: 2; }
.woocommerce-tabs table.shop_attributes { width: 100%; border-collapse: collapse; }
.woocommerce-tabs table.shop_attributes tr { border-bottom: 1px solid #E7E8EC; }
.woocommerce-tabs table.shop_attributes th, .woocommerce-tabs table.shop_attributes td { padding: 14px 10px; font-size: 13px; text-align: right; }
.woocommerce-tabs table.shop_attributes th { color: #6B7280; font-weight: 600; width: 35%; }

/* ===== WooCommerce reviews ===== */
#reviews #comments ol.commentlist { list-style: none; margin: 0; padding: 0; }
#reviews #comments ol.commentlist li { display: flex; gap: 14px; padding: 20px 0; border-bottom: 1px solid #E7E8EC; }
#reviews .star-rating { color: #F9BC00; }
#reviews #respond { background: #FAFAFB; border-radius: 14px; padding: 20px; margin-top: 20px; }

/* ===== WooCommerce cart & checkout tables/forms (structural bits Tailwind can't reach on generated <table> rows) ===== */
.woocommerce table.shop_table { border: none; border-collapse: separate; border-spacing: 0 10px; width: 100%; }
.woocommerce table.shop_table th { background: transparent; color: #6B7280; font-size: 12.5px; font-weight: 700; border: none; padding: 10px 14px; text-align: right; }
.woocommerce table.shop_table td { background: #fff; border: none; padding: 16px 14px; font-size: 13px; vertical-align: middle; }
.woocommerce table.shop_table tr td:first-child { border-radius: 14px 0 0 14px; }
.woocommerce table.shop_table tr td:last-child { border-radius: 0 14px 14px 0; }
.woocommerce table.shop_table img { width: 64px; border-radius: 12px; }
.woocommerce div.product form.cart .qty, .woocommerce input[type=number] { height: 44px; border: 1.5px solid #E7E8EC; border-radius: 10px; text-align: center; width: 64px; }
.woocommerce-checkout input.input-text, .woocommerce-checkout select, .woocommerce form .form-row input.input-text, .woocommerce form .form-row select {
  height: 48px; border: 1.5px solid #E7E8EC; border-radius: 10px; padding: 0 14px; background: #FAFAFB; width: 100%;
}
.woocommerce-checkout input.input-text:focus { outline: none; border-color: #19BFD3; background: #fff; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
  border-top-color: #19BFD3 !important; border-radius: 12px; background: #fff; box-shadow: 0 2px 8px rgba(20,20,30,.05); padding: 14px 18px; list-style: none; margin-bottom: 16px;
}
.woocommerce-pagination ul { display: flex; gap: 8px; justify-content: center; margin-top: 30px; list-style: none; padding: 0; }
.woocommerce-pagination ul li a, .woocommerce-pagination ul li span {
  width: 38px; height: 38px; border-radius: 10px; background: #fff; box-shadow: 0 2px 8px rgba(20,20,30,.05); font-size: 12.5px; font-weight: 700; color: #6B7280; display: flex; align-items: center; justify-content: center;
}
.woocommerce-pagination ul li span.current { background-image: linear-gradient(135deg,#EF4056 0%,#FF6B7D 100%); color: #fff; }

.woocommerce-result-count { font-size: 12.5px; color: #6B7280; margin: 0; }
.woocommerce-ordering select {
  border: 1.5px solid #E7E8EC; border-radius: 10px; padding: 8px 14px; font-size: 12.5px; background: #fff;
}

/* ===== WooCommerce generic buttons (single add-to-cart, cart update, checkout place-order, coupon apply) ===== */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce-cart table.cart td.actions .button, .woocommerce-checkout #payment #place_order {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background-image: linear-gradient(135deg,#EF4056 0%,#FF6B7D 100%); color: #fff !important; border: none;
  border-radius: 12px; padding: 13px 24px; font-size: 13.5px; font-weight: 700; cursor: pointer;
  transition: transform .25s cubic-bezier(.4,0,.2,1), box-shadow .25s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 10px 24px rgba(239,64,86,.25);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover {
  transform: translateY(-2px); box-shadow: 0 16px 30px rgba(239,64,86,.35); color: #fff !important;
}
.woocommerce a.button.alt, .woocommerce #respond input#submit.alt { background-image: linear-gradient(135deg,#EF4056 0%,#FF6B7D 100%); }
.woocommerce table.cart td.actions .coupon .input-text { height: 44px; border: 1.5px solid #E7E8EC; border-radius: 10px; padding: 0 14px; background: #FAFAFB; }
.woocommerce table.cart td.actions .coupon .button { background-image: linear-gradient(135deg,#22262B 0%,#3A3F47 100%); }
.woocommerce a.remove { color: #EF4056 !important; font-size: 20px !important; }
.wc-proceed-to-checkout { margin-top: 18px; }
.wc-proceed-to-checkout .checkout-button { display: flex !important; width: 100%; }
.woocommerce input.qty { height: 40px; width: 56px; border: 1.5px solid #E7E8EC; border-radius: 10px; text-align: center; }
#coupon_code.input-text { height: 44px; border: 1.5px solid #E7E8EC; border-radius: 10px; padding: 0 14px; background: #FAFAFB; width: 180px; }

table.variations { display: none; } /* replaced visually by pm-swatch buttons via JS */
