/*
Theme Name: Dima Pistachio
Author: Dima Studio
Description: قالب کامل فروشگاهی پسته دیما — لندینگ با Tailwind CSS، اسلایدر هیرو، اسکرولرهای Owl، فروشگاه، سفارش عمده، معرفی انواع پسته، راهنمای پسته‌داری، مجله، مقالات و ویدیوهای آموزشی.
Version: 1.0.0
Text Domain: dimapistachio
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/*
This file intentionally contains no base styles — layout and components
are built with Tailwind CSS (loaded via CDN in functions.php).
The rules below only cover WooCommerce internals and print utilities that
Tailwind does not handle gracefully.
*/

body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }

::selection { background: #3d6b2f; color: #fff; }

/* Scrollbar (webkit) */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #f0ead9; }
::-webkit-scrollbar-thumb { background: #8ab661; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: #3d6b2f; }

/* ---------- WooCommerce internals ---------- */
/* Product loops: responsive grid used on shop, archive and related/upsell sections */
.woocommerce ul.products, ul.products {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .woocommerce ul.products, ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
  .woocommerce ul.products, ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.woocommerce ul.products li.product { width: auto; margin: 0; float: none; }
.woocommerce a.remove { display: inline-grid; place-items: center; width: 1.2em; height: 1.2em; line-height: 1; border-radius: 999px; text-align: center; }
.woocommerce .price { color: inherit !important; }
.woocommerce-billing-fields label, .woocommerce-shipping-fields label, #order_review .woocommerce-checkout-review-order-table th { color: #22301a; }
.woocommerce-error, .woocommerce-info, .woocommerce-message { background: #f6f1e7 !important; border-radius: 14px; color: #22301a !important; padding:15px!important; margin-bottom:15px!important;position: relative;}
.woocommerce-error { border-top-color: #b42318 !important; }
.woocommerce-info { border-top-color: #c9a227 !important; }
.woocommerce-message { border-top-color: #5a8f3c !important; }
.woocommerce-input-wrapper .password-input { display: block; }

/* Quantity buttons */
.woocommerce form.cart div.quantity { position: relative; }
.woocommerce .quantity .qty { width: 4.5rem; text-align: center; border: 1px solid #e0d7c2; border-radius: 999px; padding: .55rem 1rem; color: #22301a; }

/* Cart table responsive behaviour */
.woocommerce table.shop_table { border-radius: 16px; overflow: hidden; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { padding: 14px 16px; }
.woocommerce-cart .cart-collaterals .cart_totals { width: 100%; }

/* WooCommerce standard buttons inherit primary */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: #3d6b2f !important;
  color: #fff !important;
  border: 1px solid #3d6b2f !important;
  border-radius: 999px !important;
  padding: 0.65rem 1.4rem !important;
  font-weight: 700 !important;
  transition: all .2s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: #20460f !important;
  border-color: #20460f !important;
  color: #fff !important;
}

/* Rating stars */
.woocommerce .star-rating span::before { color: #c9a227; }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul { border: none; }
.woocommerce nav.woocommerce-pagination ul li { border: none; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
  border: 1px solid #e0d7c2 !important; border-radius: 999px; margin: 0 3px; padding: 6px 13px;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: #3d6b2f !important; color: #fff !important; border-color: #3d6b2f !important; }
.woocommerce nav.woocommerce-pagination ul li a:hover { background: #f6f1e7; }

/* Single product gallery bump */
.woocommerce div.product div.images img { border-radius: 18px; }

/* Single product: gallery image cover */
.woocommerce div.product .woocommerce-product-gallery__wrapper img { width: 100%; height: auto; display: block; }

/* Single product tabs: active state */
.woocommerce div.product .woocommerce-tabs ul.tabs li a { border-bottom: 2px solid transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: #2f5425 !important;
  border-bottom-color: #c9a227;
  background: transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: transparent; border: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { font-weight: 800; color: #294421; font-size: 1.15rem; margin-bottom: .75rem; }

/* Sale price emphasis */
.woocommerce .price del { color: #9aa29a; font-weight: 600; font-size: .78em; }
.woocommerce .price ins { text-decoration: none; color: #c0392b; }

/* Reviews form inside styled tab */
.woocommerce #reviews #comments ol.commentlist li img.avatar { border-radius: 999px; }
.woocommerce #review_form #respond p { margin-bottom: 1rem; }
.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"],
.woocommerce #review_form #respond textarea {
  width: 100%; border: 1px solid #e0d7c2; border-radius: 16px; padding: .7rem 1rem; background: #fff;
}
.woocommerce #review_form #respond .form-submit input { border-radius: 999px !important; }

/* ---------- Star ratings (WooCommerce icon font is disabled) ---------- */
.woocommerce .star-rating {
  position: relative;
  display: inline-block;
  overflow: hidden;
  width: 5.4em;
  height: 1.15em;
  line-height: 1.15;
  font-size: 1rem;
  direction: ltr;
  font-family: inherit;
  vertical-align: middle;
}
.woocommerce .star-rating::before {
  content: "\2605\2605\2605\2605\2605";
  position: absolute;
  inset: 0;
  color: #e0d7c2;
  letter-spacing: .1em;
}
.woocommerce .star-rating span {
  position: absolute;
  top: 0;
  left: 0;
  float: left;
  overflow: hidden;
  padding-top: 1.15em;
  white-space: nowrap;
}
.woocommerce .star-rating span::before {
  content: "\2605\2605\2605\2605\2605";
  position: absolute;
  top: 0;
  left: 0;
  color: #c9a227;
  letter-spacing: .1em;
}

/* Rating selector inside review form */
.woocommerce .comment-form-rating p.stars {
  display: inline-flex;
  gap: .2rem;
  margin: 0;
  direction: ltr;
}
.woocommerce .comment-form-rating p.stars a {
  position: relative;
  display: inline-block;
  width: 1.7rem;
  height: 1.7rem;
  overflow: hidden;
  text-indent: -9999px;
  text-decoration: none;
  cursor: pointer;
}
.woocommerce .comment-form-rating p.stars a::before {
  content: "\2605";
  position: absolute;
  inset: 0;
  text-indent: 0;
  font-size: 1.6rem;
  line-height: 1.7rem;
  color: #e0d7c2;
  transition: color .15s ease;
}
.woocommerce .comment-form-rating p.stars a:hover::before,
.woocommerce .comment-form-rating p.stars a.active::before {
  color: #c9a227;
}
.woocommerce .comment-form-rating p.stars.selected a.active::before,
.woocommerce .comment-form-rating p.stars.selected a:not(.active)::before {
  color: #c9a227;
}
.woocommerce .comment-form-rating p.stars.selected a.active ~ a::before {
  color: #e0d7c2;
}

/* Review cards */
.woocommerce #reviews .commentlist .comment_container { position: relative; }
.woocommerce #reviews .commentlist img.avatar {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  border: 2px solid #fff;
  box-shadow: 0 4px 14px rgba(45, 60, 30, .12);
  flex-shrink: 0;
}
.woocommerce #reviews .commentlist .description,
.woocommerce #reviews .commentlist .description p {
  color: #3c463a;
  line-height: 1.9;
  margin: 0;
}
.woocommerce #reviews .commentlist .star-rating { font-size: .95rem; }

/* --- Owl Carousel custom skin overwrite --- */
.owl-theme .owl-nav.disabled + .owl-dots { margin-top: 22px; }
.owl-theme .owl-dots .owl-dot span { background: #d8cba8 !important; width: 9px; height: 9px; }
.owl-theme .owl-dots .owl-dot.active span { background: #3d6b2f !important; width: 26px; border-radius: 999px; }
.owl-carousel .owl-item img { display: inline-block; width: auto; }

/* Nav dropdown (menus built with wp_nav_menu support nesting) */
.dima-nav > li { position: relative; }
.dima-nav > li > a { padding: .5rem .9rem; border-radius: 999px; display: inline-flex; align-items: center; gap: .3rem; transition: color .2s; }
.dima-nav > li > a:hover { color: #3d6b2f; }
.dima-nav > li .sub-menu {
	position: absolute; top: 115%; right: 0; min-width: 210px;
	background: #fff; border: 1px solid #ede5d5; border-radius: 16px;
	padding: .6rem; box-shadow: 0 18px 55px rgba(45,60,30,.10);
	opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: all .2s ease; z-index: 60;
}
.dima-nav > li:hover .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.dima-nav .sub-menu a { display: block; padding: .55rem .8rem; border-radius: 10px; font-size: 13px; font-weight: 600; color: #22301a; }
.dima-nav .sub-menu a:hover { background: #f3f9ee; color: #3d6b2f; }

.cart-pulse { animation: dimaPulse .5s ease; }
@keyframes dimaPulse { 50% { transform: scale(1.25); } }

/* Utility helpers used across the theme */
.dima-section { padding: 90px 0; }
.dima-container,.container { max-width: 1240px!important; margin-inline: auto; padding-inline: 1.25rem; }
.dima-line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

@media (max-width: 768px) {
  .dima-section { padding: 56px 0; }
}
.owl-theme .owl-nav{
  position: absolute;
  top:50%;
  left:0;
  right:0;
  z-index: 1;
  width:100%;
}
.owl-theme .owl-nav .owl-next{
  position: absolute;
  right:0;
  top:-10px;
}
.owl-theme .owl-nav .owl-prev{
  position: absolute;
  left:0;
  top:-10px;
}
.owl-theme .owl-dots{
  position: absolute;
  bottom:0;
  left;0;
  right:0;
  z-index: 1;
  width:100%;
  left:auto;
}
.woocommerce-ordering{
  text-align:left;
}
select{
  padding:10px!important;
  border-radius:100px;
  border:1px solid rgba(0,0,0,0.14);
  margin-bottom:10px!important;
  font-size:13px!important;
  background:#FFF;
}
.woocommerce-result-count,h1.page-title{
  display: none;
}
:root {
  --pi-900: #1a2e1f; /* سبز تیره/مشکی	Pistachio */
  --pi-800: #2c3e2f;
  --sand: #e8e2d5; /* رنگ مرز سند */
  --accent: #6b9b3f; /* سبز پسته‌ای برای اکشن‌ها */
  --accent-hover: #588534;
  --bg-light: #fbfaf8;
  --shadow-soft: 0 10px 40px -15px rgba(26, 46, 31, 0.1);
  --radius-4xl: 1.5rem; /* معادل rounded-4xl */
}

/* استایل کلی کارت داشبورد */
article.post-11 {
  background-color: #ffffff;
  border-radius: var(--radius-4xl);
  border: 1px solid var(--sand);
  box-shadow: var(--shadow-soft);
  padding: 2rem; /* p-8 */
  margin: 2rem auto;
  max-width: 1200px;
  direction: rtl;
  font-family: 'Vazirmatn', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

@media (min-width: 1024px) {
  article.post-11 {
    padding: 3rem; /* lg:p-12 */
  }
}

.prose-custom {
  line-height: 2; /* leading-8 */
  color: rgba(26, 46, 31, 0.85); /* text-pi-900/80 */
}

/* چیدمان اصلی ووکامرس (گرید دو ستونه) */
.prose-custom .woocommerce {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 768px) {
  .prose-custom .woocommerce {
    grid-template-columns: 280px 1fr;
  }
}

/* استایل منوی ناوبری داشبورد */
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 1rem;
  margin: 0;
  background-color: var(--bg-light);
  border-radius: 1rem;
  border: 1px solid var(--sand);
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* حالت موبایل: تبدیل به منوی افقی اسکرول‌شو */
@media (max-width: 767px) {
  .woocommerce-MyAccount-navigation ul {
    flex-direction: row;
    overflow-x: auto;
    padding: 0.5rem;
    white-space: nowrap;
    position: sticky;
    top: 0;
    z-index: 10;
    -webkit-overflow-scrolling: touch;
  }
}

.woocommerce-MyAccount-navigation-link a {
  display: block;
  padding: 0.85rem 1.25rem;
  text-decoration: none;
  color: var(--pi-800);
  font-weight: 500;
  border-radius: 0.75rem;
  transition: all 0.3s ease;
  font-size: 0.95rem;
}

.woocommerce-MyAccount-navigation-link a:hover {
  background-color: rgba(107, 155, 63, 0.1);
  color: var(--accent);
}

/* استایل آیتم فعال (Active) */
.woocommerce-MyAccount-navigation-link.is-active a {
  background-color: var(--accent);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(107, 155, 63, 0.3);
}

/* استایل بخش محتوا */
.woocommerce-MyAccount-content {
  padding: 0.5rem 1rem;
  background-color: #ffffff;
  border-radius: 1rem;
}

@media (max-width: 767px) {
  .woocommerce-MyAccount-content {
    padding: 0;
  }
}

.woocommerce-MyAccount-content p {
  margin-bottom: 1.5rem;
  font-size: 1rem;
}

/* استایل لینک‌های داخل محتوا */
.woocommerce-MyAccount-content a {
  color: var(--accent);
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1px dashed var(--accent);
  transition: all 0.2s ease;
}

.woocommerce-MyAccount-content a:hover {
  color: var(--accent-hover);
  border-bottom-style: solid;
}

/* استایل دکمه خروج (Logout) */
.woocommerce-MyAccount-navigation-link--customer-logout a {
  color: #c53030;
}
.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  background-color: rgba(197, 48, 48, 0.05);
}
:root {
  --pi-900: #1a2e1f;
  --pi-800: #2c3e2f;
  --sand: #e8e2d5;
  --accent: #6b9b3f;
  --accent-hover: #588534;
  --bg-light: #fbfaf8;
  --danger: #e53e3e;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
}

/* استایل کلی فرم */
.woocommerce form .form-row,
.woocommerce-EditAccountForm .form-row {
  padding: 0;
  margin: 0 0 1.5rem 0;
  display: block;
  box-sizing: border-box;
}

/* استفاده از فلکس‌باکس برای چیدمان دو ستونه فیلدها (نام و نام خانوادگی) */
.woocommerce-EditAccountForm {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2%; /* فاصله عمودی و افقی */
}

.woocommerce-EditAccountForm .form-row-first,
.woocommerce-EditAccountForm .form-row-last {
  flex: 1 1 48%; /* در دسکتاپ کنار هم قرار می‌گیرند */
  min-width: 250px; /* حداقل عرض برای زمانی که صفحه کوچک می‌شود */
}

.woocommerce-EditAccountForm .form-row-wide,
.woocommerce-EditAccountForm fieldset,
.woocommerce-EditAccountForm > p:last-child {
  flex: 1 1 100%; /* عرض کامل */
}

/* مخفی کردن دیو clear که ووکامرس اضافه می‌کند چون فلکس‌باکس کارش را انجام می‌دهد */
.woocommerce-EditAccountForm .clear {
  display: none;
}

/* استایل لیبل‌ها */
.woocommerce form .form-row label,
.woocommerce-EditAccountForm label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: var(--pi-800);
  font-size: 0.9rem;
}

/* ستاره اجباری بودن (Required) */
.woocommerce form .form-row label .required,
.woocommerce-EditAccountForm .required {
  color: var(--danger);
  margin-right: 2px;
}

/* استایل فیلدهای ورودی (Input, Email, Password) */
.woocommerce-EditAccountForm .input-text,
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row input[type="tel"] {
  width: 100%;
  padding: 0.85rem 1rem;
  border: 1px solid var(--sand);
  border-radius: var(--radius-lg);
  background-color: var(--bg-light);
  font-family: inherit;
  font-size: 1rem;
  color: var(--pi-900);
  transition: all 0.3s ease;
  box-sizing: border-box;
}

/* حالت فوکس (کلیک کردن روی فیلد) */
.woocommerce-EditAccountForm .input-text:focus,
.woocommerce form .form-row input:focus {
  outline: none;
  border-color: var(--accent);
  background-color: #ffffff;
  box-shadow: 0 0 0 3px rgba(107, 155, 63, 0.15);
}

/* متن کمکی زیر فیلد (مثل توضیح نام نمایشی) */
.woocommerce-EditAccountForm em {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.85rem;
  color: #888;
  font-style: italic;
}

/* استایل بخش تغیییر رمز عبور (Fieldset) */
.woocommerce-EditAccountForm fieldset {
  border: 1px dashed var(--sand);
  border-radius: var(--radius-xl);
  padding: 1.5rem;
  margin-top: 0.5rem;
  background-color: #ffffff;
}

.woocommerce-EditAccountForm legend {
  font-weight: 700;
  color: var(--accent);
  font-size: 1.1rem;
  padding: 0 0.5rem;
  margin-bottom: 1rem;
}

/* استایل دکمه نمایش/مخفی کردن رمز عبور */
.woocommerce-form-row .password-input {
  position: relative;
  display: block;
  width: 100%;
}

.woocommerce-form-row .password-input input {
  padding-left: 2.5rem; /* فضای برای دکمه چشم */
}

.woocommerce-form-row .show-password-input {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.2s ease;
  font-size: 1.2rem;
  color: var(--pi-800);
  padding: 0.25rem;
}

.woocommerce-form-row .show-password-input:hover {
  opacity: 1;
}

/* استایل دکمه submit (ذخیره تغییرات) */
.woocommerce-EditAccountForm .woocommerce-Button.button {
  background-color: var(--accent);
  color: #ffffff;
  font-weight: 700;
  font-size: 1rem;
  padding: 0.85rem 2.5rem;
  border: none;
  border-radius: var(--radius-lg);
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(107, 155, 63, 0.3);
  display: inline-block;
  text-decoration: none;
}

.woocommerce-EditAccountForm .woocommerce-Button.button:hover {
  background-color: var(--accent-hover);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(107, 155, 63, 0.4);
}

.woocommerce-EditAccountForm .woocommerce-Button.button:active {
  transform: translateY(0);
}
.menu li a{
  display:block;
  padding:10px;
  border:1px solid #CCC;
  border-radius:5px;
  margin-bottom:5px;
}
