/**
 * Favania Theme - Page Spacing for Fixed Header
 * حل مشکل محتوای زیر navigation در صفحات بدون hero
 */

/* =====================================
   Fixed Header Height
   ===================================== */

:root {
  --header-height: 80px; /* ارتفاع header */
  --header-height-mobile: 70px; /* ارتفاع header در موبایل */
}

/* =====================================
   Default Page Spacing
   صفحات بدون hero نیاز به padding دارن
   ===================================== */

/* همه صفحات به صورت پیش‌فرض padding دارن */
body {
  padding-top: var(--header-height);
}

/* موبایل */
@media (max-width: 768px) {
  body {
    padding-top: var(--header-height-mobile);
  }
}

/* =====================================
   Pages WITH Hero - Remove Padding
   صفحاتی که hero دارن padding نمیخوان
   ===================================== */

/* صفحه اصلی (home) */
body.home,
/* صفحات با hero block */
body.has-hero-header,
/* صفحات فروشگاه */
body.woocommerce-shop,
/* صفحات آرشیو */
body.post-type-archive,
body.tax-product_cat,
body.tax-product_tag {
  padding-top: 0 !important;
}

/* =====================================
   Single Product Pages - Need Padding
   صفحات تک محصول نیاز به padding دارن
   ===================================== */

body.single-product {
  padding-top: var(--header-height);
}

@media (max-width: 768px) {
  body.single-product {
    padding-top: var(--header-height-mobile);
  }
}

/* =====================================
   Single Post Pages - Need Padding
   صفحات تک مقاله نیاز به padding دارن
   ===================================== */

body.single-post {
  padding-top: var(--header-height);
}

@media (max-width: 768px) {
  body.single-post {
    padding-top: var(--header-height-mobile);
  }
}

/* =====================================
   Page Template Specific
   ===================================== */

/* صفحات با Custom Blocks که hero دارن */
body.page.has-hero-block,
/* صفحه درباره ما */
body.page-template-about,
/* صفحه تماس */
body.page-template-contact {
  padding-top: 0 !important;
}

/* =====================================
   Cart & Checkout - Need Padding
   ===================================== */

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account {
  padding-top: var(--header-height);
}

@media (max-width: 768px) {
  body.woocommerce-cart,
  body.woocommerce-checkout,
  body.woocommerce-account {
    padding-top: var(--header-height-mobile);
  }
}

/* =====================================
   Custom Blocks با Hero
   ===================================== */

/* اگر صفحه این block ها رو داره، hero دارن پس padding نمیخوان */
body:has(.home-hero),
body:has(.shop-hero),
body:has(.branches-hero),
body:has(.agency-hero),
body:has(.company-profile-hero),
body:has(.about-hero),
body:has(.contact-hero) {
  padding-top: 0 !important;
}

/* =====================================
   WooCommerce Specific Pages
   ===================================== */

/* صفحات WooCommerce که hero ندارن */
body.woocommerce-page:not(.woocommerce-shop),
body.tax-product_brand,
body.search-results {
  padding-top: var(--header-height);
}

@media (max-width: 768px) {
  body.woocommerce-page:not(.woocommerce-shop),
  body.tax-product_brand,
  body.search-results {
    padding-top: var(--header-height-mobile);
  }
}

/* =====================================
   Admin Bar Adjustment
   اگر کاربر لاگین کرده و admin bar نمایش داده میشه
   ===================================== */

body.admin-bar {
  padding-top: calc(var(--header-height) + 32px);
}

body.admin-bar.home,
body.admin-bar.has-hero-header,
body.admin-bar:has(.home-hero),
body.admin-bar:has(.shop-hero),
body.admin-bar:has(.branches-hero),
body.admin-bar:has(.agency-hero),
body.admin-bar:has(.company-profile-hero) {
  padding-top: 0 !important;
}

@media (max-width: 782px) {
  body.admin-bar {
    padding-top: calc(var(--header-height-mobile) + 46px);
  }
}

/* =====================================
   Fallback for Edge Cases
   ===================================== */

/* اگر هیچ کدام از شرایط بالا صدق نکرد */
.site-main,
main {
  min-height: calc(100vh - var(--header-height));
}

/* =====================================
   Fix for Gutenberg Editor
   در ویرایشگر Gutenberg padding نمیخواهیم
   ===================================== */

.block-editor-writing-flow,
.edit-post-visual-editor,
.editor-styles-wrapper {
  padding-top: 0 !important;
}

/* =====================================
   Responsive Fine-tuning
   ===================================== */

/* تبلت */
@media (max-width: 1024px) and (min-width: 769px) {
  :root {
    --header-height: 75px;
  }
}

/* موبایل کوچک */
@media (max-width: 480px) {
  :root {
    --header-height-mobile: 65px;
  }
}

/* =====================================
   Smooth Transition
   انیمیشن نرم هنگام تغییر padding
   ===================================== */

body {
  transition: padding-top 0.3s ease;
}

/* =====================================
   Debug Helper (فقط برای توسعه)
   برای دیدن اینکه کدوم class اعمال شده
   ===================================== */

/*
body::before {
  content: 'Body Classes: ' attr(class);
  position: fixed;
  bottom: 10px;
  left: 10px;
  background: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 10px;
  font-size: 12px;
  z-index: 99999;
  max-width: 300px;
  word-wrap: break-word;
}
*/
