/* ============================================
   Senoobar — Main CSS v2
   Based on Figma Make / senoobar2 design
   Sections & Component Styles
   RTL | Mobile-First
   ============================================ */

/* ============================================
   HERO
   ============================================ */
.hero {
  position: relative;
  overflow: hidden;
  height: min(560px, 70vh);
}

.hero__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  height: 100%;
}

.hero__image-wrap {
  position: relative;
  overflow: hidden;
}

.hero__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__image-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
}

.hero__content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero__content-inner {
  text-align: center;
  color: var(--color-white);
  padding: 0 24px;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
}

.hero__kicker {
  font-size: 0.85rem;
  font-weight: 300;
  margin-bottom: 8px;
  opacity: 0.9;
}

@media (min-width: 768px) {
  .hero__kicker {
    font-size: 1rem;
  }
}

.hero__title {
  font-size: 2rem;
  font-weight: 900;
  margin-bottom: 8px;
  line-height: 1.2;
}

@media (min-width: 768px) {
  .hero__title {
    font-size: 3.2rem;
  }
}

.hero__subtitle {
  font-size: 0.85rem;
  font-weight: 300;
  margin-bottom: 24px;
  opacity: 0.8;
}

@media (min-width: 768px) {
  .hero__subtitle {
    font-size: 1rem;
  }
}

.hero__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.hero__btn-outline {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.4);
  color: var(--color-white);
  font-weight: 600;
  padding: 12px 24px;
  border-radius: var(--radius-xl);
  transition: var(--transition);
  font-size: 0.85rem;
}

.hero__btn-outline:hover {
  background: rgba(255, 255, 255, 0.3);
}

@media (min-width: 768px) {
  .hero__btn-outline {
    font-size: 1rem;
  }
}

/* ============================================
   CATEGORIES GRID
   ============================================ */
.cats-section {
  background: var(--color-white);
  padding: 48px 0;
  box-shadow: var(--shadow-sm);
}

.cats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

@media (min-width: 640px) {
  .cats-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}

@media (min-width: 992px) {
  .cats-grid {
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
  }
}

.cat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  transition: var(--transition);
  text-align: center;
}

.cat-item:hover {
  transform: translateY(-4px);
}

.cat-item__thumb {
  width: 70px;
  height: 70px;
  border-radius: var(--radius-2xl);
  overflow: hidden;
  background: var(--color-white);
  border: 2px solid var(--color-gray-200);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
}

@media (min-width: 768px) {
  .cat-item__thumb {
    width: 90px;
    height: 90px;
  }
}

.cat-item:hover .cat-item__thumb {
  border-color: var(--color-brand);
  box-shadow: 0 4px 16px rgba(30, 58, 47, 0.2);
}

.cat-item__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cat-item__thumb .placeholder {
  width: 100%;
  height: 100%;
  background: var(--color-brand-lighter);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  color: var(--color-brand);
}

.cat-item__title {
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-gray-700);
  transition: color var(--transition-fast);
}

.cat-item:hover .cat-item__title {
  color: var(--color-brand);
}

@media (min-width: 768px) {
  .cat-item__title {
    font-size: 0.85rem;
  }
}

/* ============================================
   PRODUCTS GRID
   ============================================ */
.products-grid {
  /* Grid is on inner ul.products — this is just a container */
}

/* WooCommerce product cards (non-shop pages) */
body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .woocommerce ul.products,
body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .products-grid ul.products {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .woocommerce ul.products::before,
body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .woocommerce ul.products::marker,
body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .products-grid ul.products::before,
body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .products-grid ul.products::marker {
  content: none !important;
  display: none !important;
}

@media (min-width: 640px) {
  body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .woocommerce ul.products,
  body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .products-grid ul.products {
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
}

@media (min-width: 992px) {
  body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .woocommerce ul.products,
  body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .products-grid ul.products {
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
  }
}

/* ── Product card: clean, centered ── */
.senoobar-product-card,
body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .woocommerce ul.products li.product,
body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .products-grid ul.products li.product {
  background: var(--color-white);
  border-radius: var(--radius-2xl);
  overflow: hidden;
  box-shadow: var(--shadow-xs);
  transition: all var(--transition);
  border: 1px solid var(--color-gray-100);
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  box-sizing: border-box;
  text-align: center;
}
.senoobar-product-card::marker,
.senoobar-product-card::before,
body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .woocommerce ul.products li.product::marker,
body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .woocommerce ul.products li.product::before,
body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .products-grid ul.products li.product::marker,
body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .products-grid ul.products li.product::before {
  content: none !important;
  display: none !important;
}
/* Product link inside card */
.senoobar-product-card > a.woocommerce-LoopProduct-link,
body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .products-grid ul.products li.product > a.woocommerce-LoopProduct-link {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  text-decoration: none !important;
  color: inherit !important;
  overflow: hidden !important;
  flex: 1 !important;
  float: none !important;
}
.senoobar-product-card > a.woocommerce-LoopProduct-link img,
body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link img,
body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .products-grid ul.products li.product > a.woocommerce-LoopProduct-link img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 !important;
  object-fit: cover !important;
  margin: 0 !important;
  float: none !important;
}
.senoobar-product-card .woocommerce-loop-product__title,
body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .woocommerce ul.products li.product .woocommerce-loop-product__title,
body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .products-grid ul.products li.product .woocommerce-loop-product__title {
  font-size: 0.8rem;
  font-weight: 600;
  padding: 10px 12px 2px;
  margin: 0;
  line-height: 1.6;
  color: var(--color-text);
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .senoobar-product-card .woocommerce-loop-product__title,
  body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body:not(.woocommerce-shop):not(.woocommerce-taxonomy) .products-grid ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.72rem;
  }
}

/* Delete old duplicate rules */
.woocommerce ul.products li.product {
  list-style: none !important;
}
.woocommerce ul.products li.product::marker {
  content: none !important;
  display: none !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title::before {
  content: none !important;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-xl);
}

.woocommerce ul.products li.product img {
  aspect-ratio: 1;
  object-fit: cover;
  margin: 0;
  border-radius: 0;
  transition: transform var(--transition-slow);
}

.woocommerce ul.products li.product:hover img {
  transform: scale(1.05);
}

.woocommerce ul.products li.product .price {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--color-gray-900) !important;
  padding: 0 12px 8px;
  margin: 0;
  text-align: center !important;
  width: 100%;
  box-sizing: border-box;
}

.woocommerce ul.products li.product .price del {
  font-size: 0.7rem;
  color: var(--color-gray-400);
  opacity: 1;
  margin-left: 4px;
}

.woocommerce ul.products li.product .price ins {
  background: 0 0;
  text-decoration: none;
}

.woocommerce ul.products li.product .button {
  display: block !important;
  margin: 0 12px 12px !important;
  padding: 10px !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-align: center !important;
  background: var(--color-brand) !important;
  color: var(--color-white) !important;
  border-radius: var(--radius-xl) !important;
  transition: var(--transition) !important;
  align-self: center !important;
  width: calc(100% - 24px) !important;
  box-sizing: border-box !important;
}

.woocommerce ul.products li.product .button:hover {
  background: var(--color-brand-dark) !important;
  opacity: 0.9;
}

.woocommerce ul.products li.product .added_to_cart {
  display: block;
  text-align: center;
  font-size: 0.7rem;
  padding: 0 12px 8px;
  color: var(--color-success);
}

/* Sale badge */
.woocommerce ul.products li.product .onsale,
.onsale-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: var(--color-red);
  color: var(--color-white);
  padding: 2px 8px;
  border-radius: 8px;
  font-size: 0.7rem;
  font-weight: 700;
  z-index: 5;
}

/* New badge */
.new-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: var(--color-brand);
  color: var(--color-white);
  padding: 2px 8px;
  border-radius: 8px;
  font-size: 0.7rem;
  font-weight: 700;
  z-index: 5;
}

/* Discount badge */
.discount-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--color-red);
  color: var(--color-white);
  padding: 2px 8px;
  border-radius: 8px;
  font-size: 0.7rem;
  font-weight: 700;
  z-index: 5;
}

/* Wishlist heart */
.wishlist-btn {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 28px;
  height: 28px;
  background: var(--color-white);
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-md);
  transition: transform var(--transition-fast);
  z-index: 5;
}

.wishlist-btn:hover {
  transform: scale(1.1);
}

/* Star rating */
.star-rating {
  display: flex;
  gap: 2px;
  color: var(--color-amber);
  font-size: 0.75rem;
  padding: 0 12px;
  margin-bottom: 4px;
}

/* ============================================
   SERVICES / TRUST BADGES
   ============================================ */
.services-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

@media (min-width: 768px) {
  .services-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
  }
}

.service-card {
  text-align: center;
  padding: 16px 12px;
  background: var(--color-white);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-gray-100);
  transition: var(--transition);
  display: flex;
  align-items: center;
  gap: 12px;
}

.service-card:hover {
  background: var(--color-gray-50);
}

.service-card__icon {
  font-size: 1.8rem;
}

.service-card__title {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--color-gray-900);
  margin-bottom: 2px;
}

.service-card__desc {
  font-size: 0.73rem;
  color: var(--color-text-light);
  line-height: 1.6;
}

/* ============================================
   PROMO BANNERS
   ============================================ */
.promo-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

@media (min-width: 768px) {
  .promo-grid {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
}

.promo-card {
  position: relative;
  border-radius: var(--radius-3xl);
  overflow: hidden;
  min-height: 250px;
  display: flex;
  align-items: flex-end;
}

@media (min-width: 768px) {
  .promo-card {
    min-height: 320px;
  }
}

.promo-card__bg img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.promo-card:hover .promo-card__bg img {
  transform: scale(1.05);
}

.promo-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to left, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.05) 100%);
}

.promo-card__content {
  position: relative;
  z-index: 2;
  padding: 24px 20px;
  color: var(--color-white);
  text-align: right;
}

.promo-card__kicker {
  opacity: 0.8;
  font-size: 0.85rem;
  margin-bottom: 4px;
}

.promo-card__title {
  font-size: 1.2rem;
  font-weight: 900;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .promo-card__title {
    font-size: 1.5rem;
  }
}

.promo-card__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--color-white);
  color: var(--color-gray-900);
  font-weight: 600;
  padding: 10px 20px;
  border-radius: var(--radius-xl);
  font-size: 0.85rem;
  transition: var(--transition);
}

.promo-card__btn:hover {
  background: var(--color-gray-100);
}

/* ============================================
   BEST SELLERS SLIDER
   ============================================ */
.bestsellers-section {
  padding: 16px 0 48px;
}

.bestsellers-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

@media (min-width: 768px) {
  .bestsellers-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Mobile: single-column bestsellers */
@media (max-width: 767px) {
  .bestsellers-grid {
    grid-template-columns: 1fr !important;
  }
}

.bestseller-card {
  background: var(--color-white);
  border-radius: var(--radius-2xl);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition);
  display: block;
}

.bestseller-card:hover {
  box-shadow: var(--shadow-md);
}

.bestseller-card img {
  width: 100%;
  height: 176px;
  object-fit: cover;
  transition: transform var(--transition);
}

.bestseller-card:hover img {
  transform: scale(1.05);
}

.bestseller-card__body {
  padding: 12px;
}

.bestseller-card__title {
  font-weight: 500;
  color: var(--color-gray-900);
  font-size: 0.85rem;
  margin-bottom: 4px;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Mobile: 2-column bestsellers with 2-line title */
@media (max-width: 767px) {
  .bestsellers-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px;
  }
  .bestseller-card__title {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 0.78rem;
    line-height: 1.5;
  }
}

.bestseller-card__price {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--color-gray-900);
}

.bestseller-card__price span {
  font-size: 0.7rem;
  color: var(--color-gray-500);
  font-weight: 400;
}

/* Slider arrows */
.slider-arrows {
  display: flex;
  align-items: center;
  gap: 8px;
}

.slider-arrow {
  width: 36px;
  height: 36px;
  border-radius: var(--radius-full);
  border: 1px solid var(--color-gray-300);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-gray-600);
  transition: var(--transition);
}

.slider-arrow:hover {
  border-color: var(--color-brand);
  color: var(--color-brand);
}

.slider-arrow:disabled {
  opacity: 0.3;
}

/* ============================================
   INSPIRATION GALLERY
   ============================================ */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
}

@media (min-width: 640px) {
  .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
}

@media (min-width: 992px) {
  .gallery-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
  }
}

.gallery-item {
  border-radius: var(--radius-2xl);
  overflow: hidden;
  position: relative;
  cursor: pointer;
  padding-bottom: 75%;
}

.gallery-item img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.gallery-item:hover img {
  transform: scale(1.05);
}

.gallery-item__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, transparent 100%);
  opacity: 0;
  transition: opacity var(--transition);
}
/* Mobile: always show overlay + label */
@media (max-width: 767px) {
  .gallery-item__overlay {
    opacity: 0.7;
  }
}

.gallery-item:hover .gallery-item__overlay {
  opacity: 1;
}

.gallery-item__label {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  color: var(--color-white);
  font-size: 0.85rem;
  font-weight: 600;
  transform: translateY(100%);
  transition: transform var(--transition);
  z-index: 2;
}
/* Mobile: always show label */
@media (max-width: 767px) {
  .gallery-item__label {
    transform: translateY(0);
  }
}
.gallery-item:hover .gallery-item__label {
  transform: translateY(0);
}

/* ============================================
   TESTIMONIALS
   ============================================ */
.testimonials-section {
  background: var(--color-white);
  padding: 48px 0;
}

@media (min-width: 768px) {
  .testimonials-section {
    padding: 72px 0;
  }
}

.testimonials-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

@media (min-width: 768px) {
  .testimonials-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}

.testimonial-card {
  background: var(--color-white);
  padding: 24px 20px;
  border-radius: var(--radius-2xl);
  border: 1px solid var(--color-gray-100);
  transition: var(--transition);
}

.testimonial-card.active {
  border-color: var(--color-brand-light);
  background: var(--color-brand-lighter);
}

.testimonial-card__stars {
  display: flex;
  gap: 2px;
  color: var(--color-amber);
  margin-bottom: 12px;
}

.testimonial-card__quote {
  color: var(--color-gray-300);
  margin-bottom: 8px;
}

.testimonial-card__text {
  font-size: 0.85rem;
  color: var(--color-gray-700);
  line-height: 2;
  margin-bottom: 16px;
}

.testimonial-card__author {
  display: flex;
  align-items: center;
  gap: 12px;
}

.testimonial-card__avatar {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-full);
  background: var(--color-brand-lighter);
  color: var(--color-brand);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.testimonial-card__avatar svg {
  width: 28px;
  height: 28px;
}

.testimonial-card__name {
  font-weight: 600;
  color: var(--color-gray-900);
  font-size: 0.85rem;
}

.testimonial-card__city {
  font-size: 0.7rem;
  color: var(--color-gray-500);
}

/* Slider dots */
.slider-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
}

.slider-dot {
  width: 8px;
  height: 8px;
  border-radius: var(--radius-full);
  background: var(--color-gray-300);
  transition: var(--transition);
  border: none;
  cursor: pointer;
}

.slider-dot.active {
  width: 24px;
  background: var(--color-brand);
}

/* ============================================
   BRAND STORY
   ============================================ */
.story-section {
  padding: 48px 0;
}

@media (min-width: 768px) {
  .story-section {
    padding: 72px 0;
  }
}

.story__wrap {
  position: relative;
  border-radius: var(--radius-3xl);
  overflow: hidden;
}

.story__bg {
  position: absolute;
  inset: 0;
}

.story__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.story__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}

.story__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 32px 24px;
  min-height: 300px;
}

@media (min-width: 768px) {
  .story__content {
    flex-direction: row;
    padding: 48px 40px;
    min-height: 400px;
  }
}

.story__text {
  color: var(--color-white);
  text-align: center;
}

@media (min-width: 768px) {
  .story__text {
    text-align: right;
  }
}

.story__text h2 {
  font-size: 1.4rem;
  font-weight: 900;
  margin-bottom: 12px;
}

@media (min-width: 768px) {
  .story__text h2 {
    font-size: 2rem;
  }
}

.story__text p {
  opacity: 0.8;
  line-height: 2;
  margin-bottom: 20px;
  font-size: 0.9rem;
  max-width: 480px;
}

.story__watch-btn {
  display: inline-block;
  margin-top: 16px;
  border: 1px solid var(--color-white);
  color: var(--color-white);
  font-weight: 600;
  padding: 10px 24px;
  border-radius: var(--radius-xl);
  font-size: 0.85rem;
  transition: var(--transition);
}

.story__watch-btn:hover {
  background: rgba(255, 255, 255, 0.1);
}

.story__play {
  width: 64px;
  height: 64px;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(8px);
  border: 2px solid var(--color-white);
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
  flex-shrink: 0;
  margin-top: 20px;
}

@media (min-width: 768px) {
  .story__play {
    margin-top: 0;
  }
}

.story__play:hover {
  background: rgba(255, 255, 255, 0.3);
}

.story__play svg {
  width: 28px;
  height: 28px;
  color: var(--color-white);
  margin-right: -2px;
}

/* ============================================
   BLOG SECTION
   ============================================ */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

@media (min-width: 768px) {
  .blog-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
  }
}

.blog-card {
  background: var(--color-white);
  border-radius: var(--radius-2xl);
  overflow: hidden;
  border: 1px solid var(--color-gray-100);
  transition: box-shadow var(--transition);
  display: block;
}

.blog-card:hover {
  box-shadow: var(--shadow-md);
}

.blog-card__img {
  overflow: hidden;
}

.blog-card__img img {
  width: 100%;
  height: 176px;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.blog-card:hover .blog-card__img img {
  transform: scale(1.04);
}

.blog-card__body {
  padding: 12px;
}

.blog-card__meta {
  font-size: 0.7rem;
  color: var(--color-gray-700);
  margin-bottom: 4px;
  display: flex;
  gap: 8px;
}

.blog-card__title {
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.7;
  color: var(--color-text);
  transition: color var(--transition-fast);
}

.blog-card:hover .blog-card__title {
  color: var(--color-brand);
}

/* ============================================
   IDEAS GALLERY (گالری ایده‌ها)
   عکس/ویدیو محور — شبیه پست شبکه‌های اجتماعی
   ============================================ */
.idea-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

@media (min-width: 640px) {
  .idea-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; }
}

@media (min-width: 992px) {
  .idea-grid { grid-template-columns: repeat(4, 1fr); gap: 16px; }
}

.idea-card {
  display: block;
  background: var(--color-white);
  border-radius: var(--radius-2xl);
  overflow: hidden;
  border: 1px solid var(--color-gray-100);
  transition: box-shadow var(--transition), transform var(--transition);
  text-decoration: none;
  color: inherit;
}

.idea-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}

.idea-card__media {
  position: relative;
  overflow: hidden;
  padding-bottom: 100%; /* مربع، شبیه پست اینستاگرام */
}

.idea-card__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.idea-card:hover .idea-card__media img {
  transform: scale(1.05);
}

.idea-card__badge {
  position: absolute;
  top: 10px;
  left: 10px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 999px;
  z-index: 2;
}

.idea-card__badge svg {
  flex: 0 0 auto;
}

.idea-card__body {
  padding: 12px 14px;
}

.idea-card__title {
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.7;
  color: var(--color-text);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.idea-card:hover .idea-card__title {
  color: var(--color-brand);
}

/* صفحه‌ی «گالری ایده‌ها» — هدر مثل پیج */
.ideas-page__header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.ideas-page__avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--color-brand);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ideas-page__avatar svg {
  width: 32px;
  height: 32px;
}

.ideas-page__info {
  min-width: 0;
}

.ideas-page__sub {
  color: var(--color-gray-500);
  margin: 4px 0 0;
}

.ideas-page__empty {
  text-align: right;
  color: var(--color-gray-500);
  padding: 40px 0;
}

/* صفحه‌ی تکی ایده — شبیه اینستاگرام (تمام‌صفحه در موبایل) */
/* ────────────────────────────────────────────────
   صفحه‌ی تکی ایده — تمام‌صفحه با لوپ (ریلز اینستاگرام)
   بدون هدر/فوتر تم؛ پس‌زمینه سیاه
   ──────────────────────────────────────────────── */
.senoobar-idea-single {
  margin: 0;
  background: #000;
  overflow: hidden;
  overscroll-behavior: none;
  height: 100%;
}

.idea-feed {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  background: #000;
  color: #fff;
  font-family: inherit;
  touch-action: none;
  overflow: hidden;
}

/* ── نوار بالا ── */
.idea-feed__topbar {
  position: relative;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: linear-gradient(to bottom, rgba(0,0,0,0.6), rgba(0,0,0,0));
}

.idea-feed__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: #fff;
  text-decoration: none;
  background: rgba(0,0,0,0.35);
}
.idea-feed__close:hover { background: rgba(255,255,255,0.15); }
.idea-feed__close svg { width: 22px; height: 22px; }

.idea-feed__topbar-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  font-weight: 600;
}

/* آواتار (مثل عکس پروفایل) */
.idea-feed__avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #333;
  border: 1.5px solid rgba(255,255,255,0.85);
}
.idea-feed__avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.idea-feed__avatar-fallback {
  font-size: 0.9rem;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}

.idea-feed__count {
  margin-inline-start: auto;
  font-size: 0.8rem;
  opacity: 0.85;
  font-variant-numeric: tabular-nums;
}

/* ── ریل اسلایدها ── */
.idea-feed__track {
  position: relative;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

.idea-feed__slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  will-change: transform;
  transform: translateY(calc(var(--dy, 0) * 100%));
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.idea-feed__media {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.idea-feed__img,
.idea-feed__video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.idea-feed__ph { color: rgba(255,255,255,0.5); }

/* دکمه صدا — pill با آیکن + متن */
.idea-feed__sound {
  position: absolute;
  right: 14px;
  bottom: 110px;
  z-index: 16;
  display: flex;
  align-items: center;
  gap: 6px;
  height: 40px;
  padding: 0 16px 0 12px;
  border-radius: 20px;
  border: none;
  background: rgba(0,0,0,0.55);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: background 0.2s;
}
.idea-feed__sound:hover { background: rgba(0,0,0,0.75); }
.idea-feed__sound svg { width: 22px; height: 22px; flex: 0 0 auto; }

.idea-feed__sound .idea-sound-label {
  font-size: 0.8rem;
  font-weight: 600;
  white-space: nowrap;
}

/* آیکن‌ها */
.idea-feed__sound .idea-sound-on { display: block; }
.idea-feed__sound .idea-sound-off { display: none; }

/* متن‌ها */
.idea-feed__sound .idea-sound-label-on { display: block; }
.idea-feed__sound .idea-sound-label-off { display: none; }

/* حالت muted (صداست بسته): آیکن بی‌صدا + متن «صدا دار کردن» */
.idea-feed__sound.is-muted .idea-sound-on { display: none; }
.idea-feed__sound.is-muted .idea-sound-off { display: block; }
.idea-feed__sound.is-muted .idea-sound-label-on { display: none; }
.idea-feed__sound.is-muted .idea-sound-label-off { display: block; }

/* کپشن پایین */
.idea-feed__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  padding: 60px 16px 18px;
  background: linear-gradient(to top, rgba(0,0,0,0.8), rgba(0,0,0,0));
  pointer-events: none;
}

.idea-feed__title {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0 0 6px;
  line-height: 1.6;
}

.idea-feed__content {
  font-size: 0.9rem;
  line-height: 2;
  opacity: 0.92;
  max-width: 60ch;
}
.idea-feed__content p { margin: 0 0 6px; }

.idea-feed__empty {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.6);
}

/* ── نشانگر اسکرول (انیمیشن) ── */
.idea-feed__hint {
  position: absolute;
  left: 50%;
  bottom: 24px;
  z-index: 25;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  color: #fff;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.5s ease;
}
.idea-feed__hint.is-visible { opacity: 1; }

.idea-feed__hint-label {
  font-size: 0.78rem;
  font-weight: 600;
  background: rgba(0,0,0,0.45);
  padding: 4px 12px;
  border-radius: 999px;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.idea-feed__hint-arrow {
  width: 24px;
  height: 24px;
  animation: idea-hint-bounce 1.6s ease-in-out infinite;
}

@keyframes idea-hint-bounce {
  0%, 100% { transform: translateY(0); opacity: 1; }
  50%      { transform: translateY(10px); opacity: 0.4; }
}

/* ── دسکتاپ: ستون باریک وسط ── */
@media (min-width: 768px) {
  .idea-feed { background: rgba(0,0,0,0.92); }

  .idea-feed__topbar {
    position: absolute;
    left: 50%;
    right: auto;
    top: 24px;
    transform: translateX(-50%);
    width: 480px;
    max-width: 90vw;
    border-radius: 14px;
    background: rgba(0,0,0,0.4);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  .idea-feed__track {
    padding: 24px 0;
    display: flex;
    justify-content: center;
  }

  .idea-feed__slide {
    inset: 0 auto 0 auto;
    left: 0;
    right: 0;
    margin: 0 auto;
    transform: translateY(calc(var(--dy, 0) * 100%));
    width: 480px;
    max-width: 90vw;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,0.6);
  }

  /* در دسکتاپ شمارنده بالای ستون */
  .idea-feed__hint { bottom: 40px; }
}

/* ============================================
   NEWSLETTER
/* ============================================
   NEWSLETTER
/* ============================================
   NEWSLETTER
   ============================================ */
.newsletter-section {
  padding: 48px 0;
}

@media (min-width: 768px) {
  .newsletter-section {
    padding: 72px 0;
  }
}

.newsletter__wrap {
  background: var(--color-brand);
  border-radius: var(--radius-3xl);
  padding: 32px 24px;
  text-align: center;
}

@media (min-width: 768px) {
  .newsletter__wrap {
    padding: 48px 32px;
  }
}

.newsletter__wrap h2 {
  font-size: 1.3rem;
  font-weight: 900;
  color: var(--color-white);
  margin-bottom: 8px;
}

@media (min-width: 768px) {
  .newsletter__wrap h2 {
    font-size: 2rem;
  }
}

.newsletter__wrap p {
  opacity: 0.7;
  color: var(--color-white);
  font-size: 0.88rem;
  margin-bottom: 24px;
  line-height: 1.8;
}

.newsletter-form {
  display: flex;
  max-width: 480px;
  margin: 0 auto;
}

.newsletter-form input {
  flex: 1;
  padding: 12px 20px;
  border: none;
  border-radius: 0 var(--radius-xl) var(--radius-xl) 0;
  font-size: 0.9rem;
  outline: none;
  color: var(--color-text);
  min-width: 0;
}

.newsletter-form input::placeholder {
  color: var(--color-gray-500);
}

.newsletter-form button {
  padding: 12px 28px;
  background: var(--color-white);
  color: var(--color-brand);
  font-weight: 700;
  font-size: 0.9rem;
  border-radius: var(--radius-xl) 0 0 var(--radius-xl);
  transition: var(--transition);
  white-space: nowrap;
}

.newsletter-form button:hover {
  background: var(--color-gray-100);
}

.newsletter-message {
  display: none;
  margin-top: 12px;
  padding: 10px 16px;
  border-radius: var(--radius-lg);
  font-size: 0.85rem;
  text-align: center;
}

.newsletter-message.success {
  display: block;
  background: rgba(255, 255, 255, 0.2);
  color: var(--color-white);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.newsletter-message.error {
  display: block;
  background: rgba(255, 0, 0, 0.1);
  color: #ff6b6b;
  border: 1px solid rgba(255, 0, 0, 0.2);
}

.newsletter-form button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* ============================================
   PAGE CONTENT
   ============================================ */
.page-content {
  padding: 40px 0;
}

@media (min-width: 768px) {
  .page-content {
    padding: 60px 0;
  }
}

/* ============================================
   SINGLE PRODUCT
   ============================================ */
.single-product .product {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

@media (min-width: 768px) {
  .single-product .product {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
}

.single-product .product_title {
  font-size: 1.4rem;
  font-weight: 900;
  margin-bottom: 10px;
}

.single-product .price {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--color-brand);
  margin-bottom: 14px;
}

.single_add_to_cart_button {
  padding: 12px 32px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  background: var(--color-brand) !important;
  color: var(--color-white) !important;
  border-radius: var(--radius-full) !important;
  transition: var(--transition) !important;
}

.single_add_to_cart_button:hover {
  background: var(--color-brand-dark) !important;
}

/* ============================================
   WOOCOMMERCE TABS
   ============================================ */
.woocommerce-tabs .tabs {
  display: flex;
  gap: 4px;
  list-style: none;
  border-bottom: 2px solid var(--color-gray-200);
  padding: 0;
  margin: 40px 0 20px;
  overflow-x: auto;
}

.woocommerce-tabs .tabs li a {
  display: block;
  padding: 10px 20px;
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--color-text-light);
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  white-space: nowrap;
  transition: var(--transition);
}

.woocommerce-tabs .tabs li.active a {
  color: var(--color-brand);
  border-bottom-color: var(--color-brand);
}

/* ============================================
   CART & CHECKOUT
   ============================================ */
.woocommerce-cart table.cart {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-cart table.cart th {
  background: var(--color-off-white);
  padding: 12px;
  font-size: 0.85rem;
  text-align: right;
}

@media (max-width: 768px) {
  .woocommerce-cart table.cart thead {
    display: none;
  }
  .woocommerce-cart table.cart tr {
    display: block;
    border-bottom: 2px solid var(--color-gray-200);
    padding: 14px 0;
  }
  .woocommerce-cart table.cart td {
    display: block;
    text-align: left;
    padding: 5px 0;
    border: none;
  }
}

.woocommerce-checkout .woocommerce {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

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

.woocommerce-breadcrumb {
  font-size: 0.8rem;
  color: var(--color-text-light);
  margin-bottom: 16px;
}

.woocommerce-breadcrumb a {
  color: var(--color-brand);
}

/* ============================================
   UTILITY
   ============================================ */
.text-center { text-align: center; }
.mt-1 { margin-top: 8px; }
.mt-2 { margin-top: 16px; }
.mt-3 { margin-top: 24px; }
.mb-2 { margin-bottom: 8px; }
.mb-3 { margin-bottom: 12px; }
.mb-4 { margin-bottom: 16px; }
.mb-6 { margin-bottom: 24px; }
.mb-8 { margin-bottom: 32px; }

.section-link {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--color-brand);
  transition: var(--transition-fast);
}

.section-link:hover {
  text-decoration: underline;
}

/* Flex helpers */
.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* ============================================
   SHOP PAGE LAYOUT — COMPLETE RESPONSIVE
   ============================================ */

/* ── Default: Mobile-first ── */
.shop-layout {
  display: block;
  width: 100%;
}

.shop-sidebar {
  width: 100%;
  min-width: 0;
}

.shop-main {
  width: 100%;
  min-width: 0;
  margin-top: 20px;
}

.products-wrapper {
  width: 100%;
  min-width: 0;
}

/* ── Product Grid (base, grid-view) ── */
body .shop-main ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body .shop-main ul.products li.product {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
}

body .shop-main ul.products li.product img {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}

body .shop-main ul.products::before,
body .shop-main ul.products::after {
  display: none !important;
  content: none !important;
}

/* List-view override */
body .shop-main.list-view ul.products {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

body .shop-main.list-view ul.products li.product {
  display: grid !important;
  grid-template-columns: 220px minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: center !important;
  padding: 20px !important;
  border-radius: 12px !important;
  border: 1px solid #e5e7eb !important;
}

/* ── Mobile — 1 col, 12px gap ── */
@media (max-width: 767px) {
  .shop-layout { display: block; }
  .shop-sidebar { width: 100%; }
  .shop-main { width: 100%; margin-top: 16px; }
  body .shop-main ul.products {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }
}

/* ── Tablet 768-991 — 2 cols, 16px gap ── */
@media (min-width: 768px) and (max-width: 991px) {
  .shop-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
  }
  .shop-main { margin-top: 0; }
  body .shop-main ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
  body .shop-main.list-view ul.products li.product {
    grid-template-columns: 180px minmax(0, 1fr) !important;
    gap: 18px !important;
    padding: 16px !important;
  }
}

/* ── Tablet 992-1199 — 3 cols, 20px gap ── */
@media (min-width: 992px) and (max-width: 1199px) {
  .shop-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 26px;
    align-items: start;
  }
  .shop-main { margin-top: 0; }
  body .shop-main ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
  body .shop-main.list-view ul.products li.product {
    grid-template-columns: 200px minmax(0, 1fr) !important;
    gap: 20px !important;
    padding: 18px !important;
  }
}

/* ── Desktop 1200+ — 3 cols, wider cards, 24px gap ── */
@media (min-width: 1200px) {
  .shop-layout {
    display: grid;
    grid-template-columns: 290px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
  }
  .shop-main { margin-top: 0; }
  body .shop-main ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
  body .shop-main.list-view ul.products li.product {
    grid-template-columns: 240px minmax(0, 1fr) !important;
    gap: 24px !important;
    padding: 20px !important;
  }
}

/* ─── Styled تومان currency label ───────────────────── */
.pd-currency {
  font-size: 0.72em;
  font-weight: 500;
  color: var(--color-text-muted);
  margin-inline-start: 4px;
  letter-spacing: 0.2px;
  white-space: nowrap;
}

/* ─── Cart bump animation (fires on add-to-cart) ────── */
@keyframes senoobar-cart-bump {
  0%   { transform: scale(1) rotate(0deg); }
  25%  { transform: scale(1.25) rotate(-8deg); }
  50%  { transform: scale(1.08) rotate(6deg); }
  75%  { transform: scale(1.18) rotate(-3deg); }
  100% { transform: scale(1) rotate(0deg); }
}

.cart-bump {
  animation: senoobar-cart-bump 0.55s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

/* Badge pulse — a quick grow + glow to draw the eye */
@keyframes senoobar-badge-pop {
  0%   { transform: scale(1); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.6); }
  40%  { transform: scale(1.45); box-shadow: 0 0 0 6px rgba(239, 68, 68, 0); }
  70%  { transform: scale(0.95); }
  100% { transform: scale(1.15); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
}

.cart-bump .cart-badge,
.cart-bump .mbn-badge {
  animation: senoobar-badge-pop 0.6s ease-out both;
}
