/* Base & Reset */
@font-face {
  font-family: 'Vazirmatn';
  src: url('/assets/fonts/Vazirmatn-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  background-color: #F8F6F3;
  font-family: 'Vazirmatn', sans-serif;
}
main {
  flex: 1;
  background-color: #F8F6F3;
}
::-webkit-scrollbar {
  display: none;
}

#scroll-space {
  height: 5vh;
}
body.products-page #scroll-space {
  height: 15vh;
}

@media (max-width: 767px) {
  #scroll-space {
    height: 10vh;
  }
  body.product-page #scroll-space {
    height: 5vh;
  }
}

/* Load Screen */
#intro-loader {
  position: fixed;
  inset: 0;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transition: opacity 0.6s ease;
}
#intro-logo {
  width: 80px;
  animation: spinSequence 3s infinite ease-in-out;
}
@keyframes spinSequence {
  0%   { transform: rotate(0deg); }
  40%  { transform: rotate(360deg); }
  55%  { transform: rotate(360deg); }
  100% { transform: rotate(720deg); }
}
#intro-loader.hidden {
  opacity: 0;
  pointer-events: none;
}

/* Fake scrollbar */
.fake-scrollbar {
  position: fixed;
  top: 10vh;
  right: calc(1rem - 2.5px);
  width: 5px;
  height: 80vh;
  pointer-events: none;
  z-index: 9999;
}
.fake-scrollbar-thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 55px;
  background-color: rgba(110, 110, 110, 0.4);
  border-radius: 3px;
  transition: background-color 0.3s ease;
  pointer-events: auto;
  transition: 
    background-color 0.3s ease,
    transform 0.2s ease,
    box-shadow 0.3s ease;  
}
.fake-scrollbar-thumb:hover {
  background-color: #D4AF37AA;
  transform: scaleX(1.5);
}
.fake-scrollbar-thumb:active {
  transform: scaleX(1.5);
  background-color: #D4AF37AA;
}
@media (max-width: 767px) {
  .fake-scrollbar {
    display: none;
  }
}
.chat-wrapper, .faq-wrapper, .tip-wrapper{
  position: relative;
}
.chat-scrollbar, .faq-scrollbar, .tip-scrollbar{
  position: absolute;
  top: 0;
  right: -2px;
  width: 4px;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s ease;
}
.chat-scrollbar-thumb, .faq-scrollbar-thumb, .tip-scrollbar-thumb{
  position: absolute;
  top: 0;
  width: 100%;
  height: 24px;
  background: rgba(110,110,110,0.35);
  border-radius: 999px;
  pointer-events: auto;
  transition: background-color .3s, transform .2s;
}
.chat-scrollbar-thumb:hover, .faq-scrollbar-thumb:hover, .tip-scrollbar-thumb:hover{
  background: #D4AF37AA;
  transform: scaleX(1.5);
}
.chat-scrollbar-thumb:active, .faq-scrollbar-thumb:active, .tip-scrollbar-thumb:active{
  background: #D4AF37AA;
  transform: scaleX(1.5);
}

/* Tip container scrollable area */
.tip-container{
  max-height: 75vh;
  overflow-y: auto;
  padding-right: 8px;
}

/* Hero Section */
#hero-section {
  position: relative;
  width: 100vw;
  height: 100vh;
  max-width: 1536px;
}
canvas#chandelier_canvas {
  min-width: 1536px;
  min-height: 100%;
  display: block;
  position: absolute;
  top: -35%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  pointer-events: none;
  background-color: transparent;
}
#brand {
  position: absolute;
  top: 35%;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  color: white;
  z-index: 2;
  padding: 1rem;
}
.wordmark {
  width: 550px;
  height: auto;
  display: block;
  margin: 0 auto;
}
.wordmark-mobile {
  display: none;
}
.tagline-box {
  display: inline-block;
  background-color: #D4AF37AA; /* subtle white tint */
  padding: 0.22rem 2rem;
  border-radius: 0px;
  margin-top: 1rem;
}
.tagline-box p {
  font-size: 1.2rem;
  color: white;
  margin: 0;
  opacity: 0.95;
}
.scroll-cue {
  position: absolute;
  bottom: 20%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  transition: opacity 0.4s ease;
}
.scroll-cue .arrow {
  font-size: 28px;
  color: #F8F6F3;
  animation: pulse 2s infinite;
  opacity: 0.8;
}
@keyframes pulse {
  0% { transform: translateY(0); opacity: 0.4; }
  50% { transform: translateY(6px); opacity: 1; }
  100% { transform: translateY(0); opacity: 0.4; }
}
.scroll-cue.hide {
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 767px) {
  #brand {
    top:30%;
  }
  .wordmark {
    display: none;
  }
  .wordmark-mobile {
      display: block;
      position: relative;
      top: -50px;
      width: 60vw;
  }
.tagline-box {
    position: relative;
    padding: 0.22rem 1rem;
    top: -40px;
}
  .tagline-box p {
    font-size: 1rem;
  }
  canvas#chandelier_canvas {
    top: -65%;
  }
  .tip-container{
    max-height: 360px;
  }
}

/* Header */
.header-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 100;
  font-family: 'Vazirmatn', sans-serif;
  direction: rtl;
  backdrop-filter: blur(8px);
  background-color: #F8F6F3c0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}
body.homepage .header-bar {
  background-color: transparent;
  backdrop-filter: blur(0px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.0);
  transition: background-color 0.4s ease, color 0.4s ease, box-shadow 0.4s ease;
}
body.homepage .header-bar.scrolled {
  background-color: #F8F6F3c0;
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}
.header-left,
.header-center,
.header-right {
  display: flex;
  align-items: center;
  padding: 0 32px;
}
.header-right .tab-item {
  position: absolute;
  left: 4.5rem;
}
.header-left {
  flex: 1;
  justify-content: flex-start;
  gap: 1rem;
}
.header-center {
  flex: 2;
  justify-content: center;
  gap: 24px;
}
.header-right {
  flex: 1;
  justify-content: flex-end;
}
.header-bar a {
  text-decoration: none;
  font-size: 1rem;
  color: #191E2A;
  transition: color 0.4s ease;
}
body.homepage .header-bar a {
  color: white;
  transition: color 0.4s ease;
}
body.homepage .header-bar.scrolled a {
  color: #191E2A;
}
body.homepage .header-bar.scrolled .cart-icon {
  color: #191e2a;
}
.header-bar.scrolled span {
  color: #3D3931;
}
.header-bar a:hover {
  color: #D4AF37;
}
body.homepage .header-bar a:hover {
  color: #D4AF37;
}
.cart-icon {
  font-size: 1rem;
  color: #191E2A;
  cursor: pointer;
}
body.cart-page .cart-icon {
  color: #d4af37;
}
body.homepage .cart-icon {
  color: white;
  transition: color 0.4s ease;
}
.header-bar .cart-icon:hover {
  color: #D4AF37;
}
.header-bar .search-icon {
  display: none;
  color: #191E2A;
  position: absolute;
  left: 1rem;
}
body.homepage .header-bar .search-icon {
  color: #f8f6f3;
  transition: color 0.4s ease;
}
body.homepage .header-bar.scrolled .search-icon {
  color: #191E2A;
}
.search-tab.hovered .search-icon,
.search-tab.locked .search-icon,
body.homepage .search-tab.hovered .search-icon,
body.homepage .search-tab.locked .search-icon {
  color: #D4AF37;
}
.search-tab {
  position: relative;
  display: inline-block;
  width: auto;
}
.search-input:focus {
  outline: none;
}
.search-toggle {
  display: flex;
  align-items: center;
  background-color: rgba(255, 255, 255, 0);
  border-radius: 4px;
  padding: 0.4rem 0.0rem;
  transition: all 0.3s ease;
  overflow: hidden;
  width: 55px; /* initial width like other nav items */
}
.search-label {
  color: #191E2A;
  font-size: 1rem;
  white-space: nowrap;
  cursor: pointer;
}
body.homepage .search-label {
  color: white;
  transition: transform 0.3s ease;
}
body.homepage .header-bar.scrolled .search-label {
  color: #191E2A;
}
.search-icon {
  color: #191E2A;
}
.search-input {
  border: none;
  background: transparent;
  color: #3D3931;
  font-size: 1rem;
  font-family: 'Vazirmatn', sans-serif;
  width: 0;
  opacity: 0;
  transition: width 0.3s ease, opacity 0.3s ease;
}
.search-tab.hovered .search-toggle {
  width: 265px;
  background-color: rgb(255, 255, 255);
  padding: 0.4rem 0.6rem;
}
.search-tab.hovered .search-label {
  color: #D4AF37
}
body.homepage .search-tab.hovered .search-label {
  color: #D4AF37
}
.search-tab.hovered .search-input {
  width: 210px;
  opacity: 1;
}
.mobile-search-tab {
  display: none;
}
.back-button {
  display: none;
}
@media (max-width: 767px) {
  .header-left, .header-center a, .search-label {
    display: none;
  }
  body.cart-page .header-left,
  body.product-page .header-left {
    display: block;
  }
  body.product-cart a.login.account,
  body.product-page a.login.account {
    display: none;
  }
  .header-right .tab-item {
    display: none;
  }
  .search-tab {
    position: absolute;
    right: 1.5rem;
  }
  .search-toggle {
    width: 35px;
  }
  .header-bar .search-icon {
    display: block;
  }
  .mobile-search-tab {
    display: none;
    position: absolute;
    left: 3rem;
  }
  .mobile-search-toggle {
    display: flex;
    align-items: center;
    background-color: rgb(255, 255, 255);
    border-radius: 4px;
    border-style: solid;
    border-width: 1px;
    border-color: #A89F91;
    padding: 0.5rem 0.6rem;
    transition: all 0.3s ease;
    overflow: hidden;
    width: 75vw;
  }
  .mobile-search-input {
    outline: none;
    border: 0;
    opacity: 1;
    font-family: 'Vazirmatn';
    display: block;
    width: 60vw;
    color: #191E2A;
  }
  body.cart-page .search-tab,
  body.product-page .search-tab,
  body.cart-page a.login.account,
  body.product-page a.login.account {
    display: none;
  }
  body.cart-page .back-button,
  body.product-page .back-button {
    display: block;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    border-radius: 50%;
    padding: 0px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
  body.cart-page .back-icon,
  body.product-page .back-icon {
    width: 26px;
    height: 26px;
    color: #191E2A;
  }
}

/* Cart Query */
.cart {
  position: relative;
}
.cart-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 12px;
  height: 12px;
  background-color: red;
  color: white;
  font-size: 0.5rem;
  font-family: 'Vazirmatn';
  font-weight: bold;
  text-align: center;
  border-radius: 50%;
  display: none;
  z-index: 10;
}
.header-bar.scrolled .cart-badge {
  color: white;
}

/* Featured Products */
.view-product {
  position: absolute;
  top: -220%;
  left: 0;
  width: 100vw;
  height: 500%;
  z-index: 1;
  opacity: 0;
}
.featured-overlay-1, .featured-overlay-4 {
  position: relative;
  width: 100vw;
  max-width: 1536px;
  z-index: 3;
}
.featured-overlay-2 {
  position: relative;
  width: 100vw;
  max-width: 1536px;
  z-index: 4;
  border-top: solid #D4AF37;
}
.timer-box {
  display: flex;
  position: absolute;
  left: 2rem;
  top: 1.5rem;
  background: crimson;
  width: 80px;
  border-radius: 4px;
  gap: 8px;
  font-size: 14px;
  font-weight: bold;
  color: white;
  direction: ltr;
}
.timer-label {
  color: #191E2A;
}
.timer-countdown {
  position: relative;
  left: 0.5rem;
  font-family: 'Vazirmatn';
  text-align: end;
  padding: 4px 0px;
  
}
@media (max-width: 767px) {
  .timer-box {
    top: 1rem;
    left: 1rem;
  }
}
.featured-overlay-2 .featured-container {
  opacity: 1;
  transform: translateY(0);
}
.featured-container {
  opacity: 0;
  transform: translateY(100px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  will-change: opacity, transform;
  position: relative;
  width: 100vw;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0;
  background: transparent;
}
.featured-container.visible {
  opacity: 1;
  transform: translateY(0);
}
.featured-products {
  position: relative;
  background-color: transparent;
  transition: background-color 0.5s ease, backdrop-filter 0.5s ease;
}
.featured-products.scrolled {
  background-color: #F8F6F3c0;
  backdrop-filter: blur(8px);
}
.feautured-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: -1rem;
  direction: rtl;
}
.section-title {
  position: relative;
  font-size: 1.5rem;
  font-weight: 700;
  color: #191E2A;
  right: 2rem;
  text-align: right;
}
.more-link {
  position: absolute;
  left: 0rem;
  font-size: 1rem;
  color: #A89F91;
  text-decoration: none;
  transition: color 0.3s ease;
  margin-left: 3rem;
  text-align: left;
}
.scroll-wrapper {
  position: absolute;
  overflow: hidden;
}
.more-link:hover {
  color: #D4AF37;
}
.product-scroll {
  display: flex;
  gap: 2rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 0 2rem;
  padding-bottom: 1rem;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}
.product-scroll::-webkit-scrollbar {
  display: none; /* Chrome/Safari */
}
.scroll-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  border-color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: #191E2A;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: opacity 0.3s ease;
  z-index: 10;
}
.scroll-arrow.left { left: 2rem;}
.scroll-arrow.right { right: 2rem; }
.section-spacer{
  flex: 0 0 auto;
  height: 5px;
  scroll-snap-align: start;
}
/* Product Card */
.product-card {
  flex: 0 0 auto;
  width: 300px;
  height: 400px;
  position: relative;
  border-radius: 5px;
  overflow: hidden;
  scroll-snap-align: start;
  box-shadow: 0 0px 0px rgba(0,0,0,0.08);
  transition: box-shadow 0.3s ease;
}
.product-image {
  width: 100%;
  height: 100%;
  transition: transform 0.4s ease;
}
.product-img {
  width: 300px;
}
.product-img-sub {
  position: absolute;
  right: 0px;
  width: 300px;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.product-card:hover .product-img-sub {
  opacity: 1;
}
.product-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: inherit;
  background-size: cover;
  background-position: center;
  transform: scale(1);
  transition: transform 0.4s ease;
  z-index: 0;
}
.product-card:hover::before {
  transform: scale(1.05);
}
.product-card:hover {
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}
.product-card:hover .product-image {
  transform: scale(1.05);
}
.product-info {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 100px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 1rem;
  z-index: 1;
  background: #F8F6F3;
  color: #191E2A;
}
.product-title {
  font-size: 1.1rem;
  margin-bottom: -1rem;
  color: #191E2A;
}
.product-subtitle {
  font-size: 0.8rem;
  margin-bottom: -0.6rem;
  color: #A89F91;
}
.product-code {
  position: absolute;
  top: 15px;
  font-size: 0.8rem;
  color: #A89F91;
  left: 50px;
  margin-top: 0.3rem;
}
.info-text {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.price {
  position: relative;
  font-size: 1rem;
  top: 0.5rem;
  font-family: 'Vazirmatn';
  font-weight: bold;
  color: #D4AF37;
  text-decoration: none;
  bottom: 0rem;
}
.special-price {
  display: none;
  font-size: 1rem;
  font-family: 'Vazirmatn';
  font-weight: bold;
  color: red;
  text-decoration: none;
  margin-top: 1.5rem;
  margin-bottom: 0rem;
}
.has-offer .price {
  font-size: 0.7rem;
  color: gray;
  text-decoration: line-through;
  margin-bottom: -1.5rem;
}
.has-offer .special-price {
  display: block;
}
.badge {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  background-color: crimson;
  color: white;
  font-size: 0.8rem;
  padding: 0.3rem 0.6rem;
  border-radius: 0.4rem;
  font-weight: bold;
  z-index: 3;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  display: none;
}
.has-offer .badge {
  display: block;
}

.out-of-stock {
  color: gray;
  font-weight: bold;
  font-size: 1.1rem;
}
.product-card.out-of-stock img.product-img {
  filter: grayscale(100%);
  opacity: 0.6;
  transition: filter 0.3s ease, opacity 0.3s ease;
}
/* Favorite */
.heart-box {
  background-color: #A89F91;
  position: absolute;
  height: 35px;
  width: 35px;
  bottom: 1rem;
  left: 3rem;
  display: flex;
  opacity: 0;
  transition: opacity 0.3s ease;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  cursor: pointer;
  z-index: 2;
  transition: background-color 250ms ease;
}
.heart-box:hover {
  background-color: #D4AF37;
}
.product-card:hover .heart-box {
  opacity: 1;
}
.heart-icon {
  width: 20px;
  height: 20px;
}
.heart-outline { display: block; }
.heart-filled { display: none; }
.heart-box.favorited {
  opacity: 1;
}
.heart-box.favorited .heart-outline { display: none; }
.heart-box.favorited .heart-filled { display: block; }
@media (max-width: 767px) {
  .section-title {
    width: 200px;
    font-size: 1.2rem;
    right: 1rem;
  }
  .more-link {
    position: absolute;
    font-size: 0.8rem;
    margin-left: 1rem;
    left: 0rem;
  }
  .scroll-arrow.left { left: 1rem;}
  .scroll-arrow.right { right: 1rem; }
  .product-card {
    width: calc(100vw - 2rem);
    height: 140px;
    display: flex;
    flex-direction: row;
    left: 1rem;
  }
  body.homepage .product-card{
    width: calc(100vw - 3rem);
    right: 0rem;
  }
  .product-card .badge {
    right: 0.5rem;
    left: auto;
  }
  .product-scroll {
    display: grid;
    width: 100%;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, 180px);
    overflow-x: auto;
    gap: 0rem 1rem;
    padding: 0 1rem;
    padding-top: 1rem;
  }
  .product-image img {
    position: relative;
    width: 40%;
    min-width: 140px;
  }
  .product-info {
    position: absolute;
    left: 0rem;
    top: 0rem;
    width: calc(100% - 140px);
    height: 100%;
    padding: 0rem 0rem;
    display: flex;
    flex-direction: column;
    justify-content: top;
    align-items: center;
  }
  .product-title {
    position: absolute;
    align-self: self-start;    
    right: 1rem;
    top: -0.4rem;
    font-size: 1.1rem;
    margin-bottom: 0rem;
    color: #191E2A;
  }
  .product-subtitle {
    position: absolute;
    align-self: self-start;
    top: 1.6rem;
    right: 1rem;
    font-size: 0.8rem;
  }
  .product-code {
    position: absolute;
    top: 2.5rem;
    font-size: 0.8rem;
    color: #A89F91;
    left: 1rem;
    }
  .price {
    position: absolute;
    align-self: self-start;
    top: 5rem;
    align-self: center;
    right: 1rem;
  }
  .has-offer .price {
    bottom: 4rem;
    right: 1rem;
  }
  .special-price {
    position: absolute;
    align-self: self-start;
    bottom: 0.8rem;
    right: 1rem;
  }
  .heart-box {
    display: flex;
    opacity: 1;
    left: 1rem;
  }
  .add-to-cart {
    display: block;
    position: absolute;
    opacity: 1;
    bottom: 1rem;
    right: 1rem;
  }
}
/* Orbit Effect*/
.product-card.orbit-enabled::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%'><rect x='1' y='1' width='298' height='398' rx='5' ry='5' fill='none' stroke='red' stroke-width='2' stroke-dasharray='200 1200' stroke-linejoin='round' stroke-linecap='round'><animate attributeName='stroke-dashoffset' from='0' to='-1400' dur='4s' repeatCount='indefinite'/></rect></svg>");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
@media (max-width: 767px) {
  .product-card.orbit-enabled::before {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%'><rect x='1' y='1' width='calc(100% - 2px)' height='138' rx='5' ry='5' fill='none' stroke='red' stroke-width='2' stroke-dasharray='200 780' stroke-linejoin='round' stroke-linecap='round'><animate attributeName='stroke-dashoffset' from='0' to='-980' dur='4s' repeatCount='indefinite'/></rect></svg>");
  }
}

/* Shipping Banner */
.shipping-banner {
  background: linear-gradient(135deg, #191E2A 0%, #2c3447 100%);
  color: #F8F6F3;
  padding: 2.5rem 2rem;
  margin: 2rem auto;
  width: calc(100% - 4rem);
  max-width: 1472px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3rem;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
  position: relative;
  overflow: hidden;
  direction: rtl;
  z-index: 5;
}

.shipping-banner::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -10%;
  width: 300px;
  height: 300px;
  background: rgba(212, 175, 55, 0.05);
  border-radius: 50%;
  z-index: 0;
}

.shipping-icon-box {
  background: #D4AF37;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  color: #191E2A;
  flex-shrink: 0;
  box-shadow: 0 0 20px rgba(212, 175, 55, 0.3);
  z-index: 1;
}

.shipping-text-content {
  z-index: 1;
}

.shipping-banner h2 {
  font-size: 1.8rem;
  margin: 0 0 0.5rem 0;
  font-weight: 900;
  color: #D4AF37;
}

.shipping-banner p {
  font-size: 1.1rem;
  margin: 0;
  opacity: 0.9;
  line-height: 1.6;
}

.shipping-badge-24h {
  background: crimson;
  color: white;
  padding: 0.3rem 0.8rem;
  border-radius: 5px;
  font-weight: bold;
  margin-right: 10px;
  display: inline-block;
  font-family: 'Vazirmatn';
}

@media (max-width: 767px) {
  .shipping-banner {
    flex-direction: column;
    text-align: center;
    gap: 1.5rem;
    width: calc(100% - 2rem);
    padding: 2rem 1rem;
    margin: 1rem auto;
  }
  
  .shipping-icon-box {
    width: 60px;
    height: 60px;
    font-size: 1.8rem;
  }
  
  .shipping-banner h2 {
    font-size: 1.4rem;
  }
  
  .shipping-banner p {
    font-size: 0.95rem;
  }
}

/* Philosophy Section */
.philosophy-section {
  background-image: url('../assets/banners/banner-0001.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #191E2A; /* fallback color */
  color: #F5F5F5;
  width: 100%;
  max-width: 100vw;
  height: 540px;
  display: flex;
  align-items: center;
  justify-content: left;
  position: relative;
  z-index: 10;
  overflow-x: hidden;
}
.container {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-start;
  width: 65vw;
  padding-left: 0;
  padding-right: 0;
}
.text-content {
  flex: 1;
  text-align: left;
  padding-left: 3rem;
  margin-left: 0;
  max-width: 600px;
}
.phil-title {
  font-size: 4rem;
  color: #F8F6F3;
  font-weight: 1000;
  margin-bottom: 20px;
  line-height: 1.4;
  font-family: 'Vazirmatn', sans-serif;
}
.philosophy-subtext {
  font-size: 1.2rem;
  color: #F8F6F3;
  margin-bottom: 30px;
  font-family: 'Vazirmatn', sans-serif;
}
.btn {
  display: inline-block;
  padding: 12px 24px;
  color: #191E2A;
  font-weight: 550;
  text-decoration: none;
  border-radius: 10px;
  background-color: #A89F91;
  transition: background-color 0.5s ease;
}
.btn:hover {
  background-color: #D4AF37
}
.image-content {
  flex: 1;
  
  text-align: center;
  display: none;
}
@media (max-width: 767px) {
  .philosophy-section {
    height: 200px;
  }
  .text-content {
    padding-left: 1rem;
    max-width: 600px;
    margin-top: -1rem;
  }
  .phil-title {
    font-size: 1.7rem;
    margin-bottom: 10px;
    line-height: 1;
  }
  .philosophy-subtext {
    font-size: 0.8rem;
    color: #F8F6F3;
    margin-bottom: 15px;
    font-family: 'Vazirmatn', sans-serif;
    text-align: justify;
  }
  .btn {
    font-size: 0.8rem;
    padding: 6px 12px;
    border-radius: 5px;
  }
}
/* Category Section */
.categories-section {
  position: relative;
  background-color: #F8F6F3;
}
.categories-header {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  direction: rtl;
}
.categories-row {
  display: flex;
  padding-left: 3rem;
  padding-right: 3rem;
  gap: 2rem;
  justify-content: space-around;
  flex-wrap: wrap;
  direction: rtl;
  padding-bottom: 1rem;
}
.category-card {
  flex: 0 0 auto;
  width: 300px;
  height: 350px;
  position: relative;
  border-radius: 0px;
  overflow: hidden;
  scroll-snap-align: start;
  box-shadow: 0 0px 0px rgba(0,0,0,0.08);
  transition: box-shadow 0.3s ease;
  background-size: cover;
  background-position: top, center;
  background-repeat: no-repeat;
}
.category-card:hover::before {
  transform: scale(1.05);
}
.category-card:hover {
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}
.category-info {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 50px;
  padding-bottom: 1rem;
  text-align: center;
  z-index: 1;
  background: #F8F6F3;
  color: #191E2A;
}
.category-info h3 {
  font-size: 1.2rem;
  color: #191E2A;
}
@media (max-width: 767px) {
  .categories-section {
    align-content: space-around;
  }
  .categories-row { 
    gap: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .category-card {
    width: 160px;
    height: 175px;
  }
  .category-info {
    height: 25px;
  }
  .category-info h3 {
    font-size: 0.8rem;
  }
}

/* Footer */
.main-footer {
  background-color:#D2CDC8;
  color: #191E2A;
  padding: 3rem 4rem 1rem;
  font-family: 'Vazirmatn', sans-serif;
  direction: rtl;
}
.footer-grid {
  width: 100vw;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 2rem;
  margin-bottom: 2rem;
}
.footer-block h4 {
  font-size: 1.1rem;
  margin-bottom: 1rem;
  color: #191E2A;
}
.footer-block p,
.footer-block ul {
  font-size: 0.95rem;
  line-height: 1.6;
}
.footer-block ul {
  list-style: none;
  padding: 0;
}
.footer-block ul li {
  margin-bottom: 0.5rem;
}
.footer-block ul li a,
.footer-block p a {
  color: #191E2A;
  text-decoration: none;
  transition: color 0.3s ease;
}
.footer-block ul li a:hover,
.footer-block p a:hover {
  color: #A67C52;
}
.social-links a, .address-links a {
  margin-left: 1rem;
  font-size: 1.2rem;
  color: #191E2A;
  transition: color 0.3s ease;
}
.social-links a:hover, .address-links a:hover {
  color: #A67C52;
}
.footer-credit {
  text-align: center;
  font-size: 0.85rem;
  border-top: 1px solid #ddd;
  padding-top: 1rem;
}
@media (max-width: 767px) {
  .main-footer{
    padding: 1rem;
  }
  .footer-grid {
    gap: 0;
  }
  .footer-credit {
    height: 120px;
  }
}

/* Mobile Bar */
.mobile-tab-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 64px;
  background-color: transparent;
  transition: background-color 0.4s ease, color 0.4s ease;
  display: none;
  justify-content: space-around;
  align-items: center;
  z-index: 100;
}
.tab-icon {
  justify-self: center;
}
svg.tab-icon {
    width: 24px;
    display: block;
}
.tab-item {
  position: relative;
  flex: 1;
  text-align: center;
  font-size: 12px;
  color: #191E2A;
  text-decoration: none;
}
body.homepage .tab-item{
  color: white;
}
.tab-item i {
  display: block;
  font-size: 20px;
  margin-bottom: 4px;
}
body.homepage #home-tab .tab-icon {
  color: #D4AF37;
}
body.products-page #products-tab .tab-icon {
  color: #D4AF37;
}
body.support-page #support-tab .tab-icon {
  color: #D4AF37;
}
body.account-page #login-tab .tab-icon {
  color: #D4AF37;
}
body.product-page .mobile-tab-bar {
  background-color: #F8F6F3c0;
  backdrop-filter: blur(8px);
}
@media (max-width: 767px) {
  .mobile-tab-bar {
    display: flex;
    background-color: #F8F6F3c0;
    backdrop-filter: blur(8px);    
  }
  body.homepage .mobile-tab-bar {
    display: flex;
    background-color: transparent;
    backdrop-filter: blur(8px);   
  }
  body.homepage .mobile-tab-bar.scrolled {
    background-color: #F8F6F3c0;
    backdrop-filter: blur(8px);
  }
  body.homepage .mobile-tab-bar.scrolled .tab-item {
    color: #191E2A;
  }
  .mobile-tab-bar.scrolled .cart-icon {
    color: #191E2A;
  }
  body.product-page .mobile-tab-bar {
    display: none;
  }
}

/* Support */
.support-button {
  position: fixed;
  bottom: 20px;
  left: 20px;
  width: 50px;
  height: 50px;
  background: #d4af37;
  color: #191e2a;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  cursor: pointer;
  z-index: 9999;
}
.support-button:hover {
  background: #A89F91;
}
.support-widget {
  position: fixed;
  bottom: 90px;
  left: 20px;
  width: 300px;
  height: 360px;
  background-color: #F8F6F3c0;
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  z-index: 9999;

  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: all .25s ease;
}
.support-widget.show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.support-header {
  background: #D4AF37;
  color: #191E2A;
  font-weight: bold;
  padding: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.support-header button {
  background: none;
  border: none;
  color: #191E2A;
  font-size: 20px;
  cursor: pointer;
}
.support-body {
  flex: 1;
  overflow-y: auto;
  padding: 0 12px;
}
.support-section {
  height: calc(100% - 60px);
  margin-bottom: 10px;
  display: flex;
  flex-direction: column;
}
.hidden {
  display: none;
}
.support-section h4 {
  margin-bottom: 5px;
  margin-top: 20px;
}
/* Search box inside the support widget */
.faq-widget-search {
  font-family: "vazirmatn";
  font-size: 13px;
  border-radius: 5px;
  border: solid 1px lightgray;
  padding: 5px 8px;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 6px;
  background: #fff;
  color: #191e2a;
}
.support-section .faq-wrapper {
  flex: 1;
  min-height: 0;
}
.support-section .faq-container {
  height: 100%;
  min-height: 0;
}
.faq-container .no-results {
  padding: 8px 0;
  font-size: 13px;
  color: #888;
}
.faq-container {
  display: block;
  height: 180px;
  overflow-y: auto;
  padding-right: 10px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.faq-container::-webkit-scrollbar {
  display: none;
}

.faq-page-wrapper {
  position: relative;
}

.faq-page-wrapper .faq-container {
  /* Full FAQs page: ONE page-level scroll for all items.
     No inner max-height/overflow so the page itself scrolls. */
  height: auto;
  max-height: none;
  overflow: visible;
  padding-right: 12px;
  padding-bottom: 1.5rem;
}
.faq-item {
  border-bottom: 1px solid #eee;
  padding: 8px 0;
}
.faq-question {
  cursor: pointer;
  font-weight: 550;
  color: #333;
}
.faq-question:hover {
  color: #D4AF37;
}
.faq-answer {
  margin-top: 6px;
  font-size: 13px;
  color: #555;
}
.chat-messages {
  height: 240px;
  overflow-y: auto;
  margin-bottom: 10px;
  padding: 10px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.chat-messages::-webkit-scrollbar {
  display: none;
}
.chat-message {
  margin-bottom: 8px;
  display: flex;
  justify-content: flex-start;
  padding: 0 8px;
  border-radius: 8px;
  position: relative;
}
.message-content {
  margin-top: 4px;
  font-size: 14px;
  color: #191e2a;
}
.message-container.admin {
  background-color: white;
  width: 220px;
  padding: 5px 10px;
  border-radius: 10px;
  position: relative;
  left: -18px;
  text-align:left
}
.message-container.user {
  background-color: white;
  width: 220px;
  padding: 5px 10px;
  border-radius: 10px;
  position: relative;
  left: 18px;
}
.msg-time {
  font-size: x-small;
  color: gray;
}
.chat-input {
  position: absolute;
  bottom: 12px;
  width: calc(100% - 24px);
  display: flex;
  gap: 6px;
}
.chat-input input {
  flex: 1;
  padding: 6px;
  font-family: 'Vazirmatn';
  border-radius: 5px;
  border: none;
}
.chat-input button {
  padding: 6px 14px;
  cursor: pointer;
  font-family: 'Vazirmatn';
  font-weight: bold;
  border-radius: 5px;
  border: none;
  background-color: #A89F91;
  color: white;
}
.chat-input button:hover {
  background-color: #D4AF37;
}
.support-btn-container{
  display: flex;
  position: absolute;
  bottom: 12px;
  left: 12px;
  width: calc(100% - 24px);
  justify-content: space-between;
}
.support-chat-btn, .support-call-btn {
  position: relative;
  width: calc(50% - 6px);
  padding: 0.4rem 1rem;
  font-size: medium;
  font-weight: 500;
  background-color: #A89F91;
  color: white;
  font-family: 'Vazirmatn';
  border: none;
  border-radius: 10px;
  cursor: pointer;
}
.support-call-btn a {
  width: 100%;
  text-decoration: none;
  color: white;
}
.support-chat-btn:hover {
  background-color: #D4AF37;
}
.support-call-btn:hover {
  background-color: #49d437;
}
.msg-time {
  font-size: x-small;
  color: gray;
}
.new-message-badge {
  position: absolute;
  bottom: 60px;
  left: 10px;
  background: #d4af37;
  color: #000;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 13px;
  cursor: pointer;
  box-shadow: 0 0 6px rgba(0,0,0,0.25);
  transition: opacity .2s, transform .2s;
  z-index: 1;
}
.new-message-badge.hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
}
@media (max-width: 700px) {
  .support-button {
    bottom: 80px;
  }
  body.support-open.homepage .support-button.scrolled {
    color: #D4AF37;
  }  
  .support-widget {
    width: 92%;
    height: calc(100% - 280px);
    bottom: 140px;
    left: 4%;
  }
  .message-container.admin {
    width: 240px;
    left: -74px;
  }
  .message-container.user {
    width: 240px;
  }
  .chat-messages {
    height: 610px;
  }
}

/* ===== Products Page ===== */
.seo-heading {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.products-grid {
  position: relative;
  display: grid;
  width: calc(100% - 4rem);
  right: 2rem;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  padding: 00px 0px;
  justify-items: center;
}
@media (max-width: 1200px) {
  .products-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 980px) {
  .products-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .products-grid {
    grid-template-columns: 1fr;
  }
}
.filter-bar {
  position: relative;
  display: flex;
  width: auto;
  margin-left: 10rem;
  margin-right: 10rem;
  margin-bottom: 2.5em;
  top: 1rem;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.filter-button {
  width: 100px;
  text-align: center;
  cursor:pointer;
  border-bottom: solid transparent;
}
.filter-button:hover {
  color: #D4AF37;
}
.filter-button.active {
  color: #D4AF37;
  border-bottom: solid #191E2A;  
}

.pagination-container {
    margin: 3rem auto;
    display: flex;
    justify-content: center;
}
.pagination {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--bg-card, #fff);
    padding: 1rem;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.pagination-btn {
    width: 40px;
    height: 40px;
    border: none;
    background: transparent;
    color: var(--text-secondary, #666);
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}
.pagination-btn:hover:not(:disabled) {
    background: var(--primary-color, #d4a574);
    color: white;
}
.pagination-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}
.pagination-numbers {
    display: flex;
    gap: 0.25rem;
}
.page-number-btn {
    min-width: 40px;
    height: 40px;
    padding: 0 0.75rem;
    border: none;
    background: transparent;
    color: var(--text-primary, #333);
    border-radius: 8px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.2s;
}
.page-number-btn:hover {
    background: rgba(212, 165, 116, 0.1);
}
.page-number-btn.active {
    background: var(--primary-color, #d4a574);
    color: white;
}

@media (max-width: 767px) {
.filter-bar {
  margin-left: 0rem;
  margin-right: 0rem;
}
.filter-button {
  width: 20%;
}
}
@media (max-width: 800px) {
  .filter-button {
    width: 60px;
  }
}

/* ===== Product Page ===== */
.product-section, .cart-section, .products-section {
  position: relative;
  height: calc(fit-content);
  top: 64px;
  overflow-y: hidden;
  z-index: 4;
  padding-bottom: 20px;
}
.right-side {
  position: relative;
  top: 0;
  width: 30vw;
  min-width: 330px;
  height: calc(80vh + 64px);
  right: 0;
}
.left-side {
  position: absolute;
  top: 32px;
  justify-self: left;
  width: 70vw;
  max-width: calc(100vw - 330px);
  height: 100vh;
  left: 0;
}
.path {
  width: 60vw;
  height: 32px;
  position: relative;
  top: 1rem;
  right: 2rem;
}
.path-item {
  font-size: 0.9rem;
  text-decoration: none;
  color: #A89F91;
}
.product-path, .account-path {
  font-size: 0.9rem;
  color: #191E2A;
}
.introduce-bar, .list-bar {
  position: relative;
  display: flex;
  width: auto;
  margin-left: 2rem;
  margin-right: 1rem;
  height: 2rem;
  top: 1rem;
  align-items: center;
  justify-content:space-around;
  flex-wrap: wrap;
}
.intro-item, .list-tab {
  width: 100px;
  text-align: center;
  cursor:pointer;
  border-bottom: solid transparent;
}
a#detail-tab {
  display: none;
}
nav.introduce-bar {
  justify-content: right;
}
.intro-item:hover, .list-tab:hover {
  color: #D4AF37;
}
.intro-item.active, .list-tab.active {
  color: #D4AF37;
  border-bottom: solid #191E2A;  
}
.intro-content, .list-content {
  position: relative;
  top: 1rem;
  left: 0rem;
  width: calc(100% - 2rem);
  height: 100%;
  opacity: 0;
  display: none;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.intro-content.active {
  display: block;
  opacity: 1;
}
#photo-content {
  width: 76vh;
}
#detail-content {
  position: absolute;
  left: 0;
  display: block;
  width: calc(100% - 76vh);
  height: 76vh;
}
.product {
  position: relative;
  top: 0rem;
  right: 2rem;
  margin: 0rem;
  bottom: 0;
  width: calc(100% - 3rem);
  height: 80vh;
  display: block;
  align-items: flex-start;
  padding: 0;
  z-index: 1;
  background: transparent;
  color: #191E2A;
  direction: rtl;
}
.product h3 {
  position: relative;
  font-size:xx-large;
  top: 0;
  width: 100%;
  color: #191E2A;
}
.product h4 {
  position: relative;
  margin: 0.5rem;
  top: -2rem;
  width: 100%;
  font-size: medium;
  color: #A89F91;
}
.product .product-code {
  position: absolute;
  top: 2.6rem;
  margin: 0.5rem;
  font-size: medium;
  color: #A89F91;
  left: 0;
}
.product .price {
  position: absolute;
  bottom: 3.5rem;
  top: auto;
  margin: 0.5rem;
  font-size: x-large;
}
.product .special-price {
  position: absolute;
  bottom: 3.5rem;
  top: auto;
  font-size: x-large;
}
.product.has-offer .price {
  position: absolute;
  bottom: 5rem;
  top: auto;
  font-size: small;
  color: gray;
  text-decoration: line-through;
}
.product .badge {
  left: 0;
  scale: 1.2;
}
/* Add to Cart */
.add-to-cart {
  display: block;
  position: absolute;
  width: calc(100% - 60px);
  right: 0;
  bottom: 0;
  padding: 0.4rem 1rem;
  font-size: x-large;
  background-color: #A89F91;
  color: white;
  font-family: 'Vazirmatn';
  border: none;
  border-radius: 10px;
  align-self: flex-end;
  cursor: pointer;
  opacity: 1;
  transition: background-color 250ms ease;
}
.add-to-cart:hover {
  background-color: #D4AF37;
}
.quantity-selector {
  position: absolute;
  display: flex;
  width: calc(100% - 60px);
  right: 0rem;
  bottom: 0;
  padding: 0.4rem 0rem;
  font-size: x-large;  
  align-items: center;
  gap: 0.5rem;
  background-color: #A89F91;
  border-radius: 10px;
  color: white;
  justify-content: space-around;
  z-index: 2;
  transition: background-color 250ms ease;
}
.quantity-selector:hover {
  background-color: #D4AF37;
}
.quantity-selector button {
  background: transparent;
  border: none;
  color: white;
  font-size: 1rem;
  cursor: pointer;
}
.quantity-selector .quantity {
  font-family: 'Vazirmatn';
}
.quantity-selector .increase, .quantity-selector .decrease {
  font-size: x-large;
}
.product .heart-box {
  height: 50.4px;
  width: 50.4px;
  bottom: 0rem;
  left: 0rem;
  opacity: 1;
  border-radius: 10px;
}
.product .heart-icon {
  width: 30px;
  height: 30px;
}
.remind-me {
  display: block;
  position: absolute;
  width: calc(100% - 60px);
  right: 0;
  bottom: 0;
  padding: 0.4rem 1rem;
  font-size: x-large;
  border: none;
  background-color: #D4AF37;
  color: white;
  font-family: 'Vazirmatn';
  border-radius: 10px;
  align-self: flex-end;
  cursor: pointer;
  opacity: 1;
}
.remind-me.active {
  background-color: transparent;
  color: #D4AF37;
  box-shadow: inset 0 0 0 2px #D4AF37;
}
.fast-buy-btn {
  display: none;
  position: absolute;
  width: calc(50% - 15px);
  right: calc(50% - 45px);
  bottom: 0;
  padding: 0.4rem 1rem;
  font-size: x-large;
  background-color: #ff5722;
  color: white;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  font-family: 'Vazirmatn';
  transition: background-color 250ms ease;
  z-index: 2;
}
.fast-buy-btn.visible {
  display: block;
}
.fast-buy-btn:hover {
  background-color: #e64a19;
}
.quantity-selector.with-fast-buy {
  width: calc(50% - 55px);
  right: 0;
  left: calc(50% + 5px);
}
/* Photos */
.photo-gallery {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  margin-top: 1rem;
}
.thumbnails {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.thumb {
  width: 110px;
  height: 110px;
  object-fit: cover;
  cursor: pointer;
  border-radius: 6px;
  opacity: 0.6;
  transition: opacity 0.3s ease;
}
.thumb.active {
  opacity: 1;
  box-shadow: 0 0 0 2px #D4AF37;
}
.main-photo {
  width: 76vh;
  height: 76vh;
  border-radius: 12px;
  overflow-y: hidden;
}
.main-photo img {
  width: 100%;
  border-radius: 12px;
  object-fit: cover;
}
/* Specifications & Options */
.specs-title, .options-title {
  font-size: large;
  font-weight: bold;
  color: #222;
  text-align: right;
  direction: rtl;
}
.product-specs {
  position: relative;
  top: -1rem;
  padding: 1rem;
  background: white;
  border-radius: 10px;
  font-size: 0.95rem;
  line-height: 1.8;
  color: #333;
}
.spec-item::before {
  content: "• ";
  color: #D4AF37;
  font-weight: bold;
}
.buyer-options {
  display: none;
}
.buyer-options, .specs-title, .option-item {
  margin-top: -1rem;
}
.option-item {
  position: relative;
  top: -1.5rem;
}
/* Condition */
.condition {
  position: relative;
  right: 2rem;
  width: calc(100% - 4rem);
}
.condition h5 {
  color: #A89F91;
}
/* Comment */
.comment-section {
  background: transparent;
  padding: 2rem;
  margin-top: 2rem;
  border-radius: 12px;
}
.comment-title {
  font-size: x-large;
  font-weight: 800;
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  color: #191E2A;
}
.add-comment-box {
  background: #fafafa;
  padding: 1.2rem;
  border-radius: 10px;
  margin-bottom: 2rem;
  border: 1px solid #eee;
}
.add-comment-box h3 {
  font-size: 1.1rem;
  margin-bottom: 0.8rem;
  color: #333;
}
.comment-input {
  width: calc(100% - 1.8rem);
  min-height: 110px;
  padding: 0.8rem;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-family: 'Vazirmatn';
  font-size: 0.95rem;
  resize: vertical;
  transition: border-color 0.2s ease;
}
.comment-input:focus {
  border-color: #D4AF37;
  outline: none;
}
.comment-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.8rem;
}
/* Star Rating - Fixed */
.star-rating {
  display: flex;
  
  gap: 8px;
  font-size: 1.8rem;
  cursor: pointer;
  user-select: none;
  width: fit-content;
}
.star-rating span {
  color: #ddd; /* empty */
  transition: all 0.2s ease;
  display: inline-block;
  cursor: pointer;
}
.star-rating span:hover,
.star-rating span:hover ~ span {
  color: #ddd; /* light gold on hover */
}
.star-rating span.filled {
  color: #D4AF37; /* gold */
}
.comment-rating {
  color: #D4AF37;
}
.submit-comment {
  background: #A89F91;
  color: #fff;
  border: none;
  padding: 0.6rem 1.4rem;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 250ms ease;
}
.submit-comment:hover {
  background: #D4AF37;
}
.comment-message {
  margin-top: 0.6rem;
  font-size: 0.9rem;
}
.comments-list {
  margin-top: 1rem;
}
.no-comments {
  color: #777;
  font-size: 0.95rem;
  text-align: center;
  padding: 1rem 0;
}
.comment-item {
  background: #fff;
  padding: 1rem;
  border-radius: 10px;
  border: 1px solid #eee;
  margin-bottom: 1rem;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}
.comment-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.4rem;
}
.comment-user {
  font-weight: 700;
  color: #333;
}
.comment-date {
  font-size: 0.85rem;
  color: #888;
}
.comment-text {
  font-size: 0.95rem;
  color: #444;
  line-height: 1.7;
}
#tip-content {
  width: calc(100% - 5rem);
  height: 76vh;
  padding: 0 1rem;
  background-color: white;
  border-radius: 8px;
  top: 2rem;
  overflow-y: auto;
  color: #333;
}
#tip-content p {
  text-align: justify;
}
@media (min-width: 1280px) {
  .photo-gallery {
    position: relative;
    width: 76vh;
  }
  #tip-content {
    position: absolute;
    left: 2rem;
    top: 4rem;
    display: block;
    opacity: 1;
    width: calc(100% - 76vh - 6rem);
  }
  a#tip-tab {
    position: absolute;
    right: 76vh;
  }
  #photos-content {
    display: block;
    opacity: 1;
  }
  .thumbnails {
    position: absolute;
    display: flex;
    flex-direction: row;
    background-color: #F8F6F3dd;
    height: 66px;
    width: max-content;
    right: 50%;
    bottom: 1rem;
    transform: translateX(50%);
    padding: 1px 4px;
    margin: 0;
    border-radius: 10px;
    gap: 0px;
    z-index: 1;
  }
  .thumb {
    position: relative;
    width: 55px;
    height: 55px;
    top: 2.5px;
    margin: 0.2rem;
  }
}
@media (max-width: 768px) {
  .comment-section {
    padding: 1.2rem;
  }
  .comment-actions {
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
  }
  .submit-comment {
    width: 100%;
  }
  .star-rating {
    font-size: 1.6rem;
    gap: 6px;
  }
  a#detail-tab {
    display: block;
  }
  nav.introduce-bar {
    justify-content: space-around;
  }
  #tip-content {
    top: 0.5rem;
    border-radius: 10px;
    width: calc(100% - 4rem);
    height: auto;
  }
}

/* Recomends */
.featured-overlay-3 {
  position: relative;
  top: 3rem;
  width: 100vw;
  max-width: 1536px;
  z-index: 3;
}
/* Loading skeleton for product page */
body.product-loading .product-details {
  opacity: 0.5;
  pointer-events: none;
}

body.product-loaded .product-details {
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.3s ease;
}
/* Serie products loading state */
.featured-overlay-3 .product-scroll:empty::before {
  content: "در حال بارگذاری محصولات مشابه...";
  display: block;
  text-align: center;
  padding: 20px;
  color: #999;
}
@media (max-width: 767px) {
  .right-side {
    position: relative;
    width: 100vw;
    min-width: auto;
    height: 550px;
  }
  .left-side {
    top: 130px;
    width: 100vw;
    max-width: 100vh;
    height: 420px;
    overflow: hidden;
    background-color: transparent;
    z-index: 2;
  }
  .specs-title {
    opacity: 0;
  }
  .path {
    right: 1rem;
  }
  .path-item, .product-path  {
    font-size: 0.8rem;
  }
  .introduce-bar {
    margin: auto 0;
    top: 0;
    padding-top: 0.2rem;
    border-top: solid #D2CDC8;
  }
  .intro-item {
    width: 25vw;
  }
  .intro-content {
    position: relative;
    top: -0.5rem;
    left: -1rem;
    width: calc(100vw - 2rem);;
    height: 400px;
    overflow-y: hidden;
  }
  .product {
    width: calc(100% - 2rem);
    height: 600px;
    right: 1rem;
    top: 0rem;
  }
  .product h3 {
    font-size: x-large;
  }
  .product h4 {
    top: -1.5rem;
    font-size: small;
  }
  .product .product-code {
    position: absolute;
    font-size: small;
    top: 2.5rem;
    margin: 0;
    left: 0rem;
  }
  .product .price, .product .special-price {
    position: absolute;
    display: flex;
    bottom: 0.3rem;
    top: auto;
    font-size: larger;
  }
  .product.has-offer .price {
    position: relative;
    display: flex;
    bottom: 0rem;
  }
  .product .badge {
    left: 0;
    scale: 1;
  }
  .buy-bar {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100vw;
    height: 64px;
    background-color: #F8F6F3c0;
    backdrop-filter: blur(8px);
    z-index: 100;
    box-shadow: 4px 0px 12px rgba(0, 0, 0, 0.12);
  }
  .add-to-cart {
    bottom: 12px;
    width: 190px;
    height: 40px;
    padding: 0;
    border-radius: 7px;
    font-size: larger;
    right: auto;
    left: calc(2rem + 30px);
  }
  .fast-buy-btn {
    bottom: 12px;
    width: 100px;
    height: 40px;
    padding: 0;
    border-radius: 5px;
    font-size: larger;
    right: auto;
    left: calc(1rem + 45px);
  }
  .product .heart-box {
    width: 40px;
    height: 40px;
    bottom: 12px;
    left: 1rem;
    border-radius: 7px;
  }
  .product .heart-icon {
    width: 25px;
    height: 25px;
  }
  .quantity-selector {
    bottom: 12px;
    width: 140px;
    height: 40px;
    padding: 0;
    border-radius: 5px;
    font-size: larger;
    right: auto;
    left: calc(2rem + 30px);
  }
  .quantity-selector.with-fast-buy {
    width: 85px;
    right: auto;
    left: calc(1rem + 150px);
  }
  .photo-gallery {
    justify-content: center;
  }
.thumbnails {
    position: absolute;
    display: flex;
    flex-direction: row;
    background-color: #F8F6F3dd;
    height: 37px;
    padding: 0 2.5px;
    margin: 0;
    border-radius: 10px;
    bottom: 1.2rem;
    gap: 1px;
    z-index: 1;
  }
  .thumb {
    position: relative;
    width: 30px;
    height: 30px;
    top: 2px;
    margin: 0.1rem;
  }
  .main-photo {
    height: 370px;
  }
  .product-specs {
    height: 324px;
    overflow: scroll;
    top: -1.23rem;
    overflow-y: scroll;
  }
  .buyer-options {
    position: relative;
    top: 5rem;
  }
  .condition {
    position: relative;
    top: 1rem;
    right: 1rem;
    width: calc(100% - 2rem);
  }
  .condition h5 {
    color: #A89F91;
  }
  .featured-overlay-3 {
    position: relative;
    top: 0rem;
  }
}

/* ===== Cart Page ===== */
.product-row {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
  margin-left: 2rem;
  border-bottom: 1px solid #eee;
  padding-bottom: 1rem;
  justify-content: end;
  direction: ltr;
}
.product-thumb {
  width: 110px;
  height: 110px;
  object-fit: cover;
  border-radius: 6px;
}
.cart-product-info {
  width: calc(100% - 120px);
  direction: rtl;
}
body.cart-page .quantity-selector {
  position: relative;
  left: 35px;
  padding: 5px 0;
  right: auto;
  width: 110px;
  font-size: 1.1rem;
}
body.cart-page .increase, body.cart-page .decrease {
  font-size: 1.1rem;
}
/* Right */
.summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 12px 0;
  margin-right: 2rem;
  font-size: 1rem;
  color: #444;
}
.summary-row label {
  font-weight: 600;
}
.summary-row select {
  padding: 6px 10px;
  border-radius: 6px;
  border: 1px solid #ccc;
  font-size: 0.95rem;
  background: #fafafa;
  transition: border-color 0.2s ease;
  font-family: 'Vazirmatn';
}
.summary-row select:focus {
  border-color: #D4AF37;
  outline: none;
}
.shipping-method .standard {
  color: red;
}
.summary-row.total {
  font-weight: 700;
  font-size: 1.1rem;
  color: #222;
  border-top: 2px dashed #ddd;
  padding-top: 12px;
  margin-top: 16px;
}
/* Checkout button */
.checkout-button, .confirm-button {
  width: calc(100% - 2rem);
  margin-top: 20px;
  margin-right: 2rem;
  margin-left: 1rem;
  padding: 14px 0;
  background-color: #A89F91;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  font-family: 'Vazirmatn';
  transition: background-color 250ms ease;
}
.checkout-button:hover, .confirm-button:hover {
  background-color: #D4AF37;
}
@media (max-width: 768px) {
  body.cart-page main {
    overflow: hidden;
    overflow-x: hidden;
    height: 100vh;
    width: 100vw;
  }
  body.cart-page .cart-section {
    height: calc(100vh - 64px);
  }
  body.cart-page .left-side {
    position: relative;
    top: 0;
    height: 450px;
    overflow-y: scroll;
  }
  body.cart-page .right-side {
    position: fixed;
    top: unset;
    bottom: 0px;
    height: 300px;
  }
  body.cart-page #scroll-space {
    display: none;
    height: 0;
  }
  .product-row {
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
    margin: 0 0 1.2rem 0;
    padding-bottom: 1rem;
    border-bottom: 1px solid #eee;
    direction: rtl; /* keep RTL for text */
  }
  .product-thumb {
    width: 90px;
    height: 90px;
    margin-bottom: 0.5rem;
  }
  .cart-product-info {
    width: 100%;
    text-align: center;
    direction: rtl;
  }
  body.cart-page .quantity-selector {
    position: absolute;
    left: 1rem;
    right: auto;
    bottom: 1rem;
    margin: 0;
    padding: 0;
    width: 80px;
    height: 35px;
    font-size: 1rem;
    display: flex;
    justify-content: center;
  }
  body.cart-page .increase,
  body.cart-page .decrease {
    font-size: 1rem;
    padding: 0.3rem 0.6rem;
  }
  .summary-row {
    margin: 10px 0;
    margin-right: 0;
    font-size: 0.95rem;
    flex-direction: row;
    justify-content: space-between;
    padding: 0 1rem;
  }
  .summary-row select {
    margin-top: 0.5rem;
    font-size: 1rem;
  }
  .summary-row.total {
    display: grid;
    font-size: 1rem;
    padding-top: 10px;
    margin-top: 12px;
  }
  #shipping-cost {
    display: none;
  }
  span#summary-total-cost {
    font-size: larger;
    font-weight: 900;
  }  
  .checkout-button {
    position: absolute;
    width: calc(100vw - 2rem);
    left: 1rem;
    margin: 0;
    padding: 12px 0;
    font-size: 1rem;
    border-radius: 10px;
  }
}

/* ===== Login Page ===== */
.login-modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.login-modal.hidden {
  display: none;
}
.login-box {
  background-color: #F8F6F3c0;
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  width: 540px;
  height: 240px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  position: relative;
  color: #fff;
  overflow: hidden;
}
.login-left {
  position: absolute;
  width: 50%;
  height: 100%;
  left: 0;
  color: #191E2A;
}
.login-left h2 {
  position: relative;
  right: 1rem;
  font-size: medium;
  width: 60%;
}
.login-input {
  position: relative;
  outline: none;
  font-family: 'Vazirmatn';
  width: calc(100% - 2rem - 10px);
  padding: 5px;
  margin-right: 1rem;
  margin-bottom: 0.5rem;
  border-radius: 5px;
  border: #D2CDC8;
}
.login-button {
  position: relative;
  outline: none;
  font-family: 'Vazirmatn';
  width: calc(100% - 2rem);
  padding: 5px;
  margin-right: 1rem;
  margin-bottom: 0.5rem;
  border-radius: 5px;
  border: #D2CDC8;
  cursor: pointer;
  background-color: #D4AF37;
}
.login-message {
  position: relative;
  right: 1rem;
  font-size: small;
  margin: 0;
}
.login-right {
  position: absolute;
  width: 50%;
  right: 0;
  overflow: hidden;
}
.login-image {
  position: relative;
  width: 100%;
}
.close-popup {
  position: absolute;
  top: 12px;
  left: 12px;
  background: transparent;
  border: none;
  font-size: 24px;
  color: #191E2A;
  cursor: pointer;
}
.login-options {
  position: absolute;
  display: flex;
  bottom: 0;
  right: 1rem;
  font-family: 'Vazirmatn';
  font-size: small;
  color: gray;
  gap: 5px;
}
.login-options h4 {
  font-weight: 400;
}
.signup, .back-to-login {
  display: flex;
  align-items: center;
  text-decoration: none;
  font-weight: bold;
  color: #191E2A;
  font-size: small;
}
@media (max-width: 767px) {
  .login-box {
    width: 95%;
    height: 80%;
  }
  .login-left {
    width: 100%;
    height: 52%;
    bottom: 0;
  }
  .login-right {
    width: 100%;
  }
  .close-popup {
    position: fixed;
    z-index: 10;
  }
  .login-input {
  width: calc(100% - 2rem - 20px);
  padding: 10px;   
  }
  .login-button {
    padding: 10px;
  }
}

/* ===== Account Page ===== */
body.account-page,
body.account-page main {
  background-color: transparent !important;
}
.account-wall {
  display: none;
  position: fixed;
  top: 0;
  left: -250px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
  pointer-events: none;
  opacity: 0.4;
}
.profile-info span {
  display: inline-block;
}
.account-main {
  position: relative;
  top: 64px;
  min-height: 100vh;
  height: fit-content;
  overflow: visible;
}
body.account-page .left-side {
  position: relative;
  top: 0;
}
.account-section {
  display: flex;
  height: fit-content;
  padding-bottom: 3.5rem;
  min-height: 100vh;
}
.account-profile {
  position: relative;
  right: 2rem;
  width: calc(100% - 3rem);
}
.profile-data {
  position: absolute;
  left: 1rem;
}
.profile-info {
  position: relative;
  top: 0rem;
  padding: 0.2rem 1rem;
  background: white;
  border-radius: 10px;
  font-size: 0.95rem;
  line-height: 1.8;
  color: #333;
}
.change-data {
  position: absolute;
  left: 0.2rem;
  top: 0.2rem;
  color: #191E2A;
  cursor: pointer;
}
.change-data:hover {
  color: #D4AF37;
}
.input-data {
  position: absolute;
  left: 0.8rem;
  border-radius: 5px;
  border-width: 0.5px;
  border-style: solid;
  border-color: #D2CDC8;
  font-family: 'Vazirmatn';
  font-size: 0.95rem;
  text-align: left;
  color: #333;
  width: 60%;
  padding: 5px 2px;
  margin-top: -5px;
}
.account-options {
  position: relative;
  justify-self: left;
  top: 0.5rem;
}
.change-password {
  border-radius: 10px;
  border: none;
  background: none;
  color: #191E2A;
  padding: 5px;
  font-size: medium;
  font-family: 'Vazirmatn';
  width: 110px;
  cursor: pointer;
  transition: color 0.4s;
}
.logout-button {
  border-radius: 10px;
  border: none;
  background-color: transparent;
  color: rgba(220, 20, 60, 1.0);
  padding: 5px;
  font-size: medium;
  font-family: 'Vazirmatn';
  width: 110px;
  cursor: pointer;
  transition: color 0.4s;
}
.change-password:hover {
  color: #D4AF37;
}
.logout-button:hover {
  color: rgba(220, 20, 60, 0.6);
}
.list-content.active {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  padding: 20px 0px;
  justify-items: center;
  opacity: 1;
}
/* Order Card */
#orders-content.active {
  grid-template-columns: repeat(1, 1fr);
  display: block;
  align-items: baseline;
}
body.account-page .left-side {
  height: fit-content;
}
.order-card {
  width: 100%;
  height: 120px;
  border: none;
  border-radius: 10px;
  margin-bottom: 1rem;
  background-color: #F8F6F3c0;
  transition: all 0.4s ease;
  padding: 0;
  backdrop-filter: blur(8px);
}
.order-card:hover {
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}
.order-summary {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 120px;
}
.order-info {
  width: calc(100% - 120px);
  height: 110px;
}
.order-header {
  position: relative;
  display: flex;
  width: calc(100% - 2rem);
  right: 1rem;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #A89F91;
}
.order-header p,
.order-header h3 {
  margin: 0.5rem 0rem;
}
.order-body {
  position: relative;
  display: flex;
  width: calc(100% - 2rem);
  top: -0.2rem;
  right: 1rem;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.order-body p {
  font-size: small;
}
.order-status {
  position: absolute;
  width: 100px;
  text-align: center;
  left: 0rem;
  bottom: -2rem;
  border-radius: 5px;
  padding: 0.2rem 0.5rem;
  color: white;
}
.status-in-progress {
  background-color: goldenrod;
}
.status-at-sending {
  background-color: goldenrod;
}
.status-delivered {
  background-color: green;
}
.status-cancelled {
  background-color: red;
}
.order-thumbnails {
  position: absolute;
  left: 0;
  display: grid;
  grid-template-columns: repeat(2, 60px);
  grid-template-rows: repeat(2, 60px);
  gap: 0px;
  width: 120px;
  height: 120px;
  border-bottom-left-radius: 10px;
  border-top-left-radius: 10px;
  overflow: hidden;
  background-color: #ccc;
}
.order-thumbnails img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: none;
}
.toggle-details {
  position: relative;
  top: -0.5rem;
  padding: 0 1rem;
  background: none;
  border: none;
  color: gray;
  cursor: pointer;
  font-family: 'Vazirmatn';
  font-size: small;
  font-weight: bold;
}
.toggle-details:hover {
  color:#D4AF37;
}
.order-details {
  display: none;
  padding: 0.5rem 1rem;
  font-size: small;
}
.order-details h3 {
  margin-bottom: 0;
}
.order-card.expanded .order-details {
  display: block;
}
.buyer-info {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #D2CDC8;
}
.order-card.expanded {
  height: fit-content;
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}
.order-products {
  margin-top: 0rem;
}
.order-products .product-row {
  padding: 0.5rem 0;
  border-bottom: 1px solid #D2CDC8;
}
.product-row {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.product-row img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid #ccc;
}
.order-product {
  display: flex;
  width: 100%;
  justify-content: space-between;
  direction: rtl;
}
@media (max-width: 768px) {
  .account-section {
    display: block;
  }
  body.account-page .right-side {
    height: 330px;
    border-bottom: solid #A89F91;
  }
  .account-profile {
    right: 1rem;
    width: calc(100% - 2rem);
  }
  .list-bar {
    margin-left: 1rem;
  }
  .list-content {
    width: calc(100% - 2rem);
    left: -1rem;
  }
  .order-card {
    height: 200px;
  }
  .order-info {
    position: absolute;
    top: 60px;
    width: 100%;
  }
  .order-body {
    top: 5px;
  }
  .order-body p {
    margin-block-start: 2px;
    margin-block-end: 0em;
  }
  .order-thumbnails {
    top: 0;
    grid-template-columns: repeat(4, 25%);
    grid-template-rows: repeat(1, 60px);
    width: 100%;
    height: 60px;
    border-bottom-left-radius: 0px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
  }
  .toggle-details {
    top: 0.5rem;
  }
  .order-summary {
    height: 190px;
  }
  body.account-page .product-card {
    left: 0;
  }
}


/* ===== Search Page ===== */
.search-title {
  position: relative;
  right: 2rem;
}

/* ===== Checkout Page ===== */
.checkout-main {
  display: flex;
  gap: 40px;
  padding: 30px;
  max-width: 1000px;
  margin: 0 auto;
  min-height: 95vh;
}
.checkout-section, .checkout-summary {
  position: relative;
  top: 64px;
  background: #fff;
  height: 78vh;
  border-radius: 10px;
  padding: 24px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  flex: 1;
}
.checkout-title {
  margin-top: 0;
}
.shipping-form label {
  display: block;
  margin-bottom: 15px;
  font-weight: 600;
  color: #333;
}
.shipping-form input,
.shipping-form textarea {
  width: calc(100% - 24px);
  padding: 10px;
  margin-top: 6px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-family: inherit;
  font-size: 0.95rem;
}
.shipping-form textarea {
  min-height: 70px;
  resize: vertical;
}
.checkout-summary .section-title {
  margin-bottom: 15px;
  font-size: 1.2rem;
  font-weight: 700;
}
#order-summary {
  font-size: 1rem;
  color: #444;
}
#order-summary p {
  margin: 8px 0;
}
body.checkout-page .confirm-button {
  position: absolute;
  width: auto;
  margin: auto;
  bottom: 32px;
  left: 24px;
  right: 24px;
}
.back-to {
    display: flex;
    padding: 0;
    justify-content: space-between;
    position: absolute;
    width: 220px;
    bottom: 5px;
    transform: translateX(50%);
    right: 50%;
}
.back-to p {
  margin: 0;
  color: lightgray;
}
.back-to a {
  text-decoration: none;
  color:#A89F91;
}
.back-to a:hover {
  color:#D4AF37;
}
@media (max-width: 768px) {
  .checkout-main {
    display: block;
    height: 100vh;
    margin: 0;
    padding: 0;
  }
  .checkout-section {
    overflow: hidden;
    height: auto;
    top: 0;
    padding: 1.5rem 1rem;
    box-shadow: none;
    border-radius: 0;
  }
  .shipping-form label {
    margin-bottom: 10px;
    max-height: 100px;
  }
  .shipping-form textarea {
    min-height: 40px;
  }
  .checkout-summary {
    position: fixed;
    bottom: 0;
    top: auto;
    width: calc(100vw - 2rem);
    height: 220px;
    margin: 0;
    padding: 10px 1rem;
    box-shadow: none;
    border-radius: 0;
    border-top: solid #D2CDC8;
  }
  .checkout-title {
    margin-bottom: 10px;
  }
  body.checkout-page .confirm-button {
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    font-size: 1rem;
    padding: 12px 0;
    margin: 0;
  }
  .back-to {
    display: none;
  }
}

/* ===== About Us Page ===== */
.about-main {
  margin: 0 auto;
  padding: 64px 2rem;
}
.about-hero {
  margin-bottom: 2rem;
}
.about-hero h1 {
  font-size: 2rem;
  color: #333;
  margin-bottom: 5px;
  font-weight: 900;
}
.about-hero p {
  font-size: 1.1rem;
  color: #666;
  line-height: 2;
  margin: 0 auto;
}
.about-highlights {
  display: block;
  margin-bottom: 60px;
  background: #fff;
  padding: 10px 2rem;
  border-radius: 10px;
}
.about-box {
  border-bottom: 1px solid #D2CDC8;
}
.about-box h3 {
  color: #D4AF37;
  margin-bottom: 12px;
  font-size: 1.1rem;
  font-weight: 700;
}
.about-box p {
  color: #555;
  line-height: 1.9;
  font-size: 0.98rem;
}
.about-message {
  text-align: center;
  margin-bottom: 30px;
}
.about-message p {
  font-size: 1.15rem;
  color: #444;
  line-height: 2;
  font-weight: 500;
}
@media (max-width: 768px) {
  .about-main {
    padding: 64px 1rem;
  }
  .about-hero h1 {
    font-size: 1.6rem;
  }
  .about-hero p {
    padding: 0 0rem;
    font-size: 1rem;
  }
  .about-message p {
    font-size: 1rem;
  }
}

/* ===== FAQs Page ===== */
.faqs-main {
  padding: 64px 2rem;
}
#faqSearchInput {
  font-family: "vazirmatn";
  border-radius: 5px;
  border: solid 1px lightgray;
  padding: 5px 10px;
  min-width: 220px;
}
/* Only the contact box on the FAQs page — NOT the support widget's own
   button row (which must stay absolutely positioned inside the widget). */
body.faqs-page .faq-contact-fixed .support-btn-container {
  position: relative;
  width: 300px;
  left: 0;
  bottom: 0;
}
@media (max-width: 768px) {
  .faqs-main {
   padding: 64px 1rem;
  }
  body.faqs-page .faq-contact-fixed .support-btn-container {
    position: relative;
    width: 100%;
    left: 0;
    bottom: 0;
  }
}

/* ===== Legal Pages (Terms & Privacy) ===== */
.legal-main {
  padding: 64px 2rem;
}
.legal-page-wrapper {
  max-width: 860px;
  margin: 0 auto;
}
.legal-page-header {
  margin-bottom: 2rem;
  text-align: center;
}
.legal-page-header h1 {
  font-size: 2rem;
  color: #333;
  margin-bottom: 5px;
  font-weight: 900;
}
.legal-page-header p {
  font-size: 0.95rem;
  color: #999;
}
.legal-content {
  background: #fff;
  padding: 10px 2rem;
  border-radius: 10px;
}
.legal-content section {
  border-bottom: 1px solid #D2CDC8;
  padding: 24px 0;
}
.legal-content section:last-child {
  border-bottom: none;
}
.legal-content h2 {
  color: #D4AF37;
  margin-bottom: 12px;
  font-size: 1.1rem;
  font-weight: 700;
}
.legal-content p {
  color: #555;
  line-height: 1.9;
  font-size: 0.98rem;
  margin: 0 0 10px;
}
.legal-content p:last-child {
  margin-bottom: 0;
}
.legal-content ul {
  color: #555;
  line-height: 1.9;
  font-size: 0.98rem;
  margin: 0 0 10px;
  padding-right: 1.3rem;
}
.legal-content a {
  color: #D4AF37;
  text-decoration: underline;
}
@media (max-width: 768px) {
  .legal-main {
    padding: 64px 1rem;
  }
  .legal-page-header h1 {
    font-size: 1.6rem;
  }
  .legal-content {
    padding: 10px 1.2rem;
  }
}
/* ===== SKELETON LOADER SYSTEM (MATCHES PRODUCT CARDS) ===== */
.skeleton-grid:not([style*="display: none"]) ~ .scroll-arrow,
.skeleton-grid:not([style*="display: none"]) ~ .featured-container .scroll-arrow {
  opacity: 0;
  pointer-events: none;
}
.skeleton-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 2rem;
  padding: 2rem;
  width: 100%;
  max-width: 1536px;
  margin: 0 auto;
}
.skeleton-card {
  width: 300px;
  height: 400px;
  border-radius: 5px;
  background: linear-gradient(
    90deg,
    #E8E8E8 0%,
    #F0F0F0 50%,
    #E8E8E8 100%
  );
  animation: skeletonWave 2s infinite;
  box-shadow: 0 0px 0px rgba(0,0,0,0.08);
  position: relative;
}
.skeleton-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 300px;
  height: 400px;
  background: linear-gradient(
    90deg,
    #E8E8E8 0%,
    #F0F0F0 50%,
    #E8E8E8 100%
  );
  animation: skeletonWave 2s infinite;
  border-radius: 0 0 5px 5px;
}
/* 1. Homepage featured overlays (horizontal scroll) */
.featured-overlay-1 .skeleton-grid,
.featured-overlay-2 .skeleton-grid,
.featured-overlay-3 .skeleton-grid,
.featured-overlay-4 .skeleton-grid {
  display: flex;
  gap: 2rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 0 2rem;
  padding-bottom: 1rem;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}
/* Horizontal scroll layout for skeletons on homepage */
.featured-overlay-1 .skeleton-grid,
.featured-overlay-2 .skeleton-grid,
.featured-overlay-3 .skeleton-grid,
.featured-overlay-4 .skeleton-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}
.skeleton-card {
  flex: 0 0 auto;
  position: relative;
  border-radius: 5px;
  overflow: hidden;
  scroll-snap-align: start;
  box-shadow: 0 0px 0px rgba(0,0,0,0.08);
  transition: box-shadow 0.3s ease;
}
/* 2. Products page grid */
.products-section {
  position: relative;
  min-height: 100vh;
}
/* 3. Search page grid */
.search-page .products-section {
  position: relative;
  min-height: 100vh;
}
#search-skeleton {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: none;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  padding: 20px;
  background: #F8F6F3;
  z-index: 10;
}
/* Animation */
.product-image,
.main-photo,
.thumb {
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, #E8E8E8 0%, #F0F0F0 50%, #E8E8E8 100%);
  background-size: 200% 100%;
}
.product-image::before,
.main-photo::before,
.thumb::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #E8E8E8 0%, #F0F0F0 50%, #E8E8E8 100%);
  background-size: 200% 100%;
  animation: skeletonWave 2s infinite;
  z-index: 0;
  opacity: 1;
  transition: opacity 0.25s ease;
}
.product-image.image-loaded::before,
.main-photo.image-loaded::before,
.thumb.image-loaded::before {
  opacity: 0;
}
.product-image img,
.main-photo img,
.thumb {
  position: relative;
  z-index: 1;
  display: block;
  transition: opacity 0.25s ease;
}
.product-image img.image-loading,
.main-photo img.image-loading,
.thumb.image-loading {
  opacity: 0;
}
.product-image img.image-loaded,
.main-photo img.image-loaded,
.thumb.image-loaded {
  opacity: 1;
}
@keyframes skeletonWave {
  0% {
    background-position: -1000px 0;
  }
  100% {
    background-position: 1000px 0;
  }
}
@media (max-width: 767px) {
  .skeleton-grid {
    grid-template-columns: 1fr;
    padding: 1rem;
    gap: 32px;
  }
  
  .skeleton-card {
    width: calc(100vw - 2rem);
    height: 140px;
  }
}