/* =========================================================
   GOLDEN BAKERY — WooCommerce Shop / Product Category
   Inspired by HoaHoaLaLa layout, restyled in Golden identity
   ========================================================= */

:root{
  --gb-shop-cream:#fbf8f3;
  --gb-shop-paper:#fffdf9;
  --gb-shop-ink:#23160f;
  --gb-shop-brown:#3a261a;
  --gb-shop-burgundy:#7b0f1c;
  --gb-shop-burgundy-deep:#570813;
  --gb-shop-gold:#c99a49;
  --gb-shop-gold-soft:#e8c98d;
  --gb-shop-line:#eadfcf;
  --gb-shop-muted:#8a7868;
  --gb-shop-shadow:0 14px 34px rgba(67,43,27,.08);
}

/* ---------- ARCHIVE BACKGROUND ---------- */
.woocommerce.archive #main,
.post-type-archive-product #main,
.tax-product_cat #main,
.tax-product_tag #main{
  background:var(--gb-shop-cream) !important;
}

/* ---------- RESULT COUNT + SORT ---------- */
.woocommerce-result-count{
  color:var(--gb-shop-brown);
  font-size:14px;
  font-weight:600;
}

.woocommerce-ordering select,
.woocommerce-ordering .orderby{
  min-height:44px;
  padding:0 42px 0 16px;
  color:var(--gb-shop-brown);
  background:#fff;
  border:1px solid var(--gb-shop-line);
  border-radius:14px;
  box-shadow:none;
  font-weight:500;
}

/* =========================================================
   PRODUCT CARD
   ========================================================= */
.woocommerce .products .product-small .col-inner,
.woocommerce .products .product-small.box,
.woocommerce .products .product-small .box{
  height:100%;
}

.woocommerce .products .product-small .col-inner{
  position:relative;
  overflow:hidden;
  background:var(--gb-shop-paper);
  border:1px solid var(--gb-shop-line);
  border-radius:24px;
  box-shadow:0 8px 24px rgba(56,35,23,.055);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.woocommerce .products .product-small .col-inner:hover{
  transform:translateY(-5px);
  border-color:rgba(201,154,73,.52);
  box-shadow:var(--gb-shop-shadow);
}

/* Flatsome box itself */
.woocommerce .products .product-small .box{
  overflow:hidden;
  border-radius:24px;
  background:transparent;
}

/* Ảnh đồng nhất */
.woocommerce .products .product-small .box-image,
.woocommerce .products .product-small .image-fade_in_back,
.woocommerce .products .product-small .image-zoom{
  overflow:hidden;
  margin:0;
  border-radius:23px 23px 0 0;
  background:#f4eadb;
}

.woocommerce .products .product-small .box-image .image-fade_in_back > a,
.woocommerce .products .product-small .box-image > a{
    display:block;
    position:relative;
    width:100%;
    aspect-ratio:1 / 1;
    overflow:hidden;
}

.woocommerce .products .product-small .box-image img{
    display:block;
    width:100% !important;
    height:100% !important;
    aspect-ratio:1 / 1;
    object-fit:cover !important;
    object-position:center center;
}

.woocommerce .products .product-small .box-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}

.woocommerce .products .product-small .col-inner:hover .box-image img{
  transform:scale(1.035);
}

/* Nội dung */
.woocommerce .products .product-small .box-text,
.woocommerce .products .product-small .box-text-products{
  padding:16px 17px 18px !important;
  text-align:left;
}

.woocommerce .products .product-small .category,
.woocommerce .products .product-small .product-cat,
.woocommerce .products .product-small .product-category{
  display:block;
  margin:0 0 6px;
  color:var(--gb-shop-gold);
  font-size:10px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.woocommerce .products .product-small .name,
.woocommerce .products .product-small .product-title{
  margin:0 0 8px;
  color:var(--gb-shop-ink);
  font-size:15px;
  font-weight:600;
  line-height:1.42;
}

.woocommerce .products .product-small .name a,
.woocommerce .products .product-small .product-title a{
  color:inherit;
  text-decoration:none;
}

.woocommerce .products .product-small .name a:hover,
.woocommerce .products .product-small .product-title a:hover{
  color:var(--gb-shop-burgundy);
}

/* Giá */
.woocommerce .products .product-small .price-wrapper{
  margin-top:3px;
}

.woocommerce .products .product-small .price{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:5px 8px;
  color:var(--gb-shop-burgundy);
  font-size:16px;
  font-weight:700;
}

.woocommerce .products .product-small .price del{
  order:1;
  color:#9a8f85;
  font-size:12px;
  font-weight:400;
  opacity:1;
}

.woocommerce .products .product-small .price ins{
  order:2;
  color:var(--gb-shop-burgundy);
  font-weight:700;
  text-decoration:none;
}

.woocommerce .products .product-small .price .woocommerce-Price-currencySymbol{
  font-size:.9em;
}

/* Stars */
.woocommerce .products .star-rating{
  color:var(--gb-shop-gold);
  margin:8px 0 6px;
  font-size:12px;
}

/* =========================================================
   SALE BADGE — HoaHoaLaLa spirit, Golden Bakery identity
   ========================================================= */
.woocommerce span.onsale,
.woocommerce .badge-container .onsale,
.woocommerce .gb-sale-badge{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-width:0 !important;
  min-height:0 !important;
  width:auto !important;
  height:auto !important;
  padding:7px 12px !important;
  color:#fff !important;
  background:linear-gradient(135deg,var(--gb-shop-burgundy),var(--gb-shop-burgundy-deep)) !important;
  border:1px solid rgba(232,201,141,.9) !important;
  border-radius:999px !important;
  box-shadow:0 8px 20px rgba(87,8,19,.18) !important;
  font-size:11px !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:.01em;
  text-transform:none !important;
}

.woocommerce .badge-container{
  top:14px !important;
  left:14px !important;
  margin:0 !important;
}

.woocommerce .badge-container .badge{
  width:auto !important;
  height:auto !important;
  margin:0 !important;
}

.woocommerce .badge-container .badge-inner{
  padding:0 !important;
  background:transparent !important;
  color:inherit !important;
  border:0 !important;
}

/* =========================================================
   PRICE FILTER
   ========================================================= */
.gb-price-filter{
  overflow:hidden;
  margin:0 0 28px;
  background:var(--gb-shop-paper);
  border:1px solid var(--gb-shop-line);
  border-radius:18px;
  box-shadow:0 10px 28px rgba(56,35,23,.055);
}

.gb-price-filter__head{
  padding:18px 20px 16px;
  color:#fff;
  background:linear-gradient(135deg,var(--gb-shop-burgundy),#5c0914);
}

.gb-price-filter__eyebrow{
  display:block;
  margin-bottom:4px;
  color:var(--gb-shop-gold-soft);
  font-size:9px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.gb-price-filter__head h3{
  margin:0 !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.gb-price-filter__options{
  padding:8px 17px 11px;
}

.gb-price-filter__option{
  display:flex;
  align-items:center;
  gap:11px;
  min-height:46px;
  padding:10px 2px;
  color:var(--gb-shop-brown);
  border-bottom:1px solid #eee5da;
  font-size:13px;
  font-weight:500;
  line-height:1.4;
  text-decoration:none !important;
  transition:color .2s ease, transform .2s ease;
}

.gb-price-filter__option:last-child{
  border-bottom:0;
}

.gb-price-filter__option:hover{
  color:var(--gb-shop-burgundy);
  transform:translateX(2px);
}

.gb-price-filter__radio{
  position:relative;
  flex:0 0 18px;
  width:18px;
  height:18px;
  border:1.5px solid #c7b398;
  border-radius:50%;
  background:#fff;
  transition:.2s ease;
}

.gb-price-filter__option.is-active{
  color:var(--gb-shop-burgundy);
  font-weight:700;
}

.gb-price-filter__option.is-active .gb-price-filter__radio{
  border-color:var(--gb-shop-burgundy);
  box-shadow:0 0 0 3px rgba(123,15,28,.07);
}

.gb-price-filter__option.is-active .gb-price-filter__radio::after{
  content:"";
  position:absolute;
  inset:4px;
  background:var(--gb-shop-gold);
  border-radius:50%;
}

/* Nếu sidebar Flatsome có title/widget khác, đồng bộ nhẹ */
.shop-sidebar .widget-title,
.shop-sidebar .is-divider{
  color:var(--gb-shop-burgundy);
}

/* Pagination */
.woocommerce-pagination .page-number,
.nav-pagination > li > a,
.nav-pagination > li > span{
  border-color:var(--gb-shop-line) !important;
  color:var(--gb-shop-brown) !important;
}

.nav-pagination > li > .current,
.nav-pagination > li > a:hover{
  color:#fff !important;
  background:var(--gb-shop-burgundy) !important;
  border-color:var(--gb-shop-burgundy) !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 849px){
  .woocommerce .products .product-small .col-inner{
    border-radius:18px;
  }
  .woocommerce .products .product-small .box,
  .woocommerce .products .product-small .box-image{
    border-radius:18px 18px 0 0;
  }
  .woocommerce .products .product-small .box-text,
  .woocommerce .products .product-small .box-text-products{
    padding:13px 13px 15px !important;
  }
  .woocommerce .products .product-small .name,
  .woocommerce .products .product-small .product-title{
    font-size:14px;
  }
  .woocommerce .products .product-small .price{
    font-size:15px;
  }
  .woocommerce .badge-container{
    top:10px !important;
    left:10px !important;
  }
  .woocommerce span.onsale,
  .woocommerce .gb-sale-badge{
    padding:6px 10px !important;
    font-size:10px !important;
  }
}

@media (max-width: 549px){
  .woocommerce-result-count{
    font-size:12px;
  }
  .woocommerce-ordering select,
  .woocommerce-ordering .orderby{
    width:100%;
    min-height:42px;
    font-size:13px;
  }
  .gb-price-filter{
    border-radius:16px;
  }
}