/* ==========================================================================
   پِت‌کر — مراقبت و آرایش حیوانات خانگی در منزل
   استایل اصلی — RTL · فارسی · واکنش‌گرا
   ========================================================================== */

/* ---------- متغیرهای طراحی ---------- */
:root {
  /* رنگ‌ها — پالت مینت/نیوی حرفه‌ای */
  --bg: #F3FAF7;
  /* مینت روشن */
  --bg-soft: #EEF6F3;
  /* سبز ثانویه ملایم */
  --card: #FFFFFF;
  /* کارت سفید */
  --ink: #172033;
  /* متن تیره و خوانا */
  --ink-soft: #4B5565;
  --muted: #7A8492;
  --line: #DDE8E4;

  --green: #62C99A;
  /* سبز ملایم — رنگ اصلی */
  --green-deep: #2F9B6E;
  --green-soft: #E3F7EE;
  --teal: #68C9C7;
  /* تیل — رنگ مکمل */
  --teal-deep: #2FA7A4;
  --teal-soft: #DDF5F3;
  --navy: #263B5E;
  /* نیوی — رنگ تأکید */
  --navy-deep: #172A46;
  --navy-soft: #E8EEF7;
  --accent: #263B5E;
  --accent-deep: #172A46;
  --accent-soft: #E8EEF7;

  /* شعاع گوشه‌ها */
  --r-sm: 14px;
  --r: 20px;
  --r-lg: 30px;
  --pill: 999px;

  /* سایه‌های ملایم */
  --sh-1: 0 2px 12px rgba(23, 32, 51, .04);
  --sh-2: 0 16px 40px -16px rgba(23, 32, 51, .13);
  --sh-3: 0 34px 70px -28px rgba(23, 32, 51, .2);
  --sh-green: 0 14px 36px -12px rgba(47, 155, 110, .3);
  --sh-navy: 0 14px 36px -12px rgba(38, 59, 94, .3);

  /* چیدمان و تایپ */
  --maxw: 1200px;
  --nav-h: 76px;
  --font: "Vazirmatn", system-ui, -apple-system, "Segoe UI", Tahoma, Arial, sans-serif;
}

/* ---------- پایه ---------- */
* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--font);
  background: #fffdf8;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.85;
  font-weight: 400;
  overflow-x: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  display: block;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4 {
  margin: 0;
  line-height: 1.22;
  font-weight: 800;
  letter-spacing: -.015em;
}

p {
  margin: 0;
}

::selection {
  background: var(--green);
  color: #fff;
}

/* ---------- کمک‌چیدمان ---------- */
.wrap {
  width: 100%;
  max-width: var(--maxw);
  margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 44px);
}

.section {
  padding-block: clamp(72px, 10vw, 130px);
}

.section-head {
  max-width: 640px;
  margin-bottom: clamp(38px, 5vw, 58px);
}

.section-head.center {
  margin-inline: auto;
  text-align: center;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .03em;
  color: #657047;
  background: #FFFDF8;
  padding: 7px 16px;
  border-radius: var(--pill);
  margin-bottom: 20px;
}

.eyebrow.orange {
  color: var(--navy-deep);
  background: var(--navy-soft);
}

.eyebrow .dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
}

h1 {
  font-size: clamp(2.2rem, 4.8vw, 3.8rem);
  font-weight: 900;
  line-height: 1.25;
}

h2 {
  font-size: clamp(1.75rem, 3.2vw, 2.6rem);
  font-weight: 800;
  line-height: 1.35;
}

h3 {
  line-height: 1.45;
}

.lead {
  font-size: clamp(1rem, 1.35vw, 1.14rem);
  color: var(--ink-soft);
  max-width: 56ch;
  line-height: 1.95;
}

.text-green {
  color: var(--green-deep);
}

.text-orange {
  color: var(--navy-deep);
}

/* ---------- دکمه‌ها ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-weight: 700;
  font-size: 1rem;
  padding: 14px 28px;
  border-radius: var(--pill);
  white-space: nowrap;
  cursor: pointer;
  transition: transform .3s cubic-bezier(.2, .9, .3, 1.3), box-shadow .3s, background .3s, color .3s;
}

.btn svg {
  width: 19px;
  height: 19px;
}

.btn-primary {
  background: var(--green);
  color: #fff;
  box-shadow: var(--sh-green);
}

body.woocommerce-checkout .btn-primary {
  background: #465338;
  color: #FFFDF8;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .20);
}

.btn-primary:hover {
  background: var(--green-deep);
  transform: translateY(-3px);
}

.btn-accent {
  background: var(--navy);
  color: #fff;
  box-shadow: var(--sh-navy);
}

.btn-accent:hover {
  background: var(--navy-deep);
  transform: translateY(-3px);
}

.btn-ghost {
  background: #fff;
  color: var(--ink);
  border: 1.5px solid var(--line);
}

.btn-ghost:hover {
  border-color: #303923;
  color: var(--green-deep);
  transform: translateY(-3px);
}

.btn-lg {
  padding: 17px 36px;
  font-size: 1.08rem;
}

/* ==========================================================================
   هدر چسبان
   ========================================================================== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 60;
  height: var(--nav-h);
  display: flex;
  align-items: center;
  background: #7f8358;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: box-shadow .35s, background .35s;
}

.site-header.scrolled {
  box-shadow: none;
  background: #7f8358;
}

.site-header .wrap {
  display: flex;
  align-items: center;
  gap: 24px;
  width: 100%;
}

/* لوگو */
.brand {
  display: flex;
  align-items: center;
  gap: 11px;
  font-weight: 900;
  font-size: 1.4rem;
}

.brand .logo-mark {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  flex: none;
  display: grid;
  place-items: center;
  color: #fff;
  background: #C5A059;
  box-shadow: 0 14px 36px -12px rgba(197, 160, 89, .35);
  transition: transform .4s cubic-bezier(.2, .9, .3, 1.3);
}

.brand:hover .logo-mark {
  transform: rotate(-10deg) scale(1.07);
}

.brand .logo-mark svg {
  width: 25px;
  height: 25px;
}

.brand-text {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.08;
}

.brand-text b {
  font-size: 1.42rem;
  letter-spacing: -.02em;
}

.brand-subtitle {
  font-size: .88rem;
  font-weight: 600;
  color: var(--ink-soft);
}

.main-nav {
  margin-inline-start: auto;
}

.main-nav ul {
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.5vw, 22px);
}

.main-nav a {
  display: block;
  padding: 9px 10px;
  border-radius: var(--pill);
  font-weight: 600;
  font-size: .93rem;
  white-space: nowrap;
  color: var(--ink-soft);
  transition: color .25s, background .25s;
}

.main-nav a:hover {
  color: var(--ink);
  background: #fff;
}

/* ---- دکمهٔ تاگل زیرمنو (فقط موبایل) ---- */
.submenu-toggle {
  display: none;
}

/* ---- دراپ‌داون منو ---- */
.main-nav .menu-item-has-children {
  position: relative;
}

.main-nav .menu-item-has-children .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  background: #fff;
  min-width: 200px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10);
  border-radius: 8px;
  z-index: 999;
  padding: 8px 0;
  flex-direction: column;
  gap: 0;
}

.main-nav .menu-item-has-children:hover .sub-menu {
  display: flex;
}

.main-nav .menu-item-has-children .sub-menu li {
  width: 100%;
}

.main-nav .menu-item-has-children .sub-menu a {
  padding: 10px 18px;
  border-radius: 0;
  font-weight: 500;
  white-space: nowrap;
}

.main-nav .menu-item-has-children .sub-menu a:hover {
  background: var(--bg);
  color: var(--green-deep);
}

.header-cta {
  margin-inline-start: 6px;
}

/* --- دکمه حساب کاربری هدر --- */
.header-account {
  display: inline-block;
  padding: 9px 16px;
  border: 1px solid var(--navy-soft);
  border-radius: var(--pill);
  background: var(--card);
  color: var(--navy);
  font-size: .85rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  margin-inline-start: 4px;
  transition: border-color .15s, background .15s;
}

.header-account:hover {
  border-color: var(--navy);
  background: var(--navy-soft);
}

/* پیوندهای موبایل — فقط در پانل موبایل نمایش داده می‌شوند */
.mobile-nav-actions {
  display: none;
}

/* دکمه منوی موبایل */
.nav-toggle {
  display: none;
  width: 46px;
  height: 46px;
  border-radius: 13px;
  border: 1.5px solid var(--line);
  background: #fff;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  justify-content: center;
}

.nav-toggle span {
  width: 20px;
  height: 2px;
  background: var(--ink);
  border-radius: 2px;
  transition: .3s;
}

.site-header.nav-open .nav-toggle span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.site-header.nav-open .nav-toggle span:nth-child(2) {
  opacity: 0;
}

.site-header.nav-open .nav-toggle span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

@media (max-width:1200px) {
  .nav-toggle {
    display: flex;
    margin-inline-start: auto;
  }

  .main-nav {
    position: fixed;
    inset: var(--nav-h) 0 auto 0;
    margin: 0;
    background: #7f8358;
    backdrop-filter: blur(16px);
    padding: 16px clamp(20px, 5vw, 44px) 26px;
    padding-bottom: calc(96px + env(safe-area-inset-bottom));
    box-sizing: border-box;
    box-shadow: var(--sh-2);
    transform: translateY(-130%);
    visibility: hidden;
    pointer-events: none;
    transition: transform .45s cubic-bezier(.2, .9, .3, 1.15), visibility 0s .45s;
    max-height: calc(100vh - var(--nav-h) - 16px);
    max-height: calc(100dvh - var(--nav-h) - 16px);
    max-height: calc(100svh - var(--nav-h) - 16px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  .site-header.nav-open .main-nav {
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
    transition: transform .45s cubic-bezier(.2, .9, .3, 1.15), visibility 0s 0s;
  }

  .main-nav ul {
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
  }

  .main-nav a {
    padding: 14px 16px;
    font-size: 1.08rem;
  }

  .main-nav .header-cta {
    display: block;
    margin-top: 10px;
  }

  .main-nav .header-cta .btn {
    width: 100%;
  }

  .header-cta:not(.main-nav .header-cta) {
    display: none;
  }

  .header-account {
    display: none;
  }

  /* --- حساب کاربری و رزرو داخل پانل موبایل --- */
  .mobile-nav-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
  }

  .mobile-nav-account {
    display: block;
    padding: 12px 16px;
    border: 1.5px solid var(--line);
    border-radius: var(--pill);
    text-align: center;
    font-weight: 600;
    font-size: 1.08rem;
    color: var(--navy);
    background: var(--card);
    transition: border-color .15s, background .15s;
  }

  .mobile-nav-cta {
    display: block;
    text-align: center;
    width: 100%;
  }

  /* --- زیرمنوی برندها در موبایل: آکاردئون بسته به‌صورت پیش‌فرض --- */
  .main-nav .menu-item-has-children .sub-menu {
    display: none;
    position: static;
    box-shadow: none;
    border-radius: 0;
    min-width: 0;
    padding: 4px 0 4px;
    background: transparent;
    z-index: auto;
  }

  .main-nav .menu-item-has-children:hover .sub-menu {
    display: none;
  }

  .main-nav .has-mobile-submenu.submenu-open > .sub-menu {
    display: flex;
  }

  .main-nav .menu-item-has-children .sub-menu a {
    padding-inline-start: 32px;
    font-size: .95rem;
    color: var(--muted);
  }

  .has-mobile-submenu {
    display: flex;
    flex-wrap: wrap;
  }

  .has-mobile-submenu>a {
    flex: 1;
    padding: 14px 16px;
    font-size: 1.08rem;
  }

  .submenu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
  }

  .submenu-toggle::after {
    content: "+";
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1;
    color: var(--muted);
  }

  .has-mobile-submenu.submenu-open .submenu-toggle::after {
    content: "\2212";
  }

  .has-mobile-submenu>.sub-menu {
    flex-basis: 100%;
  }
}

/* --- نوار مدیریت وردپرس --- */
body.admin-bar .site-header {
  top: 32px;
}

@media (max-width:1200px) {
  body.admin-bar .main-nav {
    top: calc(32px + var(--nav-h));
  }
}

@media (max-width:782px) {
  body.admin-bar .site-header {
    top: 46px;
  }

  body.admin-bar .main-nav {
    top: calc(46px + var(--nav-h));
  }
}

/* ==========================================================================
   هدر زیتونی — رنگ متن موبایل (پانل)
   ========================================================================== */
@media (max-width: 1200px) {

  /* پیوندهای سطح اول */
  .site-header .main-nav a {
    color: rgba(255, 253, 248, .82);
  }

  .site-header .main-nav a:hover {
    color: #fffdf8;
    background: rgba(255, 253, 248, .1);
  }

  /* آیتم فعال */
  .site-header .nav-active {
    color: #fffdf8 !important;
    background: rgba(255, 253, 248, .15) !important;
  }

  /* آیتم فعال داخل زیرمنوی آکاردئون — تأکید زیتونی */
  .site-header .main-nav .sub-menu a.nav-active {
    color: #fffdf8 !important;
    background: #465338 !important;
  }

  /* حالت تعامل آیتم فعال — متن روشن روی پس‌زمینه کمی روشن‌تر */
  .site-header .main-nav .sub-menu a.nav-active:hover,
  .site-header .main-nav .sub-menu a.nav-active:focus,
  .site-header .main-nav .sub-menu a.nav-active:active {
    background: rgba(255, 253, 248, .22) !important;
    color: #fffdf8 !important;
  }

  /* زیرمنوی برندها — متن روشن روی پانل زیتونی */
  .site-header .main-nav .menu-item-has-children .sub-menu a {
    color: rgba(255, 253, 248, .72);
  }

  /* دکمه تاگل زیرمنو */
  .site-header .submenu-toggle::after {
    color: rgba(255, 253, 248, .6);
  }

  /* دکمه همبرگر */
  .site-header .nav-toggle {
    background: rgba(255, 253, 248, .1);
    border-color: rgba(255, 253, 248, .25);
  }

  .site-header .nav-toggle span {
    background: #fffdf8;
  }

  /* دکمه حساب کاربری موبایل */
  .site-header .mobile-nav-account {
    color: rgba(255, 253, 248, .9);
    background: rgba(255, 253, 248, .1);
    border-color: rgba(255, 253, 248, .22);
  }

  /* جداکننده بالای کنترل‌های موبایل */
  .site-header .mobile-nav-actions {
    border-top-color: rgba(255, 253, 248, .15);
  }
}

/* ==========================================================================
   هدر زیتونی — رنگ متن دسکتاپ
   ========================================================================== */
@media (min-width: 1201px) {

  /* برند */
  .site-header .brand-text b {
    color: #fffdf8;
  }

  .site-header .brand-subtitle {
    color: rgba(255, 253, 248, .65);
  }

  /* پیوندهای سطح اول */
  .site-header .main-nav a {
    color: rgba(255, 253, 248, .82);
  }

  .site-header .main-nav a:hover {
    color: #fffdf8;
    background: rgba(255, 253, 248, .1);
  }

  /* بازگردانی زیرمنو دسکتاپ — کارت سفید، متن تیره */
  .site-header .main-nav .sub-menu a {
    color: var(--ink-soft);
  }

  .site-header .main-nav .sub-menu a:hover {
    color: #465338;
    background: transparent;
  }

  /* آیتم فعال */
  .site-header .nav-active {
    color: #fffdf8 !important;
    background: rgba(255, 253, 248, .15) !important;
  }

  /* آیتم فعال داخل زیرمنوی سفید — بازگردانی به رنگ تیره */
  .site-header .main-nav .sub-menu a.nav-active {
    color: #465338 !important;
    background: rgba(70, 83, 56, .08) !important;
  }

  /* دکمه حساب کاربری */
  .site-header .header-account {
    background: rgba(255, 253, 248, .08);
    border-color: rgba(255, 253, 248, .28);
    color: #fffdf8;
  }

  .site-header .header-account:hover {
    background: rgba(255, 253, 248, .16);
    border-color: rgba(255, 253, 248, .55);
    color: #fffdf8;
  }
}

/* ==========================================================================
   هدر زیتونی — دکمه رزرو خدمات (دسکتاپ و موبایل)
   ========================================================================== */
.site-header .header-cta,
.site-header .mobile-nav-cta {
  background: #C5A059;
  color: #2E351F;
  box-shadow: none;
}

.site-header .header-cta:hover,
.site-header .mobile-nav-cta:hover {
  background: #B38D4C;
  color: #2E351F;
}

/* ==========================================================================
   پوسته بیرونی صفحه اصلی
   ========================================================================== */
.home-page-bg {
  background: #FFF8F0;
  padding: 20px;
}

.home-shell {
  width: 100%;
  max-width: none;
  margin: 26px auto;
  background: var(--card);
  border-radius: clamp(24px, 4vw, 44px);
  border: 1px solid rgba(221, 232, 228, .6);
  box-shadow:
    0 4px 24px rgba(23, 32, 51, .04),
    0 24px 64px -24px rgba(23, 32, 51, .08);
  overflow: hidden;
}

@media (max-width: 1024px) {
  .home-page-bg {
    padding: 14px;
  }

  .home-shell {
    margin: 20px auto;
  }
}

@media (max-width: 600px) {
  .home-page-bg {
    padding: 8px;
  }

  .home-shell {
    margin: 12px auto;
    border-radius: 20px;
  }
}

/* فاصله بخش‌های داخلی صفحه اصلی — فقط .section درون .home-shell */
.home-shell .section {
  padding-block: clamp(44px, 5vw, 72px);
}

@media (max-width: 600px) {
  .home-shell .section {
    padding-block: 36px;
  }
}

/* اولین بخش بعد از هیرو: فاصله بالا را به مقدار اصلی بازمی‌گردانیم */
#products-preview {
  padding-block-start: clamp(72px, 10vw, 130px);
}

@media (max-width: 600px) {
  #products-preview {
    padding-block-start: 72px;
  }
}

/* ==========================================================================
   هیرو
   ========================================================================== */
.hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(56px, 8vw, 110px) clamp(72px, 10vw, 140px);
}

/* --- دکوراسیون پس‌زمینه هیرو --- */
.hero::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--green-soft) 0%, transparent 70%);
  top: -160px;
  inset-inline-end: -140px;
  opacity: .7;
  pointer-events: none;
}

.hero::after {
  content: "";
  position: absolute;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--navy-soft) 0%, transparent 70%);
  bottom: -120px;
  inset-inline-start: -100px;
  opacity: .55;
  pointer-events: none;
}

.hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(36px, 5vw, 64px);
  align-items: center;
  justify-items: center;
}

.hero-copy {
  position: relative;
  max-width: 760px;
  width: 100%;
  background: rgba(255, 255, 255, .5);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, .75);
  border-radius: var(--r-lg);
  padding: clamp(32px, 5vw, 56px);
  box-shadow: 0 20px 60px -20px rgba(23, 32, 51, .07);
}

/* پنجه تزئینی */
.hero-copy::before {
  content: "🐾";
  position: absolute;
  font-size: 6rem;
  opacity: .06;
  top: -18px;
  inset-inline-end: -10px;
  transform: rotate(-20deg);
  pointer-events: none;
  line-height: 1;
}

.hero-copy::after {
  content: "🐾";
  position: absolute;
  font-size: 3.5rem;
  opacity: .05;
  bottom: 10px;
  inset-inline-start: 20px;
  transform: rotate(15deg);
  pointer-events: none;
  line-height: 1;
}

.hero h1 {
  margin-bottom: 20px;
}

.hero .lead {
  margin-bottom: 36px;
}

.hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.hero-trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
  margin-top: 34px;
  font-size: .9rem;
  color: var(--ink-soft);
}

.trust-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 10px 20px;
  border-radius: 999px;
  background: #fff;
  color: var(--green-deep);
  font-weight: 700;
  border: 1px solid var(--green-soft);
  box-shadow: 0 4px 14px -4px rgba(47, 155, 110, .12);
  transition: transform .3s, box-shadow .3s;
}

.trust-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px -6px rgba(47, 155, 110, .2);
}

/* آیکون بولت برای trust items */
.trust-item::before {
  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-size: .7rem;
  font-weight: 900;
  background: var(--green);
  color: #fff;
  flex: none;
}

.hero-visual,
.hero-badge,
.hero-badge .bi {
  display: none;
}

.ic-green {
  background: var(--green-soft);
  color: var(--green-deep);
}

.ic-orange {
  background: var(--navy-soft);
  color: var(--navy-deep);
}

@media (max-width:880px) {
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .hero-copy {
    padding: clamp(24px, 4vw, 36px);
  }

  .hero::before {
    width: 320px;
    height: 320px;
    top: -100px;
    inset-inline-end: -80px;
  }

  .hero::after {
    width: 260px;
    height: 260px;
    bottom: -80px;
  }

  .hero-trust {
    justify-content: center;
  }
}

@media (max-width:480px) {
  .hero-copy::before {
    font-size: 4rem;
    top: -10px;
  }

  .hero-copy::after {
    display: none;
  }
}

/* ==========================================================================
   خدمات
   ========================================================================== */
.services {
  background: var(--bg-soft);
}

#services-preview {
  background: #fffdf8;
}

#services-preview .eyebrow {
  color: #657047;
  background: #FFFDF8;
}

#services-preview .service-card {
  background: #FFFFFF;
  border-color: rgba(70, 83, 56, .18);
  box-shadow: 0 10px 24px rgba(70, 83, 56, .10);
}

#services-preview .service-card:hover,
#services-preview .service-card:nth-child(even):hover {
  border-color: rgba(70, 83, 56, .32);
  box-shadow: 0 18px 40px rgba(70, 83, 56, .14);
}

#services-preview .service-card:nth-child(1) .service-icon {
  background: #EEF1E8;
  color: #465338;
}

#services-preview .service-card:nth-child(2) .service-icon {
  background: #FBF3E3;
  color: #B8873D;
}

#services-preview .service-card:nth-child(3) .service-icon {
  background: #F8ECE7;
  color: #9A5B45;
}

#services-preview .service-card:nth-child(1):hover .service-icon {
  box-shadow: 0 8px 20px -8px rgba(70, 83, 56, .25);
}

#services-preview .service-card:nth-child(2):hover .service-icon {
  box-shadow: 0 8px 20px -8px rgba(184, 135, 61, .25);
}

#services-preview .service-card:nth-child(3):hover .service-icon {
  box-shadow: 0 8px 20px -8px rgba(154, 91, 69, .25);
}

#services-preview .service-book {
  background: transparent;
  box-shadow: none;
  border: none;
  color: #465338;
}

#services-preview .btn-ghost {
  background: #465338;
  color: #fffdf8;
}

#services-preview .btn-ghost:hover {
  background: #303923;
  color: #fffdf8;
}

#services-preview .service-card:hover .service-book,
#services-preview .service-card:focus-within .service-book {
  background: #303923;
  color: #fffdf8;
  box-shadow: 0 10px 28px rgba(70, 83, 56, .28);
}

.service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

@media (max-width:900px) {
  .service-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width:560px) {
  .service-grid {
    grid-template-columns: 1fr;
  }
}

.service-card {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 34px 32px;
  border-radius: var(--r-lg);
  background: var(--card);
  border: 1px solid var(--line);
  box-shadow: 0 2px 12px rgba(23, 32, 51, .04);
  transition: transform .45s cubic-bezier(.2, .8, .2, 1), box-shadow .45s, border-color .4s;
}

.service-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 24px 56px -16px rgba(23, 32, 51, .12), 0 0 0 1px rgba(98, 201, 154, .18);
  border-color: rgba(98, 201, 154, .25);
}

.service-card:nth-child(even):hover {
  box-shadow: 0 24px 56px -16px rgba(23, 32, 51, .12), 0 0 0 1px rgba(38, 59, 94, .18);
  border-color: rgba(38, 59, 94, .25);
}

.service-icon {
  width: 68px;
  height: 68px;
  border-radius: 20px;
  display: grid;
  place-items: center;
  background: var(--green-soft);
  color: var(--green-deep);
  margin-bottom: 22px;
  transition: transform .45s cubic-bezier(.2, .9, .3, 1.3), background .4s, box-shadow .4s;
}

.service-icon svg {
  width: 34px;
  height: 34px;
}

.service-card:nth-child(even) .service-icon {
  background: var(--navy-soft);
  color: var(--navy-deep);
}

.service-card:hover .service-icon {
  transform: scale(1.12) rotate(-6deg);
  box-shadow: 0 8px 20px -8px rgba(47, 155, 110, .25);
}

.service-card:nth-child(even):hover .service-icon {
  box-shadow: 0 8px 20px -8px rgba(38, 59, 94, .25);
}

.service-card h3 {
  font-size: 1.22rem;
  margin-bottom: 10px;
}

.service-card p {
  color: var(--ink-soft);
  font-size: .97rem;
  margin-bottom: 20px;
  line-height: 1.85;
}

/* دکمه «رزرو این خدمت» — هنگام هاور برجسته/نمایان می‌شود */
.service-book {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  margin-top: auto;
  font-weight: 700;
  font-size: .94rem;
  padding: 11px 20px;
  border-radius: var(--pill);
  background: var(--green-soft);
  color: var(--green-deep);
  opacity: .55;
  transform: translateY(6px);
  transition: opacity .4s, transform .4s, background .3s, color .3s, box-shadow .3s;
}

.service-card:hover .service-book,
.service-card:focus-within .service-book {
  opacity: 1;
  transform: translateY(0);
  background: var(--green);
  color: #fff;
  box-shadow: var(--sh-green);
}



/* روی لمسی همیشه نمایان باشد */
@media (hover:none) {
  .service-book {
    opacity: 1;
    transform: none;
    background: var(--green);
    color: #fff;
  }

  #services-preview .service-book {
    background: #465338;
    color: #FFFDF8;
    box-shadow: 0 10px 24px rgba(70, 83, 56, .20);
  }
}

/* ==========================================================================
   صفحه خدمات — پالت گرم زیتونی/طلایی IRAN PAW
   ========================================================================== */

.services {
  background: #FFFDF8;
}

.services .service-card {
  background: #FFFFFF;
  border-color: rgba(70, 83, 56, .18);
  box-shadow: 0 2px 12px rgba(70, 83, 56, .06);
}

.services .service-card:hover,
.services .service-card:nth-child(even):hover {
  border-color: rgba(70, 83, 56, .32);
  box-shadow: 0 24px 56px -16px rgba(70, 83, 56, .14), 0 0 0 1px rgba(70, 83, 56, .18);
}

.services .service-icon,
.services .service-card:nth-child(even) .service-icon {
  background: #EEF1E8;
  color: #465338;
}

.services .service-card:hover .service-icon,
.services .service-card:nth-child(even):hover .service-icon {
  box-shadow: 0 8px 20px -8px rgba(70, 83, 56, .25);
}

.services .service-card p {
  color: #7A8492;
}

.services .service-book {
  background: #465338;
  color: #FFFDF8;
  opacity: 1;
  transform: none;
}

.services .service-card:hover .service-book,
.services .service-card:focus-within .service-book {
  background: #C5A059;
  color: #172033;
  box-shadow: 0 10px 28px rgba(197, 160, 89, .28);
}

.services .service-book:focus-visible {
  outline: 2px solid #C5A059;
  outline-offset: 2px;
}

@media (hover:none) {
  .services .service-book {
    background: #465338;
    color: #FFFDF8;
  }
}

/* ==========================================================================
   چطور کار می‌کند؟
   ========================================================================== */
.steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

@media (max-width:760px) {
  .steps {
    grid-template-columns: 1fr;
  }
}

.step {
  position: relative;
  padding: 36px 30px;
  border-radius: var(--r-lg);
  background: var(--card);
  border: 1px solid var(--line);
  box-shadow: 0 2px 12px rgba(23, 32, 51, .04);
  transition: transform .45s cubic-bezier(.2, .8, .2, 1), box-shadow .45s, border-color .4s;
}

.step:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 44px -14px rgba(23, 32, 51, .1);
  border-color: rgba(98, 201, 154, .2);
}

.step .step-num {
  width: 52px;
  height: 52px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  font-size: 1.3rem;
  font-weight: 900;
  color: #fff;
  margin-bottom: 18px;
  background: linear-gradient(135deg, var(--green), var(--green-deep));
}

.step:nth-child(2) .step-num {
  background: linear-gradient(135deg, var(--navy), var(--navy-deep));
}

.step h3 {
  font-size: 1.2rem;
  margin-bottom: 8px;
}

.step p {
  color: var(--ink-soft);
  font-size: .97rem;
}

.step-connector {
  position: absolute;
  top: 60px;
  inset-inline-start: -12px;
  color: var(--line);
}

@media (max-width:760px) {
  .step-connector {
    display: none;
  }
}

/* ==========================================================================
   چطور کار می‌کند؟
   ========================================================================== */
.steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

@media (max-width:760px) {
  .steps {
    grid-template-columns: 1fr;
  }
}

.step {
  position: relative;
  padding: 36px 30px;
  border-radius: var(--r-lg);
  background: var(--card);
  border: 1px solid var(--line);
  box-shadow: 0 2px 12px rgba(23, 32, 51, .04);
  transition: transform .45s cubic-bezier(.2, .8, .2, 1), box-shadow .45s, border-color .4s;
}

.step:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 44px -14px rgba(23, 32, 51, .1);
  border-color: rgba(98, 201, 154, .2);
}

.step .step-num {
  width: 52px;
  height: 52px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  font-size: 1.3rem;
  font-weight: 900;
  color: #fff;
  margin-bottom: 18px;
  background: linear-gradient(135deg, var(--green), var(--green-deep));
}

.step:nth-child(2) .step-num {
  background: linear-gradient(135deg, var(--navy), var(--navy-deep));
}

.step h3 {
  font-size: 1.2rem;
  margin-bottom: 8px;
}

.step p {
  color: var(--ink-soft);
  font-size: .97rem;
}

.step-connector {
  position: absolute;
  top: 60px;
  inset-inline-start: -12px;
  color: var(--line);
}

@media (max-width:760px) {
  .step-connector {
    display: none;
  }
}

/* ==========================================================================
   سه گام ساده — پالت گرم زیتونی/طلایی IRAN PAW
   ========================================================================== */

.how .step {
  background: #FFFFFF;
  border-color: rgba(70, 83, 56, .18);
  box-shadow: 0 2px 12px rgba(70, 83, 56, .06);
}

.how .step:hover {
  border-color: rgba(70, 83, 56, .32);
  box-shadow: 0 18px 44px -14px rgba(70, 83, 56, .12);
}

.how .step .step-num,
.how .step:nth-child(2) .step-num {
  background: linear-gradient(135deg, #576844, #465338);
}

.how .step p {
  color: #7A8492;
}

.how .step-connector {
  color: rgba(70, 83, 56, .22);
}

/* ==========================================================================
   پیش‌نمایش محصولات
   ========================================================================== */
.products {
  background: var(--bg-soft);
}

#products-preview {
  background: #fffdf8;
}

#products-preview .eyebrow {
  color: #657047;
  background: #FFFDF8;
}

#products-preview .home-product-link {
  color: #657047;
}

.product-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: clamp(34px, 5vw, 50px);
}

.home-product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

@media (max-width:900px) {
  .home-product-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width:460px) {
  .home-product-grid {
    grid-template-columns: 1fr;
  }
}

.home-product-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid rgba(18, 33, 63, 0.08);
  border-radius: 28px;
  padding: 16px;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
  transition: transform .4s cubic-bezier(.18, .9, .3, 1.15), box-shadow .4s;
  position: relative;
  overflow: hidden;
}

.home-product-card::before {
  content: "🐾";
  position: absolute;
  top: 10px;
  right: 12px;
  font-size: 20px;
  opacity: .13;
  line-height: 1;
  pointer-events: none;
  transition: opacity .4s, transform .4s;
}

.home-product-card:hover::before {
  opacity: .28;
  transform: rotate(-18deg) scale(1.2);
}

.home-product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 45px rgba(15, 23, 42, 0.10);
}

.home-product-media {
  aspect-ratio: 1/1;
  border-radius: 18px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: transform .4s;
}

.home-product-card:hover .home-product-media {
  transform: scale(1.03);
}

.home-product-media img {
  width: 240px;
  height: 240px;
  object-fit: contain;
  transition: transform .4s cubic-bezier(.2, .8, .2, 1), filter .4s;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .10));
}

.home-product-card:hover .home-product-media img {
  transform: scale(1.12) translateY(-3px);
  filter: drop-shadow(0 8px 14px rgba(0, 0, 0, .15));
}

.home-product-card:nth-child(1) .home-product-media {
  background: linear-gradient(150deg, #edfaf3 0%, #d6f2e4 60%, #c5ebd9 100%);
}

.home-product-card:nth-child(2) .home-product-media {
  background: linear-gradient(150deg, #eef1fb 0%, #dce3f5 60%, #cdd7f0 100%);
}

.home-product-card:nth-child(3) .home-product-media {
  background: linear-gradient(150deg, #e8faf8 0%, #d0f0ed 60%, #bde8e5 100%);
}

.home-product-card:nth-child(4) .home-product-media {
  background: linear-gradient(150deg, #fdf0f8 0%, #f5dff0 60%, #eecde8 100%);
}

.home-product-card h3 {
  font-size: 1.12rem;
  margin: 0 8px 6px;
}

.home-product-card p {
  margin: 0 8px 14px;
  font-size: .92rem;
  color: var(--muted);
  line-height: 1.8;
}

.home-product-link {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 6px;
  margin: 0 8px 8px;
  margin-top: auto;
  font-weight: 700;
  font-size: .92rem;
  color: var(--green-deep);
  transition: color .3s;
}

.home-product-card:hover .home-product-link {
  color: var(--green);
}



@media (max-width:460px) {
  .home-product-media img {
    width: 100%;
    height: 100%;
  }
}

/* ==========================================================================
   مزایا
   ========================================================================== */
#benefits-preview {
  background: #fffdf8;
}

#benefits-preview .eyebrow {
  color: #657047;
  background: #FFFDF8;
}

#benefits-preview .benefit {
  background: #FFFFFF;
  border-color: rgba(70, 83, 56, .18);
  box-shadow: 0 10px 24px rgba(70, 83, 56, .10);
}

#benefits-preview .benefit:hover,
#benefits-preview .benefit:nth-child(even):hover {
  border-color: rgba(70, 83, 56, .32);
  box-shadow: 0 18px 40px rgba(70, 83, 56, .14);
}

#benefits-preview .benefit:nth-child(1) .benefit-icon {
  background: #EEF1E8;
  color: #465338;
}

#benefits-preview .benefit:nth-child(2) .benefit-icon {
  background: #FBF3E3;
  color: #B8873D;
}

#benefits-preview .benefit:nth-child(3) .benefit-icon {
  background: #F8ECE7;
  color: #9A5B45;
}

#benefits-preview .benefit:nth-child(4) .benefit-icon {
  background: #EAF0F2;
  color: #536C73;
}

#benefits-preview .btn-ghost {
  background: #465338;
  color: #fffdf8;
}

#benefits-preview .btn-ghost:hover {
  background: #303923;
  color: #fffdf8;
  border-color: #303923;
}

.benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

@media (max-width:900px) {
  .benefit-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width:460px) {
  .benefit-grid {
    grid-template-columns: 1fr;
  }
}

.benefit {
  text-align: center;
  padding: 34px 24px;
  border-radius: var(--r-lg);
  background: var(--card);
  border: 1px solid var(--line);
  box-shadow: 0 2px 12px rgba(23, 32, 51, .04);
  transition: transform .45s cubic-bezier(.2, .8, .2, 1), box-shadow .45s, border-color .4s;
}

.benefit:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 44px -14px rgba(23, 32, 51, .1);
  border-color: rgba(98, 201, 154, .2);
}

.benefit:nth-child(even):hover {
  border-color: rgba(38, 59, 94, .2);
}

.benefit .benefit-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: 0 auto 18px;
  background: var(--green-soft);
  color: var(--green-deep);
}

.benefit:nth-child(even) .benefit-icon {
  background: var(--navy-soft);
  color: var(--navy-deep);
}

.benefit .benefit-icon svg {
  width: 30px;
  height: 30px;
}

.service-icon img {
  display: block;
  max-width: 32px;
  max-height: 32px;
  object-fit: contain;
}

.benefit h3 {
  font-size: 1.1rem;
  margin-bottom: 7px;
}

.benefit p {
  color: var(--ink-soft);
  font-size: .94rem;
}

/* ==========================================================================
   نظرات مشتریان
   ========================================================================== */
.testimonials {
  background: var(--bg-soft);
}

.testi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width:860px) {
  .testi-grid {
    grid-template-columns: 1fr;
    max-width: 560px;
    margin-inline: auto;
  }
}

.testi {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 34px;
  border-radius: var(--r-lg);
  background: var(--card);
  border: 1px solid var(--line);
  box-shadow: 0 2px 12px rgba(23, 32, 51, .04);
  transition: transform .45s cubic-bezier(.2, .8, .2, 1), box-shadow .45s, border-color .4s;
}

.testi:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 44px -14px rgba(23, 32, 51, .1);
  border-color: rgba(98, 201, 154, .2);
}

.testi-stars {
  display: flex;
  gap: 3px;
  color: var(--navy);
}

.testi-stars svg {
  width: 18px;
  height: 18px;
}

.testi-text {
  color: var(--ink-soft);
  font-size: 1.02rem;
  line-height: 1.9;
  flex: 1;
}

.testi-author {
  display: flex;
  align-items: center;
  gap: 13px;
}

.testi-author .avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  flex: none;
  background: linear-gradient(135deg, var(--green), var(--green-deep));
}

.testi:nth-child(2) .testi-author .avatar {
  background: linear-gradient(135deg, var(--navy), var(--navy-deep));
}

.testi-author b {
  display: block;
  font-size: 1rem;
}

.testi-author span {
  font-size: .86rem;
  color: var(--muted);
}

/* ==========================================================================
   پرسش‌های متداول (آکاردئون)
   ========================================================================== */
.faq {
  max-width: 820px;
  margin-inline: auto;
}

.faq-item {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r);
  margin-bottom: 14px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(23, 32, 51, .04);
  transition: box-shadow .35s, border-color .35s;
}

.faq-item.open {
  box-shadow: 0 12px 32px -10px rgba(47, 155, 110, .16);
  border-color: var(--green);
}

.faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 26px;
  text-align: start;
  font-family: inherit;
  font-weight: 700;
  font-size: 1.06rem;
  color: var(--ink);
}

.faq-icon {
  flex: none;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: var(--green-soft);
  color: var(--green-deep);
  transition: transform .35s, background .3s, color .3s;
}

.faq-icon svg {
  width: 18px;
  height: 18px;
}

.faq-item.open .faq-icon {
  transform: rotate(45deg);
  background: var(--green);
  color: #fff;
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s ease;
}

.faq-answer p {
  padding: 0 26px 24px;
  color: var(--ink-soft);
  font-size: .99rem;
  line-height: 1.9;
}

/* ==========================================================================
   رزرو خدمات (CTA + فرم)
   ========================================================================== */
.booking-section {
  background: #FFFDF8;
}

#cta {
  background: #fffdf8;
}

/* --- سربرگ CTA --- */
.booking-cta-box {
  position: relative;
  overflow: hidden;
  text-align: center;
  max-width: 820px;
  margin-inline: auto;
  border-radius: 0 !important;
  padding: clamp(40px, 6vw, 70px) clamp(28px, 5vw, 64px) clamp(32px, 4vw, 50px);
  background: #E9DEC8;
  border: 1px solid rgba(128, 101, 60, .22);
  box-shadow: inset 0 0 0 1px rgba(255, 248, 232, .18), inset 0 0 22px rgba(120, 88, 44, .10), inset 0 0 42px rgba(92, 66, 30, .05), 0 10px 28px rgba(70, 83, 56, .10);
}

.booking-cta-box::before,
.booking-cta-box::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(8px);
}

.booking-cta-box::before {
  width: 300px;
  height: 300px;
  background: rgba(101, 112, 71, .045);
  top: -120px;
  inset-inline-end: -80px;
}

.booking-cta-box::after {
  width: 200px;
  height: 200px;
  background: rgba(101, 112, 71, .045);
  bottom: -100px;
  inset-inline-start: -60px;
}

.booking-cta-box>* {
  position: relative;
  z-index: 2;
}

.booking-cta-box h2 {
  color: #172033;
  max-width: 24ch;
  margin-inline: auto;
  margin-bottom: 12px;
}

.booking-cta-box p {
  color: #465338;
  max-width: 50ch;
  margin: 0 auto;
  font-size: 1.06rem;
}

/* --- دکمه CTA داخل باکس رزرو --- */
.booking-cta-box .btn-accent {
  background: #C5A059;
  color: #2E351F;
  box-shadow: none;
}

.booking-cta-box .btn-accent:hover {
  background: #B38D4C;
  color: #2E351F;
}

/* --- کارت فرم --- */
.booking-card {
  max-width: 820px;
  margin: -2px auto 0;
  position: relative;
  z-index: 3;
  background: var(--card);
  border: 1px solid var(--line);
  border-top: none;
  border-radius: 0 0 var(--r-lg) var(--r-lg);
  padding: clamp(28px, 4vw, 48px) clamp(24px, 4vw, 48px);
  box-shadow: 0 20px 56px -18px rgba(23, 32, 51, .09);
}

/* --- گرید فرم --- */
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 24px;
}

.form-group-full {
  grid-column: 1 / -1;
}

@media (max-width:600px) {
  .form-grid {
    grid-template-columns: 1fr;
  }

  .form-actions .btn {
    min-width: 0;
    width: 100%;
  }
}

/* --- لیبل --- */
.form-group label {
  display: block;
  margin-bottom: 7px;
  font-weight: 700;
  font-size: .93rem;
  color: var(--ink);
}

/* --- اینپوت‌ها و سلکت‌ها --- */
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  font-family: var(--font);
  font-size: 1rem;
  color: var(--ink);
  padding: 13px 16px;
  border: 1.5px solid var(--line);
  border-radius: var(--r-sm);
  background: var(--bg);
  outline: none;
  transition: border-color .3s, box-shadow .3s, background .3s;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
  color: var(--muted);
  font-weight: 400;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(98, 201, 154, .15);
  background: #fff;
}

/* ── صفحه رزرو — فرم‌ها ── */
.booking-page .form-group input,
.booking-page .form-group select,
.booking-page .form-group textarea {
  background: #FFFDF8;
  color: #172033;
  border-color: rgba(70, 83, 56, .18);
}

.booking-page .form-group input:focus,
.booking-page .form-group select:focus,
.booking-page .form-group textarea:focus {
  background: #FFFDF8;
  border-color: #657047;
  box-shadow: 0 0 0 3px rgba(101, 112, 71, .16);
}

.booking-page .booking-card {
  background: #FFFDF8;
  border-color: rgba(70, 83, 56, .18);
  box-shadow: 0 10px 24px rgba(70, 83, 56, .10);
  border-radius: 0;
}

/* سلکت */
.form-group select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235E5B52' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 16px center;
  padding-inline-end: 40px;
  padding-inline-start: 16px;
  cursor: pointer;
}

/* تکست‌اریا */
.form-group textarea {
  resize: vertical;
  min-height: 80px;
  line-height: 1.85;
}

/* --- دکمه ارسال --- */
.form-actions {
  margin-top: 28px;
  display: flex;
  justify-content: center;
}

.form-actions .btn {
  min-width: 260px;
  font-size: 1.1rem;
  padding: 17px 40px;
}

.booking-page .form-actions .btn {
  background: #465338;
  color: #FFFDF8;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .20);
}

.booking-page .form-actions .btn:hover {
  background: #657047;
  box-shadow: 0 10px 28px rgba(70, 83, 56, .28);
}

.booking-page .form-actions .btn:focus-visible {
  background: #657047;
  outline: 1px solid #657047;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .20), 0 0 0 3px rgba(101, 112, 71, .16);
}

/* --- پیام موفقیت --- */
.form-success {
  margin-top: 24px;
  padding: 20px 24px;
  border-radius: var(--r-sm);
  background: var(--green-soft);
  border: 1.5px solid var(--green);
  display: flex;
  align-items: center;
  gap: 14px;
  animation: fadeSlideUp .5s ease both;
}

.form-success svg {
  width: 34px;
  height: 34px;
  flex: none;
  color: var(--green-deep);
}

.form-success p {
  font-weight: 600;
  font-size: 1rem;
  color: var(--green-deep);
  line-height: 1.6;
}

.booking-page .form-success {
  background: #F8F4EB;
  border-color: rgba(70, 83, 56, .18);
}

.booking-page .form-success svg {
  color: #465338;
}

.booking-page .form-success p {
  color: #465338;
}

@keyframes fadeSlideUp {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ==========================================================================
   فوتر — بزرگ‌تایپ
   ========================================================================== */

/* ----- پوشش کلی ----- */
.site-footer {
  background: transparent;
  color: rgba(255, 255, 255, .7);
  border-radius: 32px 32px 0 0;
  overflow: visible;
}

/* ----- نوار CTA ----- */
.footer-cta {
  position: relative;
  overflow: hidden;
  background: #E9DEC8;
  border: 1px solid rgba(128, 101, 60, .22);
  box-shadow: inset 0 0 0 1px rgba(255, 248, 232, .18), inset 0 0 22px rgba(120, 88, 44, .10), inset 0 0 42px rgba(92, 66, 30, .05), 0 10px 28px rgba(70, 83, 56, .10);
  padding-block: clamp(30px, 5vw, 50px);
  margin-bottom: clamp(16px, 2vw, 28px);
  border-radius: 0;
}

.footer-cta::before,
.footer-cta::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(8px);
}

.footer-cta::before {
  width: 280px;
  height: 280px;
  background: rgba(101, 112, 71, .045);
  top: -100px;
  inset-inline-end: -60px;
}

.footer-cta::after {
  width: 180px;
  height: 180px;
  background: rgba(101, 112, 71, .045);
  bottom: -80px;
  inset-inline-start: -40px;
}

.footer-cta-inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 4vw, 40px);
  flex-wrap: wrap;
}

.footer-cta-label {
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .72);
  margin: 0 0 10px;
}

.footer-cta-heading {
  font-size: clamp(1.4rem, 2.6vw, 2rem);
  font-weight: 900;
  line-height: 1.3;
  color: #172033;
  margin: 0;
}

.footer-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  font-size: 1rem;
  padding: 14px 32px;
  border-radius: var(--pill);
  background: #C5A059;
  color: #2E351F;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .25s, color .25s, transform .3s cubic-bezier(.2, .9, .3, 1.3), box-shadow .3s;
  box-shadow: 0 8px 24px -8px rgba(0, 0, 0, .18);
}

.footer-cta-btn:hover {
  background: #B38D4C;
  color: #2E351F;
  transform: translateY(-3px);
  box-shadow: 0 14px 32px -10px rgba(0, 0, 0, .22);
}

/* ----- بدنه ----- */
.footer-body {
  position: relative;
  overflow: hidden;
  background: #303923;
  padding-block: clamp(52px, 8vw, 84px) clamp(40px, 6vw, 64px);
}

.footer-body::before {
  content: "";
  position: absolute;
  inset-inline-end: -80px;
  top: -60px;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(98, 201, 154, .06) 0%, transparent 70%);
  pointer-events: none;
}

.footer-body::after {
  content: "";
  position: absolute;
  inset-inline-start: -40px;
  bottom: -60px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(98, 201, 154, .04) 0%, transparent 70%);
  pointer-events: none;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  gap: clamp(28px, 4vw, 48px);
}

/* برند فوتر */
.footer-brand {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: .03em;
  margin-bottom: 14px;
  direction: ltr;
  display: inline-block;
}

.footer-tagline {
  color: rgba(255, 255, 255, .55);
  font-size: .9rem;
  line-height: 1.85;
  max-width: 28ch;
  margin: 0 0 24px;
}

/* ستون‌ها */
.footer-col h3 {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #C5A059;
  margin: 0 0 18px;
}

.footer-col a {
  display: block;
  color: rgba(255, 255, 255, .62);
  padding: 6px 0;
  font-size: .93rem;
  font-weight: 500;
  transition: color .25s, padding-inline-start .25s;
}

.footer-col a:hover {
  color: #fff;
  padding-inline-start: 6px;
}

.footer-col .footer-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-col .footer-menu li {
  margin: 0;
  padding: 0;
}

/* تماس */
.footer-contact {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-contact li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: rgba(255, 255, 255, .58);
  padding: 6px 0;
  font-size: .9rem;
}

.footer-contact svg {
  width: 17px;
  height: 17px;
  flex: none;
  margin-top: 3px;
  color: #C5A059;
}

/* شبکه‌های اجتماعی */
.footer-social {
  display: flex;
  gap: 12px;
}

.footer-social a {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .06);
  color: rgba(255, 255, 255, .5);
  border: 1px solid rgba(255, 255, 255, .1);
  transition: background .3s, color .3s, transform .3s, border-color .3s;
}

.footer-social a:hover {
  background: #C5A059;
  color: #2E351F;
  border-color: #C5A059;
  transform: translateY(-3px);
}

.footer-social svg {
  width: 20px;
  height: 20px;
}


/* ==========================================================================
   صفحات داخلی — هیرو صفحه
   ========================================================================== */
.page-hero {
  padding-block: clamp(100px, 12vw, 160px) clamp(40px, 5vw, 60px);
  background: #E9DEC8;
  position: relative;
  overflow: hidden;
}

.page-hero::before {
  content: "";
  position: absolute;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--green-soft) 0%, transparent 70%);
  top: -120px;
  inset-inline-end: -100px;
  opacity: .5;
  pointer-events: none;
}

.page-hero h1 {
  margin-bottom: 16px;
}


/* --- لینک فعال منو --- */
.nav-active {
  color: var(--green-deep) !important;
  background: var(--green-soft) !important;
}

/* --- داستان برند --- */
.brand-story {
  background: var(--bg);
}

/* ==========================================================================
   صفحه درباره ما — About-page scoped overrides
   ========================================================================== */

/* ── هیرو ────────────────────────────────────────────────────────────────── */
.about-page .page-hero::before {
  background: radial-gradient(circle, rgba(101, 112, 71, .08) 0%, transparent 70%);
}

.about-page .eyebrow {
  color: #465338;
  background: #F8F4EB;
  border: 1px solid rgba(70, 83, 56, .18);
}

.about-page .page-hero .lead {
  color: #7A8492;
}

/* ── مزایا ────────────────────────────────────────────────────────────────── */

.about-page .benefit {
  background: #FFFFFF;
  border-color: rgba(70, 83, 56, .18);
  box-shadow: 0 10px 24px rgba(70, 83, 56, .10);
}

.about-page .benefit:hover {
  border-color: rgba(70, 83, 56, .32);
  box-shadow: 0 18px 40px rgba(70, 83, 56, .14);
}

.about-page .benefit .benefit-icon,
.about-page .benefit:nth-child(even) .benefit-icon {
  background: #F8F4EB;
  color: #465338;
}

.about-page .benefit p {
  color: #7A8492;
}

/* ── داستان برند ─────────────────────────────────────────────────────────── */
.about-page .brand-story {
  background: #FFFDF8;
}

.about-page .brand-story .lead {
  color: #7A8492;
}

.about-page .brand-story .story-content>p:not(.lead) {
  color: #7A8492;
}

/* ── نظرات مشتریان ───────────────────────────────────────────────────────── */
.about-page .testimonials {
  background: #FFFDF8;
}

.about-page .testi {
  background: #FFFFFF;
  border-color: rgba(70, 83, 56, .18);
  box-shadow: 0 10px 24px rgba(70, 83, 56, .10);
}

.about-page .testi:hover {
  border-color: rgba(70, 83, 56, .32);
  box-shadow: 0 18px 40px rgba(70, 83, 56, .14);
}

.about-page .testi-stars {
  color: #C5A059;
}

.about-page .testi-author b {
  color: #172033;
}

.about-page .testi-author span {
  color: #7A8492;
}

.about-page .testi-author .avatar {
  background: #465338;
}

/* ── فراخوان (CTA) ───────────────────────────────────────────────────────── */
.about-page .booking-section {
  background: #FFFDF8;
}

/* ----- نوار پایین ----- */
.footer-bottom-bar {
  padding: 20px clamp(20px, 5vw, 44px);
  background: #28301D;
  border-top: 1px solid rgba(70, 83, 56, .30);
}

.footer-bottom-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-size: .82rem;
  color: rgba(255, 255, 255, .32);
}

/* ----- ریسپانسیو فوتر ----- */
@media (max-width:900px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }

  .footer-about {
    grid-column: 1 / -1;
  }
}

@media (max-width:560px) {
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-about {
    grid-column: auto;
  }

  .footer-cta-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px;
  }

  .footer-bottom-inner {
    justify-content: center;
    text-align: center;
  }
}

/* ============ Home Hero Banner ============ */
/* ---- هیرو صفحه اصلی — تصویر بزرگ با متن روی آن ---- */
.home-hero-banner {
  position: relative;
  overflow: hidden;
  border-radius: clamp(24px, 4vw, 44px) clamp(24px, 4vw, 44px) 0 0;
}

/* تصویر پس‌زمینه — پر کننده کل هیرو */
.home-hero-bg {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 0;
}

.home-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  display: block;
}

/* پوشش گرادیانت برای خوانایی متن (RTL — سمت راست) */
.home-hero-overlay {
  position: relative;
  z-index: 2;
  min-height: clamp(440px, 62vh, 680px);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: clamp(48px, 7vw, 100px) clamp(52px, 8vw, 120px) clamp(36px, 5vw, 56px) clamp(20px, 3vw, 48px);
  background: linear-gradient(to left,
      rgba(243, 250, 247, .75) 0%,
      rgba(243, 250, 247, .55) 30%,
      rgba(243, 250, 247, .12) 58%,
      transparent 100%);
}

.home-hero-content {
  direction: rtl;
  text-align: start;
  width: 520px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.home-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .03em;
  color: #657047;
  padding: 7px 16px;
  border-radius: var(--pill);
  margin-bottom: 20px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.home-hero-eyebrow .dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
}

.home-hero-content h1 {
  margin: 0 0 16px;
  font-size: clamp(1.8rem, 4.2vw, 3.4rem);
  line-height: 1.25;
  color: #303923;
  font-weight: 900;
}

.home-hero-content p {
  margin: 0 0 28px;
  max-width: 40ch;
  font-size: clamp(.95rem, 1.25vw, 1.12rem);
  line-height: 1.9;
  color: #465338;
}

.home-hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.hero-btn {
  min-width: 140px;
  min-height: 48px;
  padding: 13px 26px;
  border-radius: var(--pill);
  text-decoration: none;
  font-weight: 700;
  font-size: .95rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: transform .3s cubic-bezier(.2, .9, .3, 1.3), box-shadow .3s, background .3s, color .3s;
}



.hero-btn-primary {
  background: #465338;
  color: #fffdf8;
  box-shadow: 0 14px 36px -12px rgba(48, 57, 35, .30);
}

.hero-btn-primary:hover {
  background: #303923;
  color: #fffdf8;
  transform: translateY(-3px);
}

.hero-btn-secondary {
  background: #fffdf8;
  color: #465338;
  border: 1.5px solid #657047;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.hero-btn-secondary:hover {
  border-color: #465338;
  color: #303923;
  background: #F8F4EB;
  transform: translateY(-3px);
}

/* ---- کارت‌های اعتماد — داخل ستون متن، زیر دکمه‌ها ---- */
.home-hero-trust {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
  direction: rtl;
  margin-top: 12px;
  max-width: 420px;
  width: 100%;
}

.home-trust-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  text-align: start;
  background: rgba(255, 255, 255, .6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(221, 232, 228, .45);
  border-radius: 8px;
  transition: background .3s, transform .3s;
}

.home-trust-card:hover {
  background: rgba(255, 255, 255, .85);
  transform: translateY(-2px);
}

.home-trust-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--green-soft);
  color: var(--green-deep);
  flex: none;
}

.home-trust-card:nth-child(even) .home-trust-icon {
  background: var(--navy-soft);
  color: var(--navy-deep);
}

.home-trust-icon svg {
  width: 11px;
  height: 11px;
}

.home-trust-card span {
  font-weight: 600;
  font-size: .65rem;
  color: var(--ink-soft);
  line-height: 1.3;
}

/* ---- هیرو ریسپانسیو ---- */
@media (max-width: 1024px) {
  .home-hero-overlay {
    min-height: clamp(380px, 55vh, 560px);
    padding-bottom: clamp(28px, 4vw, 48px);
    background: linear-gradient(to left,
        rgba(243, 250, 247, .78) 0%,
        rgba(243, 250, 247, .58) 38%,
        rgba(243, 250, 247, .14) 68%,
        transparent 100%);
  }

  .home-hero-trust {
    gap: 6px;
  }
}

@media (max-width: 600px) {
  .home-hero-bg img {
    object-position: center 85%;
  }

  .home-hero-overlay {
    min-height: 420px;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 24px 16px 20px 16px;
    background: linear-gradient(to left,
        rgba(243, 250, 247, .78) 0%,
        rgba(243, 250, 247, .4) 35%,
        transparent 55%);
  }

  .home-hero-content {
    max-width: 65%;
    text-align: start;
    align-items: flex-start;
    align-self: stretch;
  }

  .home-hero-actions {
    margin-top: 0;
    flex-direction: column;
  }

  .home-hero-eyebrow {
    display: none;
  }

  .home-hero-content h1 {
    font-size: 1.45rem;
    margin-bottom: 10px;
  }

  .home-hero-content p {
    font-size: .88rem;
    line-height: 1.7;
    margin-bottom: 18px;
  }

  .hero-btn {
    font-size: .88rem;
    padding: 10px 20px;
    min-height: 44px;
    min-width: 0;
  }

  .home-hero-trust {
    display: none;
  }
}

/* فاصله بین هیرو و بخش بعدی */
.home-hero-banner+.section {
  padding-top: clamp(32px, 5vw, 52px);
}

/* ==========================================================================
   صفحه فروشگاه — shop page
   ========================================================================== */

/* ---- هیرو تصویر ---- */
.shop-page .shop-image-hero {
  position: relative;
  display: block;
  width: 100%;
  line-height: 0;
  overflow: hidden;
}

.shop-page .shop-image-hero img {
  width: 100%;
  height: clamp(420px, 48vw, 650px);
  display: block;
  object-fit: cover;
  object-position: center center;
}

@media(max-width:768px) {
  .shop-page .shop-image-hero img {
    height: 420px;
  }
}

@media(max-width:480px) {
  .shop-page .shop-image-hero img {
    height: 390px;
  }
}

/* ---- ارتفاع هیرو فروشگاه در دسکتاپ ---- */
@media (min-width: 1025px) {

  .shop-hero,
  .shop-archive-hero,
  .shop-hero-wrap,
  .shop-hero-section {
    height: clamp(620px, 46vw, 720px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .shop-hero-picture {
    display: block !important;
    width: 100% !important;
    height: clamp(620px, 46vw, 720px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .shop-hero-picture .shop-hero-image,
  .shop-hero-image {
    display: block !important;
    width: 100% !important;
    height: clamp(620px, 46vw, 720px) !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}

/* ---- بخش کلی ---- */
.shop-page .shop-section {
  background: #FFFDF8;
}

/* ---- فیلتر چیپ‌ها ---- */
/* هدف اسکرول صفحه‌بندی فروشگاه — لنگر زیر هدر چسبان (#shop-products) */
#shop-products {
  scroll-margin-top: calc(var(--nav-h) + 24px);
}

.shop-page .shop-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  direction: rtl;
  margin-bottom: clamp(28px, 4vw, 44px);
}

.shop-page .shop-chip {
  padding: 10px 22px;
  border-radius: 999px;
  border: 1.5px solid var(--line);
  background: #fff;
  color: var(--ink-soft);
  font-family: var(--font);
  font-size: .92rem;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: background .22s, color .22s, border-color .22s, transform .2s, box-shadow .22s;
}

.shop-page .shop-chip:hover {
  border-color: var(--green);
  color: var(--green-deep);
  transform: translateY(-2px);
}

.shop-page .shop-chip.active {
  background: var(--green);
  color: #fff;
  border-color: var(--green);
  box-shadow: 0 6px 18px -6px rgba(98, 201, 154, .55);
}

/* ---- گرید محصولات ---- */
.shop-page .shop-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  direction: rtl;
}

@media(max-width:960px) {
  .shop-page .shop-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media(max-width:480px) {
  .shop-page .shop-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
}

/* ---- کارت محصول ---- */
.shop-page .shop-product-card {
  background: #FFFFFF;
  border: 1px solid rgba(70, 83, 56, .12);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(70, 83, 56, .08);
  transition: transform .35s cubic-bezier(.18, .9, .3, 1.1), box-shadow .35s;
  display: flex;
  flex-direction: column;
}

.shop-page .shop-product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(70, 83, 56, .14);
}

/* ناحیه تصویر/آیکون */
.shop-page .shop-product-media {
  aspect-ratio: 4/3;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  padding: 20px;
  text-decoration: none;
}

/* emoji icon */
.shop-page .shop-product-emoji {
  font-size: 3.8rem;
  line-height: 1;
  position: relative;
  z-index: 1;
  display: block;
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .10));
  transition: transform .38s cubic-bezier(.18, .9, .3, 1.25), filter .38s;
}

.shop-page .shop-product-card:hover .shop-product-emoji {
  transform: scale(1.14) translateY(-5px) rotate(-4deg);
  filter: drop-shadow(0 10px 20px rgba(0, 0, 0, .15));
}

/* decorative blob inside card media */
.shop-page .shop-product-blob {
  position: absolute;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .32);
  bottom: -30px;
  left: -20px;
  pointer-events: none;
}

.shop-page .shop-product-blob::after {
  content: "";
  position: absolute;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .22);
  top: -40px;
  right: -30px;
}

/* رنگ‌های پاستل پس‌زمینه */
.shop-page .shop-product-media--green {
  background: linear-gradient(150deg, #F8F4EB 0%, #E7EBDD 100%);
  color: var(--green-deep);
}

.shop-page .shop-product-media--blue {
  background: linear-gradient(150deg, #FFFDF8 0%, #F8F4EB 100%);
  color: var(--navy-deep);
}

.shop-page .shop-product-media--teal {
  background: linear-gradient(150deg, #F4F5EB 0%, #E1E7D8 100%);
  color: var(--teal-deep);
}

.shop-page .shop-product-media--pink {
  background: linear-gradient(150deg, #FFF9EE 0%, #F3E4C9 100%);
  color: #9d3d7b;
}

/* بدنه کارت */
.shop-page .shop-product-body {
  padding: 14px 16px 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
  direction: rtl;
  text-align: right;
}

/* ردیف قیمت + دکمه */
.shop-page .shop-product-footer {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  margin-top: auto;
  padding-top: 12px;
}

/* برچسب دسته */
.shop-page .shop-product-category {
  display: inline-block;
  font-size: .75rem;
  font-weight: 800;
  padding: 4px 12px;
  border-radius: 999px;
  margin-bottom: 10px;
  width: fit-content;
}

.shop-page .shop-product-category--green {
  background: rgba(98, 201, 154, .15);
  color: var(--green-deep);
}

.shop-page .shop-product-category--blue {
  background: rgba(38, 59, 94, .10);
  color: var(--navy-deep);
}

.shop-page .shop-product-category--teal {
  background: rgba(104, 201, 199, .16);
  color: var(--teal-deep);
}

.shop-page .shop-product-category--pink {
  background: rgba(236, 72, 153, .11);
  color: #9d3d7b;
}

/* عنوان محصول */
.shop-page .shop-product-title {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.45;
  color: var(--ink);
  margin: 0 0 6px;
}

.shop-page .shop-product-title a {
  color: inherit;
  text-decoration: none;
}

.shop-page .shop-product-title a:hover {
  color: #465338;
}

/* توضیحات محصول */
.shop-page .shop-product-desc {
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.7;
  margin: 0 0 10px;
}

/* قیمت */
.shop-page .shop-product-price {
  font-size: 1.05rem;
  font-weight: 900;
  color: #465338;
  white-space: nowrap;
  align-self: flex-end;
}

.shop-page .shop-product-price span {
  font-size: .76rem;
  font-weight: 600;
  color: #465338;
  margin-right: 2px;
}

/* قیمت قبل از تخفیف: خط قرمز از مرکز عمودی متن */
.shop-page .shop-product-price del {
  text-decoration: none;
  position: relative;
}

.shop-page .shop-product-price del::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 50%;
  height: 1.5px;
  background: #b32d2e;
  pointer-events: none;
}

.shop-page .shop-product-price del .woocommerce-Price-amount {
  color: #465338;
}

/* قیمت فروش: حذف زیرخط مرورگر */
.shop-page .shop-product-price ins {
  text-decoration: none;
}

@media (max-width: 480px) {
  .shop-page .shop-product-price {
    white-space: normal;
  }
}

/* دکمه مشاهده */
.shop-page .shop-product-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 16px;
  line-height: 1;
  width: 100%;
  box-sizing: border-box;
  border-radius: 999px;
  background: #465338;
  color: #fff;
  font-weight: 800;
  font-size: .82rem;
  text-decoration: none;
  white-space: nowrap;
  transition: background .22s, transform .2s, box-shadow .22s;
  box-shadow: 0 4px 12px -4px rgba(70, 83, 56, .35);
}

.shop-page .shop-product-action:hover {
  background: #303923;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px -6px rgba(70, 83, 56, .45);
}

/* ---- صفحه‌بندی ---- */
.shop-page .shop-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  direction: rtl;
  margin-top: clamp(32px, 5vw, 52px);
  padding-bottom: 4px;
}

.shop-page .shop-page-num {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1.5px solid var(--line);
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: .92rem;
  color: var(--ink-soft);
  cursor: pointer;
  transition: background .22s, border-color .22s, color .22s, box-shadow .22s;
  user-select: none;
}

.shop-page .shop-page-num.active {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
  box-shadow: 0 4px 14px -4px rgba(98, 201, 154, .55);
}

.shop-page .shop-page-num:hover:not(.active) {
  border-color: var(--green);
  color: var(--green-deep);
}

/* ================================================================
   صفحه محصول تک  (.single-product-page)
   ================================================================ */

/* ---- نان‌ریزه ---- */
.single-product-page .product-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  direction: rtl;
  font-size: .83rem;
  color: var(--muted);
  padding: clamp(12px, 2vw, 20px) 0;
}

.single-product-page .product-breadcrumb a {
  color: var(--muted);
  text-decoration: none;
}

.single-product-page .product-breadcrumb a:hover {
  color: var(--green-deep);
}

.single-product-page .product-breadcrumb .sep {
  opacity: .4;
}

/* ---- عرض کلی صفحه محصول: ناحیه محتوا ~۱۱۸۰px ---- */
/* max-width:1220px + padding 20px هر طرف = 1180px محتوا  */
.single-product-page .wrap {
  max-width: 1220px;
  padding-inline: clamp(16px, 2vw, 20px);
}

/* ---- بخش اصلی محصول — کاهش فاصله از هدر ---- */
.single-product-page .product-main {
  padding-block-start: clamp(8px, 1vw, 14px);
  padding-block-end: clamp(40px, 5vw, 60px);
}

/* ---- بخش‌های توضیحات/مشخصات + محصولات مرتبط ---- */
.single-product-page .section:not(.product-main) {
  padding-block: clamp(40px, 5vw, 64px);
}

/* ---- لایه‌بندی دو ستونه — خلاصه ۵۵٪ / گالری ۴۵٪ ---- */
.single-product-page .product-layout {
  display: grid;
  grid-template-columns: 55% 45%;
  gap: clamp(24px, 3.5vw, 48px);
  align-items: start;
  direction: rtl;
}

@media(max-width:768px) {
  .single-product-page .product-layout {
    grid-template-columns: 1fr;
  }
}

/* ---- گالری ---- */
.single-product-page .product-gallery {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.single-product-page .product-gallery-main {
  aspect-ratio: 1/1;
  background: linear-gradient(150deg, #fffdf8 0%, #f8f4eb 100%);
  border: 1px solid rgba(70, 83, 56, .18);
  border-radius: var(--r-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 7rem;
  overflow: hidden;
  position: relative;
}

/* ---- آیکون بزرگ‌نمایی ---- */
.single-product-page .gallery-zoom-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, .88);
  border: 1.5px solid var(--line);
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  transition: opacity .2s, background .2s;
  z-index: 2;
  color: var(--green);
  padding: 0;
}

.single-product-page .product-gallery-main:hover .gallery-zoom-btn,
.single-product-page .product-gallery-main:focus-within .gallery-zoom-btn {
  opacity: 1;
}

.single-product-page .gallery-zoom-btn:hover {
  background: #fff;
}

.single-product-page .gallery-zoom-btn svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
  stroke-linecap: round;
}

/* ---- لایت‌باکس ---- */
.hana-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .82);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s;
}

.hana-lightbox.open {
  opacity: 1;
  pointer-events: auto;
}

.hana-lightbox__inner {
  position: relative;
  max-width: min(90vw, 860px);
  max-height: 90vh;
}

.hana-lightbox__img {
  display: block;
  max-width: 100%;
  max-height: 90vh;
  border-radius: var(--r-lg);
  object-fit: contain;
  box-shadow: 0 8px 40px rgba(0, 0, 0, .5);
}

.hana-lightbox__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 36px;
  height: 36px;
  background: #fff;
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #1a2e44;
  font-size: 20px;
  line-height: 1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
  z-index: 1;
  padding: 0;
}

.hana-lightbox__close:hover {
  background: var(--green);
  color: #fff;
}

.single-product-page .product-gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

@media (max-width:480px) {
  .single-product-page .product-gallery-thumbs {
    grid-template-columns: repeat(3, 1fr);
  }
}

.single-product-page .product-gallery-thumb {
  aspect-ratio: 1/1;
  background: #f8f4eb;
  border: 2px solid transparent;
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  cursor: pointer;
  transition: border-color .2s;
  overflow: hidden;
}

.single-product-page .product-gallery-thumb.active {
  border-color: #c5a059;
}

.single-product-page .product-gallery-thumb:hover {
  border-color: #657047;
}

/* ---- خلاصه محصول ---- */
.single-product-page .product-summary {
  display: flex;
  flex-direction: column;
  direction: rtl;
  text-align: right;
}

.single-product-page .product-category {
  display: inline-block;
  font-size: .78rem;
  font-weight: 800;
  padding: 5px 14px;
  border-radius: var(--pill);
  background: rgba(197, 160, 89, .16);
  color: #465338;
  margin-bottom: 14px;
  width: fit-content;
}

.single-product-page .product-title {
  font-size: clamp(1.5rem, 2.8vw, 2.2rem);
  font-weight: 900;
  color: var(--ink);
  line-height: 1.3;
  margin: 0 0 14px;
}

.single-product-page .product-rating {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  font-size: .85rem;
  color: var(--muted);
}

.single-product-page .product-stars {
  color: #f5a623;
  letter-spacing: 2px;
}

.single-product-page .product-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(70, 83, 56, .12);
}

.single-product-page .product-price-current {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 900;
  color: #465338;
}

.single-product-page .product-price-unit {
  font-size: .88rem;
  font-weight: 600;
  color: var(--muted);
}

.single-product-page .product-short-desc {
  font-size: .95rem;
  color: var(--ink-soft);
  line-height: 1.9;
  margin-bottom: 24px;
}

.single-product-page .product-short-desc p {
  margin: 0 0 8px;
}

.single-product-page .product-short-desc p:last-child {
  margin-bottom: 0;
}

/* ---- ردیف افزودن به سبد ---- */
.single-product-page .product-cart-row {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.single-product-page .product-quantity {
  display: flex;
  align-items: center;
  height: 48px;
  border: 1.5px solid var(--line);
  border-radius: var(--pill);
  overflow: hidden;
  background: #fff;
}

.single-product-page .product-quantity button {
  width: 44px;
  height: 100%;
  background: none;
  border: none;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--ink-soft);
  cursor: pointer;
  transition: background .18s, color .18s;
  line-height: 1;
  font-family: var(--font);
}

.single-product-page .product-quantity button:hover {
  background: var(--green-soft);
  color: var(--green-deep);
}

.single-product-page .product-quantity input {
  width: 52px;
  height: 100%;
  border: none;
  border-right: 1.5px solid var(--line);
  border-left: 1.5px solid var(--line);
  text-align: center;
  font-family: var(--font);
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink);
  outline: none;
  background: #fff;
  -moz-appearance: textfield;
}

.single-product-page .product-quantity input::-webkit-outer-spin-button,
.single-product-page .product-quantity input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.single-product-page .product-add-to-cart {
  flex: 1;
  min-width: 160px;
  height: 48px;
  padding: 0 28px;
  border-radius: var(--pill);
  background: var(--green);
  color: #fff;
  font-family: var(--font);
  font-size: 1rem;
  font-weight: 800;
  border: none;
  cursor: pointer;
  transition: background .22s, transform .2s, box-shadow .22s;
  box-shadow: var(--sh-green);
}

.single-product-page .product-add-to-cart:hover {
  background: var(--green-deep);
  transform: translateY(-2px);
  box-shadow: 0 10px 28px -8px rgba(47, 155, 110, .45);
}

/* ---- متا ---- */
.single-product-page .product-meta {
  font-size: .82rem;
  color: var(--muted);
  line-height: 2.2;
  direction: rtl;
}

.single-product-page .product-meta span {
  color: var(--ink-soft);
  font-weight: 700;
}

/* ---- ردیف جزئیات + مشخصات ---- */
.single-product-page .product-info-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 4vw, 40px);
  direction: rtl;
  align-items: start;
}

@media(max-width:768px) {
  .single-product-page .product-info-row {
    grid-template-columns: 1fr;
  }
}

.single-product-page .product-details,
.single-product-page .product-specs {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: clamp(20px, 3vw, 36px);
  direction: rtl;
  text-align: right;
}

.single-product-page .product-details h2,
.single-product-page .product-specs h2 {
  font-size: 1.1rem;
  font-weight: 900;
  color: var(--ink);
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid #c5a059;
}

.single-product-page .product-details p {
  font-size: .92rem;
  color: var(--ink-soft);
  line-height: 2;
  margin: 0 0 10px;
}

.single-product-page .product-details p:last-child {
  margin-bottom: 0;
}

/* جدول مشخصات */
.single-product-page .product-specs-table {
  width: 100%;
  border-collapse: collapse;
  direction: rtl;
  font-size: .88rem;
}

.single-product-page .product-specs-table tr {
  border-bottom: 1px solid var(--line);
}

.single-product-page .product-specs-table tr:last-child {
  border-bottom: none;
}

.single-product-page .product-specs-table th,
.single-product-page .product-specs-table td {
  padding: 10px 4px;
  text-align: right;
  vertical-align: middle;
}

.single-product-page .product-specs-table th {
  color: var(--muted);
  font-weight: 600;
  width: 42%;
}

.single-product-page .product-specs-table td {
  color: var(--ink);
  font-weight: 700;
}

/* ---- محصولات مرتبط ---- */
.single-product-page .related-products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  direction: rtl;
}

@media(max-width:960px) {
  .single-product-page .related-products-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media(max-width:480px) {
  .single-product-page .related-products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}

/* کارت مرتبط */
.single-product-page .related-product-card {
  background: #fff;
  border: 1px solid rgba(18, 33, 63, .07);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(15, 23, 42, .06);
  display: flex;
  flex-direction: column;
  transition: transform .3s, box-shadow .3s;
}

.single-product-page .related-product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 36px rgba(15, 23, 42, .10);
}

/* ناحیه آیکون */
.single-product-page .related-product-media {
  aspect-ratio: 4/3;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 3rem;
  overflow: hidden;
}

.single-product-page .related-product-emoji {
  display: block;
  transition: transform .3s;
}

.single-product-page .related-product-card:hover .related-product-emoji {
  transform: scale(1.12) translateY(-4px);
}

/* رنگ‌های پاستل */
.single-product-page .related-product-media--green {
  background: linear-gradient(150deg, #edfaf3, #d0f2e2);
}

.single-product-page .related-product-media--blue {
  background: linear-gradient(150deg, #eef1fb, #d4dcf5);
}

.single-product-page .related-product-media--teal {
  background: linear-gradient(150deg, #e8faf8, #c8edeb);
}

.single-product-page .related-product-media--pink {
  background: linear-gradient(150deg, #fdf0f8, #f3d4ed);
}

/* بدنه */
.single-product-page .related-product-body {
  padding: 12px 14px 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
  direction: rtl;
  text-align: right;
}

/* برچسب دسته */
.single-product-page .related-product-category {
  display: inline-block;
  font-size: .72rem;
  font-weight: 800;
  padding: 3px 10px;
  border-radius: var(--pill);
  margin-bottom: 8px;
  width: fit-content;
}

.single-product-page .related-product-category--green {
  background: rgba(98, 201, 154, .15);
  color: var(--green-deep);
}

.single-product-page .related-product-category--blue {
  background: rgba(38, 59, 94, .10);
  color: var(--navy-deep);
}

.single-product-page .related-product-category--teal {
  background: rgba(104, 201, 199, .16);
  color: var(--teal-deep);
}

.single-product-page .related-product-category--pink {
  background: rgba(236, 72, 153, .11);
  color: #9d3d7b;
}

/* عنوان */
.single-product-page .related-product-title {
  font-size: .92rem;
  font-weight: 800;
  line-height: 1.45;
  color: var(--ink);
  margin: 0 0 6px;
}

.single-product-page .related-product-title a {
  color: inherit;
  text-decoration: none;
}

.single-product-page .related-product-title a:hover {
  color: #465338;
}

/* توضیح */
.single-product-page .related-product-desc {
  font-size: .78rem;
  color: var(--muted);
  line-height: 1.65;
  margin: 0 0 10px;
  flex: 1;
}

/* ردیف قیمت + لینک */
.single-product-page .related-product-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

/* قیمت */
.single-product-page .related-product-price {
  font-size: .95rem;
  font-weight: 900;
  color: #465338;
  white-space: nowrap;
}

.single-product-page .related-product-price span {
  font-size: .72rem;
  font-weight: 600;
  color: var(--muted);
  margin-right: 2px;
}

/* لینک مشاهده */
.single-product-page .related-product-link {
  font-size: .75rem;
  font-weight: 800;
  color: #465338;
  text-decoration: none;
  white-space: nowrap;
  transition: color .2s;
}

.single-product-page .related-product-link:hover {
  color: #c5a059;
}

/* عنوان بخش محصولات مرتبط */
.single-product-page .related-products .eyebrow {
  color: #657047;
  background: rgba(197, 160, 89, .16);
}

/* ================================================================
   WooCommerce — overrides for single product page
   All scoped under .single-product-page
   ================================================================ */

/* ---- اعلان‌های وو کامرس ---- */
.single-product-page .woocommerce-notices-wrapper {
  margin-bottom: 20px;
}

/* ---- گالری ---- */
/* flex-column تا thumbnail زیر تصویر اصلی قرار بگیرد */
.single-product-page .woocommerce-product-gallery {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  float: none !important;
  margin-bottom: 0;
}

/* آیکون زوم را پنهان کن — در طراحی اصلی وجود ندارد */
.single-product-page .woocommerce-product-gallery__trigger {
  display: none !important;
}

/* wrapper اصلی: مربع با پس‌زمینه مینتی، گوشه‌گرد */
.single-product-page .woocommerce-product-gallery__wrapper {
  width: 100% !important;
  aspect-ratio: 1/1;
  background: linear-gradient(150deg, #edfaf3 0%, #d0f2e2 100%);
  border-radius: var(--r-lg);
  overflow: hidden;
  margin: 0 !important;
  position: relative;
}

/* slides flex-slider: پر کردن کامل wrapper */
.single-product-page .woocommerce-product-gallery__wrapper .slides {
  height: 100%;
  margin: 0 !important;
  padding: 0;
  list-style: none;
}

.single-product-page .woocommerce-product-gallery__wrapper .slides li {
  height: 100% !important;
}

.single-product-page .woocommerce-product-gallery__wrapper img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-product-page .woocommerce-product-gallery__image {
  overflow: hidden;
}

.single-product-page .woocommerce-product-gallery__image a {
  display: block;
  width: 100%;
  height: 100%;
}

.single-product-page .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  list-style: none;
  padding: 10px 0 0;
  margin: 0;
}

.single-product-page .flex-control-thumbs li {
  margin: 0;
}

.single-product-page .flex-control-thumbs li img {
  display: block;
  width: 100%;
  border-radius: var(--r-sm);
  border: 2px solid transparent;
  cursor: pointer;
  transition: border-color .2s;
}

.single-product-page .flex-control-thumbs .flex-active {
  border-color: #c5a059;
}

.single-product-page .flex-control-thumbs li img:hover {
  border-color: #657047;
}

/* ---- امتیاز ---- */
.single-product-page .woocommerce-product-rating {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.single-product-page .star-rating {
  color: #f5a623;
  font-size: 1rem;
  letter-spacing: 1px;
}

.single-product-page .woocommerce-review-link {
  font-size: .85rem;
  color: var(--muted);
  text-decoration: none;
}

.single-product-page .woocommerce-review-link:hover {
  color: #465338;
}

/* ---- قیمت ---- */
.single-product-page .product-price .price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin: 0;
}

.single-product-page .price {
  font-size: clamp(1.4rem, 2.4vw, 2rem);
  font-weight: 900;
  color: #465338;
  line-height: 1;
}

.single-product-page .woocommerce-Price-amount {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}

.single-product-page .woocommerce-Price-currencySymbol {
  font-size: .82rem;
  font-weight: 600;
  color: var(--muted);
  margin-left: 2px;
}

.single-product-page del {
  color: var(--muted);
}

.single-product-page del .woocommerce-Price-amount {
  font-size: 1rem;
  font-weight: 500;
}

.single-product-page ins {
  text-decoration: none;
  color: #465338;
}

/* ---- فرم افزودن به سبد ---- */
.single-product-page .product-cart-form form.cart {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin: 0 0 24px;
  direction: rtl;
}

.single-product-page .product-cart-form .quantity {
  display: flex;
  align-items: center;
  height: 48px;
  border: 1.5px solid rgba(70, 83, 56, .18);
  border-radius: var(--pill);
  overflow: hidden;
  background: #fff;
}

.single-product-page .product-cart-form .quantity input.qty {
  width: 80px;
  height: 100%;
  border: none;
  text-align: center;
  font-family: var(--font);
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink);
  outline: none;
  background: #fff;
  padding: 0 12px;
  -moz-appearance: textfield;
}

.single-product-page .product-cart-form .quantity input.qty::-webkit-outer-spin-button,
.single-product-page .product-cart-form .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* رنگ دکمه — بازنویسی استایل بنفش پیش‌فرض WooCommerce */
.single-product-page .single_add_to_cart_button,
.single-product-page button.button.alt,
.single-product-page a.button.alt,
.single-product-page .button.alt {
  background: #465338 !important;
  background-color: #465338 !important;
  color: #fffdf8 !important;
  border: none !important;
  border-radius: var(--pill) !important;
  font-family: var(--font) !important;
  font-weight: 800 !important;
  box-shadow: 0 10px 22px rgba(70, 83, 56, .24) !important;
  text-decoration: none !important;
}

.single-product-page .single_add_to_cart_button:hover,
.single-product-page button.button.alt:hover,
.single-product-page a.button.alt:hover,
.single-product-page .button.alt:hover {
  background: #303923 !important;
  background-color: #303923 !important;
  color: #fffdf8 !important;
}

/* اندازه و چیدمان — فقط در فرم سبد */
.single-product-page .product-cart-form .single_add_to_cart_button {
  flex: 1;
  min-width: 160px;
  height: 48px;
  padding: 0 28px;
  cursor: pointer;
  transition: background .22s, transform .2s, box-shadow .22s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.single-product-page .product-cart-form .single_add_to_cart_button:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px -8px rgba(48, 57, 35, .38) !important;
}

/* ---- product-info-row تک‌ستونه ---- */
.single-product-page .product-info-row--single {
  grid-template-columns: 1fr;
}

/* ---- تصویر در کارت مرتبط ---- */
.single-product-page .related-product-media {
  background: var(--bg-soft);
}

.single-product-page .related-product-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ---- متن جای‌گزین برای محتوای خالی ---- */
.single-product-page .product-info-placeholder {
  color: var(--muted);
  font-size: .92rem;
  font-style: italic;
  line-height: 1.9;
  margin: 0;
  padding: 4px 0;
}

/* ---- دکمه‌های +/− تعداد (تزریق‌شده با JS) ---- */
.single-product-page .product-cart-form .quantity .qty-btn {
  flex-shrink: 0;
  width: 44px;
  height: 100%;
  background: none;
  border: none;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--ink-soft);
  cursor: pointer;
  transition: background .18s, color .18s;
  line-height: 1;
  font-family: var(--font);
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.single-product-page .product-cart-form .quantity .qty-btn:hover {
  background: #f8f4eb;
  color: #465338;
}

/* جداکننده میان دکمه و ورودی — در RTL: minus سمت راست، plus سمت چپ */
.single-product-page .product-cart-form .quantity .qty-btn--minus {
  border-left: 1.5px solid rgba(70, 83, 56, .18);
}

.single-product-page .product-cart-form .quantity .qty-btn--plus {
  border-right: 1.5px solid rgba(70, 83, 56, .18);
}

/* ---- موجودی محصول ---- */
.single-product-page .stock {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .83rem;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: var(--pill);
  margin-bottom: 16px;
  width: fit-content;
}

.single-product-page .in-stock {
  background: rgba(197, 160, 89, .16);
  color: #465338;
}

.single-product-page .out-of-stock {
  background: #fde8e8;
  color: #c0392b;
}

/* برچسب ناموجود — کارت محصول آرشیو */
.shop-page .shop-product-badge-oos {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  background: #fde8e8;
  color: #c0392b;
  font-size: .75rem;
  font-weight: 800;
  padding: 4px 12px;
  border-radius: 999px;
  line-height: 1.4;
  pointer-events: none;
}

/* ---- محصول متغیر — جدول انتخاب گزینه‌ها ---- */
.single-product-page .variations {
  width: 100%;
  border-collapse: collapse;
  direction: rtl;
  margin-bottom: 16px;
}

.single-product-page .variations td,
.single-product-page .variations th {
  text-align: right;
  padding: 8px 0;
  vertical-align: middle;
}

.single-product-page .variations .label label {
  font-weight: 700;
  font-size: .9rem;
  color: var(--ink-soft);
  padding-left: 16px;
  white-space: nowrap;
}

.single-product-page .variations select {
  width: 100%;
  height: 44px;
  padding: 0 14px;
  border: 1.5px solid rgba(70, 83, 56, .18);
  border-radius: var(--r-sm);
  font-family: var(--font);
  font-size: .93rem;
  color: var(--ink);
  background: var(--bg);
  outline: none;
  direction: rtl;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235E5B52' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 14px center;
  cursor: pointer;
  transition: border-color .25s, box-shadow .25s;
}

.single-product-page .variations select:focus {
  border-color: #657047;
  box-shadow: 0 0 0 3px rgba(101, 112, 71, .16);
}

.single-product-page .reset_variations {
  font-size: .8rem;
  color: var(--muted);
  text-decoration: none;
  display: block;
  margin-top: 6px;
}

.single-product-page .reset_variations:hover {
  color: #465338;
}

/* پیام قیمت محصول متغیر */
.single-product-page .woocommerce-variation-price {
  margin-bottom: 20px;
}

.single-product-page .woocommerce-variation-description {
  font-size: .9rem;
  color: var(--ink-soft);
  line-height: 1.8;
  margin-bottom: 12px;
}

/* ---- section با پس‌زمینه ---- */
.single-product-page .product-main {
  background: #FFFDF8;
  border-radius: 0 0 var(--r-lg) var(--r-lg);
  box-shadow: 0 8px 32px -8px rgba(23, 32, 51, .08);
}

.single-product-page.single-product {
  background: #fffdf8;
}

/* ---- بج‌های اعتماد ---- */
.single-product-page .product-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-block: 16px;
}

.single-product-page .product-badges span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--bg-soft);
  border: 1px solid var(--line);
  border-radius: var(--pill);
  padding: 5px 12px;
  font-size: .8rem;
  color: var(--ink-soft);
  font-weight: 500;
}

/* ---- تب‌های توضیحات / مشخصات ---- */
.single-product-page .product-tabs-nav {
  display: flex;
  gap: 4px;
  border-bottom: 2px solid var(--line);
  margin-bottom: 24px;
  direction: rtl;
}

.single-product-page .tab-btn {
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  padding: 10px 20px;
  font-size: .95rem;
  font-family: var(--font);
  color: var(--ink-soft);
  cursor: pointer;
  transition: color .18s, border-color .18s;
}

.single-product-page .tab-btn:hover {
  color: #465338;
}

.single-product-page .tab-btn.active {
  color: #465338;
  border-bottom-color: #c5a059;
  font-weight: 700;
}

.single-product-page .tab-content {
  display: none;
}

.single-product-page .tab-content.active {
  display: block;
}

/* ---- جدول مشخصات فنی ---- */
.single-product-page .product-specs-wrap {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(70, 83, 56, .18);
}

.single-product-page .product-specs-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .92rem;
  direction: rtl;
  background: #fffdf8;
}

.single-product-page .product-specs-table tr:nth-child(even) {
  background: #f8f4eb;
}

.single-product-page .product-specs-table th,
.single-product-page .product-specs-table td {
  padding: 11px 16px;
  text-align: right;
  vertical-align: middle;
  border-bottom: 1px solid rgba(70, 83, 56, .12);
}

.single-product-page .product-specs-table tr:last-child th,
.single-product-page .product-specs-table tr:last-child td {
  border-bottom: none;
}

.single-product-page .product-specs-table th {
  font-weight: 600;
  color: #465338;
  border-right: 3px solid #c5a059;
  width: 38%;
}

.single-product-page .product-specs-table td {
  color: var(--ink-soft);
}

.single-product-page .product-specs-table .spec-icon {
  color: #c5a059;
  margin-left: 6px;
  font-style: normal;
}

/* ---- ریسپانسیو — صفحه محصول ---- */
@media (max-width: 860px) {
  .single-product-page .product-layout {
    grid-template-columns: 1fr;
  }

  .single-product-page .product-badges {
    gap: 6px;
  }

  .single-product-page .tab-btn {
    padding: 9px 14px;
    font-size: .88rem;
  }
}

.woocommerce-product-details__short-description,
.woocommerce-product-details__short-description p {
  direction: rtl;
  unicode-bidi: plaintext;
  text-align: right;
}

.ltr-inline {
  display: inline-block;
  unicode-bidi: embed;
  direction: ltr;
}

/* ==========================================================================
   صفحه سبد خرید — WooCommerce Cart  (body.woocommerce-cart)
   فقط اینجا اعمال می‌شود — بقیه صفحات دست نخورده می‌مانند
   ========================================================================== */

/* --- فاصله عمودی صفحه و RTL --- */
body.woocommerce-cart .site-main {
  padding-block: clamp(32px, 5vw, 60px);
  direction: rtl;
}

body.woocommerce-cart .site-main .wrap {
  max-width: 1020px;
  margin-inline: auto;
  padding-inline: clamp(16px, 2vw, 24px);
}

body.woocommerce-cart .entry-title {
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  font-weight: 900;
  color: var(--ink);
  margin: 0 0 clamp(20px, 3vw, 32px);
  direction: rtl;
  text-align: right;
}

body.woocommerce-cart .entry-content {
  direction: rtl;
}

body.woocommerce-cart .woocommerce {
  direction: rtl;
}

/* ================================================================
   اعلان‌های WooCommerce — سراسری (فروشگاه، محصول و سایر صفحات)
   ================================================================ */
.woocommerce-notices-wrapper {
  margin-top: 30px;
  margin-bottom: 20px;
  max-width: 780px;
  margin-inline: auto;
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  list-style: none;
  margin: 0 0 12px;
  padding: 14px 20px;
  border-radius: var(--r);
  box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
  font-family: var(--font);
  direction: rtl;
  overflow: hidden;
}

/* پیام‌های ووکامرس — block برای جریان RTL طبیعی متن */
.woocommerce-message li,
.woocommerce-error li,
.woocommerce-info li {
  display: block;
  margin: 0;
  padding: 0;
  font-weight: 600;
  font-size: .93rem;
  text-align: right;
  direction: rtl;
}

/* پیام موفقیت افزودن به سبد خرید */
.woocommerce-message {
  background: #fff;
  border: 1px solid #cce8d4;
  border-right: 4px solid var(--green);
  color: #1b3a23;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-end;
  text-align: right;
  direction: rtl;
  gap: 12px;
  padding: 14px 28px 14px 20px;
  border-radius: var(--r-sm);
  margin-bottom: 12px;
  font-weight: 600;
  font-size: .93rem;
  list-style: none;
}

/* پیام خطا */
.woocommerce-error {
  background: #fff;
  border: 1px solid #fbc4c4;
  border-right: 4px solid #e53e3e;
  color: #7a1a1a;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-end;
  text-align: right;
  direction: rtl;
  gap: 12px;
  padding: 14px 28px 14px 20px;
  border-radius: var(--r-sm);
  margin-bottom: 12px;
  font-weight: 600;
  font-size: .93rem;
  list-style: none;
}

/* پیام اطلاع‌رسانی */
.woocommerce-info {
  background: #fff;
  border: 1px solid #c5d8f5;
  border-right: 4px solid var(--navy);
  color: var(--navy-deep);
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-end;
  text-align: right;
  direction: rtl;
  gap: 12px;
  padding: 14px 28px 14px 20px;
  border-radius: var(--r-sm);
  margin-bottom: 12px;
  font-weight: 600;
  font-size: .93rem;
  list-style: none;
}

/* دکمه مشاهده سبد خرید — سبز ثابت و کوچک */
.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button,
body.woocommerce-cart .woocommerce-message .button,
body.woocommerce-cart .woocommerce-error .button,
body.woocommerce-cart .woocommerce-info .button {
  padding: 8px 30px !important;
  background: #465338 !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--pill) !important;
  font-family: var(--font);
  font-size: .70rem !important;
  font-weight: 700;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap;
  flex-shrink: 0;
  margin-right: 0 !important;
  margin-left: 12px !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* hover/focus — هیچ تغییری نکند */
.woocommerce-message .button:hover,
.woocommerce-message .button:focus,
.woocommerce-error .button:hover,
.woocommerce-error .button:focus,
.woocommerce-info .button:hover,
.woocommerce-info .button:focus,
body.woocommerce-cart .woocommerce-message .button:hover,
body.woocommerce-cart .woocommerce-message .button:focus,
body.woocommerce-cart .woocommerce-error .button:hover,
body.woocommerce-cart .woocommerce-error .button:focus,
body.woocommerce-cart .woocommerce-info .button:hover,
body.woocommerce-cart .woocommerce-info .button:focus {
  background: #465338 !important;
  color: #fff !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* لینک‌های داخل پیام که دکمه نیستند */
.woocommerce-message a:not(.button),
.woocommerce-error a:not(.button),
.woocommerce-info a:not(.button) {
  color: inherit;
  text-decoration: none;
}

/* فاصله اعلان‌ها در صفحه سبد خرید */
body.woocommerce-cart .woocommerce-notices-wrapper {
  margin-bottom: 18px;
}

/* ================================================================
   فرم سبد خرید — کارت سفید
   ================================================================ */
body.woocommerce-cart .woocommerce-cart-form {
  background: #FFFDF8;
  border: 1px solid rgba(70, 83, 56, .18);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .10);
  margin-bottom: 24px;
}

/* --- جدول --- */
body.woocommerce-cart table.shop_table {
  width: 100%;
  border-collapse: collapse;
  direction: rtl;
  text-align: right;
  font-size: .95rem;
}

body.woocommerce-cart table.shop_table thead th {
  padding: 13px 20px;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .05em;
  color: #7A8492;
  border-bottom: 1px solid rgba(70, 83, 56, .12);
  text-align: right;
  white-space: nowrap;
  background: #F8F4EB;
}

body.woocommerce-cart table.shop_table thead .product-remove {
  width: 50px;
}

body.woocommerce-cart table.shop_table thead .product-thumbnail {
  width: 96px;
}

body.woocommerce-cart table.shop_table tbody tr {
  border-bottom: 1px solid rgba(70, 83, 56, .12);
  transition: background .18s;
}

body.woocommerce-cart table.shop_table tbody tr:last-child {
  border-bottom: none;
}

body.woocommerce-cart table.shop_table tbody tr:hover {
  background: #F8F4EB;
}

body.woocommerce-cart table.shop_table td {
  padding: 18px 20px;
  vertical-align: middle;
}

/* --- دکمه حذف ردیف --- */
body.woocommerce-cart .product-remove a.remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--bg-soft);
  color: var(--muted) !important;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: background .2s, color .2s;
}

body.woocommerce-cart .product-remove a.remove:hover {
  background: #fde8e8;
  color: #c0392b !important;
}

/* --- تصویر محصول --- */
body.woocommerce-cart .product-thumbnail img {
  width: 76px;
  height: 76px;
  object-fit: cover;
  border-radius: var(--r-sm);
  border: 1px solid var(--line);
  display: block;
}

/* --- نام محصول --- */
body.woocommerce-cart .product-name a {
  font-weight: 700;
  color: var(--ink);
  text-decoration: none;
  transition: color .2s;
}

body.woocommerce-cart .product-name a:hover {
  color: var(--green-deep);
}

body.woocommerce-cart .product-name .variation {
  font-size: .82rem;
  color: var(--muted);
  margin-top: 5px;
  line-height: 1.6;
}

body.woocommerce-cart .product-name .variation dt {
  display: inline;
  font-weight: 700;
}

body.woocommerce-cart .product-name .variation dd {
  display: inline;
  margin: 0;
}

/* --- قیمت واحد و جمع ردیف --- */
body.woocommerce-cart .product-price .woocommerce-Price-amount {
  font-weight: 700;
  color: var(--ink-soft);
}

body.woocommerce-cart .product-subtotal .woocommerce-Price-amount {
  font-weight: 900;
  color: #465338;
  font-size: 1.02rem;
}

/* --- فیلد تعداد --- */
body.woocommerce-cart .product-quantity .quantity {
  display: flex;
  align-items: center;
  height: 42px;
  border: 1.5px solid rgba(70, 83, 56, .18);
  border-radius: var(--pill);
  background: #FFFDF8;
  width: fit-content;
  overflow: hidden;
}

body.woocommerce-cart .product-quantity .qty {
  width: 64px;
  height: 100%;
  border: none;
  text-align: center;
  font-family: var(--font);
  font-size: .95rem;
  font-weight: 700;
  color: var(--ink);
  outline: none;
  background: #FFFDF8;
  padding: 0 10px;
  -moz-appearance: textfield;
}

body.woocommerce-cart .product-quantity .qty::-webkit-inner-spin-button,
body.woocommerce-cart .product-quantity .qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

body.woocommerce-cart .product-quantity .quantity:focus-within {
  border-color: #657047;
  box-shadow: 0 0 0 3px rgba(101, 112, 71, .16);
}

/* --- ردیف اکشن: کوپن + بروزرسانی --- */
body.woocommerce-cart .actions {
  padding: 18px 22px;
  border-top: 1px solid rgba(70, 83, 56, .12);
  background: #F8F4EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  direction: rtl;
}

body.woocommerce-cart .coupon {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

body.woocommerce-cart .coupon label {
  font-size: .88rem;
  font-weight: 700;
  color: var(--ink-soft);
  white-space: nowrap;
}

body.woocommerce-cart #coupon_code {
  height: 42px;
  padding: 0 16px;
  border: 1.5px solid var(--line);
  border-radius: var(--pill);
  font-family: var(--font);
  font-size: .9rem;
  color: var(--ink);
  background: #fff;
  outline: none;
  width: 180px;
  direction: rtl;
  transition: border-color .25s, box-shadow .25s;
}

body.woocommerce-cart #coupon_code:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(98, 201, 154, .15);
}

body.woocommerce-cart #coupon_code::placeholder {
  color: var(--muted);
}

body.woocommerce-cart [name="apply_coupon"] {
  height: 42px;
  padding: 0 20px;
  border-radius: var(--pill);
  background: var(--navy);
  color: #fff !important;
  font-family: var(--font);
  font-size: .88rem;
  font-weight: 800;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  transition: background .2s, transform .18s;
}

body.woocommerce-cart [name="apply_coupon"]:hover {
  background: var(--navy-deep);
  transform: translateY(-1px);
}

body.woocommerce-cart [name="update_cart"] {
  height: 42px;
  padding: 0 22px;
  border-radius: var(--pill);
  background: transparent;
  color: var(--ink-soft) !important;
  font-family: var(--font);
  font-size: .88rem;
  font-weight: 700;
  border: 1.5px solid var(--line);
  cursor: pointer;
  transition: border-color .22s, color .22s, background .22s;
}

body.woocommerce-cart [name="update_cart"]:hover {
  border-color: var(--green);
  color: var(--green-deep) !important;
  background: #fff;
}

/* ================================================================
   جمع سبد خرید — cart_totals
   ================================================================ */
body.woocommerce-cart .cart-collaterals {
  display: block;
  direction: rtl;
  overflow: hidden;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
  float: none;
  width: 100%;
  max-width: 100%;
  background: #FFFDF8;
  border: 1px solid rgba(70, 83, 56, .18);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .10);
}

body.woocommerce-cart .cart_totals h2 {
  font-size: 1.02rem;
  font-weight: 900;
  color: var(--ink);
  margin: 0;
  padding: 16px 22px;
  border-bottom: 1px solid rgba(70, 83, 56, .12);
  background: #F8F4EB;
  direction: rtl;
  text-align: right;
}

/* جدول داخلی totals — بدون سایه مضاعف */
body.woocommerce-cart .cart_totals .shop_table {
  border: none;
  box-shadow: none;
  background: transparent;
}

body.woocommerce-cart .cart_totals table th,
body.woocommerce-cart .cart_totals table td {
  padding: 13px 22px;
  font-size: .93rem;
  text-align: right;
  border-bottom: 1px solid rgba(70, 83, 56, .12);
  vertical-align: middle;
}

body.woocommerce-cart .cart_totals table tr:last-child th,
body.woocommerce-cart .cart_totals table tr:last-child td {
  border-bottom: none;
}

body.woocommerce-cart .cart_totals table th {
  font-weight: 700;
  color: #7A8492;
  width: 46%;
}

body.woocommerce-cart .cart_totals table td .woocommerce-Price-amount {
  font-weight: 700;
  color: var(--ink);
}

body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
  padding-block: 16px;
}

body.woocommerce-cart .cart_totals .order-total th {
  color: var(--ink);
  font-weight: 900;
  font-size: 1rem;
}

body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
  font-size: 1.2rem;
  font-weight: 900;
  color: #465338;
}

body.woocommerce-cart .cart_totals .shipping-calculator-button {
  font-size: .85rem;
  color: #465338;
  text-decoration: underline;
}

/* --- دکمه «تکمیل خرید» --- */
body.woocommerce-cart .wc-proceed-to-checkout {
  padding: 18px 22px;
  border-top: 1px solid rgba(70, 83, 56, .12);
  background: #F8F4EB;
}

body.woocommerce-cart .checkout-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 15px 28px !important;
  border-radius: var(--pill) !important;
  background: #465338 !important;
  color: #FFFDF8 !important;
  font-family: var(--font) !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  border: none !important;
  cursor: pointer;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .20) !important;
  transition: background .22s, transform .2s, box-shadow .22s;
}

body.woocommerce-cart .checkout-button:hover {
  background: #657047 !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(70, 83, 56, .28) !important;
}

/* --- سبد خالی --- */
body.woocommerce-cart .cart-empty {
  text-align: center;
  padding: clamp(48px, 8vw, 96px) 24px;
  color: var(--muted);
  font-size: 1.05rem;
  font-weight: 500;
  direction: rtl;
}

body.woocommerce-cart .return-to-shop {
  text-align: center;
  margin-top: 20px;
}

body.woocommerce-cart .return-to-shop .button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 13px 30px;
  border-radius: var(--pill) !important;
  background: #465338 !important;
  color: #FFFDF8 !important;
  font-family: var(--font) !important;
  font-weight: 800 !important;
  font-size: .95rem;
  border: none !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .20);
  transition: background .22s, transform .2s, box-shadow .22s;
}

body.woocommerce-cart .return-to-shop .button:hover {
  background: #C5A059 !important;
  color: #172033 !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(197, 160, 89, .28);
}

body.woocommerce-cart .return-to-shop .button:focus-visible {
  outline: 2px solid #C5A059;
  outline-offset: 2px;
}

/* ================================================================
   ریسپانسیو — موبایل (زیر ۶۴۰px)
   ================================================================ */
@media(max-width:640px) {

  /* پنهان‌کردن هدر جدول و نمایش label قبل از هر سلول */
  body.woocommerce-cart table.shop_table thead {
    display: none;
  }

  body.woocommerce-cart table.shop_table,
  body.woocommerce-cart table.shop_table tbody,
  body.woocommerce-cart table.shop_table tr,
  body.woocommerce-cart table.shop_table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  body.woocommerce-cart table.shop_table td {
    padding: 10px 18px;
    text-align: right;
  }

  body.woocommerce-cart table.shop_table td::before {
    content: attr(data-title) ": ";
    font-weight: 700;
    font-size: .78rem;
    color: var(--muted);
    display: block;
    margin-bottom: 4px;
  }

  body.woocommerce-cart .product-remove {
    text-align: left;
    padding-bottom: 0;
  }

  body.woocommerce-cart .product-remove::before,
  body.woocommerce-cart .product-thumbnail::before {
    display: none;
  }

  body.woocommerce-cart .product-thumbnail img {
    margin-inline: auto;
  }

  body.woocommerce-cart .actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.woocommerce-cart .coupon {
    flex-direction: column;
  }

  body.woocommerce-cart #coupon_code {
    width: 100%;
  }

  body.woocommerce-cart .cart-collaterals {
    justify-content: stretch;
  }

  body.woocommerce-cart .cart_totals {
    max-width: 100%;
  }
}

/* ================================================================
   پیشنهادهای ویژه — زیر سبد خرید  (.cart-suggestions)
   ================================================================ */
body.woocommerce-cart .cart-suggestions {
  margin-top: clamp(40px, 6vw, 64px);
  direction: rtl;
}

body.woocommerce-cart .cart-suggestions__title {
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  font-weight: 900;
  color: var(--ink);
  margin: 0 0 clamp(16px, 3vw, 26px);
  text-align: right;
}

body.woocommerce-cart .cart-suggestions__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* کارت — همان طراحی فروشگاه */
body.woocommerce-cart .cart-suggestions .shop-product-card {
  background: #FFFDF8;
  border: 1px solid rgba(70, 83, 56, .12);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(70, 83, 56, .08);
  transition: transform .35s cubic-bezier(.18, .9, .3, 1.1), box-shadow .35s;
  display: flex;
  flex-direction: column;
}

body.woocommerce-cart .cart-suggestions .shop-product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(70, 83, 56, .14);
}

body.woocommerce-cart .cart-suggestions .shop-product-media {
  aspect-ratio: 4/3;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  padding: 20px;
  text-decoration: none;
}

body.woocommerce-cart .cart-suggestions .shop-product-media--has-image {
  padding: 0;
}

body.woocommerce-cart .cart-suggestions .shop-product-media--has-image .shop-product-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body.woocommerce-cart .cart-suggestions .shop-product-media--green {
  background: linear-gradient(150deg, #edfaf3 0%, #d0f2e2 100%);
  color: var(--green-deep);
}

body.woocommerce-cart .cart-suggestions .shop-product-media--blue {
  background: linear-gradient(150deg, #eef1fb 0%, #d4dcf5 100%);
  color: var(--navy-deep);
}

body.woocommerce-cart .cart-suggestions .shop-product-media--teal {
  background: linear-gradient(150deg, #e8faf8 0%, #c8edeb 100%);
  color: var(--teal-deep);
}

body.woocommerce-cart .cart-suggestions .shop-product-media--pink {
  background: linear-gradient(150deg, #fdf0f8 0%, #f3d4ed 100%);
  color: #9d3d7b;
}

body.woocommerce-cart .cart-suggestions .shop-product-emoji {
  font-size: 3.8rem;
  line-height: 1;
  position: relative;
  z-index: 1;
  display: block;
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .10));
  transition: transform .38s cubic-bezier(.18, .9, .3, 1.25), filter .38s;
}

body.woocommerce-cart .cart-suggestions .shop-product-card:hover .shop-product-emoji {
  transform: scale(1.14) translateY(-5px) rotate(-4deg);
  filter: drop-shadow(0 10px 20px rgba(0, 0, 0, .15));
}

body.woocommerce-cart .cart-suggestions .shop-product-blob {
  position: absolute;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .32);
  bottom: -30px;
  left: -20px;
  pointer-events: none;
}

body.woocommerce-cart .cart-suggestions .shop-product-blob::after {
  content: "";
  position: absolute;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .22);
  top: -40px;
  right: -30px;
}

body.woocommerce-cart .cart-suggestions .shop-product-body {
  padding: 14px 16px 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
  direction: rtl;
  text-align: right;
}

body.woocommerce-cart .cart-suggestions .shop-product-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: auto;
  padding-top: 12px;
  flex-wrap: wrap;
}

body.woocommerce-cart .cart-suggestions .shop-product-category {
  display: inline-block;
  font-size: .75rem;
  font-weight: 800;
  padding: 4px 12px;
  border-radius: 999px;
  margin-bottom: 10px;
  width: fit-content;
}

body.woocommerce-cart .cart-suggestions .shop-product-category--green {
  background: rgba(98, 201, 154, .15);
  color: var(--green-deep);
}

body.woocommerce-cart .cart-suggestions .shop-product-category--blue {
  background: rgba(38, 59, 94, .10);
  color: var(--navy-deep);
}

body.woocommerce-cart .cart-suggestions .shop-product-category--teal {
  background: rgba(104, 201, 199, .16);
  color: var(--teal-deep);
}

body.woocommerce-cart .cart-suggestions .shop-product-category--pink {
  background: rgba(236, 72, 153, .11);
  color: #9d3d7b;
}

body.woocommerce-cart .cart-suggestions .shop-product-title {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.45;
  color: var(--ink);
  margin: 0 0 6px;
}

body.woocommerce-cart .cart-suggestions .shop-product-title a {
  color: inherit;
  text-decoration: none;
}

body.woocommerce-cart .cart-suggestions .shop-product-title a:hover {
  color: #465338;
}

body.woocommerce-cart .cart-suggestions .shop-product-price {
  font-size: 1.05rem;
  font-weight: 900;
  color: #465338;
  white-space: nowrap;
}

body.woocommerce-cart .cart-suggestions .shop-product-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 16px;
  border-radius: 999px;
  background: #465338;
  color: #fff;
  font-weight: 800;
  font-size: .82rem;
  text-decoration: none;
  white-space: nowrap;
  transition: background .22s, transform .2s, box-shadow .22s;
  box-shadow: 0 4px 12px -4px rgba(70, 83, 56, .35);
}

body.woocommerce-cart .cart-suggestions .shop-product-action:hover {
  background: #303923;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px -6px rgba(70, 83, 56, .45);
}

@media(max-width:900px) {
  body.woocommerce-cart .cart-suggestions__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media(max-width:480px) {
  body.woocommerce-cart .cart-suggestions__grid {
    grid-template-columns: 1fr;
  }
}

/* ---- اعلان حذف کالا از سبد — یک خط یکپارچه RTL ---- */
.woocommerce-message .petcare-notice-text {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  direction: rtl;
}

.woocommerce-message .petcare-notice-text bdi {
  unicode-bidi: isolate;
}

/* ==========================================================================
   صفحه تسویه حساب — WooCommerce Checkout  (body.woocommerce-checkout)
   ========================================================================== */

/* --- RTL و فاصله عمودی کلی --- */
body.woocommerce-checkout .site-main {
  padding-block: clamp(32px, 5vw, 60px);
  direction: rtl;
}

body.woocommerce-checkout .wrap {
  max-width: 1020px;
  margin-inline: auto;
  padding-inline: clamp(16px, 2vw, 24px);
}

body.woocommerce-checkout .entry-title {
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  font-weight: 900;
  color: var(--ink);
  margin: 0 0 clamp(20px, 3vw, 32px);
  direction: rtl;
  text-align: right;
}

body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .woocommerce {
  direction: rtl;
}

/* --- اعلان‌ها --- */
body.woocommerce-checkout .woocommerce-notices-wrapper {
  margin-bottom: 20px;
}

body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info {
  padding: 14px 20px;
  border-radius: var(--r-sm);
  margin-bottom: 12px;
  font-weight: 600;
  font-size: .93rem;
  direction: rtl;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
}

body.woocommerce-checkout .woocommerce-error {
  background: #fde8e8;
  border-right: 4px solid #e53e3e;
  color: #9b2c2c;
}

body.woocommerce-checkout .woocommerce-message {
  background: #fff;
  border: 1px solid #cce8d4;
  border-right: 4px solid var(--green);
  color: #1b3a23;
}

body.woocommerce-checkout .woocommerce-info {
  background: var(--navy-soft);
  border-right: 4px solid var(--navy);
  color: var(--navy-deep);
}

body.woocommerce-checkout .woocommerce-error li,
body.woocommerce-checkout .woocommerce-message li {
  margin: 0;
  padding: 0;
}

/* ================================================================
   لایه‌بندی دو ستونه:
   ستون راست (1fr)  = فرم اطلاعات مشتری
   ستون چپ (400px)  = خلاصه سفارش + پرداخت
   ================================================================ */
body.woocommerce-checkout form.woocommerce-checkout {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 28px;
  align-items: start;
  direction: rtl;
}

/* پوشش سفارش — یک آیتم گرید؛ sticky در دسکتاپ */
body.woocommerce-checkout .order-review-wrap {
  position: sticky;
  top: calc(var(--nav-h) + 16px);
  align-self: start;
}

/* حذف float داخلی WooCommerce در col2-set */
body.woocommerce-checkout .col2-set {
  width: 100%;
}

body.woocommerce-checkout .col2-set::before,
body.woocommerce-checkout .col2-set::after {
  display: none;
}

body.woocommerce-checkout .col2-set .col-1,
body.woocommerce-checkout .col2-set .col-2 {
  float: none !important;
  width: 100% !important;
  clear: none;
}

/* ================================================================
   کارت‌های بخش: آدرس صورت‌حساب / ارسال / توضیحات
   ================================================================ */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
  background: #FFFDF8;
  border: 1px solid rgba(70, 83, 56, .18);
  border-radius: var(--r-lg);
  padding: clamp(20px, 3vw, 30px);
  margin-bottom: 20px;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .10);
}

body.woocommerce-checkout .woocommerce-additional-fields {
  margin-bottom: 0;
}

/* آدرس ارسال — فقط بخش shipping_address (باز/بسته می‌شود توسط JS) */
body.woocommerce-checkout .woocommerce-shipping-fields {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: clamp(16px, 2.5vw, 24px) clamp(20px, 3vw, 30px);
  margin-bottom: 20px;
  box-shadow: var(--sh-1);
}

body.woocommerce-checkout .woocommerce-shipping-fields .shipping_address {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

/* --- عناوین بخش‌ها --- */
body.woocommerce-checkout .woocommerce-billing-fields>h2,
body.woocommerce-checkout .woocommerce-shipping-fields>h2,
body.woocommerce-checkout .woocommerce-additional-fields>h2 {
  font-size: 1.02rem;
  font-weight: 900;
  color: var(--ink);
  margin: 0 0 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(70, 83, 56, .12);
  direction: rtl;
  text-align: right;
}

/* --- تاگل «ارسال به آدرس دیگر» --- */
body.woocommerce-checkout #ship-to-different-address {
  font-size: .97rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0;
  direction: rtl;
  text-align: right;
}

body.woocommerce-checkout #ship-to-different-address label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-weight: 700;
  font-size: .97rem;
}

body.woocommerce-checkout #ship-to-different-address-checkbox {
  width: 18px;
  height: 18px;
  accent-color: var(--green);
  cursor: pointer;
  flex-shrink: 0;
}

/* ================================================================
   گرید فیلدهای فرم (۲ ستون — نام / نام خانوادگی کنار هم)
   ================================================================ */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 18px;
  direction: rtl;
}

/* فیلدهای تمام‌عرض */
body.woocommerce-checkout .form-row-wide {
  grid-column: 1 / -1;
}

/* ریست کردن margin/float پیش‌فرض WooCommerce */
body.woocommerce-checkout .form-row {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
}

/* ================================================================
   لیبل‌ها
   ================================================================ */
body.woocommerce-checkout .form-row label,
body.woocommerce-checkout .form-row>label {
  display: block;
  margin-bottom: 6px;
  font-size: .85rem;
  font-weight: 700;
  color: var(--ink-soft);
  direction: rtl;
  text-align: right;
}

body.woocommerce-checkout .form-row label .required {
  color: #e53e3e;
  font-weight: 900;
  margin-right: 2px;
}

body.woocommerce-checkout .form-row .woocommerce-input-wrapper {
  display: block;
  width: 100%;
}

/* ================================================================
   فیلدهای ورودی، سلکت، تکست‌اریا
   ================================================================ */
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row input[type="text"],
body.woocommerce-checkout .form-row input[type="email"],
body.woocommerce-checkout .form-row input[type="tel"],
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .form-row textarea {
  width: 100%;
  height: 46px;
  padding: 0 14px;
  border: 1px solid rgba(70, 83, 56, .18);
  border-radius: var(--r-sm);
  font-family: var(--font);
  font-size: .93rem;
  color: #172033;
  background: #F8F4EB;
  outline: none;
  direction: rtl;
  text-align: right;
  box-sizing: border-box;
  transition: border-color .25s, box-shadow .25s, background .25s;
}

body.woocommerce-checkout .form-row textarea {
  height: auto;
  min-height: 90px;
  padding: 12px 14px;
  resize: vertical;
  line-height: 1.8;
}

body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row input[type="text"]:focus,
body.woocommerce-checkout .form-row input[type="email"]:focus,
body.woocommerce-checkout .form-row input[type="tel"]:focus,
body.woocommerce-checkout .form-row select:focus,
body.woocommerce-checkout .form-row textarea:focus {
  border-color: #657047;
  box-shadow: 0 0 0 3px rgba(101, 112, 71, .16);
  background: #fff;
}

body.woocommerce-checkout .form-row input::placeholder,
body.woocommerce-checkout .form-row textarea::placeholder {
  color: #7A8492;
  font-weight: 400;
}

/* سلکت بومی */
body.woocommerce-checkout .form-row select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235E5B52' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 14px center;
  padding-inline-end: 36px;
  padding-inline-start: 14px;
  cursor: pointer;
}

/* اعتبارسنجی */
body.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
body.woocommerce-checkout .form-row.woocommerce-invalid select {
  border-color: #e53e3e;
  box-shadow: 0 0 0 3px rgba(229, 62, 62, .1);
}

body.woocommerce-checkout .form-row.woocommerce-validated input.input-text,
body.woocommerce-checkout .form-row.woocommerce-validated select {
  border-color: var(--green);
}

body.woocommerce-checkout .woocommerce-form__input-checkbox {
  accent-color: var(--green);
}

/* Select2 (dropdown کشور / استان) */
body.woocommerce-checkout .select2-container .select2-selection--single {
  height: 46px;
  border: 1px solid rgba(70, 83, 56, .18);
  border-radius: var(--r-sm);
  background: #F8F4EB;
  direction: rtl;
}

body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 46px;
  padding-right: 14px;
  padding-left: 32px;
  color: var(--ink);
  font-family: var(--font);
  font-size: .93rem;
  direction: rtl;
  text-align: right;
}

body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
  height: 44px;
  left: 8px;
  right: auto;
}

body.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
body.woocommerce-checkout .select2-container--open .select2-selection--single {
  border-color: #657047 !important;
  box-shadow: 0 0 0 3px rgba(101, 112, 71, .16);
  outline: none;
}

body.woocommerce-checkout .select2-dropdown {
  background: #FFFDF8;
  border-color: #657047;
  border-radius: var(--r-sm);
  font-family: var(--font);
  direction: rtl;
  font-size: .9rem;
}

body.woocommerce-checkout .select2-results__option {
  padding: 10px 14px;
  text-align: right;
  direction: rtl;
}

body.woocommerce-checkout .select2-results__option--highlighted[aria-selected] {
  background: #F8F4EB;
  color: #465338;
}

body.woocommerce-checkout .select2-search--dropdown .select2-search__field {
  background: #FFFDF8;
  border: 1px solid rgba(70, 83, 56, .18);
  border-radius: var(--r-sm);
  padding: 8px 12px;
  font-family: var(--font);
  font-size: .88rem;
  direction: rtl;
  text-align: right;
  outline: none;
}

body.woocommerce-checkout .select2-search--dropdown .select2-search__field:focus {
  border-color: #657047;
}

/* ================================================================
   خلاصه سفارش — کارت
   ================================================================ */
/* پوشش کلی کارت: کادر و سایه روی wrapper قرار می‌گیرند */
body.woocommerce-checkout .order-review-wrap {
  border: 1px solid rgba(70, 83, 56, .18);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .10);
  background: #FFFDF8;
}

body.woocommerce-checkout .woocommerce-checkout-review-order {
  background: #fff;
}

body.woocommerce-checkout #order_review_heading {
  font-size: 1.02rem;
  font-weight: 900;
  color: var(--ink);
  margin: 0;
  padding: 16px 22px;
  border-bottom: 1px solid rgba(70, 83, 56, .12);
  background: #F8F4EB;
  direction: rtl;
  text-align: right;
}

/* جدول خلاصه */
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  direction: rtl;
  text-align: right;
  font-size: .92rem;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
  padding: 12px 20px;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .05em;
  color: var(--muted);
  border-bottom: 1px solid rgba(70, 83, 56, .12);
  text-align: right;
  background: #F8F4EB;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item {
  border-bottom: 1px solid var(--line);
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item td {
  padding: 12px 20px;
  vertical-align: middle;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
  font-weight: 700;
  color: var(--ink);
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .product-quantity {
  font-size: .82rem;
  font-weight: 600;
  color: var(--muted);
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total .woocommerce-Price-amount {
  font-weight: 700;
  color: var(--ink);
}

/* foot جدول */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr {
  border-top: 1px solid var(--line);
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
  padding: 11px 20px;
  font-size: .9rem;
  text-align: right;
  vertical-align: middle;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
  font-weight: 700;
  color: var(--muted);
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th {
  font-weight: 900;
  color: var(--ink);
  font-size: 1rem;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount {
  font-size: 1.15rem;
  font-weight: 900;
  color: #465338;
}

/* ================================================================
   بخش پرداخت (#payment)
   ================================================================ */
body.woocommerce-checkout #payment {
  background: #F8F4EB;
  border-top: 1px solid var(--line);
  padding: 20px 22px;
  direction: rtl;
}

/* لیست روش‌های پرداخت */
body.woocommerce-checkout #payment ul.payment_methods {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  overflow: hidden;
  background: #FFFDF8;
}

body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
  border-bottom: 1px solid var(--line);
}

body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:last-child {
  border-bottom: none;
}

body.woocommerce-checkout #payment ul.payment_methods label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 16px;
  cursor: pointer;
  font-weight: 700;
  font-size: .93rem;
  color: var(--ink);
  direction: rtl;
  text-align: right;
  transition: background .18s;
}

body.woocommerce-checkout #payment ul.payment_methods label:hover {
  background: #F8F4EB;
}

body.woocommerce-checkout #payment ul.payment_methods input[type="radio"] {
  width: 18px;
  height: 18px;
  accent-color: var(--green);
  flex-shrink: 0;
  cursor: pointer;
  margin: 0;
}

/* توضیحات روش پرداخت */
body.woocommerce-checkout #payment .payment_box {
  padding: 10px 16px 14px;
  background: #F8F4EB;
  border-top: 1px solid rgba(70, 83, 56, .12);
  font-size: .85rem;
  color: var(--ink-soft);
  line-height: 1.8;
  direction: rtl;
  text-align: right;
}

body.woocommerce-checkout #payment .payment_box::before {
  border-color: #F8F4EB !important;
  border-top-color: transparent !important;
  border-left-color: transparent !important;
  border-right-color: transparent !important;
}

body.woocommerce-checkout #payment .payment_box p {
  margin: 0;
}

/* --- شرایط و ضوابط --- */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 16px;
  font-size: .85rem;
  color: var(--ink-soft);
  direction: rtl;
  text-align: right;
  line-height: 1.7;
}

body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
  color: var(--green-deep);
  text-decoration: underline;
}

body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label {
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
}

body.woocommerce-checkout #terms {
  accent-color: var(--green);
  flex-shrink: 0;
  margin-top: 3px;
}

/* --- دکمه «ثبت سفارش» --- */
body.woocommerce-checkout #place_order {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 16px 28px;
  border-radius: var(--pill);
  background: #465338 !important;
  color: #FFFDF8 !important;
  font-family: var(--font);
  font-size: 1.05rem;
  font-weight: 800;
  border: none !important;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .20) !important;
  transition: background .22s, transform .2s, box-shadow .22s;
  margin-top: 4px;
}

body.woocommerce-checkout #place_order:hover {
  background: #657047 !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(70, 83, 56, .28) !important;
}

/* ================================================================
   ریسپانسیو
   ================================================================ */
/* تبلت — ستون‌ها روی هم می‌آیند */
@media(max-width:900px) {
  body.woocommerce-checkout form.woocommerce-checkout {
    grid-template-columns: 1fr;
  }

  body.woocommerce-checkout .order-review-wrap {
    position: static;
  }
}

/* موبایل — فیلدهای نیمه‌عرض هم تک‌ستونه می‌شوند */
@media(max-width:600px) {

  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   آرشیو WooCommerce — فروشگاه واقعی  (.shop-page.woocommerce-shop)
   -----------------------------------------------------------------------
   همه استایل‌های موجود .shop-page به‌خودی‌خود اعمال می‌شوند.
   این بخش فقط المان‌های اختصاصی WooCommerce را پوشش می‌دهد و در هر جا
   که woocommerce-layout.css یا woocommerce.css تداخل ایجاد می‌کنند،
   با !important اولویت می‌گیریم.
   ========================================================================== */

/* ---- ریست تداخل‌های WooCommerce روی گرید و تصویر ---- */
/* WC: .woocommerce img { height:auto } را بازنویسی می‌کنیم */
.shop-page .shop-product-media img,
.shop-page .shop-product-media--has-image img,
.shop-page .shop-product-media--has-image img.shop-product-img {
  height: 100% !important;
  max-height: 100% !important;
  width: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* WC: ul.products li.product float — ما از div.shop-grid استفاده می‌کنیم.
   فقط display و float نیاز به !important دارند؛ بقیه خصوصیات از
   بلاک .shop-page .shop-grid بالاتر می‌آیند و responsive breakpointها کار می‌کنند */
.shop-page .shop-grid {
  display: grid !important;
  float: none !important;
}

/* آرشیو WC: auto-fit تا کارت‌ها وقتی کمتر از ۴ محصول هست وسط‌چین بمانند.
   specificity بالاتر از .shop-page .shop-grid اصلی — بنابراین !important لازم نیست.
   breakpointهای موبایل/تبلت (با !important) هنوز اعمال می‌شوند. */
.shop-page.woocommerce-shop .shop-grid {
  grid-template-columns: repeat(auto-fit, minmax(230px, 260px));
  justify-content: center;
  align-items: stretch;
}

/* کارت محصول — ریست هر margin/width که WC ممکن است اعمال کند */
.shop-page .shop-product-card {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ناحیه مدیا بدون تصویر — فقط padding را ریست می‌کند */
.shop-page .shop-product-media--has-image {
  padding: 0 !important;
}

/* ---- سکشن آرشیو و wrapper مرکزی ---- */
.woocommerce-shop .shop-archive-section {
  background: var(--bg-soft);
  padding: clamp(40px, 5vw, 64px) 0;
}

.woocommerce-shop .shop-archive-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding-inline: clamp(16px, 2vw, 24px);
}

/* فاصله بین چیپ‌ها و toolbar در آرشیو WC کمتر از صفحه استاتیک */
.shop-page.woocommerce-shop .shop-filter {
  margin-bottom: clamp(10px, 1.5vw, 14px);
}

/* ---- نوار مرتب‌سازی + تعداد نتایج ---- */
/* direction:ltr — اولین فرزند (shop-ordering) سمت چپ، دومی (shop-result-count) سمت راست.
   max-width + margin-inline:auto نوار را هم‌عرض محدوده گرید نگه می‌دارد.
   float داخلی WC داخل wrapper خودش محصور است. */
.woocommerce-shop .shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  direction: ltr;
  gap: 12px;
  flex-wrap: wrap;
  max-width: 1100px;
  margin-inline: auto;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(70, 83, 56, .12);
  margin-bottom: clamp(10px, 1.5vw, 16px);
  overflow: hidden;
}

/* wrapper ها — flex items */
.woocommerce-shop .shop-result-count,
.woocommerce-shop .shop-ordering {
  display: flex;
  align-items: center;
}

/* ریست کامل float روی المان‌های WooCommerce درون wrapper */
.woocommerce-shop .shop-result-count .woocommerce-result-count {
  float: none !important;
  font-size: .87rem;
  font-weight: 600;
  color: var(--muted);
  margin: 0;
  padding: 0;
  direction: rtl;
}

.woocommerce-shop .shop-ordering form.woocommerce-ordering,
.woocommerce-shop .shop-ordering .woocommerce-ordering {
  float: none !important;
  margin: 0;
}

.woocommerce-shop .shop-ordering select.orderby {
  font-family: var(--font);
  font-size: .88rem;
  font-weight: 700;
  color: #465338;
  background: #FFFDF8;
  border: 1.5px solid rgba(70, 83, 56, .18);
  border-radius: var(--pill);
  padding: 9px 18px 9px 38px;
  cursor: pointer;
  direction: rtl;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C5A059' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 14px center;
}

.woocommerce-shop .shop-ordering select.orderby:focus {
  border-color: #657047;
  box-shadow: 0 0 0 3px rgba(101, 112, 71, .16);
}

/* ---- فیلترهای نوار (فقط صفحات فروشگاه حیوان: سگ/گربه) ---- */
/* مرتب‌سازی + برند کنار هم در یک گروه؛ گروه در نوار ltr به لبه‌ی راست
   (ابتدای RTL) رانده می‌شود. هر دو سلکت استایل ordering را بازاستفاده می‌کنند. */
.woocommerce-shop .shop-toolbar-filters {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  direction: rtl;
  margin-left: auto;
}

.woocommerce-shop .shop-toolbar-filters .shop-ordering select.orderby {
  min-width: 170px;
}

@media(max-width:640px) {

  /* مرتب‌سازی و برند کنار هم در یک ردیف: دو ستون هم‌عرض (RTL حفظ می‌شود) */
  .woocommerce-shop .shop-toolbar-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-left: 0;
    width: 100%;
  }

  /* هر کنترل ستون خود را کامل پر می‌کند → عرض برابر و بدون سرریز افقی */
  .woocommerce-shop .shop-toolbar-filters .shop-ordering,
  .woocommerce-shop .shop-toolbar-filters .shop-ordering .woocommerce-ordering,
  .woocommerce-shop .shop-toolbar-filters .shop-ordering select.orderby {
    width: 100%;
    min-width: 0;
    max-width: none;
    box-sizing: border-box;
  }

  /* فونت و پدینگ افقی کمی فشرده‌تر فقط برای این دراپ‌داون‌ها تا روی ۳۶۰px جا شوند */
  .woocommerce-shop .shop-toolbar-filters select.orderby {
    font-size: .8rem;
    padding-right: 12px;
    padding-left: 30px;
    background-position: left 10px center;
  }
}

/* صفحات بسیار باریک (زیر ۳۴۰px): دو دراپ‌داون روی هم بچینند تا خوانا بمانند */
@media(max-width:339px) {
  .woocommerce-shop .shop-toolbar-filters {
    grid-template-columns: 1fr;
  }
}

/* ---- چیپ‌های دسته‌بندی فقط در موبایل صفحات فروشگاه حیوان: کوچک‌تر ---- */
/* فقط صفحات سگ/گربه (نه آرشیو اصلی /shop/)؛ فقط ابعاد تغییر می‌کند، نه رنگ/حالت فعال */
@media(max-width:640px) {

  .shop-page.animal-shop-dog .shop-filter,
  .shop-page.animal-shop-cat .shop-filter {
    gap: 8px;
  }

  .shop-page.animal-shop-dog .shop-chip,
  .shop-page.animal-shop-cat .shop-chip {
    font-size: .86rem;
    padding: 8px 14px;
  }
}

/* ---- فروشگاه اصلی /shop/ در موبایل: فیلتر و نوار فشرده‌تر ---- */
/* فقط آرشیو اصلی (شامل سگ/گربه نمی‌شود)؛ رنگ‌ها/کارت‌ها/صفحه‌بندی تغییر نمی‌کنند */
@media(max-width:640px) {

  /* چیپ‌های دسته‌بندی کوچک‌تر و فشرده‌تر (حالت فعال فقط از نظر اندازه تغییر می‌کند) */
  .shop-page.woocommerce-shop:not(.animal-shop-dog):not(.animal-shop-cat):not(.animal-shop-accessories) .shop-filter {
    gap: 8px;
  }

  .shop-page.woocommerce-shop:not(.animal-shop-dog):not(.animal-shop-cat):not(.animal-shop-accessories) .shop-chip {
    font-size: .86rem;
    padding: 8px 14px;
  }

  /* نوار مرتب‌سازی + تعداد نتایج: فاصله‌ها فشرده‌تر، تعداد نتایج کمی کوچک‌تر اما خوانا */
  .shop-page.woocommerce-shop:not(.animal-shop-dog):not(.animal-shop-cat):not(.animal-shop-accessories) .shop-toolbar {
    gap: 6px;
    padding-bottom: 8px;
    margin-bottom: 10px;
  }

  .shop-page.woocommerce-shop:not(.animal-shop-dog):not(.animal-shop-cat):not(.animal-shop-accessories) .shop-result-count .woocommerce-result-count {
    font-size: .8rem;
  }
}

/* ---- صفحه‌بندی wrapper ---- */
.woocommerce-shop .shop-pagination {
  margin-top: clamp(32px, 5vw, 52px);
  display: flex;
  justify-content: center;
}

/* ---- دکمه «افزودن به سبد» WooCommerce در گرید ---- */
/* WC: .woocommerce a.button { background:#ebe9eb; border-radius:0; display:inline-block; padding:.618em 1em }
   همه خصوصیات بصری با !important بازنویسی می‌شوند */
.shop-page .add_to_cart_button,
.shop-page a.add_to_cart_button,
.shop-page button.add_to_cart_button,
.shop-page a.button.add_to_cart_button,
.shop-page .shop-product-footer .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 9px 16px !important;
  border-radius: 999px !important;
  background: var(--navy) !important;
  background-color: var(--navy) !important;
  color: #fff !important;
  font-family: var(--font) !important;
  font-weight: 800 !important;
  font-size: .82rem !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  border: none !important;
  cursor: pointer !important;
  transition: background .22s, transform .2s, box-shadow .22s !important;
  box-shadow: 0 4px 12px -4px rgba(38, 59, 94, .35) !important;
  line-height: 1 !important;
  text-shadow: none !important;
  letter-spacing: 0 !important;
  left: auto !important;
  overflow: visible !important;
  position: relative !important;
  -webkit-appearance: none !important;
}

.shop-page .add_to_cart_button:hover,
.shop-page a.add_to_cart_button:hover,
.shop-page button.add_to_cart_button:hover,
.shop-page a.button.add_to_cart_button:hover,
.shop-page .shop-product-footer .button:hover {
  background: var(--navy-deep) !important;
  background-color: var(--navy-deep) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px -6px rgba(38, 59, 94, .45) !important;
}

/* حالت «در سبد است» — لینک مشاهده سبد */
.shop-page .added_to_cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  background: var(--green-soft) !important;
  color: var(--green-deep) !important;
  font-family: var(--font) !important;
  font-weight: 700 !important;
  font-size: .78rem !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  border: none !important;
  margin-right: 6px;
  transition: background .2s;
}

.shop-page .added_to_cart:hover {
  background: rgba(98, 201, 154, .25) !important;
}

/* ---- صفحه‌بندی WooCommerce ---- */
/* WC: .woocommerce .woocommerce-pagination ul.page-numbers::after { clear:both }
   را خنثی می‌کنیم */
.shop-page .woocommerce-pagination {
  display: flex !important;
  justify-content: center;
  margin-top: clamp(32px, 5vw, 52px);
}

.shop-page .woocommerce-pagination ul.page-numbers {
  display: flex !important;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
  direction: rtl;
  flex-wrap: wrap;
}

/* پایه: بدون کادر و پس‌زمینه — فقط متن
   !important برای بازنویسی border و background پیش‌فرض woocommerce.css */
.shop-page .woocommerce-pagination ul.page-numbers .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 10px;
  border-radius: var(--r-sm);
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: var(--font);
  font-weight: 600;
  font-size: .92rem;
  color: #465338;
  text-decoration: none;
  transition: background .18s, color .18s;
  cursor: pointer;
  user-select: none;
}

/* صفحه فعال: پس‌زمینه سبز، متن سفید */
.shop-page .woocommerce-pagination ul.page-numbers .page-numbers.current {
  background: #465338 !important;
  color: #fff !important;
  box-shadow: 0 3px 10px -3px rgba(70, 83, 56, .35) !important;
  cursor: default;
}

/* هاور روی اعداد غیرفعال */
.shop-page .woocommerce-pagination ul.page-numbers .page-numbers:hover:not(.current):not(.dots) {
  background: rgba(197, 160, 89, .16);
  color: #465338;
}

/* نقاط «…» */
.shop-page .woocommerce-pagination ul.page-numbers .page-numbers.dots {
  background: transparent;
  color: #657047;
  cursor: default;
  min-width: 24px;
  letter-spacing: .05em;
}

/* دکمه‌های قبلی/بعدی — همان سبک متنی، کمی padding بیشتر */
.shop-page .woocommerce-pagination ul.page-numbers .prev,
.shop-page .woocommerce-pagination ul.page-numbers .next {
  font-weight: 700;
  font-size: .85rem;
  padding: 0 14px;
  color: #465338;
}

.shop-page .woocommerce-pagination ul.page-numbers .prev:hover,
.shop-page .woocommerce-pagination ul.page-numbers .next:hover {
  background: rgba(197, 160, 89, .16);
  color: #465338;
}

/* ---- پیام «محصولی یافت نشد» ---- */
.shop-page .woocommerce-no-products-found .woocommerce-info,
.shop-page .woocommerce-info {
  padding: 20px 24px;
  background: var(--bg-soft);
  border-right: 4px solid var(--green);
  border-radius: var(--r-sm);
  font-weight: 600;
  font-size: .95rem;
  color: var(--ink-soft);
  direction: rtl;
  text-align: right;
  margin: 0;
  list-style: none;
}

/* ---- ریسپانسیو ---- */
@media(max-width:768px) {
  .woocommerce-shop .shop-archive-wrap {
    padding-inline: clamp(12px, 4vw, 20px);
  }
}

@media(max-width:640px) {
  .woocommerce-shop .shop-toolbar {
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 8px;
    max-width: 100%;
    padding-bottom: 10px;
    margin-bottom: 12px;
  }

  .woocommerce-shop .shop-ordering,
  .woocommerce-shop .shop-ordering select.orderby {
    width: 100%;
  }

  .woocommerce-shop .shop-result-count .woocommerce-result-count {
    text-align: right;
  }
}

/* WooCommerce notice focus fix */
.woocommerce-message,
.woocommerce-message:focus,
.woocommerce-message:focus-visible {
  outline: none !important;
  border: 1px solid #cce8d4 !important;
  border-right: 4px solid #465338 !important;
  box-shadow: none !important;
}

.woocommerce-error,
.woocommerce-error:focus,
.woocommerce-error:focus-visible {
  outline: none !important;
  border: 1px solid #fbc4c4 !important;
  border-right: 4px solid #e53e3e !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .08) !important;
}

.woocommerce-info,
.woocommerce-info:focus,
.woocommerce-info:focus-visible {
  outline: none !important;
  border: 1px solid #c5d8f5 !important;
  border-right: 4px solid var(--navy) !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .08) !important;
}

/* حذف بوردر دور اعداد صفحه‌بندی فروشگاه */
.shop-page .woocommerce-pagination ul.page-numbers .page-numbers,
.shop-page .woocommerce-pagination ul.page-numbers li,
.woocommerce-pagination ul.page-numbers,
.woocommerce-pagination ul.page-numbers li,
.woocommerce-pagination ul.page-numbers .page-numbers {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* ============ صفحه آرشیو برند ============ */
.brand-hero {
  width: 100%;
  height: auto;
  min-height: unset;
  background: none;
  display: block;
  position: relative;
  border: none !important;
  outline: none;
}

.brand-hero img {
  border: none;
  display: block;
}

.brand-hero::after {
  display: none;
}



body.brand-archive-page,
.brand-archive-page main {
  background: var(--bg);
}

.brand-info-bar {
  background: transparent;
  padding: 80px 24px 60px 24px;
  margin: 0;
  max-width: 100%;
  text-align: center;
  box-shadow: none;
  border-radius: 0;
}

.brand-archive-page .shop-section {
  padding-top: 24px;
}

.brand-info-bar__inner {
  max-width: 800px;
  margin: 0 auto;
}

.brand-info-bar__title {
  font-size: 3.5rem;
  font-weight: 800;
  color: var(--navy);
  margin-top: 20px;
  margin-bottom: 20px;
}

.brand-info-bar__desc {
  font-size: 1.15rem;
  color: #2a2a2a;
  line-height: 1.9;
  margin: 0;
}

.brand-hero__content {
  position: relative;
  z-index: 1;
  text-align: center;
  color: #fff;
  padding: 40px 20px;
}

.brand-hero__logo {
  max-width: 180px;
  margin-bottom: 1rem;
  display: block;
  margin-inline: auto;
}

.brand-hero__title {
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0 0 .5rem;
  line-height: 1.2;
}

.brand-hero__subtitle {
  font-size: 1.1rem;
  opacity: .85;
  margin: 0;
}

@media (max-width: 640px) {
  .brand-hero {
    min-height: 220px;
  }

  .brand-hero__title {
    font-size: 1.75rem;
  }
}

/* ============ بخش توضیحات محصول برند (آرشیو برند) ============ */

.brand-product-description-header {
  border-bottom: 2px solid var(--line);
  margin-bottom: 24px;
  direction: rtl;
}

.brand-product-description-title {
  display: inline-block;
  padding: 10px 20px;
  margin: 0 0 -2px;
  font-size: .95rem;
  font-weight: 700;
  color: #465338;
  border-bottom: 3px solid #c5a059;
}

.brand-product-description-content {
  font-size: 1rem;
  line-height: 1.85;
  color: var(--ink-soft);
}

.brand-product-description-content h2,
.brand-product-description-content h3,
.brand-product-description-content h4 {
  color: var(--ink);
  margin-top: 1.5em;
  margin-bottom: .5em;
}

.brand-product-description-content p {
  margin-bottom: 1em;
}

.brand-product-description-content ul,
.brand-product-description-content ol {
  padding-inline-start: 1.5em;
  margin-bottom: 1em;
}

.brand-product-description-content li {
  margin-bottom: .35em;
}

.brand-product-description-content a {
  color: #465338;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.brand-product-description-content a:hover {
  color: #c5a059;
}

/* ============ صفحه حساب کاربری ============ */

/* --- پوسته بیرونی --- */
.account-shell {
  background: #fffdf8;
  padding: 48px 0 80px;
}

/* --- عنوان صفحه --- */
.account-title {
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--navy);
  margin: 0 0 32px;
  padding: 0;
}

/* --- چیدمان ستونی (breadcrumb بالا، محتوا کامل‌عرض زیر) --- */
.account-layout {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

/* --- نوار breadcrumb --- */
.account-nav--breadcrumb {
  width: 100% !important;
  margin-bottom: 28px;
}

.account-nav--breadcrumb .account-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  /* RTL: items flow right-to-left */
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  background: #FFFDF8;
  border: 1px solid rgba(70, 83, 56, .12);
  border-radius: var(--r);
  box-shadow: 0 6px 24px rgba(70, 83, 56, .08);
  overflow: hidden;
  padding: 6px 12px;
}

.account-nav--breadcrumb .account-nav__list li {
  display: flex;
  align-items: center;
}

/* جداکننده "/" بعد از هر آیتم (به‌جز آخری) — در RTL «آخری» در ابتدای لیست است */
.account-nav--breadcrumb .account-nav__list li:not(:first-child)::before {
  content: '/';
  color: var(--muted);
  font-size: .85rem;
  font-weight: 400;
  padding: 0 6px;
  user-select: none;
  opacity: .55;
}

.account-nav--breadcrumb .account-nav__list li a {
  display: inline-block;
  padding: 7px 10px;
  color: var(--ink-soft);
  font-size: .9rem;
  font-weight: 500;
  text-decoration: none;
  border-radius: var(--r-sm);
  transition: background .15s, color .15s;
  white-space: nowrap;
}

/* آیتم فعال — به‌سبک breadcrumb برجسته */
.account-nav--breadcrumb .account-nav__list li.is-active a,
.account-nav--breadcrumb .account-nav__list li a[aria-current="page"] {
  color: #fff;
  font-weight: 700;
  background: #465338;
  border-radius: var(--r-sm);
}

.account-nav--breadcrumb .account-nav__list li a:hover {
  background: rgba(197, 160, 89, .16);
  color: #465338;
}

/* آیتم خروج — رنگ متمایز */
.account-nav--breadcrumb .account-nav__list li.woocommerce-MyAccount-navigation-link--customer-logout a {
  color: var(--muted);
  font-size: .85rem;
}

.account-nav--breadcrumb .account-nav__list li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  color: #c0392b;
  background: #fdf2f2;
}

/* --- محتوا (کامل‌عرض زیر نوار) --- */
.account-content {
  width: 100%;
  min-width: 0;
}

/* --- کارت داشبورد --- */
.account-card {
  background: #FFFDF8;
  border: 1px solid rgba(70, 83, 56, .12);
  border-radius: var(--r);
  box-shadow: 0 6px 24px rgba(70, 83, 56, .08);
  padding: 32px;
  color: var(--ink);
  line-height: 1.9;
}

.account-card a {
  color: var(--green-deep);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.account-card a:hover {
  color: var(--navy);
}

.woocommerce-orders-table__cell-order-number a {
  color: #465338;
}

.woocommerce-orders-table__cell-order-number a:hover {
  color: #657047;
}

/* --- موبایل --- */
@media (max-width: 767px) {
  .account-shell {
    padding: 32px 0 56px;
  }

  .account-nav--breadcrumb .account-nav__list {
    padding: 4px 8px;
    gap: 0;
  }

  .account-nav--breadcrumb .account-nav__list li a {
    padding: 6px 7px;
    font-size: .83rem;
  }

  .account-card {
    padding: 20px;
  }
}

/* ── پروفایل کوچولوی من — پولیش بصری (CSS-only، اسکوپ‌شده زیر .petcare-pets) ──── */
.petcare-pets {
  max-width: 720px;
}

/* کارت‌های این صفحه: فشرده‌تر و با فاصله‌ی منظم بین بخش‌ها */
.petcare-pets .account-card {
  padding: 18px 20px;
  margin-bottom: 14px;
  line-height: 1.7;
}

/* سربرگ کارت پت (آیکن + نام + نوع) — فقط کارت پت این div را به‌عنوان فرزند اول دارد */
.petcare-pets .account-card>div:first-child {
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(70, 83, 56, .12);
}

.petcare-pets .account-card>div:first-child strong {
  font-size: 1.2rem !important;
}

/* ردیف‌های جزئیات: فهرست تمیزِ «برچسب: مقدار» */
.petcare-pets .account-card>div:not(:first-child) {
  display: flex;
  gap: 8px;
  align-items: baseline;
  margin: 0 !important;
  padding: 4px 0;
}

.petcare-pets .account-card>div:not(:first-child)>span:first-child {
  flex: 0 0 auto;
  min-width: 84px;
}

/* دکمه حذف: دیده شود اما کم‌رنگ‌تر و کم‌حجم‌تر */
.petcare-pets button[name="petcare_pet_delete"] {
  padding: 5px 14px !important;
  font-size: .8rem !important;
  border-color: #e0c7c7 !important;
  color: #a85454 !important;
}

.petcare-pets button[name="petcare_pet_delete"]:hover {
  background: #fff5f5 !important;
  border-color: #b32d2e !important;
  color: #b32d2e !important;
}

/* فرم افزودن: دو ستونه برای اسکن آسان‌تر (فیلدهای پنهان display:none هستند و در گرید جا نمی‌گیرند) */
.petcare-pets .petcare-pet-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 22px;
  align-items: start;
}

.petcare-pets .petcare-pet-form>p {
  margin: 0 !important;
}

.petcare-pets .petcare-pet-form>p:last-of-type,
.petcare-pets .petcare-pet-form>button {
  grid-column: 1 / -1;
}

.petcare-pets .petcare-pet-form>button {
  justify-self: start;
  margin-top: 4px;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .20);
}

.petcare-pets .petcare-pet-form>button:hover {
  background: #657047 !important;
  box-shadow: 0 10px 28px rgba(70, 83, 56, .28);
}

.petcare-pets .petcare-pet-form>button:focus-visible {
  background: #657047 !important;
  outline: 1px solid #657047;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .20), 0 0 0 3px rgba(101, 112, 71, .16);
}

.petcare-pets .product-whatsapp-consult__button {
  background: #465338;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .20);
}

.petcare-pets .product-whatsapp-consult__button:hover {
  background: #657047;
  box-shadow: 0 10px 28px rgba(70, 83, 56, .28);
  transform: translateY(-1px);
}

.petcare-pets .product-whatsapp-consult__button:focus-visible {
  background: #657047;
  outline: 1px solid #657047;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .20), 0 0 0 3px rgba(101, 112, 71, .16);
}

/* موبایل: فرم تک‌ستونه (حفظ واکنش‌گرایی) */
@media (max-width: 767px) {
  .petcare-pets .petcare-pet-form {
    grid-template-columns: 1fr;
  }
}

/* ── کارت پت ذخیره‌شده: گرید چندستونه تا جزئیات از کل عرض کارت استفاده کنند ──── */
/* :has فقط کارت‌های پت را هدف می‌گیرد (دارای دکمه‌ی حذف) — نه کارت معرفی و نه فرم افزودن.
   اگر مرورگر از :has پشتیبانی نکند، همان چیدمان تک‌ستونه‌ی قبلی حفظ می‌شود. */
.petcare-pets .account-card:has(button[name="petcare_pet_delete"]) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 4px 20px;
  align-items: start;
}

/* سربرگ (آیکن + نام + نوع) و فرم حذف، تمام عرض کارت را می‌گیرند */
.petcare-pets .account-card:has(button[name="petcare_pet_delete"])>div:first-child,
.petcare-pets .account-card:has(button[name="petcare_pet_delete"])>form {
  grid-column: 1 / -1;
}

/* اجازه‌ی شکستن مقادیر طولانی داخل خانه‌ی گرید */
.petcare-pets .account-card:has(button[name="petcare_pet_delete"])>div:not(:first-child) {
  min-width: 0;
}

.petcare-pets .account-card:has(button[name="petcare_pet_delete"])>div:not(:first-child)>strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* عکس کوچولو در سربرگ کارت پت — فقط داخل .petcare-pets */
.petcare-pets .petcare-pet-avatar {
  width: 52px;
  height: 52px;
  object-fit: cover;
  border-radius: 16px;
  flex-shrink: 0;
}

/* --- عنوان بخش داخلی حساب --- */
.account-section-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

/* --- جدول سفارش‌ها --- */
.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .93rem;
}

.woocommerce-orders-table thead tr {
  background: #465338;
  color: #FFFDF8;
}

.woocommerce-orders-table thead th {
  padding: 11px 16px;
  text-align: right;
  font-weight: 600;
  white-space: nowrap;
}

.woocommerce-orders-table tbody .woocommerce-orders-table__cell {
  padding: 12px 16px;
  border-bottom: 1px solid rgba(70, 83, 56, .12);
  vertical-align: middle;
}

.woocommerce-orders-table tbody tr:last-child .woocommerce-orders-table__cell {
  border-bottom: none;
}

.order-status-badge {
  background: rgba(101, 112, 71, .14);
  color: #465338;
  border-radius: var(--pill);
  padding: 3px 10px;
  font-size: .82rem;
  font-weight: 600;
  display: inline-block;
}

/* ── WhatsApp Consultation Button — single product page ────────────── */

.product-whatsapp-consult {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  width: 100%;
  max-width: none;
  margin: 14px 0 10px;
  padding: 12px 0;
  border: 0;
  border-top: 1px solid var(--line, #D6E4E0);
  border-bottom: 1px solid var(--line, #D6E4E0);
  border-radius: 0;
  background: transparent;
  direction: rtl;
}

.product-whatsapp-consult__text {
  margin: 0;
  font-size: .9rem;
  color: var(--ink-soft, #4A5568);
  line-height: 1.7;
}

.product-whatsapp-consult__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 16px;
  min-height: 38px;
  flex-shrink: 0;
  border-radius: 999px;
  background: #25D366;
  color: #fff;
  font-size: .85rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1;
  transition: background .2s, transform .15s;
}

.product-whatsapp-consult__button:hover,
.product-whatsapp-consult__button:focus-visible {
  background: #128C7E;
  transform: translateY(-1px);
  color: #fff;
}

.product-whatsapp-consult__icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

@media (max-width: 640px) {
  .product-whatsapp-consult {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }

  .product-whatsapp-consult__button {
    width: 100%;
  }
}

.woocommerce-orders-table__cell-order-actions .woocommerce-button,
.woocommerce-orders-table__cell-order-actions .button {
  background: #465338 !important;
  color: #fff !important;
  border-radius: var(--pill);
  padding: 5px 14px;
  font-size: .83rem;
  font-family: var(--font);
  display: inline-block;
  border: none;
  cursor: pointer;
  text-decoration: none;
}

.woocommerce-orders-table__cell-order-actions .woocommerce-button:hover,
.woocommerce-orders-table__cell-order-actions .button:hover {
  background: #303923 !important;
  color: #fff !important;
}

.account-orders-card .woocommerce-pagination {
  display: flex;
  gap: 12px;
  margin-top: 20px;
  flex-wrap: wrap;
}

.account-orders-card .woocommerce-pagination .woocommerce-button,
.account-orders-card .woocommerce-pagination .button {
  background: transparent;
  color: #465338;
  border: 1px solid rgba(70, 83, 56, .18);
  border-radius: var(--pill);
  padding: 6px 18px;
  font-size: .88rem;
  font-family: var(--font);
  display: inline-block;
  cursor: pointer;
  text-decoration: none;
}

.account-orders-card .woocommerce-pagination .woocommerce-button:hover,
.account-orders-card .woocommerce-pagination .button:hover {
  background: rgba(197, 160, 89, .16);
  color: #465338;
}

@media (max-width: 600px) {
  .woocommerce-orders-table thead {
    display: none;
  }

  .woocommerce-orders-table tbody tr {
    display: block;
    border-bottom: 2px solid rgba(70, 83, 56, .12);
  }

  .woocommerce-orders-table tbody .woocommerce-orders-table__cell {
    display: block;
    border-bottom: none;
    padding: 6px 16px;
    text-align: right;
  }

  .woocommerce-orders-table tbody .woocommerce-orders-table__cell::before {
    content: attr(data-title) ': ';
    font-weight: 700;
    color: var(--navy);
  }

  .woocommerce-orders-table tbody .woocommerce-orders-table__cell-order-actions::before {
    content: none;
  }
}

@media (min-width: 601px) {

  .woocommerce-orders-table__header-order-number,
  .woocommerce-orders-table__cell-order-number {
    text-align: right;
  }

  .woocommerce-orders-table__header-order-date,
  .woocommerce-orders-table__cell-order-date {
    text-align: center;
  }

  .woocommerce-orders-table__header-order-status,
  .woocommerce-orders-table__cell-order-status {
    text-align: center;
  }

  .woocommerce-orders-table__header-order-total,
  .woocommerce-orders-table__cell-order-total {
    text-align: center;
  }

  .woocommerce-orders-table__header-order-actions,
  .woocommerce-orders-table__cell-order-actions {
    text-align: left;
  }
}

/* --- کارت‌های آدرس --- */
.account-addresses-card .woocommerce-Addresses {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.account-addresses-card .woocommerce-Address {
  flex: 1;
  min-width: 220px;
  background: #F8F4EB;
  border: 1px solid rgba(70, 83, 56, .12);
  border-radius: var(--r);
  padding: 20px 24px;
}

.account-addresses-card .woocommerce-Address-title {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(70, 83, 56, .12);
}

.account-addresses-card .woocommerce-Address-title h2 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0;
}

.account-addresses-card .woocommerce-Address-title .edit {
  font-size: .83rem;
  color: #465338;
  border: 1px solid #465338;
  border-radius: var(--pill);
  padding: 3px 12px;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}

.account-addresses-card .woocommerce-Address-title .edit:hover {
  background: #465338;
  border-color: #465338;
  color: #FFFDF8;
}

.account-addresses-card address {
  font-style: normal;
  font-size: .93rem;
  line-height: 1.8;
  color: var(--ink-soft);
}

@media (max-width: 600px) {
  .account-addresses-card .woocommerce-Addresses {
    flex-direction: column;
  }
}

/* --- فرم ویرایش حساب --- */
.account-edit-account-card .woocommerce-form-row {
  margin-bottom: 18px;
}

.account-edit-account-card label {
  display: block;
  font-size: .9rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 5px;
}

.account-edit-account-card input[type="text"],
.account-edit-account-card input[type="email"],
.account-edit-account-card input[type="password"] {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  padding: 10px 14px;
  font-size: .95rem;
  font-family: var(--font);
  background: #fff;
  color: var(--ink);
  box-sizing: border-box;
}

.account-edit-account-card input[type="text"]:focus,
.account-edit-account-card input[type="email"]:focus,
.account-edit-account-card input[type="password"]:focus {
  border-color: var(--green);
  outline: none;
  box-shadow: 0 0 0 3px var(--green-soft);
}

.account-edit-account-card .form-row-first,
.account-edit-account-card .form-row-last {
  display: inline-block;
  width: calc(50% - 12px);
  vertical-align: top;
  box-sizing: border-box;
}

.account-edit-account-card .form-row-first {
  margin-inline-end: 20px;
}

.account-edit-account-card fieldset {
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 20px 24px;
  margin-top: 24px;
  margin-bottom: 20px;
}

.account-edit-account-card fieldset legend {
  color: var(--navy);
  font-weight: 700;
  font-size: .95rem;
  padding: 0 8px;
}

.account-edit-account-card .woocommerce-Button[type="submit"],
.account-edit-account-card button[name="save_account_details"] {
  background: #465338;
  color: #fff;
  border: none;
  border-radius: var(--pill);
  padding: 12px 32px;
  font-size: .95rem;
  font-family: var(--font);
  font-weight: 600;
  cursor: pointer;
}

.account-edit-account-card .woocommerce-Button[type="submit"]:hover,
.account-edit-account-card button[name="save_account_details"]:hover {
  background: #303923;
}

@media (max-width: 600px) {

  .account-edit-account-card .form-row-first,
  .account-edit-account-card .form-row-last {
    display: block;
    width: 100%;
    margin-inline-end: 0;
  }
}

.woocommerce-MyAccount-content {
  position: relative;
  top: 0;
  width: 100% !important;
}

/* --- فرم ورود به حساب کاربری --- */
.account-login-card {
  max-width: 520px;
  margin-inline: auto;
  margin-bottom: 80px;
}

.account-login-card .woocommerce-form-row {
  margin-bottom: 18px;
}

.account-login-card label {
  display: block;
  font-size: .9rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 5px;
}

.account-login-card input[type="text"],
.account-login-card input[type="password"] {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  padding: 10px 14px;
  font-size: .95rem;
  font-family: var(--font);
  background: #fff;
  color: var(--ink);
  box-sizing: border-box;
}

.account-login-card input[type="text"]:focus,
.account-login-card input[type="password"]:focus {
  border-color: var(--green);
  outline: none;
  box-shadow: 0 0 0 3px var(--green-soft);
}

.account-login-card .form-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.account-login-card .woocommerce-form-login__rememberme {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: .9rem;
  color: var(--ink-soft);
  font-weight: 400;
  cursor: pointer;
}

.account-login-card .woocommerce-form-login__submit {
  background: var(--navy);
  color: #fff;
  border: none;
  border-radius: var(--pill);
  padding: 10px 28px;
  font-size: .95rem;
  font-family: var(--font);
  font-weight: 600;
  cursor: pointer;
  transition: background .15s;
}

.account-login-card .woocommerce-form-login__submit:hover {
  background: var(--navy-deep);
}

.account-login-card .woocommerce-LostPassword {
  margin-top: 16px;
  font-size: .88rem;
}

.account-login-card .woocommerce-LostPassword a {
  color: var(--ink-soft);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.account-login-card .woocommerce-LostPassword a:hover {
  color: var(--navy);
}

/* --- اصلاح چیدمان ردیف‌های فرم ورود --- */
.account-login-card .woocommerce-form-row {
  display: block;
}

.account-login-card p.form-row:not(.woocommerce-form-row) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

/* --- دکمه‌های ورود و ثبت‌نام --- */
.account-login-card .woocommerce-button,
.woocommerce-form-login .woocommerce-button,
.woocommerce-form-register .woocommerce-button {
  background: var(--navy);
  color: #fff;
  border: none;
  border-radius: var(--pill);
  padding: 10px 26px;
  font-size: .95rem;
  font-family: var(--font);
  font-weight: 700;
  cursor: pointer;
  transition: background .15s;
}

.account-login-card .woocommerce-button:hover,
.woocommerce-form-login .woocommerce-button:hover,
.woocommerce-form-register .woocommerce-button:hover {
  background: var(--navy-deep);
}

/* --- کارت ثبت‌نام --- */
.account-register-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 36px 40px;
  box-shadow: var(--sh-1);
}

.account-register-card .account-section-title {
  margin: 0 0 24px;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--ink);
}

.account-register-card .woocommerce-form-row {
  display: block;
  margin-bottom: 18px;
}

.account-register-card label {
  display: block;
  font-size: .9rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 5px;
}

.account-register-card input[type="text"],
.account-register-card input[type="email"],
.account-register-card input[type="password"] {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  padding: 10px 14px;
  font-size: .95rem;
  font-family: var(--font);
  background: #fff;
  color: var(--ink);
  box-sizing: border-box;
}

.account-register-card input[type="text"]:focus,
.account-register-card input[type="email"]:focus,
.account-register-card input[type="password"]:focus {
  border-color: var(--green);
  outline: none;
  box-shadow: 0 0 0 3px var(--green-soft);
}

.account-register-card .woocommerce-form-register__info {
  font-size: .88rem;
  color: var(--ink-soft);
  margin-bottom: 18px;
}

.account-register-card p.form-row:not(.woocommerce-form-row) {
  margin-top: 8px;
}

/* --- چیدمان دو‌ستونه ورود + ثبت‌نام --- */
#customer_login {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

#customer_login .u-column1,
#customer_login .u-column2 {
  flex: 1 1 0;
  min-width: 0;
}

#customer_login .account-login-card {
  max-width: none;
  margin-inline: 0;
  margin-bottom: 0;
}

#customer_login .account-register-card {
  height: 100%;
  box-sizing: border-box;
}

/* --- موبایل: تک‌ستونه کردن فرم ورود/ثبت‌نام --- */
@media (max-width: 767px) {
  #customer_login {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  #customer_login .u-column1,
  #customer_login .u-column2 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
  }

  #customer_login .account-register-card,
  #customer_login .woocommerce-form {
    width: 100%;
    max-width: 100%;
  }

  #customer_login input[type="text"],
  #customer_login input[type="email"],
  #customer_login input[type="password"] {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* فاصله پایین صفحه حساب (لاگ‌اوت) */
.logged-out .account-shell {
  padding-bottom: 96px;
}

/* ==========================================================================
   Product FAQ accordion
   ========================================================================== */

.product-faq {
  background: #FFFDF8;
  padding: 8px 0 52px;
}

.product-faq__title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #303923;
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 2px solid #c5a059;
  letter-spacing: .01em;
}

.product-faq__item {
  background: var(--card, #fff);
  border: 1px solid rgba(70, 83, 56, .18);
  border-radius: var(--r, 12px);
  margin-bottom: 8px;
  overflow: hidden;
  box-shadow: var(--sh-1);
  transition: border-color .15s, box-shadow .15s;
}

.product-faq__item[open] {
  border-color: #c5a059;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .14);
}

/* RTL: ::before renders on the right (flex start) in dir=rtl context */
.product-faq__question {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 20px;
  font-size: .95rem;
  font-weight: 600;
  color: #303923;
  cursor: pointer;
  user-select: none;
  outline: none;
}

.product-faq__question:focus-visible {
  box-shadow: inset 0 0 0 2px #657047;
}

.product-faq__question::-webkit-details-marker {
  display: none;
}

.product-faq__question::before {
  content: '+';
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  color: #c5a059;
  flex-shrink: 0;
  width: 1em;
  text-align: center;
}

.product-faq__item[open]>.product-faq__question::before {
  content: '\2212';
}

.product-faq__answer {
  border-top: 1px solid var(--line, #D6E4E0);
  padding: 14px 20px 20px;
  font-size: .925rem;
  color: var(--ink-soft, #4A5568);
  line-height: 1.85;
}

.product-faq__answer p {
  margin: 0 0 .6em;
}

.product-faq__answer p:last-child {
  margin-bottom: 0;
}

/* ── Category FAQ — extra top spacing on shop archive pages ────────────── */
.shop-page>.product-faq {
  margin-top: 48px;
}

@media (max-width: 768px) {
  .shop-page>.product-faq {
    margin-top: 32px;
  }
}

/* ==========================================================================
   Wishlist
   ========================================================================== */

/* ── Button — shared base ───────────────────────────────────────────────── */

.wishlist-button {
  display: inline-block;
  padding: 7px 16px;
  border: 1px solid var(--line, #D6E4E0);
  border-radius: var(--pill, 999px);
  background: transparent;
  font-size: .82rem;
  font-family: var(--font);
  font-weight: 500;
  color: var(--ink-soft, #4A5568);
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1.4;
  transition: border-color .15s, color .15s, background .15s;
}

.wishlist-button--add:hover,
.wishlist-button--guest:hover {
  border-color: var(--green, #4CAF8C);
  color: var(--green, #4CAF8C);
}

.wishlist-button--remove {
  border-color: var(--green, #4CAF8C);
  color: var(--green, #4CAF8C);
}

.wishlist-button--remove:hover {
  background: var(--green-soft, #E8F5F0);
}

.wishlist-button:disabled {
  opacity: .55;
  cursor: not-allowed;
}

/* ── Archive product card: scoped override ──────────────────────────────── */
/* flex-basis: 100% forces the wishlist button onto its own row below the   */
/* existing price + action-btn row. This works because .shop-product-footer */
/* already has flex-wrap: wrap. No footer flex rules change.                */

.shop-page .shop-product-footer .wishlist-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 16px;
  line-height: 1;
  width: 100%;
  box-sizing: border-box;
  font-size: .82rem;
  font-weight: 700;
  white-space: nowrap;
  border-color: rgba(70, 83, 56, .18);
  color: #465338;
}

.shop-page .shop-product-footer .wishlist-button--add:hover,
.shop-page .shop-product-footer .wishlist-button--guest:hover {
  border-color: #465338;
  color: #465338;
}

.shop-page .shop-product-footer .wishlist-button--remove {
  border-color: #C5A059;
  color: #C5A059;
}

.shop-page .shop-product-footer .wishlist-button--remove:hover {
  background: rgba(197, 160, 89, .16);
}

/* ── Single product wrapper ─────────────────────────────────────────────── */

.product-wishlist {
  margin-top: 14px;
}

.product-wishlist .wishlist-button {
  padding: 10px 22px;
  font-size: .92rem;
}

.single-product-page .product-wishlist .wishlist-button {
  color: #465338;
  border-color: #465338;
}

.single-product-page .product-wishlist .wishlist-button:hover {
  background: transparent;
  color: #465338;
  border-color: #465338;
}

/* ── My Account wishlist page ───────────────────────────────────────────── */

.wishlist-page {}

.wishlist-empty {
  color: var(--ink-soft, #4A5568);
  font-size: .95rem;
  padding: 24px 0;
}

.wishlist-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 16px;
}

.wishlist-card {
  background: #FFFDF8;
  border: 1px solid rgba(70, 83, 56, .12);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(70, 83, 56, .08);
  display: flex;
  flex-direction: column;
  transition: box-shadow .15s, transform .15s;
  width: 260px;
}

.wishlist-card:hover {
  box-shadow: 0 18px 40px rgba(70, 83, 56, .14);
  transform: translateY(-6px);
}

.wishlist-card__media {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--bg, #EEF5F3);
}

.wishlist-card__img,
.wishlist-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .2s;
}

.wishlist-card:hover .wishlist-card__media img {
  transform: scale(1.04);
}

.wishlist-card__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 2.5rem;
}

.wishlist-card__body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.wishlist-card__title {
  font-size: .9rem;
  font-weight: 600;
  margin: 0;
  color: var(--navy, #1B2B4B);
  line-height: 1.4;
}

.wishlist-card__title a {
  color: inherit;
  text-decoration: none;
}

.wishlist-card__title a:hover {
  color: var(--green, #4CAF8C);
}

.wishlist-card__price {
  font-size: .85rem;
  color: var(--ink-soft, #4A5568);
}

.wishlist-card__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: auto;
  padding-top: 8px;
}

.wishlist-card__view {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  line-height: 1;
  background: #465338;
  color: #FFFDF8;
  border-radius: var(--pill, 999px);
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s;
}

.wishlist-card__view:hover {
  background: #303923;
  color: #FFFDF8;
}

.wishlist-card__actions .wishlist-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  line-height: 1;
  font-size: .82rem;
  flex-shrink: 0;
}

.wishlist-card__actions .wishlist-button--remove {
  background: transparent;
  border-color: #C5A059;
  color: #C5A059;
}

.wishlist-card__actions .wishlist-button--remove:hover {
  background: rgba(197, 160, 89, .16);
}

@media (max-width: 600px) {
  .wishlist-card {
    width: 100%;
  }
}

/* ==========================================================================
   Reorder — My Account خرید مجدد page
   Scoped to .reorder-* only — does not affect shop, wishlist, or single product.
   ========================================================================== */

.reorder-page {}

.reorder-empty {
  color: var(--ink-soft, #4A5568);
  font-size: .95rem;
  padding: 24px 0;
}

.reorder-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 16px;
}

.reorder-card {
  background: #FFFDF8;
  border: 1px solid rgba(70, 83, 56, .12);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(70, 83, 56, .08);
  display: flex;
  flex-direction: column;
  transition: box-shadow .15s, transform .15s;
  width: 220px;
}

.reorder-card:hover {
  box-shadow: 0 18px 40px rgba(70, 83, 56, .14);
  transform: translateY(-6px);
}

.reorder-card__media {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--bg, #EEF5F3);
}

.reorder-card__img,
.reorder-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .2s;
}

.reorder-card:hover .reorder-card__media img {
  transform: scale(1.04);
}

.reorder-card__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 2.5rem;
}

.reorder-card__body {
  padding: 12px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.reorder-card__title {
  font-size: .88rem;
  font-weight: 600;
  margin: 0;
  color: #172033;
  line-height: 1.4;
}

.reorder-card__title a {
  color: inherit;
  text-decoration: none;
}

.reorder-card__title a:hover {
  color: #465338;
}

.reorder-card__price {
  font-size: .83rem;
  color: #465338;
}

.reorder-card__price span {
  color: #465338;
}

.reorder-card__actions {
  margin-top: auto;
  padding-top: 8px;
}

.reorder-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  line-height: 1;
  border-radius: var(--pill, 999px);
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s, color .15s, border-color .15s;
  width: 100%;
  box-sizing: border-box;
}

.reorder-button--add {
  background: #465338;
  color: #FFFDF8;
  border: 1.5px solid #465338;
}

.reorder-button--add:hover {
  background: #303923;
  border-color: #303923;
  color: #FFFDF8;
}

.reorder-button--view {
  background: #465338;
  color: #FFFDF8;
  border: 1.5px solid #465338;
}

.reorder-button--view:hover {
  background: #303923;
  border-color: #303923;
  color: #FFFDF8;
}

@media (max-width: 600px) {
  .reorder-card {
    width: 100%;
  }
}

/* ── WooCommerce product reviews ───────────────────────────────────────── */
/* Scoped to .single-product (WC body class) — zero bleed to shop/cart/blog */

/* ── Outer wrapper — transparent, top separator only ──────────────── */

.single-product #reviews,
.single-product .woocommerce-Reviews {
  direction: rtl;
  display: flex;
  flex-direction: column;
  width: min(960px, calc(100% - 32px));
  margin: 36px auto 0;
  padding: 20px 0 0;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--line, #D6E4E0);
  border-radius: 0;
  box-shadow: none;
  box-sizing: border-box;
}

/* Title first, form second, review list third */
.single-product #comments {
  display: contents;
  /* children join the outer flex directly */
}

.single-product .woocommerce-Reviews-title,
.single-product #comments h2 {
  order: 1;
}

.single-product #review_form_wrapper {
  order: 2;
}

.single-product #comments .commentlist,
.single-product #comments .woocommerce-noreviews {
  order: 3;
  margin-top: 24px;
}

/* Inner content max-width */
.single-product #reviews #comments,
.single-product #reviews #review_form_wrapper,
.single-product .woocommerce-Reviews #comments,
.single-product .woocommerce-Reviews #review_form_wrapper {
  max-width: 760px;
  margin-inline: auto;
}

/* ── Headings ──────────────────────────────────────────────────────── */

.single-product .woocommerce-Reviews-title,
.single-product #reply-title {
  margin: 0 0 10px;
  color: var(--navy, #1B2B4B);
  font-size: clamp(1.25rem, 1.6vw, 1.65rem);
  font-weight: 900;
  text-align: center;
}

/* ── Empty state ───────────────────────────────────────────────────── */

.single-product .woocommerce-noreviews {
  color: var(--ink-soft, #4A5568);
  text-align: center;
  padding: 12px 0 20px;
  font-size: .95rem;
}

/* ── Review list ───────────────────────────────────────────────────── */

.single-product .commentlist {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.single-product .commentlist .comment {
  border: 1px solid var(--line, #D6E4E0);
  border-radius: 14px;
  padding: 18px 20px;
  background: #fafcfb;
}

.single-product .comment_container .avatar {
  display: none;
}

.single-product .comment-text {
  margin: 0;
}

.single-product .comment-text .meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  margin-bottom: 10px;
  font-size: .9rem;
}

.single-product .woocommerce-review__author {
  font-weight: 700;
  color: var(--navy, #1B2B4B);
}

.single-product .woocommerce-review__published-date {
  font-size: .8rem;
  color: var(--ink-soft, #4A5568);
}

/* Static star display — WC font expects LTR */
.single-product .woocommerce-Reviews .star-rating {
  direction: ltr;
  unicode-bidi: isolate;
}

.single-product .woocommerce-review__verified {
  font-size: .78rem;
  color: var(--green, #4CAF8C);
  font-weight: 600;
}

.single-product .description p {
  margin: 0;
  font-size: .95rem;
  line-height: 1.8;
  color: var(--ink, #2D3748);
}

.single-product .comment-awaiting-moderation {
  display: block;
  font-size: .82rem;
  color: var(--ink-soft, #4A5568);
  font-style: italic;
  margin-top: 8px;
}

.single-product .woocommerce-Reviews .comment-reply-link {
  display: none;
}

/* ── Review form ───────────────────────────────────────────────────── */

.single-product #review_form_wrapper {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line, #D6E4E0);
}

.single-product #review_form {
  margin-top: 14px;
  padding-top: 14px;
}

.single-product #respond {
  direction: rtl;
}

.single-product #respond .logged-in-as {
  font-size: .85rem;
  color: var(--ink-soft, #4A5568);
  margin-bottom: 14px;
  text-align: center;
}

.single-product #respond .logged-in-as a {
  color: var(--navy, #1B2B4B);
}

.single-product #respond .comment-notes {
  font-size: .82rem;
  color: var(--ink-soft, #4A5568);
  margin-bottom: 16px;
  text-align: center;
}

.single-product #commentform {
  display: grid;
  gap: 10px;
}

.single-product #commentform p {
  margin: 0;
}

/* ── Rating (WC JS injects p.stars > span > a.star-1…5) ───────────── */

.single-product .comment-form-rating {
  text-align: center;
}

.single-product .comment-form-rating label,
.single-product .comment-form-comment label {
  display: block;
  margin-bottom: 6px;
  color: var(--navy, #1B2B4B);
  font-size: .9rem;
  font-weight: 800;
}

/* مخفی‌کردن نشانگرهای «الزامی» فقط در فرم نظر محصول (سراسری نیست) */
.single-product #review_form .required,
.single-product #commentform .required {
  display: none;
}

.single-product .comment-form-rating .stars {
  display: inline-flex;
  justify-content: center;
  gap: 6px;
  direction: ltr;
  unicode-bidi: isolate;
  font-size: 1.25rem;
  line-height: 1;
  overflow: hidden;
}

/* ── Textarea ──────────────────────────────────────────────────────── */

.single-product #comment {
  width: 100%;
  min-height: 105px;
  padding: 12px 14px;
  border: 1px solid var(--line, #D6E4E0);
  border-radius: 16px;
  background: #fff;
  color: var(--ink, #1A202C);
  font-family: inherit;
  font-size: .95rem;
  line-height: 1.8;
  resize: vertical;
  box-sizing: border-box;
  direction: rtl;
  box-shadow: none;
  transition: border-color .2s, box-shadow .2s;
}

.single-product #comment:focus {
  outline: none;
  border-color: var(--green, #4CAF8C);
  box-shadow: 0 0 0 3px rgba(76, 175, 140, .14);
}

/* ── Name / email (shown when not logged in) ───────────────────────── */

.single-product .comment-form-author label,
.single-product .comment-form-email label {
  display: block;
  font-size: .9rem;
  font-weight: 700;
  color: var(--navy, #1B2B4B);
  margin-bottom: 6px;
}

.single-product .comment-form-author input[type="text"],
.single-product .comment-form-email input[type="email"] {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--line, #D6E4E0);
  border-radius: 10px;
  font-size: .9rem;
  font-family: inherit;
  box-sizing: border-box;
  direction: ltr;
  transition: border-color .2s;
}

.single-product .comment-form-author input:focus,
.single-product .comment-form-email input:focus {
  outline: none;
  border-color: var(--navy, #1B2B4B);
}

/* ── Submit button — navy pill ─────────────────────────────────────── */

.single-product .form-submit {
  display: flex;
  justify-content: center;
  margin-top: 4px;
}

.single-product #submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: var(--navy, #1B2B4B);
  color: #fff;
  font-family: inherit;
  font-size: .9rem;
  font-weight: 800;
  cursor: pointer;
  transition: background .2s, transform .15s;
  box-shadow: 0 4px 14px -4px rgba(38, 59, 94, .35);
}

.single-product #submit:hover {
  background: var(--navy-deep, #0F1A30);
  transform: translateY(-1px);
}

/* ── Mobile ────────────────────────────────────────────────────────── */

@media (max-width: 640px) {

  .single-product #reviews,
  .single-product .woocommerce-Reviews {
    width: 100%;
    margin-top: 40px;
  }

  .single-product .commentlist .comment {
    padding: 14px;
  }

  .single-product .comment-text .meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
}

/* ── IRAN PAW Info Page template ───────────────────────────────────────── */
/* Scoped to .info-page — no bleed to WooCommerce, blog, or product pages.  */

/* ── Hero ─────────────────────────────────────────────────────────── */

.info-hero {
  background: #E9DEC8;
  padding: clamp(48px, 8vw, 88px) 0 clamp(40px, 6vw, 72px);
  text-align: center;
  direction: rtl;
}

.info-hero__title {
  color: #172033;
  font-size: clamp(1.6rem, 4vw, 2.6rem);
  font-weight: 900;
  margin: 0;
  line-height: 1.3;
}

.info-hero__excerpt {
  color: #465338;
  font-size: clamp(.95rem, 1.5vw, 1.1rem);
  margin: 16px auto 0;
  max-width: 60ch;
  line-height: 1.8;
}

/* ── Content wrap ─────────────────────────────────────────────────── */

.info-content-wrap {
  padding: clamp(32px, 5vw, 60px) 0;
  background: #FFFDF8;
  direction: rtl;
}

.info-content-wrap .wrap {
  max-width: 1040px;
}

.info-content {
  background: #fff;
  border: 1px solid var(--line, #D6E4E0);
  border-radius: 20px;
  padding: 36px 40px;
  line-height: 2;
  color: var(--ink, #2D3748);
  font-size: 1rem;
}

/* Prose: headings */
.info-content h2 {
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  font-weight: 800;
  color: #465338;
  margin: 36px 0 14px;
}

.info-content h2:first-child {
  margin-top: 0;
}

.info-content h3 {
  font-size: clamp(1rem, 1.6vw, 1.18rem);
  font-weight: 700;
  color: #465338;
  margin: 28px 0 10px;
}

.info-content h3:first-child {
  margin-top: 0;
}

/* Prose: paragraphs */
.info-content p {
  margin: 0 0 18px;
  line-height: 2;
}

.info-content p:last-child {
  margin-bottom: 0;
}

/* Prose: lists */
.info-content ul,
.info-content ol {
  padding-right: 22px;
  padding-left: 0;
  margin: 0 0 16px;
}

.info-content li {
  margin-bottom: 6px;
  line-height: 1.8;
}

/* Prose: links */
.info-content a {
  color: var(--green, #4CAF8C);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.info-content a:hover {
  color: var(--navy, #1B2B4B);
}

/* Prose: tables */
.info-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: .95rem;
  overflow-x: auto;
  display: block;
}

.info-content th {
  background: var(--navy, #1B2B4B);
  color: #fff;
  padding: 10px 14px;
  text-align: right;
  font-weight: 600;
  white-space: nowrap;
}

.info-content td {
  padding: 10px 14px;
  border-bottom: 1px solid var(--line, #D6E4E0);
  vertical-align: top;
}

.info-content tr:last-child td {
  border-bottom: none;
}

.info-content tr:nth-child(even) td {
  background: #f7faf9;
}

/* Prose: blockquotes */
.info-content blockquote {
  border-right: 4px solid var(--green, #4CAF8C);
  border-left: none;
  margin: 20px 0;
  padding: 12px 18px 12px 12px;
  background: rgba(76, 175, 140, .06);
  border-radius: 0 8px 8px 0;
  color: var(--ink-soft, #4A5568);
}

.info-content blockquote p {
  margin: 0;
}

/* Prose: horizontal rule */
.info-content hr {
  border: none;
  border-top: 1px solid var(--line, #D6E4E0);
  margin: 28px 0;
}

/* Gutenberg button block */
.info-content .wp-block-button__link {
  border-radius: 999px;
  font-weight: 700;
  padding: 10px 22px;
  text-decoration: none;
}

.info-content .wp-block-button.is-style-outline .wp-block-button__link {
  border-color: var(--navy, #1B2B4B);
  color: var(--navy, #1B2B4B);
}

/* ── Bottom CTA ───────────────────────────────────────────────────── */

.info-cta {
  padding: clamp(36px, 6vw, 64px) 0;
  background: #E9DEC8;
  border: 1px solid rgba(128, 101, 60, .22);
  box-shadow: inset 0 0 0 1px rgba(255, 248, 232, .18), inset 0 0 22px rgba(120, 88, 44, .10), inset 0 0 42px rgba(92, 66, 30, .05), 0 10px 28px rgba(70, 83, 56, .10);
  margin-inline: clamp(14px, 2vw, 28px);
  margin-bottom: clamp(16px, 2vw, 28px);
  text-align: center;
  direction: rtl;
}

.info-cta__inner {
  max-width: 580px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.info-cta__title {
  color: #172033;
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  font-weight: 800;
  margin: 0;
}

.info-cta__text {
  color: #465338;
  font-size: .95rem;
  margin: 0;
  line-height: 1.7;
}

.info-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 28px;
  border-radius: 999px;
  background: #C5A059;
  color: #2E351F;
  font-weight: 800;
  font-size: .95rem;
  text-decoration: none;
  margin-top: 6px;
  transition: background .2s, transform .15s;
  box-shadow: 0 8px 24px -8px rgba(0, 0, 0, .18);
}

.info-cta__btn:hover {
  background: #B38D4C;
  transform: translateY(-1px);
  color: #2E351F;
}

@media (max-width: 640px) {
  .info-content-wrap .wrap {
    padding-inline: 12px;
  }

  .info-content {
    padding: 22px 18px;
    border-radius: 14px;
  }
}

/* ────────────────────────────────────────────────────────────────────────────
   صفحه «کوچولوی من» — قالب داشبورد (CSS فقط، کاملاً اسکوپ‌شده زیر .koochooloo-page)
   هیچ سلکتور عمومی استفاده نشده تا My Account / .petcare-pets / محصولات / فروشگاه
   / سبد و تسویه تحت تأثیر قرار نگیرند.
   ──────────────────────────────────────────────────────────────────────────── */
.koochooloo-page {
  padding: 40px 0 64px;
  background: #FFFDF8;
  color: var(--ink, #172033);
  font-family: var(--font, inherit);
}

.koochooloo-page .koochooloo-container {
  width: min(100% - 32px, var(--maxw, 1200px));
  margin-inline: auto;
}

/* هیرو */
.koochooloo-page .koochooloo-hero {
  background: #F8F4EB;
  border: 1px solid rgba(70, 83, 56, .18);
  border-radius: var(--r-lg, 30px);
  padding: 38px 28px;
  text-align: center;
  margin-bottom: 30px;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .10);
}

.koochooloo-page .koochooloo-hero__title {
  margin: 0 0 10px;
  font-size: 2rem;
  color: #172033;
}

.koochooloo-page .koochooloo-hero__subtitle {
  margin: 0 auto 22px;
  max-width: 560px;
  color: #7A8492;
  line-height: 1.9;
}

.koochooloo-page .koochooloo-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

/* دکمه‌های اسکوپ‌شده */
.koochooloo-page .koochooloo-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 10px 22px;
  border-radius: var(--pill, 999px);
  font-weight: 700;
  font-size: .9rem;
  line-height: 1;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background .2s, transform .15s, color .2s;
}

.koochooloo-page .koochooloo-btn:hover {
  transform: translateY(-1px);
}

.koochooloo-page .koochooloo-btn--primary {
  background: #465338;
  color: #FFFDF8;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .20);
}

.koochooloo-page .koochooloo-btn--primary:hover {
  background: #657047;
  color: #FFFDF8;
  box-shadow: 0 10px 28px rgba(70, 83, 56, .28);
}

.koochooloo-page .koochooloo-btn--primary:focus-visible {
  background: #657047;
  outline: 1px solid #657047;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .20), 0 0 0 3px rgba(101, 112, 71, .16);
}

.koochooloo-page .koochooloo-btn--ghost {
  background: #FFFDF8;
  color: #465338;
  border-color: rgba(70, 83, 56, .18);
}

.koochooloo-page .koochooloo-btn--ghost:hover {
  background: #F8F4EB;
  color: #465338;
}

.koochooloo-page .koochooloo-btn--ghost:focus-visible {
  background: #F8F4EB;
  outline: 1px solid #657047;
  box-shadow: 0 0 0 3px rgba(101, 112, 71, .16);
}

.koochooloo-page .koochooloo-btn--wa {
  background: #465338;
  color: #FFFDF8;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .20);
}

.koochooloo-page .koochooloo-btn--wa:hover {
  background: #657047;
  color: #FFFDF8;
  box-shadow: 0 10px 28px rgba(70, 83, 56, .28);
}

.koochooloo-page .koochooloo-btn--wa:focus-visible {
  background: #657047;
  outline: 1px solid #657047;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .20), 0 0 0 3px rgba(101, 112, 71, .16);
}

/* کارت عمومی و حالت‌های ورود/خالی */
.koochooloo-page .koochooloo-card {
  background: #Ffffff;
  border: 1px solid rgba(70, 83, 56, .18);
  border-radius: var(--r, 20px);
  padding: 24px;
  margin-bottom: 26px;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .10);
}

.koochooloo-page .koochooloo-state {
  text-align: center;
}

.koochooloo-page .koochooloo-state__text {
  margin: 0 0 16px;
  color: #7A8492;
  line-height: 1.9;
}

/* بخش‌ها */
.koochooloo-page .koochooloo-section {
  margin-bottom: 34px;
}

.koochooloo-page .koochooloo-section__title {
  margin: 0 0 16px;
  font-size: 1.3rem;
  color: #172033;
}

.koochooloo-page .koochooloo-section__text {
  margin: 0 0 16px;
  color: #7A8492;
  line-height: 1.9;
}

/* گرید کارت کوچولوها */
.koochooloo-page .koochooloo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 18px;
}

.koochooloo-page .koochooloo-pet {
  background: #FFFFFF;
  border: 1px solid rgba(70, 83, 56, .18);
  border-radius: var(--r, 20px);
  padding: 24px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 10px 24px rgba(70, 83, 56, .10);
}

.koochooloo-page .koochooloo-pet__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(70, 83, 56, .12);
}

.koochooloo-page .koochooloo-pet__avatar {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  border-radius: 50%;
  overflow: hidden;
  background: #F8F4EB;
  display: flex;
  align-items: center;
  justify-content: center;
}

.koochooloo-page .koochooloo-pet__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.koochooloo-page .koochooloo-pet__emoji {
  font-size: 1.7rem;
  line-height: 1;
}

.koochooloo-page .koochooloo-pet__name {
  font-size: 1.25rem;
  font-weight: 800;
  color: #172033;
}

.koochooloo-page .koochooloo-pet__animal {
  margin-inline-start: 6px;
  font-size: .85rem;
  font-weight: 700;
  color: #465338;
}

.koochooloo-page .koochooloo-pet__rows {
  flex: 1;
  margin-bottom: 14px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 4px 20px;
  align-content: start;
}

.koochooloo-page .koochooloo-pet__row {
  display: flex;
  gap: 6px;
  align-items: baseline;
  margin: 3px 0;
  font-size: .92rem;
}

.koochooloo-page .koochooloo-pet__row-label {
  color: #7A8492;
}

.koochooloo-page .koochooloo-pet__row-value {
  color: #172033;
  overflow-wrap: anywhere;
}

.koochooloo-page .koochooloo-pet__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid rgba(70, 83, 56, .12);
}

/* جای‌نگه‌دار یادآوری‌ها */
.koochooloo-page .koochooloo-placeholders {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 14px;
}

.koochooloo-page .koochooloo-placeholder {
  background: var(--bg-soft, #EEF6F3);
  border: 1px dashed var(--line, #DDE8E4);
  border-radius: var(--r-sm, 14px);
  padding: 20px 14px;
  text-align: center;
}

.koochooloo-page .koochooloo-placeholder__icon {
  display: block;
  font-size: 1.6rem;
  margin-bottom: 8px;
}

.koochooloo-page .koochooloo-placeholder__label {
  font-weight: 700;
  color: var(--navy, #263B5E);
}

/* اکشن‌های پیشنهادها */
.koochooloo-page .koochooloo-suggest__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* موبایل */
@media (max-width: 640px) {
  .koochooloo-page .koochooloo-hero {
    padding: 28px 18px;
  }

  .koochooloo-page .koochooloo-hero__title {
    font-size: 1.6rem;
  }

  .koochooloo-page .koochooloo-grid {
    grid-template-columns: 1fr;
  }
}

/* خریدهای اخیر (فقط‌خواندنی) — اسکوپ‌شده زیر .koochooloo-page */
.koochooloo-page .koochooloo-orders {
  display: grid;
  gap: 10px;
}

.koochooloo-page .koochooloo-order-card {
  display: grid;
  grid-template-columns: 72px 1fr;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background: #FFFDF8;
  border: 1px solid rgba(70, 83, 56, .18);
  border-radius: var(--r-sm, 14px);
  box-shadow: 0 6px 24px rgba(70, 83, 56, .08);
}

.koochooloo-page .koochooloo-order-card__image {
  width: 72px;
  height: 72px;
  border-radius: 10px;
  overflow: hidden;
  display: block;
}

.koochooloo-page .koochooloo-order-card__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.koochooloo-page .koochooloo-order-card__body {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  min-width: 0;
}

.koochooloo-page .koochooloo-order-card__title {
  flex: 1 1 100%;
  margin: 0;
  font-size: .9rem;
  line-height: 1.4;
  color: #172033;
}

.koochooloo-page .koochooloo-order-card__title a {
  color: inherit;
  text-decoration: none;
}

.koochooloo-page .koochooloo-order-card__title a:hover {
  color: #465338;
}

.koochooloo-page .koochooloo-order-card__price {
  color: #465338;
  font-weight: 700;
  font-size: .82rem;
}

.koochooloo-page .koochooloo-order-card__body .koochooloo-btn {
  margin-inline-start: auto;
  padding: 5px 14px;
  font-size: .78rem;
}

/* پیشنهادها بر اساس نوع حیوان — اسکوپ‌شده زیر .koochooloo-page */
.koochooloo-page .koochooloo-suggest-block__title {
  margin: 16px 0 12px;
  font-size: 1.05rem;
  color: #172033;
}

.koochooloo-page .koochooloo-suggest-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin-bottom: 18px;
}

@media (max-width: 600px) {
  .koochooloo-page .koochooloo-suggest-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* یادآوری مراقبت — اسکوپ‌شده زیر .koochooloo-page */
.koochooloo-page .koochooloo-reminder-safety {
  margin: 0 0 16px;
  padding: 10px 14px;
  background: #F8F4EB;
  border-radius: var(--r-sm, 14px);
  color: #7A8492;
  font-size: .85rem;
  line-height: 1.8;
}

.koochooloo-page .koochooloo-reminder-notice {
  margin: 0 0 16px;
  padding: 10px 14px;
  border-radius: var(--r-sm, 14px);
  font-weight: 700;
  font-size: .9rem;
}

.koochooloo-page .koochooloo-reminder-notice--ok {
  background: #F8F4EB;
  color: #465338;
}

.koochooloo-page .koochooloo-reminder-notice--err {
  background: #fdecec;
  color: #b3261e;
}

/* حالت بارگذاری کوتاه هنگام AJAX (done/delete) — اسکوپ‌شده */
.koochooloo-page .koochooloo-reminder-card--busy {
  opacity: .55;
  pointer-events: none;
}

/* ظرف نوتیس AJAX وقتی خالی است فضایی اشغال نکند تا چیدمان تغییر نکند */
.koochooloo-page .koochooloo-reminder-ajax-notice:empty {
  display: none;
}

.koochooloo-page .koochooloo-reminder-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px 16px;
  align-items: end;
}

.koochooloo-page .koochooloo-reminder-field {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.koochooloo-page .koochooloo-reminder-field--full {
  grid-column: 1 / -1;
}

.koochooloo-page .koochooloo-reminder-field label {
  font-weight: 700;
  font-size: .85rem;
  color: #172033;
}

.koochooloo-page .koochooloo-reminder-field input,
.koochooloo-page .koochooloo-reminder-field select,
.koochooloo-page .koochooloo-reminder-field textarea {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid rgba(70, 83, 56, .18);
  border-radius: 10px;
  font-family: inherit;
  font-size: .9rem;
  background: #FFFDF8;
  box-sizing: border-box;
}

.koochooloo-page .koochooloo-reminder-field input:focus-visible,
.koochooloo-page .koochooloo-reminder-field select:focus-visible,
.koochooloo-page .koochooloo-reminder-field textarea:focus-visible {
  border-color: #657047;
  box-shadow: 0 0 0 3px rgba(101, 112, 71, .16);
  outline: none;
}

.koochooloo-page .koochooloo-reminder-form>.koochooloo-btn {
  grid-column: 1 / -1;
  justify-self: start;
}

.koochooloo-page .koochooloo-card:has(>.koochooloo-reminder-form) {
  margin-top: 24px;
}

.koochooloo-page .koochooloo-reminder-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.koochooloo-page .koochooloo-reminder-card {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px 18px;
  min-height: 76px;
  padding: 12px 16px;
  background: #FFFDF8;
  border: 1px solid rgba(70, 83, 56, .18);
  border-radius: 18px;
  box-shadow: 0 6px 24px rgba(70, 83, 56, .08);
}

.koochooloo-page .koochooloo-reminder-card--done {
  background: #F8F4EB;
}

.koochooloo-page .koochooloo-rem-identity {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 8px;
  min-width: 0;
}

.koochooloo-page .koochooloo-reminder-title {
  font-weight: 800;
  font-size: .95rem;
  color: #172033;
}

.koochooloo-page .koochooloo-reminder-type {
  font-weight: 800;
  font-size: .84rem;
  color: #465338;
}

.koochooloo-page .koochooloo-reminder-pet {
  font-size: .84rem;
  color: #7A8492;
}

.koochooloo-page .koochooloo-rem-identity__notes {
  flex-basis: 100%;
  margin-top: 2px;
  font-size: .82rem;
  line-height: 1.6;
  color: #7A8492;
  overflow-wrap: anywhere;
}

.koochooloo-page .koochooloo-rem-date {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 4px;
  min-width: 0;
  line-height: 1.7;
}

.koochooloo-page .koochooloo-rem-date__label {
  font-size: .85rem;
  color: #7A8492;
}

.koochooloo-page .koochooloo-rem-date__label::after {
  content: ':';
}

.koochooloo-page .koochooloo-rem-date__value {
  font-size: .85rem;
  color: #172033;
}

.koochooloo-page .koochooloo-reminder-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.koochooloo-page .koochooloo-reminder-actions form {
  margin: 0;
}

.koochooloo-page .koochooloo-reminder-actions .koochooloo-btn {
  padding: 7px 13px;
  font-size: .8rem;
}

.koochooloo-page .koochooloo-reminder-del {
  color: #b3261e;
  border-color: #e7b9b5;
}

@media (max-width: 760px) {
  .koochooloo-page .koochooloo-reminder-card {
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 10px 16px;
  }

  .koochooloo-page .koochooloo-rem-identity {
    grid-column: 1 / -1;
  }

  .koochooloo-page .koochooloo-reminder-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 600px) {
  .koochooloo-page .koochooloo-reminder-form {
    grid-template-columns: 1fr;
  }
}

/* بخش‌های جمع‌شونده یادآوری («یادآوری‌های فعال» و «سوابق انجام‌شده») — کلاس مشترک، با <details>/<summary> (اسکوپ‌شده) */
.koochooloo-page .koochooloo-reminder-toggle {
  margin: 22px 0 0;
}

.koochooloo-page .koochooloo-reminder-toggle__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
  list-style: none;
  margin: 0 0 12px;
  padding: 10px 14px;
  border: 1px solid rgba(70, 83, 56, .18);
  border-radius: var(--r-sm, 14px);
  background: #F8F4EB;
  color: #172033;
  font-weight: 700;
  font-size: 1.05rem;
  transition: background .2s;
}

.koochooloo-page .koochooloo-reminder-toggle__summary::-webkit-details-marker {
  display: none;
}

.koochooloo-page .koochooloo-reminder-toggle__summary::marker {
  content: "";
}

.koochooloo-page .koochooloo-reminder-toggle__summary:hover {
  background: #F0EAD9;
}

.koochooloo-page .koochooloo-reminder-toggle__hint {
  font-size: .8rem;
  font-weight: 600;
  color: #465338;
  white-space: nowrap;
}

/* پولیش موبایل خیلی کوچک — فقط اسکوپ‌شده زیر .koochooloo-page */
@media (max-width: 400px) {
  .koochooloo-page .koochooloo-suggest-grid {
    grid-template-columns: 1fr;
  }

  .koochooloo-page .koochooloo-reminder-card {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   هدر شفاف — فقط صفحه اصلی (آخر فایل برای اولویت)
   ========================================================================== */
body.home .site-header,
body.home .site-header.scrolled {
  background: #7f8358;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
  border-bottom: none;
}

body.home .site-header.scrolled {
  background: #7f8358;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: none;
}

/* ==========================================================================
   صفحه معرفی برندها — .brands-hub-page
   ========================================================================== */

.brands-hub-page {
  padding-top: 24px;
  padding-bottom: 64px;
  background:
    radial-gradient(circle at 12% 18%, rgba(226, 229, 215, .42), transparent 36%),
    radial-gradient(circle at 88% 78%, rgba(226, 229, 215, .24), transparent 44%),
    #fffdf8;
}

/* ── هیرو ── */

.brands-hub-page__hero {
  text-align: center;
  padding: 48px 16px 32px;
}

.brands-hub-page__title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 12px;
}

.brands-hub-page__intro {
  max-width: 680px;
  margin: 0 auto;
  color: var(--ink-soft);
  font-size: 1rem;
  line-height: 1.8;
}

/* ── حالت خالی ── */

.brands-hub-page__empty {
  text-align: center;
  padding: 48px 16px;
  color: var(--muted);
  font-size: .95rem;
}

/* ── کارت‌ها ── */

.brands-hub-page__cards .wrap {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.brands-hub-page__card {
  display: grid;
  grid-template-columns: 380px 1fr;
  min-height: 390px;
  background: #f9f0e2;
  border-radius: 18px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: var(--sh-1, 0 1px 3px rgba(0, 0, 0, .08));
  transition: box-shadow .25s ease, transform .25s ease;
}

.brands-hub-page__card:hover {
  box-shadow: 0 6px 24px rgba(0, 0, 0, .10);
  transform: translateY(-3px);
}

.brands-hub-page__card-img {
  overflow: hidden;
  border-radius: 14px;
  margin: 8px;
}

.brands-hub-page__card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.brands-hub-page__card-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 32px 36px;
  gap: 10px;
}

.brands-hub-page__card-name {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0;
}

.brands-hub-page__card-desc {
  color: var(--ink-soft);
  font-size: .82rem;
  line-height: 1.7;
  margin: 0;
}

.brands-hub-page__card-btn {
  display: inline-block;
  margin-top: 6px;
  padding: 7px 20px;
  background: #294023;
  color: #fff;
  border-radius: 8px;
  font-size: .8rem;
  font-weight: 600;
  transition: background .2s ease;
  align-self: flex-start;
}

.brands-hub-page__card:hover .brands-hub-page__card-btn {
  background: #1e3118;
}

/* ── تبلت ── */

@media (max-width: 1024px) {
  .brands-hub-page__card {
    grid-template-columns: 300px 1fr;
    min-height: 340px;
  }

  .brands-hub-page__card-body {
    padding: 24px 28px;
  }
}

/* ── موبایل ── */

@media (max-width: 600px) {
  .brands-hub-page__hero {
    padding: 32px 16px 20px;
  }

  .brands-hub-page__title {
    font-size: 1.5rem;
  }

  .brands-hub-page__card {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .brands-hub-page__card-img {
    margin: 8px 8px 0;
  }

  .brands-hub-page__card-img img {
    height: auto;
  }

  .brands-hub-page__card-body {
    padding: 20px 20px 24px;
  }

  .brands-hub-page__card-name {
    font-size: 1.15rem;
  }

  .brands-hub-page__card-btn {
    align-self: stretch;
    text-align: center;
  }
}

/* ==========================================================================
   معرفی فروشگاه — .shop-page-intro
   ========================================================================== */

.shop-page-intro {
  padding: 78px 16px 32px;
  text-align: center;
}

.shop-page-intro__inner {
  max-width: 720px;
  margin: 0 auto;
}

.shop-page-intro__inner h1,
.shop-page-intro__inner h2,
.shop-page-intro__inner h3 {
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 10px;
}

.shop-page-intro__inner p {
  color: var(--ink-soft);
  font-size: .95rem;
  line-height: 1.8;
  margin: 0 0 8px;
}

@media (max-width: 1024px) {
  .shop-page-intro {
    padding: 56px 16px 48px;
  }
}

@media (max-width: 600px) {
  .shop-page-intro {
    padding: 40px 16px 36px;
  }

  .shop-page-intro__inner h1,
  .shop-page-intro__inner h2,
  .shop-page-intro__inner h3 {
    font-size: 1.2rem;
  }
}

/* ================================================================
   پیشنهادات ویژه — Home page sale-products carousel
   Scoped to #home-special-offers / .home-offers-section only
   ================================================================ */

.home-offers-section {
  position: relative;
  direction: rtl;
  background: #FFFDF8;
}

.home-offers-section .home-offers-viewport {
  overflow: hidden;
  outline: none;
  border-radius: 8px;
}

.home-offers-section .home-offers-viewport:focus-visible {
  box-shadow: 0 0 0 3px rgba(98, 201, 154, .35);
}

.home-offers-section .home-offers-track {
  display: flex;
  flex-wrap: nowrap;
  gap: 24px;
  transition: transform .45s cubic-bezier(.22, .8, .26, 1);
  will-change: transform;
  direction: rtl;
}

.home-offers-section .home-offers-slide {
  flex: 0 0 calc((100% - 24px * 3) / 4);
  min-width: 0;
  display: flex;
}

.home-offers-section .home-offers-slide>.shop-product-card {
  width: 100%;
  height: 100%;
}

.home-offers-section .shop-product-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.home-offers-section .shop-product-desc {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Nav is hidden by default; JS adds .is-ready and .has-overflow when the
   current viewport actually has more slides than it can show. */
.home-offers-section .home-offers-nav {
  display: none;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
}

.home-offers-section.is-ready.has-overflow .home-offers-nav {
  display: flex;
}

.home-offers-section .home-offers-arrow {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  border: 1.5px solid rgba(70, 83, 56, .18);
  color: #465338;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: background .22s, border-color .22s, color .22s, transform .2s, box-shadow .22s;
}

.home-offers-section .home-offers-arrow:hover:not([disabled]),
.home-offers-section .home-offers-arrow:focus-visible:not([disabled]) {
  background: #fafff7;
  border-color: rgba(98, 201, 154, .65);
  color: #303923;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px -6px rgba(70, 83, 56, .35);
  outline: none;
}

.home-offers-section .home-offers-arrow[disabled] {
  opacity: .35;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.home-offers-section .home-offers-arrow svg {
  width: 18px;
  height: 18px;
}

/* Tablet: 2 cards per view (matches Shop grid at ≤960). */
@media (max-width: 960px) {
  .home-offers-section .home-offers-slide {
    flex-basis: calc((100% - 24px) / 2);
  }
}

/* Mobile: still 2 cards per view, with the Shop grid's smaller gap (matches ≤480 shop rule). */
@media (max-width: 480px) {
  .home-offers-section .home-offers-track {
    gap: 14px;
  }

  .home-offers-section .home-offers-slide {
    flex-basis: calc((100% - 14px) / 2);
  }

  .home-offers-section .home-offers-arrow {
    width: 40px;
    height: 40px;
  }
}

/* Reduced motion: disable transform animation. */
@media (prefers-reduced-motion: reduce) {
  .home-offers-section .home-offers-track {
    transition: none;
  }
}

.shop-page .shop-section {
  background: #FFFDF8;
  padding-block-start: 12px;
}

/* ==========================================================================
   مجله پت — .blog-page
   Scoped entirely under .blog-page; zero bleed to other pages.
   ========================================================================== */

/* ── Hero ─────────────────────────────────────────────────────────────────── */
.blog-page {
  background: #FFFDF8;
  min-height: 60vh;
}

.blog-page__hero {
  padding: 72px 0 48px;
  background: #FFFDF8;
  border-bottom: 1.5px solid #E8EBE0;
}

.blog-page__hero-inner {
  text-align: center;
}

.blog-page__title {
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 900;
  color: #2C3320;
  margin-bottom: 14px;
}

.blog-page__lead {
  font-size: clamp(.95rem, 1.3vw, 1.1rem);
  color: #5A6348;
  max-width: 58ch;
  margin: 0 auto 32px;
  line-height: 1.9;
}

/* ── Category nav ──────────────────────────────────────────────────────────── */
.blog-page__cats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.blog-page__cat-link {
  display: inline-flex;
  align-items: center;
  padding: 7px 18px;
  border-radius: 999px;
  background: #fff;
  border: 1.5px solid #D8DCCC;
  color: #3D4B2A;
  font-size: .875rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s, border-color .2s, color .2s;
  white-space: nowrap;
}

.blog-page__cat-link:hover,
.blog-page__cat-link:focus-visible {
  background: #EDF2E2;
  border-color: #9BAD75;
  color: #2C3320;
  outline: none;
}

/* ── Active category filter chips ─────────────────────────────────────────── */
/* همه مطالب — warm gold (default active) */
.blog-page__cat-link.is-active {
  background: #E8D49C;
  border-color: #B8924E;
  color: #2C3320;
}

/* مقالات سگ — muted olive */
.blog-page__cat-link.is-active[href*="blog_category=dog-articles"] {
  background: #C8D89A;
  border-color: #789845;
  color: #2C3320;
}

/* مقالات گربه — muted gold */
.blog-page__cat-link.is-active[href*="blog_category=cat-articles"] {
  background: #EDDC9C;
  border-color: #C09E40;
  color: #2C3320;
}

/* تغذیه — soft sage green */
.blog-page__cat-link.is-active[href*="blog_category=blog-nutrition"] {
  background: #C2D8B0;
  border-color: #68984C;
  color: #1E3018;
}

/* مراقبت و بهداشت — soft dusty blue */
.blog-page__cat-link.is-active[href*="blog_category=blog-care"] {
  background: #B8CCDA;
  border-color: #588898;
  color: #1A2E38;
}

/* راهنمای خرید — warm sand */
.blog-page__cat-link.is-active[href*="blog_category=buying-guide"] {
  background: #E8D2B4;
  border-color: #B08C5C;
  color: #382810;
}

/* آموزش و نگهداری — muted lavender-grey */
.blog-page__cat-link.is-active[href*="blog_category=pet-training"] {
  background: #CCCAD8;
  border-color: #8880A0;
  color: #241E38;
}

/* ── Posts grid ────────────────────────────────────────────────────────────── */
.blog-page__posts {
  padding: 56px 0 80px;
}

.blog-page__grid {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

/* ── Article card ──────────────────────────────────────────────────────────── */
.blog-card {
  display: block;
  position: relative;
  height: 360px;
  background: #1a1e14;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--sh-1);
  transition: box-shadow .25s, transform .25s;
}

.blog-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 24px rgba(0, 0, 0, .10);
}

/* gradient overlay — dark left, transparent right */
.blog-card::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to right,
      rgba(10, 15, 5, .90) 0%,
      rgba(10, 15, 5, .78) 40%,
      rgba(10, 15, 5, .42) 62%,
      rgba(10, 15, 5, .08) 80%,
      transparent 100%);
}

/* image area — fills full card */
.blog-card__img-wrap {
  display: block;
  position: absolute;
  inset: 0;
  margin: 0;
  border-radius: 0;
  overflow: hidden;
}

.blog-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
  display: block;
}

.blog-card__img-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #EDF2E2 0%, #D8DCCC 100%);
}

/* body — left text column */
.blog-card__body {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 58%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 32px 36px;
  gap: 10px;
}

/* category chips */
.blog-card__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.blog-card__cat {
  display: inline-block;
  padding: 3px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .18);
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s, color .2s;
}

.blog-card__cat:hover {
  background: rgba(255, 255, 255, .32);
  color: #fff;
}

/* title */
.blog-card__title {
  font-size: 1.05rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.45;
  margin: 0;
}

.blog-card__title a {
  color: inherit;
  text-decoration: none;
}

.blog-card__title a:hover {
  color: rgba(255, 255, 255, .75);
}

/* excerpt — 3 lines max */
.blog-card__excerpt {
  font-size: .9rem;
  color: rgba(255, 255, 255, .80);
  line-height: 1.75;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
}

/* read-more button */
.blog-card__btn {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  padding: 7px 20px;
  border-radius: 8px;
  background: #C4A46B;
  color: #2C3320;
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s;
}

.blog-card__btn:hover,
.blog-card__btn:focus-visible {
  background: #C4A46B;
  outline: none;
}

/* ── Pagination ─────────────────────────────────────────────────────────────── */
.blog-page__pagination {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 52px;
  direction: rtl;
}

.blog-page__pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1.5px solid #D8DCCC;
  background: #fff;
  color: #3D4B2A;
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s, border-color .2s, color .2s;
}

.blog-page__pagination .page-numbers:hover:not(.current),
.blog-page__pagination .page-numbers:focus-visible:not(.current) {
  background: #EDF2E2;
  border-color: #9BAD75;
  outline: none;
}

.blog-page__pagination .page-numbers.current {
  background: #5A7A30;
  border-color: #5A7A30;
  color: #fff;
  cursor: default;
}

.blog-page__pagination .page-numbers.dots {
  border-color: transparent;
  background: transparent;
  cursor: default;
}

/* ── Empty state ────────────────────────────────────────────────────────────── */
.blog-page__empty {
  text-align: center;
  padding: 80px 20px;
  color: #5A6348;
  font-size: 1rem;
}

/* ── Responsive — tablet ────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .blog-page__hero {
    padding: 56px 0 40px;
  }

  .blog-card__body {
    width: 62%;
    padding: 24px 28px;
  }
}

/* ── Responsive — mobile: 1 column ────────────────────────────────────────── */
@media (max-width: 600px) {
  .blog-page__hero {
    padding: 44px 0 32px;
  }

  .blog-page__lead {
    font-size: .92rem;
  }

  .blog-page__cats {
    gap: 8px;
  }

  .blog-page__grid {
    gap: 18px;
  }

  .blog-card {
    height: 400px;
  }

  .blog-card::before {
    background: linear-gradient(to top,
        rgba(10, 15, 5, .92) 0%,
        rgba(10, 15, 5, .65) 52%,
        rgba(10, 15, 5, .12) 78%,
        transparent 100%);
  }

  .blog-card__body {
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    padding: 20px 20px 24px;
    justify-content: flex-end;
  }

  .blog-page__posts {
    padding: 40px 0 60px;
  }
}

/* ==========================================================================
   مقاله وبلاگ — .blog-article
   Scoped entirely under .blog-article; zero bleed to other templates.
   ========================================================================== */

.blog-article {
  background: #FFFDF8;
  padding-block: clamp(48px, 7vw, 88px);
}

.blog-article .wrap {
  max-width: 860px;
  padding-inline: clamp(20px, 5vw, 40px);
}

/* ── Header ─────────────────────────────────────────────────────────────── */
.blog-article__header {
  margin-bottom: 32px;
  text-align: center;
}

/* ── Breadcrumb ─────────────────────────────────────────────────────────── */
.blog-article__breadcrumb {
  margin-bottom: 18px;
}

.blog-article__breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0 4px;
  font-size: .75rem;
  color: #8A9474;
  direction: rtl;
}

.blog-article__breadcrumb-list a {
  color: #7A9A50;
  text-decoration: none;
}

.blog-article__breadcrumb-list a:hover {
  color: #5A7A30;
  text-decoration: underline;
}

.blog-article__breadcrumb-list [aria-current="page"] {
  color: #2C3320;
  font-weight: 600;
}

.blog-article__title {
  font-size: clamp(1.65rem, 4vw, 2.6rem);
  font-weight: 900;
  color: #2C3320;
  line-height: 1.4;
  margin: 0;
}

/* ── Article meta ────────────────────────────────────────────────────────── */
.blog-article__meta {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin-top: 14px;
  font-size: .82rem;
  color: #7A8A60;
}

.blog-article__cats a {
  color: #5A7A30;
  font-weight: 600;
  text-decoration: none;
}

.blog-article__cats a:hover {
  color: #2C3320;
}

.blog-article__meta-sep {
  color: #B5C49A;
  user-select: none;
}

.blog-article__date {
  color: #8A9474;
}

/* ── Featured image ─────────────────────────────────────────────────────── */
.blog-article__thumb {
  margin-bottom: 40px;
  border-radius: 16px;
  overflow: hidden;
}

.blog-article__thumb-img {
  width: 100%;
  height: auto;
  display: block;
}

/* ── Article body typography ────────────────────────────────────────────── */
.blog-article__content {
  font-size: clamp(.95rem, 1.2vw, 1.05rem);
  line-height: 2;
  color: #38332B;
  max-width: 720px;
  margin-inline: auto;
  min-width: 0;
  overflow-wrap: anywhere;
}

.blog-article__content p {
  margin: 0 0 1.4em;
}

.blog-article__content h2,
.blog-article__content h3,
.blog-article__content h4 {
  font-weight: 800;
  color: #2C3320;
  line-height: 1.45;
  margin: 1.8em 0 .6em;
}

.blog-article__content h2 {
  font-size: 1.35rem;
  margin-top: 2.2em;
  margin-bottom: .8em;
  padding-bottom: .4em;
  border-bottom: 2px solid rgba(120, 104, 72, .18);
}

.blog-article__content h3 {
  font-size: 1.15rem;
}

.blog-article__content h4 {
  font-size: 1rem;
}

.blog-article__content ul,
.blog-article__content ol {
  padding-inline-start: 1.6em;
  margin: 0 0 1.4em;
}

.blog-article__content li {
  margin-bottom: .5em;
}

.blog-article__content a {
  color: #5A7A30;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.blog-article__content a:hover {
  color: #2C3320;
}

.blog-article__content img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  display: block;
  margin: 1.6em auto;
}

/* ── Byline / editorial notice ──────────────────────────────────────────── */
.blog-article__byline {
  max-width: 720px;
  margin-inline: auto;
  margin-top: 36px;
  padding: 16px 20px 14px;
  background: #F5F1E8;
  border: 1px solid rgba(120, 104, 72, .20);
  border-right: 3px solid #C4A46B;
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  direction: rtl;
}

.blog-article__byline-author {
  font-size: .80rem;
  font-weight: 700;
  color: #5A7A30;
}

.blog-article__byline-sep {
  font-size: .75rem;
  color: #B5C49A;
  user-select: none;
}

.blog-article__byline-label {
  font-size: .78rem;
  color: #8A9474;
}

.blog-article__byline-date {
  font-size: .78rem;
  color: #8A9474;
}

.blog-article__byline-notice {
  width: 100%;
  margin: 8px 0 0;
  font-size: .78rem;
  color: #6B6255;
  line-height: 1.7;
}

/* ── Share row ───────────────────────────────────────────────────────────── */
.blog-article__share {
  max-width: 720px;
  margin-inline: auto;
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.blog-article__share-btn {
  display: inline-flex;
  align-items: center;
  padding: 8px 22px;
  border-radius: 8px;
  font-size: .82rem;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
  background: #F5F1E8;
  border: 1px solid rgba(120, 104, 72, .25);
  color: #3D3828;
  transition: background .2s, border-color .2s;
}

.blog-article__share-btn:hover,
.blog-article__share-btn:focus-visible {
  background: #EDE5D0;
  border-color: #C4A46B;
  outline: none;
}

.blog-article__share-btn--copy.is-copied {
  background: #EBF2E0;
  border-color: #7A9A50;
  color: #3A5A20;
}

/* ── CTA ─────────────────────────────────────────────────────────────────── */
.blog-article__cta {
  margin-top: 56px;
  text-align: center;
}

.blog-article__cta-btn {
  display: inline-flex;
  align-items: center;
  padding: 12px 32px;
  border-radius: 8px;
  background: #294023;
  color: #fff;
  font-size: .95rem;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s;
}

.blog-article__cta-btn:hover,
.blog-article__cta-btn:focus-visible {
  background: #1e3118;
  outline: none;
}

/* ── Related articles ───────────────────────────────────────────────────── */
.blog-article__related {
  max-width: 720px;
  margin-inline: auto;
  margin-top: 52px;
  padding-top: 40px;
  border-top: 1.5px solid #E8EBE0;
}

.blog-article__related-heading {
  font-size: 1.05rem;
  font-weight: 800;
  color: #2C3320;
  margin: 0 0 20px;
}

.blog-article__related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.blog-article__related-card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(70, 83, 56, .12);
  box-shadow: 0 4px 20px rgba(70, 83, 56, .08);
  display: flex;
  flex-direction: column;
  min-height: 425px;
  transition: box-shadow .35s cubic-bezier(.18, .9, .3, 1.1), transform .35s;
}

.blog-article__related-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(70, 83, 56, .13);
}

.blog-article__related-img-wrap {
  display: block;
  aspect-ratio: 7 / 6;
  overflow: hidden;
  flex-shrink: 0;
}

.blog-article__related-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.blog-article__related-img-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #EDF2E2 0%, #D8DCCC 100%);
}

.blog-article__related-body {
  padding: 20px 16px 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 5px;
}

.blog-article__related-cat {
  font-size: .72rem;
  font-weight: 700;
  color: #5A7A30;
}

.blog-article__related-title {
  font-size: .88rem;
  font-weight: 800;
  color: #2C3320;
  line-height: 1.55;
  margin: 0;
}

.blog-article__related-title a {
  color: inherit;
  text-decoration: none;
}

.blog-article__related-title a:hover {
  color: #5A7A30;
}

.blog-article__related-link {
  display: inline-block;
  margin-top: auto;
  font-size: .78rem;
  font-weight: 600;
  color: #5A7A30;
  text-decoration: none;
}

.blog-article__related-link:hover {
  color: #2C3320;
}

@media (max-width: 700px) {
  .blog-article__related-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}

@media (max-width: 480px) {
  .blog-article__related-grid {
    grid-template-columns: 1fr;
  }

  .blog-article__related {
    margin-top: 36px;
    padding-top: 28px;
  }
}

/* ── Responsive — mobile ────────────────────────────────────────────────── */
@media (max-width: 600px) {
  .blog-article {
    padding-block: 36px 56px;
  }

  .blog-article__title {
    font-size: 1.45rem;
  }

  .blog-article__thumb {
    border-radius: 10px;
    margin-bottom: 28px;
  }

  .blog-article__byline {
    margin-top: 28px;
    padding: 14px 16px 12px;
    gap: 3px 8px;
  }

  .blog-article__share {
    margin-top: 28px;
    gap: 8px;
  }

  .blog-article__share-btn {
    padding: 9px 16px;
    font-size: .80rem;
  }

  .blog-article__cta {
    margin-top: 40px;
  }

  .blog-article__cta-btn {
    display: flex;
    justify-content: center;
    width: 100%;
  }
}

/* ── Blog article comments ──────────────────────────────────────────────── */

.blog-article__comments {
  background: transparent;
  border-top: 1px solid var(--line);
  padding: 20px 0 0;
  margin-top: 36px;
  width: min(960px, calc(100% - 32px));
  margin-inline: auto;
  direction: rtl;
}

.blog-article__comments-inner {
  max-width: 760px;
  margin-inline: auto;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  box-sizing: border-box;
}

.blog-article__comments #article-comments-title {
  font-size: clamp(1.25rem, 1.6vw, 1.65rem);
  font-weight: 900;
  color: var(--navy);
  margin: 0 0 10px;
  text-align: center;
}

/* Comment list */

.blog-article__comments .commentlist {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.blog-article__comments .commentlist .comment {
  background: #fafcfb;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 18px 20px;
}

.blog-article__comments .commentlist .children {
  list-style: none;
  margin: 14px 0 0 0;
  padding-inline-start: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Avatar */

.blog-article__comments .comment-author .avatar {
  display: none;
}

/* Author and date */

.blog-article__comments .comment-author b {
  font-size: .9rem;
  font-weight: 700;
  color: var(--navy);
}

.blog-article__comments .comment-author a {
  color: var(--navy);
  text-decoration: none;
}

.blog-article__comments .comment-author a:hover {
  text-decoration: underline;
}

.blog-article__comments .comment-metadata {
  font-size: .8rem;
  color: var(--ink-soft);
  margin-top: 2px;
}

.blog-article__comments .comment-metadata a {
  color: var(--ink-soft);
  text-decoration: none;
}

.blog-article__comments .comment-metadata a:hover {
  color: var(--navy);
}

/* Comment body */

.blog-article__comments .comment-content {
  margin-top: 12px;
  font-size: .95rem;
  line-height: 1.8;
  color: var(--ink);
  clear: both;
}

.blog-article__comments .comment-content p {
  margin: 0 0 .6em;
}

.blog-article__comments .comment-content p:last-child {
  margin-bottom: 0;
}

.blog-article__comments .comment-awaiting-moderation {
  display: block;
  font-size: .82rem;
  color: var(--ink-soft);
  font-style: italic;
  margin-top: 8px;
}

/* Reply link */

.blog-article__comments .reply {
  margin-top: 10px;
}

.blog-article__comments .reply a {
  font-size: .82rem;
  font-weight: 600;
  color: var(--navy);
  text-decoration: none;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 4px 12px;
  display: inline-block;
  transition: background .2s, border-color .2s;
}

.blog-article__comments .reply a:hover {
  background: #fafcfb;
  border-color: var(--navy);
  color: var(--navy-deep);
}

/* Comments navigation */

.blog-article__comments .comments-navigation {
  display: flex;
  justify-content: space-between;
  font-size: .85rem;
  margin-bottom: 24px;
  color: var(--ink-soft);
}

.blog-article__comments .comments-navigation a {
  color: var(--navy);
  text-decoration: none;
  font-weight: 600;
}

.blog-article__comments .comments-navigation a:hover {
  text-decoration: underline;
}

/* Closed notice */

.blog-article__comments .no-comments {
  font-size: .9rem;
  color: var(--ink-soft);
  text-align: center;
  padding: 8px 0 20px;
}

/* Comment form */

.blog-article__comments #respond {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.blog-article__comments #respond h3 {
  font-size: clamp(1.25rem, 1.6vw, 1.65rem);
  font-weight: 900;
  color: var(--navy);
  margin: 0 0 10px;
  text-align: center;
}

.blog-article__comments #respond .logged-in-as {
  font-size: .85rem;
  color: var(--ink-soft);
  margin-bottom: 14px;
  text-align: center;
}

.blog-article__comments #respond .logged-in-as a {
  color: var(--navy);
}

.blog-article__comments #respond label {
  display: block;
  font-size: .9rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 5px;
}

.blog-article__comments #respond p {
  margin: 0;
}

.blog-article__comments .comment-form {
  display: grid;
  gap: 10px;
}

.blog-article__comments #author,
.blog-article__comments #email,
.blog-article__comments #url {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  font-size: .9rem;
  font-family: inherit;
  box-sizing: border-box;
  transition: border-color .2s;
  direction: rtl;
}

.blog-article__comments #author:focus,
.blog-article__comments #email:focus,
.blog-article__comments #url:focus {
  outline: none;
  border-color: var(--navy);
}

.blog-article__comments #comment {
  width: 100%;
  min-height: 105px;
  height: 105px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  color: var(--ink);
  font-size: .95rem;
  font-family: inherit;
  line-height: 1.8;
  resize: vertical;
  box-sizing: border-box;
  transition: border-color .2s, box-shadow .2s;
  direction: rtl;
}

.blog-article__comments #comment:focus {
  outline: none;
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(76, 175, 140, .14);
}

.blog-article__comments #respond .form-submit {
  display: flex;
  justify-content: center;
  margin-top: 4px;
}

.blog-article__comments #respond .form-submit input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 22px;
  background: var(--navy);
  color: #fff;
  border: none;
  border-radius: 999px;
  font-size: .9rem;
  font-weight: 800;
  font-family: inherit;
  cursor: pointer;
  transition: background .2s, transform .15s;
  box-shadow: 0 4px 14px -4px rgba(38, 59, 94, .35);
}

.blog-article__comments #respond .form-submit input[type="submit"]:hover {
  background: var(--navy-deep);
  transform: translateY(-1px);
}

.blog-article__comments #respond .form-submit input[type="submit"]:focus-visible {
  outline: 3px solid var(--green);
  outline-offset: 2px;
}

/* Responsive mobile */

@media (max-width: 640px) {
  .blog-article__comments {
    width: 100%;
    margin-top: 36px;
  }

  .blog-article__comments .commentlist .comment {
    padding: 14px;
  }

  .blog-article__comments .commentlist .children {
    padding-inline-start: 14px;
  }

  .blog-article__comments #respond {
    margin-top: 14px;
    padding-top: 14px;
  }
}

/* ==========================================================================
   عنوان آرشیو فروشگاه — .shop-archive-title
   ========================================================================== */

.shop-archive-title {
  margin-bottom: 18px;
}

/* ==========================================================================
   صفحه نتایج جستجو — .search-results-page
   ========================================================================== */

.search-results-page {
  padding-block: clamp(32px, 5vw, 60px);
}

.search-results-page .wrap {
  max-width: 860px;
  margin-inline: auto;
  padding-inline: clamp(16px, 2vw, 24px);
}

.search-results-title {
  font-size: clamp(1.3rem, 2.8vw, 1.8rem);
  font-weight: 800;
  text-align: center;
  margin-bottom: 40px;
  color: var(--ink);
}

.search-results-page article {
  padding-block: 24px;
  border-bottom: 1px solid var(--border, #e5e5e5);
}

.search-results-page article:last-of-type {
  border-bottom: none;
}

.search-results-page .entry-title {
  font-size: clamp(1rem, 2vw, 1.25rem);
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 8px;
}

.search-results-page .entry-title a {
  color: var(--ink);
  text-decoration: none;
}

.search-results-page .entry-title a:hover {
  color: var(--accent, #f06c00);
}

.search-results-page .entry-summary {
  color: var(--ink-soft, #555);
  font-size: 0.92rem;
  line-height: 1.8;
}

.search-no-results {
  text-align: center;
  padding: 60px 0;
  color: var(--muted, #999);
}