/**
 * Shop + product listing cards — app-like mobile, web-app desktop
 */

/* Listing cards: image → title → price, no hover clutter */
.store-card-layout-listing,
.store-card-layout-stacked {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(26, 18, 24, 0.05);
}
.store-card-layout-listing .store-card-hover,
.store-card-layout-stacked .store-card-hover {
  display: none !important;
}
.store-card-layout-listing .store-card-stacked-link,
.store-card-layout-stacked .store-card-stacked-link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  flex: 1 1 auto;
}
.store-card-media-link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  text-decoration: none;
  color: inherit;
}
.store-card-media-link img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ——— Shop page ——— */
.page-shop .app-main {
  background: #f6f4f5 !important;
}
.page-shop .page-breadcrumb {
  padding: 10px 14px 0;
  max-width: 1280px;
}
.page-shop .shop-page-shell {
  max-width: 1280px;
  margin: 0 auto;
}
.page-shop .shop-page-hero {
  margin: 0 !important;
  padding: 16px 14px 14px !important;
  border-radius: 0 !important;
  border: none !important;
  border-bottom: 1px solid #ebe6e8 !important;
  box-shadow: none !important;
  background: #fff !important;
}
.page-shop .shop-page-hero h1 {
  font-size: 1.375rem !important;
  font-weight: 800 !important;
  margin: 0 0 4px !important;
  letter-spacing: -0.02em;
}
.page-shop .shop-sub {
  font-size: 0.875rem !important;
  color: #6d5f66 !important;
  margin: 0 0 12px !important;
}
.page-shop .shop-count {
  font-size: 0.8125rem;
  color: #9e8e94;
  margin: 0 0 10px;
  font-weight: 600;
}
.page-shop .shop-filters-wrap {
  gap: 8px !important;
  padding: 2px 0 4px !important;
  mask-image: none !important;
}
.page-shop .filter-pill {
  padding: 10px 16px !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  border: 1px solid #e0d5da !important;
}
.page-shop .shop-products-wrap {
  padding: 12px 12px 28px !important;
}
.page-shop .shop-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
.page-shop .shop-grid .store-product-card {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
.page-shop .shop-grid .store-card-title {
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  min-height: 0 !important;
  -webkit-line-clamp: 2 !important;
}
.page-shop .shop-grid .store-price {
  font-size: 1rem !important;
  font-weight: 800 !important;
}
.page-shop .shop-grid .store-mrp {
  font-size: 0.75rem !important;
}
.page-shop .shop-grid .store-off {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
}
.page-shop .shop-grid .store-card-info {
  padding: 10px 10px 8px !important;
}
.page-shop .shop-grid .store-card-actions-bar {
  padding: 0 8px 8px !important;
  gap: 6px !important;
}
.page-shop .shop-grid .store-card-actions-bar button {
  font-size: 0.6875rem !important;
  padding: 9px 6px !important;
  border-radius: 8px !important;
  font-weight: 800 !important;
}
.page-shop .shop-grid .store-card-actions-bar .act-wish {
  flex: 0 0 40px !important;
  font-size: 1rem !important;
}
@media (min-width: 640px) {
  .page-shop .shop-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
  .page-shop .shop-page-hero h1 {
    font-size: 1.5rem !important;
  }
}
@media (min-width: 1024px) {
  .page-shop .shop-page-hero {
    padding: 20px 20px 16px !important;
    border-radius: 0 0 16px 16px !important;
    margin: 0 16px 0 !important;
    max-width: calc(1280px - 32px);
    margin-left: auto !important;
    margin-right: auto !important;
    box-shadow: 0 4px 24px rgba(26, 18, 24, 0.06) !important;
  }
  .page-shop .shop-products-wrap {
    padding: 16px 16px 40px !important;
  }
  .page-shop .shop-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
  .page-shop .shop-grid .store-card-title {
    font-size: 0.9375rem !important;
  }
  .page-shop .shop-grid .store-price {
    font-size: 1.0625rem !important;
  }
}

/* ——— Product detail page ——— */
.page-product .product-detail-title {
  font-size: 1.375rem !important;
}
.page-product .product-detail-price {
  font-size: 1.5rem !important;
}
.page-product .product-detail-short {
  font-size: 0.9375rem !important;
  line-height: 1.55 !important;
}
.page-product .product-detail-rating {
  font-size: 0.875rem !important;
}
.page-product .product-detail-panels .tab-panel {
  font-size: 0.9375rem !important;
}
.page-product .product-tab {
  font-size: 0.8125rem !important;
  padding: 12px 14px !important;
}
.product-detail-related .store-card-hover {
  display: none !important;
}
.product-detail-related .store-product-card {
  border-radius: 12px !important;
  overflow: hidden !important;
}
.product-detail-related .store-card-title {
  font-size: 0.875rem !important;
}
.product-detail-related .store-price {
  font-size: 1rem !important;
}
.product-detail-related .store-card-actions-bar button {
  font-size: 0.6875rem !important;
  padding: 8px 5px !important;
}
@media (min-width: 1024px) {
  .page-product .product-detail-title {
    font-size: 1.75rem !important;
  }
  .page-product .product-detail-price {
    font-size: 1.75rem !important;
  }
}

/* Review form */
.product-review-form {
  background: #fff;
  border: 1px solid #f0e8ec;
  border-radius: 14px;
  padding: 16px;
  margin-bottom: 20px;
}
.product-review-form h3 {
  margin: 0 0 12px;
  font-size: 1rem;
  font-weight: 800;
}
.product-review-stars {
  display: flex;
  gap: 6px;
  margin-bottom: 12px;
}
.product-review-stars button {
  width: 40px;
  height: 40px;
  border: 1px solid #e8e0e4;
  border-radius: 10px;
  background: #fff;
  font-size: 1.25rem;
  cursor: pointer;
  color: #ccc;
  line-height: 1;
}
.product-review-stars button.is-on {
  color: #ffb300;
  border-color: #ffe082;
  background: #fffde7;
}
.product-review-form .form-label {
  font-size: 0.8125rem;
  font-weight: 700;
  margin-bottom: 6px;
  display: block;
}
.product-review-form .form-input,
.product-review-form textarea {
  width: 100%;
  font-size: 1rem;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #e0d5da;
  margin-bottom: 12px;
  box-sizing: border-box;
}
.product-review-form textarea {
  min-height: 88px;
  resize: vertical;
}
.product-review-form .btn-submit-review {
  width: 100%;
  padding: 14px;
  border: none;
  border-radius: 12px;
  background: linear-gradient(135deg, #e91e63, #ff4081);
  color: #fff;
  font-size: 1rem;
  font-weight: 800;
  cursor: pointer;
}
.product-review-list .product-detail-review {
  margin-bottom: 14px;
}
.product-review-list .review-photo {
  width: 100%;
  max-width: 200px;
  border-radius: 10px;
  margin-top: 10px;
  display: block;
  object-fit: cover;
  aspect-ratio: 4/3;
}
.product-review-pending {
  font-size: 0.8125rem;
  color: #9e8e94;
  margin-top: 8px;
}