/* --- WooCommerce Archive Layout (archive-product.php) --- */
.pf-woo-archive { background-color: var(--pawfect-background, #faf9f6); min-height: 100vh; }
.pf-woo-archive__container { padding-top: 2.5rem; padding-bottom: 4rem; }
@media (min-width: 768px) { .pf-woo-archive__container { padding-top: 3.5rem; padding-bottom: 5rem; } }
.pf-woo-archive__layout { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 2rem; align-items: start; }
@media (min-width: 1024px) {
  .pf-woo-archive__layout { gap: 2.5rem; }
  .pf-woo-archive__layout--sidebar-right { grid-template-columns: 1fr 330px; }
  .pf-woo-archive__layout--sidebar-left { grid-template-columns: 330px 1fr; }
}
@media (min-width: 1024px) {
  .pf-woo-archive__sidebar--right { order: 2; }
  .pf-woo-archive__sidebar--left { order: 1; }
  .pf-woo-archive__main--right { order: 2; }
  .pf-woo-archive__main--left { order: 1; }
}
.pf-woo-archive__main--left, .pf-woo-archive__main--right { min-width: 0; }
.pf-woo-archive__sidebar {
  position: relative;
  width: 100%;
}
.pf-woo-archive__sidebar-inner.pawfect-sticky-sidebar,
.pawfect-sticky-sidebar {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 6rem !important;
  z-index: 20 !important;
}

/* --- WooCommerce Toolbar --- */
.pf-woo-archive__toolbar {
  position: relative;
  margin-bottom: 2rem;
  padding: 1.125rem 1.5rem;
  background-color: #ffffff;
  border-radius: 0.75rem;
  border: 1px solid var(--pawfect-border-color, #e5e7eb);
  box-shadow: none !important;
}
.pf-woo-archive__toolbar-inner { display: flex; flex-direction: column; gap: 1rem; }
@media (min-width: 768px) { .pf-woo-archive__toolbar-inner { flex-direction: row; align-items: center; justify-content: space-between; } }

.pf-woo-archive__toolbar-left, .pf-woo-archive__toolbar-right { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; }

.pf-woo-archive__result-count { font-size: 0.875rem; color: #64748b; font-weight: 500; letter-spacing: 0.01em; margin: 0; line-height: 1.5; display: inline-flex; align-items: center; }
.pf-woo-archive__result-count strong { color: #0f172a; font-weight: 700; margin: 0 4px; }

.pf-woo-archive__view-toggle-wrap { display: flex; align-items: center; gap: 0.75rem; }
.pf-woo-archive__sort-label { font-size: 0.875rem; font-weight: 600; color: #64748b; margin: 0; }
.pf-woo-archive__sort-select {
  height: 2.625rem;
  padding: 0 2.25rem 0 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1e293b;
  background-color: #f8fafc;
  border: 1.5px solid #e2e8f0;
  border-radius: 0.625rem;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem;
  transition: all 0.2s ease;
}
.pf-woo-archive__sort-select:focus { outline: none; border-color: var(--pawfect-primary, #F4A259); background-color: #ffffff; box-shadow: 0 0 0 3px rgba(244, 162, 89, 0.15); }
.pf-woo-archive__sort-select:hover { border-color: #cbd5e1; }

/* Products Grid */
.pf-products-grid { display: grid; gap: 1.75rem; margin: 0; padding: 0; list-style: none; width: 100%; }
.pf-products-grid::before,
.pf-products-grid::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }

.woocommerce ul.pf-products-grid li.product,
.woocommerce-page ul.pf-products-grid li.product,
ul.pf-products-grid li.product {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
}

.pf-products-grid--cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 640px) {
  .pf-products-grid--cols-4, .pf-products-grid--cols-5, .pf-products-grid--cols-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
  .pf-products-grid--cols-2, .pf-products-grid--cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .pf-products-grid--cols-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pf-products-grid--cols-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pf-products-grid--cols-6 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
  .pf-products-grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pf-products-grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pf-products-grid--cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .pf-products-grid--cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

/* --- WooCommerce Product Cards (content-product.php) --- */

.pf-product-item { background-color: transparent !important; box-shadow: none !important; border: none !important; border-radius: 0 !important; }

/* Modern Card */
.pf-product-card-modern {
  position: relative;
  background-color: #ffffff;
  border-radius: 0.75rem;
  border: 1px solid var(--pawfect-border-color, #e5e7eb);
  box-shadow: none !important;
  overflow: hidden;
  transition: border-color 0.3s ease, transform 0.3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.pf-product-card-modern:hover {
  border-color: #d1d5db;
  box-shadow: none !important;
  transform: scale(1.01);
}
.pf-product-card-modern__link { position: relative; z-index: 10; display: flex; flex-direction: column; height: 100%; }

/* Image Area */
.pf-product-card-modern__img-wrap {
  position: relative;
  background-color: transparent;
  overflow: hidden;
  border-radius: 0;
  aspect-ratio: 1 / 1;
  width: 100%;
}
.pf-product-card-modern__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s ease;
}
.pf-product-card-modern:hover .pf-product-card-modern__img {
  transform: scale(1.08);
}

/* Badges */
.pf-product-card__badges {
  position: absolute;
  top: 0.875rem;
  left: 0.875rem;
  z-index: 20;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  pointer-events: none;
}
.pf-product-badge {
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  box-shadow: none;
  transition: transform 0.3s ease;
}
.pf-product-badge--sale {
  background: var(--pawfect-sale-bg, #ef4444);
}
.pf-product-badge--out-of-stock {
  background: #1e293b;
}

/* Floating Quick Actions (Quick View & Wishlist) */
.pf-product-actions {
  position: absolute;
  z-index: 30 !important;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.pf-product-card-modern:hover .pf-product-actions,
.pf-product-card-classic:hover .pf-product-actions {
  opacity: 1;
  pointer-events: auto;
}
.pf-product-actions--modern { top: 0.875rem; right: 0.875rem; }

.pf-product-action-btn {
  width: 2.375rem;
  height: 2.375rem;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.6);
  box-shadow: none;
  color: #475569;
  transition: all 0.2s ease;
  border: none;
  cursor: pointer;
  padding: 0;
  pointer-events: auto;
  position: relative;
  z-index: 31;
}
.pf-product-action-btn:hover {
  background-color: #ffffff;
  color: var(--pawfect-primary, var(--pf-primary, #F4A259));
  transform: scale(1.1);
}
.pf-product-action-btn.pf-product-action-btn--wishlist:hover { color: #ef4444; }

/* Hover Image Overlay */
.pf-product-card-modern__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0);
  transition: background-color 0.3s ease;
  pointer-events: none;
  z-index: 10;
}
.pf-product-card-modern:hover .pf-product-card-modern__overlay {
  background-color: rgba(0, 0, 0, 0.15);
}

/* Floating Add to Cart Button */
.pf-product-card-modern__add-to-cart-wrap {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 20;
  pointer-events: none !important;
}
.pf-product-card-modern:hover .pf-product-card-modern__add-to-cart-wrap {
  opacity: 1;
  transform: translateY(0);
}
.pf-product-card-modern__add-to-cart-wrap > * {
  pointer-events: auto !important;
}

.pf-product-card-modern__add-to-cart {
  width: auto;
  min-width: 8rem;
  height: 2.75rem;
  padding: 0 1.5rem;
  border-radius: var(--pf-btn-radius, 0.5rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background-color: var(--pawfect-primary, var(--pf-primary, #F4A259)) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: none !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.25s ease !important;
}
.pf-product-card-modern__add-to-cart:hover {
  filter: brightness(1.08);
  transform: scale(1.03);
}

/* Added to Cart (Dynamic Secondary Color from Customizer) */
.pf-product-card-modern__add-to-cart.pf-added-to-cart,
.pf-product-card-modern__add-to-cart.pawfect-added-to-cart,
.pf-product-card-classic__add-to-cart.pf-added-to-cart,
.pf-product-card-classic__add-to-cart.pawfect-added-to-cart,
.pf-product-card-list__add-to-cart.pf-added-to-cart,
.pf-product-card-list__add-to-cart.pawfect-added-to-cart,
.pf-add-to-cart-btn.pf-added-to-cart,
.pf-add-to-cart-btn.pawfect-added-to-cart {
  background-color: var(--pawfect-secondary, var(--pf-secondary, #313134)) !important;
  color: #ffffff !important;
  border-color: var(--pawfect-secondary, var(--pf-secondary, #313134)) !important;
  box-shadow: none !important;
}

/* WooCommerce Added to Cart Link ("View Cart") - Hidden in cards/wishlist to keep clean, balanced layout */
.pf-product-card-modern__add-to-cart-wrap .added_to_cart,
.pf-product-card-classic__btn-wrap .added_to_cart,
.pf-product-card-modern .added_to_cart,
.pf-product-card-classic .added_to_cart,
.pf-page-wishlist .added_to_cart,
.pawfect-wishlist-item .added_to_cart,
.pf-page-wishlist__td .added_to_cart {
  display: none !important;
}

.added_to_cart.wc-forward,
a.added_to_cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 2.75rem !important;
  padding: 0 1.25rem !important;
  border-radius: var(--pf-btn-radius, 0.5rem) !important;
  background-color: var(--pawfect-secondary, var(--pf-secondary, #313134)) !important;
  color: #ffffff !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}
.pf-product-card-modern__add-to-cart-wrap .added_to_cart:hover,
.added_to_cart.wc-forward:hover,
a.added_to_cart:hover {
  filter: brightness(1.15) !important;
  color: #ffffff !important;
}

/* Quick View Modal Luxury Styles */
.pf-quick-view__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  padding: 0.5rem;
}
@media (min-width: 768px) {
  .pf-quick-view__grid {
    grid-template-columns: 1fr 1.15fr;
    gap: 2.5rem;
    align-items: start;
  }
}
.pf-quick-view__main-image {
  border-radius: 0.75rem;
  overflow: hidden;
  background-color: #f8fafc;
  aspect-ratio: 1 / 1;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pf-quick-view__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pf-quick-view__thumbnails {
  display: flex;
  gap: 0.625rem;
  margin-top: 0.75rem;
  overflow-x: auto;
}
.pf-quick-view__thumb-btn {
  width: 4rem;
  height: 4rem;
  border-radius: 0.5rem;
  overflow: hidden;
  border: 2px solid transparent;
  padding: 0;
  cursor: pointer;
  background: transparent;
  transition: border-color 0.2s ease;
  flex-shrink: 0;
}
.pf-quick-view__thumb-btn--active,
.pf-quick-view__thumb-btn:hover {
  border-color: var(--pawfect-primary, var(--pf-primary, #F4A259));
}
.pf-quick-view__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pf-quick-view__details {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}
.pf-quick-view__title {
  font-size: 1.625rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0;
  line-height: 1.25;
}
.pf-quick-view__price {
  font-size: 1.375rem;
  font-weight: 800;
  color: var(--pawfect-primary, var(--pf-primary, #F4A259));
  margin: 0;
}
.pf-quick-view__desc {
  font-size: 0.9375rem;
  color: #475569;
  line-height: 1.6;
}
.pf-quick-view__cart-section form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.5rem;
}
.pf-quick-view__cart-section .quantity .qty {
  height: 2.75rem;
  width: 4rem;
  border-radius: 0.5rem;
  border: 1.5px solid #e2e8f0;
  text-align: center;
  font-weight: 600;
}
.pf-quick-view__cart-section .single_add_to_cart_button {
  height: 2.75rem;
  padding: 0 1.75rem !important;
  border-radius: var(--pf-btn-radius, 0.5rem) !important;
  background-color: var(--pawfect-primary, var(--pf-primary, #F4A259)) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  border: none !important;
  cursor: pointer !important;
}
.pf-quick-view__full-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--pawfect-primary, var(--pf-primary, #F4A259));
  text-decoration: none;
  margin-top: 0.5rem;
  transition: gap 0.2s ease;
}
.pf-quick-view__full-link:hover {
  gap: 0.625rem;
}


.pf-product-card-modern__add-to-cart.pf-btn--loading,
.pf-product-card-modern__add-to-cart.pawfect-loading {
  opacity: 0.85;
  pointer-events: none;
}
.pf-product-card-modern__add-to-cart .pf-btn__icon {
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
}
.pf-btn--out-of-stock {
  background-color: #94a3b8 !important;
  box-shadow: none !important;
  cursor: not-allowed;
}

/* Card Content Area */
.pf-product-card-modern__content {
  padding: 1.25rem 1.25rem 1.5rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.pf-product-card-modern__categories,
.pf-product-card-classic__categories,
.pf-product-card-list__categories {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #94a3b8;
  margin-bottom: 0.25rem;
}
.pf-product-card-modern__categories a,
.pf-product-card-classic__categories a,
.pf-product-card-list__categories a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.pf-product-card-modern__categories a:hover,
.pf-product-card-classic__categories a:hover,
.pf-product-card-list__categories a:hover {
  color: var(--pawfect-primary, var(--pf-primary, #F4A259));
}

.pf-product-card-modern__title {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.35;
  color: #1f2937;
  margin: 0 0 0.25rem 0;
  transition: color 0.2s ease;
}
.pf-product-card-modern__title a {
  color: inherit;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pf-product-card-modern:hover .pf-product-card-modern__title {
  color: var(--pawfect-primary, var(--pf-primary, #F4A259));
}

/* Star Rating */
.pf-product-card-modern__rating,
.pf-product-card-classic__rating,
.pf-product-card-list__rating {
  margin-bottom: 0.5rem;
}
.pf-product-card-modern__rating .star-rating,
.pf-product-card-classic__rating .star-rating,
.pf-product-card-list__rating .star-rating,
.woocommerce .star-rating {
  font-size: 0.8125rem;
  color: #f59e0b;
}

/* Price Hierarchy */
.pf-product-card-modern__price,
.pf-product-card-classic__price,
.pf-product-card-list__price {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--pawfect-primary, var(--pf-primary, #F4A259));
  line-height: 1.3;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.pf-product-card-modern__price del,
.pf-product-card-classic__price del,
.pf-product-card-list__price del,
.woocommerce ul.products li.product .price del {
  color: #94a3b8 !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  text-decoration: line-through !important;
  opacity: 0.8;
}
.pf-product-card-modern__price ins,
.pf-product-card-classic__price ins,
.pf-product-card-list__price ins,
.woocommerce ul.products li.product .price ins {
  color: var(--pawfect-primary, var(--pf-primary, #F4A259)) !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* View More Link (Animated Underline, No Arrow) */
.pf-product-card-modern__view-more {
  display: inline-flex;
  align-items: center;
  margin-top: auto;
  padding-top: 0.5rem;
  color: var(--pawfect-primary, var(--pf-primary, #F4A259));
  font-weight: 500;
  font-size: 0.875rem;
}
.pf-product-card-modern__view-more span,
.pf-shop-card__view-text {
  position: relative;
  display: inline-block;
  transition: color 0.3s ease;
}
.pf-product-card-modern__view-more span::after,
.pf-shop-card__view-text::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: -2px;
  left: 0;
  background-color: currentColor;
  transform-origin: bottom right;
  transition: transform 0.3s ease-out;
}
.pf-product-card-modern:hover .pf-product-card-modern__view-more span::after,
.pf-product-card-modern:hover .pf-shop-card__view-text::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

/* Classic Card */
.pf-product-card-classic {
  position: relative;
  background-color: #ffffff;
  border-radius: 1rem;
  border: 1px solid var(--pawfect-border-color, #e2e8f0);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  box-shadow: none !important;
}
.pf-product-card-classic:hover {
  border-color: #cbd5e1;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05) !important;
  transform: translateY(-2px);
}
.pf-product-card-classic__accent-line {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background-image: linear-gradient(to right, transparent, var(--pawfect-primary, var(--pf-primary, #F4A259)), transparent);
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 10;
  pointer-events: none;
}
.pf-product-card-classic:hover .pf-product-card-classic__accent-line { opacity: 1; }
.pf-product-card-classic__img-wrap {
  position: relative;
  background-color: #faf9f6;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  border-bottom: 1px solid var(--pawfect-border-color, #f1f5f9);
}
.pf-product-card-classic__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.pf-product-card-classic:hover .pf-product-card-classic__img { transform: scale(1.04); }
.pf-product-actions--classic { top: 0.75rem; right: 0.75rem; }
.pf-product-action-btn--classic {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background-color: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.2s;
  color: #64748b;
  border: 1px solid #e2e8f0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.pf-product-action-btn--classic:hover {
  transform: scale(1.1);
  color: var(--pawfect-primary, var(--pf-primary, #F4A259));
  border-color: var(--pawfect-primary, var(--pf-primary, #F4A259));
}
.pf-product-card-classic__content {
  padding: 1.25rem 1.25rem 1.35rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.pf-product-card-classic__categories {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #94a3b8;
  margin-bottom: 0.35rem;
  line-height: 1.2;
}
.pf-product-card-classic__categories a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}
.pf-product-card-classic__categories a:hover {
  color: var(--pawfect-primary, var(--pf-primary, #F4A259));
}
.pf-product-card-classic__title-wrap {
  margin-bottom: 0.35rem;
  line-height: 1.4;
}
.pf-product-card-classic__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 1.0625rem;
  font-weight: 700;
  color: #0f172a;
  text-decoration: none;
  transition: color 0.2s;
}
.pf-product-card-classic__title:hover {
  color: var(--pawfect-primary, var(--pf-primary, #F4A259));
}
.pf-product-card-classic__rating {
  margin-bottom: 0.35rem;
  font-size: 0.8125rem;
}
.pf-product-card-classic__price {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--pawfect-primary, var(--pf-primary, #F4A259));
  margin-bottom: 1rem;
}
.pf-product-card-classic__price del {
  color: #94a3b8;
  font-weight: 500;
  font-size: 0.875rem;
  margin-right: 0.375rem;
}
.pf-product-card-classic__price ins {
  text-decoration: none;
}
.pf-product-card-classic__btn-wrap {
  margin-top: auto;
  width: 100%;
}
.pf-product-card-classic__add-to-cart {
  width: 100%;
  height: 2.75rem;
  padding: 0 1.25rem;
  text-align: center;
  background-color: var(--pawfect-primary, var(--pf-primary, #F4A259)) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: var(--pf-btn-radius, 0.5rem);
  font-weight: 700;
  font-size: 0.875rem;
  transition: all 0.25s ease !important;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-decoration: none;
  box-shadow: none !important;
}
.pf-product-card-classic__add-to-cart:hover {
  filter: brightness(1.08) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 15px rgba(244, 162, 89, 0.35) !important;
  color: #ffffff !important;
}
.pf-product-card-classic__add-to-cart.pf-added-to-cart,
.pf-product-card-classic__add-to-cart.pawfect-added-to-cart {
  background-color: var(--pawfect-secondary, var(--pf-secondary, #313134)) !important;
  color: #ffffff !important;
  border-color: var(--pawfect-secondary, var(--pf-secondary, #313134)) !important;
  box-shadow: none !important;
}

/* --- WooCommerce Luxury Sidebar & Native Widgets Styling --- */
.pf-woo-sidebar { display: flex; flex-direction: column; gap: 1.75rem; }

/* Universal Widget Box Container (Covers both native and theme custom widgets) */
.pf-woo-sidebar .widget,
.pf-woo-widget {
  background-color: #ffffff;
  padding: 1.75rem;
  border-radius: 0.75rem;
  border: 1px solid var(--pawfect-border-color, #e5e7eb);
  box-shadow: none !important;
}

/* Widget Header & Title */
.pf-woo-sidebar .widget .widget-title,
.pf-woo-sidebar .widget .widgettitle,
.pf-woo-widget__title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 1.25rem 0;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid #f8fafc;
  position: relative;
}
.pf-woo-sidebar .widget .widget-title::after,
.pf-woo-sidebar .widget .widgettitle::after,
.pf-woo-widget__title::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 2.25rem;
  height: 2px;
  background-color: var(--pawfect-primary, #F4A259);
  border-radius: 2px;
}

/* Product Search Widget */
.widget_product_search .woocommerce-product-search,
.pf-woo-widget__search {
  position: relative;
  display: flex;
  align-items: center;
}
.widget_product_search input[type="search"],
.widget_product_search .search-field {
  width: 100%;
  height: 2.875rem;
  padding: 0.5rem 3rem 0.5rem 1rem;
  border-radius: 0.75rem;
  border: 1.5px solid #e2e8f0;
  background-color: #f8fafc;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1e293b;
  outline: none;
  transition: all 0.2s ease;
}
.widget_product_search input[type="search"]:focus,
.widget_product_search .search-field:focus {
  border-color: var(--pawfect-primary, #F4A259);
  background-color: #ffffff;
  box-shadow: 0 0 0 3px rgba(244, 162, 89, 0.15);
}
.widget_product_search button[type="submit"],
.widget_product_search input[type="submit"] {
  position: absolute;
  right: 5px;
  top: 5px;
  bottom: 5px;
  width: 2.25rem;
  height: calc(100% - 10px);
  border-radius: 0.5rem;
  background-color: var(--pawfect-primary, #F4A259);
  color: #ffffff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.widget_product_search button[type="submit"]:hover,
.widget_product_search input[type="submit"]:hover {
  filter: brightness(1.08);
  transform: scale(1.04);
}

/* Product Categories & Taxonomies Widget */
.widget_product_categories ul,
.widget_categories ul,
.widget_nav_menu ul,
.pf-woo-sidebar .product-categories {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.15rem !important;
}

.widget_product_categories li,
.widget_categories li,
.widget_nav_menu li,
.pf-woo-sidebar .product-categories li {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.3rem 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  transition: all 0.2s ease !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: #475569 !important;
  border: none !important;
}

.widget_product_categories li:hover,
.widget_categories li:hover,
.widget_nav_menu li:hover,
.pf-woo-sidebar .product-categories li:hover {
  background: transparent !important;
  background-color: transparent !important;
}

.widget_product_categories li a,
.widget_categories li a,
.widget_nav_menu li a,
.pf-woo-sidebar .product-categories li a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  max-width: calc(100% - 2.5rem) !important;
  color: #475569 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

/* Relative text underline only spanning width of the text */
.widget_product_categories li a::after,
.widget_categories li a::after,
.widget_nav_menu li a::after,
.pf-woo-sidebar .product-categories li a::after {
  content: '' !important;
  position: absolute !important;
  bottom: -2px !important;
  left: 0 !important;
  width: 0 !important;
  height: 1.5px !important;
  background-color: var(--pawfect-primary, #F4A259) !important;
  transition: width 0.25s ease !important;
  border-radius: 2px !important;
}

.widget_product_categories li a:hover,
.widget_categories li a:hover,
.widget_nav_menu li a:hover,
.widget_product_categories li:hover a,
.widget_categories li:hover a,
.widget_product_categories li.current-cat > a,
.widget_categories li.current-cat > a,
.pf-woo-sidebar .product-categories li.current-cat > a {
  color: var(--pawfect-primary, #F4A259) !important;
}

.widget_product_categories li a:hover::after,
.widget_categories li a:hover::after,
.widget_nav_menu li a:hover::after,
.widget_product_categories li:hover a::after,
.widget_categories li:hover a::after,
.widget_product_categories li.current-cat > a::after,
.widget_categories li.current-cat > a::after,
.pf-woo-sidebar .product-categories li.current-cat > a::after {
  width: 100% !important;
}

.widget_product_categories .count,
.widget_categories .count,
.pf-woo-sidebar .product-categories .count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: #64748b !important;
  background-color: #f1f5f9 !important;
  min-width: 1.35rem !important;
  height: 1.2rem !important;
  padding: 0 6px !important;
  border-radius: 9999px !important;
  transition: all 0.2s ease !important;
  flex-shrink: 0 !important;
  margin-left: 0.5rem !important;
}

.widget_product_categories li:hover .count,
.widget_categories li:hover .count,
.widget_product_categories li.current-cat .count,
.pf-woo-sidebar .product-categories li.current-cat .count {
  background-color: var(--pawfect-primary, #F4A259) !important;
  color: #ffffff !important;
}

/* Price Filter Widget */
.widget_price_filter .price_slider_wrapper .ui-widget-content {
  background-color: #e2e8f0;
  border: none;
  border-radius: 9999px;
  height: 6px;
}
.widget_price_filter .ui-slider .ui-slider-range {
  background-color: var(--pawfect-primary, #F4A259);
  border-radius: 9999px;
}
.widget_price_filter .ui-slider .ui-slider-handle {
  background-color: #ffffff;
  border: 2.5px solid var(--pawfect-primary, #F4A259);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  border-radius: 50%;
  width: 16px;
  height: 16px;
  top: -5px;
  outline: none;
  cursor: pointer;
}
.widget_price_filter .price_slider_amount {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1.25rem;
  font-size: 0.875rem;
  color: #475569;
}
.widget_price_filter .price_slider_amount .button {
  height: 2.25rem;
  padding: 0 1.25rem;
  border-radius: 9999px;
  background-color: #0f172a !important;
  color: #ffffff !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
}
.widget_price_filter .price_slider_amount .button:hover {
  background-color: var(--pawfect-primary, #F4A259) !important;
}

/* Tag Cloud Widget */
.widget_product_tag_cloud .tagcloud,
.widget_tag_cloud .tagcloud {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.widget_product_tag_cloud .tagcloud a,
.widget_tag_cloud .tagcloud a {
  font-size: 0.8125rem !important;
  font-weight: 600;
  padding: 0.375rem 0.875rem;
  border-radius: 9999px;
  background-color: #f8fafc;
  color: #475569;
  border: 1px solid #e2e8f0;
  text-decoration: none;
  transition: all 0.2s ease;
}
.widget_product_tag_cloud .tagcloud a:hover,
.widget_tag_cloud .tagcloud a:hover {
  background-color: var(--pawfect-primary, #F4A259);
  color: #ffffff;
  border-color: var(--pawfect-primary, #F4A259);
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(244, 162, 89, 0.25);
}

/* Shopping Cart Widget & Mini Cart (.widget_shopping_cart) - High Specificity */
.woocommerce .widget_shopping_cart,
.woocommerce.widget_shopping_cart,
.pf-woo-sidebar .widget_shopping_cart {
  font-size: 0.875rem;
}

.woocommerce .widget_shopping_cart .widget_shopping_cart_content,
.woocommerce.widget_shopping_cart .widget_shopping_cart_content,
.pf-woo-sidebar .widget_shopping_cart_content {
  display: flex !important;
  flex-direction: column !important;
}

/* Neutralize WooCommerce default floats and absolute positioning */
.woocommerce ul.cart_list,
.woocommerce-page ul.cart_list,
.woocommerce .widget_shopping_cart ul.cart_list,
.woocommerce.widget_shopping_cart ul.cart_list,
.pf-woo-sidebar ul.woocommerce-mini-cart,
.pf-woo-sidebar ul.cart_list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
}

.woocommerce ul.cart_list li,
.woocommerce-page ul.cart_list li,
.woocommerce .widget_shopping_cart ul.cart_list li,
.woocommerce.widget_shopping_cart ul.cart_list li,
.pf-woo-sidebar li.woocommerce-mini-cart-item,
.pf-woo-sidebar li.mini_cart_item {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.625rem !important;
  padding: 0.75rem 2rem 0.75rem 0 !important;
  border-bottom: 1px dashed #e2e8f0 !important;
  margin: 0 !important;
  min-height: auto !important;
}

.woocommerce ul.cart_list li:last-child,
.woocommerce-page ul.cart_list li:last-child,
.woocommerce .widget_shopping_cart ul.cart_list li:last-child,
.pf-woo-sidebar li.woocommerce-mini-cart-item:last-child {
  border-bottom: none !important;
}

/* Remove button 'x' - positioned absolute at the right edge */
.woocommerce ul.cart_list li a.remove,
.woocommerce-page ul.cart_list li a.remove,
.woocommerce .widget_shopping_cart a.remove,
.woocommerce.widget_shopping_cart a.remove,
.pf-woo-sidebar a.remove,
.pf-woo-sidebar a.remove_from_cart_button {
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 1.35rem !important;
  height: 1.35rem !important;
  min-width: 1.35rem !important;
  border-radius: 50% !important;
  background-color: #fee2e2 !important;
  color: #ef4444 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  border: none !important;
  margin: 0 !important;
  z-index: 10 !important;
}

.woocommerce ul.cart_list li a.remove:hover,
.woocommerce-page ul.cart_list li a.remove:hover,
.woocommerce .widget_shopping_cart a.remove:hover,
.woocommerce.widget_shopping_cart a.remove:hover,
.pf-woo-sidebar a.remove:hover,
.pf-woo-sidebar a.remove_from_cart_button:hover {
  background-color: #ef4444 !important;
  color: #ffffff !important;
  transform: translateY(-50%) scale(1.1) !important;
}

/* Product link containing BOTH image and title */
.woocommerce ul.cart_list li > a:not(.remove),
.woocommerce-page ul.cart_list li > a:not(.remove),
.woocommerce .widget_shopping_cart li > a:not(.remove),
.woocommerce.widget_shopping_cart li > a:not(.remove),
.pf-woo-sidebar .widget_shopping_cart li > a:not(.remove) {
  display: flex !important;
  align-items: center !important;
  gap: 0.625rem !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  text-decoration: none !important;
  color: #0f172a !important;
  font-weight: 600 !important;
  font-size: 0.84rem !important;
  line-height: 1.3 !important;
  transition: color 0.2s ease !important;
}

.woocommerce ul.cart_list li > a:not(.remove):hover,
.woocommerce-page ul.cart_list li > a:not(.remove):hover,
.woocommerce .widget_shopping_cart li > a:not(.remove):hover,
.woocommerce.widget_shopping_cart li > a:not(.remove):hover,
.pf-woo-sidebar .widget_shopping_cart li > a:not(.remove):hover {
  color: var(--pawfect-primary, #F4A259) !important;
}

/* Product thumbnail */
.woocommerce ul.cart_list li img,
.woocommerce-page ul.cart_list li img,
.woocommerce .widget_shopping_cart img,
.woocommerce.widget_shopping_cart img,
.pf-woo-sidebar .widget_shopping_cart img {
  width: 3rem !important;
  height: 3rem !important;
  min-width: 3rem !important;
  border-radius: 0.5rem !important;
  object-fit: cover !important;
  border: 1px solid #e2e8f0 !important;
  margin: 0 !important;
  display: block !important;
  float: none !important;
  box-shadow: none !important;
  flex-shrink: 0 !important;
}

/* Quantity and Price - compact badge */
.woocommerce ul.cart_list li .quantity,
.woocommerce-page ul.cart_list li .quantity,
.woocommerce .widget_shopping_cart .quantity,
.woocommerce.widget_shopping_cart .quantity,
.pf-woo-sidebar .widget_shopping_cart .quantity {
  flex-shrink: 0 !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  color: var(--pawfect-primary, #F4A259) !important;
  background-color: rgba(244, 162, 89, 0.1) !important;
  padding: 0.2rem 0.5rem !important;
  border-radius: 0.375rem !important;
  white-space: nowrap !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  border: none !important;
  height: auto !important;
  min-height: 0 !important;
}

.woocommerce .widget_shopping_cart .quantity .amount,
.woocommerce.widget_shopping_cart .quantity .amount,
.pf-woo-sidebar .widget_shopping_cart .quantity .amount {
  color: inherit !important;
  font-weight: 700 !important;
}

/* Subtotal / Total */
.woocommerce .widget_shopping_cart .total,
.woocommerce.widget_shopping_cart .total,
.woocommerce-mini-cart__total,
.pf-woo-sidebar .woocommerce-mini-cart__total {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 1.125rem 0 0.875rem 0 !important;
  margin: 0.75rem 0 1rem 0 !important;
  border-top: 1.5px solid #e2e8f0 !important;
  font-size: 0.9375rem !important;
  color: #0f172a !important;
}

.woocommerce .widget_shopping_cart .total strong,
.woocommerce.widget_shopping_cart .total strong,
.woocommerce-mini-cart__total strong {
  font-weight: 700 !important;
  color: #0f172a !important;
}

.woocommerce .widget_shopping_cart .total .amount,
.woocommerce.widget_shopping_cart .total .amount,
.woocommerce-mini-cart__total .amount {
  font-size: 1.1875rem !important;
  font-weight: 800 !important;
  color: var(--pawfect-primary, #F4A259) !important;
}

/* Buttons */
.woocommerce .widget_shopping_cart .buttons,
.woocommerce.widget_shopping_cart .buttons,
.woocommerce-mini-cart__buttons,
.pf-woo-sidebar .woocommerce-mini-cart__buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.625rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce .widget_shopping_cart .buttons a.button,
.woocommerce.widget_shopping_cart .buttons a.button,
.woocommerce-mini-cart__buttons a.button,
.pf-woo-sidebar .widget_shopping_cart a.button {
  width: 100% !important;
  height: 2.75rem !important;
  padding: 0 1rem !important;
  border-radius: var(--pf-btn-radius, 0.5rem) !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}

/* View Cart Button (Outline) */
.woocommerce .widget_shopping_cart .buttons a.button:not(.checkout),
.woocommerce.widget_shopping_cart .buttons a.button:not(.checkout),
.pf-woo-sidebar .widget_shopping_cart a.button:not(.checkout) {
  background-color: #ffffff !important;
  color: #0f172a !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: none !important;
}

.woocommerce .widget_shopping_cart .buttons a.button:not(.checkout):hover,
.woocommerce.widget_shopping_cart .buttons a.button:not(.checkout):hover,
.pf-woo-sidebar .widget_shopping_cart a.button:not(.checkout):hover {
  background-color: #f8fafc !important;
  border-color: var(--pawfect-primary, #F4A259) !important;
  color: var(--pawfect-primary, #F4A259) !important;
}

/* Checkout Button (Solid Primary) */
.woocommerce .widget_shopping_cart .buttons a.button.checkout,
.woocommerce.widget_shopping_cart .buttons a.button.checkout,
.pf-woo-sidebar .widget_shopping_cart a.button.checkout {
  background-color: var(--pawfect-primary, #F4A259) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: none !important;
}

.woocommerce .widget_shopping_cart .buttons a.button.checkout:hover,
.woocommerce.widget_shopping_cart .buttons a.button.checkout:hover,
.pf-woo-sidebar .widget_shopping_cart a.button.checkout:hover {
  filter: brightness(1.08) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 15px rgba(244, 162, 89, 0.35) !important;
}


/* --- WooCommerce Single Product (single-product.php related) --- */
.pf-woo-single__meta { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--pawfect-border-color, #e5e7eb); font-size: 0.875rem; color: var(--pawfect-text-light, #6b7280); }
.pf-woo-single__meta-item { display: block; margin-bottom: 0.5rem; }
.pf-woo-single__meta-label { font-weight: 700; color: var(--pawfect-text-dark, #1f2937); }
.pf-woo-single__rating { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 1rem; }
.pf-woo-single__review-link { color: var(--pawfect-text-light, #6b7280); transition: color 0.3s; text-decoration: none; }
.pf-woo-single__review-link:hover { color: var(--pawfect-accent, #3b82f6); }
.pf-woo-single__related-title { font-size: 1.875rem; font-weight: 700; line-height: 1.25; margin-bottom: 1.5rem; color: #111827; }
@media (min-width: 768px) { .pf-woo-single__related-title { font-size: 2.25rem; } }
@media (min-width: 1024px) { .pf-woo-single__related-title { font-size: 3rem; } }
.pf-woo-single__cart { margin-top: 2rem; }
.pf-woo-single__add-to-cart { margin-top: 1.5rem; }

/* Full-width buttons (used by single-product add-to-cart) */
.pf-btn--full { width: 100% !important; }

/* Single product quantity control */
.pawfect-product-form form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.pawfect-product-form form.cart .quantity {
  display: inline-flex;
  align-items: center;
  height: 3rem;
  box-sizing: border-box !important;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  background-color: #ffffff;
  overflow: hidden;
  margin-right: 0 !important;
}
.pawfect-product-form form.cart .qty {
  width: 3.5rem;
  height: 100%;
  box-sizing: border-box !important;
  border: none;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 600;
  color: #111827;
  background-color: transparent;
  -moz-appearance: textfield;
  appearance: textfield;
  padding: 0;
  margin: 0;
}
.pawfect-product-form form.cart .qty::-webkit-outer-spin-button,
.pawfect-product-form form.cart .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.pawfect-product-form form.cart .minus,
.pawfect-product-form form.cart .plus {
  width: 2.75rem;
  height: 100%;
  border: none;
  background-color: #f9fafb;
  color: #4b5563;
  font-size: 1.125rem;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}
.pawfect-product-form form.cart .minus:hover,
.pawfect-product-form form.cart .plus:hover {
  background-color: var(--pawfect-primary, var(--pf-primary, #F4A259));
  color: #ffffff;
}
.pawfect-product-form form.cart .single_add_to_cart_button {
  width: auto !important;
  flex: 1;
  margin-top: 0;
  padding: 0 2rem;
  height: 3rem;
  box-sizing: border-box !important;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Product Tabs */
.pf-woo-tabs__header { border-bottom: 1px solid var(--pawfect-border-color, #e5e7eb); margin-bottom: 2rem; display: flex; }
.pf-woo-tabs__list { display: flex; flex-wrap: wrap; gap: 1rem; list-style: none; padding: 0; margin: 0 0 -1px 0; }
@media (min-width: 768px) { .pf-woo-tabs__list { gap: 2rem; } }
.pf-woo-tabs__button { display: inline-block; padding: 0.5rem 0.25rem; font-size: 1.125rem; font-weight: 600; border-bottom: 2px solid transparent; transition: all 0.3s; text-decoration: none; cursor: pointer; color: #6b7280; }
.pf-woo-tabs__button--active { border-color: var(--pawfect-primary, #F4A259) !important; color: var(--pawfect-primary, #F4A259) !important; }
.pf-woo-tabs__button--inactive { color: var(--pawfect-text-light, #6b7280); }
.pf-woo-tabs__button:hover { color: var(--pawfect-primary, #F4A259); border-bottom-color: var(--pawfect-primary, #F4A259); }
.pf-woo-tabs__content { padding-top: 2rem; padding-bottom: 2rem; line-height: 1.75; font-size: 1.125rem; color: var(--pawfect-text-body, #4b5563); }
.pf-woo-tabs__content > h2:first-of-type, .woocommerce-Tabs-panel > h2:first-child, .woocommerce-Tabs-panel .woocommerce-Reviews-title { display: none !important; }
.pf-woo-tabs__content h2 { font-size: 1.5rem; font-weight: 700; color: #111827; margin-bottom: 1.5rem; }
.pf-woo-tabs__content--hidden { display: none !important; }

/* --- WooCommerce Cart (cart.php, cart-totals.php, cart-empty.php, mini-cart.php) --- */
.pf-woo-cart { padding-top: 3rem; padding-bottom: 3rem; }
@media (min-width: 768px) { .pf-woo-cart { padding-top: 4rem; padding-bottom: 4rem; } }
.pf-woo-cart__table-wrap { background-color: #ffffff; border-radius: 0.5rem; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); overflow: hidden; margin-bottom: 2rem; }
.pf-woo-cart__table-scroll { overflow-x: auto; }
.pf-woo-cart__table { width: 100%; border-collapse: collapse; }
.pf-woo-cart__thead { background-color: #f9fafb; }
.pf-woo-cart__tr { border-bottom: 1px solid var(--pawfect-border-color, #e5e7eb); }
.pf-woo-cart__th { padding: 1rem; text-align: left; font-family: var(--pawfect-font-heading, Georgia, serif); font-size: 1.125rem; font-weight: 700; color: #111827; }
.pf-woo-cart__td { padding: 1rem; vertical-align: middle; }
.pf-woo-cart__remove-btn,
.woocommerce-cart-form a.remove,
a.remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  background-color: #fee2e2;
  color: #dc2626 !important;
  border-radius: 9999px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  text-decoration: none;
}
.pf-woo-cart__remove-btn:hover,
.woocommerce-cart-form a.remove:hover,
a.remove:hover {
  background-color: #fecaca;
  color: #b91c1c !important;
  transform: scale(1.1) rotate(90deg);
}
.pf-woo-cart__remove-icon { font-size: 0.875rem; }
.pf-woo-cart__thumbnail-wrap { width: 4rem; height: 4rem; border-radius: 0.375rem; overflow: hidden; background-color: #f3f4f6; }
.pf-woo-cart__thumbnail-img { width: 100%; height: 100%; object-fit: cover; }
.pf-woo-cart__thumbnail-placeholder { width: 100%; height: 100%; background-color: #e5e7eb; display: flex; align-items: center; justify-content: center; }
.pf-woo-cart__thumbnail-placeholder-text { font-size: 0.75rem; color: #6b7280; }
.pf-woo-cart__thumbnail-link { display: block; width: 100%; height: 100%; }
.pf-woo-cart__product-name { font-weight: 700; color: #111827; text-decoration: none; transition: color 0.2s; }
.pf-woo-cart__product-name:hover { color: var(--pawfect-accent, #3b82f6); }
.pf-woo-cart__price { font-weight: 700; color: var(--pawfect-accent, #3b82f6); }
.pf-woo-cart__subtotal { font-weight: 700; font-size: 1.25rem; color: #111827; }
.pf-woo-cart__tfoot { background-color: #f9fafb; }
.pf-woo-cart__actions { padding: 1rem; }
.pf-woo-cart__coupon { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.pf-woo-cart__coupon-label { font-weight: 700; }
.pf-woo-cart__coupon-input { flex: 1; padding: 0.5rem; border: 1px solid var(--pawfect-border-color, #e5e7eb); border-radius: 0.375rem; }
.pf-woo-cart__collaterals { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 2rem; }
@media (min-width: 1024px) { .pf-woo-cart__collaterals { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Cart Totals */
.pf-woo-cart-totals { background-color: #ffffff; padding: 2rem; border-radius: 0.5rem; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); position: sticky; top: 2rem; }
.pf-woo-cart-totals__title { font-family: var(--pawfect-font-heading, Georgia, serif); font-size: 1.875rem; border-bottom: 1px solid var(--pawfect-border-color, #e5e7eb); padding-bottom: 1rem; margin-bottom: 1.5rem; }
.pf-woo-cart-totals__table { width: 100%; border-collapse: collapse; }
.pf-woo-cart-totals__th { padding-top: 0.75rem; padding-bottom: 0.75rem; text-align: left; color: var(--pawfect-text-light, #6b7280); font-weight: 400; }
.pf-woo-cart-totals__td { padding-top: 0.75rem; padding-bottom: 0.75rem; text-align: right; font-weight: 700; color: #111827; }
.pf-woo-cart-totals__tr { border-bottom: 1px solid var(--pawfect-border-color, #e5e7eb); }
.pf-woo-cart-totals__th--total { font-weight: 700; font-size: 1.25rem; color: var(--pawfect-text-dark, #1f2937); padding-top: 1rem; }
.pf-woo-cart-totals__td--total { font-weight: 700; font-size: 1.25rem; color: var(--pawfect-accent, #3b82f6); padding-top: 1rem; }
.pf-woo-cart-totals__checkout { margin-top: 2rem; }

/* Empty Cart */
.pf-woo-cart-empty { padding-top: 5rem; padding-bottom: 5rem; text-align: center; }
.pf-woo-cart-empty__icon-wrap { display: inline-flex; align-items: center; justify-content: center; width: 8rem; height: 8rem; border-radius: 9999px; background-color: #fff7ed; margin-bottom: 2rem; animation: bounce-slow 3s infinite; }
@keyframes bounce-slow { 0%, 100% { transform: translateY(-5%); animation-timing-function: cubic-bezier(0.8,0,1,1); } 50% { transform: none; animation-timing-function: cubic-bezier(0,0,0.2,1); } }
.pf-woo-cart-empty__icon { width: 4rem; height: 4rem; color: #fb923c; }
.pf-woo-cart-empty__title { font-size: 2.25rem; font-weight: 700; color: #111827; margin-bottom: 1rem; }
.pf-woo-cart-empty__text { font-size: 1.125rem; color: #4b5563; margin-bottom: 2rem; max-width: 28rem; margin-left: auto; margin-right: auto; }
.pf-woo-cart-empty__actions { display: flex; flex-direction: column; gap: 1rem; justify-content: center; align-items: center; }
@media (min-width: 640px) { .pf-woo-cart-empty__actions { flex-direction: row; } }
.pf-woo-cart-empty__btn { padding: 1rem 2rem; border-radius: 9999px; transition: all 0.3s; }

/* Mini Cart Dropdown Styles (Clean Vanilla BEM) */
.pf-cart-dropdown__content {
  color: #111827;
  font-family: inherit;
  overflow-x: hidden;
}

/* Scrollable items list */
.pf-cart-dropdown__items {
  max-height: 320px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: #d1d5db transparent;
}

.pf-cart-dropdown__items::-webkit-scrollbar {
  width: 5px;
}

.pf-cart-dropdown__items::-webkit-scrollbar-thumb {
  background-color: #d1d5db;
  border-radius: 9999px;
}

/* Individual Cart Item Row */
.pf-cart-dropdown__item {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 1rem 1.125rem;
  border-bottom: 1px solid #f3f4f6;
  background-color: #ffffff;
  transition: background-color 0.2s ease;
  position: relative;
}

.pf-cart-dropdown__item:hover {
  background-color: #f9fafb;
}

.pf-cart-dropdown__item:last-child {
  border-bottom: none;
}

/* Thumbnail Wrapper */
.pf-cart-dropdown__thumb {
  width: 58px;
  height: 58px;
  min-width: 58px;
  flex-shrink: 0;
  border-radius: 0.625rem;
  overflow: hidden;
  background-color: #f3f4f6;
  border: 1px solid #eaefe9;
}

.pf-cart-dropdown__thumb a {
  display: block;
  width: 100%;
  height: 100%;
}

.pf-cart-dropdown__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Product Info Container */
.pf-cart-dropdown__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Product Title Link & Text */
.pf-cart-dropdown__title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #111827;
  line-height: 1.35;
  text-decoration: none;
  margin-bottom: 0.25rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.2s ease;
}

.pf-cart-dropdown__title:hover {
  color: var(--pawfect-primary, #133827);
}

/* Qty & Price Row (Comfortable & Balanced) */
.pf-cart-dropdown__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.8125rem;
  margin-top: 0.25rem;
  padding: 0;
}

.pf-cart-dropdown__qty {
  color: #6b7280;
  font-weight: 500;
  font-size: 0.78125rem;
}

.pf-cart-dropdown__price {
  color: var(--pawfect-primary, #133827);
  font-weight: 700;
  font-size: 0.84375rem;
}

/* Remove Item Button */
.pf-cart-dropdown__remove,
.pawfect-remove-cart-item {
  width: 28px;
  height: 28px;
  min-width: 28px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f3f4f6;
  color: #6b7280;
  border: none;
  cursor: pointer;
  padding: 0;
  margin-left: 0.625rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.pf-cart-dropdown__remove:hover,
.pawfect-remove-cart-item:hover {
  background-color: #fee2e2;
  color: #ef4444;
  transform: scale(1.08);
}

.pf-cart-dropdown__remove svg,
.pawfect-remove-cart-item svg {
  width: 14px;
  height: 14px;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.pf-cart-dropdown__remove:hover svg,
.pawfect-remove-cart-item:hover svg {
  transform: rotate(90deg);
}

/* Cart Footer Panel */
.pf-cart-dropdown__footer {
  padding: 1.125rem;
  background-color: #f9fafb;
  border-top: 1px solid #e5e7eb;
}

/* Subtotal Row */
.pf-cart-dropdown__total-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.875rem;
}

.pf-cart-dropdown__total-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: #374151;
}

.pf-cart-dropdown__total-amount {
  font-size: 1.1875rem;
  font-weight: 800;
  color: var(--pawfect-primary, #133827);
}

/* Buttons Grid Container */
.pf-cart-dropdown__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem;
}

/* Mini Cart Buttons (Dynamic Styles from Customizer) */
.pf-cart-dropdown__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--pf-btn-height, 42px);
  padding: var(--pf-btn-padding, 0.75rem 1rem);
  font-size: var(--pf-btn-font-size, 0.8125rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  border-radius: var(--pf-btn-radius, 0.5rem);
  text-decoration: none;
  transition: all 0.2s ease;
  box-sizing: border-box;
  width: 100%;
  text-align: center;
}

/* Secondary Button ("View Cart") */
.pf-cart-dropdown__btn-view-cart {
  background-color: transparent;
  color: var(--pawfect-text, #1f2937);
  border: 1.5px solid var(--pawfect-text, #d1d5db);
}

.pf-cart-dropdown__btn-view-cart:hover {
  background-color: var(--pf-secondary);
  color: #ffffff;
  border-color: var(--pf-secondary);
}

/* Primary Button ("Checkout") */
.pf-cart-dropdown__btn-checkout {
  background-color: var(--pf-primary-btn-bg, var(--pf-primary));
  color: var(--pf-primary-btn-text, #ffffff);
  border: 1.5px solid transparent;
}

.pf-cart-dropdown__btn-checkout:hover {
  background-color: var(--pf-secondary);
  color: #ffffff;
  border-color: var(--pf-secondary);
  transform: translateY(-1px);
}

/* Empty Cart State inside Dropdown */
.pf-cart-empty {
  padding: 2.25rem 1.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.pf-cart-empty__icon {
  width: 44px;
  height: 44px;
  color: #9ca3af;
  margin-bottom: 0.75rem;
}

.pf-cart-empty__text {
  font-size: 0.875rem;
  font-weight: 500;
  color: #374151;
  margin-bottom: 1rem;
}
.pf-cart-empty .pawfect-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 38px !important;
  padding: 0 1.25rem !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  border-radius: 9999px !important;
  background-color: var(--pawfect-primary, #133827) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* --- WooCommerce Checkout (form-checkout.php, form-billing.php, form-shipping.php, review-order.php, payment-method.php) --- */
.pf-woo-checkout { padding-bottom: 3rem; }
@media (min-width: 768px) { .pf-woo-checkout { padding-bottom: 6rem; } }
.pf-woo-checkout__layout { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 2rem; }
@media (min-width: 1024px) { .pf-woo-checkout__layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem; } }
.pf-woo-checkout__review-wrap { background-color: #ffffff; padding: 2rem; border-radius: 0.5rem; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); position: sticky; top: 2rem; }
.pf-woo-checkout__review-title { font-family: var(--pawfect-font-heading, Georgia, serif); font-size: 1.875rem; border-bottom: 1px solid var(--pawfect-border-color, #e5e7eb); padding-bottom: 1rem; margin-bottom: 1.5rem; }

/* Billing & Shipping Forms */
.pf-woo-checkout__billing-title, .pf-woo-checkout__shipping-title { font-family: var(--pawfect-font-heading, Georgia, serif); font-size: 1.875rem; margin-bottom: 1.5rem; }
.pf-woo-checkout__shipping-title { font-size: 1.5rem; margin-bottom: 1rem; }
.pf-woo-checkout__fields { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 1.5rem; }
@media (min-width: 768px) { .pf-woo-checkout__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pf-woo-checkout__fields--shipping { margin-top: 1.5rem; }
.pf-woo-checkout__field--full { grid-column: span 1 / span 1; }
@media (min-width: 768px) { .pf-woo-checkout__field--full { grid-column: span 2 / span 2; } }
.pf-woo-checkout__field--half { grid-column: span 1 / span 1; }
.pf-woo-checkout__account-fields, .pf-woo-checkout__additional-fields { margin-top: 2rem; }
.pf-woo-checkout__checkbox-label { display: flex; align-items: center; cursor: pointer; }
.pf-woo-checkout__checkbox { margin-right: 0.75rem; }

/* Review Order Table */
.pf-woo-checkout__review-table { width: 100%; border-collapse: collapse; margin-bottom: 1.5rem; }
.pf-woo-checkout__review-tr { border-bottom: 1px solid var(--pawfect-border-color, #e5e7eb); padding-top: 1rem; padding-bottom: 1rem; }
.pf-woo-checkout__review-td { padding-top: 1rem; padding-bottom: 1rem; }
.pf-woo-checkout__review-td--name { text-align: left; }
.pf-woo-checkout__review-td--total { text-align: right; }
.pf-woo-checkout__product { display: flex; align-items: center; gap: 1rem; }
.pf-woo-checkout__product-img-wrap { width: 4rem; height: 4rem; border-radius: 0.375rem; overflow: hidden; flex-shrink: 0; }
.pf-woo-checkout__product-img { width: 100%; height: 100%; object-fit: cover; }
.pf-woo-checkout__product-info { flex: 1; }
.pf-woo-checkout__product-name { font-weight: 700; color: var(--pawfect-text-dark, #1f2937); }
.pf-woo-checkout__product-qty { color: var(--pawfect-text-light, #6b7280); font-weight: 400; }
.pf-woo-checkout__product-price { font-weight: 700; color: var(--pawfect-accent, #3b82f6); }
.pf-woo-checkout__review-tfoot { border-top: 1px solid var(--pawfect-border-color, #e5e7eb); }
.pf-woo-checkout__review-th { padding-top: 1rem; padding-bottom: 1rem; text-align: left; color: var(--pawfect-text-light, #6b7280); font-weight: 400; }
.pf-woo-checkout__review-td { font-weight: 700; text-align: right; }
.pf-woo-checkout__review-th--total { font-family: var(--pawfect-font-heading, Georgia, serif); font-size: 1.25rem; font-weight: 700; padding-top: 1.5rem; padding-bottom: 1.5rem; }
.pf-woo-checkout__review-td--total { font-family: var(--pawfect-font-heading, Georgia, serif); font-size: 1.5rem; font-weight: 700; color: var(--pawfect-accent, #3b82f6); padding-top: 1.5rem; padding-bottom: 1.5rem; }
.pf-woo-checkout__review-tr--total { border-top: 1px solid var(--pawfect-border-color, #e5e7eb); }
.pf-woo-checkout__payment-methods { list-style: none; padding: 0; margin: 0 0 1.5rem 0; display: flex; flex-direction: column; gap: 1rem; }
.pf-woo-checkout__place-order-btn { margin-top: 1.5rem; padding-top: 1rem; padding-bottom: 1rem; font-size: 1.125rem; text-transform: uppercase; border-radius: 0.375rem; }

/* Payment Methods */
.pf-woo-checkout__payment-method { background-color: #ffffff; padding: 1rem; border-radius: 0.5rem; border: 1px solid var(--pawfect-border-color, #e5e7eb); }
.pf-woo-checkout__payment-radio { margin-right: 0.75rem; }
.pf-woo-checkout__payment-label { font-weight: 700; cursor: pointer; }
.pf-woo-checkout__payment-box { margin-top: 1rem; padding: 1rem; background-color: #f9fafb; border-radius: 0.375rem; }

/* --- WooCommerce My Account (my-account.php) --- */
.pf-woo-myaccount {}
.pf-woo-myaccount__container { background-color: #ffffff; border-radius: 0.5rem; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); overflow: hidden; }
.pf-woo-myaccount__mobile-toggle-wrap { display: block; padding: 1rem; border-bottom: 1px solid #e5e7eb; }
@media (min-width: 768px) { .pf-woo-myaccount__mobile-toggle-wrap { display: none; } }
.pf-woo-myaccount__mobile-toggle { width: 100%; display: flex; align-items: center; justify-content: space-between; text-align: left; font-weight: 500; color: #111827; background: transparent; border: none; cursor: pointer; }
.pf-woo-myaccount__mobile-toggle-icon { width: 1.25rem; height: 1.25rem; transform: rotate(0); transition: transform 0.3s; }
.pf-woo-myaccount__mobile-toggle-icon--rotated { transform: rotate(180deg); }
.pf-woo-myaccount__layout { display: flex; flex-direction: column; }
@media (min-width: 768px) { .pf-woo-myaccount__layout { flex-direction: row; } }
.pf-woo-myaccount__nav-sidebar { width: 100%; background-color: #f9fafb; border-right: 1px solid #e5e7eb; display: block; }
@media (min-width: 768px) { .pf-woo-myaccount__nav-sidebar { width: 25%; display: block !important; } }
.pf-woo-myaccount__nav-sidebar--hidden { display: none; }
@media (min-width: 768px) { .pf-woo-myaccount__nav-sidebar--hidden { display: block; } }
.pf-woo-myaccount__nav-wrap { padding: 1.5rem; }
.pf-woo-myaccount__content-area { flex: 1; padding: 1.5rem; }
@media (min-width: 768px) { .pf-woo-myaccount__content-area { padding: 2rem; } }
.pf-woo-myaccount__content {}

/* --- WooCommerce Sidebar (sidebar-shop.php) --- */
.pf-woo-sidebar { display: flex; flex-direction: column; gap: 1.5rem; }
.pf-woo-widget__price-filter { margin-top: 1rem; }

/* --- WooCommerce Archive (archive-product.php) --- */
.pf-woo-archive__container { padding-top: 3rem; padding-bottom: 3rem; }
@media (min-width: 768px) { .pf-woo-archive__container { padding-top: 4rem; padding-bottom: 4rem; } }
.pf-woo-archive__sidebar { position: relative; width: 100%; }
.pf-woo-archive__sidebar-inner.pawfect-sticky-sidebar,
.pawfect-sticky-sidebar,
.pf-woo-archive__sidebar-inner--sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: calc(var(--pf-header-height, 80px) + 2rem) !important;
  z-index: 20 !important;
}
.pf-woo-archive__content--full { width: 100%; }

.pf-product-card__excerpt,
.product-excerpt.pf-product-card__excerpt {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: 0.8125rem !important;
  line-height: 1.5 !important;
  color: #64748b !important;
  margin-bottom: 0.75rem !important;
}

/* --- WooCommerce Product Cards Helpers --- */
.pf-shop-card__img-height { aspect-ratio: 1 / 1; width: 100%; }
.pf-shop-card__img-square { aspect-ratio: 1 / 1; }
.pf-shop-card__view-text { transition: all 0.3s; }
.pf-product-card-modern:hover .pf-shop-card__view-text { margin-right: 0.25rem; }
.pf-shop-card__view-icon { width: 1rem; height: 1rem; margin-left: 0.35rem; transition: transform 0.3s; }
.pf-product-card-modern:hover .pf-shop-card__view-icon { transform: translateX(0.25rem); }
.pf-shop-card__link-block { display: block; width: 100%; height: 100%; }

/* --- WooCommerce Cart Empty Recommended Products --- */
.pf-woo-cart-empty__products { margin-top: 3rem; }
.pf-woo-cart-empty__products-title { font-size: 1.5rem; font-weight: 700; text-align: center; margin-bottom: 2rem; color: #1f2937; }
.pf-woo-cart-empty__products-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
@media (min-width: 768px) { .pf-woo-cart-empty__products-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* --- WooCommerce Cart Totals & Empty --- */
.pf-woo-cart__total-row { border-top: 1px solid var(--pawfect-border-color, #e5e7eb); }
.pf-woo-cart__total-th { padding-top: 1.5rem; padding-bottom: 1.5rem; text-align: left; font-family: var(--pawfect-font-serif, serif); font-size: 1.25rem; font-weight: 700; }
.pf-woo-cart__total-td { padding-top: 1.5rem; padding-bottom: 1.5rem; text-align: right; font-family: var(--pawfect-font-serif, serif); font-size: 1.5rem; font-weight: 700; color: var(--pawfect-accent, #3b82f6); }
.pf-woo-cart-empty__return { text-align: center; margin-top: 2rem; }

/* --- WooCommerce Grid and Wishlist Utilities --- */
.pf-woo-shop__img { width: 100%; height: 16rem; object-fit: cover; }
.pf-woo-shop__title { font-family: var(--pawfect-font-serif, serif); font-size: 1.25rem; }
.pf-woo-shop__title-link:hover { color: var(--pawfect-accent, #3b82f6); }
.pf-woo-shop__price-wrap { color: #6b7280; margin-top: 0.25rem; }
.pf-woo-shop__price-regular { text-decoration: line-through; margin-right: 0.5rem; }
.pf-woo-shop__price-sale { font-weight: 700; color: var(--pawfect-accent, #3b82f6); }
.pf-woo-shop__badge-sale { position: absolute; top: 0.75rem; left: 0.75rem; background-color: var(--pawfect-sale-bg, #ef4444); color: #ffffff; font-size: 0.75rem; text-transform: uppercase; padding: 0.25rem 0.5rem; border-radius: 0.375rem; font-weight: 700; z-index: 10; }
.pf-woo-grid { display: grid; gap: 2rem; }
.pf-woo-grid--cols-2 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 768px) { .pf-woo-grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pf-woo-grid--cols-3 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 768px) { .pf-woo-grid--cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .pf-woo-grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pf-woo-grid--cols-4 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 640px) { .pf-woo-grid--cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .pf-woo-grid--cols-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .pf-woo-grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pf-woo-grid--cols-5 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 640px) { .pf-woo-grid--cols-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .pf-woo-grid--cols-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .pf-woo-grid--cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.pf-woo-grid--cols-6 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 640px) { .pf-woo-grid--cols-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .pf-woo-grid--cols-6 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .pf-woo-grid--cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.pf-woo-pagination { margin-top: 3rem; text-align: center; }
.pf-woo-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2rem; }

.pf-wishlist-icon { width: 1.25rem; height: 1.25rem; transition: all 0.3s; }
.pf-wishlist-btn--round { background-color: rgba(255, 255, 255, 0.9); backdrop-filter: blur(4px); border-radius: 9999px; padding: 0.5rem; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); color: #4b5563; }
.pf-wishlist-btn--round:hover { background-color: rgba(255, 255, 255, 1); color: #ef4444; }
.pf-wishlist-btn--rect { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; border: 1px solid #d1d5db; border-radius: 0.5rem; color: #374151; transition: colors 0.2s; }
.pf-wishlist-btn--rect:hover { color: #ef4444; border-color: #fca5a5; }
.pf-wishlist-btn__text { font-size: 0.875rem; font-weight: 500; }

/* --- Single Product Layout & Luxury Experience (single-product.php) --- */
.pf-page-single-product__main {
  background-color: var(--pawfect-background, #faf9f6);
  min-height: 100vh;
}
.pf-page-single-product__container {
  padding-top: 2rem;
  padding-bottom: 5rem;
  max-width: 80rem;
  margin: 0 auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 768px) {
  .pf-page-single-product__container {
    padding-top: 2.5rem;
    padding-bottom: 6rem;
  }
}

/* Breadcrumbs */
.pf-woo-single__breadcrumb-wrap {
  font-size: 0.8125rem;
  color: #64748b;
  margin-bottom: 1.75rem;
  font-weight: 500;
}
.pf-woo-single__breadcrumb-wrap a {
  color: #64748b;
  text-decoration: none;
  transition: color 0.2s ease;
}
.pf-woo-single__breadcrumb-wrap a:hover {
  color: var(--pawfect-primary, var(--pf-primary, #F4A259));
}

/* Main 2-Column Grid */
.pf-woo-single__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .pf-woo-single__grid {
    grid-template-columns: 1.05fr 1fr;
    gap: 3.5rem;
  }
}

/* Gallery Column */
.pf-woo-single__gallery-wrap {
  position: relative;
}
.pf-woo-single__image-col {
  position: relative !important;
  background-color: #ffffff;
  border-radius: 1.25rem;
  border: 1px solid var(--pawfect-border-color, #e2e8f0);
  overflow: hidden;
  box-shadow: none;
  display: block;
}
.pf-woo-single__badge,
.pf-product-badge--sale,
.pf-woo-single__badge-sale,
.woocommerce span.onsale,
span.onsale {
  position: absolute !important;
  top: 1rem !important;
  left: 1rem !important;
  z-index: 30 !important;
  background-color: var(--pawfect-primary, var(--pf-primary, #F4A259)) !important;
  color: #ffffff !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  padding: 0.35rem 0.85rem !important;
  border-radius: 9999px !important;
  box-shadow: 0 4px 12px rgba(244, 162, 89, 0.35) !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
  border: none !important;
  margin: 0 !important;
  min-height: auto !important;
  min-width: auto !important;
  display: inline-flex !important;
  align-items: center !important;
}
.pf-woo-single__main-img-box {
  width: 100%;
  display: block;
  background-color: #ffffff;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
}
.pf-woo-single__main-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  transition: opacity 0.25s ease;
}
.pf-woo-single__no-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f1f5f9;
  color: #94a3b8;
  font-weight: 500;
}

/* Gallery Thumbnails */
.pf-woo-single__gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(4.5rem, 1fr));
  gap: 0.875rem;
  margin-top: 1rem;
}
.pf-woo-single__gallery-thumb-btn {
  aspect-ratio: 1 / 1;
  width: 100%;
  border-radius: 0.75rem;
  overflow: hidden;
  border: 2px solid transparent;
  padding: 0;
  cursor: pointer;
  background: #ffffff;
  transition: all 0.2s ease;
  display: block;
}
.pf-woo-single__gallery-thumb-btn:hover,
.pf-woo-single__gallery-thumb-btn--active {
  border-color: var(--pawfect-primary, var(--pf-primary, #F4A259)) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.pf-woo-single__gallery-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Product Summary Column */
.pf-woo-single__summary {
  display: flex;
  flex-direction: column;
}
.pf-woo-single__title {
  font-family: var(--pawfect-font-heading, var(--pawfect-font-serif, serif));
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 0.75rem 0;
}
@media (min-width: 768px) {
  .pf-woo-single__title {
    font-size: 2.375rem;
  }
}

.pf-woo-single__rating-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.pf-woo-single__rating-row .star-rating {
  color: #f59e0b;
}

/* Price */
.pf-woo-single__price .price {
  font-family: var(--pawfect-font-heading, inherit);
  font-size: 1.75rem !important;
  font-weight: 800;
  color: var(--pawfect-primary, var(--pf-primary, #F4A259)) !important;
  margin: 0 0 1rem 0;
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}
.pf-woo-single__price .price del {
  color: #94a3b8 !important;
  font-size: 1.125rem !important;
  font-weight: 400 !important;
}
.pf-woo-single__price .price ins {
  text-decoration: none;
  color: inherit;
}

/* Stock Status Indicator */
.pf-woo-single__stock-status {
  margin-bottom: 1.25rem;
}
.pf-stock-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  padding: 0.35rem 0.75rem;
  border-radius: 9999px;
}
.pf-stock-badge--in {
  background-color: #ecfdf5;
  color: #059669;
}
.pf-stock-badge--out {
  background-color: #fef2f2;
  color: #dc2626;
}
.pf-stock-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 9999px;
  background-color: currentColor;
}

/* Excerpt Description */
.pf-woo-single__description {
  color: #475569;
  line-height: 1.7;
  font-size: 0.9375rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--pawfect-border-color, #e2e8f0);
}

/* Add to Cart Actions Row */
.pf-woo-single__form-box {
  margin-bottom: 2rem;
}
.pf-woo-single__actions-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

/* Universal Luxury Quantity Stepper */
.quantity.pf-quantity,
.quantity {
  display: inline-flex !important;
  align-items: center !important;
  height: 3rem !important;
  border: 1.5px solid var(--pawfect-border-color, #cbd5e1) !important;
  border-radius: var(--pf-btn-radius, 0.5rem) !important;
  background-color: #ffffff !important;
  overflow: hidden !important;
  box-shadow: none !important;
}
.pf-qty-btn {
  width: 2.5rem !important;
  height: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: none !important;
  color: #334155 !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: all 0.2s ease !important;
}
.pf-qty-btn:hover {
  background-color: #f1f5f9 !important;
  color: #0f172a !important;
}
.pf-qty-input,
.quantity input.qty {
  width: 3rem !important;
  height: 100% !important;
  border: none !important;
  background: transparent !important;
  text-align: center !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  padding: 0 !important;
  margin: 0 !important;
  -moz-appearance: textfield !important;
}
.pf-qty-input::-webkit-outer-spin-button,
.pf-qty-input::-webkit-inner-spin-button,
.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}
.pf-qty-input:focus,
.quantity input.qty:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Single Add to Cart Button */
.pf-woo-single__add-to-cart,
.single_add_to_cart_button.button {
  height: 3rem !important;
  padding: 0 2rem !important;
  border-radius: var(--pf-btn-radius, 0.5rem) !important;
  background-color: var(--pawfect-primary, var(--pf-primary, #F4A259)) !important;
  color: #ffffff !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  border: none !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  box-shadow: none !important;
  transition: all 0.25s ease !important;
  flex: 1 1 auto;
  min-width: 11rem;
}
.pf-woo-single__add-to-cart:hover,
.single_add_to_cart_button.button:hover {
  filter: brightness(1.08) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 20px -5px rgba(244, 162, 89, 0.4) !important;
}
.pf-btn__cart-icon {
  width: 1.125rem;
  height: 1.125rem;
}

/* Single Wishlist Button */
.pf-woo-single__wishlist-wrap .pf-wishlist-btn--round {
  width: 3rem;
  height: 3rem;
  border-radius: var(--pf-btn-radius, 0.5rem);
  border: 1.5px solid var(--pawfect-border-color, #cbd5e1);
  background-color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #475569;
  cursor: pointer;
  transition: all 0.2s ease;
}
.pf-woo-single__wishlist-wrap .pf-wishlist-btn--round:hover,
.pf-woo-single__wishlist-wrap .pf-wishlist-btn--round.pf-wishlist-active,
.pf-woo-single__wishlist-wrap .pf-wishlist-btn--round.pawfect-wishlist-active {
  color: var(--pawfect-primary, var(--pf-primary, #F4A259)) !important;
  border-color: var(--pawfect-primary, var(--pf-primary, #F4A259)) !important;
  background-color: #fff7ed !important;
}

.pawfect-wishlist-active svg,
.pf-wishlist-active svg,
.pawfect-wishlist-btn.pawfect-wishlist-active svg,
.pawfect-wishlist-btn.pf-wishlist-active svg {
  fill: currentColor !important;
  stroke: currentColor !important;
  display: block !important;
}

/* Perks List */
.pf-woo-single__perks-list {
  background-color: #ffffff;
  border-radius: 0.875rem;
  border: 1px solid var(--pawfect-border-color, #e2e8f0);
  padding: 1.125rem 1.25rem;
  margin-bottom: 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.pf-perk-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #334155;
}
.pf-perk-item svg {
  color: var(--pawfect-primary, var(--pf-primary, #F4A259));
  flex-shrink: 0;
}

/* Product Meta (SKU, Categories, Tags) */
.pf-woo-single__meta-data {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: #64748b;
}
.pf-woo-single__meta-data a {
  color: #0f172a;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}
.pf-woo-single__meta-data a:hover {
  color: var(--pawfect-primary, var(--pf-primary, #F4A259));
}

/* Tabs Section */
.pf-woo-single__tabs-wrap {
  margin-top: 4rem;
  padding-top: 2.5rem;
  border-top: 1px solid var(--pawfect-border-color, #e2e8f0);
}
.pf-woo-single__tabs-wrap .woocommerce-tabs ul.tabs {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem 0;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  border-bottom: 1px solid var(--pawfect-border-color, #e2e8f0);
}
.pf-woo-single__tabs-wrap .woocommerce-tabs ul.tabs li {
  margin: 0;
}
.pf-woo-single__tabs-wrap .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 0.875rem 0;
  color: #64748b;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.0625rem;
  border-bottom: 2.5px solid transparent;
  margin-bottom: -1.5px;
  transition: all 0.2s ease;
}
.pf-woo-single__tabs-wrap .woocommerce-tabs ul.tabs li.active a,
.pf-woo-single__tabs-wrap .woocommerce-tabs ul.tabs li a:hover {
  color: var(--pawfect-primary, var(--pf-primary, #F4A259));
  border-bottom-color: var(--pawfect-primary, var(--pf-primary, #F4A259));
}
.pf-woo-single__tabs-wrap .woocommerce-tabs .panel {
  color: #475569;
  line-height: 1.75;
  font-size: 1rem;
}
.pf-woo-single__tabs-wrap .woocommerce-tabs .panel h2 {
  font-size: 1.375rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 1rem;
}

/* Related Products & Upsells */
.related.products,
.up-sells.products {
  margin-top: 4.5rem;
  padding-top: 3rem;
  border-top: 1px solid var(--pawfect-border-color, #e2e8f0);
}
.related.products > h2,
.up-sells.products > h2 {
  font-family: var(--pawfect-font-heading, var(--pawfect-font-serif, serif));
  font-size: 1.75rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 2rem;
  text-align: left;
}
.related.products ul.products,
.up-sells.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
  gap: 1.75rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}



/* --- Wishlist wrappers --- */
.pf-wishlist__wrapper { position: absolute; top: 0.75rem; right: 0.75rem; z-index: 10; }
.pf-wishlist__single-wrapper { margin-top: 1rem; }

/* Standard WooCommerce Widgets Override */
.pf-woo-sidebar .widget:not(.widget_shopping_cart) ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.pf-woo-sidebar .widget:not(.widget_shopping_cart) ul li {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.pf-woo-sidebar .widget:not(.widget_shopping_cart) ul li a {
    position: relative;
    display: inline-block;
    padding: 0.25rem 0;
    color: #374151;
    transition: color 0.3s;
    text-decoration: none !important;
    font-weight: 500;
    background-color: transparent !important;
}
.pf-woo-sidebar .widget:not(.widget_shopping_cart) ul li a::after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: currentColor;
    transform-origin: bottom right;
    transition: transform 0.3s ease-out;
}
.pf-woo-sidebar .widget:not(.widget_shopping_cart) ul li a:hover::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}
.pf-woo-sidebar .widget:not(.widget_shopping_cart) ul li a:hover {
    color: var(--pawfect-primary, #2563eb);
    background-color: transparent !important;
    box-shadow: none !important;
}
.pf-woo-sidebar .widget:not(.widget_shopping_cart) ul li .count {
    font-size: 0.75rem;
    background-color: #f3f4f6;
    color: #4b5563;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    transition: background-color 0.2s, color 0.2s;
}
.pf-woo-sidebar .widget ul li:hover .count {
    background-color: #dbeafe;
    color: #1d4ed8;
}
/* Search Widget */
.pf-woo-sidebar .widget_product_search form,
.pf-woo-sidebar .widget_search form {
    position: relative;
    display: flex;
    width: 100%;
}
.pf-woo-sidebar .widget_product_search input[type="search"],
.pf-woo-sidebar .widget_search input[type="search"] {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 2px solid #e5e7eb;
    border-radius: 0.5rem;
    background-color: #f9fafb;
    transition: all 0.2s;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.pf-woo-sidebar .widget_product_search input[type="search"]:focus,
.pf-woo-sidebar .widget_search input[type="search"]:focus {
    outline: none;
    border-color: #fb923c;
    background-color: #ffffff;
}
.pf-woo-sidebar .widget_product_search button,
.pf-woo-sidebar .widget_search button {
    background-color: #fb923c;
    color: #ffffff;
    border: none;
    padding: 0 1.25rem;
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
    cursor: pointer;
    transition: background-color 0.2s;
}
.pf-woo-sidebar .widget_product_search button:hover,
.pf-woo-sidebar .widget_search button:hover {
    background-color: #f97316;
}

/* Shopping Cart Widget */
.pf-woo-sidebar .widget_shopping_cart_content {
    display: flex;
    flex-direction: column;
}
.pf-woo-sidebar .widget_shopping_cart .cart_list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
}
.pf-woo-sidebar .widget_shopping_cart .mini_cart_item {
    display: flex;
    align-items: center;
    position: relative;
    padding: 1rem 0 1rem 2rem;
    border-bottom: 1px solid #f3f4f6;
}
.pf-woo-sidebar .widget_shopping_cart .mini_cart_item:last-child {
    border-bottom: none;
}
.pf-woo-sidebar .widget_shopping_cart .remove {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #ef4444;
    font-size: 1.25rem;
    line-height: 1;
    text-decoration: none;
    transition: all 0.2s;
    width: 1.5rem;
    height: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
}
.pf-woo-sidebar .widget_shopping_cart .remove:hover {
    background-color: #fee2e2;
    color: #dc2626;
}
.pf-woo-sidebar .widget_shopping_cart .mini_cart_item a:not(.remove) {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: #374151;
    font-weight: 600;
    font-size: 0.875rem;
    text-decoration: none;
    transition: color 0.2s;
    flex: 1;
    line-height: 1.4;
    background: transparent !important;
}
.pf-woo-sidebar .widget_shopping_cart .mini_cart_item a:not(.remove):hover {
    color: var(--pawfect-primary, #2563eb);
}
.pf-woo-sidebar .widget_shopping_cart .mini_cart_item img {
    width: 3rem;
    height: 3rem;
    object-fit: cover;
    border-radius: 0.5rem;
    flex-shrink: 0;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.pf-woo-sidebar .widget_shopping_cart .quantity {
    display: block;
    font-size: 0.875rem;
    color: #6b7280;
    margin-top: 0.25rem;
}
.pf-woo-sidebar .widget_shopping_cart .quantity .amount {
    color: var(--pawfect-primary, #2563eb);
    font-weight: 700;
}
.pf-woo-sidebar .widget_shopping_cart .total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 0;
    margin: 1rem 0;
    border-top: 1px solid #e5e7eb;
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
}
.pf-woo-sidebar .widget_shopping_cart .total strong {
    font-weight: 700;
}
.pf-woo-sidebar .widget_shopping_cart .total .amount {
    color: var(--pawfect-primary, #2563eb);
}
.pf-woo-sidebar .widget_shopping_cart .buttons {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 0;
}
.pf-woo-sidebar .widget_shopping_cart .buttons .button {
    display: block;
    width: 100%;
    text-align: center;
    padding: 0.75rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s;
    background-color: transparent !important;
}
.pf-woo-sidebar .widget_shopping_cart .buttons .button:not(.checkout) {
    color: #4b5563;
    border: 1px solid #e5e7eb;
}
.pf-woo-sidebar .widget_shopping_cart .buttons .button:not(.checkout):hover {
    border-color: var(--pawfect-primary, #2563eb);
    color: var(--pawfect-primary, #2563eb);
    transform: translateY(-2px);
}
.pf-woo-sidebar .widget_shopping_cart .buttons .checkout {
    background-color: var(--pawfect-primary, #2563eb) !important;
    color: #ffffff;
    border: 1px solid var(--pawfect-primary, #2563eb);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.pf-woo-sidebar .widget_shopping_cart .buttons .checkout:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.15);
}

/* Sidebar: nested category children */
.pf-woo-sidebar .widget:not(.widget_shopping_cart) ul.children {
  margin: 0.5rem 0 0 0.75rem;
  padding-left: 0.75rem;
  border-left: 1px dashed #e5e7eb;
}
.pf-woo-sidebar .widget:not(.widget_shopping_cart) ul.children li {
  font-size: 0.875rem;
}
.pf-woo-sidebar .widget:not(.widget_shopping_cart) ul.children a {
  font-weight: 400;
}

/* Sidebar: product tag cloud pills */
.pf-woo-sidebar .widget_product_tag_cloud .tagcloud {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.pf-woo-sidebar .widget_product_tag_cloud .tagcloud a {
  display: inline-block;
  padding: 0.4rem 0.9rem;
  border-radius: 9999px;
  font-size: 0.8125rem !important;
  font-weight: 500;
  line-height: 1;
  background-color: #f3e8ff;
  color: #7e22ce;
  text-decoration: none;
  transition: background-color 0.2s, color 0.2s;
}
.pf-woo-sidebar .widget_product_tag_cloud .tagcloud a:hover {
  background-color: #a855f7;
  color: #ffffff;
}

/* Sidebar: price filter slider themed to the brand */
.pf-woo-sidebar .widget_price_filter .price_slider_wrapper {
  padding-top: 0.5rem;
}
.pf-woo-sidebar .widget_price_filter .price_slider {
  height: 0.375rem;
  border-radius: 9999px;
  background-color: #e5e7eb;
}
.pf-woo-sidebar .widget_price_filter .ui-slider .ui-slider-range {
  background-color: var(--pawfect-primary, var(--pf-primary, #F4A259));
}
.pf-woo-sidebar .widget_price_filter .ui-slider .ui-slider-handle {
  width: 1rem;
  height: 1rem;
  top: -0.3125rem;
  border-radius: 50%;
  background-color: #ffffff;
  border: 2px solid var(--pawfect-primary, var(--pf-primary, #F4A259));
  cursor: pointer;
}
.pf-woo-sidebar .widget_price_filter .price_slider_amount {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 1rem;
  font-size: 0.875rem;
  color: #4b5563;
}
.pf-woo-sidebar .widget_price_filter .price_slider_amount .button {
  background-color: #111827;
  color: #ffffff;
  border: none;
  padding: 0.5rem 1.25rem;
  border-radius: 9999px;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
}
.pf-woo-sidebar .widget_price_filter .price_slider_amount .button:hover {
  background-color: var(--pawfect-primary, var(--pf-primary, #F4A259));
}

/* --- WooCommerce Frontpage Section Enhancements --- */
.pf-woo-section { position: relative; padding: 4rem 0; }
@media (min-width: 1024px) { .pf-woo-section { padding: 6rem 0; } }
.pf-woo__subtitle-wrapper { margin-bottom: 0.5rem; }
.pf-woo__title { margin-bottom: 0.25rem; }
.pf-woo__desc { margin: 0; }
.pf-woo__nav-wrap { display: flex; align-items: center; gap: 1rem; }
.pf-woo-pagination { font-size: 0.875rem; color: var(--pf-text); }

/* ==========================================================================
   Legacy template WooCommerce styles (pawfect-* hooks used by shop templates)
   ========================================================================== */

/* --- Shop sorting select --- */
.pawfect-sort-select {
    padding: 0.5rem 2.25rem 0.5rem 0.75rem;
    border: 1px solid var(--pf-gray-200);
    border-radius: var(--pf-radius-md);
    background-color: #ffffff;
    color: var(--pf-gray-900);
    font-size: var(--pf-text-sm);
    cursor: pointer;
    max-width: 100%;
}

/* --- Single product layout wrappers --- */
.pawfect-product-gallery {
    min-width: 0;
}

.pawfect-product-summary {
    min-width: 0;
}

.pawfect-product-form {
    margin: 1.5rem 0;
}

.pawfect-product-form .quantity {
    margin-right: 0.75rem;
}

.pawfect-main-product-image {
    margin-bottom: 1rem;
}

.pawfect-thumbnail-image {
    cursor: pointer;
}

/* --- Related / upsell products --- */
.pawfect-related-products {
    margin-top: 3rem;
}

/* --- Wishlist --- */
.pawfect-wishlist-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: inherit;
}

.pawfect-wishlist-btn.pawfect-wishlist-active {
    color: var(--pawfect-primary, var(--pf-primary, #F4A259));
}

.pawfect-wishlist-item {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* --- Add to cart button text --- */
.pawfect-btn-text {
    display: inline-block;
}

.pawfect-ajax-add-to-cart {
    position: relative;
}

.pawfect-add-to-cart-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* --- Product swiper --- */
.pawfect-product-swiper {
    width: 100%;
}

/* --- Featured WooCommerce section --- */
.pawfect-woocommerce-featured {
    position: relative;
}

.pawfect-woocommerce-subtitle-wrapper {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* ==========================================================================
   Cart & Checkout Pages Alignment & Spacing
   ========================================================================== */
.woocommerce-cart .pf-page-cart__container,
.woocommerce-checkout .pf-page-checkout__container,
.pawfect-cart-page,
.pawfect-checkout-page {
    width: 100% !important;
    max-width: 1360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}
