/* =========================================================================
   VintageWine — WooCommerce (Sáng & Vàng Gold, thanh lịch)
   ========================================================================= */

.woocommerce-breadcrumb{
	font-family:var(--vw-font-head);font-size:.75rem;letter-spacing:.07em;color:var(--vw-muted);
	padding-block:1.75rem 0;text-transform:uppercase;
}
.woocommerce-breadcrumb a{color:var(--vw-muted);}
.woocommerce-breadcrumb a:hover{color:var(--vw-gold);}
.woocommerce-breadcrumb .sep{opacity:.5;margin-inline:.3rem;}

.site-main--shop{padding-block:2rem 4.5rem;}

/* Đoạn nội dung SEO cuối trang danh mục */
.vw-archive-seo-copy{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--vw-line);max-width:74ch;color:var(--vw-muted);}
.vw-archive-seo-copy h2{font-family:var(--vw-font-display);font-size:1.35rem;color:var(--vw-ink);margin:0 0 1rem;}
.vw-archive-seo-copy p{margin:0 0 .9rem;line-height:1.75;font-size:.95rem;}
.vw-archive-seo-copy a{color:var(--vw-gold-deep);text-decoration:underline;text-underline-offset:2px;}
.vw-archive-seo-copy a:hover{color:var(--vw-gold);}
.vw-shop-intro{max-width:62ch;color:var(--vw-muted);margin-bottom:2.25rem;}

/* ---------- Shop layout + filters ---------------------------------- */
.site-content-wc{padding-top:0;}
.site-content-wc.has-filters{display:grid;gap:2.75rem;align-items:start;}
@media(min-width:1000px){.site-content-wc.has-filters{grid-template-columns:270px minmax(0,1fr);}}
.site-content-wc.has-filters .site-main--shop{min-width:0;}

.shop-filters{position:sticky;top:130px;}
.shop-filters__toggle{
	display:none;width:100%;margin-top:1.5rem;background:var(--vw-ink);color:var(--vw-on-dark);border:0;
	padding:.88em 1em;border-radius:var(--vw-radius);font-family:var(--vw-font-head);font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;
}
.shop-filter{background:var(--vw-surface);border:1px solid var(--vw-line);border-radius:var(--vw-radius);padding:1.2rem 1.35rem;margin-bottom:1rem;}
.shop-filter .widgettitle,.shop-filter .widget-title,.shop-filter h2,.shop-filter h3{
	font-family:var(--vw-font-head);font-size:.75rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
	margin:0 0 .95rem;padding:0 0 .65rem;border-bottom:1px solid var(--vw-line);color:var(--vw-gold);
}
.shop-filter ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;font-size:.9rem;}
.shop-filter ul ul{margin-top:.55rem;padding-left:.9rem;border-left:1px solid var(--vw-line);}
.shop-filter li{display:flex;flex-wrap:wrap;gap:.3rem;align-items:baseline;}
.shop-filter li a{color:var(--vw-text);}
.shop-filter li a:hover,.shop-filter li.chosen > a{color:var(--vw-gold);font-weight:600;}
.shop-filter li.chosen > a::before{content:"\00d7 ";color:var(--vw-gold);font-weight:700;}
.shop-filter .count{color:var(--vw-muted);font-size:.78rem;}
.shop-filter .price_slider_wrapper{margin-top:.3rem;}
.shop-filter .ui-slider{position:relative;height:.35rem;background:var(--vw-line);border-radius:999px;border:0;margin:.7rem 0 .3rem;}
.shop-filter .ui-slider .ui-slider-range{position:absolute;height:100%;background:var(--vw-gold);border-radius:999px;}
.shop-filter .ui-slider .ui-slider-handle{
	position:absolute;top:50%;width:1rem;height:1rem;margin-left:-.5rem;transform:translateY(-50%);
	background:var(--vw-gold);border:2px solid var(--vw-surface);border-radius:50%;box-shadow:0 1px 5px rgba(60,48,20,.3);cursor:grab;
}
.shop-filter .price_slider_amount{display:flex;flex-direction:column;gap:.6rem;font-size:.82rem;margin-top:.85rem;color:var(--vw-muted);}
.shop-filter .price_slider_amount .button{order:2;align-self:flex-start;font-size:.66rem;padding:.62em 1.2em;}
.shop-filter .wc-layered-nav-rating a{color:var(--vw-gold);text-decoration:none;}

/* Làm nổi bật danh mục ĐANG XEM trong cây "Dòng rượu", để dễ nhận ra khi
   khung đã tự cuộn tới (xem inc/shop-filter-focus.php). */
.shop-filter .product-categories li.current-cat > a{
	color:var(--vw-gold);font-weight:700;
}
.shop-filter .product-categories li.current-cat{
	background:color-mix(in srgb, var(--vw-gold) 10%, transparent);
	margin:0 -.5rem;padding:.15rem .5rem;border-radius:6px;
	border-left:2px solid var(--vw-gold);
}
.shop-filter .product-categories li.current-cat-parent > a{
	color:var(--vw-ink);font-weight:600;
}

/* Nút thu gọn/mở rộng từng danh mục — JS chèn vào trước link (xem
   assets/js/shop-filter-focus.js). Mặc định gọn lại, chỉ nhánh đang xem
   mở sẵn, thay vì liệt kê phẳng toàn bộ ~333 danh mục cùng lúc.
   Đặt nút ở vị trí tuyệt đối (absolute) thay vì làm flex-item, vì tên
   danh mục dài (2-3 dòng) khiến nút bị flex-wrap đẩy xuống dòng riêng,
   tách rời khỏi tên danh mục. */
.shop-filter .product-categories li.cat-parent{position:relative;padding-left:1rem;}
.shop-filter .product-categories .vw-cat-toggle{
	position:absolute;left:0;top:.2rem;width:1rem;height:1rem;padding:0;margin:0;
	border:0;background:transparent;cursor:pointer;color:var(--vw-muted);
	display:inline-flex;align-items:center;justify-content:center;
}
.shop-filter .product-categories .vw-cat-toggle::before{
	content:"";width:0;height:0;
	border-top:.28rem solid transparent;border-bottom:.28rem solid transparent;
	border-left:.32rem solid currentColor;transition:transform .15s;
}
.shop-filter .product-categories li.is-open > .vw-cat-toggle::before{transform:rotate(90deg);}
/* `.shop-filter ul{display:grid}` (trên) ép display:grid lên MỌI ul kể cả
   khi đã set thuộc tính `hidden` bằng JS — ghi đè hành vi ẩn mặc định của
   trình duyệt vì đây là rule cùng nguồn "author" nhưng match sau. Phải
   nêu rõ lại display:none cho ul.children[hidden] thì mới ẩn thật. */
.shop-filter .product-categories ul.children[hidden]{display:none;}
.shop-filter__reset{margin:.5rem 0 0;font-size:.85rem;}
.shop-filter__reset a{color:var(--vw-gold);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;}

.vw-tax-filter{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;font-size:.9rem;}
.vw-tax-filter.is-scroll{max-height:270px;overflow-y:auto;padding-right:.25rem;}
.vw-tax-filter li a{display:flex;justify-content:space-between;gap:.5rem;color:var(--vw-text);}
.vw-tax-filter li a:hover{color:var(--vw-gold);}
.vw-tax-filter li.chosen > a{color:var(--vw-gold);font-weight:600;}
.vw-tax-filter li.chosen > a::before{content:"\00d7 ";color:var(--vw-gold);font-weight:700;}
.vw-tax-filter .count{color:var(--vw-muted);font-size:.8rem;}

/* ---------- Thanh công cụ trên lưới (đếm · lưới/ds · sắp xếp) --- */
.vw-shop-toolbar{
	display:flex;align-items:center;gap:.85rem 1.1rem;flex-wrap:wrap;
	margin:0 0 1.85rem;padding:0 0 1.15rem;border-bottom:1px solid var(--vw-line);
}
.woocommerce .vw-shop-toolbar .woocommerce-result-count{float:none!important;margin:0 auto 0 0!important;}
.woocommerce .vw-shop-toolbar .woocommerce-ordering{float:none!important;margin:0!important;}
.woocommerce-result-count{font-family:var(--vw-font-head);color:var(--vw-muted);font-size:.82rem;letter-spacing:.03em;}
.woocommerce-ordering{line-height:1;}
.woocommerce-ordering select{
	width:auto;min-width:210px;font-family:var(--vw-font-head);font-size:.76rem;letter-spacing:.02em;color:var(--vw-ink);
	border:1px solid var(--vw-line);border-radius:var(--vw-radius);background-color:var(--vw-surface);padding:.72em 2.4em .72em 1em;
}
.woocommerce-ordering select:focus{border-color:var(--vw-gold);outline:none;}
.woocommerce-notices-wrapper:empty{display:none;}

/* ---------- Product grid ------------------------------------- */
ul.products{display:grid!important;gap:2rem;list-style:none;margin:0!important;padding:0;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));}
ul.products::before,ul.products::after{display:none!important;}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product{
	width:auto!important;margin:0!important;float:none!important;
	background:var(--vw-surface);border:1px solid var(--vw-line);border-radius:var(--vw-radius);
	padding:.9rem .9rem 1.3rem!important;position:relative;display:flex;flex-direction:column;transition:transform .2s,border-color .2s,box-shadow .2s;
}
ul.products li.product:hover{transform:translateY(-5px);border-color:var(--vw-gold);box-shadow:var(--vw-shadow-soft);}
/* Khung ảnh: mọi thẻ cùng tỉ lệ 3:4, ảnh CONTAIN (không cắt, không tràn khung) */
.woocommerce ul.products li.product a img,
ul.products li.product a img{
	display:block;width:100%;height:auto;aspect-ratio:3/4;
	object-fit:contain;object-position:center;
	background:#fff;border:1px solid var(--vw-line-soft);border-radius:3px;
	padding:.5rem;margin:0 0 .9rem;box-shadow:none;
}
ul.products li.product .vw-loop-brand{display:block;font-family:var(--vw-font-head);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--vw-muted);margin-bottom:.2rem;}
ul.products li.product .woocommerce-loop-product__title{font-family:var(--vw-font-display);font-size:1.12rem;font-weight:600;color:var(--vw-ink);padding:0!important;margin:0 0 .28rem;line-height:1.28;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.56em;}
ul.products li.product .vw-loop-meta{font-family:var(--vw-font-head);font-size:.71rem;color:var(--vw-muted);letter-spacing:.05em;margin:0 0 .55rem;text-transform:uppercase;}
ul.products li.product .price{color:var(--vw-gold-deep)!important;font-family:var(--vw-font-head);font-weight:700;font-size:1rem;margin-bottom:.9rem;display:block;}
ul.products li.product .price del{color:var(--vw-muted)!important;font-weight:400;margin-right:.4rem;opacity:.75;}
ul.products li.product .price ins{text-decoration:none;}
ul.products li.product .star-rating{margin:0 0 .65rem;font-size:.78rem;}
ul.products li.product .button,ul.products li.product .added_to_cart{margin-top:auto;width:100%;font-size:.68rem;}
ul.products li.product .added_to_cart{margin-top:.5rem;text-align:center;color:var(--vw-gold-deep);font-family:var(--vw-font-head);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;}
.onsale{
	position:absolute;top:.85rem;right:.85rem;left:auto;z-index:2;margin:0;min-width:auto;min-height:auto;
	background:var(--vw-ink);color:var(--vw-on-dark);font-family:var(--vw-font-head);font-size:.61rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;padding:.32rem .62rem;border-radius:2px;line-height:1;
}
.home-products ul.products{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}

/* ---------- Tải thêm khi cuộn -------------------------------- */
ul.products li.product{transition:transform .2s,border-color .2s,box-shadow .2s,opacity .4s ease,translate .4s ease;}
ul.products li.product.vw-just-loaded{opacity:0;translate:0 14px;}
.vw-loadmore{display:flex;flex-direction:column;align-items:center;gap:.85rem;margin:2.75rem 0 .5rem;text-align:center;}
.vw-loadmore[hidden]{display:none;}
.vw-loadmore__btn{font-family:var(--vw-font-head);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700;padding:.95em 2.6em;border:1px solid var(--vw-gold);background:transparent;color:var(--vw-gold-deep);border-radius:2px;cursor:pointer;transition:background .18s,color .18s;position:relative;}
.vw-loadmore__btn:hover{background:var(--vw-gold);color:#fff;}
.vw-loadmore__btn[disabled]{opacity:.55;cursor:default;}
.vw-loadmore__status{font-family:var(--vw-font-head);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--vw-muted);margin:0;min-height:1em;}
.vw-loadmore.is-loading .vw-loadmore__btn{color:transparent;}
.vw-loadmore.is-loading .vw-loadmore__btn::after{content:"";position:absolute;inset:0;width:1.15em;height:1.15em;margin:auto;border:2px solid var(--vw-gold-deep);border-top-color:transparent;border-radius:50%;animation:vw-spin .7s linear infinite;}
@keyframes vw-spin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){
	ul.products li.product.vw-just-loaded{opacity:1;translate:none;}
	.vw-loadmore.is-loading .vw-loadmore__btn::after{animation:none;}
}
.star-rating{color:var(--vw-line);}
.star-rating::before{color:var(--vw-line);}
.star-rating span::before{color:var(--vw-gold-soft);}

/* ---------- Single product -------------------------------- */
.single-product div.product{display:grid;gap:2.25rem 3rem;grid-template-columns:1fr;align-items:start;}
/* Vô hiệu hoá float + width 48% của woocommerce-layout.css để dùng grid */
.woocommerce div.product > .woocommerce-product-gallery,
.woocommerce div.product > .summary,
.woocommerce div.product > .images{width:auto!important;max-width:none!important;float:none!important;margin:0!important;clear:none!important;}
.woocommerce div.product > .up-sells,
.woocommerce div.product > .related,
.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product > .vw-spec-strip-wrap,
.woocommerce div.product > .vw-wine-specs,
.woocommerce div.product > .vw-recent-section{float:none!important;width:auto!important;grid-column:1/-1!important;min-width:0!important;}
@media(min-width:900px){
	.single-product div.product{grid-template-columns:minmax(0,42%) minmax(0,1fr);}
	.single-product div.product .woocommerce-product-gallery{align-self:start;}
}
.single-product div.product .summary{align-self:start;}
.single-product div.product .product_title{font-size:clamp(1.7rem,3vw,2.5rem);margin-bottom:.4rem;color:var(--vw-ink);line-height:1.15;}
.single-product div.product p.price{color:var(--vw-gold-deep);font-family:var(--vw-font-head);font-size:1.5rem;font-weight:700;}
.single-product div.product p.price del{color:var(--vw-muted);font-weight:400;opacity:.75;}
/* Khối giá khuyến mãi — giống sanhruou */
.vw-price--sale{display:flex;flex-direction:column;gap:.2rem;}
.vw-price__now{font-size:1.7rem;line-height:1.1;color:var(--vw-gold-deep);}
.vw-price__old{font-size:.9rem;font-weight:400;font-family:var(--vw-font-body);color:var(--vw-muted);}
.vw-price__old del{opacity:1;}
.vw-price__save{font-size:.9rem;font-weight:400;font-family:var(--vw-font-body);color:var(--vw-text);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.vw-price__pct{background:#c0392b;color:#fff;font-family:var(--vw-font-head);font-weight:700;font-size:.78rem;padding:.12rem .45rem;border-radius:4px;letter-spacing:.02em;}
.woocommerce span.onsale.vw-onsale,.woocommerce ul.products li.product .onsale.vw-onsale,.onsale.vw-onsale{
	background:#c0392b!important;color:#fff!important;font-family:var(--vw-font-head);font-weight:700;font-size:.72rem;letter-spacing:.02em;text-transform:none;
	min-height:0;min-width:0;line-height:1;padding:.34rem .5rem;border-radius:4px;
	position:absolute;top:.7rem;right:.7rem;left:auto;
}
/* Khung ảnh sản phẩm — nền trắng, ảnh CONTAIN, khung cố định (chống vỡ khung) */
.woocommerce-product-gallery{margin:0!important;}
.single-product .woocommerce-product-gallery__wrapper{margin:0;position:relative;}
.single-product .woocommerce-product-gallery__image{
	background:#fff;border:1px solid var(--vw-line);border-radius:var(--vw-radius);overflow:hidden;
}
.single-product .woocommerce-product-gallery__image + .woocommerce-product-gallery__image{margin-top:.75rem;}
.single-product .woocommerce-product-gallery__image a{display:block;}
.woocommerce-product-gallery img,
.single-product .woocommerce-product-gallery__wrapper img{
	display:block;width:100%;height:auto;aspect-ratio:3/4;
	object-fit:contain;object-position:center;
	background:#fff;border:0;border-radius:0;padding:1.4rem;margin:0;box-shadow:none;
}
.single-product .woocommerce-product-gallery .flex-viewport{border-radius:var(--vw-radius);}
.single-product .woocommerce-product-gallery .flex-control-thumbs{display:flex;gap:.6rem;margin:.75rem 0 0;padding:0;list-style:none;}
.single-product .woocommerce-product-gallery .flex-control-thumbs li{width:auto;}
.single-product .woocommerce-product-gallery .flex-control-thumbs img{aspect-ratio:1;padding:.4rem;border:1px solid var(--vw-line);border-radius:4px;width:64px;opacity:.7;}
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1;border-color:var(--vw-gold);}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--vw-muted);}
.woocommerce div.product form.cart{margin-block:1.75rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:center;}
.woocommerce div.product form.cart .quantity input{width:5rem;text-align:center;}
.woocommerce div.product form.cart .button{padding-block:1.05em;}
.product_meta{font-family:var(--vw-font-head);font-size:.78rem;letter-spacing:.03em;color:var(--vw-muted);margin-top:1.6rem;border-top:1px solid var(--vw-line);padding-top:1.1rem;}
.product_meta > span{display:block;margin-bottom:.35rem;}
.product_meta a{color:var(--vw-gold);}

/* ---------- Brand + supplier box ------------------------- */
.vw-origin{
	margin:1.4rem 0;padding:1.15rem 1.35rem;background:var(--vw-surface-2);
	border:1px solid var(--vw-line);border-left:2px solid var(--vw-gold);border-radius:var(--vw-radius);font-size:.92rem;
}
.vw-origin__row{display:flex;gap:.85rem;padding:.22rem 0;}
.vw-origin__label{min-width:118px;font-family:var(--vw-font-head);font-size:.73rem;letter-spacing:.06em;text-transform:uppercase;color:var(--vw-muted);padding-top:.15rem;}
.vw-origin__value{font-weight:600;color:var(--vw-ink);}
.vw-origin__value a{color:var(--vw-gold);}
.vw-origin__note{margin:.7rem 0 0;font-size:.8rem;color:var(--vw-muted);}

/* ---------- Spec table ---------------------------------- */
/* Dải thông số nhanh (icon) — full-width dưới ảnh + tóm tắt, giống sanhruou */
.vw-spec-strip-wrap{
	grid-column:1/-1;clear:both;margin:1.5rem 0 0;padding:1.15rem 1.25rem;
	border-top:1px solid var(--vw-line);border-bottom:1px solid var(--vw-line);
	background:var(--vw-surface);
}
.vw-spec-strip{
	list-style:none;margin:0 auto;padding:0;max-width:960px;
	display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 1.5rem;
}
.vw-spec-strip__item{display:flex;align-items:center;gap:.6rem;}
.vw-spec-strip__icon{flex:none;color:var(--vw-muted);line-height:0;}
.vw-spec-strip__icon svg{width:22px;height:22px;display:block;}
.vw-spec-strip__body{display:flex;flex-direction:column;line-height:1.25;}
.vw-spec-strip__label{font-size:.72rem;color:var(--vw-muted);font-family:var(--vw-font-head);}
.vw-spec-strip__value{font-size:.88rem;font-weight:600;color:var(--vw-ink);}
.vw-spec-strip__value:hover{color:var(--vw-gold);}
@media(max-width:520px){.vw-spec-strip{gap:.9rem 1.3rem;}.vw-spec-strip__item{flex:1 1 40%;}}

.vw-wine-specs{grid-column:1/-1;justify-self:center;width:min(100%,820px);margin:2rem 0 0;border:1px solid var(--vw-line);border-radius:var(--vw-radius);overflow:hidden;background:var(--vw-surface);}
.vw-wine-specs__title{
	font-family:var(--vw-font-head);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0;color:var(--vw-gold);
	padding:.9rem 1.35rem;background:var(--vw-surface-2);border-bottom:1px solid var(--vw-line);
}
.vw-wine-specs__grid{margin:0;padding:0;}
.vw-wine-specs__item{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 1.35rem;border-bottom:1px solid var(--vw-line-soft);font-size:.92rem;}
.vw-wine-specs__item:last-child{border-bottom:0;}
.vw-wine-specs__item dt{color:var(--vw-muted);margin:0;font-family:var(--vw-font-head);font-size:.82rem;flex:none;}
.vw-wine-specs__item dd{margin:0;font-weight:600;text-align:right;color:var(--vw-ink);}
.vw-wine-specs__item dd a{color:var(--vw-gold-deep);}
.vw-wine-specs__item dd a:hover{color:var(--vw-gold);}
.vw-wine-specs__note{margin:0;padding:.7rem 1.35rem;background:var(--vw-surface-2);border-top:1px solid var(--vw-line);font-size:.78rem;color:var(--vw-muted);line-height:1.5;}

/* ---------- Tabs --------------------------------------- */
.woocommerce-tabs{grid-column:1/-1;margin-top:2.25rem;}
.woocommerce-tabs ul.tabs{list-style:none;padding:0;margin:0 0 1.75rem;display:flex;gap:.5rem;border-bottom:1px solid var(--vw-line);flex-wrap:wrap;}
.woocommerce-tabs ul.tabs::before{display:none;}
.woocommerce-tabs ul.tabs li{background:none;border:0;margin:0;padding:0;}
.woocommerce-tabs ul.tabs li a{display:block;padding:.8rem 1.15rem;font-family:var(--vw-font-head);font-weight:700;font-size:.75rem;letter-spacing:.11em;text-transform:uppercase;color:var(--vw-muted);border-bottom:2px solid transparent;}
.woocommerce-tabs ul.tabs li a:hover{color:var(--vw-ink);}
.woocommerce-tabs ul.tabs li.active a{color:var(--vw-gold);border-bottom-color:var(--vw-gold);}
.woocommerce-Tabs-panel h2{font-size:1.45rem;}
.woocommerce-Tabs-panel{color:var(--vw-text);}

/* ---------- Related / upsells ------------------------- */
.related.products,.upsells.products{grid-column:1/-1;margin-top:3.75rem;border-top:1px solid var(--vw-line);padding-top:2.75rem;}
.related.products > h2,.upsells.products > h2,.cross-sells > h2{font-size:1.65rem;margin-bottom:1.75rem;}

/* ---------- Notices ---------------------------------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.cart-empty{
	border:1px solid var(--vw-line);border-top:2px solid var(--vw-gold);background:var(--vw-surface);color:var(--vw-text);
	border-radius:var(--vw-radius);padding:1.1rem 1.35rem;list-style:none;box-shadow:var(--vw-shadow-soft);
}
.woocommerce-error{border-top-color:#b3261e;}
.woocommerce-message a.button,.woocommerce-info a.button{float:right;}

/* ---------- Cart & checkout -------------------------- */
.woocommerce table.shop_table{border:1px solid var(--vw-line);border-radius:var(--vw-radius);border-collapse:separate;border-spacing:0;color:var(--vw-text);}
.woocommerce table.shop_table th{background:var(--vw-surface-2);font-family:var(--vw-font-head);text-transform:uppercase;font-size:.73rem;letter-spacing:.08em;color:var(--vw-ink);}
.woocommerce table.shop_table td{border-top:1px solid var(--vw-line-soft);background:var(--vw-surface);}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{background:var(--vw-surface);border:1px solid var(--vw-line);border-radius:var(--vw-radius);padding:1.6rem;}
.woocommerce #respond input#submit,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce .widget_price_filter .price_slider_amount .button{
	background:var(--vw-ink);color:var(--vw-on-dark);border-radius:var(--vw-radius);font-family:var(--vw-font-head);font-weight:700;text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--vw-ink);
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--vw-gold-soft);border-color:var(--vw-gold-soft);color:var(--vw-on-gold);}
.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--vw-gold-soft);color:var(--vw-on-gold);border-color:var(--vw-gold-soft);}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--vw-gold-bright);border-color:var(--vw-gold-bright);}
.woocommerce a.button.wc-backward,.woocommerce .button.wc-backward{background:transparent;color:var(--vw-ink);border-color:var(--vw-gold-deep);}
.woocommerce-checkout #payment{background:var(--vw-surface-2);border:1px solid var(--vw-line);border-radius:var(--vw-radius);}
.woocommerce-checkout #payment div.payment_box{background:var(--vw-surface);color:var(--vw-text);}
.woocommerce form .form-row label,.woocommerce-page form .form-row label{color:var(--vw-text);}
.select2-container--default .select2-selection--single{background:var(--vw-surface);border-color:var(--vw-line);}
.select2-dropdown{background:var(--vw-surface);border-color:var(--vw-line);color:var(--vw-text);}
.select2-results__option--highlighted{background:var(--vw-gold-soft)!important;color:var(--vw-on-gold)!important;}

/* ---------- Account ---------------------------------- */
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--vw-line-soft);}
.woocommerce-MyAccount-navigation li a{display:block;padding:.8rem 0;font-family:var(--vw-font-head);text-transform:uppercase;font-size:.78rem;letter-spacing:.06em;color:var(--vw-text);}
.woocommerce-MyAccount-navigation li.is-active a{color:var(--vw-gold);}

/* ---------- Store notice ---------------------------- */
.woocommerce-store-notice{background:var(--vw-ink);color:var(--vw-gold-soft);}

/* ---------- Reviews -------------------------------- */
.woocommerce #reviews #comments ol.commentlist li .comment-text{border:1px solid var(--vw-line);border-radius:var(--vw-radius);background:var(--vw-surface);color:var(--vw-text);}
.woocommerce #reviews #comments ol.commentlist li img.avatar{background:var(--vw-surface-2);border:1px solid var(--vw-line);}
.woocommerce .star-rating span::before,.woocommerce p.stars a::before,.woocommerce p.stars a:hover~a::before{color:var(--vw-gold-soft);}

@media(max-width:999px){
	.shop-filters{position:static;}
	.shop-filters__toggle{display:block;}
	.shop-filters__body{display:none;margin-top:1rem;}
	.shop-filters.is-open .shop-filters__body{display:block;}
}
@media(max-width:600px){
	ul.products{grid-template-columns:repeat(2,1fr);gap:1rem;}
	.woocommerce ul.products li.product,ul.products li.product{padding:.55rem .55rem .95rem!important;}
	ul.products li.product .woocommerce-loop-product__title{font-size:1rem;}
	.vw-shop-toolbar .woocommerce-ordering,.vw-shop-toolbar .woocommerce-ordering select{width:100%;}
	.single-product div.product form.cart{flex-direction:column;align-items:stretch;}
}

/* ---------- Fix lỗi có sẵn của WooCommerce Blocks: tên sản phẩm vỡ chữ
   theo từng ký tự trong "Tóm tắt đơn hàng" ở trang Checkout/Cart -------
   Nguyên nhân thật (kiểm tra trực tiếp trên trình duyệt, không đoán):
   dòng mỗi sản phẩm là 1 hàng flex nowrap gồm [ảnh 48px] [tên — cột co
   giãn] [giá + badge "Tiết kiệm ..." bên phải]. Badge "Tiết kiệm..." của
   plugin có white-space:nowrap, buộc cột giá phải rộng tối thiểu bằng cả
   chuỗi chữ đó (~120px ở font mặc định) — với sản phẩm tên dài + đang
   giảm giá, cột tên chỉ còn lại vài chục pixel, cộng thêm
   word-break:break-word (cũng của plugin) khiến trình duyệt buộc phải
   xuống dòng theo từng ký tự một để "vừa" trong bề rộng còn lại. Phát
   hiện qua sản phẩm "Due Palme SanGaetano..." (2026-09-12). Thử co giãn
   3 cột trên cùng 1 hàng vẫn còn quá chật với tên dài (chỉ được ~78px,
   5-7 ký tự/dòng) — giải pháp chắc chắn hơn: cho hàng được phép xuống
   dòng (flex-wrap), ảnh + giá vẫn ở hàng đầu, còn tên sản phẩm xuống hẳn
   1 hàng riêng full-width bên dưới (bố cục quen thuộc, dễ đọc hơn nhiều
   so với chen 3 cột trên 1 hàng hẹp). Không sửa trực tiếp file plugin
   (mất khi WooCommerce cập nhật). */
.wc-block-components-sale-badge{
	white-space:normal;
}
.wc-block-components-order-summary-item{
	flex-wrap:wrap;
}
.wc-block-components-order-summary-item__image{
	order:1;
}
.wc-block-components-order-summary-item__total-price{
	order:2;
}
.wc-block-components-order-summary-item__description{
	order:3;flex:1 1 100%;min-width:0;width:100%;
}

/* ---------- Nhắc kiểm tra hàng trước khi thanh toán (checkout) --------- */
.vw-checkout-stock-notice{
	background:var(--vw-surface-2);border:1px solid var(--vw-line);border-left:4px solid var(--vw-gold);
	border-radius:8px;padding:.85em 1em;margin:0 0 1rem;font-size:.88rem;line-height:1.6;color:var(--vw-text);
}
.vw-checkout-stock-notice strong{color:var(--vw-ink);}
.vw-checkout-stock-notice a{color:var(--vw-gold-deep);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.vw-checkout-stock-notice a:hover{color:var(--vw-gold-bright);}
